Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/Jam/Picker.py
diff options
context:
space:
mode:
authoramartin <olpc@xo-05-28-21.localdomain>2007-08-11 12:00:48 (GMT)
committer amartin <olpc@xo-05-28-21.localdomain>2007-08-11 12:00:48 (GMT)
commit6be4708f0f20da7f9065e4b12aa6baaf6595296c (patch)
tree80ae450ab196c7f8d9047ec270d4f204a9285d64 /Jam/Picker.py
parent480d87215c6667ccf1ea837409965cd7671d3169 (diff)
Jam intsrument picking
Diffstat (limited to 'Jam/Picker.py')
-rw-r--r--Jam/Picker.py35
1 files changed, 29 insertions, 6 deletions
diff --git a/Jam/Picker.py b/Jam/Picker.py
index 6e436ef..975919c 100644
--- a/Jam/Picker.py
+++ b/Jam/Picker.py
@@ -5,6 +5,8 @@ import gtk
import random #TEMP
+import Config
+
import Jam.Block as Block
class Picker( gtk.HBox ):
@@ -39,12 +41,13 @@ class Picker( gtk.HBox ):
self.blocks = []
- def addBlock( self, name ):
+ def addBlock( self, data, name = "TEMPORARY ARG" ):
block = gtk.Button(name)
block.add_events(gtk.gdk.BUTTON_MOTION_MASK)
block.connect( "button-press-event", self.button_press )
block.connect( "button-release-event", self.button_release )
block.connect( "motion-notify-event", self.motion_notify )
+ block.data = data
self.blocks.append( block )
@@ -52,6 +55,8 @@ class Picker( gtk.HBox ):
self.pickerBox.pack_start( block, False, False )
block.show()
+ return block
+
def getFilter( self ):
return filter
@@ -85,13 +90,21 @@ class Instrument( Picker ):
self.type = Instrument
- self.addBlock( "Instrument" )
+ # TEMP
+ self.addBlock( Config.INSTRUMENTS["kalimba"].instrumentId )
+ self.addBlock( Config.INSTRUMENTS["flute"].instrumentId )
+
+ def addBlock( self, id ):
+ # match data structure of Block.Instrument
+ data = { "name": Config.INSTRUMENTSID[id].name,
+ "id": id }
+ Picker.addBlock( self, data, Config.INSTRUMENTSID[id].name )
def button_press( self, widget, event ):
walloc = widget.get_allocation()
salloc = self.scrolledWindow.get_allocation()
loc = ( walloc.x + salloc.x + event.x - self.hadjustment.get_value(), -1 )
- self.desktop.addBlock( Block.Instrument, [], loc, True )
+ self.desktop.addBlock( Block.Instrument, widget.data, loc, True )
class Drum( Picker ):
@@ -101,13 +114,23 @@ class Drum( Picker ):
self.type = Drum
- self.addBlock( "Drum" )
+ # TEMP
+ self.addBlock( Config.INSTRUMENTS["drum1kit"].instrumentId )
+ self.addBlock( Config.INSTRUMENTS["drum2kit"].instrumentId )
+ self.addBlock( Config.INSTRUMENTS["drum3kit"].instrumentId )
+ self.addBlock( Config.INSTRUMENTS["drum4kit"].instrumentId )
+
+ def addBlock( self, id ):
+ # match data structure of Block.Drum
+ data = { "name": Config.INSTRUMENTSID[id].name,
+ "id": id }
+ Picker.addBlock( self, data, Config.INSTRUMENTSID[id].name )
def button_press( self, widget, event ):
walloc = widget.get_allocation()
salloc = self.scrolledWindow.get_allocation()
loc = ( walloc.x + salloc.x + event.x - self.hadjustment.get_value(), -1 )
- self.desktop.addBlock( Block.Drum, [], loc, True )
+ self.desktop.addBlock( Block.Drum, widget.data, loc, True )
class Loop( Picker ):
@@ -117,7 +140,7 @@ class Loop( Picker ):
self.type = Loop
- self.addBlock( "Loop" )
+ self.addBlock( {}, "Loop" )
def button_press( self, widget, event ):
walloc = widget.get_allocation()