Add a 1Hz Lua Callback Signal
[ardour.git] / gtk2_ardour / mini_timeline.cc
index 43cf76491a48e124b5f61baf8beebc5156c5b7a6..b4652583ca3e34300e03d18354613bb99b1eb453 100644 (file)
@@ -151,6 +151,7 @@ void
 MiniTimeline::set_colors ()
 {
        // TODO  UIConfiguration::instance().color & font
+       _phead_color = UIConfiguration::instance().color ("play head");
 }
 
 void
@@ -242,6 +243,7 @@ MiniTimeline::calculate_time_width ()
                case AudioClock::MinSec:
                        _layout->set_text ("88:88:88,88");
                        break;
+               case AudioClock::Seconds:
                case AudioClock::Samples:
                        _layout->set_text ("8888888888");
                        break;
@@ -293,6 +295,13 @@ MiniTimeline::format_time (samplepos_t when)
                                _layout->set_text (std::string(buf).substr(1));
                        }
                        break;
+               case AudioClock::Seconds:
+                       {
+                               char buf[32];
+                               snprintf (buf, sizeof (buf), "%.1f", when / (float)_session->sample_rate());
+                               _layout->set_text (buf);
+                       }
+                       break;
                case AudioClock::Samples:
                        {
                                char buf[32];
@@ -640,7 +649,8 @@ MiniTimeline::render (Cairo::RefPtr<Cairo::Context> const& ctx, cairo_rectangle_
        /* playhead on top */
        int xc = width * 0.5f;
        cairo_set_line_width (cr, 1.0);
-       cairo_set_source_rgb (cr, 1, 0, 0); // playhead color
+       double r,g,b,a;  Gtkmm2ext::color_to_rgba(_phead_color, r,g,b,a);
+       cairo_set_source_rgb (cr, r,g,b); // playhead color
        cairo_move_to (cr, xc - .5, 0);
        cairo_rel_line_to (cr, 0, height);
        cairo_stroke (cr);