Refactor LTC File decoder, prepare for Lua bindings
[ardour.git] / libs / ardour / ardour / graph.h
index 7a2ac9455a632908559805354e15537131e8b4c5..e6eae0750d7e7bce34e7c9eea530841f3fda4d39 100644 (file)
@@ -45,7 +45,7 @@ class Graph;
 
 class Route;
 class Session;
-class GraphEdges;      
+class GraphEdges;
 
 typedef boost::shared_ptr<GraphNode> node_ptr_t;
 
@@ -57,27 +57,17 @@ class LIBARDOUR_API Graph : public SessionHandleRef
 public:
        Graph (Session & session);
 
-       void prep();
        void trigger (GraphNode * n);
        void rechain (boost::shared_ptr<RouteList>, GraphEdges const &);
 
        void dump (int chain);
-       void process();
        void dec_ref();
-       void restart_cycle();
 
-       bool run_one();
        void helper_thread();
-       void main_thread();
-
-       int silent_process_routes (pframes_t nframes, framepos_t start_frame, framepos_t end_frame,
-                                  bool& need_butler);
 
-       int process_routes (pframes_t nframes, framepos_t start_frame, framepos_t end_frame, int declick,
-                           bool& need_butler);
+       int process_routes (pframes_t nframes, samplepos_t start_sample, samplepos_t end_sample, bool& need_butler);
 
-       int routes_no_roll (pframes_t nframes, framepos_t start_frame, framepos_t end_frame,
-                           bool non_rt_pending, int declick);
+       int routes_no_roll (pframes_t nframes, samplepos_t start_sample, samplepos_t end_sample, bool non_rt_pending );
 
        void process_one_route (Route * route);
 
@@ -93,6 +83,10 @@ private:
 
        void reset_thread_list ();
        void drop_threads ();
+       void restart_cycle();
+       bool run_one();
+       void main_thread();
+       void prep();
 
        node_list_t _nodes_rt[2];
 
@@ -101,12 +95,11 @@ private:
        std::vector<GraphNode *> _trigger_queue;
        pthread_mutex_t          _trigger_mutex;
 
-       PBD::ProcessSemaphore _execution_sem;
+       PBD::Semaphore _execution_sem;
 
        /** Signalled to start a run of the graph for a process callback */
-       PBD::ProcessSemaphore _callback_start_sem;
-       PBD::ProcessSemaphore _callback_done_sem;
-       PBD::ProcessSemaphore _cleanup_sem;
+       PBD::Semaphore _callback_start_sem;
+       PBD::Semaphore _callback_done_sem;
 
        /** The number of processing threads that are asleep */
        volatile gint _execution_tokens;
@@ -126,13 +119,11 @@ private:
 
        // parameter caches.
        pframes_t  _process_nframes;
-       framepos_t _process_start_frame;
-       framepos_t _process_end_frame;
+       samplepos_t _process_start_sample;
+       samplepos_t _process_end_sample;
        bool       _process_can_record;
        bool       _process_non_rt_pending;
-       int        _process_declick;
 
-       bool _process_silent;
        bool _process_noroll;
        int  _process_retval;
        bool _process_need_butler;