Commit Graph

665 Commits

Author SHA1 Message Date
Paul Davis 553e534455 remove a number of canvas items that no longer exist after ruler consolidation 2024-05-17 09:07:00 -06:00
Paul Davis 0b8cfdee40 display MIDI scene markers 2024-04-25 13:07:00 -06:00
Robin Gareus b2d4280e0f
Add support for Region Fx Automation 2024-04-23 21:56:22 +02:00
Robin Gareus cece64e649
Remove another accidentally commited debug message 2023-10-07 18:25:32 +02:00
Robin Gareus f78d82a192
Allow single click to create Region-Gain points (again)
regression was introduced in 18819a48a9
2023-10-07 18:17:36 +02:00
Robin Gareus 31730794be
Remove debug output from 5426bbfd57 2023-10-07 16:59:26 +02:00
Robin Gareus 5426bbfd57
Allow single-click on TempoMap Ruler markers
This fixes the abort, when clicking on a Tempo, Meter or BBT
Marker using the grid tool.
2023-10-07 15:54:23 +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
Paul Davis 2194ae70da must reset BBT markers in GUI after reset_tempo_marks()
reset_tempo_marks() will have destroyed the tempo marks referenced by any
existing BBT marks
2023-10-03 10:16:36 -06:00
Paul Davis 764ed125a4 region gain line freehand draw: ensure drawn line is above waveform 2023-10-02 12:04:57 -06:00
Paul Davis 18819a48a9 region gain and MIDI CC freehand line drawing
This involved a significant change in event handling for automation region views,
but it brings it into line with how it works for other things. On button press
we initiate a drag, then if no motion occurs, the Drag returns false during
finalization, and only then do we continue through Editor::button_release_handler()
to eventually end up in ::add_automation_event().

Although it is a substantial change, the fact that it now works the same
way for audio regions, automation regions and automation tracks seems
like a definite plus.
2023-09-30 11:09:58 -06:00
Paul Davis 944fcf251d initial refactoring of freehand line drawing
This sets the state to use it with MIDI CC and region gain.

class names LineMerger and MergeableLine need revisiting
2023-09-30 11:09:58 -06:00
Robin Gareus 201b9574a2
In Draw mode, do not allow to grab lines.
see also 3cf1227421 and c578695a64
2023-09-26 17:03:09 +02:00
Robin Gareus 3cf1227421
Revert "in draw mode, mouse drags in automation tracks are always freehand drawing"
This reverts commit c578695a64.

When hovering over a control point there is still the "Fader"
cursor shown. It is also handy to be able to directly modify
a control-point right after adding it.

A freehand draw operation can be still be initiated above,
below, or left/right of a given control point.
2023-09-26 01:10:16 +02:00
Paul Davis 318af69057 do not grab magic widget focus for MIDI editing purposes
The bindings use will all work just fine without this focus grab; the focus
grab in turn confuses the use of some/all global bindings (such as the spacebar
to toggle tranport state)
2023-09-24 15:01:04 -06:00
Robin Gareus 0a1ab716a1
Try to track down abort() reported by Nathan
This should have had a `fatal` message like other
all abort() calls.
2023-09-21 20:49:36 +02:00
Ben Loftis 376246f0fc markers should snap when created by context-menu 2023-09-15 19:05:23 -05:00
Ben Loftis 8da5d49e54
Add a checkbox for 'stretch markers' and show it when MouseGrid is active
Also, de-sensitize the checkbox if the session is AudioTime
2023-09-14 23:13:14 +02:00
Paul Davis 5644c8587e only show scroomer note names in draw/internal edit modes (if at all) 2023-09-13 11:53:18 -06:00
Robin Gareus d57676b9c7
Maybe clear time-selection when switching to draw tool 2023-09-08 14:50:43 +02:00
Robin Gareus 019a3a1976
Allow to select Arrangement sections
This also adds interaction with sections in the
Arrangement Ruler.

