106 |
inline static uint GetUnusedStreams() { return UnusedStreams; } |
inline static uint GetUnusedStreams() { return UnusedStreams; } |
107 |
protected: |
protected: |
108 |
// Methods |
// Methods |
109 |
void Launch(Stream::Handle hStream, reference_t* pExportReference, ::gig::Sample* pSample, unsigned long SampleOffset, bool DoLoop); |
void Launch(Stream::Handle hStream, reference_t* pExportReference, ::gig::DimensionRegion* pDimRgn, unsigned long SampleOffset, bool DoLoop); |
110 |
inline void Kill() { pExportReference = NULL; Reset(); } ///< Will be called by disk thread after a 'deletion' command from the audio thread (within the voice class) |
inline void Kill() { pExportReference = NULL; Reset(); } ///< Will be called by disk thread after a 'deletion' command from the audio thread (within the voice class) |
111 |
inline Stream::Handle GetHandle() { return hThis; } |
inline Stream::Handle GetHandle() { return hThis; } |
112 |
inline Stream::state_t GetState() { return State; } |
inline Stream::state_t GetState() { return State; } |
117 |
state_t State; |
state_t State; |
118 |
Stream::Handle hThis; |
Stream::Handle hThis; |
119 |
unsigned long SampleOffset; |
unsigned long SampleOffset; |
120 |
::gig::Sample* pSample; |
::gig::DimensionRegion* pDimRgn; |
121 |
::gig::playback_state_t PlaybackState; |
::gig::playback_state_t PlaybackState; |
122 |
RingBuffer<sample_t>* pRingBuffer; |
RingBuffer<sample_t>* pRingBuffer; |
123 |
bool DoLoop; |
bool DoLoop; |
130 |
// Methods |
// Methods |
131 |
inline void Reset() { |
inline void Reset() { |
132 |
SampleOffset = 0; |
SampleOffset = 0; |
133 |
pSample = NULL; |
pDimRgn = NULL; |
134 |
PlaybackState.position = 0; |
PlaybackState.position = 0; |
135 |
PlaybackState.reverse = false; |
PlaybackState.reverse = false; |
136 |
hThis = 0; |
hThis = 0; |