1. "not found" is now indicated by a timepos_t::max() value, not a negative one.
2. if the direction to search is negative we should decrement (when possible)
before searching, to avoid finding the current position.
This fixes a special case of the loop/punch ruler, which
only had effect on session-reload due to a copy/edit bug
(canvas_transport_marker_bar_event used "range marker bar")
There already is a shaded coverage frame indicating
if a layer is audible. This leads to a more consistent view.
In addition changing layered mode now has to update the
colors (set_frame_color).
This fixes rendering of opaque MIDI regions (previously
MIDI regions were always transparent). This change provides a
way to "flatten" layered MIDI regions, while still allowing
to show the note-line and grid behind the regions.
> This group functionality can be convenient for performing
> intermediate compositing. One common use of a group is to
> render objects as opaque within the group, (so that they
> occlude each other), and then blend the result with
> translucence onto the destination.
https://www.cairographics.org/manual/cairo-cairo-t.html#cairo-push-group
The main use case where will be to render opaque layered
[MIDI] regions transparently onto a grid.
Now that both Audio And MIDI tracks support all three record
modes. Monitoring should be consistent. When recording
"Sound on Sound" does cue monitoring, while "layered" (opaque).
and "non-layered" monitors only the input.
Two differences remain: (1) when not recording MIDI tracks still
monitor both Input and Disk (unless Non-layered is set), and
a final special case is that MIDI tracks always monitor input
as fallback. the latter ties in with (2) audio tracks can
use hardware monitoring.
Change assumption that the "pos" argument to AutomationRegionView::add_automation_event is region-relative, by
making it global.
This did not affect non-MIDI automation because that used
AutomationTimeAxisView::add_automation_view() instead.
This fixes an issue when switching formats.
ExportFormatDialog::update_selection iterates e.g. WAV BWV.
If BWV was selected and a user selects WAV the following happpens
1. WAV is selected
2. BWV is deselected
3. Since BWF and WAV are the same format, ExportFormatManager
deselects WAV