Paul Davis
71f946f3b3
move tooltip settings for EditingContext widgets to EditingContext
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
99d1a4cd9b
if the Editor is not the current EditingContext, don't do Editor::escape stuff
2024-10-17 07:44:30 -06:00
Paul Davis
033dd31ff1
fix reordering warning
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
f2e1697058
dammit jim, it's a stack not a queue
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
afe98a6671
correctly define MIDI actions using MidiView, not MidiRegionView
...
The latter is derived from the former.
2024-10-17 07:44:30 -06:00
Paul Davis
fea6c7592f
NO-OP: whitespace
2024-10-17 07:44:30 -06:00
Paul Davis
e0a5b591f8
correct errors in coordinate math when moving a mote selection
...
This may be the first of several instances where mixing
timeline-relative positions and global canvas coordinates leads to
problems. Let's hope there are not too many.
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
c97f4f4016
various changes to editor drag code to correctly use a bounding item
2024-10-17 07:44:30 -06:00
Paul Davis
030052e57f
don't double-apply the effect of a drag with a bounding item to _grab_y
2024-10-17 07:44:30 -06:00
Paul Davis
a9163516d8
the horizontal position *is* the value of the horizontal adjustment.
...
Don't waste time getting a less accurate answer from sample_to_pixel() on
_leftmost_sample.
2024-10-17 07:44:30 -06:00
Paul Davis
060d8c82d7
introduce concept of timeline origin to EditingContext
...
For the main editor, the timeline starts at the left edge of the editor
canvas. But for MidiCueEditor, we place a canvas-ified piano roll header on the
left of the canvas, so the timeline starts at some position right of that.
Note that this means that converting global canvas coordinates to timeline
coordinates is no longer guaranteed to be a 1:1 transform (it will be for
Editor, but in general for EditingContext).
2024-10-17 07:44:30 -06:00
Paul Davis
d550292f8f
additional DEBUG_TRACE (Destruction) output
2024-10-17 07:44:30 -06:00
Paul Davis
36d0a6e908
fix dangling references to a MidiRegion and MidiTrack in a MidiView
2024-10-17 07:44:30 -06:00
Paul Davis
3aba913649
manual cleanup after another tricky rebase against master
2024-10-17 07:44:30 -06:00
Paul Davis
e630051de1
more manual fixes after a substantial rebase
2024-10-17 07:44:30 -06:00
Paul Davis
6ee97f93bb
more manual fixes after a substantial rebase
2024-10-17 07:44:30 -06:00
Paul Davis
e205bb98a1
manual fixes after a substantial rebase
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
3422ef5c3d
fix event deliver for MidiCueView
...
events need a non-container item to be delivered
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
e7731f2e89
add -D actions to gtkmm2ext
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
009a0e6ffb
stacktraces to help track down missing actions
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
d356cacb2a
working and accessible canvas cursor setting
2024-10-17 07:44:30 -06:00
Paul Davis
7899829a5e
note range for midi * views API cleanup
2024-10-17 07:44:30 -06:00
Paul Davis
9d8ddd814c
expose ::set_note_range() as public in MidiView
2024-10-17 07:44:30 -06:00
Paul Davis
a3491a13df
fix drawing translation issue
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
2b51e0ec24
prefer lambdas to stupid stub static functions
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
715ac5cd3a
use new SMF::tempo_map() method when importing tempo map from SMF
2024-10-17 07:44:29 -06:00
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