Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/TamTamMini.activity
diff options
context:
space:
mode:
authorAleksey Lim <alsroot@member.fsf.org>2011-01-23 17:14:26 (GMT)
committer Aleksey Lim <alsroot@member.fsf.org>2011-01-23 17:14:26 (GMT)
commit02d3e3904572b1250386e4efd86314e3fa0de020 (patch)
treead3dd964b8b04d1225ba8133943bb2fc52da77ae /TamTamMini.activity
parent1fda3d98cfd1167292ebd5c3ee06ed3d75eaa092 (diff)
Mini: Cleanup launch code, reorg window on rotating
Diffstat (limited to 'TamTamMini.activity')
-rw-r--r--TamTamMini.activity/Mini/InstrumentPanel.py26
-rw-r--r--TamTamMini.activity/Mini/miniTamTamMain.py16
-rw-r--r--TamTamMini.activity/TamTamMini.py52
3 files changed, 36 insertions, 58 deletions
diff --git a/TamTamMini.activity/Mini/InstrumentPanel.py b/TamTamMini.activity/Mini/InstrumentPanel.py
index 7f7ebf0..b6c1229 100644
--- a/TamTamMini.activity/Mini/InstrumentPanel.py
+++ b/TamTamMini.activity/Mini/InstrumentPanel.py
@@ -15,23 +15,22 @@ InstrumentSize = 116
Tooltips = Config.Tooltips
class InstrumentPanel( gtk.EventBox ):
- def __init__(self,setInstrument = None, playInstrument = None, enterMode = False, micRec = None, synthRec = None, rowLen = 8, _instDic = None, force_load = True ):
+ def __init__(self,setInstrument=None):
gtk.EventBox.__init__(self)
self.instrumentDB = InstrumentDB.getRef()
self.setInstrument = setInstrument
- self.playInstrument = playInstrument
- self.micRec = micRec
- self.synthRec = synthRec
- self.rowLen = rowLen
- self.enterMode = enterMode
+ self.playInstrument = None
+ self.micRec = None
+ self.synthRec = None
+ self.rowLen = None
+ self.enterMode = False
- self.instDic = _instDic
+ self.instDic = None
self.loaded = False
self.loadData = {}
self.loadStage = [0,0,0]
- if force_load: self.load()
def configure( self, setInstrument = None, playInstrument = None, enterMode = False, micRec = None, synthRec = None, rowLen = 8, width = -1 ):
@@ -42,12 +41,13 @@ class InstrumentPanel( gtk.EventBox ):
if width != -1:
rowLen = width / InstrumentSize
+ if self.rowLen == rowLen:
+ return
+
+ self.rowLen = rowLen
- if self.rowLen != rowLen:
- self.rowLen = rowLen
- self.prepareInstrumentTable( self.category )
- else:
- self.rowLen = rowLen
+ if self.loaded:
+ self.prepareInstrumentTable(self.category)
def load( self, timeout = -1 ):
if self.loaded: return True
diff --git a/TamTamMini.activity/Mini/miniTamTamMain.py b/TamTamMini.activity/Mini/miniTamTamMain.py
index bc0ea37..8232e75 100644
--- a/TamTamMini.activity/Mini/miniTamTamMain.py
+++ b/TamTamMini.activity/Mini/miniTamTamMain.py
@@ -48,6 +48,7 @@ class miniTamTamMain(gtk.EventBox):
def __init__(self, activity):
gtk.EventBox.__init__(self)
+ self.instrumentPanel = None
self.activity = activity
#self.set_border_width(Config.MAIN_WINDOW_PADDING)
@@ -318,14 +319,16 @@ class miniTamTamMain(gtk.EventBox):
def load_ls_instrument(self, soundName):
self.csnd.load_ls_instrument(soundName)
- def setInstrumentPanel( self, instrumentPanel ):
+ def updateInstrumentPanel(self):
+ if self.instrumentPanel is None:
+ self.instrumentPanel = InstrumentPanel()
+ self.leftBox.pack_start(self.instrumentPanel)
+
width = gtk.gdk.screen_width() - self.rightBox.get_size_request()[0]
- instrumentPanel.configure( self.setInstrument,self.playInstrumentNote, False, self.micRec, width = width )
- self.instrumentPanel = instrumentPanel
- self.leftBox.pack_start( instrumentPanel )
+ self.instrumentPanel.configure(self.setInstrument,
+ self.playInstrumentNote, False, self.micRec, width=width)
- def releaseInstrumentPanel( self ):
- self.leftBox.remove( self.instrumentPanel )
+ self.instrumentPanel.load()
def micRec(self, widget, mic):
self.csnd.inputMessage("i5600 0 4")
@@ -595,7 +598,6 @@ class miniTamTamMain(gtk.EventBox):
def onDeactivate( self ):
SubActivity.onDeactivate( self )
- self.releaseInstrumentPanel()
self.csnd.loopPause()
self.csnd.loopClear()
diff --git a/TamTamMini.activity/TamTamMini.py b/TamTamMini.activity/TamTamMini.py
index 7c28558..3981cbd 100644
--- a/TamTamMini.activity/TamTamMini.py
+++ b/TamTamMini.activity/TamTamMini.py
@@ -13,7 +13,6 @@ import common.Config as Config
from common.Util.CSoundClient import new_csound_client
from common.Util.Profiler import TP
-from Mini.InstrumentPanel import InstrumentPanel
from Mini.miniTamTamMain import miniTamTamMain
from common.Util.Trackpad import Trackpad
from gettext import gettext as _
@@ -21,7 +20,12 @@ import commands
from sugar.activity import activity
class TamTamMini(activity.Activity):
+
+ __gtype_name__ = 'TamTamMiniWindow'
+
def __init__(self, handle):
+ self.mini = None
+
activity.Activity.__init__(self, handle)
color = gtk.gdk.color_parse(Config.WS_BCK_COLOR)
@@ -31,54 +35,32 @@ class TamTamMini(activity.Activity):
self.set_resizable(False)
self.trackpad = Trackpad( self )
-
- self.preloadTimeout = None
+ self.trackpad.setContext('mini')
self.connect('notify::active', self.onActive)
self.connect('destroy', self.onDestroy)
- self.instrumentPanel = InstrumentPanel( force_load = False )
- self.preloadList = [ self.instrumentPanel ]
-
#load the sugar toolbar
toolbox = activity.ActivityToolbox(self)
self.set_toolbox(toolbox)
-
self.activity_toolbar = toolbox.get_activity_toolbar()
-
toolbox.show()
- self.trackpad.setContext('mini')
self.mini = miniTamTamMain(self)
- self.connect('key-press-event', self.mini.onKeyPress)
- self.connect('key-release-event', self.mini.onKeyRelease)
- #self.modeList[mode].regenerate()
- if self.instrumentPanel in self.preloadList:
- self.instrumentPanel.load() # finish loading
- self.mini.setInstrumentPanel( self.instrumentPanel )
-
- self.set_canvas( self.mini )
-
self.mini.onActivate(arg = None)
- self.show()
+ self.mini.updateInstrumentPanel()
+ #self.modeList[mode].regenerate()
self.activity_toolbar.share.hide()
self.activity_toolbar.keep.hide()
- def onPreloadTimeout( self ):
- if Config.DEBUG > 4: print "TamTam::onPreloadTimeout", self.preloadList
-
- t = time.time()
- if self.preloadList[0].load( t + 0.100 ): # finished preloading this object
- self.preloadList.pop(0)
- if not len(self.preloadList):
- if Config.DEBUG > 1: print "TamTam::finished preloading", time.time() - t
- self.preloadTimeout = False
- return False # finished preloading everything
-
- if Config.DEBUG > 4: print "TamTam::preload returned after", time.time() - t
+ self.set_canvas(self.mini)
+ self.show()
- return True
+ def do_size_allocate(self, allocation):
+ activity.Activity.do_size_allocate(self, allocation)
+ if self.mini is not None:
+ self.mini.updateInstrumentPanel()
def onActive(self, widget = None, event = None):
if widget.props.active == False:
@@ -88,12 +70,6 @@ class TamTamMini(activity.Activity):
csnd = new_csound_client()
csnd.connect(True)
- def onKeyPress(self, widget, event):
- pass
-
- def onKeyRelease(self, widget, event):
- pass
-
def onDestroy(self, arg2):
if Config.DEBUG: print 'DEBUG: TamTam::onDestroy()'