mirror of
https://github.com/Ardour/ardour.git
synced 2025-12-15 19:16:40 +01:00
ardour has a new ruler
The mapping bar is where tempo mapping operations will take place
This commit is contained in:
parent
38bb89c110
commit
18249f7395
20 changed files with 87 additions and 8 deletions
|
|
@ -173,8 +173,9 @@ Editor::initialize_rulers ()
|
|||
lab_children.push_back (Element(timecode_label, PACK_SHRINK, PACK_START));
|
||||
lab_children.push_back (Element(samples_label, PACK_SHRINK, PACK_START));
|
||||
lab_children.push_back (Element(bbt_label, PACK_SHRINK, PACK_START));
|
||||
lab_children.push_back (Element(meter_label, PACK_SHRINK, PACK_START));
|
||||
lab_children.push_back (Element(mapping_label, PACK_SHRINK, PACK_START));
|
||||
lab_children.push_back (Element(tempo_label, PACK_SHRINK, PACK_START));
|
||||
lab_children.push_back (Element(meter_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));
|
||||
|
|
@ -253,6 +254,11 @@ Editor::popup_ruler_menu (timepos_t const & where, ItemType t)
|
|||
}
|
||||
break;
|
||||
|
||||
case MappingBarItem:
|
||||
ruler_items.push_back (MenuElem (_("New BBT Marker"), sigc::bind (sigc::mem_fun(*this, &Editor::mouse_add_new_tempo_event), where)));
|
||||
ruler_items.push_back (MenuElem (_("New Tempo Marker"), sigc::bind (sigc::mem_fun(*this, &Editor::mouse_add_new_tempo_event), where)));
|
||||
break;
|
||||
|
||||
case TempoBarItem:
|
||||
case TempoCurveItem:
|
||||
ruler_items.push_back (MenuElem (_("New Tempo"), sigc::bind (sigc::mem_fun(*this, &Editor::mouse_add_new_tempo_event), where)));
|
||||
|
|
@ -328,6 +334,7 @@ Editor::store_ruler_visibility ()
|
|||
node->set_property (X_("bbt"), ruler_bbt_action->get_active());
|
||||
node->set_property (X_("meter"), ruler_meter_action->get_active());
|
||||
node->set_property (X_("tempo"), ruler_tempo_action->get_active());
|
||||
node->set_property (X_("mapping"), ruler_mapping_action->get_active());
|
||||
node->set_property (X_("rangemarker"), ruler_range_action->get_active());
|
||||
node->set_property (X_("transportmarker"), ruler_loop_punch_action->get_active());
|
||||
node->set_property (X_("cdmarker"), ruler_cd_marker_action->get_active());
|
||||
|
|
@ -362,6 +369,9 @@ Editor::restore_ruler_visibility ()
|
|||
if (node->get_property ("tempo", yn)) {
|
||||
ruler_tempo_action->set_active (yn);
|
||||
}
|
||||
if (node->get_property ("mapping", yn)) {
|
||||
ruler_mapping_action->set_active (yn);
|
||||
}
|
||||
if (node->get_property ("meter", yn)) {
|
||||
ruler_meter_action->set_active (yn);
|
||||
}
|
||||
|
|
@ -441,6 +451,7 @@ Editor::update_ruler_visibility ()
|
|||
/* gtk update probs require this (damn) */
|
||||
meter_label.hide();
|
||||
tempo_label.hide();
|
||||
mapping_label.hide();
|
||||
range_mark_label.hide();
|
||||
transport_mark_label.hide();
|
||||
cd_mark_label.hide();
|
||||
|
|
@ -509,19 +520,19 @@ Editor::update_ruler_visibility ()
|
|||
bbt_label.hide();
|
||||
}
|
||||
|
||||
if (ruler_meter_action->get_active()) {
|
||||
old_unit_pos = meter_group->position().y;
|
||||
if (ruler_mapping_action->get_active()) {
|
||||
old_unit_pos = mapping_group->position().y;
|
||||
if (tbpos != old_unit_pos) {
|
||||
meter_group->move (ArdourCanvas::Duple (0.0, tbpos - old_unit_pos));
|
||||
mapping_group->move (ArdourCanvas::Duple (0.0, tbpos - old_unit_pos));
|
||||
}
|
||||
meter_group->show();
|
||||
meter_label.show();
|
||||
mapping_group->show();
|
||||
mapping_label.show();
|
||||
tbpos += timebar_height;
|
||||
tbgpos += timebar_height;
|
||||
visible_timebars++;
|
||||
} else {
|
||||
meter_group->hide();
|
||||
meter_label.hide();
|
||||
mapping_group->hide();
|
||||
mapping_label.hide();
|
||||
}
|
||||
|
||||
if (ruler_tempo_action->get_active()) {
|
||||
|
|
@ -539,6 +550,21 @@ Editor::update_ruler_visibility ()
|
|||
tempo_label.hide();
|
||||
}
|
||||
|
||||
if (ruler_meter_action->get_active()) {
|
||||
old_unit_pos = meter_group->position().y;
|
||||
if (tbpos != old_unit_pos) {
|
||||
meter_group->move (ArdourCanvas::Duple (0.0, tbpos - old_unit_pos));
|
||||
}
|
||||
meter_group->show();
|
||||
meter_label.show();
|
||||
tbpos += timebar_height;
|
||||
tbgpos += timebar_height;
|
||||
visible_timebars++;
|
||||
} else {
|
||||
meter_group->hide();
|
||||
meter_label.hide();
|
||||
}
|
||||
|
||||
if (ruler_range_action->get_active()) {
|
||||
old_unit_pos = range_marker_group->position().y;
|
||||
if (tbpos != old_unit_pos) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue