diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2007-01-31 18:51:33 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2007-01-31 18:51:33 +0000 |
commit | df1c4dddc39d1cc5132501afb94bbabb9935cc32 (patch) | |
tree | 41ea78314c31f174d0da099c36f76b4c553a2287 /libs | |
parent | 1ab5012af74371379a5a35c3c43ecf05ed91645e (diff) |
remove ardour_message.{cc,h}; JACK latency menu now shows correct settings at startup and changes are handled correctly; export range markers doesn't start with /path/to/export.wav, just /path/to; hopefully improve ruler scrolling a little; fixed up short_path() implementation ; fix for export unsetting JACK freewheel too soon ; use ISO 8061 timestamps for snapshot default names
git-svn-id: svn://localhost/ardour2/trunk@1400 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs')
-rw-r--r-- | libs/ardour/ardour/audioengine.h | 2 | ||||
-rw-r--r-- | libs/ardour/audioengine.cc | 24 |
2 files changed, 24 insertions, 2 deletions
diff --git a/libs/ardour/ardour/audioengine.h b/libs/ardour/ardour/audioengine.h index 83d075a311..71639b3dc3 100644 --- a/libs/ardour/ardour/audioengine.h +++ b/libs/ardour/ardour/audioengine.h @@ -53,6 +53,8 @@ class AudioEngine : public sigc::trackable jack_client_t* jack() const { return _jack; } bool connected() const { return _jack != 0; } + bool is_realtime () const; + std::string client_name() const { return jack_client_name; } int reconnect_to_jack (); diff --git a/libs/ardour/audioengine.cc b/libs/ardour/audioengine.cc index ab08423c31..35a47c927b 100644 --- a/libs/ardour/audioengine.cc +++ b/libs/ardour/audioengine.cc @@ -24,6 +24,7 @@ #include <glibmm/timer.h> #include <pbd/pthread_utils.h> +#include <pbd/stacktrace.h> #include <ardour/audioengine.h> #include <ardour/buffer.h> @@ -292,6 +293,7 @@ AudioEngine::process_callback (nframes_t nframes) if (_freewheeling) { if (Freewheel (nframes)) { + cerr << "Freewheeling returned non-zero!\n"; _freewheeling = false; jack_set_freewheel (_jack, false); } @@ -963,6 +965,10 @@ AudioEngine::freewheel (bool onoff) _freewheel_thread_registered = false; } + if (!onoff) { + stacktrace (cout); + } + return jack_set_freewheel (_jack, onoff); } else { @@ -1184,8 +1190,13 @@ int AudioEngine::request_buffer_size (nframes_t nframes) { if (_jack) { - int ret = jack_set_buffer_size (_jack, nframes); - return ret; + + if (nframes == jack_get_buffer_size (_jack)) { + return 0; + } + + return jack_set_buffer_size (_jack, nframes); + } else { return -1; } @@ -1236,3 +1247,12 @@ AudioEngine::make_port_name_non_relative (string portname) return str; } +bool +AudioEngine::is_realtime () const +{ + if (_jack) { + return jack_is_realtime (_jack); + } else { + return false; + } +} |