Nil Geisweiller
34fe8c46e9
Make Stripable::Sorter::_mixer_order const
...
This is not required by C++17, but it is rather clear that this field should
not be changed after initialization.
2024-12-29 19:45:55 +01:00
Nil Geisweiller
5ac2e6b8a8
Make Stripable::Sorter::operator() const
...
as required by C++17
2024-12-29 19:45:52 +01:00
Paul Davis
4e80b8c9c7
set zoom focus selector tooltip in the right class
2024-12-29 11:30:06 -07:00
Paul Davis
0a40b50b86
refactor zoom focus handling so that all EditingContexts can use the same code
2024-12-29 11:24:16 -07:00
Paul Davis
9b22e16bec
NO-OP: add lifetime comment
2024-12-29 11:24:16 -07:00
Paul Davis
5157234f2f
auto-fication of a loop
2024-12-29 11:24:16 -07:00
Paul Davis
41814519ab
auto-fication of a loop
2024-12-29 11:24:16 -07:00
Paul Davis
5a97ce4a0c
NO-OP: fix brace indentation
2024-12-29 11:24:16 -07:00
Paul Davis
730cf01ff9
use nullptr instead of NULL
2024-12-29 11:24:16 -07:00
Paul Davis
478d688aac
use nullptr instead of NULL
2024-12-29 11:24:16 -07:00
Paul Davis
3248fb8b59
remove unusued variables
2024-12-29 11:24:16 -07:00
Paul Davis
e36b1211b6
fix drawn length of notes in MIDI cue editor
2024-12-29 11:24:16 -07:00
Robin Gareus
6e2d34df2d
Fix MIDI Clock generator (rounding issues)
...
This broke in f67029bd0 and notably bcc1aeeb86 .
next_tick needs to accommodate for sub-sample accuracy when
PPQN are not integer samples. e.g. 110 bpm @ 48kHz
PS. Instead of `double` we could use superclock next_tick, and
`one_ppqn_in_superclocks` respectively. This would provide us
with 62 bit significand (instead of 52 bit using double).
Yet for the case of MIDI clock, this will have no real world
effect.
2024-12-29 16:05:31 +01:00
Paul Davis
c98a36be0f
switch mouse button and motion handling in MidiView to use Drag formalization
...
It appears that mouse handling in MidiRegionView (now moved into MidiView)
predated the full Drag formalization. This led to inconsistencies as parts of the Drag
formalization were adopted, including the use of motion events to start a drag (this
is incorrect in the current semantics of a Drag).
This commits removes all/most of the special purpose drag handling machinery in MidiView
and uses Drags instead
2024-12-27 14:13:02 -07:00
Paul Davis
28e9c3908e
select useful cursors for clip end/start handles and "background" in MidiCueEditor
2024-12-27 14:10:57 -07:00
Paul Davis
dbcf4c14f4
fix mechanism used for moving/dragging clip end handles
2024-12-27 14:10:00 -07:00
Paul Davis
84c78db3ad
remove unused variables
2024-12-27 14:09:27 -07:00
Paul Davis
76fa75cf9a
add a check on the event type passed to start Drags
...
Drags should always be started by a button press event.
2024-12-27 14:09:11 -07:00
Paul Davis
25b830b032
fix event handling/routing from MidiView up to EditingContext
...
in particular, rename MidiView::canvas_group_event() to
avoid confusion with TimeAxisViewItem::canvas_group_event()
since a MidiRegionView inherits from both these classes.
2024-12-27 14:00:55 -07:00
Paul Davis
c98fc2477a
add a new canvas item for cue start/end dragging
2024-12-27 13:44:56 -07:00
Paul Davis
07046510d9
add new editing context item types to enums list
2024-12-27 13:18:05 -07:00
Paul Davis
24a1fd9dbe
NO-OP: whitespace
2024-12-26 09:28:06 -07:00
Paul Davis
084a23a80d
some work on being able to swap channels and have different MIDI automation displayed in pianoroll
2024-12-20 11:48:40 -07:00
Paul Davis
5248e81f9d
start using visible channel in MIDI cue editor
2024-12-20 10:44:35 -07:00
Paul Davis
8486c5ba98
kind-of-sort-of get MIDI automation editing working in cue editor/pianoroll
...
Still lots of details required here but the basic idea of displaying multiple lines and only
editing one is now operational
2024-12-20 10:08:20 -07:00
Paul Davis
228a4931e1
NO-OP: obey code formatting rules and conventions
2024-12-20 10:06:57 -07:00
Paul Davis
5f943295fc
copying a tempo map should not bail out just because there is only 1 tempo & meter
2024-12-18 16:46:07 -07:00
Robin Gareus
daa6808a30
Scale Metronome icon to match other transport icon height
2024-12-18 21:56:13 +01:00
Robin Gareus
561f0579f0
Round to bars when mouse scroll/dragging BBT bars
2024-12-18 20:23:55 +01:00
Robin Gareus
d34213d7f3
Prelight Audio Clock
2024-12-18 15:29:02 +01:00
Robin Gareus
f7d2c0b33e
ToggleMixerProps are Mixbus only (fix "missing action")
2024-12-17 16:51:25 +01:00
Robin Gareus
cbe838ce26
Fix crash when dragging plugins from sidebar
2024-12-17 15:50:03 +01:00
Robin Gareus
72aebf0308
Tweak mixer-icon's fader-caps
2024-12-17 15:47:54 +01:00
Robin Gareus
17cd211d06
Allow to configure number of mixer scene buttons
...
For Mixbus increase mixer-scene buttons to 12 (same as Function buttons)
2024-12-16 23:28:00 +01:00
Robin Gareus
42b32fbd7c
Also change automation time-domain to match default ( cde26c5205)
2024-12-16 19:51:24 +01:00
Robin Gareus
8c2a907bdc
Increase number of ASAN backtrace frames
2024-12-15 16:32:18 +01:00
Robin Gareus
91d91eac0d
Fix export encoder race condition
...
The CmdPipeWriter::Terminated signal is used to trigger the FileWritten
callback, which invokes ExportGraphBuilder::Encoder::copy_files
Encoder::filenames must not be destroyed before the callback
arrives. This is now guaranteed by the Encoder d'tor waiting
for for the encode process to terminate.
2024-12-15 16:31:43 +01:00
Robin Gareus
bae7c52f01
The return of the tape-reel icon
...
This was removed with destructive record mode
a4d7b45fe0
This new version is no longer red by default, and
also works with light theme
2024-12-14 16:39:06 +01:00
Paul Davis
4c34f3cd29
provide rudimentary button control over percussive/sustained drawing in clip editor
...
Note that the note length selector can always be used to change the length of a note added
via a click
2024-12-13 21:48:18 -07:00
Paul Davis
0ff0d4df8b
get mouse-centered zoom working in cue editor
2024-12-12 11:53:15 -07:00
Paul Davis
953091bdd2
add *all* cursors to the cursors container of MouseCursors
2024-12-12 11:53:15 -07:00
Paul Davis
d9160e5d1a
fix use-after-free error caused by not clear MouseCursors::cursors when we recreate them
2024-12-12 11:53:15 -07:00
Paul Davis
fb4fefe573
fix some issues with zoom focus after refactoring it into EditingContext
2024-12-12 11:53:15 -07:00
Paul Davis
050828cc10
cue editor: note that we're in the canvas when we enter it, etc.
2024-12-12 11:53:15 -07:00
Paul Davis
38f5546327
actually implement ::reposition_and_zoom() for midi cue editor
2024-12-12 11:53:15 -07:00
Paul Davis
9ad24161c1
add canvas debugging item names
2024-12-12 11:53:15 -07:00
Paul Davis
d5dc2779cc
no need for MidiCueEditor to have its own ::temporal_zoom_step() method
2024-12-12 11:53:15 -07:00
Paul Davis
0e170b6457
C++, please
2024-12-12 11:53:15 -07:00
Paul Davis
c24b889717
for now, midi cue view uses mouse for zoom focus
2024-12-12 11:53:15 -07:00
Paul Davis
755aeb74b0
midi cue view can use midi view's canvas event method directly
2024-12-12 11:53:15 -07:00