Commit Graph

38114 Commits

Author SHA1 Message Date
baa32aa5bd merged commit from alexander mitchell, implementing a new piano roll header 2023-09-10 18:20:35 -06:00
0e3594bb1c
Add Temporal::Beats Lua bindings 2023-09-10 22:23:57 +02:00
d37f85f9d2
Emit selection RegionsChanged when region is removed
This is required to properly update the selection.
Previously deleting a region did not update selection
markers and other selection displays that depend on
Editor::get_selection_extents (which includes region selection).

This fixes a crash: Select a region (this sets a time-selection).
Delete the region, click on the time-selection markers (red triangles).
2023-09-10 15:25:12 +02:00
Maciej Bliziński
1c8b91ed86
Keep the search term in the dialog box.
When user wants to keep the dialog box open, it's probably with the intention to edit the search term rather than typing it from scratch again.
2023-09-09 21:48:21 +02:00
c0287cb0de
Fix thinko in e81b2353cc, selection may not start at a marker
This fixes a crash when selecting a section, and then changing
the time-selection. Previously it was assumed that the section
context menu can only be shown for sections. But it applies to
any time[line]-selection.
2023-09-09 21:27:11 +02:00
Asahi Lina
d1cc71150f Adjust interpretation of swing amount
Previously,

0 -> no swing (1:1, 50%)
50 -> triplet swing (2:1, 66%)
75 -> hard swing (3:1, 75%)
100 -> sextuplet swing (5:1, 83%) (default!)
150 -> absolute maximum (inf:1, 100%)

This is rather confusing...

One common interpretation uses percentages of the beat, where triplet
swing is 66%. However, that causes precision issues since it's really
66.666...

Since we already default to 100 and take "no swing" as zero, let's make
that reference point triplet swing. Then the scale becomes:

0 -> no swing (1:1)
100 -> triplet swing (2:1)
150 -> hard swing (3:1)
200 -> sextuplet swing (5:1)
300 -> absolute maximum (inf:1)

300 doesn't make any sense, so let's change the range to -250 .. 250
which covers all useful values.

Also remove the division through 100 and back, to avoid rounding issues.

Signed-off-by: Asahi Lina <lina@asahilina.net>
2023-09-09 20:06:37 +09:00
Asahi Lina
f1004a445e Fix quantization swing
- Fix selection of what beats to swing (was always done)
- Fix swing strength (lack of precision rounded to 50% or 100%)
- Fix model offset not being applied properly

