181 |
* AcquireChannels(). Each driver must implement it. |
* AcquireChannels(). Each driver must implement it. |
182 |
*/ |
*/ |
183 |
virtual AudioChannel* CreateChannel(uint ChannelNr) = 0; |
virtual AudioChannel* CreateChannel(uint ChannelNr) = 0; |
184 |
|
|
185 |
|
/** |
186 |
|
* Might be optionally implemented by the deriving driver. If |
187 |
|
* implemented, this method will return the current audio |
188 |
|
* latency in seconds. The driver might measure the actual |
189 |
|
* latency with timing functions to return the real latency. |
190 |
|
* |
191 |
|
* If this method is not implemented / overridden by the |
192 |
|
* descending driver, it will simply return the theoretical |
193 |
|
* latency, that is MaxSamplesPerCycle() / SampleRate(). |
194 |
|
* |
195 |
|
* Currently this method is not used by the sampler itself. |
196 |
|
* It can be used however for GUIs built on top of the sampler |
197 |
|
* for example, to i.e. display the user the currently |
198 |
|
* effective audio latency in real-time. |
199 |
|
*/ |
200 |
|
virtual float latency(); |
201 |
|
|
202 |
|
|
203 |
|
|
223 |
* @param pEngine - sampler engine |
* @param pEngine - sampler engine |
224 |
*/ |
*/ |
225 |
void Disconnect(Engine* pEngine); |
void Disconnect(Engine* pEngine); |
226 |
|
|
227 |
|
/** |
228 |
|
* This method can or should be called by the deriving driver in |
229 |
|
* case some fundamental parameter changed, especially if the |
230 |
|
* values returned by MaxSamplesPerCycle() and SamplerRate() have |
231 |
|
* changed, those are values which the sampler engines assume to be |
232 |
|
* constant for the life time of an audio device ! |
233 |
|
* |
234 |
|
* By forcing a re-connection with this method, the sampler engines |
235 |
|
* are forced to update those informations metntioned above as well, |
236 |
|
* avoiding crashes or other undesired misbehaviors in such |
237 |
|
* circumstances. |
238 |
|
*/ |
239 |
|
void ReconnectAll(); |
240 |
|
|
241 |
/** |
/** |
242 |
* Returns audio channel with index \a ChannelIndex or NULL if |
* Returns audio channel with index \a ChannelIndex or NULL if |