From cced1af0ae0aff4ffb830e013163864272cbc8d8 Mon Sep 17 00:00:00 2001 From: Nat Date: Thu, 19 Jul 2007 20:21:07 +0000 Subject: Synthlab Toolbars --- (limited to 'SynthLab') diff --git a/SynthLab/SynthLabToolbars.py b/SynthLab/SynthLabToolbars.py new file mode 100644 index 0000000..48a565b --- /dev/null +++ b/SynthLab/SynthLabToolbars.py @@ -0,0 +1,96 @@ +#!/usr/bin/env python + +import gtk +import Config + +from sugar.graphics.toolbutton import ToolButton +from sugar.graphics.toggletoolbutton import ToggleToolButton +from sugar.graphics.radiotoolbutton import RadioToolButton +from gettext import gettext as _ + +class mainToolbar(gtk.Toolbar): + def __init__(self,toolbox, synthLab): + gtk.Toolbar.__init__(self) + + def _insertSeparator(): + self.separator = gtk.SeparatorToolItem() + self.separator.set_draw(True) + self.insert(self.separator,-1) + self.separator.show() + + self.toolbox = toolbox + self.synthLab = synthLab + + self.tooltips = gtk.Tooltips() + + self.durationSliderAdj = gtk.Adjustment(2, .5, 10, .01, .01, 0) + self.durationSliderAdj.connect("value_changed" , self.synthLab.handleDuration) + self.durationSlider = gtk.HScale(adjustment = self.durationSliderAdj) + self.durationSlider.set_size_request(250,15) + self.durationSlider.set_inverted(False) + #self.durationSlider.set_draw_value(False) + self.durationSliderTool = gtk.ToolItem() + self.durationSliderTool.add(self.durationSlider) + self.insert(self.durationSliderTool, -1) + self.durationSlider.show() + self.durationSliderTool.show() + self.durationSliderTool.set_tooltip(self.tooltips, _('Duration')) + + _insertSeparator() + _insertSeparator() + + self.synthRec1Button = ToggleToolButton('rec1') + self.synthRec1Button.connect('clicked',self.synthLab.recordSound,1) + self.insert(self.synthRec1Button, -1) + self.synthRec1Button.show() + self.synthRec1Button.set_tooltip(_('Record Synth sound into slot 1')) + + self.synthRec2Button = ToggleToolButton('rec2') + self.synthRec2Button.connect('clicked',self.synthLab.recordSound,2) + self.insert(self.synthRec2Button, -1) + self.synthRec2Button.show() + self.synthRec2Button.set_tooltip(_('Record Synth sound into slot 2')) + + self.synthRec3Button = ToggleToolButton('rec3') + self.synthRec3Button.connect('clicked',self.synthLab.recordSound,3) + self.insert(self.synthRec3Button, -1) + self.synthRec3Button.show() + self.synthRec3Button.set_tooltip(_('Record Synth sound into slot 3')) + + self.synthRec4Button = ToggleToolButton('rec4') + self.synthRec4Button.connect('clicked',self.synthLab.recordSound,4) + self.insert(self.synthRec4Button, -1) + self.synthRec4Button.show() + self.synthRec4Button.set_tooltip(_('Record Synth sound into slot 4')) + + self.synthRec5Button = ToggleToolButton('rec5') + self.synthRec5Button.connect('clicked',self.synthLab.recordSound,5) + self.insert(self.synthRec5Button, -1) + self.synthRec5Button.show() + self.synthRec5Button.set_tooltip(_('Record Synth sound into slot 5')) + + self.synthRec6Button = ToggleToolButton('rec6') + self.synthRec6Button.connect('clicked',self.synthLab.recordSound,6) + self.insert(self.synthRec6Button, -1) + self.synthRec6Button.show() + self.synthRec6Button.set_tooltip(_('Record Synth sound into slot 6')) + +class presetToolbar(gtk.Toolbar): + def __init__(self,toolbox, synthLab): + gtk.Toolbar.__init__(self) + + def _insertSeparator(): + self.separator = gtk.SeparatorToolItem() + self.separator.set_draw(True) + self.insert(self.separator,-1) + self.separator.show() + + self.toolbox = toolbox + self.synthLab = synthLab + + self.preset1Button = ToggleToolButton('preset1') + self.preset1Button.connect('clicked',self.synthLab.recordSound,1) + self.insert(self.preset1Button, -1) + self.preset1Button.show() + self.preset1Button.set_tooltip(_('Record Synth sound into slot 1')) + diff --git a/SynthLab/SynthLabWindow.py b/SynthLab/SynthLabWindow.py index d0ec415..078be3f 100644 --- a/SynthLab/SynthLabWindow.py +++ b/SynthLab/SynthLabWindow.py @@ -7,6 +7,7 @@ from Util.Profiler import TP import gobject import time import shelve +from gettext import gettext as _ import os import Config @@ -16,6 +17,8 @@ from SynthLab.SynthLabParametersWindow import SynthLabParametersWindow from SynthLab.SynthObjectsParameters import SynthObjectsParameters from SynthLab.SynthLabConstants import SynthLabConstants from SynthLab.Parameter import Parameter +from SynthLab.SynthLabToolbars import mainToolbar +from SynthLab.SynthLabToolbars import presetToolbar from Util.Trackpad import Trackpad from SubActivity import SubActivity Tooltips = Config.Tooltips @@ -23,7 +26,7 @@ Tooltips = Config.Tooltips as_window = False class SynthLabWindow(SubActivity): - def __init__( self, set_mode, dummy_to_change_signature ): + def __init__( self, activity, set_mode, dummy_to_change_signature ): SubActivity.__init__(self, set_mode) if as_window: color = gtk.gdk.color_parse(Config.PANEL_BCK_COLOR) @@ -31,6 +34,7 @@ class SynthLabWindow(SubActivity): self.set_border_width(Config.MAIN_WINDOW_PADDING) self.set_keep_above(False) self.set_decorated(False) + self.activity = activity self.csnd = new_csound_client() self.trackpad = Trackpad( self ) self.synthObjectsParameters = SynthObjectsParameters() @@ -49,6 +53,14 @@ class SynthLabWindow(SubActivity): self.durString = '%.2f' % self.duration self.playingPitch = [] self.journalCalled = True + + #Toolbars + self._mainToolbar = mainToolbar(self.activity.toolbox, self) + self._presetToolbar = presetToolbar(self.activity.toolbox, self) + self.activity.toolbox.add_toolbar(_('Main'), self._mainToolbar) + self.activity.toolbox.add_toolbar(_('Presets'), self._presetToolbar) + self._mainToolbar.show() + self._presetToolbar.show() loopPointsTable = [] sample_names = [name for i in range( len( Config.INSTRUMENTS ) ) for name in Config.INSTRUMENTS.keys() if Config.INSTRUMENTS[ name ].instrumentId == i ] @@ -236,11 +248,10 @@ class SynthLabWindow(SubActivity): if midiPitch in self.playingPitch: self.playingPitch.remove( midiPitch ) - def handleDuration( self, data ): - self.duration = self.durAdjust.value + def handleDuration( self, adjustment ): + self.duration = adjustment.value self.durString = '%.2f' % self.duration img = int((self.duration - .5) * .5 + 1) - self.durLabel.set_from_file(Config.IMAGE_ROOT + 'dur' + str(img) + '.png') self.parameterUpdate(self.durString) self.tooltips.set_tip(self.durationSlider, Tooltips.SOUNDDUR + ': ' + self.durString) @@ -1099,7 +1110,7 @@ class SynthLabWindow(SubActivity): self.connections = state['connections'] #self.tempVerifyConnectionFormat() self.duration = state['duration'] - self.durAdjust.set_value(self.duration) + self._mainToolbar.durationSliderAdj.set_value(self.duration) self.initializeConnections() self.controlToSrcConnections() -- cgit v0.9.1