+ private:
+ static AudioEngine* _instance;
+
+ 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;
+ bool session_remove_pending;
+ bool _running;
+ bool _has_run;
+ mutable nframes_t _buffer_size;
+ std::map<DataType,size_t> _raw_buffer_sizes;
+ mutable nframes_t _frame_rate;
+ /// number of frames between each check for changes in monitor input
+ nframes_t monitor_check_interval;
+ /// time of the last monitor check in frames
+ nframes_t last_monitor_check;
+ /// the number of frames processed since start() was called
+ nframes_t _processed_frames;
+ bool _freewheeling;
+ bool _freewheel_pending;
+ boost::function<int(nframes_t)> freewheel_action;
+ bool reconnect_on_halt;
+ int _usecs_per_cycle;
+
+ SerializedRCUManager<Ports> ports;
+
+ Port *register_port (DataType type, const std::string& portname, bool input);
+
+ int process_callback (nframes_t nframes);
+ void* process_thread ();
+ void finish_process_cycle (int status);