Paul Davis
637f22508b
Evoral::Sequence: tweak DEBUG_TRACE messages during note removal
2025-10-31 13:24:35 -06:00
Paul Davis
391fe97693
triggerbox: if clip recording would start immediately, delay by slot.quantization()
2025-10-27 19:42:23 -06:00
Paul Davis
3762743691
remove debug output
2025-10-27 16:05:48 -06:00
Paul Davis
e6b20df671
if Region::tempo_map() finds no tempo info in the source, use the global map
2025-10-27 16:02:47 -06:00
Paul Davis
3b6b1bdd93
triggerbox: change API for finish_recording() and captured() to not require BufferSet
2025-10-27 14:32:54 -06:00
Paul Davis
1400fe012e
clip recording: store tempo and meter for audio files created during clip recording
...
Information taken from the timeline - we assume you're going to play in time with the tempo map.
Future work: no other material in session - determine tempo (and meter? - super hard) from
recorded clip
2025-10-27 11:09:54 -06:00
Paul Davis
6badce2d3a
triggerbox: modify source-building API to include timeline position
2025-10-27 10:52:07 -06:00
Paul Davis
9194d93213
NO-OP: correct comment
2025-10-27 10:51:45 -06:00
Robin Gareus
d2b1b6f8ed
Fix importing Type-1 SMF
...
* handle files with just one track (no meta-data)
* fix splitting by channel (ignore meta-data only tracks)
* retain per track meta-data
2025-10-26 22:45:32 +01:00
Paul Davis
846f7b281a
track rec-enable does NOT enable triggerbox recording
...
This was leftover from an earlier conception of how clip recording might work
2025-10-26 09:46:21 -06:00
Robin Gareus
49c71cb3ef
Log an error message when ignoring invalid SMF
2025-10-26 15:19:42 +01:00
Robin Gareus
9786e6035f
Fix crash due to concurrent sndfile access
...
Peak files are built int background which can happen concurrently
to estimating tempo. Notably when importing large .flac files
this can cause a crash because libsndfile API does not allow
for concurrent use of the same SNDFILE object.
2025-10-26 15:10:46 +01:00
Robin Gareus
02af9cb3d6
Fix MIDI Source debug dump
2025-10-26 02:15:22 +02:00
Paul Davis
48ea440f87
triggerbox: emit a signal when a region has been created post-capture
2025-10-25 15:15:02 -06:00
Paul Davis
fa7d9de669
make a comment more accurate
2025-10-24 16:52:27 -06:00
Paul Davis
aeb42f3adb
improve condition for connecting clip recording status and monitoring state
2025-10-23 21:12:55 -06:00
Paul Davis
e5d95d0d06
improve 2 DEBUG_TRACE messages associated with peakfile operations
2025-10-23 17:44:55 -06:00
Paul Davis
9a9000ada3
build peakfiles for sources created as part of audio clip recording
2025-10-23 17:44:55 -06:00
Paul Davis
4b17e720ae
remove unused variable
2025-10-22 15:22:54 -06:00
Paul Davis
20eaf07e5a
better solution for send prop change on trigger stop
...
this amends 8a262e26fb7f3 and avoids sending the change on every
transport stop etc
2025-10-22 15:08:30 -06:00
Paul Davis
ff6cced4a5
triggers: always send property change when a trigger stops
2025-10-22 15:08:30 -06:00
Paul Davis
5e9331bb73
clip recording: shrink fade in/out to 1msec
2025-10-22 15:08:30 -06:00
Paul Davis
0a70bf9ed0
add/tweak DEBUG_TRACE output for triggers/audio capture
2025-10-22 15:08:30 -06:00
Paul Davis
824bef68dc
triggers; do not reset stretcher for audio clips after capture
...
We don't stretch/shrink captured clips by default, and this operation is not thread-safe
2025-10-22 15:08:30 -06:00
Robin Gareus
8793a2f870
Fix/amend previous commit
2025-10-22 19:34:48 +02:00
Robin Gareus
78677b672c
Copy more mingw branches for MSVC
2025-10-22 18:48:40 +02:00
Robin Gareus
d133be6d8d
One more MSVC related fix..
2025-10-22 18:26:08 +02:00
Robin Gareus
d8a379bc6d
Prepare for MSVC support in y[dt]k
2025-10-22 15:34:37 +02:00
Paul Davis
1114a05f1f
fix incorrect locally scoped tempo map management
...
This is tricky to explain, so rather than explain what was wrong, I'll describe
how it works now.
Whenever a ScopedTempoMapOwner::in() call occurs, we check the current thread-local
tempo map ptr. If it is not owned by us (and we have a local tempo map that we
want to use), set it so that it is.
We continue to fetch() the global tempo map ptr back into the thread-local ptr
when the local scope depth drops to zero.
2025-10-20 14:58:16 -06:00
Paul Davis
d681c2d42c
fix logic error in Region::set_tempo()
2025-10-20 14:58:16 -06:00
Paul Davis
e975fc5b7d
slightly more debug information when starting local tempo scope
2025-10-20 14:58:16 -06:00
Paul Davis
12f40234ef
fix thinko when searching for a segment descriptor by TimelineRange
2025-10-20 14:58:16 -06:00
Paul Davis
b460ce6d6a
fix repeated thinkos during deserialization of SegmentDescriptors
2025-10-20 14:58:16 -06:00
Paul Davis
e8cd0af1cc
remove Region::_tempo and Region::_meter; use Source-level data instead
2025-10-20 14:58:16 -06:00
Paul Davis
6d92be80c1
do tempo estimation within AudioSources, after capture and upon import
...
we read 10 seconds from the middle of the data; not infallible but a reasonable
first pass at a heuristic.
2025-10-20 14:58:16 -06:00
Paul Davis
40f6859905
triggerbox: use the appropriate audio tempo estimating function
2025-10-20 14:58:16 -06:00
Paul Davis
1a5f369bc7
refactor audio data estimation utility code to provide region and source versions
...
this also fixes a new/delete vs new/delete[] buglet caught by ASAN
2025-10-20 14:58:16 -06:00
Paul Davis
efca55642f
mark_streaming_write_completed() should still be called on non-writable sources
...
the sources have already been marked immutable before DiskWriter calls
mark_streaming_write_completed().
2025-10-20 14:58:16 -06:00
Paul Davis
c1f568b1f3
fix typo/cut-n-paste error in SegmentDescriptor duration assignment
2025-10-20 14:58:16 -06:00
Paul Davis
4b5efcee86
add a replace argument to Source::set_segment_descriptor()
...
This allows for a segment descriptor to be replaced, which previously was not
possible
2025-10-20 14:58:16 -06:00
Franke Burgarino
9ee9e6d139
Properly legalize new source filenames
2025-10-17 12:27:04 -05:00
Robin Gareus
6e62c49749
Fix master/monitor auto-connect
...
When initially using a different backend, the engine does
not yet have a reference to the Session, and main busses
were not connected.
2025-10-15 18:09:45 +02:00
John Emmas
2f9f86b7d3
Fix improperly terminated parameter list
2025-10-13 09:56:23 +01:00
Robin Gareus
35b5d156c3
Fix StaffPad compilation/linking with gcc-15.2
2025-10-11 23:34:27 +02:00
Robin Gareus
f19e7c9ac9
Fix pane constraint calculation for > 2 child widgets
2025-10-11 22:22:44 +02:00
Robin Gareus
882ed91f2f
Fix pane allocation and size constraints
...
Correctly divide the fractions of *available* requested child-space.
This fixes issue with Trigger Page bottom attachment not showing
Frame content.
When calculating constraints the divider width/height was ignored.
When setting child allocation, the divider girth was only
subtracted *after* the first child, and iteratively subtracted
after each subsequent child widget.
This over-allocated the first child and later child widgets
were increasingly too small (factor * remaining).
2025-10-11 22:22:17 +02:00
Robin Gareus
b1841f9857
Only warn when Frame allocation is smaller than requested size
...
see also a8092c1782
2025-10-11 18:23:40 +02:00
Robin Gareus
c780d7c056
Don't blindly enforce a min attachment width/height
...
This also fixed a copy/edit type. enabling PaneBottom
set a min-width to content_right_pane :)
2025-10-11 18:13:45 +02:00
Robin Gareus
f12a521a94
Allow builds with recent msys2/mingw
...
Thanks to EZ4Stephen
https://discourse.ardour.org/t/show-32-tracks-while-recording/112102/7
2025-10-11 15:02:57 +02:00
Robin Gareus
f9b1de355d
VST3: initialize bus and speaker arrangement during instaniation
2025-10-09 23:44:35 +02:00