diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2010-04-13 20:48:33 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2010-04-13 20:48:33 +0000 |
commit | 3ea10b38bbb4b471178793f68fbd3a0ee74449f6 (patch) | |
tree | 347a964476f8383aefcdfa94ce548cdfdf15e1d8 /libs/ardour/ardour/audioengine.h | |
parent | 46ea5f5f5885dda6b10b75c104f726f6638c431e (diff) |
substantive change: use the JACK wait API and provide "thread buffers" separately from session in preparation for parallelization. lots of debug output at present. If using JACK1, requires a very current version of JACK1 SVN (0.119.0)
git-svn-id: svn://localhost/ardour2/branches/3.0@6888 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/ardour/audioengine.h')
-rw-r--r-- | libs/ardour/ardour/audioengine.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/libs/ardour/ardour/audioengine.h b/libs/ardour/ardour/audioengine.h index e630e1a95e..63f9afeb2b 100644 --- a/libs/ardour/ardour/audioengine.h +++ b/libs/ardour/ardour/audioengine.h @@ -55,6 +55,7 @@ class InternalPort; class MidiPort; class Port; class Session; +class ProcessThread; class AudioEngine : public SessionHandlePtr { @@ -69,6 +70,8 @@ class AudioEngine : public SessionHandlePtr bool is_realtime () const; + ProcessThread* main_thread() const { return _main_thread; } + std::string client_name() const { return jack_client_name; } int reconnect_to_jack (); @@ -272,6 +275,8 @@ _ the regular process() call to session->process() is not made. 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); void remove_all_ports (); std::string get_nth_physical (DataType type, uint32_t n, int flags); @@ -284,6 +289,7 @@ _ the regular process() call to session->process() is not made. #endif static int _graph_order_callback (void *arg); static int _process_callback (nframes_t nframes, void *arg); + static void* _process_thread (void *arg); static int _sample_rate_callback (nframes_t nframes, void *arg); static int _bufsize_callback (nframes_t nframes, void *arg); static void _jack_timebase_callback (jack_transport_state_t, nframes_t, jack_position_t*, int, void*); @@ -307,6 +313,8 @@ _ the regular process() call to session->process() is not made. Glib::Thread* m_meter_thread; static gint m_meter_exit; + + ProcessThread* _main_thread; }; } // namespace ARDOUR |