X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fardour%2Fardour%2Faudioengine.h;h=9e9da62ce09afa92f7ec56368f0d62a1fdf47977;hb=b5239317d4657ad689ef7ef4d11c1fb6ae3e699b;hp=db1f59d19fa163381d4380d60ac27695aedba0e3;hpb=fbfa0acebe01e85629c415bec849ca36324c56b1;p=ardour.git diff --git a/libs/ardour/ardour/audioengine.h b/libs/ardour/ardour/audioengine.h index db1f59d19f..9e9da62ce0 100644 --- a/libs/ardour/ardour/audioengine.h +++ b/libs/ardour/ardour/audioengine.h @@ -61,6 +61,7 @@ class Port; class Session; class ProcessThread; class AudioBackend; +class AudioBackendInfo; class AudioEngine : public SessionHandlePtr, public PortManager { @@ -164,16 +165,6 @@ public: PBD::Signal0 Running; PBD::Signal0 Stopped; - /** Emitted if a Port is registered or unregistered */ - PBD::Signal0 PortRegisteredOrUnregistered; - - /** Emitted if a Port is connected or disconnected. - * The Port parameters are the ports being connected / disconnected, or 0 if they are not known to Ardour. - * The std::string parameters are the (long) port names. - * The bool parameter is true if ports were connected, or false for disconnected. - */ - PBD::Signal5, std::string, boost::weak_ptr, std::string, bool> PortConnectedOrDisconnected; - std::string make_port_name_relative (std::string) const; std::string make_port_name_non_relative (std::string) const; bool port_is_mine (const std::string&) const; @@ -202,7 +193,8 @@ public: static AudioEngine* _instance; - AudioBackend* _backend; + boost::shared_ptr _backend; + Glib::Threads::Mutex _process_lock; Glib::Threads::Cond session_removed; bool session_remove_pending; @@ -239,9 +231,9 @@ public: void parameter_changed (const std::string&); PBD::ScopedConnection config_connection; - typedef std::map BackendMap; + typedef std::map BackendMap; BackendMap _backends; - AudioBackend* backend_discover (const std::string&); + AudioBackendInfo* backend_discover (const std::string&); void drop_backend (); };