Commit graph

36451 commits

Author SHA1 Message Date
Robin Gareus
949f9e6051
Fix LV2 Atom ringbuffer overflow/corruption
Writing partial messages will lead to undefined behavior.
This does not generally happen (LV2 forge prevents overflow
of the Atom buffer itself), however if the GUI is frozen messages
may accumulate in Ardour's Ringbuffer.
2022-11-13 00:24:05 +01:00
Robin Gareus
376b50a6ae
Fix concurrency issue when deactivating plugins
Processor::deactivate must not be called concurrently with
processing. e.g. Threading rules https://lv2plug.in/ns/lv2core

This fixes a potential crash when freezing tracks
2022-11-13 00:24:02 +01:00
Robin Gareus
3fcd8b659d
NO-OP: remove duplicate return 2022-11-13 00:23:58 +01:00
Robin Gareus
ee51b906ea
Improve bouncing multiple regions
* If 1 region is selected: suggest "Region-name (Bounced)"
* If more than one region is selected and ..
  * all are on different tracks: allow to specify suffix.
  * at least two regions are on the same track: hide the
    "add to trigger-slot" option, allow to specify suffix

see also https://discourse.ardour.org/t/bounce-regions-with-names/107863
2022-11-11 17:56:17 +01:00
Alexandre Prokoudine
e58fddfde7 Add more actual translators and make their list in code more human-readable 2022-11-11 14:52:42 +03:00
Alexandre Prokoudine
33eceadf3a Fix the latest French translation update 2022-11-11 14:45:09 +03:00
Julien Taverna
81df244ac1 Update fr.po 2022-11-11 14:23:10 +03:00
Julien Taverna
abd4d90637 Update fr.po
Add missing translations
2022-11-11 14:22:56 +03:00
Julien Taverna
737f6d8121 Update fr.po
Adding not translated strings in french.
2022-11-11 14:22:43 +03:00
Julien Taverna
8cac5bdef0 Update fr.po -> typo
typo
2022-11-11 14:22:31 +03:00
Julien Taverna
7a0ae90b17 Update fr.po
Add missing translations in french.
2022-11-11 14:22:11 +03:00
Alexandre Prokoudine
05afb53743 Make capitalization more consistent across the UI
This commit mostly changes "Sample rate" to "Sample Rate"
2022-11-11 03:53:19 +03:00
Robin Gareus
9153521f4a
Do not highlight momentarily recalled scenes
Since momentary override is a singleton, it needs to remain
GUI only, and not a session API available to any UI.

The middle-clicked button is rendered as pressed. So it is
already obvious and the Changed() signal that is emitted
when temporarily restoring a scene can simply be ignored.
2022-11-10 21:03:00 +01:00
Robin Gareus
235d51a723
Revert "MixerScenes: implement 'undo' function for mixer scene recalls (libardour)"
This reverts commit a40c8d8e9a.
This reverts commit 01c7e14c6e.
This reverts commit 162a8c00b3.
2022-11-10 20:54:12 +01:00
Ben Loftis
162a8c00b3 fix merge error 2022-11-10 11:06:33 -06:00
Ben Loftis
01c7e14c6e MixerScenes: highlight momentarily recalled scenes by using libardour 'undo'
* also moves 'momentary' into libardour so it can be accessed by other UIs
2022-11-10 09:13:56 -06:00
Ben Loftis
a40c8d8e9a MixerScenes: implement 'undo' function for mixer scene recalls (libardour)
* this allows the session to better report which scene was last recalled
* this potentially allows controllers (like OSC) to momentarily recall
2022-11-10 09:13:50 -06:00
Alexandre Prokoudine
cc912cca1b Make title capitalization consistent across rulers 2022-11-10 15:35:22 +03:00
Alexandre Prokoudine
0a9eca74ae Add a little more useful metadata to appdata 2022-11-10 15:31:14 +03:00
Alexandre Prokoudine
5796cdc588 Add the Catalan translator to the About box 2022-11-09 18:42:17 +03:00
Alexandre Prokoudine
bd0de0e18f Fix build-critical errors in the Catalan translation 2022-11-09 17:30:15 +03:00
Xavi Ivars
a276d4f5b1 Adding Catalan translation 2022-11-09 17:22:03 +03:00
Edgar Aichinger
7ab5190680 remove obsolete entries 2022-11-09 17:18:16 +03:00
Edgar Aichinger
645a476c9f update german translation 2022-11-09 17:17:55 +03:00
Robin Gareus
f047182e8b
Mixer scenes are a sparse array, do not use arbitrary id 2022-11-09 09:52:37 +01:00
Robin Gareus
3d6ecaad79
Allow to override Ardour button text padding 2022-11-09 09:42:50 +01:00
Robin Gareus
88ff1fa192
LV2: only load default state if plugin requires it 2022-11-09 09:42:49 +01:00
Ben Loftis
f8ea94e86c Fix jump_forward_to_mark in the case where you are already located on a marker
* first_mark_after() correctly expects a timepos_t to compare with locations
* BUT the playhead position is always in samples, by definition
* in many cases this meant the 'next' marker was the one you are already located at

