diff options
Diffstat (limited to 'libs/ardour/jack_audiobackend.cc')
-rw-r--r-- | libs/ardour/jack_audiobackend.cc | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/libs/ardour/jack_audiobackend.cc b/libs/ardour/jack_audiobackend.cc index 04ee94a80c..420f104077 100644 --- a/libs/ardour/jack_audiobackend.cc +++ b/libs/ardour/jack_audiobackend.cc @@ -58,6 +58,10 @@ JACKAudioBackend::JACKAudioBackend (AudioEngine& e, boost::shared_ptr<JackConnec { } +JACKAudioBackend::~JACKAudioBackend() +{ +} + string JACKAudioBackend::name() const { @@ -825,3 +829,26 @@ JACKAudioBackend::update_latencies () GET_PRIVATE_JACK_POINTER (_priv_jack); jack_recompute_total_latencies (_priv_jack); } + +ChanCount +JACKAudioBackend::n_physical (unsigned long flags) const +{ + ChanCount c; + + GET_PRIVATE_JACK_POINTER_RET (_priv_jack, c); + + const char ** ports = jack_get_ports (_priv_jack, NULL, NULL, JackPortIsPhysical | flags); + + if (ports) { + for (uint32_t i = 0; ports[i]; ++i) { + if (!strstr (ports[i], "Midi-Through")) { + DataType t (jack_port_type (jack_port_by_name (_priv_jack, ports[i]))); + c.set (t, c.get (t) + 1); + } + } + + jack_free (ports); + } + + return c; +} |