static GtkCustomMetric ruler_metrics[4];
Glib::RefPtr<Gtk::ToggleAction> ruler_timecode_action;
Glib::RefPtr<Gtk::ToggleAction> ruler_bbt_action;
- Glib::RefPtr<Gtk::ToggleAction> ruler_samples_action;
+ Glib::RefPtr<Gtk::ToggleAction> ruler_frames_action;
Glib::RefPtr<Gtk::ToggleAction> ruler_minsec_action;
Glib::RefPtr<Gtk::ToggleAction> ruler_tempo_action;
Glib::RefPtr<Gtk::ToggleAction> ruler_meter_action;
framecnt_t minsec_mark_interval;
gint minsec_mark_modulo;
gint minsec_nmarks;
- void set_minsec_ruler_scale (gdouble lower, gdouble upper);
+ void set_minsec_ruler_scale (framepos_t, framepos_t);
enum TimecodeRulerScale {
timecode_show_bits,
TimecodeRulerScale timecode_ruler_scale;
- framecnt_t timecode_mark_interval;
gint timecode_mark_modulo;
gint timecode_nmarks;
- void set_timecode_ruler_scale (gdouble lower, gdouble upper);
+ void set_timecode_ruler_scale (framepos_t, framepos_t);
framecnt_t _frames_ruler_interval;
void set_frames_ruler_scale (framepos_t, framepos_t);
ruler_marker_action = Glib::RefPtr<ToggleAction>::cast_static (ActionManager::register_toggle_action (ruler_actions, X_("toggle-marker-ruler"), _("Markers"), sigc::bind (sigc::mem_fun(*this, &Editor::toggle_ruler_visibility), ruler_time_marker)));
ruler_cd_marker_action = Glib::RefPtr<ToggleAction>::cast_static (ActionManager::register_toggle_action (ruler_actions, X_("toggle-cd-marker-ruler"), _("CD Markers"), sigc::bind (sigc::mem_fun(*this, &Editor::toggle_ruler_visibility), ruler_time_cd_marker)));
ruler_loop_punch_action = Glib::RefPtr<ToggleAction>::cast_static (ActionManager::register_toggle_action (ruler_actions, X_("toggle-loop-punch-ruler"), _("Loop/Punch"), sigc::bind (sigc::mem_fun(*this, &Editor::toggle_ruler_visibility), ruler_time_transport_marker)));
- ruler_bbt_action = Glib::RefPtr<ToggleAction>::cast_static (ActionManager::register_toggle_action (ruler_actions, X_("toggle-bbt-ruler"), _("Bars & Beats"), sigc::bind (sigc::mem_fun(*this, &Editor::toggle_ruler_visibility), ruler_metric_frames)));
- ruler_samples_action = Glib::RefPtr<ToggleAction>::cast_static (ActionManager::register_toggle_action (ruler_actions, X_("toggle-samples-ruler"), _("Samples"), sigc::bind (sigc::mem_fun(*this, &Editor::toggle_ruler_visibility), ruler_metric_bbt)));
+ ruler_bbt_action = Glib::RefPtr<ToggleAction>::cast_static (ActionManager::register_toggle_action (ruler_actions, X_("toggle-bbt-ruler"), _("Bars & Beats"), sigc::bind (sigc::mem_fun(*this, &Editor::toggle_ruler_visibility), ruler_metric_bbt)));
+ ruler_frames_action = Glib::RefPtr<ToggleAction>::cast_static (ActionManager::register_toggle_action (ruler_actions, X_("toggle-frames-ruler"), _("Frames"), sigc::bind (sigc::mem_fun(*this, &Editor::toggle_ruler_visibility), ruler_metric_frames)));
ruler_timecode_action = Glib::RefPtr<ToggleAction>::cast_static (ActionManager::register_toggle_action (ruler_actions, X_("toggle-timecode-ruler"), _("Timecode"), sigc::bind (sigc::mem_fun(*this, &Editor::toggle_ruler_visibility), ruler_metric_timecode)));
ruler_minsec_action = Glib::RefPtr<ToggleAction>::cast_static (ActionManager::register_toggle_action (ruler_actions, X_("toggle-minsec-ruler"), _("Min:Sec"), sigc::bind (sigc::mem_fun(*this, &Editor::toggle_ruler_visibility), ruler_metric_minsec)));
ruler_timecode_action->set_active (true);
ruler_minsec_action->set_active (false);
}
- ruler_samples_action->set_active (false);
+ ruler_frames_action->set_active (false);
no_ruler_shown_update = false;
/* REGION LIST */
action = "toggle-bbt-ruler";
break;
case ruler_metric_frames:
- action = "toggle-samples-ruler";
+ action = "toggle-frames-ruler";
break;
case ruler_metric_minsec:
action = "toggle-minsec-ruler";
ruler_items.push_back (MenuElem (*action->create_menu_item()));
}
}
- action = ActionManager::get_action ("Rulers", "toggle-samples-ruler");
+ action = ActionManager::get_action ("Rulers", "toggle-frames-ruler");
if (action) {
ruler_items.push_back (MenuElem (*action->create_menu_item()));
}
node->add_property (X_("timecode"), ruler_timecode_action->get_active() ? "yes": "no");
node->add_property (X_("bbt"), ruler_bbt_action->get_active() ? "yes": "no");
- node->add_property (X_("frames"), ruler_samples_action->get_active() ? "yes": "no");
+ node->add_property (X_("frames"), ruler_frames_action->get_active() ? "yes": "no");
node->add_property (X_("minsec"), ruler_minsec_action->get_active() ? "yes": "no");
node->add_property (X_("tempo"), ruler_tempo_action->get_active() ? "yes": "no");
node->add_property (X_("meter"), ruler_meter_action->get_active() ? "yes": "no");
}
if ((prop = node->property ("frames")) != 0) {
if (string_is_affirmative (prop->value())) {
- ruler_samples_action->set_active (true);
+ ruler_frames_action->set_active (true);
} else {
- ruler_samples_action->set_active (false);
+ ruler_frames_action->set_active (false);
}
}
if ((prop = node->property ("minsec")) != 0) {
timecode_ruler->hide ();
}
- if (ruler_samples_action->get_active()) {
+ if (ruler_frames_action->get_active()) {
visible_rulers++;
frame_label.show ();
frames_ruler->show ();
}
if (ruler_timecode_action->get_active()) {
- set_timecode_ruler_scale (leftmost_frame, leftmost_frame + current_page_frames() );
+ set_timecode_ruler_scale (leftmost_frame, leftmost_frame + current_page_frames());
}
if (ruler_minsec_action->get_active()) {
- set_minsec_ruler_scale (leftmost_frame, leftmost_frame + current_page_frames() );
+ set_minsec_ruler_scale (leftmost_frame, leftmost_frame + current_page_frames());
}
- if (ruler_samples_action->get_active()) {
+ if (ruler_frames_action->get_active()) {
set_frames_ruler_scale (leftmost_frame, leftmost_frame + current_page_frames());
}
}
leftmost_frame, _session->current_end_frame());
}
- if (ruler_samples_action->get_active()) {
+ if (ruler_frames_action->get_active()) {
gtk_custom_ruler_set_range (GTK_CUSTOM_RULER(_frames_ruler), leftmost_frame, rightmost_frame,
leftmost_frame, _session->current_end_frame());
}
}
void
-Editor::set_timecode_ruler_scale (gdouble lower, gdouble upper)
+Editor::set_timecode_ruler_scale (framepos_t lower, framepos_t upper)
{
- framepos_t range;
framepos_t spacer;
framepos_t fr;
fr = _session->frame_rate();
- if (lower > (spacer = (framepos_t)(128 * Editor::get_current_zoom ()))) {
+ if (lower > (spacer = (framepos_t) (128 * Editor::get_current_zoom ()))) {
lower = lower - spacer;
} else {
lower = 0;
}
upper = upper + spacer;
- range = (framepos_t) floor (upper - lower);
+ framecnt_t const range = upper - lower;
if (range < (2 * _session->frames_per_timecode_frame())) { /* 0 - 2 frames */
timecode_ruler_scale = timecode_show_bits;
i = current_bbt_points->end();
i--;
if ((*i).beat >= (*current_bbt_points->begin()).beat) {
- bbt_bars = (*i).bar - (*current_bbt_points->begin()).bar;
+ bbt_bars = (*i).bar - (*current_bbt_points->begin()).bar;
} else {
- bbt_bars = (*i).bar - (*current_bbt_points->begin()).bar - 1;
+ bbt_bars = (*i).bar - (*current_bbt_points->begin()).bar - 1;
}
beats = current_bbt_points->size() - bbt_bars;
- /*Only show the bar helper if there aren't many bars on the screen */
+ /* Only show the bar helper if there aren't many bars on the screen */
if ((bbt_bars < 2) || (beats < 5)) {
bbt_bar_helper_on = true;
}
if (bbt_bars > 8192) {
- bbt_ruler_scale = bbt_over;
+ bbt_ruler_scale = bbt_over;
} else if (bbt_bars > 1024) {
- bbt_ruler_scale = bbt_show_64;
+ bbt_ruler_scale = bbt_show_64;
} else if (bbt_bars > 256) {
- bbt_ruler_scale = bbt_show_16;
+ bbt_ruler_scale = bbt_show_16;
} else if (bbt_bars > 64) {
- bbt_ruler_scale = bbt_show_4;
+ bbt_ruler_scale = bbt_show_4;
} else if (bbt_bars > 10) {
- bbt_ruler_scale = bbt_show_1;
+ bbt_ruler_scale = bbt_show_1;
} else if (bbt_bars > 2) {
- bbt_ruler_scale = bbt_show_beats;
+ bbt_ruler_scale = bbt_show_beats;
} else if (bbt_bars > 0) {
- bbt_ruler_scale = bbt_show_ticks;
+ bbt_ruler_scale = bbt_show_ticks;
} else {
- bbt_ruler_scale = bbt_show_ticks_detail;
+ bbt_ruler_scale = bbt_show_ticks_detail;
}
if ((bbt_ruler_scale == bbt_show_ticks_detail) && (lower_beat.beats == upper_beat.beats) && (upper_beat.ticks - lower_beat.ticks <= Timecode::BBT_Time::ticks_per_beat / 4)) {
}
void
-Editor::set_minsec_ruler_scale (gdouble lower, gdouble upper)
+Editor::set_minsec_ruler_scale (framepos_t lower, framepos_t upper)
{
- framepos_t range;
framepos_t fr;
framepos_t spacer;
lower = 0;
}
upper += spacer;
- range = (framepos_t) (upper - lower);
+ framecnt_t const range = upper - lower;
if (range < (fr / 50)) {
minsec_mark_interval = fr / 1000; /* show 1/1000 seconds */
}
/* to prevent 'flashing' */
- if (lower > (spacer = (framepos_t)(128 * Editor::get_current_zoom ()))) {
+ if (lower > (spacer = (framepos_t) (128 * Editor::get_current_zoom ()))) {
lower = lower - spacer;
} else {
lower = 0;