Commit Graph

16585 Commits

Author SHA1 Message Date
Robin Gareus
dfc52fd5fb Plugin analysis: cairo coordinate system fixes 2023-07-18 18:13:34 +02:00
Paul Davis
ec7d502959 cairo single pixel line offset fix, part 2
This will need careful visual inspection of the items drawn by the
affected code to make sure they are still precisely as intended
2023-07-17 20:55:13 -06:00
Paul Davis
b8af596a92 update all marker positions after a tempo map change 2023-07-15 11:08:45 -06:00
Paul Davis
460266de13 NOOP: whitespace fix 2023-07-15 11:08:45 -06:00
John Emmas
35c04d0ee7 Add a missing namespace specifier 2023-07-15 12:55:30 +01:00
Paul Davis
509efdb290 temporal: refactor ::get_grid() for performance reasons
the API now provides the option to call ::get_grid() with an iterator which may
be re-used on subsequent calls. This avoids unbounded O(N) "walks" from the
marker preceding the start point of the grid to the start point.

This commit also includes "fast-path" code for the common case of a single
tempo and single meter
2023-07-14 13:03:36 -06:00
Paul Davis
ae5755dbe5 do not mark sections of menu/action paths as translatable, since they are not 2023-07-14 13:03:36 -06:00
Paul Davis
ed869da97e reserve space for tempo map grid (GUI side) 2023-07-14 13:03:36 -06:00
Paul Davis
f41505a8c6 add Editor::count_bars() after removing it from libtemporal 2023-07-14 13:03:36 -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
2c48aabe08 Handle race condition when removing route before routeUI
This fixes a crash when removing the monitor section.
The monitor route goes away, but the GUI remains. The
IOButton may still process previously queued
cross-thread signals.

In many cases this was not an issue since the route's
memory was not immediately released or shared_ptr
destruction only happened a short time later.
2023-07-14 19:03:32 +02:00
Robin Gareus
bedab69338 Pin Dialog: hide send polarity invert 2023-07-14 16:59:54 +02:00
Robin Gareus
8145e92b43 Clarify Control point edit dialog messages, add tooltip 2023-07-11 01:16:58 +02: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
ac68fcb880 automation drawing: fix right-to-left free drawing 2023-07-10 14:39:23 -06:00
Paul Davis
f6f1f3393d automation drawing: fatter line 2023-07-10 14:38:58 -06:00
Paul Davis
d12aa315fc automation drawn: ensure the right-to-left drawn lines are ordered correctly 2023-07-10 14:23:39 -06:00
Paul Davis
9d5b6a78d5 automation drawing: better line color 2023-07-10 14:16:59 -06:00
Paul Davis
25d17e857f when free-drawing straight lines, allow retrograde motion 2023-07-10 13:42:25 -06:00
Paul Davis
57167dafbe use configurable thinning factor, not a hard-coded constant 2023-07-10 13:42:06 -06:00
Paul Davis
67d9fa885a use mid-drag key events to allow Alt to force a line break 2023-07-10 12:22:16 -06:00
Paul Davis
a14c534d16 dragging: add possibility of handling key events mid-drag
Currently only called from a canvas automation track event handler.
2023-07-10 12:21:27 -06:00
Paul Davis
6453049c0a automation drawing: add point at grab start & use new ControlList API for speed 2023-07-10 11:20:47 -06:00
Paul Davis
7f653de3e2 automation drawing: don't draw staircases when there are no staircases 2023-07-09 22:14:38 -06:00
Paul Davis
c584bfd374 automation drawing: thinning does not work well with snapped-drawn lines
Also, adding points to a ControlList can fail and that's OK
2023-07-09 22:10:18 -06:00
Paul Davis
caa278ae55 fix reverse drags and a compiler warning
Not quite sure what to do if we fail to add a point, yet
2023-07-09 21:01:22 -06:00
Paul Davis
0a0a882f5a snapping, straight lines, and merge drawn points to list for auto draw 2023-07-09 20:42:09 -06:00
Paul Davis
e0c24f5bcf automation drawing: stay in your lane and keep moving in the same direction 2023-07-09 18:12:08 -06:00
Paul Davis
86d5e2472c automation drawing: we have the squiggly 2023-07-09 17:39:32 -06:00
Paul Davis
78bca64a81 fix (and maybe break) two Drag classes that used the wrong name for setup_pointer_offset()
This might have unexplored consequences
2023-07-09 17:39:11 -06:00
Paul Davis
6743c09b4a change return type from ptr to reference for AutomationTimeAxis::base_item() 2023-07-09 17:37:22 -06:00
Paul Davis
94f413c399 basic empty skeleton for automation draw drag 2023-07-09 16:33:16 -06:00
Paul Davis
0c8fd48d6f velocity lane: appropriately hide automation controls until we have line automation 2023-07-08 17:18:14 -06:00
Robin Gareus
2a1d4ffce9 Add note about LuaSignal for windows 2023-07-05 19:38:51 +02:00
Robin Gareus
9b8040a9f4 Add Lua signal emitted when editor selection changed 2023-07-04 21:13:52 +02:00
Robin Gareus
b757dd9fd8 Vertically center markers
see also 64d633cd26
2023-07-03 18:35:56 +02:00
Robin Gareus
7e121f4e13 Fix alloc-dealloc-mismatch (malloc vs operator delete) 2023-07-02 23:54:16 +02: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
64d633cd26 amend/fix b490f7d2a1 to correctly (?) place marker text 2023-07-01 21:07:25 -06:00
Paul Davis
d688af76c0 clean up mapping bar context menu, extend with clear tempos 2023-06-30 15:50:47 -06:00
Paul Davis
bfa13ad714 temporal: reference time for BBT_Argument is always superclocks (GUI) 2023-06-30 12:10:50 -06:00
Paul Davis
e756786a13 bbt markers: remove tempo&meter marker on deletion 2023-06-28 18:05:34 -06:00
Paul Davis
ac491fce0e bbt markers: now have an (insensitive) tempo and meter marker visible
probably needs more work for event handling on the tempo and
meter markers.
2023-06-28 18:03:38 -06:00
Paul Davis
b490f7d2a1 markers: fix position of BBT marker text (tiny tweak) 2023-06-28 18:03:38 -06:00
Paul Davis
c53a476f15 allow drawing automation control points in mouse object mode
This is a tentative change and if it proves unwise we can back it out.
I just find it awkward to have to change modes to draw when it is
completely obvious whether I am drawing or not.
2023-06-28 13:44:59 -06: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
36769dd94c part 2 of showing region selection in MIDI CC (automation) tracks 2023-06-28 13:44:59 -06:00
Paul Davis
64b08a1c70 when a parent (audio/MIDI) regionview is selected, raise matching AutomationRegionView
Currently, we only use AutomationRegionView to show MIDI CC data
2023-06-28 13:44:59 -06:00
Paul Davis
78037a532c when displaying region selecting, compare regions not regionviews
This worked before because nothing happened to AutomationRegionViews
when an AudioRegionView or MIDIRegionView was selected, and so
testing based on the regionview worked (the potential RV could
be the actual RV).

But when displaying region selection (in any way) on other TimeAxisViews,
the correct test is whether the RegionView shows the same region
as the selected region(view).
2023-06-28 13:44:59 -06:00