| @@ -366,11 +366,11 @@ public: | |||||
| : Thread ("Juce ALSA"), | : Thread ("Juce ALSA"), | ||||
| sampleRate (0), | sampleRate (0), | ||||
| bufferSize (0), | bufferSize (0), | ||||
| callback (0), | |||||
| deviceName (deviceName_), | deviceName (deviceName_), | ||||
| outputDevice (0), | outputDevice (0), | ||||
| inputDevice (0), | inputDevice (0), | ||||
| numCallbacks (0), | numCallbacks (0), | ||||
| callback (0), | |||||
| totalNumInputChannels (0), | totalNumInputChannels (0), | ||||
| totalNumOutputChannels (0) | totalNumOutputChannels (0) | ||||
| { | { | ||||
| @@ -604,6 +604,7 @@ public: | |||||
| Array <int> sampleRates; | Array <int> sampleRates; | ||||
| StringArray channelNamesOut, channelNamesIn; | StringArray channelNamesOut, channelNamesIn; | ||||
| AudioIODeviceCallback* callback; | |||||
| private: | private: | ||||
| //============================================================================== | //============================================================================== | ||||
| @@ -612,7 +613,6 @@ private: | |||||
| ALSADevice* inputDevice; | ALSADevice* inputDevice; | ||||
| int numCallbacks; | int numCallbacks; | ||||
| AudioIODeviceCallback* callback; | |||||
| CriticalSection callbackLock; | CriticalSection callbackLock; | ||||
| float* outputChannelData [maxNumChans]; | float* outputChannelData [maxNumChans]; | ||||
| @@ -791,12 +791,22 @@ public: | |||||
| callback = 0; | callback = 0; | ||||
| internal->setCallback (callback); | internal->setCallback (callback); | ||||
| if (callback != 0) | |||||
| callback->audioDeviceAboutToStart (internal->sampleRate, | |||||
| internal->bufferSize); | |||||
| isStarted = (callback != 0); | isStarted = (callback != 0); | ||||
| } | } | ||||
| void stop() | void stop() | ||||
| { | { | ||||
| AudioIODeviceCallback* const oldCallback = internal->callback; | |||||
| start (0); | start (0); | ||||
| if (oldCallback != 0) | |||||
| oldCallback->audioDeviceStopped(); | |||||
| } | } | ||||
| bool isPlaying() | bool isPlaying() | ||||