Swap tempo/meter colours when hovering. Use entered marker for these as well.
- Note : entered_marker modifies the 'p' press, locating to the currently hovered-over marker.
This commit is contained in:
parent
949dd8245d
commit
869a9cb5df
@ -1688,6 +1688,8 @@ Editor::enter_handler (ArdourCanvas::Item* item, GdkEvent* event, ItemType item_
|
||||
{
|
||||
ControlPoint* cp;
|
||||
ArdourMarker * marker;
|
||||
MeterMarker* m_marker = 0;
|
||||
TempoMarker* t_marker = 0;
|
||||
double fraction;
|
||||
bool ret = true;
|
||||
|
||||
@ -1745,9 +1747,22 @@ Editor::enter_handler (ArdourCanvas::Item* item, GdkEvent* event, ItemType item_
|
||||
}
|
||||
entered_marker = marker;
|
||||
marker->set_color_rgba (UIConfiguration::instance().color ("entered marker"));
|
||||
// fall through
|
||||
break;
|
||||
|
||||
case MeterMarkerItem:
|
||||
if ((m_marker = static_cast<MeterMarker *> (item->get_data ("marker"))) == 0) {
|
||||
break;
|
||||
}
|
||||
entered_marker = m_marker;
|
||||
m_marker->set_enter_color ();
|
||||
break;
|
||||
|
||||
case TempoMarkerItem:
|
||||
if ((t_marker = static_cast<TempoMarker *> (item->get_data ("marker"))) == 0) {
|
||||
break;
|
||||
}
|
||||
entered_marker = t_marker;
|
||||
t_marker->set_enter_color ();
|
||||
break;
|
||||
|
||||
case FadeInHandleItem:
|
||||
@ -1822,6 +1837,8 @@ Editor::leave_handler (ArdourCanvas::Item* item, GdkEvent*, ItemType item_type)
|
||||
{
|
||||
AutomationLine* al;
|
||||
ArdourMarker *marker;
|
||||
TempoMarker *t_marker;
|
||||
MeterMarker *m_marker;
|
||||
Location *loc;
|
||||
bool is_start;
|
||||
bool ret = true;
|
||||
@ -1854,9 +1871,22 @@ Editor::leave_handler (ArdourCanvas::Item* item, GdkEvent*, ItemType item_type)
|
||||
if ((loc = find_location_from_marker (marker, is_start)) != 0) {
|
||||
location_flags_changed (loc);
|
||||
}
|
||||
// fall through
|
||||
break;
|
||||
|
||||
case MeterMarkerItem:
|
||||
if ((m_marker = static_cast<MeterMarker *> (item->get_data ("marker"))) == 0) {
|
||||
break;
|
||||
}
|
||||
entered_marker = 0;
|
||||
m_marker->set_leave_color ();
|
||||
break;
|
||||
|
||||
case TempoMarkerItem:
|
||||
if ((t_marker = static_cast<TempoMarker *> (item->get_data ("marker"))) == 0) {
|
||||
break;
|
||||
}
|
||||
entered_marker = 0;
|
||||
t_marker->set_leave_color ();
|
||||
break;
|
||||
|
||||
case FadeInTrimHandleItem:
|
||||
|
@ -556,6 +556,26 @@ TempoMarker::update_height_mark (const double& ratio)
|
||||
mark->set (*points);
|
||||
}
|
||||
|
||||
void
|
||||
TempoMarker::set_enter_color ()
|
||||
{
|
||||
if (_tempo.position_lock_style() == MusicTime) {
|
||||
set_color_rgba (UIConfiguration::instance().color ("tempo marker"));
|
||||
} else {
|
||||
set_color_rgba (UIConfiguration::instance().color ("tempo marker music"));
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
TempoMarker::set_leave_color ()
|
||||
{
|
||||
if (_tempo.position_lock_style() == MusicTime) {
|
||||
set_color_rgba (UIConfiguration::instance().color ("tempo marker music"));
|
||||
} else {
|
||||
set_color_rgba (UIConfiguration::instance().color ("tempo marker"));
|
||||
}
|
||||
}
|
||||
|
||||
/***********************************************************************/
|
||||
|
||||
MeterMarker::MeterMarker (PublicEditor& editor, ArdourCanvas::Container& parent, guint32 rgba, const string& text,
|
||||
@ -571,3 +591,23 @@ MeterMarker::~MeterMarker ()
|
||||
{
|
||||
}
|
||||
|
||||
void
|
||||
MeterMarker::set_enter_color ()
|
||||
{
|
||||
if (_meter.position_lock_style() == MusicTime) {
|
||||
set_color_rgba (UIConfiguration::instance().color ("meter marker"));
|
||||
} else {
|
||||
set_color_rgba (UIConfiguration::instance().color ("meter marker music"));
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
MeterMarker::set_leave_color ()
|
||||
{
|
||||
if (_meter.position_lock_style() == MusicTime) {
|
||||
set_color_rgba (UIConfiguration::instance().color ("meter marker music"));
|
||||
} else {
|
||||
set_color_rgba (UIConfiguration::instance().color ("meter marker"));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -146,6 +146,9 @@ class TempoMarker : public ArdourMarker
|
||||
ARDOUR::TempoSection& tempo() const { return _tempo; }
|
||||
|
||||
void update_height_mark (const double& ratio);
|
||||
void set_enter_color();
|
||||
void set_leave_color();
|
||||
|
||||
private:
|
||||
ARDOUR::TempoSection& _tempo;
|
||||
};
|
||||
@ -158,6 +161,9 @@ class MeterMarker : public ArdourMarker
|
||||
|
||||
ARDOUR::MeterSection& meter() const { return _meter; }
|
||||
|
||||
void set_enter_color();
|
||||
void set_leave_color();
|
||||
|
||||
private:
|
||||
ARDOUR::MeterSection& _meter;
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user