Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWalter Bender <walter@walter-laptop.(none)>2009-12-10 17:15:11 (GMT)
committer Walter Bender <walter@walter-laptop.(none)>2009-12-10 17:15:11 (GMT)
commitb76575ef8a40ae5a59efa84399e45acfcec9948e (patch)
tree60f0f2219b0c83c3287fc74cb16de3ba442ad971
parent51ab01c8e92c91e940c5bd5b0d39ca4e296620f0 (diff)
added mute button
-rw-r--r--ErikosActivity.py39
-rw-r--r--window.py12
2 files changed, 40 insertions, 11 deletions
diff --git a/ErikosActivity.py b/ErikosActivity.py
index 7d53cff..fd3df40 100644
--- a/ErikosActivity.py
+++ b/ErikosActivity.py
@@ -74,6 +74,14 @@ class ErikosActivity(activity.Activity):
toolbar_box.toolbar.insert(self.play, -1)
self.play.show()
+ # Sound Toggle Button
+ self.sound = ToolButton( "speaker-muted-100" )
+ self.sound.set_tooltip(_('Mute'))
+ self.sound.props.sensitive = True
+ self.sound.connect('clicked', self._sound_cb)
+ toolbar_box.toolbar.insert(self.sound, -1)
+ self.sound.show()
+
separator = gtk.SeparatorToolItem()
separator.show()
toolbar_box.toolbar.insert(separator, -1)
@@ -119,28 +127,39 @@ class ErikosActivity(activity.Activity):
self.show_all()
# Initialize the canvas
- self.tw = window.new_window(canvas, \
+ self.sw = window.new_window(canvas, \
os.path.join(activity.get_bundle_path(), \
'images/'), \
self)
- self.tw.activity = self
+ self.sw.activity = self
# Read the level from the Journal
try:
- tw,level = int(self.metadata['level'])
+ sw.level = int(self.metadata['level'])
except:
pass
def _play_cb(self, button):
- window.play_the_game(self.tw)
+ window.play_the_game(self.sw)
+ return True
+
+ def _sound_cb(self, button):
+ if self.sw.sound is True:
+ self.sound.set_icon("speaker-muted-000")
+ self.sound.set_tooltip(_('Unmute'))
+ self.sw.sound = False
+ else:
+ self.sound.set_icon("speaker-muted-100")
+ self.sound.set_tooltip(_('Mute'))
+ self.sw.sound = True
return True
"""
Write the slider positions to the Journal
"""
def write_file(self, file_path):
- _logger.debug("Write level: " + str(self.tw.level))
- self.metadata['level'] = self.tw.level
+ _logger.debug("Write level: " + str(self.sw.level))
+ self.metadata['level'] = self.sw.level
#
# Project toolbar for pre-0.86 toolbars
@@ -159,6 +178,14 @@ class ProjectToolbar(gtk.Toolbar):
self.insert(self.activity.play, -1)
self.activity.play.show()
+ # Sound toggle button
+ self.activity.sound = ToolButton( "speaker-muted-100" )
+ self.activity.sound.set_tooltip(_('Mute'))
+ self.activity.sound.props.sensitive = True
+ self.activity.sound.connect('clicked', self.activity._sound_cb)
+ self.insert(self.activity.sound, -1)
+ self.activity.sound.show()
+
separator = gtk.SeparatorToolItem()
separator.set_draw(True)
self.insert(separator, -1)
diff --git a/window.py b/window.py
index de7f787..d203d09 100644
--- a/window.py
+++ b/window.py
@@ -74,6 +74,7 @@ def new_window(canvas, path, parent=None):
sw.gc = sw.area.new_gc()
sw.cm = sw.gc.get_colormap()
sw.msgcolor = sw.cm.alloc_color('black')
+ sw.sound = True
sw.sprites = []
sw.scale = 2
sw.level = 1
@@ -130,7 +131,7 @@ def _stepper(sw,i,j):
sw.buttons_on[sw.seq[i]].draw_sprite(1500)
inval(sw.buttons_on[sw.seq[i]].spr)
gobject.idle_add(__play_sound_cb,
- sw.sound_files[sw.seq[i]])
+ sw.sound_files[sw.seq[i]], sw.sound)
sw.timeout_id = gobject.timeout_add(1000,_stepper,sw,i+1,False)
else:
_dance(sw,[0,1,2,3],1,0)
@@ -167,9 +168,10 @@ def _mouse_move_cb(win, event, sw):
#
# Play the csound associated with the button
#
-def __play_sound_cb(sound):
-# os.system('csound ' + sound + '/temp.csd >/dev/null 2>/dev/null')
- os.system('csound ' + sound)
+def __play_sound_cb(sound, flag):
+ if flag is True:
+ # os.system('csound ' + sound + '/temp.csd >/dev/null 2>/dev/null')
+ os.system('csound ' + sound)
#
# Button release -- where the work happens
@@ -181,7 +183,7 @@ def _button_release_cb(win, event, sw):
if sw.press == sw.buttons_off[i].spr:
sw.buttons_on[i].draw_sprite(1500)
inval(sw.buttons_on[i].spr)
- gobject.idle_add(__play_sound_cb, sw.sound_files[i])
+ gobject.idle_add(__play_sound_cb, sw.sound_files[i], sw.sound)
gobject.timeout_add(500,hide,sw.buttons_on[i].spr)
if sw.playpushed is False:
sw.press = None