diff options
author | Robin Gareus <robin@gareus.org> | 2012-11-13 23:29:57 +0000 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2012-11-13 23:29:57 +0000 |
commit | a5f5572159360b7194d72ce22923fae24723453c (patch) | |
tree | e44b8b1d20995377cdbc1fa9bb2ba1f639166efe | |
parent | e1581242ca8554660ea68290688e573a9acfca06 (diff) |
update BPM and Meter when changed, also change back labels for it.
git-svn-id: svn://localhost/ardour2/branches/3.0@13486 d708f5d6-7413-0410-9779-e7cbd77b26cf
-rw-r--r-- | gtk2_ardour/audio_clock.cc | 11 | ||||
-rw-r--r-- | gtk2_ardour/audio_clock.h | 1 |
2 files changed, 10 insertions, 2 deletions
diff --git a/gtk2_ardour/audio_clock.cc b/gtk2_ardour/audio_clock.cc index 9a9fc6d56e..2a2cee60d3 100644 --- a/gtk2_ardour/audio_clock.cc +++ b/gtk2_ardour/audio_clock.cc @@ -930,6 +930,12 @@ AudioClock::end_edit_relative (bool add) } void +AudioClock::session_property_changed (const PropertyChange& p) +{ + set (last_when, true); +} + +void AudioClock::session_configuration_changed (std::string p) { if (_negative_allowed) { @@ -1266,11 +1272,11 @@ AudioClock::set_bbt (framepos_t when, bool /*force*/) TempoMetric m (_session->tempo_map().metric_at (pos)); sprintf (buf, "%-5.2f", m.tempo().beats_per_minute()); - _left_layout->set_markup (string_compose ("<span size=\"%1\" foreground=\"white\">Tmp <span foreground=\"green\">%2</span></span>", + _left_layout->set_markup (string_compose ("<span size=\"%1\" foreground=\"white\">Tempo <span foreground=\"green\">%2</span></span>", INFO_FONT_SIZE, buf)); sprintf (buf, "%g/%g", m.meter().divisions_per_bar(), m.meter().note_divisor()); - _right_layout->set_markup (string_compose ("<span size=\"%1\" foreground=\"white\">Mtr <span foreground=\"green\">%2</span></span>", + _right_layout->set_markup (string_compose ("<span size=\"%1\" foreground=\"white\">Meter <span foreground=\"green\">%2</span></span>", INFO_FONT_SIZE, buf)); } } @@ -1283,6 +1289,7 @@ AudioClock::set_session (Session *s) if (_session) { _session->config.ParameterChanged.connect (_session_connections, invalidator (*this), boost::bind (&AudioClock::session_configuration_changed, this, _1), gui_context()); + _session->tempo_map().PropertyChanged.connect (_session_connections, invalidator (*this), boost::bind (&AudioClock::session_property_changed, this, _1), gui_context()); const XMLProperty* prop; XMLNode* node = _session->extra_xml (X_("ClockModes")); diff --git a/gtk2_ardour/audio_clock.h b/gtk2_ardour/audio_clock.h index 03ed27edbd..dae6bb1ae4 100644 --- a/gtk2_ardour/audio_clock.h +++ b/gtk2_ardour/audio_clock.h @@ -205,6 +205,7 @@ class AudioClock : public CairoWidget, public ARDOUR::SessionHandlePtr framepos_t frames_from_audioframes_string (const std::string&) const; void session_configuration_changed (std::string); + void session_property_changed (const PBD::PropertyChange&); Field index_to_field () const; |