summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2011-11-18 17:06:11 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2011-11-18 17:06:11 +0000
commit8b5d64ce9fd5cbb0c2af195461232651974e1e90 (patch)
tree3d14a844a355228d32d4c91afbcc74fe4bff3b69
parent0cb55266b8afc01b19db4c0f177010fbbc81d2c4 (diff)
fix transition in and out of delta clock mode
git-svn-id: svn://localhost/ardour2/branches/3.0@10679 d708f5d6-7413-0410-9779-e7cbd77b26cf
-rw-r--r--gtk2_ardour/ardour_ui_options.cc20
-rw-r--r--gtk2_ardour/audio_clock.cc6
-rw-r--r--gtk2_ardour/audio_clock.h2
3 files changed, 26 insertions, 2 deletions
diff --git a/gtk2_ardour/ardour_ui_options.cc b/gtk2_ardour/ardour_ui_options.cc
index 94bcafbc16..7fab6e5691 100644
--- a/gtk2_ardour/ardour_ui_options.cc
+++ b/gtk2_ardour/ardour_ui_options.cc
@@ -373,9 +373,25 @@ ARDOUR_UI::parameter_changed (std::string p)
} else if (p == "show-track-meters") {
editor->toggle_meter_updating();
} else if (p == "primary-clock-delta-edit-cursor") {
- primary_clock->set_is_duration (Config->get_primary_clock_delta_edit_cursor());
+ if (Config->get_primary_clock_delta_edit_cursor()) {
+ primary_clock->set_is_duration (true);
+ primary_clock->set_editable (false);
+ primary_clock->set_widget_name ("transport delta");
+ } else {
+ primary_clock->set_is_duration (false);
+ primary_clock->set_editable (true);
+ primary_clock->set_widget_name ("transport");
+ }
} else if (p == "secondary-clock-delta-edit-cursor") {
- secondary_clock->set_is_duration (Config->get_secondary_clock_delta_edit_cursor());
+ if (Config->get_secondary_clock_delta_edit_cursor()) {
+ secondary_clock->set_is_duration (true);
+ secondary_clock->set_editable (false);
+ secondary_clock->set_widget_name ("secondary delta");
+ } else {
+ secondary_clock->set_is_duration (false);
+ secondary_clock->set_editable (true);
+ secondary_clock->set_widget_name ("secondary");
+ }
}
}
diff --git a/gtk2_ardour/audio_clock.cc b/gtk2_ardour/audio_clock.cc
index 0a4ade4ad5..166a76efce 100644
--- a/gtk2_ardour/audio_clock.cc
+++ b/gtk2_ardour/audio_clock.cc
@@ -1655,6 +1655,12 @@ AudioClock::on_style_changed (const Glib::RefPtr<Gtk::Style>& old_style)
}
void
+AudioClock::set_editable (bool yn)
+{
+ editable = yn;
+}
+
+void
AudioClock::set_is_duration (bool yn)
{
if (yn == is_duration) {
diff --git a/gtk2_ardour/audio_clock.h b/gtk2_ardour/audio_clock.h
index 03c5e802d2..912d0b68fe 100644
--- a/gtk2_ardour/audio_clock.h
+++ b/gtk2_ardour/audio_clock.h
@@ -58,6 +58,7 @@ class AudioClock : public CairoWidget, public ARDOUR::SessionHandlePtr
bool off() const { return _off; }
void set_widget_name (const std::string& name);
void set_active_state (Gtkmm2ext::ActiveState s);
+ void set_editable (bool yn);
void focus ();
@@ -112,6 +113,7 @@ class AudioClock : public CairoWidget, public ARDOUR::SessionHandlePtr
int info_height;
int upper_height;
double mode_based_info_ratio;
+
static const double info_font_scale_factor;
static const double separator_height;
static const double x_leading_padding;