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 library is free software; you can redistribute it and/or modify * |
* This library 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 * |
52 |
#include "../common/global_private.h" |
#include "../common/global_private.h" |
53 |
|
|
54 |
#include "../drivers/midi/MidiInstrumentMapper.h" |
#include "../drivers/midi/MidiInstrumentMapper.h" |
55 |
|
#include "../drivers/midi/VirtualMidiDevice.h" |
56 |
|
|
57 |
#if HAVE_SQLITE3 |
#if HAVE_SQLITE3 |
58 |
#include "../db/InstrumentsDb.h" |
#include "../db/InstrumentsDb.h" |
271 |
public MidiInstrumentInfoListener, public MidiInstrumentMapCountListener, |
public MidiInstrumentInfoListener, public MidiInstrumentMapCountListener, |
272 |
public MidiInstrumentMapInfoListener, public FxSendCountListener, |
public MidiInstrumentMapInfoListener, public FxSendCountListener, |
273 |
public VoiceCountListener, public StreamCountListener, public BufferFillListener, |
public VoiceCountListener, public StreamCountListener, public BufferFillListener, |
274 |
public TotalStreamCountListener, public TotalVoiceCountListener { |
public TotalStreamCountListener, public TotalVoiceCountListener, |
275 |
|
public EngineChangeListener { |
276 |
|
|
277 |
public: |
public: |
278 |
|
EventHandler(LSCPServer* pParent); |
279 |
|
|
280 |
/** |
/** |
281 |
* Invoked when the number of sampler channels has changed. |
* Invoked when the number of sampler channels has changed. |
282 |
* @param NewCount The new number of sampler channels. |
* @param NewCount The new number of sampler channels. |
283 |
*/ |
*/ |
284 |
virtual void ChannelCountChanged(int NewCount); |
virtual void ChannelCountChanged(int NewCount); |
285 |
|
virtual void ChannelAdded(SamplerChannel* pChannel); |
286 |
|
virtual void ChannelToBeRemoved(SamplerChannel* pChannel); |
287 |
|
|
288 |
/** |
/** |
289 |
* Invoked when the number of audio output devices has changed. |
* Invoked when the number of audio output devices has changed. |
362 |
*/ |
*/ |
363 |
virtual void TotalVoiceCountChanged(int NewCount); |
virtual void TotalVoiceCountChanged(int NewCount); |
364 |
virtual void TotalStreamCountChanged(int NewCount); |
virtual void TotalStreamCountChanged(int NewCount); |
365 |
|
|
366 |
|
virtual void EngineToBeChanged(int ChannelId); |
367 |
|
virtual void EngineChanged(int ChannelId); |
368 |
|
|
369 |
|
virtual ~EventHandler(); |
370 |
|
|
371 |
|
struct midi_listener_entry { |
372 |
|
SamplerChannel* pSamplerChannel; |
373 |
|
EngineChannel* pEngineChannel; |
374 |
|
VirtualMidiDevice* pMidiListener; |
375 |
|
}; |
376 |
|
|
377 |
|
std::vector<midi_listener_entry> channelMidiListeners; |
378 |
|
|
379 |
|
private: |
380 |
|
LSCPServer* pParent; |
381 |
} eventHandler; |
} eventHandler; |
382 |
|
|
383 |
#if HAVE_SQLITE3 |
#if HAVE_SQLITE3 |