6ba69cfd57
gain slider: correctly new push/pop group for use selection
2023-07-26 16:42:12 -06:00
f6664570d4
control group: implement ::fill_from_selection and ::size()
2023-07-26 16:41:54 -06:00
eba8eb07d3
automation control: fix logic for ::pop_group()
2023-07-26 16:41:09 -06:00
86a5aec276
change "use selection" modifier to Win/Opt (Level4 modifier)
2023-07-26 16:40:34 -06:00
d7ed491f75
gain controls: tenatively use new "use selection" feature
2023-07-26 13:39:05 -06:00
5f55f32386
control group: add API to push & pop control groups on a control
2023-07-26 13:38:37 -06:00
29c2b06d0e
add a name for a modifier to be used to indicate "use selection"
2023-07-26 13:18:02 -06:00
3c2112abf5
widgets & GUI: Start/StopGesture signals should pass on GDK event state
2023-07-26 13:11:52 -06:00
7ddd2a0692
automation control: allow single level of push/pop control group
2023-07-26 13:11:22 -06:00
Mads Kiilerich
c86c444157
wscript: fix regexp escaping with the more strict Python 3.12
...
Previous Python versions allowed sloppy escaping. Python 3.12 will issue
SyntaxWarning like:
wscript:1114: SyntaxWarning: invalid escape sequence '\.'
Use raw strings to pass the \ through Python syntax and down/up to
Regexp syntax.
2023-07-25 19:38:09 +02:00
darless
e28eaa843d
Fix #8857 : Remove snap from decision making about number of divisions
2023-07-25 08:51:35 -06:00
7fbe17c802
BBT markers must define an on-beat position
2023-07-24 16:20:38 -06:00
86d818e4b9
Revert VST3 kMono arrangement experiment #9418
...
Apparently kMono is not a flag and implies connection of the first port
This reverts commit 8aebfc45dc
.
and 2698b23f82
.
2023-07-21 00:39:47 +02:00
dfc52fd5fb
Plugin analysis: cairo coordinate system fixes
2023-07-18 18:13:34 +02:00
Albert Graef
e448895acf
Add a map for the Donner StarryPad drum pad controller.
2023-07-18 13:34:40 +04:00
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
4c845eb2a0
cairo single pixel line offset fix, part 1
2023-07-17 20:54:33 -06:00
8c479ff425
lv2: if bpm is a double it may as well be a double from the start
2023-07-17 16:46:54 -06:00
cbde791805
short doc on drawing cairo single pixel lines
2023-07-17 16:46:54 -06:00
3ab3ef3b55
Fix lineset drawing (again), apply cairo 0.5px offset
...
see also f08299ea1e
2023-07-17 23:28:36 +02:00
2698b23f82
VST3: try an alternative approach use kMono as flag, not arrangement
...
See also 920a6a46c3
and 445e5162fd
.
2023-07-17 20:48:45 +02:00
8aebfc45dc
Revert "VST3: work around UADx crash when in mono configuration"
...
This reverts commit 920a6a46c3
.
2023-07-17 20:45:44 +02:00
8a5f370994
lv2: correctly compute tempo for tempo markers delivered as position events
2023-07-17 11:39:47 -06:00
93cbbf57d1
lv2: reserve vector for return values from TempoMap::get_grid()
2023-07-17 11:39:47 -06:00
9fd0076c93
lv2plugins: correctly compute tempo to be passed to LV2 plugins
2023-07-17 11:39:47 -06:00
f08299ea1e
Fix lineset drawing for lines > 1px width
...
This is a follow up to 248e37ac0c
.
A line at 0 with 1px width should draw from 0.5 to 1.5
(cairo pixel offset). The same line with a width of 3px
is -0.5 to 2.5.
The self.intersection code calculates this correctly, subtracting
shift, the drawing code however incorrectly added it.
This fixes MIDI track grid/note offset as well as a bleed
below the track.
2023-07-17 05:05:20 +02:00
8a371bcaa2
Fix tempo-map backward compatibility
...
Moving forward tempo-type is saved without `Tempo::`
prefix again.
2023-07-17 00:35:05 +02:00
b61f84e872
Print messages for each possible session-load failure
2023-07-16 16:16:59 +02:00
c31c1906f7
temporal: fix dangling confusion about "omega"
...
Remove all reference to "omega_sc" and rename "omega_beats" as omega
2023-07-15 21:45:11 -06:00
2aa7dd42ea
lv2: plugins get an iterator to (sometimes|often) speed up ::get_grid() calls
2023-07-15 11:30:40 -06:00
ea2d2b4760
temporal: rename ::get_grid_with_iterator()
...
Because I like polymorphism
2023-07-15 11:23:45 -06:00
b2a57108c3
actually reserve space for click grid points, to void RT memory allocation
2023-07-15 11:08:45 -06:00
b8af596a92
update all marker positions after a tempo map change
2023-07-15 11:08:45 -06:00
422fa7255b
temporal: further extensions to GridIterator API to handle bar_mod/beat_div parameters
...
Also try to comment class definition to add a little clarity
2023-07-15 11:08:45 -06:00
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
cbaa335946
temporal: some cleanup of the GridIterator API
2023-07-14 21:32:40 -06:00
a857a0af4d
Update Luabindings for new TempoMap API
2023-07-14 23:48:13 +02:00
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
ae5755dbe5
do not mark sections of menu/action paths as translatable, since they are not
2023-07-14 13:03:36 -06:00
ed869da97e
reserve space for tempo map grid (GUI side)
2023-07-14 13:03:36 -06:00
81384537ef
temporal: remove useless _floating member and API from TempoMapPoint
2023-07-14 13:03:36 -06:00
ed43ac3a28
remova Lua version of count_bars() since it is not longer in TempoMap
2023-07-14 13:03:36 -06:00
f41505a8c6
add Editor::count_bars() after removing it from libtemporal
2023-07-14 13:03:36 -06:00
039f2d5d0e
remove TempoMap::count_bars()
...
It's the only place in libtemporal that would require
a TempoMapPoints allocation, and there's no reason to do
this inside the library.
2023-07-14 13:03:36 -06:00
52f1b88749
temporal: remove ill-conceived lookup tables from tempo map (never publically visible)
...
These were not thread safe, and could not be: to be useful, a thread looking up a time
conversion could cache the result, but it would be using the global (shared) copy
of the map (because lookup is read-only, and so no write-copy is required). But
inserting into the lookup table wasn't lock protected (and shouldn't be because otherwise
that defeats the point of RCU).
So just drop it.
2023-07-14 13:03:26 -06:00
df52c39ce0
freehand line drawing: automation & velocity share the same basic code
2023-07-14 13:03:26 -06:00
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
bedab69338
Pin Dialog: hide send polarity invert
2023-07-14 16:59:54 +02:00
Albert Graef
37c000c967
Add binding maps for the AKAI APC mini (mk1 and mk2) and the MPK miniplus.
2023-07-12 22:31:27 +02:00