Commit Graph

37675 Commits

Author SHA1 Message Date
Paul Davis a8c2585cdc remove AudioEngine::destroy() calls from various test/util code
ARDOUR::cleanup() does this, and the engine must exist during port deregistration.
2023-06-30 12:58:43 -06:00
Paul Davis bfa13ad714 temporal: reference time for BBT_Argument is always superclocks (GUI) 2023-06-30 12:10:50 -06:00
Paul Davis 3307dcfcb2 temporal: reference time for BBT_Argument is always superclocks 2023-06-30 12:10:50 -06:00
Paul Davis 16c9d91641 temporal: remove impossible get_tempo_and_meter (..., bbt, ...) method 2023-06-30 12:10:50 -06:00
Paul Davis a591fb64a3 temporal: rework ::get_grid() to avoid get_tempo_and_meter (..., bbt, ...) 2023-06-30 12:10:50 -06:00
Paul Davis 3513debba8 temporal: NO-OP (tiny variable rename) 2023-06-30 12:10:50 -06:00
Paul Davis d94382f8a3 another autofication 2023-06-30 12:10:50 -06:00
Robin Gareus d0fe0993a7
LV2: allow to split cycles w/MIDI
See also 64e2f16e06
2023-06-30 17:46:05 +02:00
Robin Gareus be3d3a6d00
LuaProc: allow plugin to prefer a regular block length
This equivalent to http://lv2plug.in/ns/ext/buf-size#coarseBlockLength
2023-06-30 17:21:49 +02:00
Robin Gareus 45b2791341
MidiStateTracker micro-optimization
This replaces 128 multiplications in each inner loop with
a single bit-shift.
2023-06-30 17:12:16 +02:00
Robin Gareus b51cf0ed95
Plugin: fix additive note resolution
When stopping transport in the middle of a note, each plugin
will resolve the note, resulting in multiple duplicate note-off
events.
2023-06-30 17:12:16 +02:00
Robin Gareus 71d45286f4
LuaProc: sort MIDI events
This allows plugins to produce an unsorted list of events.
see also https://discourse.ardour.org/t/lua-arpeggiator-plugin-anyone/108862/64?u=x42
2023-06-30 17:12:16 +02:00
Robin Gareus c5511040ec
MidiBuffer: allow for partial processing with offset
AudioBuffer::read_from() only replaces data within the given
range (offset .. n_samples + offset) leaving the rest of the
buffer untouched.

With in-place processing, where the same MIDI buffer is used
for input and output, each sub-cycle must only clear the
processed range, while leaving the rest of the buffer
untouched.
2023-06-30 17:12:16 +02:00
Robin Gareus 64e2f16e06
LV2: apply offset to MIDI events 2023-06-30 17:12:16 +02:00
Robin Gareus 8558b1f99e
AudioUnit: apply offset to MIDI events 2023-06-30 17:12:16 +02:00
Robin Gareus c352347eaa
LuaProc: offset MIDI events when splitting cycles 2023-06-30 17:12:16 +02:00
Robin Gareus 9242e615ce
Plugin: track only events for current cycle 2023-06-30 17:12:15 +02:00
Paul Davis e756786a13 bbt markers: remove tempo&meter marker on deletion 2023-06-28 18:05:34 -06:00
Paul Davis ac491fce0e bbt markers: now have an (insensitive) tempo and meter marker visible
probably needs more work for event handling on the tempo and
meter markers.
2023-06-28 18:03:38 -06:00
Paul Davis b490f7d2a1 markers: fix position of BBT marker text (tiny tweak) 2023-06-28 18:03:38 -06:00
Robin Gareus e6bed9330f
CoreMIDI: fix capture/playback alignment
MIDI playback used samples instead of usec.
MIDI capture used time-stamp from previous cycle.
buffer-size changes were not applied to MIDI port latency
2023-06-29 00:32:46 +02:00
Robin Gareus bef4596dd1
NO-OP: whitespace 2023-06-29 00:32:46 +02:00
Robin Gareus 651dcbc96e
CoreAudio: Remove unused API 2023-06-29 00:32:46 +02:00
Robin Gareus 9a010404d1
CoreMIDI: Remove unused API 2023-06-29 00:32:43 +02:00
Paul Davis c53a476f15 allow drawing automation control points in mouse object mode
This is a tentative change and if it proves unwise we can back it out.
I just find it awkward to have to change modes to draw when it is
completely obvious whether I am drawing or not.
2023-06-28 13:44:59 -06:00
Paul Davis 99c87e0614 no smart mode behavior for automation region views (it makes no sense) 2023-06-28 13:44:59 -06:00
Paul Davis 36769dd94c part 2 of showing region selection in MIDI CC (automation) tracks 2023-06-28 13:44:59 -06:00
Paul Davis 64b08a1c70 when a parent (audio/MIDI) regionview is selected, raise matching AutomationRegionView
Currently, we only use AutomationRegionView to show MIDI CC data
2023-06-28 13:44:59 -06:00
Paul Davis 78037a532c when displaying region selecting, compare regions not regionviews
This worked before because nothing happened to AutomationRegionViews
when an AudioRegionView or MIDIRegionView was selected, and so
testing based on the regionview worked (the potential RV could
be the actual RV).

