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
8069a4a514
remove some debug output
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
fa6da8818f
first functioning MIDI clip recording (GUI)
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
ca1583cdad
the great onceification (gui)
...
Replace use of #ifndef header guards with #pragma once
Modern C++, baby!
2024-10-17 07:44:31 -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
8fbec13e9c
script for once-ification
...
This still tends to require by-hand cleanups of bare #endif lines
2024-10-17 07:44:31 -06:00
Paul Davis
56ce9c33c0
renaming: AutomationLineBase => AutomationLine, AutomationLine => EditorAutomationLine
2024-10-17 07:44:31 -06:00
Paul Davis
90c8726c6d
wideranging changes to get automation editing working in cue editor
2024-10-17 07:44:31 -06:00
Paul Davis
4169f11ddd
cue automation lines: take height into consideration
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
71d5b50a94
kinda-sorta get an automation line for modwheel in the cue editor
2024-10-17 07:44:31 -06:00
Paul Davis
afa15a0061
get velocity editing working in both the cue editor and MIDI region views
...
Quite a bit of hairy coordinate system stuff in here that ought to be commented more
clearly
2024-10-17 07:44:31 -06:00
Paul Davis
ee305a7169
catch up on TriggerReference API changes in GUI
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
a72bde5d3c
add the final virtual GhostRegion method to VelocityGhostRegion
2024-10-17 07:44:31 -06:00
Paul Davis
76104f994b
velocity display: clear must invalidate optimization iterator
2024-10-17 07:44:31 -06:00
Paul Davis
a44e8ac088
fix drawing of lollipops.
...
There may be more virtual GhostRegion methods that VelocityGhostRegion has to proxy
to VelocityDisplay
2024-10-17 07:44:31 -06:00
Paul Davis
54fdf90cc2
lots of detailed fixes to get lollipops in tracks working again, post re-factor
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
Paul Davis
739d58840f
manually reimplement 3766b22e06 from master (sysex deletion)
...
Things have changed
2024-10-17 07:44:31 -06:00
Paul Davis
15258b9aa4
new base class for automation lines
2024-10-17 07:44:31 -06:00
Paul Davis
fa993ec9f4
various fixes to get lollipops to display (cue editor only so far)
2024-10-17 07:44:31 -06:00
Paul Davis
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
Paul Davis
0399cd9d02
initial use of refactored VelocityDisplay
2024-10-17 07:44:31 -06:00
Paul Davis
96e074d78c
refactor velocity display so that it can be used in the editor and elsewhere
2024-10-17 07:44:31 -06:00
Paul Davis
c232525e94
remove broken out loop iteration
2024-10-17 07:44:31 -06:00
Paul Davis
69871e0021
trigger page: use a VPane so we can enlarge the cue editor if desired
...
Plus fixup to get MIDI notes redrawn as pane is resized
2024-10-17 07:44:31 -06:00
Paul Davis
12519ef621
add a new automation group rect to the midi cue editor, and size it
2024-10-17 07:44:31 -06:00
Paul Davis
45e4b97a6f
move some methods from Editor to Editing context so that drawing controls work everywhere
2024-10-17 07:44:31 -06:00
Paul Davis
fa79645c19
move most of AutomationLine into AutomatonLineBase, a class not strongly tied to the editor
2024-10-17 07:44:31 -06:00
Paul Davis
0b05ec93c8
use correct item for stream, automation track and region drags
2024-10-17 07:44:31 -06:00
Robin Gareus
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
Robin Gareus
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
Paul Davis
2fceb66193
manual fixups for errors during rebasing against master
2024-10-17 07:44:31 -06:00
Paul Davis
f392a28ea4
fix management of undo/redo and _current_editing_context
...
We cannot switch on a leave event from a widget, because the undo/redo menu items must remain
labelled until we are actually in a new editing context. So switch when we switch tabs
or when we edit the (MIDI) cue editor
2024-10-17 07:44:31 -06:00
Paul Davis
8523598664
fix management of undo/redo and _current_editing_context
...
We cannot switch on a leave event from a widget, because the undo/redo menu items must remain
labelled until we are actually in a new editing context. So switch when we switch tabs
or when we edit the (MIDI) cue editor
2024-10-17 07:44:31 -06:00