rather hacky fix for the change of the SyncSource > JACK enum to SyncSource > Engine
[ardour.git] / libs / ardour / ardour / graph.h
index 14ef35385340e60181f8637040f66e5bcb357ce7..08af6fb72107f48ee448da1514be7586b8fcfd23 100644 (file)
@@ -28,7 +28,7 @@
 
 #include <boost/shared_ptr.hpp>
 
-#include <glib/gatomic.h>
+#include <glib.h>
 #include <cassert>
 
 #include <pthread.h>
@@ -36,6 +36,7 @@
 #include "pbd/semutils.h"
 
 #include "ardour/types.h"
+#include "ardour/audio_backend.h"
 #include "ardour/session_handle.h"
 
 namespace ARDOUR
@@ -46,6 +47,7 @@ class Graph;
 
 class Route;
 class Session;
+class GraphEdges;      
 
 typedef boost::shared_ptr<GraphNode> node_ptr_t;
 
@@ -61,7 +63,7 @@ public:
 
        void prep();
        void trigger (GraphNode * n);
-       void rechain (boost::shared_ptr<RouteList> r);
+       void rechain (boost::shared_ptr<RouteList>, GraphEdges const &);
 
        void dump (int chain);
        void process();
@@ -91,11 +93,9 @@ protected:
        virtual void session_going_away ();
 
 private:
-       std::list<pthread_t> _thread_list;
+       std::list<AudioBackendNativeThread> _thread_list;
        volatile bool        _quit_threads;
-       PBD::ScopedConnection processor_usage_connection;
 
-       void parameter_changed (std::string);
        void reset_thread_list ();
        void drop_threads ();
 
@@ -123,8 +123,8 @@ private:
        bool _graph_empty;
 
        // chain swapping
-       Glib::Mutex  _swap_mutex;
-       Glib::Cond   _cleanup_cond;
+       Glib::Threads::Mutex  _swap_mutex;
+        Glib::Threads::Cond   _cleanup_cond;
        volatile int _current_chain;
        volatile int _pending_chain;
        volatile int _setup_chain;