summaryrefslogtreecommitdiff
path: root/libs/backends/jack/jack_audiobackend.h
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2020-04-07 10:18:16 -0600
committerPaul Davis <paul@linuxaudiosystems.com>2020-04-07 13:23:49 -0600
commitb9cb306e8b9a330ec5211ccdfde6b90f17701099 (patch)
tree4e3e2d90fe9d0747a06e08c8bfd099fc275c07b4 /libs/backends/jack/jack_audiobackend.h
parent1eb98316a3467c94842f6b6ba21eaf4470760880 (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.h15
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__ */
-