Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOli <olivier.belanger@umontreal.ca>2007-07-18 03:44:09 (GMT)
committer Oli <olivier.belanger@umontreal.ca>2007-07-18 03:44:09 (GMT)
commitbdd421db597205435873d44a4a20c14715a35ab8 (patch)
tree3626b714b3a4a91e43c2fddd52691e2a7e90787e
parentd328b61ca6d750984d1a396c53c2b4fa9233d82f (diff)
loopSettings popup
-rw-r--r--Edit/Properties.py4
-rw-r--r--Util/LoopSettings.py104
-rw-r--r--miniTamTam/miniTamTamMain.py29
3 files changed, 119 insertions, 18 deletions
diff --git a/Edit/Properties.py b/Edit/Properties.py
index be47286..7e098aa 100644
--- a/Edit/Properties.py
+++ b/Edit/Properties.py
@@ -12,11 +12,11 @@ import Config
Tooltips = Config.Tooltips()
class Properties( gtk.VBox ):
- def __init__( self, noteDB, doneHandler, popup ):
+ def __init__( self, noteDB, popup ):
gtk.VBox.__init__( self )
self.tooltips = gtk.Tooltips()
self.noteDB = noteDB
- self.doneHandler = doneHandler
+ #self.doneHandler = doneHandler
self.popup = popup
self.popup.resize( 545, 378 )
diff --git a/Util/LoopSettings.py b/Util/LoopSettings.py
index 3e95af9..acbdecf 100644
--- a/Util/LoopSettings.py
+++ b/Util/LoopSettings.py
@@ -6,36 +6,112 @@ import Config
Tooltips = Config.Tooltips()
class LoopSettings( gtk.VBox ):
- def __init__( self, doneHandler, popup ):
+ def __init__( self, popup ):
gtk.VBox.__init__( self )
self.tooltips = gtk.Tooltips()
- self.doneHandler = doneHandler
self.popup = popup
- self.popup.resize( 545, 378 )
- self.settingsBox = RoundHBox(fillcolor=Config.INST_BCK_COLOR, bordercolor=Config.PANEL_BCK_COLOR)
- self.settingsBox.set_radius(10)
+ self.settingsBox = gtk.HBox()
self.pack_start(self.settingsBox)
self.fixed = gtk.Fixed()
self.settingsBox.pack_start(self.fixed)
+ self.mainBox = gtk.VBox()
+
self.controlsBox = gtk.HBox()
- startBox = RoundVBox(fillcolor=Config.PANEL_COLOR, bordercolor=Config.INST_BCK_COLOR)
- startBox.set_border_width(3)
- startBox.set_radius(10)
- self.startAdjust = gtk.Adjustment( 0.5, 0, 1, .1, .1, 0)
+ self.GUI = {}
+
+ nameBox = gtk.VBox()
+ self.nameEntry = gtk.Entry()
+ self.nameEntry.set_text("name_of_the_sound")
+ nameBox.pack_start(self.nameEntry)
+ self.mainBox.pack_start(nameBox, False, False, 5)
+
+ loopedBox = gtk.HBox()
+ loopedLabel = gtk.Label("Looped sound: ")
+ loopedBox.pack_start(loopedLabel)
+ loopedToggle = ImageToggleButton(Config.IMAGE_ROOT+"checkOff.svg",Config.IMAGE_ROOT+"checkOn.svg")
+ loopedBox.pack_start(loopedToggle)
+ self.mainBox.pack_start(loopedBox, False, False, 5)
+
+ categoryBox = gtk.HBox()
+ categoryMenu = gtk.MenuBar()
+ menu = gtk.Menu()
+ for cat in Config.CATEGORIES:
+ if cat != 'all':
+ entry = gtk.MenuItem(cat)
+ menu.append(entry)
+ entry.connect("activate", self.handleCategory, cat)
+ entry.show()
+ #categoryBox.pack_start(categoryMenu)
+ self.categoryButton = gtk.Button("Category")
+ self.categoryButton.connect_object("event", self.categoryBtnPress, menu)
+ categoryBox.pack_end(self.categoryButton)
+ self.mainBox.pack_start(categoryBox, False, False, 5)
+
+ startBox = gtk.VBox()
+ self.startAdjust = gtk.Adjustment( 0.01, 0, 0.5, .01, .01, 0)
self.GUI['startSlider'] = ImageVScale( Config.TAM_TAM_ROOT + "/Resources/Images/sliderEditVolume.png", self.startAdjust, 7 )
self.startAdjust.connect("value-changed", self.handleStart)
- self.GUI['startSlider'].set_snap( 0.1 )
self.GUI['startSlider'].set_inverted(True)
self.GUI['startSlider'].set_size_request(50, 200)
- self.handleStart( self.startAdjust )
+ self.startEntry = gtk.Entry()
+ self.startEntry.set_width_chars(4)
+ self.handleStart( self.startAdjust )
startBox.pack_start(self.GUI['startSlider'], True, True, 5)
- self.controlsBox.pack_start(startBox)
+ startBox.pack_start(self.startEntry, True, True, 5)
+ self.controlsBox.pack_start(startBox)
+
+ endBox = gtk.VBox()
+ self.endAdjust = gtk.Adjustment( 0.9, 0, 1, .01, .01, 0)
+ self.GUI['endSlider'] = ImageVScale( Config.TAM_TAM_ROOT + "/Resources/Images/sliderEditVolume.png", self.endAdjust, 7 )
+ self.endAdjust.connect("value-changed", self.handleEnd)
+ self.GUI['endSlider'].set_inverted(True)
+ self.GUI['endSlider'].set_size_request(50, 200)
+ self.endEntry = gtk.Entry()
+ self.endEntry.set_width_chars(4)
+ self.handleEnd( self.endAdjust )
+ endBox.pack_start(self.GUI['endSlider'], True, True, 5)
+ endBox.pack_start(self.endEntry, True, True, 5)
+ self.controlsBox.pack_start(endBox)
- self.fixed.put( self.controlsBox, 0, 0 )
+ durBox = gtk.VBox()
+ self.durAdjust = gtk.Adjustment( 0.01, 0, 0.2, .01, .01, 0)
+ self.GUI['durSlider'] = ImageVScale( Config.TAM_TAM_ROOT + "/Resources/Images/sliderEditVolume.png", self.durAdjust, 7 )
+ self.durAdjust.connect("value-changed", self.handleDur)
+ self.GUI['durSlider'].set_inverted(True)
+ self.GUI['durSlider'].set_size_request(50, 200)
+ self.durEntry = gtk.Entry()
+ self.durEntry.set_width_chars(4)
+ self.handleDur( self.durAdjust )
+ durBox.pack_start(self.GUI['durSlider'], True, True, 5)
+ durBox.pack_start(self.durEntry, True, True, 5)
+ self.controlsBox.pack_start(durBox)
+
+ #self.mainBox.pack_start(nameBox)
+ self.mainBox.pack_start(self.controlsBox, False, False, 5)
+ self.fixed.put( self.mainBox, 0, 0 )
self.show_all()
-
+
+ def categoryBtnPress(self, widget, event):
+ if event.type == gtk.gdk.BUTTON_PRESS:
+ widget.popup(None, None, None, event.button, event.time)
+ return True
+ return False
+
+ def handleCategory(self, widget, category):
+ self.category = category
+ self.categoryButton.set_label(self.category)
+
+
+ def handleStart(self, widget, data=None):
+ self.startEntry.set_text(str(self.startAdjust.value))
+
+ def handleEnd(self, widget, data=None):
+ self.endEntry.set_text(str(self.endAdjust.value))
+
+ def handleDur(self, widget, data=None):
+ self.durEntry.set_text(str(self.durAdjust.value)) \ No newline at end of file
diff --git a/miniTamTam/miniTamTamMain.py b/miniTamTam/miniTamTamMain.py
index 15078e5..97abe45 100644
--- a/miniTamTam/miniTamTamMain.py
+++ b/miniTamTam/miniTamTamMain.py
@@ -24,6 +24,7 @@ from Util.CSoundNote import CSoundNote
from Util import NoteDB
from Util.NoteDB import Note
from Util.CSoundClient import new_csound_client
+from Util.LoopSettings import LoopSettings
from Fillin import Fillin
from KeyboardStandAlone import KeyboardStandAlone
@@ -90,6 +91,14 @@ class miniTamTamMain(SubActivity):
self.enableKeyboard()
self.setInstrument(self.instrument)
+ self.loopSettingsPopup = gtk.Window(gtk.WINDOW_POPUP)
+ self.loopSettingsPopup.set_modal(True)
+ self.loopSettingsPopup.add_events( gtk.gdk.BUTTON_PRESS_MASK )
+ self.loopSettingsPopup.connect("button-release-event", lambda w,e:self.doneLoopSettingsPopup() )
+ self.loopSettings = LoopSettings( self.loopSettingsPopup )
+ self.loopSettingsPopup.add( self.loopSettings )
+
+
self.drawInstrumentButtons()
self.drawSliders()
self.drawGeneration()
@@ -270,9 +279,14 @@ class miniTamTamMain(SubActivity):
slidersBoxSub.pack_start(volumeSliderBox)
slidersBox.pack_start(slidersBoxSub)
+ generateBtnSub = gtk.HBox()
generateBtn = ImageButton(Config.IMAGE_ROOT + 'dice.png', clickImg_path = Config.IMAGE_ROOT + 'diceblur.png')
generateBtn.connect('button-press-event', self.handleGenerateBtn)
- slidersBox.pack_start(generateBtn)
+ self.loopSettingsBtn = ImageToggleButton(Config.IMAGE_ROOT + 'dice.png', Config.IMAGE_ROOT + 'diceblur.png')
+ self.loopSettingsBtn.connect('toggled', self.handleLoopSettingsBtn)
+ generateBtnSub.pack_start(self.loopSettingsBtn)
+ generateBtnSub.pack_start(generateBtn)
+ slidersBox.pack_start(generateBtnSub)
self.tooltips.set_tip(generateBtn,Tooltips.GEN)
#Generation Button Box
@@ -308,7 +322,18 @@ class miniTamTamMain(SubActivity):
self.rightBox.pack_start(slidersBox, True)
self.rightBox.pack_start(geneButtonBox, True)
-
+
+ def doneLoopSettingsPopup(self):
+ if self.loopSettingsBtn.get_active():
+ self.loopSettingsBtn.set_active(False)
+
+ def handleLoopSettingsBtn(self, widget, data=None):
+ if widget.get_active():
+ self.loopSettingsPopup.show()
+ self.loopSettingsPopup.move( 600, 400 )
+ else:
+ self.loopSettingsPopup.hide()
+
def drawInstrumentButtons(self):
self.instrumentPanelBox = gtk.HBox()
# InstrumentPanel(elf.setInstrument,self.playInstrumentNote, False, self.micRec, self.synthRec)