* also remove the slight distinction between playhead cursor and actual play position
    (shouldn't matter, but...)
2022-11-08 20:32:32 -06:00
Ben Loftis
bae336129f Add action to create named-range from Selection, and prefer that over the Region variant
* shortcut is currently already assigned to Secondary+Tertiary+R
* perhaps we could instead assign an easier shortcut Primary+M  ?
2022-11-08 19:12:56 -06:00
Ben Loftis
3b49422277 Policy change: hiding a group should not affect its enablement
* in the past, the default behavior was: hiding a group would disable it,
    and then showing the group would re-enable it

* problem occurs when user has disabled a group; hiding and showing it
    unexpectedly re-enable the group

* there was a config variable to disable this behavior, but it was never
    shown on the GUI and therefore not discoverable

Despite the longstanding policy, there's really no reason for
  group visibility and enablement to be intertwined.

If this chnage causes a big problem for someone, they can revert to
  the prior behavior by setting the new config variable in the text file
2022-11-08 18:17:44 -06:00
Ben Loftis
70251c758d MixerScenes: show last-selected scene (gui part) 2022-11-08 17:30:07 -06:00
Ben Loftis
44ff0e46ba MixerScenes: show last-selected scene (libardour part) 2022-11-08 17:29:40 -06:00
Ben Loftis
f55f0409f8 MixerScenes : scenes should report a Change when applied
* this is a convenience so the GUI can show last-selected scene
2022-11-08 17:29:13 -06:00
Ben Loftis
e4e773053a Re-order redirect-box (plugin) context menu
* move plugin-specific items (presets, edit, rename, etc) to the top
* group related items together
2022-11-08 13:13:30 -06:00
Ben Loftis
dd33e19eda Disambiguate Controls in the redirect box: "Inline Controls" 2022-11-08 13:13:30 -06:00
Ben Loftis
8f9636f48e TouchOSC: Trigger Grid layout: improve banking 2022-11-07 12:45:25 -06:00
Ben Loftis
32c73f93a2 TouchOSC: Mixer Scene layout: Add an example layout for Mixer Scenes 2022-11-07 12:45:25 -06:00
Ben Loftis
7038e586d0 OSC: add support for Mixer Scenes: save, recall, and state feedback 2022-11-07 10:28:30 -06:00
Ben Loftis
0bda71b40b BasicUI: Add simple functions to store and recall Mixer Scenes 2022-11-07 10:28:30 -06:00
Ben Loftis
68dc07ecee Mixer Scenes: initialize with a datestamp, rather than no name at all 2022-11-07 10:28:30 -06:00
Alexandre Prokoudine
08c1b97e06 Rename some right-click menu items on rulers for clarity and consistency 2022-11-07 00:34:15 +03:00
John Emmas
9a678b71d6 'strings.h' isn't available in MSVC 2022-11-05 13:30:56 +00:00
Robin Gareus
a0a49b9769
Prevent crash if export format is N/A
This can happen when trying to use the mp3 preset
while there is no mp3 encoder available.
2022-11-04 22:10:19 +01:00
Robin Gareus
f807ea6ea2
Check if format is valid before starting export
This can happen if e.g. mp3 export is n/a, but a mp3
preset is present.
2022-11-04 21:57:53 +01:00
Robin Gareus
15e1b8f675
GUI support for libsndfile mp3 support 2022-11-04 21:22:34 +01:00
Mads Kiilerich
5ff1f28af8
Introduce internal MP3 support using libsndfile 1.1.0+ 2022-11-04 21:22:02 +01:00
Mads Kiilerich
886fe364b3
Add enums for handling libsndfile mp3 encoding
MP3 support was introduced in libsndfile 1.1.0 . It will be a simple
alternative to using external ffmpeg.

To avoid dependency on the new libsndfile or config-time checking,
hardcode the constants from sndfile.h . The actual availability will
have to be checked at runtime.
2022-11-04 19:51:26 +01:00
Mads Kiilerich
f129cf4485
AudioClock: use str parameter instead of accessing widget directly 2022-11-04 19:22:05 +01:00
Mads Kiilerich
8fe7970c7c
AudioClock: drop unused em_width 2022-11-04 19:20:41 +01:00
Mads Kiilerich
e1e8207486
configure: consistently use capitalization of help texts 2022-11-04 19:20:19 +01:00