Paul Davis
4bbdbc6d13
fix handling of MIDI draw tool actions and widgets
...
The actions and draw_xxx values are now "static", and changes in the values are
notified via a static PBD::Signal so that each EditingContext can update the
appearance of its relevant widgets.
Note also wider use of lambdas when creating actions and menu items.
2024-10-17 07:44:30 -06:00
Paul Davis
36eda47075
get temporal zoom workign in MidiCueEditor
...
and remove qite a bit of debug output
2024-10-17 07:44:30 -06:00
Paul Davis
dc44d10b48
handle Escape signal in all EditingContexts (including MidiCueEditor)
2024-10-17 07:44:30 -06:00
Paul Davis
280fdb6e62
virtualize EditingContext::midi_action() so that MidiCueEditor works
...
This makes MIDI bindings work in the cue editor, as intended.
2024-10-17 07:44:30 -06:00
Paul Davis
e7ae93929b
correctly set timeline_origin for a MidiCueEditor
...
for some reason the width is different when ::set_region() is called
2024-10-17 07:44:30 -06:00
Paul Davis
bef7c48fe9
the state of things in pianorule, committed for travel purposes
2024-10-17 07:44:30 -06:00
Paul Davis
48a6e8dfcf
basics of autoscroll for pianoroll (mostly shared with Editor)
...
More work to do moving/testing pianoroll autoscroll variant back into EditingContext
and sharing it with Editor.
2024-10-17 07:44:30 -06:00
Paul Davis
3fccf2b458
change coordinate system used for rubberband drags in piano roll
2024-10-17 07:44:30 -06:00
Paul Davis
96ccb96b3b
redesign drag API to provide a bounding item, not just "trackview only"
...
This allows rubberband drags on both the main editor and the separate piano roll to wokr
correctly.
2024-10-17 07:44:30 -06:00
Paul Davis
14b95116e1
move various action registry stuff into EditingContext
2024-10-17 07:44:30 -06:00
Paul Davis
023c21ff58
get those MIDI tool selector menus built
2024-10-17 07:44:30 -06:00
Paul Davis
0d01e73b86
some state mgmt for EditingContexts
2024-10-17 07:44:30 -06:00
Paul Davis
fcf5bb88d5
cue editor/piano roll: starting to get mode buttons working and keybindings too
2024-10-17 07:44:30 -06:00
Paul Davis
59ed3d7138
cleanup canvas piano roll header so that it can exist with no current MidiView
2024-10-17 07:44:30 -06:00
Paul Davis
df25386d2f
basically functioning piano roll for midi cue editor
2024-10-17 07:44:30 -06:00
Paul Davis
f7b6a3cac8
tentative beginnings for a canvas piano roll header
2024-10-17 07:44:30 -06:00
Paul Davis
5acedc036a
fix up event handling so that MIDI note drag works in cue editor
2024-10-17 07:44:30 -06:00
Paul Davis
abf372ad46
and we have h-scrolling in the cue editor
2024-10-17 07:44:30 -06:00
Paul Davis
f425a974d6
the continuing co-evolution of Editor,EditingContext & MidiCueEditor
2024-10-17 07:44:30 -06:00
Paul Davis
10244c0360
tempo bar and BBT ruler in MIDI cue editor
2024-10-17 07:44:30 -06:00
Paul Davis
a523551228
use SMF tempo map if available in MidiCueEditor
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
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
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
2b997343a4
first working visual evidence of MIDI display/editing on cue page
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
e3be2c781f
constification of EditingContext/{Public}Editor time+snap methods
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
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
e9d63a707a
skeleton for MIDI cue editor
2024-10-17 07:44:29 -06:00