From 965fe9946b05976367c89b4408cc8c6b33cd5e9b Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Tue, 16 Aug 2022 15:51:25 -0600 Subject: [PATCH] BBT markers: put BBT position in their tooltip Tooltip will need updating once drag is working correctly --- gtk2_ardour/marker.cc | 24 +++++++++++++++++++----- gtk2_ardour/marker.h | 2 +- 2 files changed, 20 insertions(+), 6 deletions(-) diff --git a/gtk2_ardour/marker.cc b/gtk2_ardour/marker.cc index 3ae0ab4cd0..8673c6216b 100644 --- a/gtk2_ardour/marker.cc +++ b/gtk2_ardour/marker.cc @@ -24,6 +24,8 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ +#include + #include #include "ardour/tempo.h" @@ -448,16 +450,20 @@ ArdourMarker::set_line_height (double h) } void -ArdourMarker::set_name (const string& new_name) +ArdourMarker::set_name (const string& new_name, const string& tooltip) { _name = new_name; - _pcue->set_tooltip(new_name); - _pmark->set_tooltip(new_name); + _pcue->set_tooltip (new_name); + _pmark->set_tooltip (new_name); if (_name_flag) { - _name_flag->set_tooltip(new_name); + _name_flag->set_tooltip (new_name); + } + if (tooltip.empty()) { + _name_item->set_tooltip (new_name); + } else { + _name_item->set_tooltip (tooltip); } - _name_item->set_tooltip(new_name); setup_name_display (); } @@ -742,6 +748,14 @@ BBTMarker::BBTMarker (PublicEditor& editor, ArdourCanvas::Item& parent, guint32 : MetricMarker (editor, parent, rgba, p.name(), BBTPosition, p.time(), false) , _point (&p) { + std::stringstream full_tooltip; + + full_tooltip << name(); + full_tooltip << " ("; + full_tooltip << p.bbt(); + full_tooltip << ')'; + + set_name (name(), full_tooltip.str()); group->Event.connect (sigc::bind (sigc::mem_fun (editor, &PublicEditor::canvas_bbt_marker_event), group, this)); } diff --git a/gtk2_ardour/marker.h b/gtk2_ardour/marker.h index 8479313df8..8c6fab86a9 100644 --- a/gtk2_ardour/marker.h +++ b/gtk2_ardour/marker.h @@ -89,7 +89,7 @@ public: void set_line_height (double); void set_position (Temporal::timepos_t const &); - void set_name (const std::string&); + void set_name (const std::string&, const std::string & tooltip = std::string()); void set_points_color (uint32_t rgba); void set_color_rgba (uint32_t rgba); void setup_line ();