3 |
* LinuxSampler - modular, streaming capable sampler * |
* LinuxSampler - modular, streaming capable sampler * |
4 |
* * |
* * |
5 |
* Copyright (C) 2003,2004 by Benno Senoner and Christian Schoenebeck * |
* Copyright (C) 2003,2004 by Benno Senoner and Christian Schoenebeck * |
6 |
* Copyright (C) 2005-2009 Christian Schoenebeck * |
* Copyright (C) 2005-2008 Christian Schoenebeck * |
7 |
* Copyright (C) 2009 Grigor Iliev * |
* Copyright (C) 2009-2010 Christian Schoenebeck and Grigor Iliev * |
8 |
* * |
* * |
9 |
* This program is free software; you can redistribute it and/or modify * |
* This program is free software; you can redistribute it and/or modify * |
10 |
* it under the terms of the GNU General Public License as published by * |
* it under the terms of the GNU General Public License as published by * |
185 |
itTriggerEvent = Pool<Event>::Iterator(); |
itTriggerEvent = Pool<Event>::Iterator(); |
186 |
|
|
187 |
// If sample stream or release stage finished, kill the voice |
// If sample stream or release stage finished, kill the voice |
188 |
if ( |
if (PlaybackState == Voice::playback_state_end || EG1Finished()) { |
189 |
PlaybackState == Voice::playback_state_end || |
KillImmediately(); |
190 |
EG1.getSegmentType() == gig::EGADSR::segment_end |
} |
|
) KillImmediately(); |
|
191 |
} |
} |
192 |
|
|
193 |
/** |
/** |
226 |
S* pSample; ///< Pointer to the sample to be played back |
S* pSample; ///< Pointer to the sample to be played back |
227 |
R* pRegion; ///< Pointer to the articulation information of current region of this voice |
R* pRegion; ///< Pointer to the articulation information of current region of this voice |
228 |
|
|
229 |
|
virtual MidiKeyBase* GetMidiKeyInfo(int MIDIKey) { |
230 |
|
EC* pChannel = static_cast<EC*>(pEngineChannel); |
231 |
|
return &pChannel->pMIDIKeyInfo[MIDIKey]; |
232 |
|
} |
233 |
|
|
234 |
virtual unsigned long GetNoteOnTime(int MIDIKey) { |
virtual unsigned long GetNoteOnTime(int MIDIKey) { |
235 |
EC* pChannel = static_cast<EC*>(pEngineChannel); |
EC* pChannel = static_cast<EC*>(pEngineChannel); |
236 |
return pChannel->pMIDIKeyInfo[MIDIKey].NoteOnTime; |
return pChannel->pMIDIKeyInfo[MIDIKey].NoteOnTime; |