Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/SynthLab
diff options
context:
space:
mode:
authorNat <natcl@hotmail.com>2007-07-19 20:21:07 (GMT)
committer Nat <natcl@hotmail.com>2007-07-19 20:21:07 (GMT)
commitcced1af0ae0aff4ffb830e013163864272cbc8d8 (patch)
treeddbcfa57ccc5b15b50b1e77ce99fa3955706af2f /SynthLab
parent6bc7aeded7146ecfbcf36fd28abc69f82c6c19d0 (diff)
Synthlab Toolbars
Diffstat (limited to 'SynthLab')
-rw-r--r--SynthLab/SynthLabToolbars.py96
-rw-r--r--SynthLab/SynthLabWindow.py21
2 files changed, 112 insertions, 5 deletions
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()