cont'd work on piano roll highlighting.
This commit is contained in:
parent
f2495d9808
commit
344c435dae
|
@ -470,7 +470,7 @@ MidiRegionView::enter_internal()
|
||||||
void
|
void
|
||||||
MidiRegionView::leave_internal()
|
MidiRegionView::leave_internal()
|
||||||
{
|
{
|
||||||
trackview.editor().verbose_cursor()->hide ();
|
hide_verbose_cursor ();
|
||||||
remove_ghost_note ();
|
remove_ghost_note ();
|
||||||
|
|
||||||
if (_grabbed_keyboard) {
|
if (_grabbed_keyboard) {
|
||||||
|
@ -485,11 +485,6 @@ MidiRegionView::leave_internal()
|
||||||
if (frame_handle_end) {
|
if (frame_handle_end) {
|
||||||
frame_handle_end->raise_to_top();
|
frame_handle_end->raise_to_top();
|
||||||
}
|
}
|
||||||
|
|
||||||
MidiTimeAxisView* mtv = dynamic_cast<MidiTimeAxisView*>(&trackview);
|
|
||||||
if (mtv) {
|
|
||||||
mtv->set_note_highlight (NO_MIDI_NOTE);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bool
|
bool
|
||||||
|
@ -634,7 +629,7 @@ MidiRegionView::motion (GdkEventMotion* ev)
|
||||||
} else if (_ghost_note && editor.current_mouse_mode() == MouseContent) {
|
} else if (_ghost_note && editor.current_mouse_mode() == MouseContent) {
|
||||||
|
|
||||||
remove_ghost_note ();
|
remove_ghost_note ();
|
||||||
editor.verbose_cursor()->hide ();
|
hide_verbose_cursor ();
|
||||||
|
|
||||||
} else if (_ghost_note && editor.current_mouse_mode() == MouseDraw) {
|
} else if (_ghost_note && editor.current_mouse_mode() == MouseDraw) {
|
||||||
|
|
||||||
|
@ -658,7 +653,7 @@ MidiRegionView::motion (GdkEventMotion* ev)
|
||||||
editor.drags()->set (new NoteCreateDrag (dynamic_cast<Editor *> (&editor), group, this), (GdkEvent *) ev);
|
editor.drags()->set (new NoteCreateDrag (dynamic_cast<Editor *> (&editor), group, this), (GdkEvent *) ev);
|
||||||
_mouse_state = AddDragging;
|
_mouse_state = AddDragging;
|
||||||
remove_ghost_note ();
|
remove_ghost_note ();
|
||||||
editor.verbose_cursor()->hide ();
|
hide_verbose_cursor ();
|
||||||
return true;
|
return true;
|
||||||
} else if (m == MouseContent) {
|
} else if (m == MouseContent) {
|
||||||
editor.drags()->set (new MidiRubberbandSelectDrag (dynamic_cast<Editor *> (&editor), this), (GdkEvent *) ev);
|
editor.drags()->set (new MidiRubberbandSelectDrag (dynamic_cast<Editor *> (&editor), this), (GdkEvent *) ev);
|
||||||
|
@ -712,7 +707,7 @@ MidiRegionView::scroll (GdkEventScroll* ev)
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
trackview.editor().verbose_cursor()->hide ();
|
hide_verbose_cursor ();
|
||||||
|
|
||||||
bool fine = !Keyboard::modifier_state_contains (ev->state, Keyboard::SecondaryModifier);
|
bool fine = !Keyboard::modifier_state_contains (ev->state, Keyboard::SecondaryModifier);
|
||||||
bool together = Keyboard::modifier_state_contains (ev->state, Keyboard::TertiaryModifier);
|
bool together = Keyboard::modifier_state_contains (ev->state, Keyboard::TertiaryModifier);
|
||||||
|
@ -1387,7 +1382,7 @@ MidiRegionView::~MidiRegionView ()
|
||||||
{
|
{
|
||||||
in_destructor = true;
|
in_destructor = true;
|
||||||
|
|
||||||
trackview.editor().verbose_cursor()->hide ();
|
hide_verbose_cursor ();
|
||||||
|
|
||||||
note_delete_connection.disconnect ();
|
note_delete_connection.disconnect ();
|
||||||
|
|
||||||
|
@ -2130,6 +2125,7 @@ MidiRegionView::delete_selection()
|
||||||
_selection.clear();
|
_selection.clear();
|
||||||
|
|
||||||
apply_diff ();
|
apply_diff ();
|
||||||
|
hide_verbose_cursor ();
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
@ -2139,7 +2135,7 @@ MidiRegionView::delete_note (boost::shared_ptr<NoteType> n)
|
||||||
_note_diff_command->remove (n);
|
_note_diff_command->remove (n);
|
||||||
apply_diff ();
|
apply_diff ();
|
||||||
|
|
||||||
trackview.editor().verbose_cursor()->hide ();
|
hide_verbose_cursor ();
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
@ -3336,13 +3332,11 @@ MidiRegionView::note_entered(NoteBase* ev)
|
||||||
void
|
void
|
||||||
MidiRegionView::note_left (NoteBase*)
|
MidiRegionView::note_left (NoteBase*)
|
||||||
{
|
{
|
||||||
Editor* editor = dynamic_cast<Editor*>(&trackview.editor());
|
|
||||||
|
|
||||||
for (Selection::iterator i = _selection.begin(); i != _selection.end(); ++i) {
|
for (Selection::iterator i = _selection.begin(); i != _selection.end(); ++i) {
|
||||||
(*i)->hide_velocity ();
|
(*i)->hide_velocity ();
|
||||||
}
|
}
|
||||||
|
|
||||||
editor->verbose_cursor()->hide ();
|
hide_verbose_cursor ();
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
@ -3360,7 +3354,7 @@ MidiRegionView::patch_entered (PatchChange* p)
|
||||||
void
|
void
|
||||||
MidiRegionView::patch_left (PatchChange *)
|
MidiRegionView::patch_left (PatchChange *)
|
||||||
{
|
{
|
||||||
trackview.editor().verbose_cursor()->hide ();
|
hide_verbose_cursor ();
|
||||||
/* focus will transfer back via the enter-notify event sent to this
|
/* focus will transfer back via the enter-notify event sent to this
|
||||||
* midi region view.
|
* midi region view.
|
||||||
*/
|
*/
|
||||||
|
@ -3380,7 +3374,7 @@ MidiRegionView::sysex_entered (SysEx* p)
|
||||||
void
|
void
|
||||||
MidiRegionView::sysex_left (SysEx *)
|
MidiRegionView::sysex_left (SysEx *)
|
||||||
{
|
{
|
||||||
trackview.editor().verbose_cursor()->hide ();
|
hide_verbose_cursor ();
|
||||||
/* focus will transfer back via the enter-notify event sent to this
|
/* focus will transfer back via the enter-notify event sent to this
|
||||||
* midi region view.
|
* midi region view.
|
||||||
*/
|
*/
|
||||||
|
@ -3765,6 +3759,16 @@ MidiRegionView::remove_ghost_note ()
|
||||||
_ghost_note = 0;
|
_ghost_note = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
MidiRegionView::hide_verbose_cursor ()
|
||||||
|
{
|
||||||
|
trackview.editor().verbose_cursor()->hide ();
|
||||||
|
MidiTimeAxisView* mtv = dynamic_cast<MidiTimeAxisView*>(&trackview);
|
||||||
|
if (mtv) {
|
||||||
|
mtv->set_note_highlight (NO_MIDI_NOTE);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
MidiRegionView::snap_changed ()
|
MidiRegionView::snap_changed ()
|
||||||
{
|
{
|
||||||
|
|
|
@ -502,6 +502,7 @@ private:
|
||||||
void mouse_mode_changed ();
|
void mouse_mode_changed ();
|
||||||
void enter_internal ();
|
void enter_internal ();
|
||||||
void leave_internal ();
|
void leave_internal ();
|
||||||
|
void hide_verbose_cursor ();
|
||||||
|
|
||||||
framecnt_t _last_display_zoom;
|
framecnt_t _last_display_zoom;
|
||||||
|
|
||||||
|
|
|
@ -32,12 +32,12 @@ using namespace std;
|
||||||
using namespace Gtkmm2ext;
|
using namespace Gtkmm2ext;
|
||||||
|
|
||||||
PianoRollHeader::Color PianoRollHeader::white = PianoRollHeader::Color(0.77f, 0.78f, 0.76f);
|
PianoRollHeader::Color PianoRollHeader::white = PianoRollHeader::Color(0.77f, 0.78f, 0.76f);
|
||||||
PianoRollHeader::Color PianoRollHeader::white_highlight = PianoRollHeader::Color(1.00f, 0.50f, 0.50f);
|
PianoRollHeader::Color PianoRollHeader::white_highlight = PianoRollHeader::Color(1.00f, 0.40f, 0.40f);
|
||||||
PianoRollHeader::Color PianoRollHeader::white_shade_light = PianoRollHeader::Color(0.95f, 0.95f, 0.95f);
|
PianoRollHeader::Color PianoRollHeader::white_shade_light = PianoRollHeader::Color(0.95f, 0.95f, 0.95f);
|
||||||
PianoRollHeader::Color PianoRollHeader::white_shade_dark = PianoRollHeader::Color(0.56f, 0.56f, 0.56f);
|
PianoRollHeader::Color PianoRollHeader::white_shade_dark = PianoRollHeader::Color(0.56f, 0.56f, 0.56f);
|
||||||
|
|
||||||
PianoRollHeader::Color PianoRollHeader::black = PianoRollHeader::Color(0.24f, 0.24f, 0.24f);
|
PianoRollHeader::Color PianoRollHeader::black = PianoRollHeader::Color(0.24f, 0.24f, 0.24f);
|
||||||
PianoRollHeader::Color PianoRollHeader::black_highlight = PianoRollHeader::Color(0.50f, 0.10f, 0.10f);
|
PianoRollHeader::Color PianoRollHeader::black_highlight = PianoRollHeader::Color(0.60f, 0.10f, 0.10f);
|
||||||
PianoRollHeader::Color PianoRollHeader::black_shade_light = PianoRollHeader::Color(0.46f, 0.46f, 0.46f);
|
PianoRollHeader::Color PianoRollHeader::black_shade_light = PianoRollHeader::Color(0.46f, 0.46f, 0.46f);
|
||||||
PianoRollHeader::Color PianoRollHeader::black_shade_dark = PianoRollHeader::Color(0.1f, 0.1f, 0.1f);
|
PianoRollHeader::Color PianoRollHeader::black_shade_dark = PianoRollHeader::Color(0.1f, 0.1f, 0.1f);
|
||||||
|
|
||||||
|
@ -558,6 +558,10 @@ PianoRollHeader::on_button_release_event (GdkEventButton* ev)
|
||||||
|
|
||||||
void
|
void
|
||||||
PianoRollHeader::set_note_highlight (uint8_t note) {
|
PianoRollHeader::set_note_highlight (uint8_t note) {
|
||||||
|
if (_highlighted_note == note) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (_highlighted_note != NO_MIDI_NOTE) {
|
if (_highlighted_note != NO_MIDI_NOTE) {
|
||||||
if (note > _highlighted_note) {
|
if (note > _highlighted_note) {
|
||||||
invalidate_note_range (_highlighted_note, note);
|
invalidate_note_range (_highlighted_note, note);
|
||||||
|
|
Loading…
Reference in New Issue
Block a user