Commit Graph

37692 Commits

Author SHA1 Message Date
Robin Gareus 2a1d4ffce9
Add note about LuaSignal for windows 2023-07-05 19:38:51 +02:00
Robin Gareus 883a83aca2
Fix windows builds (Lua signal bitset 9b8040a9f4) 2023-07-05 19:36:25 +02:00
Robin Gareus d01dbcba83 Update minimp3
based on afb604c06b/minimp3.h
This reapplies be4bdb5365.
2023-07-05 18:05:33 +02:00
Robin Gareus 538bb73f99
Add example selection-changed Lua script 2023-07-04 21:21:07 +02:00
Robin Gareus 9b8040a9f4
Add Lua signal emitted when editor selection changed 2023-07-04 21:13:52 +02:00
Robin Gareus efed61af44
Amend d899441df1, fix duplicate device map entries 2023-07-03 19:57:55 +02:00
Robin Gareus b757dd9fd8
Vertically center markers
see also 64d633cd26
2023-07-03 18:35:56 +02:00
Robin Gareus 771cc4581e
LuaProc: use effective sample-rate, like other plugin instances 2023-07-03 00:31:21 +02:00
Robin Gareus a36ddb72dd
Correctly set sample-rate of plugins when loading a different session
Directly loading a new session (Session > Recent) stops the engine
when the sample-rate mismatches. All is fine.

When closing a session (Session > Close), the engine is kept running.
Loading a different session with different sample-rate shows
the "SR mismatch" dialog. Reconfiguring the engine then does not call
`Session::immediately_post_engine` again.
2023-07-03 00:13:20 +02:00
Robin Gareus 7e121f4e13
Fix alloc-dealloc-mismatch (malloc vs operator delete) 2023-07-02 23:54:16 +02:00
Robin Gareus 168b67bd17
Allow to initiate Rubberband-drag on blank Trackview 2023-07-02 21:19:46 +02:00
Robin Gareus 1f4490fff9
Allow to select region-gain points via rubber-band drag 2023-07-02 20:47:41 +02:00
Paul Davis 64d633cd26 amend/fix b490f7d2a1 to correctly (?) place marker text 2023-07-01 21:07:25 -06:00
Paul Davis 3be6ae57ba gtkmm2ext: provide an additional ink extents method to get descender 2023-07-01 21:07:25 -06:00
Robin Gareus d899441df1
ALSA: disambiguate multiple soundcards with the same name 2023-07-02 00:17:58 +02:00
Paul Davis d688af76c0 clean up mapping bar context menu, extend with clear tempos 2023-06-30 15:50:47 -06:00
Paul Davis 20e1b6b287 temporal: add API to clear tempos in various ways 2023-06-30 15:50:25 -06:00
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