Merge branch 'master' into cairocanvas
authorRobin Gareus <robin@gareus.org>
Thu, 11 Apr 2013 20:24:05 +0000 (22:24 +0200)
committerRobin Gareus <robin@gareus.org>
Thu, 11 Apr 2013 20:24:05 +0000 (22:24 +0200)
Conflicts:
gtk2_ardour/editor.h
gtk2_ardour/editor_canvas.cc
gtk2_ardour/wscript

22 files changed:
1  2 
gtk2_ardour/ardour_ui.cc
gtk2_ardour/ardour_ui.h
gtk2_ardour/editor.cc
gtk2_ardour/editor.h
gtk2_ardour/editor_actions.cc
gtk2_ardour/editor_canvas.cc
gtk2_ardour/editor_canvas_events.cc
gtk2_ardour/editor_drag.cc
gtk2_ardour/editor_drag.h
gtk2_ardour/editor_mouse.cc
gtk2_ardour/editor_ops.cc
gtk2_ardour/editor_rulers.cc
gtk2_ardour/editor_selection.cc
gtk2_ardour/editor_videotimeline.cc
gtk2_ardour/public_editor.h
gtk2_ardour/region_view.cc
gtk2_ardour/video_image_frame.cc
gtk2_ardour/video_image_frame.h
gtk2_ardour/video_timeline.cc
gtk2_ardour/video_timeline.h
gtk2_ardour/wscript
wscript

