::find_next_event() does not need to be a pure virtual in ControlSet (it can originat...
[ardour.git] / gtk2_ardour / rc_option_editor.cc
index 1d0bbc134d5dd992f920b947c4b112051c5f512b..787cfcd07d20daa4257b5a0e18e846cb419bef9d 100644 (file)
 #include <gtkmm/stock.h>
 #include <gtkmm/scale.h>
 
-#include <gtkmm2ext/utils.h>
-#include <gtkmm2ext/slider_controller.h>
-#include <gtkmm2ext/gtk_ui.h>
-#include <gtkmm2ext/paths_dialog.h>
-#include <gtkmm2ext/window_title.h>
+#include "gtkmm2ext/utils.h"
+#include "gtkmm2ext/gtk_ui.h"
+#include "gtkmm2ext/window_title.h"
 
 #include "pbd/fpu.h"
 #include "pbd/cpus.h"
 #include "ardour/plugin_manager.h"
 #include "control_protocol/control_protocol.h"
 
-#include "canvas/wave_view.h"
+#include "waveview/wave_view.h"
+
+#include "widgets/paths_dialog.h"
+#include "widgets/tooltips.h"
 
 #include "ardour_dialog.h"
 #include "ardour_ui.h"
@@ -65,7 +66,6 @@
 #include "midi_tracer.h"
 #include "rc_option_editor.h"
 #include "sfdb_ui.h"
-#include "tooltips.h"
 #include "ui_config.h"
 #include "utils.h"
 
@@ -75,6 +75,7 @@ using namespace Gtkmm2ext;
 using namespace PBD;
 using namespace ARDOUR;
 using namespace ARDOUR_UI_UTILS;
+using namespace ArdourWidgets;
 
 class ClickOptions : public OptionEditorMiniPage
 {
@@ -1197,7 +1198,7 @@ private:
        {
                UIConfiguration::instance().set_waveform_clip_level (_clip_level_adjustment.get_value());
                /* XXX: should be triggered from the parameter changed signal */
-               ArdourCanvas::WaveView::set_clip_level (_clip_level_adjustment.get_value());
+               ArdourWaveView::WaveView::set_clip_level (_clip_level_adjustment.get_value());
        }
 
        Adjustment _clip_level_adjustment;
@@ -2331,6 +2332,33 @@ RCOptionEditor::RCOptionEditor ()
                     sigc::mem_fun (UIConfiguration::instance(), &UIConfiguration::set_draggable_playhead)
                     ));
 
+       ComboOption<float>* dps = new ComboOption<float> (
+                    "draggable-playhead-speed",
+                    _("Playhead dragging speed (%)"),
+                    sigc::mem_fun (UIConfiguration::instance(), &UIConfiguration::get_draggable_playhead_speed),
+                    sigc::mem_fun (UIConfiguration::instance(), &UIConfiguration::set_draggable_playhead_speed)
+                    );
+       dps->add (0.05, _("5%"));
+       dps->add (0.1, _("10%"));
+       dps->add (0.25, _("25%"));
+       dps->add (0.5, _("50%"));
+       dps->add (1.0, _("100%"));
+       add_option (_("Editor"), dps);
+
+       ComboOption<float>* eet = new ComboOption<float> (
+                    "extra-ui-extents-time",
+                    _("Limit zooming & summary view to X minutes beyond session extents"),
+                    sigc::mem_fun (UIConfiguration::instance(), &UIConfiguration::get_extra_ui_extents_time),
+                    sigc::mem_fun (UIConfiguration::instance(), &UIConfiguration::set_extra_ui_extents_time)
+                    );
+       eet->add (1, _("1 minute"));
+       eet->add (2, _("2 minutes"));
+       eet->add (20, _("20 minutes"));
+       eet->add (60, _("1 hour"));
+       eet->add (60*2, _("2 hours"));
+       eet->add (60*24, _("24 hours"));
+       add_option (_("Editor"), eet);
+
        if (!Profile->get_mixbus()) {
 
                add_option (_("Editor"),
@@ -3995,7 +4023,7 @@ void RCOptionEditor::clear_au_blacklist () {
 
 void RCOptionEditor::edit_lxvst_path () {
        Glib::RefPtr<Gdk::Window> win = get_parent_window ();
-       Gtkmm2ext::PathsDialog *pd = new Gtkmm2ext::PathsDialog (
+       PathsDialog *pd = new PathsDialog (
                *current_toplevel(), _("Set Linux VST Search Path"),
                _rc_config->get_plugin_path_lxvst(),
                PluginManager::instance().get_default_lxvst_path()
@@ -4017,7 +4045,7 @@ void RCOptionEditor::edit_lxvst_path () {
 }
 
 void RCOptionEditor::edit_vst_path () {
-       Gtkmm2ext::PathsDialog *pd = new Gtkmm2ext::PathsDialog (
+       PathsDialog *pd = new PathsDialog (
                *current_toplevel(), _("Set Windows VST Search Path"),
                _rc_config->get_plugin_path_vst(),
                PluginManager::instance().get_default_windows_vst_path()