Commit graph

21483 commits

Author SHA1 Message Date
Alejandro Domínguez
1ee044c5fc
Replace boost::erase_first with std equivalent 2024-10-19 01:04:14 +02:00
Alejandro Domínguez
1ffb70f670
Replace boost::scoped_ptr with std::unique_ptr (1/2) 2024-10-19 01:04:14 +02:00
Robin Gareus
30dc9ccc86
Replace boost::scoped_array<T> 2024-10-19 01:04:02 +02:00
Robin Gareus
2c503eab09
Remove old Coreaudio OSX 10.5 support 2024-10-18 22:52:34 +02:00
Robin Gareus
99906a2215
Drop build-system support for macOS < 10.13 (require C++17) 2024-10-18 22:52:29 +02:00
Robin Gareus
bd8525e5f1
Remove deprecated PBD::SignalN 2024-10-18 20:46:31 +02:00
Robin Gareus
2d7cce44f1
Replace PBD::Signals (1/2) 2024-10-18 20:41:08 +02:00
Alejandro Domínguez
0ade0b2212
Deduplicate SignalWithCombiner<Combiner, void, A...> specialization 2024-10-18 20:41:08 +02:00
Alejandro Domínguez
16dd8528c8
Make SignalN template variadic 2024-10-18 20:41:05 +02:00
Paul Davis
837ea32898 actally stop doing clip recording visual stuff when disarmed (libs) 2024-10-18 09:50:48 -06:00
Robin Gareus
92e452609a
Fix I/O Tasklist RR schedule option 2024-10-18 15:11:08 +02:00
Paul Davis
7608d4ade2 API changes for clip recording in TriggerBox
Also, disarm all triggers when track-level rec-enable is disabled
2024-10-17 07:44:33 -06:00
Paul Davis
a8f58105a9 provide a class-level static PBD::Signal for Trigger (Slot) arming 2024-10-17 07:44:33 -06:00
Paul Davis
6b1659497d add #warning 2024-10-17 07:44:33 -06:00
Paul Davis
7c944687c9 preparations for clip data display (MIDI) while recording 2024-10-17 07:44:33 -06:00
Paul Davis
c03c3dd918 fix unused variable warning from clang 2024-10-17 07:44:32 -06:00
Paul Davis
dab9775223 fix bitwise-vs-logic AND (thanks, clang!) 2024-10-17 07:44:32 -06:00
Paul Davis
c2deacdd54 fix definition of Trigger::playable()
The recent change to only use the data object breaks GUI handling
of a PropertyChange signal after _region is set following a drag
and drop
2024-10-17 07:44:32 -06:00
Paul Davis
62a4df52c7 tentative steps in infrastructure for displaying clip data during capture 2024-10-17 07:44:32 -06:00
Paul Davis
6193535a31 apply a fade in & out to captured audio clip data, before writing to disk
This policy may need revising later.
2024-10-17 07:44:32 -06:00
Paul Davis
87ab0a9e0f add config vars to control max size of captured MIDI and audio clips 2024-10-17 07:44:32 -06:00
Paul Davis
8305ea5762 during MIDI clip recording, convert audio->beat time at capture time
This distributes whatever cost there is associated with the domain conversion across
multiple process() calls, rather than doing it all in the process() call where
capture finishes.
2024-10-17 07:44:32 -06:00
Paul Davis
cbc0021182 fix typo (| instead of ||) 2024-10-17 07:44:32 -06:00
Paul Davis
1e8b2c521c provide a better method to decide if a trigger(slot) is occupied
This is necessary with clip recording because for some short time after recording,
a trigger may be playable despite not yet having a region.

libs edition.
2024-10-17 07:44:32 -06:00
Paul Davis
596c54d742 fix ups for record state in TriggerBox 2024-10-17 07:44:32 -06:00
Paul Davis
d7d208dc34 move RecordState enum from ARDOUR::Session to ARDOUR so we can use it in TriggerBox (libs) 2024-10-17 07:44:32 -06:00
Paul Davis
6ef4a74728 cleanup of bits of clip recording code 2024-10-17 07:44:32 -06:00
Paul Davis
4466563a89 avoid double delete of clip recording audio buffers 2024-10-17 07:44:32 -06:00
Paul Davis
25400a4936 fix appending new audio data during clip recording 2024-10-17 07:44:32 -06:00
Paul Davis
7455b99b45 account for clip recording when computing monitoring state 2024-10-17 07:44:32 -06:00
Paul Davis
a357575954 less debugging 2024-10-17 07:44:32 -06:00
Paul Davis
423148c2af tweaks to cleanup and get much closer to full audio clip recording 2024-10-17 07:44:32 -06:00
Paul Davis
26fb50d1a9 a bit more type-safety when handling audio data during clip recording 2024-10-17 07:44:32 -06:00
Paul Davis
d7c424c440 attempt to write and use audio data to disk for audio clip recording 2024-10-17 07:44:32 -06:00
Paul Davis
0959696070 NO-OP: remove pointless embedded whitespace 2024-10-17 07:44:32 -06:00
Paul Davis
b4d0b06d95 const-ify first "src" argument in AudioSource::write() and derivatives 2024-10-17 07:44:32 -06:00
Paul Davis
74132b60a0 get the data collection and initial setup part of audio clip recording working
Not yet implemented: writing the data to disk and creating a new Region
2024-10-17 07:44:32 -06:00
Paul Davis
ac4bb55f13 first functioning MIDI clip recording (libs) 2024-10-17 07:44:32 -06:00
Paul Davis
a2d44ba97d remove ClipRecProcessor, whose functionality will move into TriggerBox where it should have been 2024-10-17 07:44:32 -06:00
Paul Davis
1fa42dcb95 provide rec-enable state for TriggerBoxen 2024-10-17 07:44:32 -06:00
Paul Davis
052ef18c4a cliprec: add processor to tracks, and get MIDITrigger prepared for capture 2024-10-17 07:44:32 -06:00
Paul Davis
86b01a5d2f provide an interesting method to convert an RTMidiBuffer<samples> to RTMidiBuffer<beats> without any memory reallocation 2024-10-17 07:44:32 -06:00
Paul Davis
88c326aee0 more clip recording refactoring 2024-10-17 07:44:32 -06:00
Paul Davis
aa9a998f60 small steps towards clip recording 2024-10-17 07:44:32 -06:00
Paul Davis
107706af8a some tiny steps towards using new data structures for clip recording 2024-10-17 07:44:32 -06:00
Paul Davis
75f56cd3e1 the great onceification (libs)
Replace use of #ifndef header guards with #pragma once

Modern C++, baby!
2024-10-17 07:44:31 -06:00
Paul Davis
a9205ffd55 use nullptr, not NULL 2024-10-17 07:44:31 -06:00
Paul Davis
8baaa7eb66 TriggerReference requires some sort of lifetime tracking
For now we use std::weak_ptr and std::enable_shared_from_this to accomplish tracking. There
may be an argument for using our own (PBD::Destructible) mechanisms instead.
2024-10-17 07:44:31 -06:00
Paul Davis
e3ff81efcb remove dangling line of code that does nothing 2024-10-17 07:44:31 -06:00
Paul Davis
7901b4119f we're gonna need a bigger debug set 2024-10-17 07:44:31 -06:00