r11224 - in /packages/unstable/gweled/debian: changelog patches/gweled_music_option.diff patches/mikmod-disable-disk-writers.diff

ondrej at users.alioth.debian.org ondrej at users.alioth.debian.org
Thu May 31 05:42:10 UTC 2007


Author: ondrej
Date: Thu May 31 05:42:08 2007
New Revision: 11224

URL: http://svn.debian.org/wsvn/pkg-gnome/?sc=1&rev=11224
Log:
Add option to disable music runtime

Added:
    packages/unstable/gweled/debian/patches/gweled_music_option.diff
Removed:
    packages/unstable/gweled/debian/patches/mikmod-disable-disk-writers.diff
Modified:
    packages/unstable/gweled/debian/changelog

Modified: packages/unstable/gweled/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-gnome/packages/unstable/gweled/debian/changelog?rev=11224&op=diff
==============================================================================
--- packages/unstable/gweled/debian/changelog (original)
+++ packages/unstable/gweled/debian/changelog Thu May 31 05:42:08 2007
@@ -1,3 +1,9 @@
+gweled (0.7-3) unstable; urgency=low
+
+  * Add option to disable music (#398250) (Courtesy of Lionel Dricot)
+
+ -- Ondřej Surý <ondrej at debian.org>  Thu, 31 May 2007 07:40:04 +0200
+
 gweled (0.7-2) unstable; urgency=low
 
   * Disable disk writer driver in MikMod initialization

Added: packages/unstable/gweled/debian/patches/gweled_music_option.diff
URL: http://svn.debian.org/wsvn/pkg-gnome/packages/unstable/gweled/debian/patches/gweled_music_option.diff?rev=11224&op=file
==============================================================================
--- packages/unstable/gweled/debian/patches/gweled_music_option.diff (added)
+++ packages/unstable/gweled/debian/patches/gweled_music_option.diff Thu May 31 05:42:08 2007
@@ -1,0 +1,319 @@
+diff -urN gweled-0.7.orig/src/board_engine.h gweled-0.7/src/board_engine.h
+--- gweled-0.7.orig/src/board_engine.h	2005-05-25 23:03:04.000000000 +0200
++++ gweled-0.7/src/board_engine.h	2007-05-31 07:34:13.000000000 +0200
+@@ -4,6 +4,7 @@
+ typedef struct s_gweled_prefs
+ {
+ 	gboolean timer_mode;
++	gboolean music_on;
+ 	gint tile_width;
+ 	gint tile_height;
+ }GweledPrefs;
+diff -urN gweled-0.7.orig/src/callbacks.c gweled-0.7/src/callbacks.c
+--- gweled-0.7.orig/src/callbacks.c	2005-05-25 23:14:58.000000000 +0200
++++ gweled-0.7/src/callbacks.c	2007-05-31 07:34:13.000000000 +0200
+@@ -7,6 +7,7 @@
+ #include <mikmod.h>
+ 
+ #include "callbacks.h"
++#include "music.h"
+ 
+ #include "sge_core.h"
+ #include "board_engine.h"
+@@ -340,3 +341,14 @@
+ 				      BOARD_HEIGHT * prefs.tile_height);
+ 	}
+ }
++
++void
++on_music_checkbutton_toggled (GtkToggleButton * togglebutton, gpointer user_data)
++{
++	if (gtk_toggle_button_get_active (togglebutton)) {
++		music_play();
++	}
++	else {
++		music_stop();
++	}
++}
+diff -urN gweled-0.7.orig/src/callbacks.h gweled-0.7/src/callbacks.h
+--- gweled-0.7.orig/src/callbacks.h	2003-11-05 00:00:00.000000000 +0100
++++ gweled-0.7/src/callbacks.h	2007-05-31 07:34:13.000000000 +0200
+@@ -133,3 +133,7 @@
+ void
+ on_largeRadiobutton_toggled            (GtkToggleButton *togglebutton,
+                                         gpointer         user_data);
++                                        
++void
++on_music_checkbutton_toggled		    (GtkToggleButton *togglebutton,
++                                         gpointer  		 user_data);                       
+diff -urN gweled-0.7.orig/src/gweled.glade gweled-0.7/src/gweled.glade
+--- gweled-0.7.orig/src/gweled.glade	2004-09-14 20:36:00.000000000 +0200
++++ gweled-0.7/src/gweled.glade	2007-05-31 07:32:12.000000000 +0200
+@@ -675,6 +675,21 @@
+ 	      <property name="fill">True</property>
+ 	    </packing>
+ 	  </child>
++	  <child>
++	    <widget class="GtkCheckButton" id="music_checkbutton">
++	      <property name="visible">True</property>
++	      <property name="can_focus">True</property>
++	      <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
++	      <property name="label" translatable="yes">Play background music</property>
++	      <property name="draw_indicator">True</property>
++	      <signal name="toggled" handler="on_music_checkbutton_toggled"/>
++	    </widget>
++	    <packing>
++	      <property name="padding">0</property>
++	      <property name="expand">True</property>
++	      <property name="fill">True</property>
++	    </packing>
++	  </child>
+ 	</widget>
+ 	<packing>
+ 	  <property name="padding">0</property>
+diff -urN gweled-0.7.orig/src/main.c gweled-0.7/src/main.c
+--- gweled-0.7.orig/src/main.c	2005-05-25 23:44:04.000000000 +0200
++++ gweled-0.7/src/main.c	2007-05-31 07:37:28.000000000 +0200
+@@ -35,6 +35,7 @@
+ #include "sge_core.h"
+ #include "board_engine.h"
+ #include "graphic_engine.h"
++#include "music.h"
+ 
+ // GLOBALS
+ GnomeProgram *g_program;
+@@ -51,11 +52,12 @@
+ GRand *g_random_generator;
+ 
+ GweledPrefs prefs;
++pthread_t thread;
+ 
+-MODULE *module;
++/*MODULE *module;*/
+ SAMPLE *swap_sfx, *click_sfx;
+ 
+-static pthread_t thread;
++/*static pthread_t thread;*/
+ 
+ void save_preferences(void)
+ {
+@@ -91,6 +93,7 @@
+ 		prefs.tile_width = 48;
+ 		prefs.tile_height = 48;
+ 		prefs.timer_mode = FALSE;
++		prefs.music_on = TRUE;
+ 
+ 		save_preferences();	
+ 	}
+@@ -122,6 +125,13 @@
+ 	}
+ 	if (radio_button)
+ 		gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON(radio_button), TRUE);
++		
++	//Is the music playing at start ?
++	radio_button = glade_xml_get_widget(gweled_xml, "music_checkbutton");
++	if (prefs.music_on)
++		gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON(radio_button), TRUE);
++	else
++		gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON(radio_button), FALSE);
+ }
+ 
+ void show_hiscores (int newscore_rank)
+@@ -232,15 +242,6 @@
+  		gtk_widget_destroy (box);
+  	}
+ }
+- 
+-
+-void mikmod_thread(void *ptr)
+-{
+-	while (1) {
+-	    usleep(10000);
+-		MikMod_Update();
+-    }
+-}
+ 	
+ int main (int argc, char **argv)
+ {
+@@ -252,20 +253,8 @@
+ 	    gnome_program_init (PACKAGE, VERSION, LIBGNOMEUI_MODULE, argc,
+ 				argv, GNOME_PARAM_APP_DATADIR,
+ 				PACKAGE_DATA_DIR, NULL);
+-
+-    /* register all the drivers */
+-    MikMod_RegisterAllDrivers();
+-
+-    /* register all the module loaders */
+-    MikMod_RegisterAllLoaders();
+-
+-    /* initialize the library */
+-    if (MikMod_Init(""))
+-	{
+-        fprintf(stderr, "Could not initialize sound, reason: %s\n", MikMod_strerror(MikMod_errno));
+-        //return; don't fail on sound problems
+-    }
+-
++				
++	music_init ();
+ 	sge_init ();
+ 
+ 	g_random_generator = g_rand_new_with_seed (time (NULL));
+@@ -305,9 +294,6 @@
+ 
+ 	gi_game_running = 0;
+ 
+-    // load module
+-    module = Player_Load(PACKAGE_DATA_DIR "/sounds/gweled/autonom.s3m", 64, 0);
+-
+ 	// load sound fx
+     swap_sfx = Sample_Load(PACKAGE_DATA_DIR "/sounds/gweled/swap.wav");
+     if (!swap_sfx) {
+@@ -330,13 +316,8 @@
+ 
+     MikMod_EnableOutput();
+ 
+-    if (module) {
+-        Player_Start(module);
+-		Player_SetVolume(64);
+-		pthread_create(&thread, NULL, (void *)&mikmod_thread, NULL);
+-
+-    } else
+-        fprintf(stderr, "Could not load module, reason: %s\n", MikMod_strerror(MikMod_errno));
++	if (prefs.music_on)  
++		music_play();
+ 
+ 	board_engine_id = gtk_timeout_add (100, board_engine_loop, NULL);
+ 	sge_set_drawing_area (g_drawing_area, g_buffer_pixmap,
+@@ -353,15 +334,10 @@
+ 	sge_destroy ();
+ 	gtk_timeout_remove (board_engine_id);
+ 	g_rand_free (g_random_generator);
+-	g_object_unref(G_OBJECT(gweled_xml));	
++	g_object_unref(G_OBJECT(gweled_xml));
++	
++	music_stop();	
+ 
+-    if (module)
+-	{
+-		pthread_cancel(thread);
+-		pthread_join(thread, NULL);
+-	    Player_Stop();
+-	    Player_Free(module);
+-	}
+ 	if(swap_sfx)
+ 		Sample_Free(swap_sfx);
+ 	if(click_sfx)
+diff -urN gweled-0.7.orig/src/Makefile.am gweled-0.7/src/Makefile.am
+--- gweled-0.7.orig/src/Makefile.am	2003-12-11 00:00:00.000000000 +0100
++++ gweled-0.7/src/Makefile.am	2007-05-31 07:34:13.000000000 +0200
+@@ -13,7 +13,8 @@
+ 	graphic_engine.c graphic_engine.h \
+ 	sge_core.c sge_core.h \
+ 	sge_utils.c sge_utils.h \
+-	callbacks.c callbacks.h
++	music.c music.h \
++	callbacks.c callbacks.h 
+ 
+ EXTRA_DIST =			\
+ 	$(Data_DATA)
+diff -urN gweled-0.7.orig/src/music.c gweled-0.7/src/music.c
+--- gweled-0.7.orig/src/music.c	1970-01-01 01:00:00.000000000 +0100
++++ gweled-0.7/src/music.c	2007-05-31 07:38:55.000000000 +0200
+@@ -0,0 +1,84 @@
++
++
++#include <mikmod.h>
++#include <pthread.h>
++#include <glib.h>
++
++#include "music.h"
++#include "board_engine.h"
++
++extern GweledPrefs prefs;
++extern pthread_t thread;
++
++static MODULE *module;
++static gboolean is_playing;
++
++void music_init()
++{
++    /* register all the drivers */
++    MikMod_RegisterDriver(&drv_AF);
++    MikMod_RegisterDriver(&drv_esd);
++    MikMod_RegisterDriver(&drv_alsa);
++    MikMod_RegisterDriver(&drv_oss);
++    MikMod_RegisterDriver(&drv_nos);
++
++    /* register all the module loaders */
++    MikMod_RegisterAllLoaders();
++
++    /* initialize the library */
++    if (MikMod_Init(""))
++	{
++        fprintf(stderr, "Could not initialize sound, reason: %s\n", MikMod_strerror(MikMod_errno));
++        //return; don't fail on sound problems
++    }
++    is_playing = FALSE;
++
++}
++
++void music_thread(void *ptr)
++{
++	while (1) {
++	    usleep(10000);
++		MikMod_Update();
++    }
++}
++
++void music_play()
++{
++	if (!music_isplaying())
++	{
++	    // load module
++	    module = Player_Load(PACKAGE_DATA_DIR "/sounds/gweled/autonom.s3m", 64, 0);
++    	if (module) {
++    	    Player_Start(module);
++			Player_SetVolume(64);
++			pthread_create(&thread, NULL, (void *)&music_thread, NULL);
++			prefs.music_on = TRUE;
++			is_playing = TRUE;
++
++    	} else
++    	    fprintf(stderr, "Could not load module, reason: %s\n", MikMod_strerror(MikMod_errno));
++	}
++}
++
++void music_stop()
++{
++	if (music_isplaying()){
++    	if (module)
++		{
++	    	Player_Stop();
++	    	Player_Free(module);
++			pthread_cancel(thread);
++			pthread_join(thread, NULL);
++	    	prefs.music_on = FALSE;
++	    	is_playing = FALSE;
++		}
++	}
++
++}
++
++gboolean music_isplaying()
++{
++	return is_playing;
++}
++
+diff -urN gweled-0.7.orig/src/music.h gweled-0.7/src/music.h
+--- gweled-0.7.orig/src/music.h	1970-01-01 01:00:00.000000000 +0100
++++ gweled-0.7/src/music.h	2007-05-31 07:34:13.000000000 +0200
+@@ -0,0 +1,9 @@
++#include <mikmod.h>
++
++void music_init();
++void music_thread(void *ptr);
++void music_play();
++void music_stop();
++int music_isplaying();
++
++




More information about the pkg-gnome-commits mailing list