47 |
public: |
public: |
48 |
|
|
49 |
///////////////////////////////////////////////////////////////// |
///////////////////////////////////////////////////////////////// |
50 |
|
// type definitions |
51 |
|
|
52 |
|
/** |
53 |
|
* List of all currently implemented audio output drivers. |
54 |
|
*/ |
55 |
|
enum type_t { |
56 |
|
type_alsa, |
57 |
|
type_jack |
58 |
|
}; |
59 |
|
|
60 |
|
|
61 |
|
|
62 |
|
///////////////////////////////////////////////////////////////// |
63 |
// abstract methods |
// abstract methods |
64 |
// (these have to be implemented by the descendant) |
// (these have to be implemented by the descendant) |
65 |
|
|
163 |
*/ |
*/ |
164 |
AudioChannel* Channel(uint ChannelIndex); |
AudioChannel* Channel(uint ChannelIndex); |
165 |
|
|
166 |
|
/** |
167 |
|
* Returns the ID that identifies the implementing audio output |
168 |
|
* driver. |
169 |
|
*/ |
170 |
|
type_t Type(); |
171 |
|
|
172 |
protected: |
protected: |
173 |
std::set<Engine*> Engines; ///< All sampler engines that are connected to the audio output device. |
std::set<Engine*> Engines; ///< All sampler engines that are connected to the audio output device. |
174 |
std::vector<AudioChannel*> Channels; ///< All audio channels of the audio output device. This is just a container; the descendant has to create channels by himself. |
std::vector<AudioChannel*> Channels; ///< All audio channels of the audio output device. This is just a container; the descendant has to create channels by himself. |
175 |
|
type_t AudioOutputType; |
176 |
|
|
177 |
|
/** |
178 |
|
* Constructor. Has to be called by the implementing audio |
179 |
|
* output driver to define the ID of the driver. When a new |
180 |
|
* audio output driver is implemented, the |
181 |
|
* AudioOutputDevice::type_t enumeration has to be extended with |
182 |
|
* a new ID for the new audio output driver. |
183 |
|
*/ |
184 |
|
AudioOutputDevice(type_t Type); |
185 |
|
|
186 |
/** |
/** |
187 |
* This method should be called by the AudioOutputDevice |
* This method should be called by the AudioOutputDevice |