a-fluidsynth: implement LV2_BANKPATCH__notify
[ardour.git] / gtk2_ardour / ardour_ui_options.cc
index 1c475df2052e03fce31b3206a33ad52fbcb6d6b8..14a8695c8b585cac267e504e404406332f9d669a 100644 (file)
 #include "pbd/stacktrace.h"
 #include "pbd/unwind.h"
 
-#include <gtkmm2ext/utils.h>
-
 #include "ardour/rc_configuration.h"
 #include "ardour/session.h"
 
-#include "canvas/wave_view.h"
+#include "gtkmm2ext/utils.h"
+#include "waveview/wave_view.h"
 
 #include "audio_clock.h"
 #include "ardour_ui.h"
@@ -45,6 +44,7 @@ using namespace Gtk;
 using namespace Gtkmm2ext;
 using namespace ARDOUR;
 using namespace PBD;
+using namespace ArdourWidgets;
 
 void
 ARDOUR_UI::toggle_external_sync()
@@ -353,7 +353,6 @@ ARDOUR_UI::parameter_changed (std::string p)
 
                if (!_session->config.get_external_sync()) {
                        sync_button.set_text (S_("SyncSource|Int."));
-                       auto_loop_button.set_sensitive (true);
                        ActionManager::get_action ("Transport", "ToggleAutoPlay")->set_sensitive (true);
                        ActionManager::get_action ("Transport", "ToggleAutoReturn")->set_sensitive (true);
                        ActionManager::get_action ("Transport", "ToggleFollowEdits")->set_sensitive (true);
@@ -365,12 +364,12 @@ ARDOUR_UI::parameter_changed (std::string p)
                                // but makes it clear to the user that it's disabled.
                                _session->request_play_loop (false, false);
                        }
-                       auto_loop_button.set_sensitive (false);
                        /* XXX we need to make sure that auto-play is off as well as insensitive */
                        ActionManager::get_action ("Transport", "ToggleAutoPlay")->set_sensitive (false);
                        ActionManager::get_action ("Transport", "ToggleAutoReturn")->set_sensitive (false);
                        ActionManager::get_action ("Transport", "ToggleFollowEdits")->set_sensitive (false);
                }
+               set_loop_sensitivity ();
 
        } else if (p == "follow-edits") {
 
@@ -427,6 +426,13 @@ ARDOUR_UI::parameter_changed (std::string p)
                }
        } else if (p == "clicking") {
                ActionManager::map_some_state ("Transport", "ToggleClick", &RCConfiguration::get_clicking);
+       } else if (p == "click-record-only") {
+               // TODO set a flag, blink or gray-out metronome button while rolling, only
+               if (Config->get_click_record_only()) {
+                       click_button.set_name ("generic button"); // XXX
+               } else {
+                       click_button.set_name ("transport button");
+               }
        } else if (p == "use-video-sync") {
                ActionManager::map_some_state ("Transport",  "ToggleVideoSync", sigc::mem_fun (_session->config, &SessionConfiguration::get_use_video_sync));
        } else if (p == "sync-source") {
@@ -469,7 +475,7 @@ ARDOUR_UI::parameter_changed (std::string p)
                        Gtkmm2ext::disable_tooltips ();
                }
        } else if (p == "waveform-gradient-depth") {
-               ArdourCanvas::WaveView::set_global_gradient_depth (UIConfiguration::instance().get_waveform_gradient_depth());
+               ArdourWaveView::WaveView::set_global_gradient_depth (UIConfiguration::instance().get_waveform_gradient_depth());
        } else if (p == "show-mini-timeline") {
                repack_transport_hbox ();
        } else if (p == "show-toolbar-recpunch") {
@@ -483,17 +489,17 @@ ARDOUR_UI::parameter_changed (std::string p)
        } else if (p == "show-secondary-clock") {
                update_clock_visibility ();
        } else if (p == "waveform-scale") {
-               ArdourCanvas::WaveView::set_global_logscaled (UIConfiguration::instance().get_waveform_scale() == Logarithmic);
+               ArdourWaveView::WaveView::set_global_logscaled (UIConfiguration::instance().get_waveform_scale() == Logarithmic);
        } else if (p == "widget-prelight") {
                CairoWidget::set_widget_prelight (UIConfiguration::instance().get_widget_prelight());
        } else if (p == "waveform-shape") {
-               ArdourCanvas::WaveView::set_global_shape (UIConfiguration::instance().get_waveform_shape() == Rectified
-                               ? ArdourCanvas::WaveView::Rectified : ArdourCanvas::WaveView::Normal);
+               ArdourWaveView::WaveView::set_global_shape (UIConfiguration::instance().get_waveform_shape() == Rectified
+                               ? ArdourWaveView::WaveView::Rectified : ArdourWaveView::WaveView::Normal);
        } else if (p == "show-waveform-clipping") {
-               ArdourCanvas::WaveView::set_global_show_waveform_clipping (UIConfiguration::instance().get_show_waveform_clipping());
+               ArdourWaveView::WaveView::set_global_show_waveform_clipping (UIConfiguration::instance().get_show_waveform_clipping());
        } else if (p == "waveform-cache-size") {
                /* GUI option has units of megabytes; image cache uses units of bytes */
-               ArdourCanvas::WaveView::set_image_cache_size (UIConfiguration::instance().get_waveform_cache_size() * 1048576);
+               ArdourWaveView::WaveView::set_image_cache_size (UIConfiguration::instance().get_waveform_cache_size() * 1048576);
        } else if (p == "use-wm-visibility") {
                VisibilityTracker::set_use_window_manager_visibility (UIConfiguration::instance().get_use_wm_visibility());
        } else if (p == "action-table-columns") {
@@ -509,9 +515,9 @@ ARDOUR_UI::parameter_changed (std::string p)
        } else if (p == "layered-record-mode") {
                layered_button.set_active (_session->config.get_layered_record_mode ());
        } else if (p == "show-waveform-clipping") {
-               ArdourCanvas::WaveView::set_global_show_waveform_clipping (UIConfiguration::instance().get_show_waveform_clipping());
+               ArdourWaveView::WaveView::set_global_show_waveform_clipping (UIConfiguration::instance().get_show_waveform_clipping());
        } else if (p == "waveform-gradient-depth") {
-               ArdourCanvas::WaveView::set_global_gradient_depth (UIConfiguration::instance().get_waveform_gradient_depth());
+               ArdourWaveView::WaveView::set_global_gradient_depth (UIConfiguration::instance().get_waveform_gradient_depth());
        } else if (p == "flat-buttons") {
                bool flat = UIConfiguration::instance().get_flat_buttons();
                if (ArdourButton::flat_buttons () != flat) {