Signed-off-by: Asahi Lina <lina@asahilina.net>
2023-09-09 20:06:37 +09:00
Asahi Lina
ca25b5c841 Fix quantize threshold setting
Signed-off-by: Asahi Lina <lina@asahilina.net>
2023-09-09 20:06:37 +09:00
Asahi Lina
577918dc07 Fix quantize beat divisions
Signed-off-by: Asahi Lina <lina@asahilina.net>
2023-09-09 20:06:37 +09:00
aca5d7d988 place lollipops in correct location on timeline
It is not immediately clear to me why the + radius expression is reqired
2023-09-08 16:16:15 -06:00
4ff8cff024 add velocity sense for MIDI Learn-ed clip triggering 2023-09-08 15:27:11 -06:00
2f25592702 push2: add velocity sensitivity 2023-09-08 14:57:28 -06:00
1249195516 push2: remove debug output 2023-09-08 14:57:07 -06:00
b440488295 launchpad pro: provide velocity info when launching clips/triggers 2023-09-08 14:41:21 -06:00
36048ea651 triggerbox: change API to allow providing velocity information when "banging" triggers
... and by extension using it (based on the magnitude of the velocity effect setting) to set the gain of
audio triggers
2023-09-08 14:41:21 -06:00
503e6249f4 remove GridTypePlayhead 2023-09-08 15:27:04 -05:00
d57676b9c7
Maybe clear time-selection when switching to draw tool 2023-09-08 14:50:43 +02:00
e81b2353cc
Indicate arrangement section selection on canvas 2023-09-08 03:26:00 +02:00
b243b93072
Allow to reuse range context menu w/o track/region selection 2023-09-08 03:25:59 +02:00
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
b6e9f37007
Arrangement Sidebar: follow-edits locates to selected section 2023-09-08 03:25:59 +02:00
d2b083f385
Arrangement Sidebar: allow name edit by double-click 2023-09-08 03:25:59 +02:00
78db634321
Unconditionally show time-selection in info box with object tool
Arrangement Section can be selected with the object tool,
and should be indicated even when not using Smart mode.
2023-09-08 03:25:59 +02:00
20b646e962
Handle MouseGrid cursor (fix -Wswitch, amend 784d2ecc) 2023-09-08 03:25:59 +02:00
250174b16e don't bother locating at end of no-motion marker drag if using external sync 2023-09-07 14:23:08 -06:00
f9a121ce9c click (no drag) on markers locates there, unless using marker as edit point 2023-09-07 14:23:08 -06:00
3f14b27ee3 remove (unimplemnted) Stretch MIDI checkbox 2023-09-07 15:18:36 -05:00
e88a121ff8
Fix canvas rectangle bounding box
When drawing the outline of a rectangle, the bounding
box must cover the whole pixel of the line. Otherwise
the line would be left behind when the rectangle shrinks.
2023-09-07 02:45:26 +02:00
cc47b5fe3c
Only allow grid-tool with musical grid 2023-09-06 23:56:10 +02:00
966dce5516 remove now-invalid tempo edit menu items 2023-09-06 15:29:55 -06:00
aaadc3906c triggerbox: fix crashing bug while processing clips in rubberband
The read_index is adjusted in the loop, which means that the calculation of how much
data can be delivered to the stretcher must also be inside the loop
2023-09-06 14:46:24 -06:00
58b667c6c0 temporal: fix crash caused by unsafe use of tempo map iterators 2023-09-06 14:46:24 -06:00
3675f8f444 launchpad pro: remove debug output 2023-09-06 14:46:24 -06:00
6d9c47c920 launchpad pro: only light Sends button if the selected stripable has 1+ sends 2023-09-06 14:46:24 -06:00
1ec966d964 launchpad pro: allow clear+cue buttons to ... clear a cue 2023-09-06 14:46:24 -06:00
68678aa957 triggerbox: add API to clear a cue (row) 2023-09-06 14:46:24 -06:00
da4d2a645f
remove tempo-mapping bar, tempo_meta group. this reverts 8fbf2c and related 2023-09-06 19:31:00 +02:00
784d2ecce4
Add the tool for Grid, and accompanying buttons and event-handling 2023-09-06 19:30:56 +02:00
268d1d33c7
Add invisible Rectangle to initiates Tempo(grid) drags 2023-09-06 19:14:14 +02:00
f339236c5b
Add icon for the Grid tool 2023-09-06 19:13:59 +02:00
80a813ff1c
Fix use-after-free when undoing marker creation
Create a marker by ctrl-click, hover over it and then ctrl+z
undo. This used to crash in Editor::get_preferred_edit_position()
gtk2_ardour/editor.cc:5179, checking for entered_marker->position()
2023-09-06 17:37:11 +02:00
c2ce0bcb4a
Amend 101744b8, allow when and start to point to the same variable 2023-09-06 01:01:30 +02:00
3851a93e39
Update selection-markers on track and time selection 2023-09-06 00:02:36 +02:00
10ff5ad599
Use section delete for Editor::Delete operation 2023-09-06 00:02:31 +02:00
6e87a46ba4
convention for selection (as used on track headers) is red border, red tint 2023-09-05 23:08:30 +02:00
29430ac550
NO-OP: clang-format 2023-09-05 23:08:30 +02:00
68ccbc8ac3
Arrangement: locate on double-click 2023-09-05 23:08:30 +02:00
e5e40c751f
if user moves selection markers, convert selection to a timeline section 2023-09-05 23:08:30 +02:00
4217a68852
Arranger: implement bi-directional selection 2023-09-05 23:08:30 +02:00
5ceb66c902
Arranger: allow renaming by context-menu 2023-09-05 23:08:29 +02:00