diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2020-04-07 10:18:16 -0600 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2020-04-07 13:23:49 -0600 |
commit | b9cb306e8b9a330ec5211ccdfde6b90f17701099 (patch) | |
tree | 4e3e2d90fe9d0747a06e08c8bfd099fc275c07b4 /libs/backends/jack/jack_audiobackend.h | |
parent | 1eb98316a3467c94842f6b6ba21eaf4470760880 (diff) |
use shared_ptr to manage backend port lifetimes (Pulse,ALSA,Dummy,JACK)
JACK is not yet finished.
Changes also include minor reformatting and a spelling correction (latecies to latencies)
Diffstat (limited to 'libs/backends/jack/jack_audiobackend.h')
-rw-r--r-- | libs/backends/jack/jack_audiobackend.h | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/libs/backends/jack/jack_audiobackend.h b/libs/backends/jack/jack_audiobackend.h index 2e6498a012..11c41f4c46 100644 --- a/libs/backends/jack/jack_audiobackend.h +++ b/libs/backends/jack/jack_audiobackend.h @@ -39,6 +39,16 @@ namespace ARDOUR { class JackConnection; class JACKSession; +class JackPort : public ProtoPort +{ + public: + JackPort (jack_port_t* p) : jack_ptr (p) {} + + private: + friend class JACKAudioBackend; + jack_port_t* jack_ptr; +}; + class JACKAudioBackend : public AudioBackend { public: JACKAudioBackend (AudioEngine& e, AudioBackendInfo& info, boost::shared_ptr<JackConnection>); @@ -133,7 +143,7 @@ class JACKAudioBackend : public AudioBackend { int set_port_name (PortHandle, const std::string&); std::string get_port_name (PortHandle) const; PortFlags get_port_flags (PortHandle) const; - PortHandle get_port_by_name (const std::string&) const; + PortPtr get_port_by_name (const std::string&) const; int get_port_property (PortHandle, const std::string& key, std::string& value, std::string& type) const; int set_port_property (PortHandle, const std::string& key, const std::string& value, const std::string& type); @@ -141,7 +151,7 @@ class JACKAudioBackend : public AudioBackend { DataType port_data_type (PortHandle) const; - PortHandle register_port (const std::string& shortname, ARDOUR::DataType, ARDOUR::PortFlags); + PortPtr register_port (const std::string& shortname, ARDOUR::DataType, ARDOUR::PortFlags); void unregister_port (PortHandle); bool connected (PortHandle, bool process_callback_safe); @@ -310,4 +320,3 @@ class JACKAudioBackend : public AudioBackend { } // namespace #endif /* __ardour_audiobackend_h__ */ - |