Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/Edit
diff options
context:
space:
mode:
authorNat <natcl@hotmail.com>2007-06-25 19:10:33 (GMT)
committer Nat <natcl@hotmail.com>2007-06-25 19:10:33 (GMT)
commit293bca0d2086a7fe04a8517acb618817d3858f5f (patch)
tree2e68536016fa7ed5cc63c08c063b668c65d10e8a /Edit
parent28185285179f3e3579514e1122d80fa5288f8927 (diff)
Active buttons for mute/solo
Diffstat (limited to 'Edit')
-rw-r--r--Edit/MainWindow.py100
1 files changed, 78 insertions, 22 deletions
diff --git a/Edit/MainWindow.py b/Edit/MainWindow.py
index aceab85..56b9bb5 100644
--- a/Edit/MainWindow.py
+++ b/Edit/MainWindow.py
@@ -69,6 +69,7 @@ class MainWindow( SubActivity ):
self.playScope = "Selection"
self.displayedPage = -1
self.trackSelected = [ 0 for i in range(Config.NUMBER_OF_TRACKS) ]
+ self.trackActive = [ 1 for i in range(Config.NUMBER_OF_TRACKS) ]
self.pages_playing = []
@@ -108,13 +109,20 @@ class MainWindow( SubActivity ):
# + + instrument 1 box
self.GUI["2instrument1Box"] = formatRoundBox( RoundHBox(), Config.BG_COLOR )
self.GUI["2instrument1Box"].set_size_request( -1, 137 )
+ self.GUI["2instrument1volBox"] = gtk.VBox()
self.GUI["2instrument1volumeAdjustment"] = gtk.Adjustment( self._data["track_volume"][1], 0, 100, 1, 1, 0 )
#self.GUI["2instrument1volumeAdjustment"].connect( "value_changed", self.onTrackVolumeChanged, 0 )
self.GUI["2instrument1volumeSlider"] = ImageVScale( Config.IMAGE_ROOT+"sliderInst1.png", self.GUI["2instrument1volumeAdjustment"], 6 )
self.GUI["2instrument1volumeSlider"].set_inverted(True)
self.GUI["2instrument1volumeSlider"].set_size_request( 30, -1 )
self.GUI["2instrument1volumeAdjustment"].connect( "value-changed", self.handleTrackVolume, 0 )
- self.GUI["2instrument1Box"].pack_start( self.GUI["2instrument1volumeSlider"], False, False, 0 )
+ self.GUI["2instrument1muteButton"] = gtk.CheckButton(label = None)
+ self.GUI["2instrument1muteButton"].connect("toggled",self.handlemuteButton,0)
+ self.GUI["2instrument1muteButton"].connect("button-press-event",self.handlemuteButtonRightClick,0)
+ self.GUI["2instrument1muteButton"].set_active(True)
+ self.GUI["2instrument1volBox"].pack_start( self.GUI["2instrument1volumeSlider"], True, True, 0 )
+ self.GUI["2instrument1volBox"].pack_start( self.GUI["2instrument1muteButton"], False, False, 0 )
+ self.GUI["2instrument1Box"].pack_start( self.GUI["2instrument1volBox"], False, False, 0 )
self.GUI["2instrument1Button"] = ImageToggleButton(Config.IMAGE_ROOT + self.trackInstrument[0].name + '.png', Config.IMAGE_ROOT + self.trackInstrument[0].name + '.png')
self.GUI["2instrument1Button"].connect("toggled", self.pickInstrument, 0 )
self.GUI["2instrument1Box"].pack_start( self.GUI["2instrument1Button"] )
@@ -122,13 +130,20 @@ class MainWindow( SubActivity ):
# + + instrument 2 box
self.GUI["2instrument2Box"] = formatRoundBox( RoundHBox(), Config.BG_COLOR )
self.GUI["2instrument2Box"].set_size_request( -1, 137 )
+ self.GUI["2instrument2volBox"] = gtk.VBox()
self.GUI["2instrument2volumeAdjustment"] = gtk.Adjustment( self._data["track_volume"][1], 0, 100, 1, 1, 0 )
#self.GUI["2instrument2volumeAdjustment"].connect( "value_changed", self.onTrackVolumeChanged, 1 )
self.GUI["2instrument2volumeSlider"] = ImageVScale( Config.IMAGE_ROOT+"sliderInst2.png", self.GUI["2instrument2volumeAdjustment"], 6 )
self.GUI["2instrument2volumeSlider"].set_inverted(True)
self.GUI["2instrument2volumeSlider"].set_size_request( 30, -1 )
self.GUI["2instrument2volumeAdjustment"].connect( "value-changed", self.handleTrackVolume, 1 )
- self.GUI["2instrument2Box"].pack_start( self.GUI["2instrument2volumeSlider"], False, False, 0 )
+ self.GUI["2instrument2muteButton"] = gtk.CheckButton(label = None)
+ self.GUI["2instrument2muteButton"].connect("toggled",self.handlemuteButton,1)
+ self.GUI["2instrument2muteButton"].connect("button-press-event",self.handlemuteButtonRightClick,1)
+ self.GUI["2instrument2muteButton"].set_active(True)
+ self.GUI["2instrument2volBox"].pack_start( self.GUI["2instrument2volumeSlider"], True, True, 0 )
+ self.GUI["2instrument2volBox"].pack_start( self.GUI["2instrument2muteButton"], False, False, 0 )
+ self.GUI["2instrument2Box"].pack_start( self.GUI["2instrument2volBox"], False, False, 0 )
self.GUI["2instrument2Button"] = ImageToggleButton(Config.IMAGE_ROOT + self.trackInstrument[1].name + '.png', Config.IMAGE_ROOT + self.trackInstrument[1].name + '.png')
self.GUI["2instrument2Button"].connect("toggled", self.pickInstrument, 1 )
self.GUI["2instrument2Box"].pack_start( self.GUI["2instrument2Button"] )
@@ -136,13 +151,20 @@ class MainWindow( SubActivity ):
# + + instrument 3 box
self.GUI["2instrument3Box"] = formatRoundBox( RoundHBox(), Config.BG_COLOR )
self.GUI["2instrument3Box"].set_size_request( -1, 137 )
+ self.GUI["2instrument3volBox"] = gtk.VBox()
self.GUI["2instrument3volumeAdjustment"] = gtk.Adjustment( self._data["track_volume"][2], 0, 100, 1, 1, 0 )
#self.GUI["2instrument3volumeAdjustment"].connect( "value_changed", self.onTrackVolumeChanged, 2 )
self.GUI["2instrument3volumeSlider"] = ImageVScale( Config.IMAGE_ROOT+"sliderInst3.png", self.GUI["2instrument3volumeAdjustment"], 6 )
self.GUI["2instrument3volumeSlider"].set_inverted(True)
self.GUI["2instrument3volumeSlider"].set_size_request( 30, -1 )
self.GUI["2instrument3volumeAdjustment"].connect( "value-changed", self.handleTrackVolume, 2 )
- self.GUI["2instrument3Box"].pack_start( self.GUI["2instrument3volumeSlider"], False, False, 0 )
+ self.GUI["2instrument3muteButton"] = gtk.CheckButton(label = None)
+ self.GUI["2instrument3muteButton"].connect("toggled",self.handlemuteButton,2)
+ self.GUI["2instrument3muteButton"].connect("button-press-event",self.handlemuteButtonRightClick,2)
+ self.GUI["2instrument3muteButton"].set_active(True)
+ self.GUI["2instrument3volBox"].pack_start( self.GUI["2instrument3volumeSlider"], True, True, 0 )
+ self.GUI["2instrument3volBox"].pack_start( self.GUI["2instrument3muteButton"], False, False, 0 )
+ self.GUI["2instrument3Box"].pack_start( self.GUI["2instrument3volBox"], False, False, 0 )
self.GUI["2instrument3Button"] = ImageToggleButton(Config.IMAGE_ROOT + self.trackInstrument[2].name + '.png', Config.IMAGE_ROOT + self.trackInstrument[2].name + '.png')
self.GUI["2instrument3Button"].connect("toggled", self.pickInstrument, 2 )
self.GUI["2instrument3Box"].pack_start( self.GUI["2instrument3Button"] )
@@ -150,13 +172,20 @@ class MainWindow( SubActivity ):
# + + instrument 4 box
self.GUI["2instrument4Box"] = formatRoundBox( RoundHBox(), Config.BG_COLOR )
self.GUI["2instrument4Box"].set_size_request( -1, 137 )
+ self.GUI["2instrument4volBox"] = gtk.VBox()
self.GUI["2instrument4volumeAdjustment"] = gtk.Adjustment( self._data["track_volume"][3], 0, 100, 1, 1, 0 )
#self.GUI["2instrument4volumeAdjustment"].connect( "value_changed", self.onTrackVolumeChanged, 3 )
self.GUI["2instrument4volumeSlider"] = ImageVScale( Config.IMAGE_ROOT+"sliderInst4.png", self.GUI["2instrument4volumeAdjustment"], 6 )
self.GUI["2instrument4volumeSlider"].set_inverted(True)
self.GUI["2instrument4volumeSlider"].set_size_request( 30, -1 )
self.GUI["2instrument4volumeAdjustment"].connect( "value-changed", self.handleTrackVolume, 3 )
- self.GUI["2instrument4Box"].pack_start( self.GUI["2instrument4volumeSlider"], False, False, 0 )
+ self.GUI["2instrument4muteButton"] = gtk.CheckButton(label = None)
+ self.GUI["2instrument4muteButton"].connect("toggled",self.handlemuteButton,3)
+ self.GUI["2instrument4muteButton"].connect("button-press-event",self.handlemuteButtonRightClick,3)
+ self.GUI["2instrument4muteButton"].set_active(True)
+ self.GUI["2instrument4volBox"].pack_start( self.GUI["2instrument4volumeSlider"], True, True, 0 )
+ self.GUI["2instrument4volBox"].pack_start( self.GUI["2instrument4muteButton"], False, False, 0 )
+ self.GUI["2instrument4Box"].pack_start( self.GUI["2instrument4volBox"], False, False, 0 )
self.GUI["2instrument4Button"] = ImageToggleButton(Config.IMAGE_ROOT + self.trackInstrument[3].name + '.png', Config.IMAGE_ROOT + self.trackInstrument[3].name + '.png')
self.GUI["2instrument4Button"].connect("toggled", self.pickInstrument, 3 )
self.GUI["2instrument4Box"].pack_start( self.GUI["2instrument4Button"] )
@@ -164,13 +193,20 @@ class MainWindow( SubActivity ):
# + + drum box
self.GUI["2drumBox"] = formatRoundBox( RoundHBox(), Config.BG_COLOR )
self.GUI["2drumBox"].set_size_request( -1, 165 )
+ self.GUI["2drumVolBox"] = gtk.VBox()
self.GUI["2drumvolumeAdjustment"] = gtk.Adjustment( self._data["track_volume"][4], 0, 100, 1, 1, 0 )
#self.GUI["2drumvolumeAdjustment"].connect( "value_changed", self.onTrackVolumeChanged, 4 )
self.GUI["2drumvolumeSlider"] = ImageVScale( Config.IMAGE_ROOT+"sliderDrum.png", self.GUI["2drumvolumeAdjustment"], 6 )
self.GUI["2drumvolumeSlider"].set_inverted(True)
self.GUI["2drumvolumeSlider"].set_size_request( 30, -1 )
self.GUI["2drumvolumeAdjustment"].connect( "value-changed", self.handleTrackVolume, 4 )
- self.GUI["2drumBox"].pack_start( self.GUI["2drumvolumeSlider"], False, False, 0 )
+ self.GUI["2drumMuteButton"] = gtk.CheckButton(label = None)
+ self.GUI["2drumMuteButton"].connect("toggled",self.handlemuteButton,4)
+ self.GUI["2drumMuteButton"].connect("button-press-event",self.handlemuteButtonRightClick,4)
+ self.GUI["2drumMuteButton"].set_active(True)
+ self.GUI["2drumVolBox"].pack_start( self.GUI["2drumvolumeSlider"], True, True, 0 )
+ self.GUI["2drumVolBox"].pack_start( self.GUI["2drumMuteButton"], False, False, 0 )
+ self.GUI["2drumBox"].pack_start( self.GUI["2drumVolBox"], False, False, 0 )
self.GUI["2drumButton"] = ImageToggleButton(Config.IMAGE_ROOT + self.trackInstrument[4].name + '.png', Config.IMAGE_ROOT + self.trackInstrument[4].name + '.png')
self.GUI["2drumButton"].connect("toggled", self.pickDrum)
self.GUI["2drumBox"].pack_start( self.GUI["2drumButton"] )
@@ -561,16 +597,13 @@ class MainWindow( SubActivity ):
self.csnd.loopDeactivate()
- trackset = set( [ i for i in range(Config.NUMBER_OF_TRACKS) if self.trackSelected[i] ] )
+ trackset = set( [ i for i in range(Config.NUMBER_OF_TRACKS) if self.trackActive[i] ] )
notes = []
- if len(trackset) == 0 or len(trackset) == Config.NUMBER_OF_TRACKS:
- for page in self.pages_playing:
- notes += self.noteDB.getNotesByPage( page )
- else:
- for page in self.pages_playing:
- for track in trackset:
- notes += self.noteDB.getNotesByTrack( page, track )
+
+ for page in self.pages_playing:
+ for track in trackset:
+ notes += self.noteDB.getNotesByTrack( page, track )
#print self.pages_playing
for n in notes:
@@ -617,7 +650,7 @@ class MainWindow( SubActivity ):
if True : #self.pages_playing != toPlay: # rebuild note loop
self.pages_playing = toPlay[:]
- trackset = set( [ i for i in range(Config.NUMBER_OF_TRACKS) if self.trackSelected[i] ] )
+ trackset = set( [ i for i in range(Config.NUMBER_OF_TRACKS) if self.trackActive[i] ] )
numticks = 0
self.page_onset = {}
@@ -626,13 +659,9 @@ class MainWindow( SubActivity ):
numticks += self.noteDB.getPage(pid).ticks
notes = []
- if len(trackset) == 0 or len(trackset) == Config.NUMBER_OF_TRACKS:
- for page in self.pages_playing:
- notes += self.noteDB.getNotesByPage( page )
- else:
- for page in self.pages_playing:
- for track in trackset:
- notes += self.noteDB.getNotesByTrack( page, track )
+ for page in self.pages_playing:
+ for track in trackset:
+ notes += self.noteDB.getNotesByTrack( page, track )
if (Config.DEBUG > 3):
print 'rebuild note loop'
@@ -862,7 +891,34 @@ class MainWindow( SubActivity ):
instrumentId = Config.INSTRUMENTS[instrumentName].instrumentId,
reverbSend = 0),
secs_per_tick)
-
+
+ def handlemuteButton(self,widget,track):
+ if widget.get_active():
+ self.trackActive[track] = True
+ else:
+ self.trackActive[track] = False
+ self.updatePagesPlaying()
+
+ def handlemuteButtonRightClick(self,widget,event,track):
+ if event.button == 3:
+ widget.set_active(True)
+ #if the other tracks are inactive
+ if self.trackActive.count(False) == Config.NUMBER_OF_TRACKS - 1:
+ for i in range(Config.NUMBER_OF_TRACKS):
+ if i == 4:
+ self.GUI["2drumMuteButton"].set_active(True)
+ else:
+ self.GUI["2instrument" + str(i+1) + "muteButton"].set_active(True)
+ self.updatePagesPlaying()
+ else:
+ for i in range(Config.NUMBER_OF_TRACKS):
+ if i != track:
+ if i == 4:
+ self.GUI["2drumMuteButton"].set_active(False)
+ else:
+ self.GUI["2instrument" + str(i+1) + "muteButton"].set_active(False)
+ self.updatePagesPlaying()
+
#-----------------------------------
# generation functions
#-----------------------------------