Simple merge
Simple merge
index 7f49c56d7be29f85b35edaf4bbb1bcd0de030db8,b7cc7b9f27c517e452bf31b962e20e7747685fd1..f3e14f3390c46636c986397ddc35d158a1878988
@@@ -4365,11 -4355,9 +4359,9 @@@ Editor::idle_visual_changer (
        if (p & VisualChange::ZoomLevel) {
                update_video_timeline();
        }
- #endif
  
        if (p & VisualChange::TimeOrigin) {
 -              set_horizontal_position (pending_visual_change.time_origin / frames_per_unit);
 +              set_horizontal_position (pending_visual_change.time_origin / frames_per_pixel);
        }
  
        if (p & VisualChange::YOrigin) {
index 43d3fccedf9217d654296771d92cfd523fec7136,910df94c26872aa0aa0b147a7bb03c858331fe38..9f288defe3b38bad1af33f01723a14c0c1b8e38b
@@@ -922,8 -919,8 +920,8 @@@ class Editor : public PublicEditor, pub
        Gtk::Label  transport_mark_label;
        Gtk::Label  cd_mark_label;
  
- #ifdef WITH_VIDEOTIMELINE
-       ArdourCanvas::Rectangle* videotl_bar;
+       /* videtimline related actions */
 -      ArdourCanvas::SimpleRect* videotl_bar;
++      ArdourCanvas::Rectangle*  videotl_bar;
        Gtk::Label                videotl_label;
        ArdourCanvas::Group*      videotl_bar_group;
        ArdourCanvas::Group*      videotl_group;
        int get_videotl_bar_height () const { return videotl_bar_height; }
        void export_video ();
        void toggle_region_video_lock ();
- #endif
  
 -      Gtk::VBox          time_button_vbox;
 -      Gtk::HBox          time_button_hbox;
 +      Gtk::VBox          time_bars_vbox;
  
        friend class EditorCursor;
  
Simple merge
index 645700a58bab98afe1a0dc96cb89860b3b8bb0b2,c4b07eb738677b188fa58b7172572aba4316514d..d7a5373637a0b1e276452b12420b94daad984777
@@@ -95,121 -137,125 +95,114 @@@ Editor::initialize_canvas (
        }
  
        /* a group to hold time (measure) lines */
 -      time_line_group = new ArdourCanvas::Group (*track_canvas->root());
 +      time_line_group = new ArdourCanvas::Group (_track_canvas->root());
  
 -#ifdef GTKOSX
 -      /*XXX please don't laugh. this actually improves canvas performance on osx */
 -      bogus_background_rect =  new ArdourCanvas::SimpleRect (*time_line_group, 0.0, 0.0, max_canvas_coordinate/3, phys_height);
 -      bogus_background_rect->property_outline_pixels() = 0;
 -#endif
 -      transport_loop_range_rect = new ArdourCanvas::SimpleRect (*time_line_group, 0.0, 0.0, 0.0, phys_height);
 -      transport_loop_range_rect->property_outline_pixels() = 1;
 +        transport_loop_range_rect = new ArdourCanvas::Rectangle (time_line_group, ArdourCanvas::Rect (0.0, 0.0, 0.0, ArdourCanvas::COORD_MAX));
 +      transport_loop_range_rect->set_outline_width (1);
        transport_loop_range_rect->hide();
  
 -      transport_punch_range_rect = new ArdourCanvas::SimpleRect (*time_line_group, 0.0, 0.0, 0.0, phys_height);
 -      transport_punch_range_rect->property_outline_pixels() = 0;
 +      transport_punch_range_rect = new ArdourCanvas::Rectangle (time_line_group, ArdourCanvas::Rect (0.0, 0.0, 0.0, ArdourCanvas::COORD_MAX));
 +      transport_punch_range_rect->set_outline_width (0);
        transport_punch_range_rect->hide();
  
 -      _background_group = new ArdourCanvas::Group (*track_canvas->root());
 -      _master_group = new ArdourCanvas::Group (*track_canvas->root());
  
 -      _trackview_group = new ArdourCanvas::Group (*_master_group);
 -      _region_motion_group = new ArdourCanvas::Group (*_trackview_group);
 +      _background_group = new ArdourCanvas::Group (_track_canvas->root());
 +      _master_group = new ArdourCanvas::Group (_track_canvas->root());
  
 -      meter_bar_group = new ArdourCanvas::Group (*track_canvas->root ());
 -      meter_bar = new ArdourCanvas::SimpleRect (*meter_bar_group, 0.0, 0.0, phys_width, timebar_height - 1);
 -      meter_bar->property_outline_pixels() = 1;
 -      meter_bar->property_outline_what() = 0x8;
 +      _trackview_group = new ArdourCanvas::Group (_master_group);
 +      _region_motion_group = new ArdourCanvas::Group (_trackview_group);
  
 -      tempo_bar_group = new ArdourCanvas::Group (*track_canvas->root ());
 -      tempo_bar = new ArdourCanvas::SimpleRect (*tempo_bar_group, 0.0, 0.0, phys_width, (timebar_height - 1));
 -      tempo_bar->property_outline_pixels() = 1;
 -      tempo_bar->property_outline_what() = 0x8;
 +      meter_bar_group = new ArdourCanvas::Group (_time_bars_canvas->root ());
 +      meter_bar = new ArdourCanvas::Rectangle (meter_bar_group, ArdourCanvas::Rect (0.0, 0.0, ArdourCanvas::COORD_MAX, timebar_height - 1));
 +      meter_bar->set_outline_width (1);
 +      meter_bar->set_outline_what (0x8);
  
 -      range_marker_bar_group = new ArdourCanvas::Group (*track_canvas->root ());
 -      range_marker_bar = new ArdourCanvas::SimpleRect (*range_marker_bar_group, 0.0, 0.0, phys_width, (timebar_height - 1));
 -      range_marker_bar->property_outline_pixels() = 1;
 -      range_marker_bar->property_outline_what() = 0x8;
 +      tempo_bar_group = new ArdourCanvas::Group (_time_bars_canvas->root ());
 +      tempo_bar = new ArdourCanvas::Rectangle (tempo_bar_group, ArdourCanvas::Rect (0.0, 0.0, ArdourCanvas::COORD_MAX, timebar_height - 1));
 +      tempo_bar->set_outline_width (1);
 +      tempo_bar->set_outline_what (0x8);
  
 -      transport_marker_bar_group = new ArdourCanvas::Group (*track_canvas->root ());
 -      transport_marker_bar = new ArdourCanvas::SimpleRect (*transport_marker_bar_group, 0.0, 0.0,  phys_width, (timebar_height - 1));
 -      transport_marker_bar->property_outline_pixels() = 1;
 -      transport_marker_bar->property_outline_what() = 0x8;
 +      range_marker_bar_group = new ArdourCanvas::Group (_time_bars_canvas->root ());
 +      range_marker_bar = new ArdourCanvas::Rectangle (range_marker_bar_group, ArdourCanvas::Rect (0.0, 0.0, ArdourCanvas::COORD_MAX, timebar_height - 1));
 +      range_marker_bar->set_outline_width (1);
 +      range_marker_bar->set_outline_what (0x8);
  
 -      marker_bar_group = new ArdourCanvas::Group (*track_canvas->root ());
 -      marker_bar = new ArdourCanvas::SimpleRect (*marker_bar_group, 0.0, 0.0, phys_width, (timebar_height - 1));
 -      marker_bar->property_outline_pixels() = 1;
 -      marker_bar->property_outline_what() = 0x8;
 +      transport_marker_bar_group = new ArdourCanvas::Group (_time_bars_canvas->root ());
 +      transport_marker_bar = new ArdourCanvas::Rectangle (transport_marker_bar_group, ArdourCanvas::Rect (0.0, 0.0, ArdourCanvas::COORD_MAX, timebar_height - 1));
 +      transport_marker_bar->set_outline_width (1);
 +      transport_marker_bar->set_outline_what (0x8);
  
 -      cd_marker_bar_group = new ArdourCanvas::Group (*track_canvas->root ());
 -      cd_marker_bar = new ArdourCanvas::SimpleRect (*cd_marker_bar_group, 0.0, 0.0, phys_width, (timebar_height - 1));
 -      cd_marker_bar->property_outline_pixels() = 1;
 -      cd_marker_bar->property_outline_what() = 0x8;
 +      marker_bar_group = new ArdourCanvas::Group (_time_bars_canvas->root ());
 +      marker_bar = new ArdourCanvas::Rectangle (marker_bar_group, ArdourCanvas::Rect (0.0, 0.0, ArdourCanvas::COORD_MAX, timebar_height - 1));
 +      marker_bar->set_outline_width (1);
 +      marker_bar->set_outline_what (0x8);
  
 -      videotl_bar_group = new ArdourCanvas::Group (*track_canvas->root ());
 -      if (Profile->get_sae()) {
 -              videotl_bar = new ArdourCanvas::SimpleRect (*videotl_bar_group, 0.0, 0.0, phys_width, (timebar_height * videotl_bar_height - 1));
 -              videotl_bar->property_outline_pixels() = 1;
 -      } else {
 -              videotl_bar = new ArdourCanvas::SimpleRect (*videotl_bar_group, 0.0, 0.0, phys_width, (timebar_height * videotl_bar_height));
 -              videotl_bar->property_outline_pixels() = 0;
 -      }
 -      videotl_bar->property_outline_what() = (0x1 | 0x8);
 -      ARDOUR_UI::instance()->video_timeline = new VideoTimeLine(this, videotl_bar_group, (timebar_height * videotl_bar_height));
 +      cd_marker_bar_group = new ArdourCanvas::Group (_time_bars_canvas->root ());
 +      cd_marker_bar = new ArdourCanvas::Rectangle (cd_marker_bar_group, ArdourCanvas::Rect (0.0, 0.0, ArdourCanvas::COORD_MAX, timebar_height - 1));
 +      cd_marker_bar->set_outline_width (1);
 +      cd_marker_bar->set_outline_what (0x8);
 +
 +      _time_markers_group = new ArdourCanvas::Group (_time_bars_canvas->root());
  
 -      timebar_group =  new ArdourCanvas::Group (*track_canvas->root(), 0.0, 0.0);
 -      cursor_group = new ArdourCanvas::Group (*track_canvas->root(), 0.0, 0.0);
 +      meter_group = new ArdourCanvas::Group (_time_markers_group, ArdourCanvas::Duple (0.0, timebar_height * 5.0));
 +      tempo_group = new ArdourCanvas::Group (_time_markers_group, ArdourCanvas::Duple (0.0, timebar_height * 4.0));
 +      range_marker_group = new ArdourCanvas::Group (_time_markers_group, ArdourCanvas::Duple (0.0, timebar_height * 3.0));
 +      transport_marker_group = new ArdourCanvas::Group (_time_markers_group, ArdourCanvas::Duple (0.0, timebar_height * 2.0));
 +      marker_group = new ArdourCanvas::Group (_time_markers_group, ArdourCanvas::Duple (0.0, timebar_height));
 +      cd_marker_group = new ArdourCanvas::Group (_time_markers_group, ArdourCanvas::Duple (0.0, 0.0));
- #ifdef WITH_VIDEOTIMELINE
 +      videotl_group = new ArdourCanvas::Group (_time_markers_group, ArdourCanvas::Duple(0.0, 0.0));
- #endif
  
 -      meter_group = new ArdourCanvas::Group (*timebar_group, 0.0, timebar_height * 5.0);
 -      tempo_group = new ArdourCanvas::Group (*timebar_group, 0.0, timebar_height * 4.0);
 -      range_marker_group = new ArdourCanvas::Group (*timebar_group, 0.0, timebar_height * 3.0);
 -      transport_marker_group = new ArdourCanvas::Group (*timebar_group, 0.0, timebar_height * 2.0);
 -      marker_group = new ArdourCanvas::Group (*timebar_group, 0.0, timebar_height);
 -      cd_marker_group = new ArdourCanvas::Group (*timebar_group, 0.0, 0.0);
 -      videotl_group = new ArdourCanvas::Group (*timebar_group, 0.0, 0.0);
  
- #ifdef WITH_VIDEOTIMELINE
 -      cd_marker_bar_drag_rect = new ArdourCanvas::SimpleRect (*cd_marker_group, 0.0, 0.0, 100, timebar_height);
 -      cd_marker_bar_drag_rect->property_outline_pixels() = 0;
 +      videotl_bar_group = new ArdourCanvas::Group (_time_bars_canvas->root ());
 +      videotl_bar = new ArdourCanvas::Rectangle (videotl_bar_group, ArdourCanvas::Rect (0.0, 0.0, 100,(timebar_height * videotl_bar_height)));
 +      ARDOUR_UI::instance()->video_timeline = new VideoTimeLine(this, videotl_bar_group, (timebar_height * videotl_bar_height));
- #endif
 +
 +      cd_marker_bar_drag_rect = new ArdourCanvas::Rectangle (cd_marker_group, ArdourCanvas::Rect (0.0, 0.0, 100, timebar_height));
 +      cd_marker_bar_drag_rect->set_outline (false);
        cd_marker_bar_drag_rect->hide ();
  
 -      range_bar_drag_rect = new ArdourCanvas::SimpleRect (*range_marker_group, 0.0, 0.0, 100, timebar_height);
 -      range_bar_drag_rect->property_outline_pixels() = 0;
 +      range_bar_drag_rect = new ArdourCanvas::Rectangle (range_marker_group, ArdourCanvas::Rect (0.0, 0.0, 100, timebar_height));
 +      range_bar_drag_rect->set_outline (false);
        range_bar_drag_rect->hide ();
  
 -      transport_bar_drag_rect = new ArdourCanvas::SimpleRect (*transport_marker_group, 0.0, 0.0, 100, timebar_height);
 -      transport_bar_drag_rect->property_outline_pixels() = 0;
 +      transport_bar_drag_rect = new ArdourCanvas::Rectangle (transport_marker_group, ArdourCanvas::Rect (0.0, 0.0, 100, timebar_height));
 +      transport_bar_drag_rect->set_outline (false);
        transport_bar_drag_rect->hide ();
  
 -      transport_punchin_line = new ArdourCanvas::SimpleLine (*_master_group);
 -      transport_punchin_line->property_x1() = 0.0;
 -      transport_punchin_line->property_y1() = 0.0;
 -      transport_punchin_line->property_x2() = 0.0;
 -      transport_punchin_line->property_y2() = phys_height;
 +      transport_punchin_line = new ArdourCanvas::Line (_master_group);
 +      transport_punchin_line->set_x0 (0);
 +      transport_punchin_line->set_y0 (0);
 +      transport_punchin_line->set_x1 (0);
 +      transport_punchin_line->set_y1 (ArdourCanvas::COORD_MAX);
        transport_punchin_line->hide ();
  
 -      transport_punchout_line  = new ArdourCanvas::SimpleLine (*_master_group);
 -      transport_punchout_line->property_x1() = 0.0;
 -      transport_punchout_line->property_y1() = 0.0;
 -      transport_punchout_line->property_x2() = 0.0;
 -      transport_punchout_line->property_y2() = phys_height;
 +      transport_punchout_line  = new ArdourCanvas::Line (_master_group);
 +      transport_punchout_line->set_x0 (0);
 +      transport_punchout_line->set_y0 (0);
 +      transport_punchout_line->set_x1 (0);
 +      transport_punchout_line->set_y1 (ArdourCanvas::COORD_MAX);
        transport_punchout_line->hide();
  
        // used to show zoom mode active zooming
 -      zoom_rect = new ArdourCanvas::SimpleRect (*_master_group, 0.0, 0.0, 0.0, 0.0);
 -      zoom_rect->property_outline_pixels() = 1;
 +      zoom_rect = new ArdourCanvas::Rectangle (_master_group, ArdourCanvas::Rect (0.0, 0.0, 0.0, 0.0));
 +      zoom_rect->set_outline_width (1);
        zoom_rect->hide();
  
 -      zoom_rect->signal_event().connect (sigc::bind (sigc::mem_fun (*this, &Editor::canvas_zoom_rect_event), (ArdourCanvas::Item*) 0));
 +      zoom_rect->Event.connect (sigc::bind (sigc::mem_fun (*this, &Editor::canvas_zoom_rect_event), (ArdourCanvas::Item*) 0));
  
        // used as rubberband rect
 -      rubberband_rect = new ArdourCanvas::SimpleRect (*_trackview_group, 0.0, 0.0, 0.0, 0.0);
 +      rubberband_rect = new ArdourCanvas::Rectangle (_trackview_group, ArdourCanvas::Rect (0.0, 0.0, 0.0, 0.0));
  
 -      rubberband_rect->property_outline_pixels() = 1;
 +      rubberband_rect->set_outline_width (1);
        rubberband_rect->hide();
  
 -      tempo_bar->signal_event().connect (sigc::bind (sigc::mem_fun (*this, &Editor::canvas_tempo_bar_event), tempo_bar));
 -      meter_bar->signal_event().connect (sigc::bind (sigc::mem_fun (*this, &Editor::canvas_meter_bar_event), meter_bar));
 -      marker_bar->signal_event().connect (sigc::bind (sigc::mem_fun (*this, &Editor::canvas_marker_bar_event), marker_bar));
 -      cd_marker_bar->signal_event().connect (sigc::bind (sigc::mem_fun (*this, &Editor::canvas_cd_marker_bar_event), cd_marker_bar));
 -      videotl_bar_group->signal_event().connect (sigc::bind (sigc::mem_fun (*this, &Editor::canvas_videotl_bar_event), videotl_bar));
 -      range_marker_bar->signal_event().connect (sigc::bind (sigc::mem_fun (*this, &Editor::canvas_range_marker_bar_event), range_marker_bar));
 -      transport_marker_bar->signal_event().connect (sigc::bind (sigc::mem_fun (*this, &Editor::canvas_transport_marker_bar_event), transport_marker_bar));
 +      tempo_bar->Event.connect (sigc::bind (sigc::mem_fun (*this, &Editor::canvas_tempo_bar_event), tempo_bar));
 +      meter_bar->Event.connect (sigc::bind (sigc::mem_fun (*this, &Editor::canvas_meter_bar_event), meter_bar));
 +      marker_bar->Event.connect (sigc::bind (sigc::mem_fun (*this, &Editor::canvas_marker_bar_event), marker_bar));
 +      cd_marker_bar->Event.connect (sigc::bind (sigc::mem_fun (*this, &Editor::canvas_cd_marker_bar_event), cd_marker_bar));
- #ifdef WITH_VIDEOTIMELINE
 +      videotl_bar_group->Event.connect (sigc::bind (sigc::mem_fun (*this, &Editor::canvas_videotl_bar_event), videotl_bar));
-       //videotl_bar->Event.connect (sigc::bind (sigc::mem_fun (*this, &Editor::canvas_videotl_bar_event), videotl_bar));
- #endif
 +      range_marker_bar->Event.connect (sigc::bind (sigc::mem_fun (*this, &Editor::canvas_range_marker_bar_event), range_marker_bar));
 +      transport_marker_bar->Event.connect (sigc::bind (sigc::mem_fun (*this, &Editor::canvas_transport_marker_bar_event), transport_marker_bar));
  
        playhead_cursor = new EditorCursor (*this, &Editor::canvas_playhead_cursor_event);
  
@@@ -831,55 -872,53 +822,53 @@@ Editor::scroll_canvas_vertically (
  void
  Editor::color_handler()
  {
 -      playhead_cursor->canvas_item.property_fill_color_rgba() = ARDOUR_UI::config()->canvasvar_PlayHead.get();
 +      playhead_cursor->set_color (ARDOUR_UI::config()->canvasvar_PlayHead.get());
        _verbose_cursor->set_color (ARDOUR_UI::config()->canvasvar_VerboseCanvasCursor.get());
  
 -      meter_bar->property_fill_color_rgba() = ARDOUR_UI::config()->canvasvar_MeterBar.get();
 -      meter_bar->property_outline_color_rgba() = ARDOUR_UI::config()->canvasvar_MarkerBarSeparator.get();
 +      meter_bar->set_fill_color (ARDOUR_UI::config()->canvasvar_MeterBar.get());
 +      meter_bar->set_outline_color (ARDOUR_UI::config()->canvasvar_MarkerBarSeparator.get());
  
 -      tempo_bar->property_fill_color_rgba() = ARDOUR_UI::config()->canvasvar_TempoBar.get();
 -      tempo_bar->property_outline_color_rgba() = ARDOUR_UI::config()->canvasvar_MarkerBarSeparator.get();
 +      tempo_bar->set_fill_color (ARDOUR_UI::config()->canvasvar_TempoBar.get());
 +      tempo_bar->set_outline_color (ARDOUR_UI::config()->canvasvar_MarkerBarSeparator.get());
  
 -      marker_bar->property_fill_color_rgba() = ARDOUR_UI::config()->canvasvar_MarkerBar.get();
 -      marker_bar->property_outline_color_rgba() = ARDOUR_UI::config()->canvasvar_MarkerBarSeparator.get();
 +      marker_bar->set_fill_color (ARDOUR_UI::config()->canvasvar_MarkerBar.get());
 +      marker_bar->set_outline_color (ARDOUR_UI::config()->canvasvar_MarkerBarSeparator.get());
  
 -      cd_marker_bar->property_fill_color_rgba() = ARDOUR_UI::config()->canvasvar_CDMarkerBar.get();
 -      cd_marker_bar->property_outline_color_rgba() = ARDOUR_UI::config()->canvasvar_MarkerBarSeparator.get();
 +      cd_marker_bar->set_fill_color (ARDOUR_UI::config()->canvasvar_CDMarkerBar.get());
 +      cd_marker_bar->set_outline_color (ARDOUR_UI::config()->canvasvar_MarkerBarSeparator.get());
  
- #ifdef WITH_VIDEOTIMELINE
 -      videotl_bar->property_fill_color_rgba() = ARDOUR_UI::config()->canvasvar_VideoBar.get();
 -      videotl_bar->property_outline_color_rgba() = ARDOUR_UI::config()->canvasvar_MarkerBarSeparator.get();
 +      videotl_bar->set_fill_color (ARDOUR_UI::config()->canvasvar_VideoBar.get());
 +      videotl_bar->set_outline_color (ARDOUR_UI::config()->canvasvar_MarkerBarSeparator.get());
- #endif
  
 -      range_marker_bar->property_fill_color_rgba() = ARDOUR_UI::config()->canvasvar_RangeMarkerBar.get();
 -      range_marker_bar->property_outline_color_rgba() = ARDOUR_UI::config()->canvasvar_MarkerBarSeparator.get();
 +      range_marker_bar->set_fill_color (ARDOUR_UI::config()->canvasvar_RangeMarkerBar.get());
 +      range_marker_bar->set_outline_color (ARDOUR_UI::config()->canvasvar_MarkerBarSeparator.get());
  
 -      transport_marker_bar->property_fill_color_rgba() = ARDOUR_UI::config()->canvasvar_TransportMarkerBar.get();
 -      transport_marker_bar->property_outline_color_rgba() = ARDOUR_UI::config()->canvasvar_MarkerBarSeparator.get();
 +      transport_marker_bar->set_fill_color (ARDOUR_UI::config()->canvasvar_TransportMarkerBar.get());
 +      transport_marker_bar->set_outline_color (ARDOUR_UI::config()->canvasvar_MarkerBarSeparator.get());
  
 -      cd_marker_bar_drag_rect->property_fill_color_rgba() = ARDOUR_UI::config()->canvasvar_RangeDragBarRect.get();
 -      cd_marker_bar_drag_rect->property_outline_color_rgba() = ARDOUR_UI::config()->canvasvar_RangeDragBarRect.get();
 +      cd_marker_bar_drag_rect->set_fill_color (ARDOUR_UI::config()->canvasvar_RangeDragBarRect.get());
 +      cd_marker_bar_drag_rect->set_outline_color (ARDOUR_UI::config()->canvasvar_RangeDragBarRect.get());
  
 -      range_bar_drag_rect->property_fill_color_rgba() = ARDOUR_UI::config()->canvasvar_RangeDragBarRect.get();
 -      range_bar_drag_rect->property_outline_color_rgba() = ARDOUR_UI::config()->canvasvar_RangeDragBarRect.get();
 +      range_bar_drag_rect->set_fill_color (ARDOUR_UI::config()->canvasvar_RangeDragBarRect.get());
 +      range_bar_drag_rect->set_outline_color (ARDOUR_UI::config()->canvasvar_RangeDragBarRect.get());
  
 -      transport_bar_drag_rect->property_fill_color_rgba() = ARDOUR_UI::config()->canvasvar_TransportDragRect.get();
 -      transport_bar_drag_rect->property_outline_color_rgba() = ARDOUR_UI::config()->canvasvar_TransportDragRect.get();
 +      transport_bar_drag_rect->set_fill_color (ARDOUR_UI::config()->canvasvar_TransportDragRect.get());
 +      transport_bar_drag_rect->set_outline_color (ARDOUR_UI::config()->canvasvar_TransportDragRect.get());
  
 -      transport_loop_range_rect->property_fill_color_rgba() = ARDOUR_UI::config()->canvasvar_TransportLoopRect.get();
 -      transport_loop_range_rect->property_outline_color_rgba() = ARDOUR_UI::config()->canvasvar_TransportLoopRect.get();
 +      transport_loop_range_rect->set_fill_color (ARDOUR_UI::config()->canvasvar_TransportLoopRect.get());
 +      transport_loop_range_rect->set_outline_color (ARDOUR_UI::config()->canvasvar_TransportLoopRect.get());
  
 -      transport_punch_range_rect->property_fill_color_rgba() = ARDOUR_UI::config()->canvasvar_TransportPunchRect.get();
 -      transport_punch_range_rect->property_outline_color_rgba() = ARDOUR_UI::config()->canvasvar_TransportPunchRect.get();
 +      transport_punch_range_rect->set_fill_color (ARDOUR_UI::config()->canvasvar_TransportPunchRect.get());
 +      transport_punch_range_rect->set_outline_color (ARDOUR_UI::config()->canvasvar_TransportPunchRect.get());
  
 -      transport_punchin_line->property_color_rgba() = ARDOUR_UI::config()->canvasvar_PunchLine.get();
 -      transport_punchout_line->property_color_rgba() = ARDOUR_UI::config()->canvasvar_PunchLine.get();
 +      transport_punchin_line->set_outline_color (ARDOUR_UI::config()->canvasvar_PunchLine.get());
 +      transport_punchout_line->set_outline_color (ARDOUR_UI::config()->canvasvar_PunchLine.get());
  
 -      zoom_rect->property_fill_color_rgba() = ARDOUR_UI::config()->canvasvar_ZoomRect.get();
 -      zoom_rect->property_outline_color_rgba() = ARDOUR_UI::config()->canvasvar_ZoomRect.get();
 +      zoom_rect->set_fill_color (ARDOUR_UI::config()->canvasvar_ZoomRect.get());
 +      zoom_rect->set_outline_color (ARDOUR_UI::config()->canvasvar_ZoomRect.get());
  
 -      rubberband_rect->property_outline_color_rgba() = ARDOUR_UI::config()->canvasvar_RubberBandRect.get();
 -      rubberband_rect->property_fill_color_rgba() = (guint32) ARDOUR_UI::config()->canvasvar_RubberBandRect.get();
 +      rubberband_rect->set_outline_color (ARDOUR_UI::config()->canvasvar_RubberBandRect.get());
 +      rubberband_rect->set_fill_color ((guint32) ARDOUR_UI::config()->canvasvar_RubberBandRect.get());
  
        location_marker_color = ARDOUR_UI::config()->canvasvar_LocationMarker.get();
        location_range_color = ARDOUR_UI::config()->canvasvar_LocationRange.get();
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
index dd13e153b52b395a7a5c12870e7813d2ce417814,2752f96553e68fed20ee1779f61d32408beee2b7..0a855d7f90efa50e4910ff5b863ad5f19a2683a6
@@@ -653,18 -642,16 +643,16 @@@ Editor::update_ruler_visibility (
        transport_mark_label.hide();
        cd_mark_label.hide();
        mark_label.hide();
-  #ifdef WITH_VIDEOTIMELINE
        videotl_label.hide();
-  #endif
  #endif
        if (ruler_meter_action->get_active()) {
 -              old_unit_pos = meter_group->property_y();
 +              old_unit_pos = meter_group->position().y;
                if (tbpos != old_unit_pos) {
 -                      meter_group->move ( 0.0, tbpos - old_unit_pos);
 +                      meter_group->move (ArdourCanvas::Duple (0.0, tbpos - old_unit_pos));
                }
 -              old_unit_pos = meter_bar_group->property_y();
 +              old_unit_pos = meter_bar_group->position().y;
                if (tbgpos != old_unit_pos) {
 -                      meter_bar_group->move ( 0.0, tbgpos - old_unit_pos);
 +                      meter_bar_group->move (ArdourCanvas::Duple (0.0, tbgpos - old_unit_pos));
                }
                meter_bar_group->show();
                meter_group->show();
                mark_label.hide();
        }
  
- #ifdef WITH_VIDEOTIMELINE
        if (ruler_video_action->get_active()) {
 -              old_unit_pos = videotl_group->property_y();
 +              old_unit_pos = videotl_group->position().y;
                if (tbpos != old_unit_pos) {
 -                      videotl_group->move ( 0.0, tbpos - old_unit_pos);
 +                      videotl_group->move (ArdourCanvas::Duple (0.0, tbpos - old_unit_pos));
                }
 -              old_unit_pos = videotl_bar_group->property_y();
 +              old_unit_pos = videotl_bar_group->position().y;
                if (tbgpos != old_unit_pos) {
 -                      videotl_bar_group->move ( 0.0, tbgpos - old_unit_pos);
 +                      videotl_bar_group->move (ArdourCanvas::Duple (0.0, tbgpos - old_unit_pos));
                }
                videotl_bar_group->show();
                videotl_group->show();
                videotl_label.hide();
          update_video_timeline(true);
        }
- #endif
  
 -      gdouble old_canvas_timebars_vsize = canvas_timebars_vsize;
 -      canvas_timebars_vsize = (timebar_height * visible_timebars) - 1;
 -      gdouble vertical_pos_delta = canvas_timebars_vsize - old_canvas_timebars_vsize;
 -      vertical_adjustment.set_upper(vertical_adjustment.get_upper() + vertical_pos_delta);
 -      full_canvas_height += vertical_pos_delta;
 -
 -      if (vertical_adjustment.get_value() != 0 && (vertical_adjustment.get_value() + _canvas_height >= full_canvas_height)) {
 -              /*if we're at the bottom of the canvas, don't move the _trackview_group*/
 -              vertical_adjustment.set_value (full_canvas_height - _canvas_height + 1);
 -      } else {
 -              _trackview_group->property_y () = - get_trackview_group_vertical_offset ();
 -              _background_group->property_y () = - get_trackview_group_vertical_offset ();
 -              _trackview_group->move (0, 0);
 -              _background_group->move (0, 0);
 -              last_trackview_group_vertical_offset = get_trackview_group_vertical_offset ();
 -      }
 -
 -      gdouble bottom_track_pos = vertical_adjustment.get_value() + _canvas_height - canvas_timebars_vsize;
 -      std::pair<TimeAxisView*, int> const p = trackview_by_y_position (bottom_track_pos);
 -      if (p.first) {
 -              p.first->clip_to_viewport ();
 -      }
 -
        ruler_label_vbox.set_size_request (-1, (int)(timebar_height * visible_rulers));
        time_canvas_vbox.set_size_request (-1,-1);
  
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
index dbf69f2cb7e6974ef1d013f2e840484e22fd25e8,02e163e3eea7ed81da463636aeec305266b39629..90417bf2c18bb61201e5a784d798e3828c47d5b8
@@@ -233,7 -241,21 +233,20 @@@ gtk2_ardour_sources = 
          'version.cc',
          'visibility_group.cc',
          'volume_controller.cc',
-         'window_proxy.cc'
 -        'waveview.cc',
+         'window_proxy.cc',
+ # video-timeline related sources:
+         'video_image_frame.cc',
+         'add_video_dialog.cc',
+         'editor_videotimeline.cc',
+         'video_timeline.cc',
+         'system_exec.cc',
+         'video_monitor.cc',
+         'transcode_ffmpeg.cc',
+         'transcode_video_dialog.cc',
+         'video_server_dialog.cc',
+         'utils_videotl.cc',
+         'export_video_dialog.cc',
+         'export_video_infobox.cc'
  ]
  
  def options(opt):
diff --cc wscript
Simple merge