diff options
-rw-r--r-- | src/JackDriver.cpp | 2 | ||||
-rw-r--r-- | src/Patchage.cpp | 26 | ||||
-rw-r--r-- | src/Patchage.hpp | 1 |
3 files changed, 20 insertions, 9 deletions
diff --git a/src/JackDriver.cpp b/src/JackDriver.cpp index d7f1c20..03284d9 100644 --- a/src/JackDriver.cpp +++ b/src/JackDriver.cpp @@ -158,6 +158,8 @@ JackDriver::create_port(boost::shared_ptr<PatchageModule> parent, jack_port_t* p return boost::shared_ptr<PatchagePort>(); } + //cerr << "Port " << jack_port_name(port) << " type: " << type_str << " = " << (int)port_type << endl; + boost::shared_ptr<PatchagePort> ret( new PatchagePort(parent, port_type, jack_port_short_name(port), (jack_port_flags(port) & JackPortIsInput), diff --git a/src/Patchage.cpp b/src/Patchage.cpp index 7fc4508..4c7959b 100644 --- a/src/Patchage.cpp +++ b/src/Patchage.cpp @@ -85,7 +85,8 @@ Patchage::Patchage(int argc, char** argv) #endif _jack_driver(NULL), _state_manager(NULL), - _refresh(false) + _refresh(false), + _enable_refresh(true) { _settings_filename = getenv("HOME"); _settings_filename += "/.patchagerc"; @@ -273,6 +274,8 @@ Patchage::~Patchage() void Patchage::attach() { + _enable_refresh = false; + _jack_driver->attach(true); #ifdef HAVE_LASH @@ -282,6 +285,8 @@ Patchage::attach() _alsa_driver->attach(); #endif + _enable_refresh = true; + refresh(); update_toolbar(); @@ -345,7 +350,7 @@ Patchage::update_toolbar() //_jack_connect_toggle->set_active(_jack_driver->is_attached()); //_jack_realtime_check->set_active(_jack_driver->is_realtime()); - if (_jack_driver->is_attached()) { + if (_enable_refresh && _jack_driver->is_attached()) { _buffer_size_combo->set_active((int)log2f(_jack_driver->buffer_size()) - 5); /*switch ((int)m_jack_driver->sample_rate()) { @@ -691,16 +696,19 @@ void Patchage::refresh() { assert(_canvas); - - _canvas->destroy(); - - if (_jack_driver) - _jack_driver->refresh(); + + if (_enable_refresh) { + + _canvas->destroy(); + + if (_jack_driver) + _jack_driver->refresh(); #ifdef HAVE_ALSA - if (_alsa_driver) - _alsa_driver->refresh(); + if (_alsa_driver) + _alsa_driver->refresh(); #endif + } } diff --git a/src/Patchage.hpp b/src/Patchage.hpp index b1eb444..2117753 100644 --- a/src/Patchage.hpp +++ b/src/Patchage.hpp @@ -130,6 +130,7 @@ protected: string _settings_filename; bool _refresh; + bool _enable_refresh; Gtk::Window* _main_window; JackSettingsDialog* _jack_settings_dialog; |