Merge branch 'master' of git.ardour.org:ardour/ardour
[ardour.git] / libs / ardour / ardour / audioengine.h
index 73e40e8ab4abe39adbe3291dc31064bd850fc767..165ad6744f341db3d809bc56b22ee6f0744a748c 100644 (file)
@@ -31,7 +31,7 @@
 #include <exception>
 #include <string>
 
-#include <glibmm/thread.h>
+#include <glibmm/threads.h>
 
 #include "pbd/rcu.h"
 #include "pbd/signals.h"
@@ -85,7 +85,7 @@ public:
        int start ();
        bool running() const { return _running; }
 
-       Glib::Mutex& process_lock() { return _process_lock; }
+       Glib::Threads::Mutex& process_lock() { return _process_lock; }
 
        framecnt_t frame_rate () const;
        pframes_t frames_per_cycle () const;
@@ -265,8 +265,8 @@ private:
 
        jack_client_t* volatile   _jack; /* could be reset to null by SIGPIPE or another thread */
        std::string                jack_client_name;
-       Glib::Mutex               _process_lock;
-       Glib::Cond                 session_removed;
+       Glib::Threads::Mutex      _process_lock;
+        Glib::Threads::Cond        session_removed;
        bool                       session_remove_pending;
         frameoffset_t              session_removal_countdown;
         gain_t                     session_removal_gain;
@@ -286,7 +286,7 @@ private:
        bool                      _pre_freewheel_mmc_enabled;
        int                       _usecs_per_cycle;
        bool                       port_remove_in_progress;
-       Glib::Thread*              m_meter_thread;
+        Glib::Threads::Thread*     m_meter_thread;
        ProcessThread*            _main_thread;
 
        SerializedRCUManager<Ports> ports;
@@ -321,6 +321,7 @@ private:
        int  jack_bufsize_callback (pframes_t);
        int  jack_sample_rate_callback (pframes_t);
        void freewheel_callback (int);
+        void connect_callback (jack_port_id_t, jack_port_id_t, int);
 
        void set_jack_callbacks ();
 
@@ -348,6 +349,8 @@ private:
        };
 
        static void* _start_process_thread (void*);
+        void parameter_changed (const std::string&);
+        PBD::ScopedConnection config_connection;
 };
 
 } // namespace ARDOUR