mirror of
https://github.com/Ardour/ardour.git
synced 2025-12-10 08:36:32 +01:00
Fix note range toggling (ie actually change visible range when menu option selected). Still some issue with initial value...
Don't raise tempo lines to top on editor canvas, they steal events. Same problem on time canvas, but harder to solve... git-svn-id: svn://localhost/ardour2/trunk@2255 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
parent
f68caf23dd
commit
684ef0eb7a
3 changed files with 29 additions and 5 deletions
|
|
@ -193,11 +193,12 @@ Editor::draw_measures ()
|
||||||
tempo_lines->draw(*current_bbt_points, frames_per_unit);
|
tempo_lines->draw(*current_bbt_points, frames_per_unit);
|
||||||
marker_tempo_lines->draw(*current_bbt_points, frames_per_unit);
|
marker_tempo_lines->draw(*current_bbt_points, frames_per_unit);
|
||||||
|
|
||||||
/* the cursors are always on top of everything */
|
/*time_line_group->raise_to_top();
|
||||||
|
time_line_group->lower(1);*/
|
||||||
time_line_group->raise_to_top();
|
|
||||||
marker_time_line_group->raise_to_top();
|
marker_time_line_group->raise_to_top();
|
||||||
|
//marker_time_line_group->lower(1);
|
||||||
|
|
||||||
|
/* the cursors are always on top of everything */
|
||||||
cursor_group->raise_to_top();
|
cursor_group->raise_to_top();
|
||||||
|
|
||||||
return;
|
return;
|
||||||
|
|
|
||||||
|
|
@ -57,7 +57,7 @@ MidiStreamView::MidiStreamView (MidiTimeAxisView& tv)
|
||||||
: StreamView (tv)
|
: StreamView (tv)
|
||||||
, _range(ContentsRange)
|
, _range(ContentsRange)
|
||||||
, _lowest_note(60)
|
, _lowest_note(60)
|
||||||
, _highest_note(71)
|
, _highest_note(60)
|
||||||
{
|
{
|
||||||
if (tv.is_track())
|
if (tv.is_track())
|
||||||
stream_base_color = ARDOUR_UI::config()->canvasvar_MidiTrackBase.get();
|
stream_base_color = ARDOUR_UI::config()->canvasvar_MidiTrackBase.get();
|
||||||
|
|
@ -190,6 +190,14 @@ MidiStreamView::redisplay_diskstream ()
|
||||||
_trackview.get_diskstream()->playlist()->foreach_region (static_cast<StreamView*>(this), &StreamView::add_region_view);
|
_trackview.get_diskstream()->playlist()->foreach_region (static_cast<StreamView*>(this), &StreamView::add_region_view);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Always display at least one octave */
|
||||||
|
if (_highest_note == 127) {
|
||||||
|
if (_lowest_note > (127 - 11))
|
||||||
|
_lowest_note = 127 - 11;
|
||||||
|
} else if (_highest_note < _lowest_note + 11) {
|
||||||
|
_highest_note = _lowest_note + 11;
|
||||||
|
}
|
||||||
|
|
||||||
for (i = region_views.begin(); i != region_views.end(); ) {
|
for (i = region_views.begin(); i != region_views.end(); ) {
|
||||||
tmp = i;
|
tmp = i;
|
||||||
tmp++;
|
tmp++;
|
||||||
|
|
@ -240,6 +248,21 @@ MidiStreamView::draw_note_separators()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void
|
||||||
|
MidiStreamView::set_note_range(VisibleNoteRange r)
|
||||||
|
{
|
||||||
|
_range = r;
|
||||||
|
if (r == FullRange) {
|
||||||
|
_lowest_note = 0;
|
||||||
|
_highest_note = 127;
|
||||||
|
} else {
|
||||||
|
_lowest_note = 60;
|
||||||
|
_highest_note = 60;
|
||||||
|
}
|
||||||
|
redisplay_diskstream();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
MidiStreamView::update_bounds(uint8_t note_num)
|
MidiStreamView::update_bounds(uint8_t note_num)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -66,7 +66,7 @@ class MidiStreamView : public StreamView
|
||||||
};
|
};
|
||||||
|
|
||||||
VisibleNoteRange note_range() { return _range; }
|
VisibleNoteRange note_range() { return _range; }
|
||||||
void set_note_range(VisibleNoteRange r) { _range = r; }
|
void set_note_range(VisibleNoteRange r);
|
||||||
|
|
||||||
uint8_t lowest_note() const { return (_range == FullRange) ? 0 : _lowest_note; }
|
uint8_t lowest_note() const { return (_range == FullRange) ? 0 : _lowest_note; }
|
||||||
uint8_t highest_note() const { return (_range == FullRange) ? 127 : _highest_note; }
|
uint8_t highest_note() const { return (_range == FullRange) ? 127 : _highest_note; }
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue