- _bbt_ruler = gtk_custom_hruler_new ();
- bbt_ruler = Glib::wrap (_bbt_ruler);
- bbt_ruler->set_name ("BBTRuler");
- bbt_ruler->set_size_request (-1, (int)timebar_height);
- gtk_custom_ruler_set_metric (GTK_CUSTOM_RULER(_bbt_ruler), &ruler_metrics[ruler_metric_bbt]);
- bbt_ruler->hide ();
- bbt_ruler->set_no_show_all();
- bbt_nmarks = 0;
-
- _samples_ruler = gtk_custom_hruler_new ();
- samples_ruler = Glib::wrap (_samples_ruler);
- samples_ruler->set_name ("SamplesRuler");
- samples_ruler->set_size_request (-1, (int) timebar_height);
- gtk_custom_ruler_set_metric (GTK_CUSTOM_RULER (_samples_ruler), &ruler_metrics[ruler_metric_samples]);
- samples_ruler->hide ();
- samples_ruler->set_no_show_all ();
-
- _bbt_ruler = gtk_custom_hruler_new ();
- bbt_ruler = Glib::wrap (_bbt_ruler);
- bbt_ruler->set_name ("BBTRuler");
- bbt_ruler->set_size_request (-1, (int)timebar_height);
- gtk_custom_ruler_set_metric (GTK_CUSTOM_RULER(_bbt_ruler), &ruler_metrics[ruler_metric_bbt]);
- bbt_ruler->hide ();
- bbt_ruler->set_no_show_all();
- minsec_ruler->hide ();
- minsec_ruler->set_no_show_all();
- minsec_nmarks = 0;
-
- using namespace Box_Helpers;
- BoxList & ruler_lab_children = ruler_label_vbox.children();
- BoxList & ruler_children = time_canvas_vbox.children();
- BoxList & lab_children = time_bars_vbox.children();
-
- BoxList::iterator canvaspos = ruler_children.begin();
-
- lab_children.push_back (Element(meter_label, PACK_SHRINK, PACK_START));
- lab_children.push_back (Element(tempo_label, PACK_SHRINK, PACK_START));
- lab_children.push_back (Element(range_mark_label, PACK_SHRINK, PACK_START));
- lab_children.push_back (Element(transport_mark_label, PACK_SHRINK, PACK_START));
- lab_children.push_back (Element(cd_mark_label, PACK_SHRINK, PACK_START));
- lab_children.push_back (Element(mark_label, PACK_SHRINK, PACK_START));
- lab_children.push_back (Element(videotl_label, PACK_SHRINK, PACK_START));
-
- ruler_lab_children.push_back (Element(minsec_label, PACK_SHRINK, PACK_START));
- ruler_children.insert (canvaspos, Element(*minsec_ruler, PACK_SHRINK, PACK_START));
- ruler_lab_children.push_back (Element(timecode_label, PACK_SHRINK, PACK_START));
- ruler_children.insert (canvaspos, Element(*timecode_ruler, PACK_SHRINK, PACK_START));
- ruler_lab_children.push_back (Element(samples_label, PACK_SHRINK, PACK_START));
- ruler_children.insert (canvaspos, Element (*samples_ruler, PACK_SHRINK, PACK_START));
- ruler_lab_children.push_back (Element(bbt_label, PACK_SHRINK, PACK_START));
- ruler_children.insert (canvaspos, Element(*bbt_ruler, PACK_SHRINK, PACK_START));
-
- timecode_ruler->add_events (Gdk::BUTTON_PRESS_MASK|Gdk::BUTTON_RELEASE_MASK|Gdk::SCROLL_MASK);
- bbt_ruler->add_events (Gdk::BUTTON_PRESS_MASK|Gdk::BUTTON_RELEASE_MASK|Gdk::SCROLL_MASK);
- samples_ruler->add_events (Gdk::BUTTON_PRESS_MASK|Gdk::BUTTON_RELEASE_MASK|Gdk::SCROLL_MASK);
- minsec_ruler->add_events (Gdk::BUTTON_PRESS_MASK|Gdk::BUTTON_RELEASE_MASK|Gdk::SCROLL_MASK);
-
- timecode_ruler->signal_button_release_event().connect (sigc::mem_fun(*this, &Editor::ruler_button_release));
- bbt_ruler->signal_button_release_event().connect (sigc::mem_fun(*this, &Editor::ruler_button_release));
- samples_ruler->signal_button_release_event().connect (sigc::mem_fun(*this, &Editor::ruler_button_release));
- minsec_ruler->signal_button_release_event().connect (sigc::mem_fun(*this, &Editor::ruler_button_release));
-
- timecode_ruler->signal_button_press_event().connect (sigc::mem_fun(*this, &Editor::ruler_button_press));
- bbt_ruler->signal_button_press_event().connect (sigc::mem_fun(*this, &Editor::ruler_button_press));
- samples_ruler->signal_button_press_event().connect (sigc::mem_fun(*this, &Editor::ruler_button_press));
- minsec_ruler->signal_button_press_event().connect (sigc::mem_fun(*this, &Editor::ruler_button_press));
-
- timecode_ruler->signal_motion_notify_event().connect (sigc::mem_fun(*this, &Editor::ruler_mouse_motion));
- bbt_ruler->signal_motion_notify_event().connect (sigc::mem_fun(*this, &Editor::ruler_mouse_motion));
- samples_ruler->signal_motion_notify_event().connect (sigc::mem_fun(*this, &Editor::ruler_mouse_motion));
- minsec_ruler->signal_motion_notify_event().connect (sigc::mem_fun(*this, &Editor::ruler_mouse_motion));
-
- timecode_ruler->signal_scroll_event().connect (sigc::mem_fun(*this, &Editor::ruler_scroll));
- bbt_ruler->signal_scroll_event().connect (sigc::mem_fun(*this, &Editor::ruler_scroll));
- samples_ruler->signal_scroll_event().connect (sigc::mem_fun(*this, &Editor::ruler_scroll));
- minsec_ruler->signal_scroll_event().connect (sigc::mem_fun(*this, &Editor::ruler_scroll));