Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/memosonoactivity.py
diff options
context:
space:
mode:
authorSimon Schampijer <simon@schampijer.de>2007-07-10 20:39:04 (GMT)
committer Simon Schampijer <simon@schampijer.de>2007-07-10 20:39:04 (GMT)
commitfdc224fb0597bf34b4e0bf4ec169c0b87b5312cc (patch)
tree649a4c4f0602aa49683522634c8f931f87da576d /memosonoactivity.py
parente921da0ec82d15e601e693ed431ee3e08e6c7921 (diff)
- Adopt to API changes in sugar
- use csound instance instead of server
Diffstat (limited to 'memosonoactivity.py')
-rwxr-xr-xmemosonoactivity.py23
1 files changed, 21 insertions, 2 deletions
diff --git a/memosonoactivity.py b/memosonoactivity.py
index ce1890a..e375669 100755
--- a/memosonoactivity.py
+++ b/memosonoactivity.py
@@ -91,6 +91,11 @@ class MemosonoActivity(Activity):
self.set_toolbox(toolbox)
toolbox.show()
+ # connect to the in/out events of the memosono activity
+ self.connect('focus_in_event', self._focus_in)
+ self.connect('focus_out_event', self._focus_out)
+ self.connect('destroy', self._cleanup_cb)
+
self.info_panel.show('To play, share!')
self.connect('shared', self._shared_cb)
@@ -251,5 +256,19 @@ class MemosonoActivity(Activity):
_logger.debug('buddy left')
self.buddies_panel.remove_watcher(buddy)
-
-
+ def _cleanup_cb(self, data=None):
+ if self.ctrl != None:
+ self.ctrl.cs.quit()
+ _logger.debug(" Memosono closes: close csound server. ")
+
+ def _focus_in(self, event, data=None):
+ if self.ctrl != None:
+ self.ctrl.cs.start()
+ _logger.debug(" Memosono is visible: start csound server. ")
+
+ def _focus_out(self, event, data=None):
+ if self.ctrl != None:
+ self.ctrl.cs.start()
+ _logger.debug(" Memosono is invisible: pause csound server. ")
+
+