Alejandro Domínguez
16dd8528c8
Make SignalN template variadic
2024-10-18 20:41:05 +02:00
837ea32898
actally stop doing clip recording visual stuff when disarmed (libs)
2024-10-18 09:50:48 -06:00
92e452609a
Fix I/O Tasklist RR schedule option
2024-10-18 15:11:08 +02:00
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
a8f58105a9
provide a class-level static PBD::Signal for Trigger (Slot) arming
2024-10-17 07:44:33 -06:00
6b1659497d
add #warning
2024-10-17 07:44:33 -06:00
7c944687c9
preparations for clip data display (MIDI) while recording
2024-10-17 07:44:33 -06:00
c03c3dd918
fix unused variable warning from clang
2024-10-17 07:44:32 -06:00
dab9775223
fix bitwise-vs-logic AND (thanks, clang!)
2024-10-17 07:44:32 -06:00
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
62a4df52c7
tentative steps in infrastructure for displaying clip data during capture
2024-10-17 07:44:32 -06:00
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
87ab0a9e0f
add config vars to control max size of captured MIDI and audio clips
2024-10-17 07:44:32 -06:00
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
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
596c54d742
fix ups for record state in TriggerBox
2024-10-17 07:44:32 -06:00
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
6ef4a74728
cleanup of bits of clip recording code
2024-10-17 07:44:32 -06:00
4466563a89
avoid double delete of clip recording audio buffers
2024-10-17 07:44:32 -06:00
25400a4936
fix appending new audio data during clip recording
2024-10-17 07:44:32 -06:00
7455b99b45
account for clip recording when computing monitoring state
2024-10-17 07:44:32 -06:00
a357575954
less debugging
2024-10-17 07:44:32 -06:00
423148c2af
tweaks to cleanup and get much closer to full audio clip recording
2024-10-17 07:44:32 -06:00
26fb50d1a9
a bit more type-safety when handling audio data during clip recording
2024-10-17 07:44:32 -06:00
d7c424c440
attempt to write and use audio data to disk for audio clip recording
2024-10-17 07:44:32 -06:00
0959696070
NO-OP: remove pointless embedded whitespace
2024-10-17 07:44:32 -06:00
b4d0b06d95
const-ify first "src" argument in AudioSource::write() and derivatives
2024-10-17 07:44:32 -06:00
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
ac4bb55f13
first functioning MIDI clip recording (libs)
2024-10-17 07:44:32 -06:00
a2d44ba97d
remove ClipRecProcessor, whose functionality will move into TriggerBox where it should have been
2024-10-17 07:44:32 -06:00
1fa42dcb95
provide rec-enable state for TriggerBoxen
2024-10-17 07:44:32 -06:00
052ef18c4a
cliprec: add processor to tracks, and get MIDITrigger prepared for capture
2024-10-17 07:44:32 -06:00
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
88c326aee0
more clip recording refactoring
2024-10-17 07:44:32 -06:00
aa9a998f60
small steps towards clip recording
2024-10-17 07:44:32 -06:00
107706af8a
some tiny steps towards using new data structures for clip recording
2024-10-17 07:44:32 -06:00
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
a9205ffd55
use nullptr, not NULL
2024-10-17 07:44:31 -06:00
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
e3ff81efcb
remove dangling line of code that does nothing
2024-10-17 07:44:31 -06:00
7901b4119f
we're gonna need a bigger debug set
2024-10-17 07:44:31 -06:00
c8924f4133
fix lollipop drawing
...
Cairo coordinate/argument limits are much smaller than the canvas. Trying
to clip to a gigantic rectangle throws cairo into a weird state, so
make sure we only clip to a part an exposed area
2024-10-17 07:44:31 -06:00
e67a3387fd
Fix Editor Lua bindings
...
Methods that have been moved to EditingContext need
to reference the abstract definition there, and PublicEditor's
first parent class also need to be EditingContext (same
memory address)
2024-10-17 07:44:31 -06:00
7e7440bc33
Fix Lua bindings, Session is-a HistoryOwner
...
For derived classes to work in Lua w/o explicit cast,
it needs to be the first parent.
2024-10-17 07:44:31 -06:00
2fceb66193
manual fixups for errors during rebasing against master
2024-10-17 07:44:31 -06:00
911ad78c06
add API to access PBD::UndoHistory member of HistoryOwner
2024-10-17 07:44:31 -06:00
a61f49ad4f
show Bindings _name in DEBUG_TRACE output
2024-10-17 07:44:31 -06:00
42959b1313
adjust MidiModel API to require HistoryOwner not Session for commands
2024-10-17 07:44:31 -06:00
8c086693af
show HistoryOwner::_name in DEBUG_TRACE messages
2024-10-17 07:44:31 -06:00