From 41aa608ad063af0ed0c33dd5f3d1b3d5eb24083b Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Tue, 24 Jun 2014 13:07:22 -0400 Subject: [PATCH 1/3] fix wscript for wavesaudio backend so that it uses the correct name for the CoreM[iI][dD][iI] framework on Lion and other OS X versions. Thanks, Apple. --- libs/backends/wavesaudio/wscript | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/libs/backends/wavesaudio/wscript b/libs/backends/wavesaudio/wscript index 3f3a7080b7..2b3684b0fd 100644 --- a/libs/backends/wavesaudio/wscript +++ b/libs/backends/wavesaudio/wscript @@ -32,8 +32,11 @@ def build(bld): obj = bld(features = 'c cxx cxxshlib') if sys.platform == 'darwin': - obj.framework = 'CoreMidi' - + if bld.env['build_target'] not in [ 'lion' ]: + obj.framework = 'CoreMidi' + else: + obj.framework = 'CoreMIDI' + obj.source = [ 'waves_audiobackend.cc', 'waves_audiobackend.latency.cc', From 7072e3477659fbd36aede53cd3c816bd8e521c33 Mon Sep 17 00:00:00 2001 From: nikolay Date: Wed, 25 Jun 2014 11:35:23 +0300 Subject: [PATCH 2/3] [Summary] In ARDOUR_UI was implemented handler on session config changed [Reviewed] GZharun --- gtk2_ardour/ardour_ui.cc | 14 +++++++++++++- gtk2_ardour/ardour_ui.h | 7 +++++-- gtk2_ardour/ardour_ui_dialogs.cc | 1 + gtk2_ardour/tracks_control_panel.logic.cc | 3 --- 4 files changed, 19 insertions(+), 6 deletions(-) diff --git a/gtk2_ardour/ardour_ui.cc b/gtk2_ardour/ardour_ui.cc index 0314e6445e..4e57fc0c1e 100644 --- a/gtk2_ardour/ardour_ui.cc +++ b/gtk2_ardour/ardour_ui.cc @@ -3125,6 +3125,7 @@ ARDOUR_UI::load_session (const std::string& path, const std::string& snap_name, session_loaded = true; tracks_control_panel->refresh_session_settings_info(); + _session->config.ParameterChanged.connect_same_thread (connection_with_session_config, boost::bind (&ARDOUR_UI::on_parameter_changed, this, _1)); goto_editor_window (); @@ -3200,12 +3201,23 @@ ARDOUR_UI::build_session (const std::string& path, const std::string& snap_name, set_session (new_session); session_loaded = true; - + + _session->config.ParameterChanged.connect_same_thread (connection_with_session_config, boost::bind (&ARDOUR_UI::on_parameter_changed, this, _1)); + new_session->save_state(new_session->name()); return 0; } +void +ARDOUR_UI::on_parameter_changed(std::string param) +{ + if (param == "native-file-data-format" || param == "native-file-header-format") + update_format(); + if ( param == "timecode-format") + update_timecode_format(); +} + void ARDOUR_UI::launch_chat () { diff --git a/gtk2_ardour/ardour_ui.h b/gtk2_ardour/ardour_ui.h index 5166896525..01baa45d7a 100644 --- a/gtk2_ardour/ardour_ui.h +++ b/gtk2_ardour/ardour_ui.h @@ -307,8 +307,6 @@ class ARDOUR_UI : public Gtkmm2ext::UI, public ARDOUR::SessionHandlePtr void set_sample_format(ARDOUR::SampleFormat sf) {_sample_format = sf;} void set_header_format(ARDOUR::HeaderFormat hf) {_header_format = hf;} void set_timecode_format(Timecode::TimecodeFormat tc) {_timecode_format = tc;} - void update_format (); - void update_timecode_format (); protected: friend class PublicEditor; @@ -559,6 +557,9 @@ class ARDOUR_UI : public Gtkmm2ext::UI, public ARDOUR::SessionHandlePtr void update_sample_rate (ARDOUR::framecnt_t); Gtk::Label format_label; + void update_format (); + + void update_timecode_format (); gint every_second (); gint every_point_one_seconds (); @@ -783,6 +784,8 @@ class ARDOUR_UI : public Gtkmm2ext::UI, public ARDOUR::SessionHandlePtr ARDOUR::HeaderFormat _header_format; Timecode::TimecodeFormat _timecode_format; + void on_parameter_changed(std::string); + PBD::ScopedConnection connection_with_session_config; }; #endif /* __ardour_gui_h__ */ diff --git a/gtk2_ardour/ardour_ui_dialogs.cc b/gtk2_ardour/ardour_ui_dialogs.cc index 35dbe3cfc9..d461996128 100644 --- a/gtk2_ardour/ardour_ui_dialogs.cc +++ b/gtk2_ardour/ardour_ui_dialogs.cc @@ -279,6 +279,7 @@ ARDOUR_UI::unload_session (bool hide_stuff) second_connection.disconnect (); point_one_second_connection.disconnect (); point_zero_something_second_connection.disconnect(); + connection_with_session_config.disconnect(); if (editor_meter) { meter_box.remove(*editor_meter); diff --git a/gtk2_ardour/tracks_control_panel.logic.cc b/gtk2_ardour/tracks_control_panel.logic.cc index ec6f484728..c5c70a694e 100644 --- a/gtk2_ardour/tracks_control_panel.logic.cc +++ b/gtk2_ardour/tracks_control_panel.logic.cc @@ -1265,9 +1265,6 @@ void TracksControlPanel::update_session_config () session->config.set_native_file_header_format( string_to_HeaderFormat(_file_type_combo.get_active_text() ) ); session->config.set_native_file_data_format ( string_to_SampleFormat(_bit_depth_combo.get_active_text() ) ); session->config.set_timecode_format( string_to_TimecodeFormat(_frame_rate_combo.get_active_text() ) ); - - ardour_ui->update_format(); - ardour_ui->update_timecode_format(); } } } From f2fa3ea052f83ae0fa6004dc7b24a73ef3ab5d34 Mon Sep 17 00:00:00 2001 From: nikolay Date: Wed, 25 Jun 2014 11:43:23 +0300 Subject: [PATCH 3/3] [Summary] Made session configuration update in editor window consistent [Review] GZharun --- gtk2_ardour/ardour_ui.cc | 7 +++---- gtk2_ardour/ardour_ui_dialogs.cc | 1 + 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/gtk2_ardour/ardour_ui.cc b/gtk2_ardour/ardour_ui.cc index 4e57fc0c1e..70daa60cc7 100644 --- a/gtk2_ardour/ardour_ui.cc +++ b/gtk2_ardour/ardour_ui.cc @@ -3175,6 +3175,8 @@ ARDOUR_UI::build_session (const std::string& path, const std::string& snap_name, return -1; } + _session->config.ParameterChanged.connect_same_thread (connection_with_session_config, boost::bind (&ARDOUR_UI::on_parameter_changed, this, _1)); + new_session->config.set_native_file_header_format(this->_header_format); new_session->config.set_native_file_data_format (this->_sample_format); new_session->config.set_timecode_format(this->_timecode_format); @@ -3199,10 +3201,7 @@ ARDOUR_UI::build_session (const std::string& path, const std::string& snap_name, } set_session (new_session); - - session_loaded = true; - - _session->config.ParameterChanged.connect_same_thread (connection_with_session_config, boost::bind (&ARDOUR_UI::on_parameter_changed, this, _1)); + session_loaded = true; new_session->save_state(new_session->name()); diff --git a/gtk2_ardour/ardour_ui_dialogs.cc b/gtk2_ardour/ardour_ui_dialogs.cc index d461996128..7b9fc16e86 100644 --- a/gtk2_ardour/ardour_ui_dialogs.cc +++ b/gtk2_ardour/ardour_ui_dialogs.cc @@ -189,6 +189,7 @@ ARDOUR_UI::set_session (Session *s) point_zero_something_second_connection = Glib::signal_timeout().connect (sigc::mem_fun(*this, &ARDOUR_UI::every_point_zero_something_seconds), 40); update_format (); + update_timecode_format(); if (meter_box.get_parent()) { transport_tearoff_hbox.remove (meter_box);