NotePlayHandle: added property to track origin
Using the origin property we can track where a NotePlayHandle instance originates from (Pattern, MIDI, ...) and build new functions around this.
This commit is contained in:
@@ -48,12 +48,22 @@ public:
|
||||
void * m_pluginData;
|
||||
basicFilters<> * m_filter;
|
||||
|
||||
// specifies origin of NotePlayHandle
|
||||
enum Origins
|
||||
{
|
||||
OriginPattern, /*! playback of a note from a pattern */
|
||||
OriginMidiInput, /*! playback of a MIDI note input event */
|
||||
OriginCount
|
||||
};
|
||||
typedef Origins Origin;
|
||||
|
||||
notePlayHandle( InstrumentTrack * _instrument_track,
|
||||
const f_cnt_t _offset,
|
||||
const f_cnt_t _frames, const note & _n,
|
||||
notePlayHandle * _parent = NULL,
|
||||
const bool _part_of_arp = false,
|
||||
int midiEventChannel = -1 );
|
||||
int midiEventChannel = -1,
|
||||
Origin origin = OriginPattern );
|
||||
virtual ~notePlayHandle();
|
||||
|
||||
virtual void setVolume( const volume_t volume = DefaultVolume );
|
||||
@@ -281,6 +291,7 @@ private:
|
||||
MidiTime m_songGlobalParentOffset;
|
||||
|
||||
const int m_midiChannel;
|
||||
const Origin m_origin;
|
||||
|
||||
} ;
|
||||
|
||||
|
||||
@@ -50,7 +50,8 @@ notePlayHandle::notePlayHandle( InstrumentTrack * _it,
|
||||
const note & _n,
|
||||
notePlayHandle *parent,
|
||||
const bool _part_of_arp,
|
||||
int midiEventChannel ) :
|
||||
int midiEventChannel,
|
||||
Origin origin ) :
|
||||
playHandle( NotePlayHandle, _offset ),
|
||||
note( _n.length(), _n.pos(), _n.key(),
|
||||
_n.getVolume(), _n.getPanning(), _n.detuning() ),
|
||||
@@ -76,7 +77,8 @@ notePlayHandle::notePlayHandle( InstrumentTrack * _it,
|
||||
m_unpitchedFrequency( 0 ),
|
||||
m_baseDetuning( NULL ),
|
||||
m_songGlobalParentOffset( 0 ),
|
||||
m_midiChannel( midiEventChannel >= 0 ? midiEventChannel : instrumentTrack()->midiPort()->realOutputChannel() )
|
||||
m_midiChannel( midiEventChannel >= 0 ? midiEventChannel : instrumentTrack()->midiPort()->realOutputChannel() ),
|
||||
m_origin( origin )
|
||||
{
|
||||
if( isTopNote() )
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user