Commit graph

1502 commits

Author SHA1 Message Date
Paul Davis
bde4768734 move a bunch of MIDI editing into EditingContext 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
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
4398fe931b more movement of code and members from Editor => EditingContext 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
dee8e920e6 editing refactoring, the drag part 2024-10-17 07:44:29 -06:00
Paul Davis
089a9521d5 steps to an ecology of editing 2024-10-17 07:44:29 -06:00
Robin Gareus
60b3b24cc8
Do not allow changing the loop range while recording 2024-09-25 21:43:47 +02:00
Alejandro Domínguez
f41d7514b0
Use C++11-style initialization of Editor.last_event_time 2024-08-31 05:49:03 +02:00
Paul Davis
550b38fb00 preliminary change to avoid unnecessary stuff happening when track drags do not reorder 2024-08-08 18:46:41 -06:00
Robin Gareus
460ecadc00
Significantly speed up building region bounday cache 2024-08-02 20:08:51 +02:00
Robin Gareus
533f4a61f6
Remove unused variable 2024-08-02 20:08:51 +02:00
Paul Davis
af5c99dd05 move definition of selection operations in to ARDOUR namespace
This is a rare commit that I think should be done for GUI and libs at the same time
2024-08-02 11:50:21 -06:00
Paul Davis
7052f57ee9 no drag-n-drop for VCA masters, since they are intended to be non-reorderable 2024-07-03 18:48:39 -06:00
Robin Gareus
bdd6eec95c
Constrain height of group-tab to the editor's height
Previously the group-tab extended all the way down to the
last track. Potentially with a widget height of > 2^15 px.

This caused issues with gtk widgets (notably on Windows)
```
unhandled exception (type std::exception) in signal handler:
what: invalid value (typically too big) for the size of the input (surface, pattern, etc.)
```

This also prepares for Mixer Tab-Group to use the same
separation between visible and total extent.
2024-06-22 17:44:20 +02:00
Paul Davis
4872d6706d fix crash cause by ending non-existing track drag 2024-06-05 16:38:00 -06:00
Paul Davis
0ec926668c refine track drag API to control whether cursor can change on button press 2024-06-03 17:52:42 -06:00
Paul Davis
c7b8840f8f redesign track drag so that we can start from anywhere in the header, including the name 2024-06-03 17:22:42 -06:00
Paul Davis
7c5bd69ff1 debugging: get a stacktrace for the start of a track drag 2024-05-31 00:22:14 -06:00
Paul Davis
1dba8f9906 harmonize TrackDrag API with livetrax version 2024-05-29 10:16:10 -06:00
Paul Davis
7f82b918ae add DEBUG::TrackDrag to help try to track down #9711 2024-05-28 20:52:35 -06:00
Paul Davis
08eb25ef55 add a move threshold to track DnD 2024-05-21 11:05:37 -06:00
Robin Gareus
5fdc7c4601
Redraw section markers when reloading session
This fixes a bug that when re-loading a session, section
marker rectangles (to next marker) were not drawn.
2024-05-20 21:55:54 +02:00
Paul Davis
f1e7ab08c7 no need to lookup smart mode action, it is cached 2024-05-18 12:24:23 -06:00
Paul Davis
93e1e1c1f2 remove Cue, CD, Scene, Punch, Loop rulers, consolidate to just a pair (ranges, locations)
a menu allows choosing between all markers or 1 specific type, and all ranges or 1 specific type

more work required on menu structure and menu options/dialogs to specify the type of new location
and range marker creation
2024-05-16 22:58:55 -06:00
Robin Gareus
5d175786e8
Remove debug messages, cleanup output (1/2) 2024-05-08 00:56:43 +02:00
Paul Davis
f92d821a72 working track drag-n-drop, re-picked from a 2nd implementation on a branch 2024-05-05 15:09:34 -06:00
Paul Davis
c3fb69c385 catch button release after track drag 2024-05-05 15:02:59 -06:00
Paul Davis
b515174e6a initialize track_drag member of Editor 2024-05-05 15:02:41 -06:00
Paul Davis
0b8cfdee40 display MIDI scene markers 2024-04-25 13:07:00 -06:00
Paul Davis
1eb2a345df prevent flickering of snapped cursor during drags when it should be invisible 2024-04-12 18:54:52 -06:00
Robin Gareus
bf7d4f895e
Fix jump to next/prev bar
Previously this only located to the prev/next bar if the
playhead was not already on a bar boundary
2024-03-04 20:25:41 +01:00
jean-emmanuel
83f5d40280
grid/snap: disable broken septuplet option 2024-02-27 23:28:41 +01:00
jean-emmanuel
af023cc516
snap: fix quintuplets and septuplets 2x factor
grid: fix quintuplets 2x factor (septuplets still don't draw properly)
2024-02-27 23:21:33 +01:00
jean-emmanuel
81bd75e7ae
ui: editor: add missing h-separator after last track header 2024-02-27 23:19:12 +01:00
Robin Gareus
5d2a25827e
Show Editor-Mixer by default 2024-02-18 16:43:09 +01:00
Robin Gareus
3d752fc770
Fix snap to triplet 2024-01-14 15:32:02 +01:00
Robin Gareus
7228144d6e
Vapor: GUI support to add Surround Bus 2024-01-06 20:27:03 +01:00
Robin Gareus
7b1997ffda
Speed up Location changes #9568
Section Markers only need to be updated when an actual
section-marker is modified OR flags change.

This also removes duplicate signal subscriptions and
caches sorted Location list when iterating over section markers.
2023-12-08 17:22:32 +01:00
Paul Davis
a5ac6e097e switch no-strobe from cmdline to UI config preference 2023-11-10 15:50:44 -07:00
Paul Davis
5e087864f6 no strobe for editor-visible meters 2023-11-10 10:55:44 -07:00
Robin Gareus
653cd3fa17
Fix double free, heap-use-after-free
_canvas_grid_zone and _section_box are destroyed when the
Canvas Container (here: `_track_canvas_viewport`) deletes
child items.
2023-10-11 16:06:35 +02:00
Robin Gareus
4a8dc04f14
Remove ScrubDrag and vari-speed based fake-scrubbing 2023-10-05 21:53:39 +02:00
Robin Gareus
96c45b65ee
Remove more or less useless Mouse Audition Button
Audition action is very much preferred and also works with
multiple selection.
2023-10-05 21:49:55 +02:00
Ben Loftis
55b862832a Stretch Markers -> Adjust Markers 2023-09-15 18:05:14 -05:00