1 |
/*************************************************************************** |
/*************************************************************************** |
2 |
* * |
* * |
3 |
* Copyright (C) 2007 Grigor Iliev * |
* Copyright (C) 2007, 2008 Grigor Iliev * |
4 |
* * |
* * |
5 |
* This program is free software; you can redistribute it and/or modify * |
* This program is free software; you can redistribute it and/or modify * |
6 |
* 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 * |
26 |
|
|
27 |
namespace LinuxSampler { |
namespace LinuxSampler { |
28 |
|
|
29 |
|
// just symbol prototyping |
30 |
|
class SamplerChannel; |
31 |
|
class MidiInputDevice; |
32 |
|
class MidiInputPort; |
33 |
|
|
34 |
template<class L> |
template<class L> |
35 |
class ListenerList { |
class ListenerList { |
36 |
public: |
public: |
92 |
* @param NewCount The new number of sampler channels. |
* @param NewCount The new number of sampler channels. |
93 |
*/ |
*/ |
94 |
virtual void ChannelCountChanged(int NewCount) = 0; |
virtual void ChannelCountChanged(int NewCount) = 0; |
95 |
|
virtual void ChannelAdded(SamplerChannel* pChannel) = 0; |
96 |
|
virtual void ChannelToBeRemoved(SamplerChannel* pChannel) = 0; |
97 |
}; |
}; |
98 |
|
|
99 |
/** |
/** |
120 |
* @param NewCount The new number of MIDI input devices. |
* @param NewCount The new number of MIDI input devices. |
121 |
*/ |
*/ |
122 |
virtual void MidiDeviceCountChanged(int NewCount) = 0; |
virtual void MidiDeviceCountChanged(int NewCount) = 0; |
123 |
|
|
124 |
|
/** |
125 |
|
* Invoked right before the supplied MIDI input device is going |
126 |
|
* to be destroyed. |
127 |
|
* @param pDevice MidiInputDevice to be deleted |
128 |
|
*/ |
129 |
|
virtual void MidiDeviceToBeDestroyed(MidiInputDevice* pDevice) = 0; |
130 |
|
|
131 |
|
/** |
132 |
|
* Invoked to inform that a new MidiInputDevice has just been |
133 |
|
* created. |
134 |
|
* @param pDevice newly created MidiInputDevice |
135 |
|
*/ |
136 |
|
virtual void MidiDeviceCreated(MidiInputDevice* pDevice) = 0; |
137 |
|
}; |
138 |
|
|
139 |
|
/** |
140 |
|
* This class is used as a listener, which is notified |
141 |
|
* when the number of MIDI input ports is changed. |
142 |
|
*/ |
143 |
|
class MidiPortCountListener { |
144 |
|
public: |
145 |
|
/** |
146 |
|
* Invoked when the number of MIDI input ports has changed. |
147 |
|
* @param NewCount The new number of MIDI input ports. |
148 |
|
*/ |
149 |
|
virtual void MidiPortCountChanged(int NewCount) = 0; |
150 |
|
|
151 |
|
/** |
152 |
|
* Invoked right before the supplied MIDI input port is going |
153 |
|
* to be destroyed. |
154 |
|
* @param pPort MidiInputPort to be deleted |
155 |
|
*/ |
156 |
|
virtual void MidiPortToBeRemoved(MidiInputPort* pPort) = 0; |
157 |
|
|
158 |
|
/** |
159 |
|
* Invoked to inform that a new MidiInputPort has just been |
160 |
|
* added. |
161 |
|
* @param pPort newly created MidiInputPort |
162 |
|
*/ |
163 |
|
virtual void MidiPortAdded(MidiInputPort* pPort) = 0; |
164 |
}; |
}; |
165 |
|
|
166 |
/** |
/** |
311 |
class EngineChangeListener { |
class EngineChangeListener { |
312 |
public: |
public: |
313 |
/** |
/** |
314 |
|
* Invoked when the engine type of the specified sampler channel |
315 |
|
* is going to be changed soon. |
316 |
|
* @param ChannelId The numerical ID of the sampler channel |
317 |
|
*/ |
318 |
|
virtual void EngineToBeChanged(int ChannelId) = 0; |
319 |
|
|
320 |
|
/** |
321 |
* Invoked when the engine type of the |
* Invoked when the engine type of the |
322 |
* specified sampler channel is changed. |
* specified sampler channel was changed. |
323 |
* @param ChannelId The numerical ID of the sampler |
* @param ChannelId The numerical ID of the sampler |
324 |
* channel, which engine type has been changed. |
* channel, which engine type has been changed. |
325 |
*/ |
*/ |