diff options
author | amartin <olpc@localhost.localdomain> | 2007-03-01 07:06:49 (GMT) |
---|---|---|
committer | amartin <olpc@localhost.localdomain> | 2007-03-01 07:06:49 (GMT) |
commit | b048a6c2cf509e5f78bda23c0888abd4d230b626 (patch) | |
tree | f26d602941dac42cb96f215b2cf8050b57c05dd1 /Edit/TrackInterface.py | |
parent | f13c4a01e1f26888c4f682a5a3332f226a0de58a (diff) |
background loading (instrument panel) and misc bug fixes
Diffstat (limited to 'Edit/TrackInterface.py')
-rw-r--r-- | Edit/TrackInterface.py | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/Edit/TrackInterface.py b/Edit/TrackInterface.py index cbe9673..3bf7925 100644 --- a/Edit/TrackInterface.py +++ b/Edit/TrackInterface.py @@ -66,7 +66,7 @@ class TrackInterface( gtk.EventBox ): self.curAction = False # stores the current mouse action self.curActionObject = False # stores the object that in handling the action - self.lastDO = self.lastDP = self.lastDD = None + self.lastDO = self.lastDP = self.lastDrumDP = self.lastDD = None self.clickButton = 0 # used in release and motion events to make sure we where actually the widget originally clicked. (hack for popup windows) self.buttonPressCount = 1 # used on release events to indicate double/triple releases @@ -695,13 +695,17 @@ class TrackInterface( gtk.EventBox ): if len(stream): self.noteDB.updateNotes( stream + [-1] ) - self.curActionObject.playSampleNote( False ) + if self.curActionObject.note.track != self.drumIndex: + self.curActionObject.playSampleNote( False ) + elif dp != self.lastDrumDP and not dp%2: # only play of "full" drum pitches + self.lastDrumDP = dp + self.curActionObject.playSampleNote( False ) def doneNoteDrag( self, action ): # if action == "note-drag-pitch" or action == "note-drag-pitch-drum": # self.curActionObject.playSampleNote() - self.lastDO = self.lastDP = self.lastDD = None + self.lastDO = self.lastDP = self.lastDrumDP = self.lastDD = None for i in range(Config.NUMBER_OF_TRACKS): for note in self.selectedNotes[i]: |