From ff470209a9bb85095bb837f465f1c5d3cd9f1c93 Mon Sep 17 00:00:00 2001 From: Nat Date: Thu, 19 Jul 2007 03:51:41 +0000 Subject: miniTamTam new look --- diff --git a/Config.py b/Config.py index 97ddbc5..97d95a7 100644 --- a/Config.py +++ b/Config.py @@ -415,8 +415,8 @@ PANEL_RADIUS = 10 PANEL_SPACING = 2 ###Welcome Screen Specific### -WS_PANEL_COLOR = '#72785B' -WS_BCK_COLOR = '#DFE5C5' +WS_PANEL_COLOR = '#515151' +WS_BCK_COLOR = '#CCCCCC' # hardware keycodes for mod keys MOD_LSHIFT = 50 diff --git a/TamTam.py b/TamTam.py index 1a90c3c..4e31397 100755 --- a/TamTam.py +++ b/TamTam.py @@ -13,11 +13,13 @@ from Util.Profiler import TP from Util.InstrumentPanel import InstrumentPanel from miniTamTam.miniTamTamMain import miniTamTamMain +from miniTamTam.miniToolbar import miniToolbar from Jam.Jam import Jam from Edit.MainWindow import MainWindow from Welcome import Welcome from SynthLab.SynthLabWindow import SynthLabWindow from Util.Trackpad import Trackpad +from gettext import gettext as _ #from Util.KeyboardWindow import KeyboardWindow import commands @@ -72,16 +74,18 @@ class TamTam(Activity): self.mode = None self.modeList = {} - + self.instrumentPanel = InstrumentPanel( force_load = False ) self.preloadList = [ self.instrumentPanel ] - #load the sugar toolbar + #load the sugar toolbar self.toolbox = activity.ActivityToolbox(self) - activity_toolbar = self.toolbox.get_activity_toolbar() - activity_toolbar.share.hide() - activity_toolbar.keep.hide() self.set_toolbox(self.toolbox) + + self.activity_toolbar = self.toolbox.get_activity_toolbar() + self.activity_toolbar.share.hide() + self.activity_toolbar.keep.hide() + self.toolbox.show() if self._shared_activity: # if we're joining a shared activity force mini @@ -137,7 +141,6 @@ class TamTam(Activity): self.modeList[mode] = Jam(self, self.set_mode) self.mode = mode if mode == 'mini': - self.toolbox.hide() if not (mode in self.modeList): self.modeList[mode] = miniTamTamMain(self, self.set_mode) else: @@ -146,6 +149,11 @@ class TamTam(Activity): self.instrumentPanel.load() # finish loading self.modeList[mode].setInstrumentPanel( self.instrumentPanel ) self.mode = mode + + self._miniToolbar = miniToolbar(self.toolbox, self.modeList[mode]) + self.activity_toolbar.share.show() + self.toolbox.add_toolbar(_('Play'), self._miniToolbar) + self._miniToolbar.show() if mode == 'edit': self.toolbox.hide() if not (mode in self.modeList): @@ -186,7 +194,6 @@ class TamTam(Activity): def onKeyPress(self, widget, event): if Config.DEBUG > 5: print 'DEBUG: TamTam::onKeyPress in TamTam.py' - print "hello" if event.state == gtk.gdk.MOD1_MASK: key = event.hardware_keycode print key diff --git a/icons/keyrec.svg b/icons/keyrec.svg new file mode 100644 index 0000000..b904387 --- /dev/null +++ b/icons/keyrec.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + diff --git a/icons/loop.svg b/icons/loop.svg new file mode 100644 index 0000000..f790bac --- /dev/null +++ b/icons/loop.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + diff --git a/icons/micrec1.svg b/icons/micrec1.svg new file mode 100644 index 0000000..acadb5e --- /dev/null +++ b/icons/micrec1.svg @@ -0,0 +1,11 @@ + + + + + + + + + + diff --git a/icons/micrec2.svg b/icons/micrec2.svg new file mode 100644 index 0000000..96fd98d --- /dev/null +++ b/icons/micrec2.svg @@ -0,0 +1,13 @@ + + + + + + + + + + diff --git a/icons/micrec3.svg b/icons/micrec3.svg new file mode 100644 index 0000000..4eb1f2d --- /dev/null +++ b/icons/micrec3.svg @@ -0,0 +1,15 @@ + + + + + + + + + + diff --git a/icons/micrec4.svg b/icons/micrec4.svg new file mode 100644 index 0000000..1c64e6e --- /dev/null +++ b/icons/micrec4.svg @@ -0,0 +1,12 @@ + + + + + + + + + + diff --git a/icons/play.svg b/icons/play.svg new file mode 100644 index 0000000..5d38855 --- /dev/null +++ b/icons/play.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + diff --git a/icons/pstop.svg b/icons/pstop.svg new file mode 100644 index 0000000..246f45c --- /dev/null +++ b/icons/pstop.svg @@ -0,0 +1,9 @@ + + + + + + + + diff --git a/miniTamTam/miniTamTamMain.py b/miniTamTam/miniTamTamMain.py index 5ac74f8..d17d333 100644 --- a/miniTamTam/miniTamTamMain.py +++ b/miniTamTam/miniTamTamMain.py @@ -83,8 +83,8 @@ class miniTamTamMain(SubActivity): self.leftBox = gtk.VBox() self.leftBox.set_size_request(950,-1) self.rightBox = gtk.VBox() - self.mainWindowBox.pack_start(self.leftBox,False,False) self.mainWindowBox.pack_start(self.rightBox,True,True) + self.mainWindowBox.pack_start(self.leftBox,False,False) self.masterVBox.pack_start(self.mainWindowBox) self.add(self.masterVBox) @@ -196,7 +196,7 @@ class miniTamTamMain(SubActivity): self.seqRecordButton.connect('button-press-event', self.sequencer.handleRecordButton ) self.playStopButton = ImageToggleButton(Config.IMAGE_ROOT + 'miniplay.png', Config.IMAGE_ROOT + 'stop.png') - self.playStopButton.connect('button-press-event' , self.handlePlayButton) + self.playStopButton.connect('clicked' , self.handlePlayButton) transportBox.pack_start(self.seqRecordButton) transportBox.pack_start(self.playStopButton) closeButton = ImageButton(Config.IMAGE_ROOT + 'close.png') @@ -212,7 +212,7 @@ class miniTamTamMain(SubActivity): mainLowBox.pack_start(mainSliderBox) mainLowBox.pack_start(transportBox) - self.masterVBox.pack_start(mainLowBox) + #self.masterVBox.pack_start(mainLowBox) def drawGeneration( self ): @@ -357,6 +357,7 @@ class miniTamTamMain(SubActivity): (s3, o3) = commands.getstatusoutput("mv " + Config.PREF_DIR + "/micTemp " + Config.PREF_DIR + "/" + mic) (s4, o4) = commands.getstatusoutput("rm " + Config.PREF_DIR + "/tempMic.wav") self.micTimeout = gobject.timeout_add(200, self.loadMicInstrument, mic) + self.instrumentPanel.set_activeInstrument(mic,True) def synthRec(self,lab): if self.synthLabWindow != None: @@ -369,7 +370,7 @@ class miniTamTamMain(SubActivity): self.synthLabWindow.show_all() def recordStateButton( self, state ): - self.seqRecordButton.set_active( state ) + self.activity._miniToolbar.keyboardRecButton.set_active( state ) def synthLabWindowOpen(self): return self.synthLabWindow != None and self.synthLabWindow.get_property('visible') @@ -497,15 +498,15 @@ class miniTamTamMain(SubActivity): self.loop.adjustLoopVolume(instrumentVolume) self.sequencer.adjustSequencerVolume(instrumentVolume) img = int(self.scale(self.instVolume,100,0,0,4.9)) - self.balSliderBoxImgBot.set_from_file(Config.IMAGE_ROOT + 'dru' + str(img) + '.png') + self.activity._miniToolbar.balanceSliderImgLeft.set_from_file(Config.IMAGE_ROOT + 'dru' + str(img) + '.png') img2 = int(self.scale(self.instVolume,0,100,0,4.9)) - self.balSliderBoxImgTop.set_from_file(Config.IMAGE_ROOT + 'instr' + str(img2) + '.png') + self.activity._miniToolbar.balanceSliderImgRight.set_from_file(Config.IMAGE_ROOT + 'instr' + str(img2) + '.png') def handleReverbSlider(self, adj): self.reverb = adj.value self.drumFillin.setReverb( self.reverb ) img = int(self.scale(self.reverb,0,1,0,4)) - self.reverbSliderBoxImgTop.set_from_file(Config.IMAGE_ROOT + 'reverb' + str(img) + '.png') + self.activity._miniToolbar.reverbSliderImgRight.set_from_file(Config.IMAGE_ROOT + 'reverb' + str(img) + '.png') self.keyboardStandAlone.setReverb(self.reverb) def handleVolumeSlider(self, adj): @@ -517,7 +518,7 @@ class miniTamTamMain(SubActivity): def handlePlayButton(self, widget, data = None): # use widget.get_active() == False when calling this on 'clicked' # use widget.get_active() == True when calling this on button-press-event - if self.playStopButton.get_active() == True: + if widget.get_active() == False: self.drumFillin.stop() self.sequencer.stopPlayback() self.csnd.loopPause() @@ -543,9 +544,8 @@ class miniTamTamMain(SubActivity): def handleGenerateBtn(self , widget , data=None): self.regenerate() - if not self.playStopButton.get_active(): - self.handlePlayButton(self, widget) - self.playStopButton.set_active(True) + if not self.activity._miniToolbar.playButton.get_active(): + self.activity._miniToolbar.playButton.set_active(True) #this calls sends a 'clicked' event, #which might be connected to handlePlayButton diff --git a/miniTamTam/miniToolbar.py b/miniTamTam/miniToolbar.py new file mode 100644 index 0000000..b3805de --- /dev/null +++ b/miniTamTam/miniToolbar.py @@ -0,0 +1,124 @@ +#!/usr/bin/env python + +import gtk +import Config + +from sugar.graphics.toolbutton import ToolButton +from sugar.graphics.toggletoolbutton import ToggleToolButton +from gettext import gettext as _ + +class miniToolbar(gtk.Toolbar): + + def __init__(self,toolbox, miniTamTam): + gtk.Toolbar.__init__(self) + self.add_events(gtk.gdk.BUTTON_PRESS_MASK) + + self.toolbox = toolbox + self.miniTamTam = miniTamTam + + self.tooltips = gtk.Tooltips() + + self.playButton = ToggleToolButton('play') + self.playButton.connect('clicked',self.miniTamTam.handlePlayButton) + self.insert(self.playButton, -1) + self.playButton.show() + self.playButton.set_tooltip(_('Play / Stop')) + + self.keyboardRecButton = ToggleToolButton('keyrec') + self.keyboardRecButton.connect('button-press-event', self.miniTamTam.sequencer.handleRecordButton) + self.insert(self.keyboardRecButton, -1) + self.keyboardRecButton.show() + self.keyboardRecButton.set_tooltip(_('Left click to record, right click to record on top')) + + self.separator = gtk.SeparatorToolItem() + self.separator.set_draw(True) + self.insert(self.separator,-1) + self.insert(self.separator,-1) + self.insert(self.separator,-1) + self.separator.show() + + self.balanceSliderImgLeft = gtk.Image() + self.balanceSliderImgRight = gtk.Image() + self.balanceSliderImgLeft.set_from_file(Config.IMAGE_ROOT + 'dru2.png') + self.balanceSliderImgRight.set_from_file(Config.IMAGE_ROOT + 'instr2.png') + self.balanceSliderImgLeftTool = gtk.ToolItem() + self.balanceSliderImgLeftTool.add(self.balanceSliderImgLeft) + self.balanceSliderImgRightTool = gtk.ToolItem() + self.balanceSliderImgRightTool.add(self.balanceSliderImgRight) + self.balanceSliderAdj = gtk.Adjustment(value=50, lower=0, upper=100, step_incr=1, page_incr=0, page_size=0) + self.balanceSliderAdj.connect("value_changed" , self.miniTamTam.handleBalanceSlider) + self.balanceSlider = gtk.HScale(adjustment = self.balanceSliderAdj) + self.balanceSlider.set_size_request(250,15) + self.balanceSlider.set_inverted(False) + self.balanceSlider.set_draw_value(False) + self.balanceSliderTool = gtk.ToolItem() + self.balanceSliderTool.add(self.balanceSlider) + self.insert(self.balanceSliderImgLeftTool, -1) + self.insert(self.balanceSliderTool, -1) + self.insert(self.balanceSliderImgRightTool, -1) + self.balanceSliderImgLeft.show() + self.balanceSliderImgLeftTool.show() + self.balanceSliderImgRight.show() + self.balanceSliderImgRightTool.show() + self.balanceSlider.show() + self.balanceSliderTool.show() + self.balanceSliderTool.set_tooltip(self.tooltips, _('Balance')) + + self.separator = gtk.SeparatorToolItem() + self.separator.set_draw(True) + self.insert(self.separator,-1) + self.insert(self.separator,-1) + self.separator.show() + + self.reverbSliderImgRight = gtk.Image() + self.reverbSliderImgRight.set_from_file(Config.IMAGE_ROOT + 'reverb0.png') + self.reverbSliderImgRightTool = gtk.ToolItem() + self.reverbSliderImgRightTool.add(self.reverbSliderImgRight) + + self.reverbSliderAdj = gtk.Adjustment(value=0, lower=0, upper=1, step_incr=0.1, page_incr=0, page_size=0) + self.reverbSliderAdj.connect("value_changed" , self.miniTamTam.handleReverbSlider) + self.reverbSlider = gtk.HScale(adjustment = self.reverbSliderAdj) + self.reverbSlider.set_size_request(250,15) + self.reverbSlider.set_inverted(False) + self.reverbSlider.set_draw_value(False) + self.reverbSliderTool = gtk.ToolItem() + self.reverbSliderTool.add(self.reverbSlider) + self.insert(self.reverbSliderTool, -1) + self.insert(self.reverbSliderImgRightTool, -1) + self.reverbSliderImgRight.show() + self.reverbSliderImgRightTool.show() + self.reverbSlider.show() + self.reverbSliderTool.show() + self.reverbSliderTool.set_tooltip(self.tooltips, _('Reverb')) + + self.separator = gtk.SeparatorToolItem() + self.separator.set_draw(True) + self.insert(self.separator,-1) + self.insert(self.separator,-1) + self.insert(self.separator,-1) + self.separator.show() + + self.micRec1Button = ToolButton('micrec1') + self.micRec1Button.connect('clicked',self.miniTamTam.micRec,'mic1') + self.insert(self.micRec1Button, -1) + self.micRec1Button.show() + self.micRec1Button.set_tooltip(_('Record microphone into slot 1')) + + self.micRec2Button = ToolButton('micrec2') + self.micRec2Button.connect('clicked',self.miniTamTam.micRec,'mic2') + self.insert(self.micRec2Button, -1) + self.micRec2Button.show() + self.micRec2Button.set_tooltip(_('Record microphone into slot 2')) + + self.micRec3Button = ToolButton('micrec3') + self.micRec3Button.connect('clicked',self.miniTamTam.micRec,'mic3') + self.insert(self.micRec3Button, -1) + self.micRec3Button.show() + self.micRec3Button.set_tooltip(_('Record microphone into slot 3')) + + self.micRec4Button = ToolButton('micrec4') + self.micRec4Button.connect('clicked',self.miniTamTam.micRec,'mic4') + self.insert(self.micRec4Button, -1) + self.micRec4Button.show() + self.micRec4Button.set_tooltip(('Record microphone into slot 4')) + \ No newline at end of file -- cgit v0.9.1