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
f2c5f9da25
Lua: allow to reserve STL vector size
2023-07-12 18:23:51 +02:00
72522dd05d
Lua bindings for TempoMap::get_grid
2023-07-11 23:01:09 +02:00
fd6d88583f
LV2 MIDI synths: only tx tempo-map if plugin asks for it
...
This is a slight improvement on 8d97db101
to further mitigate
excessive overhead introduce in a591fb64a
.
2023-07-11 21:52:58 +02:00
8d97db101e
LV2Plugin: do not unconditionally call TempoMap::get_grid
2023-07-11 19:15:40 +02:00
8145e92b43
Clarify Control point edit dialog messages, add tooltip
2023-07-11 01:16:58 +02:00
4c8b414fb6
Allow to numeric ctrl point edit to apply to all selected points
2023-07-11 00:53:48 +02:00
ac68fcb880
automation drawing: fix right-to-left free drawing
2023-07-10 14:39:23 -06:00
f6f1f3393d
automation drawing: fatter line
2023-07-10 14:38:58 -06:00
d12aa315fc
automation drawn: ensure the right-to-left drawn lines are ordered correctly
2023-07-10 14:23:39 -06:00
459659d229
ControlList: do not handle mis-ordered OrderedPoints
2023-07-10 14:23:17 -06:00
9c590c1ed1
syntactic tweak
2023-07-10 14:17:10 -06:00
9d5b6a78d5
automation drawing: better line color
2023-07-10 14:16:59 -06:00
64dc7557cf
automation drawing: some code cleanup and thinko fixes for ::editor_add_ordered()
2023-07-10 14:05:27 -06:00
25d17e857f
when free-drawing straight lines, allow retrograde motion
2023-07-10 13:42:25 -06:00
57167dafbe
use configurable thinning factor, not a hard-coded constant
2023-07-10 13:42:06 -06:00
67d9fa885a
use mid-drag key events to allow Alt to force a line break
2023-07-10 12:22:16 -06:00
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
6453049c0a
automation drawing: add point at grab start & use new ControlList API for speed
2023-07-10 11:20:47 -06:00
45b02538e6
Evoral: extend ControlList API with ::editor_ordered_points()
...
Much more efficient than adding points 1 by 1
2023-07-10 11:20:47 -06:00
76ba032d3c
Fix creating session from template
...
bug was introduced in a36ddb72dd
2023-07-10 16:47:00 +02:00
7f653de3e2
automation drawing: don't draw staircases when there are no staircases
2023-07-09 22:14:38 -06:00
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
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
0a0a882f5a
snapping, straight lines, and merge drawn points to list for auto draw
2023-07-09 20:42:09 -06:00
de67226c90
provide PolyItem::pop_back()
2023-07-09 20:41:36 -06:00
e0c24f5bcf
automation drawing: stay in your lane and keep moving in the same direction
2023-07-09 18:12:08 -06:00
86d5e2472c
automation drawing: we have the squiggly
2023-07-09 17:39:32 -06:00
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
6743c09b4a
change return type from ptr to reference for AutomationTimeAxis::base_item()
2023-07-09 17:37:22 -06:00
94f413c399
basic empty skeleton for automation draw drag
2023-07-09 16:33:16 -06:00
0c8fd48d6f
velocity lane: appropriately hide automation controls until we have line automation
2023-07-08 17:18:14 -06:00
1c54f0e4c0
handle MidiVelocityAutomation in the event type map code
2023-07-08 16:36:50 -06:00