diff options
Diffstat (limited to 'Framework/Core/TrackPlayer.py')
-rwxr-xr-x | Framework/Core/TrackPlayer.py | 88 |
1 files changed, 0 insertions, 88 deletions
diff --git a/Framework/Core/TrackPlayer.py b/Framework/Core/TrackPlayer.py deleted file mode 100755 index a7e8f7e..0000000 --- a/Framework/Core/TrackPlayer.py +++ /dev/null @@ -1,88 +0,0 @@ -from TrackPlayerBase import TrackPlayerBase - -from Framework.Generation.Generator import Generator -from Framework.Generation.Generator import GenerationParameters -from Framework.CSound.CSoundConstants import CSoundConstants - -#------------------------------------------------------------------------------ -# A Track is a collection of events. -# TrackPlayer allows the user to create, generate, manipulate and play Tracks -#------------------------------------------------------------------------------ -class TrackPlayer( TrackPlayerBase ): - #----------------------------------- - # initialization - #----------------------------------- - def __init__( self, getTempoCallback, getBeatsPerPageCallback, playTickCallback, volumeFunctions, trackIDs ): - TrackPlayerBase.__init__( self, getTempoCallback, getBeatsPerPageCallback, playTickCallback, volumeFunctions, trackIDs ) - - self.trackDictionary = {} #maps trackIDs to lists of events - - #----------------------------------- - # add/remove/update methods - #----------------------------------- - def addTrack( self, trackID, instrument, events = [] ): - if ( len( events ) != 0 ) and ( trackID not in self.mutedTrackIDs ): - self.addMultiple( events ) - - self.trackDictionary[ trackID ] = events - self.trackInstruments[ trackID ] = instrument - - def addToTrack( self, trackID, event ): - self.add( event ) - self.trackDictionary[ trackID ].add( event ) - - def addMultipleToTrack( self, trackID, events ): - self.addMultiple( events ) - for event in events: - self.trackDictionary[ trackID ].add( event ) - - def removeTrack( self, trackID ): - if self.trackDictionary.has_key( trackID ): - self.removeMultiple( self.trackDictionary[ trackID ] ) - del self.trackDictionary[ trackID ] - - def removeFromTrack( self, trackID, event ): - self.remove( event ) - self.trackDictionary[ trackID ].remove( event ) - - def removeMultipleFromTrack( self, trackID, events ): - self.removeMultiple( events ) - for event in events: - self.trackDictionary[ trackID ].remove( event ) - - def updateTrack( self, trackID, events = [] ): - if self.trackDictionary.has_key( trackID ): - self.removeTrack( trackID ) - - # TODO: this stuff is temporary and should be done in Generator - # i.e. generated notes should already have their instrument set to - # self.trackInstruments[ trackID ] - if self.trackInstruments.has_key( trackID ): - instrument = self.trackInstruments[ trackID ] - else: - instrument = CSoundConstants.CELLO - for event in events: - event.instrument = instrument - - self.addTrack( trackID, instrument, events ) - - #----------------------------------- - # misc methods - #----------------------------------- - def getEvents( self, trackID ): - return self.trackDictionary[ trackID ] - - def update( self ): - self.clear() - - for trackID in self.getActiveTrackIDs(): - self.addMultiple( self.trackDictionary[ trackID ] ) - - def generate( self, generationParameters = GenerationParameters() ): - if len( self.selectedTrackIDs ) == 0: - trackIDs = self.trackIDs - else: - trackIDs = self.selectedTrackIDs - - for trackID in trackIDs: - self.updateTrack( trackID, self.generator.generate( generationParameters, trackID, self.trackDictionary ) )
\ No newline at end of file |