13
0
Commit Graph

19520 Commits

Author SHA1 Message Date
38c5ae4237
Reread MIDI region when time-domain changes
This effectively triggers a Session::request_overwrite_buffer
via Playlist::notify_contents_changed when the time-domain of a
Region changes.

When the time domain of a MIDI region changes, Region boundaries
and events positions change ever so slightly. The playlist has
to be rendered again to take this into account.

When MIDI regions with different time-domains are layered, notes
may not be resolved in correct order. Previously changing time-domains
to address this did not result in the playlist being reread.
2022-09-11 00:57:12 +02:00
9cfcca8ba4 library downloading: various fixes to download process 2022-09-10 15:19:02 -06:00
16ef3dd6b1
Fix MR:render_range debug output (nutempo) 2022-09-10 18:19:58 +02:00
644136bca0
NO-OP: re-indent EventsSortByTimeAndType 2022-09-10 18:19:58 +02:00
c457dd2eac
Fix EventsSortByTimeAndType (type/event-type API mismatch)
Correct use would be
`parameter_is_midi (midi_parameter_type (ev->type()))`
However that only checks for control params. Note events
are excluded.
2022-09-10 18:19:58 +02:00
b67b18483c
Implement MIDI region automation (CC, PGM, PB) opaqueness
This adds a special case of "flush/resolve" to restore the
state of an upper layer opaque MIDI region while at the same time
resolving notes of a lower layer region.
2022-09-10 18:19:58 +02:00
5ad7361b28
MidiStateTracker::flush restore CC (bank) before PGM 2022-09-10 18:19:57 +02:00
John Emmas
5737468768 libardour: some new classes get used in gtk2_ardour (so need to get exported) 2022-09-10 11:39:53 +01:00
John Emmas
7418da4703 Add a missing #include
(needed for call to std::back_insert_iterator)
2022-09-10 10:20:37 +01:00
6f7188dc49
Add Lua bindings for MIDI channel mode/mask 2022-09-10 04:28:55 +02:00
edd7800009 remove unused variable 2022-09-09 16:32:42 -06:00
ed2a436f15 remove debug output from MidiSource:midi_read() 2022-09-09 16:32:42 -06:00
95eb936daf
Stop MIDI notes at opaque region bounds above a layered region 2022-09-09 22:27:59 +02:00
94637272e1
Mark MIDI regons as transparent by default, and convert old sessions 2022-09-09 19:07:49 +02:00
f3cb657179
Implement MIDI region opaqueness (part 1)
This honors transparent/opaque property of MIDI regions.
Previously all MIDI regions played as if they were unconditionally
transparent.

Further work is needed for backwards compatibility (and default
setting).
2022-09-09 18:37:34 +02:00
e62f1093ea
Add playlist APIs to find audible regions
This traverses the layered region stack at a given time,
taking both mute and transparency into account.
2022-09-09 17:31:20 +02:00
9781c1baca triggerbox: prevent downstream crashes if a tempo map or other change invalidates MidiTrigger iter
The iterator into the model can become incorrect in the sense that it is no longer the correct
next event to play. This can happen at least with a tempo map change, and possible under other
conditions. Catch this when it happens, and act as if we reached the end of the trigger
2022-09-09 09:21:43 -06:00
76f44c6025 library mgmt API tweaks 2022-09-08 18:19:20 -06:00
355685d8b9 2 second time out for library description fetch, to (maybe) avoid threading 2022-09-08 07:47:14 -06:00
57430f33c2
Fix file-archive, curl API 2022-09-08 15:46:06 +02:00
288c58c5de
Fix/add missing Lua enums 2022-09-08 05:34:05 +02:00
5579cf3289
Remove ancient unused check for FLAC/OGG support
Our build-systems do not even have sndfile-info, and we use
pkg-config now
2022-09-08 02:22:21 +02:00
73331ae46a libpbd: fix decl of remove_extra_whitespaces 2022-09-07 17:56:52 -06:00
ff2f8f4066 add copyright notices to new files 2022-09-07 17:14:32 -06:00
10ac1901dd push2: temporarily comment display of jump loop actions due to cairo oddity 2022-09-07 17:03:08 -06:00
fabd111b1f library downloading: continue to improve backend API and implementation 2022-09-07 17:03:08 -06:00
5563117a1b add remove_extra_whitespace() to libpbd 2022-09-07 17:03:08 -06:00
bd9fe31778 tweaks to library & downloader API 2022-09-07 17:03:08 -06:00
78d96ed0c6 library fetcher: API changes and implementation improvements including threaded download 2022-09-07 17:03:08 -06:00
d388a50579 loop libraries: tentative steps towards fetching and installing ardour.org loop libs 2022-09-07 17:03:08 -06:00
26b5700957 filearchive: extend API 2022-09-07 17:03:08 -06:00
2a7d528c5d
Update and consolidate gettext.h
This fixes compilation with --no-nls on modern systems
2022-09-07 00:09:54 +02:00
db5cb4ec94 Expose Send polarity_control directly 2022-09-04 20:14:09 +02:00
1eab84b7da push2: remove unconditional setting of canvas item names 2022-09-03 17:48:03 -06:00
4863e6b45e Fix mac and windows builds (resolve namespace ambiguities) 2022-09-04 01:37:48 +02:00
183604a66b Add polarity invert switch to sends
This allows to invert polarity of the signals of all channels on the
send path. There is intentionally no per channel control.

see https://discourse.ardour.org/t/send-phase-swtich/107564
2022-09-04 01:35:24 +02:00
44515cb513 Properly describe polarity invert controls 2022-09-04 01:35:24 +02:00
97540dafde push2: update cue layout when tracks are added 2022-09-03 16:46:41 -06:00
2d4042abd7 push2: fix handling of pads-as-note-entry during selection changes 2022-09-03 16:46:41 -06:00
b3b6e94297 push2: fix canvas level meter object so that it draws 2022-09-03 16:46:41 -06:00
b7d86cb118 push2: track mix layout needs to be setup even if not currently visible 2022-09-03 16:46:41 -06:00
f13c4d1264 canvas: NOOP - meter, whitespace adjustment 2022-09-03 16:46:41 -06:00
e5bf2b7ee8 canvas: style, using braces with conditional 2022-09-03 16:46:41 -06:00
2313e3d333 canvas: meter bounding box does not rely on being on a canvas 2022-09-03 16:46:41 -06:00
b2ce5f0616 canvas: do not strip layout-sensitivity when adding items to a container 2022-09-03 16:46:41 -06:00
384530984a canvas: make "debug_render" into a per-canvas member variable
This allows us to debug rendering in specific canvases, rather
than all of them.
2022-09-03 16:46:41 -06:00
36663210c9 canvas: improve debug trace output during Box::reposition_children() 2022-09-03 16:46:41 -06:00
9697187037 Fix erractic timecode detection when extracting LTC from video
Some music using square waves can inadvertently be interpreted as valid
LTC frame. However the encoded data is not a valid timecode, which can
lead huge A/V offsets, or other issues.
2022-09-03 21:39:26 +02:00
96a9c1df7f push2: bug fixes for pad color mgmt and other fixes/improvements 2022-09-02 17:57:46 -06:00
49e6066306 Fix mac and windows builds (resolve namespace ambiguities) 2022-09-02 12:44:44 +02:00