408 |
class Query { |
class Query { |
409 |
public: |
public: |
410 |
uint8_t chan; // MIDI channel |
uint8_t chan; // MIDI channel |
411 |
uint8_t key; // MIDI note TODO: or controller |
uint8_t key; // MIDI note |
412 |
uint8_t vel; // MIDI velocity |
uint8_t vel; // MIDI velocity |
413 |
int bend; // MIDI pitch bend |
int bend; // MIDI pitch bend |
414 |
uint8_t bpm; // host BPM |
uint8_t bpm; // host BPM |
424 |
uint8_t prev_sw_key; // previous note value |
uint8_t prev_sw_key; // previous note value |
425 |
|
|
426 |
void search(const Instrument* pInstrument); |
void search(const Instrument* pInstrument); |
427 |
|
void search(const Instrument* pInstrument, int triggercc); |
428 |
Region* next(); |
Region* next(); |
429 |
private: |
private: |
430 |
LinuxSampler::ArrayList<Region*>* pRegionList; |
LinuxSampler::ArrayList<Region*>* pRegionList; |
459 |
/// assumed to come from a search in the lookup table. |
/// assumed to come from a search in the lookup table. |
460 |
bool OnKey(const Query& q); |
bool OnKey(const Query& q); |
461 |
|
|
|
/// Return true if region is triggered by control change |
|
|
bool OnControl(uint8_t chan, uint8_t cont, uint8_t val, |
|
|
int bend, uint8_t bpm, uint8_t chanaft, uint8_t polyaft, |
|
|
uint8_t prog, float rand, trigger_t trig, uint8_t* cc, |
|
|
float timer, bool* sw, uint8_t last_sw_key, uint8_t prev_sw_key); |
|
|
|
|
462 |
/// Return an articulation for the current state |
/// Return an articulation for the current state |
463 |
Articulation* GetArticulation(int bend, uint8_t bpm, uint8_t chanaft, uint8_t polyaft, uint8_t* cc); |
Articulation* GetArticulation(int bend, uint8_t bpm, uint8_t chanaft, uint8_t polyaft, uint8_t* cc); |
464 |
|
|
499 |
std::vector<bool> KeySwitchBindings; |
std::vector<bool> KeySwitchBindings; |
500 |
SampleManager* pSampleManager; |
SampleManager* pSampleManager; |
501 |
LookupTable* pLookupTable; |
LookupTable* pLookupTable; |
502 |
|
LookupTable* pLookupTableCC[128]; |
503 |
}; |
}; |
504 |
|
|
505 |
///////////////////////////////////////////////////////////// |
///////////////////////////////////////////////////////////// |