Indicate musical position lock style of regions and locations using BEAMED EIGHTH NOTES in name

Also attempt to indicate lock type with symbols CROSS OF JERUSALEM and
LEFTWARDS ARROW TO BAR OVER RIGHTWARDS ARROW TO BAR
This commit is contained in:
nick_m 2017-06-17 04:25:50 +10:00
parent 29e580a249
commit 33c06fd3ca
2 changed files with 16 additions and 6 deletions

View File

@ -165,6 +165,7 @@ Editor::add_new_location_internal (Location* location)
}
location->name_changed.connect (*this, invalidator (*this), boost::bind (&Editor::location_changed, this, _1), gui_context());
location->position_lock_style_changed.connect (*this, invalidator (*this), boost::bind (&Editor::location_changed, this, _1), gui_context());
location->FlagsChanged.connect (*this, invalidator (*this), boost::bind (&Editor::location_flags_changed, this, location), gui_context());
pair<Location*,LocationMarkers*> newpair;
@ -205,7 +206,12 @@ Editor::location_changed (Location *location)
return;
}
lam->set_name (location->name ());
if (location->position_lock_style() == MusicTime) {
lam->set_name ("\u266B" + location->name ()); // BEAMED EIGHTH NOTES
} else {
lam->set_name (location->name ());
}
lam->set_position (location->start(), location->end());
if (location->is_auto_loop()) {

View File

@ -377,6 +377,9 @@ RegionView::region_changed (const PropertyChange& what_changed)
if (what_changed.contains (ARDOUR::Properties::name)) {
region_renamed ();
}
if (what_changed.contains (ARDOUR::Properties::position_lock_style)) {
region_renamed ();
}
if (what_changed.contains (ARDOUR::Properties::sync_position)) {
region_sync_changed ();
}
@ -559,21 +562,22 @@ RegionView::make_name () const
std::string str;
// XXX nice to have some good icons for this
if (_region->position_lock_style() == MusicTime) {
str += "\u266B"; // BEAMED EIGHTH NOTES
}
if (_region->locked()) {
str += '>';
str += "\u2629"; // CROSS OF JERUSALEM
str += _region->name();
str += '<';
} else if (_region->position_locked()) {
str += '{';
str += "\u21B9"; // LEFTWARDS ARROW TO BAR OVER RIGHTWARDS ARROW TO BAR
str += _region->name();
str += '}';
} else if (_region->video_locked()) {
str += '[';
str += _region->name();
str += ']';
} else {
str = _region->name();
str += _region->name();
}
if (_region->muted()) {