549defc068
more work on fixing pianorule recomposition of objects
2024-10-17 07:44:29 -06:00
3bd2d39d51
fixes to get redraws when note range changes
2024-10-17 07:44:29 -06:00
3700f191cd
fix some region-view level selection issues
2024-10-17 07:44:29 -06:00
182a24751b
get standalone MidiView to display notes
...
This also removes an unused TriggerBoxWidget from each regular
MixerStrip.
2024-10-17 07:44:29 -06:00
a8895e50c7
Fix behavior of midi region when height changes
...
MidiView cares about the previous height, so call that first, before
RegionView::set_height() sets the member that controls height()
2024-10-17 07:44:29 -06:00
69d929b9d2
no more slice.h
2024-10-17 07:44:29 -06:00
db89647676
revert scope change for a local variable
2024-10-17 07:44:29 -06:00
5a55f04b16
fix group used as parent for a Midi(Region)View
...
this fixed the nesting of the _note_group and thus notes are drawn
in the correct place.
2024-10-17 07:44:29 -06:00
0eeb281bd6
remove debug output
2024-10-17 07:44:29 -06:00
8e4edd0c07
Revert "separate out all bounds/position info from Region into "Slice""
...
This reverts commit f3da2cfd8b9dc077ee35fc3bbaf133adec23d463.
2024-10-17 07:44:29 -06:00
7a5d7cfe69
Revert "add set_* methods to Slice; remove property additions"
...
This reverts commit 81eee23baab2817218c1766c7d3c37fb7435e619.
2024-10-17 07:44:29 -06:00
c39558471f
remove current slice usage/members
2024-10-17 07:44:29 -06:00
659382ecd8
convert debug output from printf to type-safe iostreams
2024-10-17 07:44:29 -06:00
33298a0ba0
get region-create drags working and no crashes (nut also no note) for note-drags
2024-10-17 07:44:29 -06:00
27e9e19aac
initial refactoring of MidiRegionView IS-A MidiView
2024-10-17 07:44:29 -06:00
38ebe95613
add missing files
2024-10-17 07:44:29 -06:00
54c41372cc
fix a rebase error
2024-10-17 07:44:29 -06:00
2b997343a4
first working visual evidence of MIDI display/editing on cue page
2024-10-17 07:44:29 -06:00
ff962821ad
NO-OP: comment fix
2024-10-17 07:44:29 -06:00
584d97bc2d
NO-OP (whitespace)
2024-10-17 07:44:29 -06:00
e24d1d069d
all streamviews are now ViewBackgrounds
...
This new inheritance heirarchy lets us share (a very small piece of) code
between streamviews in the Editor and the nascent piano roll object on the cue
page.
2024-10-17 07:44:29 -06:00
a550b6482f
start using the now-compilable MidiView
...
Nothing yet derives from this, but MIDI display items and drags
do use it.
2024-10-17 07:44:29 -06:00
fb1dbb1e9c
remove method decls no longer based in PublicEditor.h
2024-10-17 07:44:29 -06:00
a6e02d7a94
add set_* methods to Slice; remove property additions
...
Derived classes (currently only Region) just register the Slice properties
_start and _length.
2024-10-17 07:44:29 -06:00
e3be2c781f
constification of EditingContext/{Public}Editor time+snap methods
2024-10-17 07:44:29 -06:00
9e5211e9b1
move 2 relative time methods from RegionView to EditingContext
2024-10-17 07:44:29 -06:00
45328723b0
separate out all bounds/position info from Region into "Slice"
...
The idea here is to be able to describe region size, start and position
independently of an actual Region object.
2024-10-17 07:44:29 -06:00
7799adc8db
make Stateful a virtual base class of StatefulDestructible
...
This permits dual inheritance from Stateful.
2024-10-17 07:44:29 -06:00
9d7a87083a
removed unused MidiRegionView argument from SysEx (visual) constructor
2024-10-17 07:44:29 -06:00
e67e6aa363
no-compilable steps towards MidiView
2024-10-17 07:44:29 -06:00
204d4237f8
further steps towards MidiRegionView outside the Editor
2024-10-17 07:44:29 -06:00
ca7bd9a73d
manually merge in new actions for note tupling
2024-10-17 07:44:29 -06:00
e6c56b39d1
finish basic distribution of EditingContext methods
...
This compiles but is not expected to work yet
2024-10-17 07:44:29 -06:00
4398fe931b
more movement of code and members from Editor => EditingContext
2024-10-17 07:44:29 -06:00
e9d63a707a
skeleton for MIDI cue editor
2024-10-17 07:44:29 -06:00
b4e592a469
adjust relationship between VerboseCursor and Editor to use EditingContext
2024-10-17 07:44:29 -06:00
8bbe117e6b
add preprocessor guard clauses
2024-10-17 07:44:29 -06:00
2187c63bee
add stub for cue editor
2024-10-17 07:44:29 -06:00
1bf2307137
more reorganization of implementations between Editor & EditingContext & PublicEditor
2024-10-17 07:44:29 -06:00
7d5f575d61
finish inheritance work between EditingContext & Editor
...
this completes the initial phase of defining what an EditingContext must offer,
though the may expand or shrink as we being work on editing outside the Editor
2024-10-17 07:44:29 -06:00
3341184f8c
clean up minor mess after manual rebasing
2024-10-17 07:44:29 -06:00
dee8e920e6
editing refactoring, the drag part
2024-10-17 07:44:29 -06:00
089a9521d5
steps to an ecology of editing
2024-10-17 07:44:29 -06:00
744b491162
PublicEditor IS-A MidiEditingContext
2024-10-17 07:44:28 -06:00
722d74c3ef
skeleton work for a MidiEditingContext, incomplete
2024-10-17 07:44:28 -06:00
e3d790207f
modify MIDITrigger to use an RTMidiBuffer<Beats,Beats> for playback, not a MidiModel
...
Creating an iterator on a MidiModel (Sequence) creates a read-lock on the same,
which exists until the iterator is destroyed.
This new designs renders the model/source to an RTMidiBuffer, then atomically
swaps in a new RTMidiBuffer in an RT context.
Not yet implemented in this temporary branch is handling required
state-changing messages when the buffer is swapped.
2024-10-17 07:44:28 -06:00
a4a277c141
templatize RTMidiBuffer to allow use in different time domains
...
Also add ::track_state() method to configue a MidiStateTracker
to correspond to the state implied by an RTMidiBuffer<T,D>
at a given point in time.
2024-10-17 07:44:28 -06:00
b693d07fcb
Add a new ::render() method to MidiSource that writes to an EventSink
2024-10-17 07:44:28 -06:00
0986b8d1e8
Revert "Only enable RegionFX in debug builds for the time being"
...
This reverts commit d525f8d60c
.
2024-10-17 15:36:29 +02:00
John Emmas
b6cb758357
Another minor tweak to fix a build issue with MSVC/c++17
...
Fixes a conflict between 'std::byte' (new in c++17) and earlier declarations / typedef's that defined 'byte'
2024-10-17 12:07:05 +01:00