Commit graph

39609 commits

Author SHA1 Message Date
Paul Davis
b35b30c230 factor out code to extract a TempoMap from an SMF 2024-10-17 07:44:29 -06:00
Paul Davis
f6b069d251 steps toward rulers for the MIDI cue editor 2024-10-17 07:44:29 -06:00
Paul Davis
e3205bded0 do something to make MIDI bindings accessible in any EditingContext 2024-10-17 07:44:29 -06:00
Paul Davis
bde4768734 move a bunch of MIDI editing into EditingContext 2024-10-17 07:44:29 -06:00
Paul Davis
a2f04a3104 virtualize event handling methods for EditingContext 2024-10-17 07:44:29 -06:00
Paul Davis
9dbdf0eb43 share code between MidiRegioNView and MidiView 2024-10-17 07:44:29 -06:00
Paul Davis
0311bffed8 progrss with rubber band selection and event handling in MIDI cue editor 2024-10-17 07:44:29 -06:00
Paul Davis
10b48d2cc4 lock in some major steps for the midi cue/pianoroll editor 2024-10-17 07:44:29 -06:00
Paul Davis
549defc068 more work on fixing pianorule recomposition of objects 2024-10-17 07:44:29 -06:00
Paul Davis
3bd2d39d51 fixes to get redraws when note range changes 2024-10-17 07:44:29 -06:00
Paul Davis
3700f191cd fix some region-view level selection issues 2024-10-17 07:44:29 -06:00
Paul Davis
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
Paul Davis
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
Paul Davis
69d929b9d2 no more slice.h 2024-10-17 07:44:29 -06:00
Paul Davis
db89647676 revert scope change for a local variable 2024-10-17 07:44:29 -06:00
Paul Davis
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
Paul Davis
0eeb281bd6 remove debug output 2024-10-17 07:44:29 -06:00
Paul Davis
8e4edd0c07 Revert "separate out all bounds/position info from Region into "Slice""
This reverts commit f3da2cfd8b9dc077ee35fc3bbaf133adec23d463.
2024-10-17 07:44:29 -06:00
Paul Davis
7a5d7cfe69 Revert "add set_* methods to Slice; remove property additions"
This reverts commit 81eee23baab2817218c1766c7d3c37fb7435e619.
2024-10-17 07:44:29 -06:00
Paul Davis
c39558471f remove current slice usage/members 2024-10-17 07:44:29 -06:00
Paul Davis
659382ecd8 convert debug output from printf to type-safe iostreams 2024-10-17 07:44:29 -06:00
Paul Davis
33298a0ba0 get region-create drags working and no crashes (nut also no note) for note-drags 2024-10-17 07:44:29 -06:00
Paul Davis
27e9e19aac initial refactoring of MidiRegionView IS-A MidiView 2024-10-17 07:44:29 -06:00
Paul Davis
38ebe95613 add missing files 2024-10-17 07:44:29 -06:00
Paul Davis
54c41372cc fix a rebase error 2024-10-17 07:44:29 -06:00
Paul Davis
2b997343a4 first working visual evidence of MIDI display/editing on cue page 2024-10-17 07:44:29 -06:00
Paul Davis
ff962821ad NO-OP: comment fix 2024-10-17 07:44:29 -06:00
Paul Davis
584d97bc2d NO-OP (whitespace) 2024-10-17 07:44:29 -06:00
Paul Davis
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
Paul Davis
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
Paul Davis
fb1dbb1e9c remove method decls no longer based in PublicEditor.h 2024-10-17 07:44:29 -06:00
Paul Davis
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
Paul Davis
e3be2c781f constification of EditingContext/{Public}Editor time+snap methods 2024-10-17 07:44:29 -06:00
Paul Davis
9e5211e9b1 move 2 relative time methods from RegionView to EditingContext 2024-10-17 07:44:29 -06:00
Paul Davis
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
Paul Davis
7799adc8db make Stateful a virtual base class of StatefulDestructible
This permits dual inheritance from Stateful.
2024-10-17 07:44:29 -06:00
Paul Davis
9d7a87083a removed unused MidiRegionView argument from SysEx (visual) constructor 2024-10-17 07:44:29 -06:00
Paul Davis
e67e6aa363 no-compilable steps towards MidiView 2024-10-17 07:44:29 -06:00
Paul Davis
204d4237f8 further steps towards MidiRegionView outside the Editor 2024-10-17 07:44:29 -06:00
Paul Davis
ca7bd9a73d manually merge in new actions for note tupling 2024-10-17 07:44:29 -06:00
Paul Davis
e6c56b39d1 finish basic distribution of EditingContext methods
This compiles but is not expected to work yet
2024-10-17 07:44:29 -06:00
Paul Davis
4398fe931b more movement of code and members from Editor => EditingContext 2024-10-17 07:44:29 -06:00
Paul Davis
e9d63a707a skeleton for MIDI cue editor 2024-10-17 07:44:29 -06:00
Paul Davis
b4e592a469 adjust relationship between VerboseCursor and Editor to use EditingContext 2024-10-17 07:44:29 -06:00
Paul Davis
8bbe117e6b add preprocessor guard clauses 2024-10-17 07:44:29 -06:00
Paul Davis
2187c63bee add stub for cue editor 2024-10-17 07:44:29 -06:00
Paul Davis
1bf2307137 more reorganization of implementations between Editor & EditingContext & PublicEditor 2024-10-17 07:44:29 -06:00
Paul Davis
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
Paul Davis
3341184f8c clean up minor mess after manual rebasing 2024-10-17 07:44:29 -06:00
Paul Davis
dee8e920e6 editing refactoring, the drag part 2024-10-17 07:44:29 -06:00