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 - 2007 Christian Schoenebeck * |
* Copyright (C) 2005 - 2008 Christian Schoenebeck * |
7 |
* * |
* * |
8 |
* This program is free software; you can redistribute it and/or modify * |
* This program is free software; you can redistribute it and/or modify * |
9 |
* 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 * |
127 |
std::vector<FxSend*> fxSends; |
std::vector<FxSend*> fxSends; |
128 |
int GlobalTranspose; ///< amount of semi tones all notes should be transposed |
int GlobalTranspose; ///< amount of semi tones all notes should be transposed |
129 |
|
|
130 |
|
/// Command used by the instrument loader thread to |
131 |
|
/// request an instrument change on a channel. |
132 |
|
struct instrument_change_command_t { |
133 |
|
bool bChangeInstrument; ///< Set to true by the loader when the channel should change instrument. |
134 |
|
::gig::Instrument* pInstrument; ///< The new instrument. Also used by the loader to read the previously loaded instrument. |
135 |
|
RTList< ::gig::DimensionRegion*>* pDimRegionsInUse; ///< List of dimension regions in use by the currently loaded instrument. Continuously updated by the audio thread. |
136 |
|
}; |
137 |
|
SynchronizedConfig<instrument_change_command_t> InstrumentChangeCommand; |
138 |
|
SynchronizedConfig<instrument_change_command_t>::Reader InstrumentChangeCommandReader; |
139 |
|
|
140 |
|
RTList< ::gig::DimensionRegion*>* pDimRegionsInUse; ///< temporary pointer into the instrument change command, used by the audio thread |
141 |
|
|
142 |
void ResetControllers(); |
void ResetControllers(); |
143 |
void ClearEventLists(); |
void ClearEventLists(); |
144 |
void ImportEvents(uint Samples); |
void ImportEvents(uint Samples); |
150 |
private: |
private: |
151 |
void ResetInternal(); |
void ResetInternal(); |
152 |
void RemoveAllFxSends(); |
void RemoveAllFxSends(); |
153 |
|
instrument_change_command_t& ChangeInstrument(::gig::Instrument* pInstrument); |
154 |
}; |
}; |
155 |
|
|
156 |
}} // namespace LinuxSampler::gig |
}} // namespace LinuxSampler::gig |