Commit Graph

38062 Commits

Author SHA1 Message Date
David Robillard 2d0b0defdf Add a clean clang-tidy configuration
This configuration just suppresses the necessary clang-* checks which are
enabled by default.  This way has a bit of file spam, but is nice because
different components (in particular, ones actually internal to ardour) can be
audited/strengthened independently.
2023-09-09 23:42:18 -04: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
Robin Gareus 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
Paul Davis 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
Paul Davis 4ff8cff024 add velocity sense for MIDI Learn-ed clip triggering 2023-09-08 15:27:11 -06:00
Paul Davis 2f25592702 push2: add velocity sensitivity 2023-09-08 14:57:28 -06:00
Paul Davis 1249195516 push2: remove debug output 2023-09-08 14:57:07 -06:00
Paul Davis b440488295 launchpad pro: provide velocity info when launching clips/triggers 2023-09-08 14:41:21 -06:00
Paul Davis 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
Ben Loftis 503e6249f4 remove GridTypePlayhead 2023-09-08 15:27:04 -05:00
Robin Gareus d57676b9c7
Maybe clear time-selection when switching to draw tool 2023-09-08 14:50:43 +02:00
Ben Loftis e81b2353cc
Indicate arrangement section selection on canvas 2023-09-08 03:26:00 +02:00
Robin Gareus b243b93072
Allow to reuse range context menu w/o track/region selection 2023-09-08 03:25:59 +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 b6e9f37007
Arrangement Sidebar: follow-edits locates to selected section 2023-09-08 03:25:59 +02:00
Robin Gareus d2b083f385
Arrangement Sidebar: allow name edit by double-click 2023-09-08 03:25:59 +02:00
Robin Gareus 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
Robin Gareus 20b646e962
Handle MouseGrid cursor (fix -Wswitch, amend 784d2ecc) 2023-09-08 03:25:59 +02:00
Paul Davis 250174b16e don't bother locating at end of no-motion marker drag if using external sync 2023-09-07 14:23:08 -06:00
Paul Davis f9a121ce9c click (no drag) on markers locates there, unless using marker as edit point 2023-09-07 14:23:08 -06:00
Ben Loftis 3f14b27ee3 remove (unimplemnted) Stretch MIDI checkbox 2023-09-07 15:18:36 -05:00
Robin Gareus 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
Robin Gareus cc47b5fe3c
Only allow grid-tool with musical grid 2023-09-06 23:56:10 +02:00
Paul Davis 966dce5516 remove now-invalid tempo edit menu items 2023-09-06 15:29:55 -06:00
Paul Davis 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
Paul Davis 58b667c6c0 temporal: fix crash caused by unsafe use of tempo map iterators 2023-09-06 14:46:24 -06:00
Paul Davis 3675f8f444 launchpad pro: remove debug output 2023-09-06 14:46:24 -06:00
Paul Davis 6d9c47c920 launchpad pro: only light Sends button if the selected stripable has 1+ sends 2023-09-06 14:46:24 -06:00
Paul Davis 1ec966d964 launchpad pro: allow clear+cue buttons to ... clear a cue 2023-09-06 14:46:24 -06:00
Paul Davis 68678aa957 triggerbox: add API to clear a cue (row) 2023-09-06 14:46:24 -06: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
Robin Gareus f339236c5b
Add icon for the Grid tool 2023-09-06 19:13:59 +02:00
Robin Gareus 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
Robin Gareus c2ce0bcb4a
Amend 101744b8, allow `when` and `start` to point to the same variable 2023-09-06 01:01:30 +02:00
Robin Gareus 3851a93e39
Update selection-markers on track and time selection 2023-09-06 00:02:36 +02:00
Robin Gareus 10ff5ad599
Use section delete for Editor::Delete operation 2023-09-06 00:02:31 +02:00
Ben Loftis 6e87a46ba4
convention for selection (as used on track headers) is red border, red tint 2023-09-05 23:08:30 +02:00
Robin Gareus 29430ac550
NO-OP: clang-format 2023-09-05 23:08:30 +02:00
Robin Gareus 68ccbc8ac3
Arrangement: locate on double-click 2023-09-05 23:08:30 +02:00
Ben Loftis e5e40c751f
if user moves selection markers, convert selection to a timeline section 2023-09-05 23:08:30 +02:00
Ben Loftis 4217a68852
Arranger: implement bi-directional selection 2023-09-05 23:08:30 +02:00
Ben Loftis 5ceb66c902
Arranger: allow renaming by context-menu 2023-09-05 23:08:29 +02:00
Ben Loftis 101744b812
Add method to find a section location by position 2023-09-05 23:08:29 +02:00
Robin Gareus 5c888f2b90
Fix deadlock when cut/pasting section to itself 2023-09-05 23:08:29 +02:00