Browse Source

More JACK fixing.

tags/2021-05-28
jules 13 years ago
parent
commit
33d70d2b20
1 changed files with 9 additions and 4 deletions
  1. +9
    -4
      modules/juce_audio_devices/native/juce_linux_JackAudio.cpp

+ 9
- 4
modules/juce_audio_devices/native/juce_linux_JackAudio.cpp View File

@@ -116,8 +116,6 @@ static const char** getJackPorts (jack_client_t* const client, const bool forInp
class JackAudioIODeviceType; class JackAudioIODeviceType;
static Array<JackAudioIODeviceType*> activeDeviceTypes; static Array<JackAudioIODeviceType*> activeDeviceTypes;
static void portConnectCallback (jack_port_id_t, jack_port_id_t, int, void*);
//============================================================================== //==============================================================================
class JackAudioIODevice : public AudioIODevice class JackAudioIODevice : public AudioIODevice
{ {
@@ -273,7 +271,6 @@ public:
} }
updateActivePorts(); updateActivePorts();
return lastError; return lastError;
} }
@@ -426,6 +423,8 @@ private:
jack_Log ("JackAudioIODevice::errorCallback " + String (msg)); jack_Log ("JackAudioIODevice::errorCallback " + String (msg));
} }
static void portConnectCallback (jack_port_id_t, jack_port_id_t, int, void*);
bool isOpen_; bool isOpen_;
jack_client_t* client; jack_client_t* client;
String lastError; String lastError;
@@ -448,6 +447,12 @@ public:
: AudioIODeviceType ("JACK"), : AudioIODeviceType ("JACK"),
hasScanned (false) hasScanned (false)
{ {
activeDeviceTypes.add (this);
}
~JackAudioIODeviceType()
{
activeDeviceTypes.removeFirstOccurrenceOf (this);
} }
void scanForDevices() void scanForDevices()
@@ -566,7 +571,7 @@ private:
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (JackAudioIODeviceType); JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (JackAudioIODeviceType);
}; };
static void portConnectCallback (jack_port_id_t, jack_port_id_t, int, void*)
void JackAudioIODevice::portConnectCallback (jack_port_id_t, jack_port_id_t, int, void*)
{ {
for (int i = activeDeviceTypes.size(); --i >= 0;) for (int i = activeDeviceTypes.size(); --i >= 0;)
if (JackAudioIODeviceType* d = activeDeviceTypes[i]) if (JackAudioIODeviceType* d = activeDeviceTypes[i])


Loading…
Cancel
Save