But when displaying region selection (in any way) on other TimeAxisViews,
the correct test is whether the RegionView shows the same region
as the selected region(view).
2023-06-28 13:44:59 -06:00
Paul Davis ed48758fb6 NO-OP: add comment 2023-06-28 13:44:59 -06:00
Robin Gareus ee0693d121
Properly clear preset-list (compare to invalidate_preset_cache) 2023-06-28 19:16:16 +02:00
Robin Gareus f9396cc19b
Add example lua script presets 2023-06-28 19:10:34 +02:00
Robin Gareus fc08771651
LuaProc: implement factory presets 2023-06-28 19:10:34 +02:00
Paul Davis e54e24a7a0 no need for two raise-to-top; set_velocity_mode() will do it 2023-06-27 14:07:47 -06:00
Paul Davis 58a6fcfe37 lollis: note selection should move corresponding lolli to top 2023-06-27 14:07:31 -06:00
Paul Davis ce1ec1107c fix layering of automation views
This code is awful, and ought to be restricted only to velocity lanes by
a better design
2023-06-27 12:53:08 -06:00
Paul Davis 294de8d64f no automation line event stuff for velocity tracks (for now) 2023-06-27 09:42:14 -06:00
Paul Davis e6b4d38e52 remove debug output 2023-06-27 09:21:56 -06:00
Paul Davis 1febe07480 lollis: use layering to enable editing of overlapping regions 2023-06-27 09:19:29 -06:00
Paul Davis f7176b411e lollis: fix crash when a note is removed 2023-06-26 16:28:32 -06:00
Paul Davis 57fc25c28d lollis: tweak color of dragging line (still not sure about this) 2023-06-26 14:18:18 -06:00
Paul Davis 7dc532a646 lollis: only allow velocity editing on currently selected region 2023-06-26 14:18:18 -06:00
Paul Davis 6ef84ca376 increase transparency of velocity ghost regions 2023-06-26 14:18:18 -06:00
Paul Davis b3de53eb95 when a playlist is relayered, relayer ghost regions too 2023-06-26 14:18:18 -06:00
Paul Davis b5c9c6a5c4 fix displayed name for velocity automation 2023-06-26 14:18:18 -06:00
Paul Davis 296d0756a1 lollis: add left/right|earlier/later outlines to ghost region 2023-06-26 14:18:18 -06:00
Paul Davis 744208f556 lollis: no more channel-based choice, just a single check menu item like gain/pan/etc. 2023-06-26 14:18:18 -06:00
Paul Davis 60256282e3 lollis: make a single drag be represented by a single Command object (for undo/redo) 2023-06-26 14:18:18 -06:00
Paul Davis 006779d4c3 lollis: better selection algorithm during drag, plus drawn line 2023-06-26 14:18:18 -06:00
Paul Davis 91500795d8 canvas: extend PolyItem API with ::add_point() 2023-06-26 14:18:18 -06:00