diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2010-04-02 18:54:33 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2010-04-02 18:54:33 +0000 |
commit | 7ed95f7c37c17d9d13fa1126d5117a17f1906637 (patch) | |
tree | fb8d7ae8f8c64a6cafdcba37a19599e35c19ee36 /libs/ardour/ardour/audioengine.h | |
parent | 7e590cf96cc8090368158c3892e13ab627e87dea (diff) |
(FULL) not-yet-complete JACK session management patch (TODO: get program name, vary snapshot name, arrange quit when necessary)
git-svn-id: svn://localhost/ardour2/branches/3.0@6841 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/ardour/audioengine.h')
-rw-r--r-- | libs/ardour/ardour/audioengine.h | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/libs/ardour/ardour/audioengine.h b/libs/ardour/ardour/audioengine.h index e3fcb58fa1..d9f6fa4662 100644 --- a/libs/ardour/ardour/audioengine.h +++ b/libs/ardour/ardour/audioengine.h @@ -40,6 +40,10 @@ #include "ardour/session_handle.h" #include "ardour/types.h" +#ifdef HAVE_JACK_SESSION +#include <jack/session.h> +#endif + namespace ARDOUR { class InternalPort; @@ -52,7 +56,7 @@ class AudioEngine : public SessionHandlePtr public: typedef std::set<Port*> Ports; - AudioEngine (std::string client_name); + AudioEngine (std::string client_name, std::string session_uuid); virtual ~AudioEngine (); jack_client_t* jack() const; @@ -201,6 +205,11 @@ _ the regular process() call to session->process() is not made. PBD::Signal0<void> GraphReordered; +#ifdef HAVE_JACK_SESSION + PBD::Signal1<void,jack_session_event_t *> JackSessionEvent; +#endif + + /* this signal is emitted if the sample rate changes */ PBD::Signal1<void,nframes_t> SampleRateChanged; @@ -263,6 +272,9 @@ _ the regular process() call to session->process() is not made. void port_registration_failure (const std::string& portname); static int _xrun_callback (void *arg); +#ifdef HAVE_JACK_SESSION + static void _session_callback (jack_session_event_t *event, void *arg); +#endif static int _graph_order_callback (void *arg); static int _process_callback (nframes_t nframes, void *arg); static int _sample_rate_callback (nframes_t nframes, void *arg); @@ -277,7 +289,7 @@ _ the regular process() call to session->process() is not made. int jack_bufsize_callback (nframes_t); int jack_sample_rate_callback (nframes_t); - int connect_to_jack (std::string client_name); + int connect_to_jack (std::string client_name, std::string session_uuid); static void halted (void *); |