Note that selecting a range switches to the Range tool.
This is enforced because time-range selection is only meaningful
with tools that perform edit operations on the whole timeline.
2023-09-08 03:25:59 +02:00
Ben Loftis 3f14b27ee3 remove (unimplemnted) Stretch MIDI checkbox 2023-09-07 15:18:36 -05:00
Ben Loftis da4d2a645f
remove tempo-mapping bar, tempo_meta group. this reverts 8fbf2c and related 2023-09-06 19:31:00 +02:00
Ben Loftis 784d2ecce4
Add the tool for Grid, and accompanying buttons and event-handling 2023-09-06 19:30:56 +02:00
Ben Loftis 268d1d33c7
Add invisible Rectangle to initiates Tempo(grid) drags 2023-09-06 19:14:14 +02:00
Ben Loftis 7d95334c0d fix thinko in e53a7 which resulted in unmatched tempo-map UNDO transactions 2023-09-04 08:48:49 -05:00
Robin Gareus 9c984fc2ad
Add dedicated Section Ruler and UI for section boundary markers 2023-08-26 14:09:53 +02:00
Paul Davis c578695a64 in draw mode, mouse drags in automation tracks are always freehand drawing 2023-08-18 17:42:51 -06:00
Paul Davis bb8858be81 remove debug output from editor mouse -> tempo dragging startup 2023-08-16 09:06:43 -06:00
Paul Davis e53a70722a fix ordering of reversible command initiation and tempo mapping ops 2023-08-16 09:05:18 -06:00
Paul Davis 7c029f5f6a next iteration of changes to handle time domain bounces as undoable (GUI) 2023-08-14 23:42:08 -06:00
Paul Davis b3a5e0b2b1 API change for the start of making tempo mapping undoable (GUI) 2023-08-07 16:33:16 -06:00
Paul Davis df52c39ce0 freehand line drawing: automation & velocity share the same basic code 2023-07-14 13:03:26 -06:00
Robin Gareus 4c8b414fb6
Allow to numeric ctrl point edit to apply to all selected points 2023-07-11 00:53:48 +02:00
Paul Davis 86d5e2472c automation drawing: we have the squiggly 2023-07-09 17:39:32 -06:00
Robin Gareus 168b67bd17
Allow to initiate Rubberband-drag on blank Trackview 2023-07-02 21:19:46 +02:00
Robin Gareus 1f4490fff9
Allow to select region-gain points via rubber-band drag 2023-07-02 20:47:41 +02:00
Paul Davis 99c87e0614 no smart mode behavior for automation region views (it makes no sense) 2023-06-28 13:44:59 -06:00
Paul Davis cf7ba80fc1 the basics of lollipop dragging 2023-06-26 14:18:18 -06:00
Robin Gareus 921b4aaa75
Allow to drag time selection markers 2023-06-01 21:37:40 +02:00
Ben Loftis c1fe193def tempo mapping: handle the special case of trying to ramp the 'first' marker 2023-05-22 15:51:38 -05:00
Ben Loftis ed7683d029 tempo mapping: initiating a drag on a BEAT line applies a ramped twist
as opposed to grabbing a BAR line, which explicitly creates or moves a
  tempo marker, and creates constant tempo lines when dragged
2023-05-22 13:33:03 -05:00
Ben Loftis ca5e56f98c tempo mapping: MappingTwist drag should differentiate between ramped and constant twist
TODO:  probably break these into separate ::Drag classes
2023-05-22 13:33:03 -05:00
Robin Gareus dbebc0b7e0
Make Markers properly themable, use color-names
This simplifies code, and also immediately changes marker
colors when the theme is changed.
2023-05-18 01:26:35 +02:00
Robin Gareus 1ee2675716
Implement Selection Marker class and events 2023-05-17 01:50:51 +02:00
Ben Loftis cceb917806 handle special cases of the first and last tempo-mapping markers
TODO: once all cases are recognized, we can probably simplify the logic
2023-05-14 09:05:08 -05:00
Ben Loftis a258b82ce9 tweak behavior and naming of tempo-map drags:
* correctly handle clicks on the immediate right or left of a beat line
* prefer Mid-Twist and End-Stretch terminology over Twist and Linear
* static-tempo vs ramped-tempo is orthogonal to mid- and end- drags (TODO)
2023-05-04 09:33:08 -05:00
Paul Davis 23a9ce4651 more debug information 2023-04-16 10:33:48 -06:00
Paul Davis c10b265333 tempo mapping: various tweaks and improvements to workflow/Ux 2023-04-13 17:47:34 -06:00