Commit graph

19772 commits

Author SHA1 Message Date
Paul Davis
e5bbccef28 various changes to get Push 2 surface support functional after inheriting from MIDISurface 2022-11-16 08:37:57 -07:00
Paul Davis
99712e7585 surfaces; convert push2 to inherit from MIDISurface 2022-11-16 08:37:57 -07:00
Paul Davis
4fbf3028aa basic skeleton for new MIDISurface base class 2022-11-16 08:37:57 -07:00
Robin Gareus
6c3a1d98fe
Towards distinguishing user/factory LV2 presets
See also https://github.com/lv2/lilv/issues/55
2022-11-15 20:08:24 +01:00
Robin Gareus
82d43fa1ee Allow empty text in prompter 2022-11-15 03:24:19 +01:00
Robin Gareus
f107c063e7 Add conveniece API to set trasient-parent for Proxy Windows
On macOS, a transient parant should only be set for a single child
window. sibling windows to a single parent cannot be re-stacked.
2022-11-15 03:03:49 +01:00
Robin Gareus
4f3b8a9776
Allow to override default stack limit for background processes 2022-11-13 03:01:57 +01:00
Robin Gareus
2ae670055d
Explicitly initialize futex word
This is mainly to silence valgrind warnings, the actual value
is irrelevant here.
2022-11-13 03:01:50 +01:00
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
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
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
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
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
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
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
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
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
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
847f4fc93f
Fix bad escaped trailing newline in #define 2022-11-04 19:18:37 +01:00
Robin Gareus
d23c506088
Add missing bracket to tag MIDI channel splitted files 2022-11-04 18:54:10 +01:00
Robin Gareus
bed2e23ff6
Fix memory leak when replicating plugins 2022-11-04 17:57:50 +01:00
Robin Gareus
619d523bbe
Fix state version for copy-construction (1/2)
In some cases copying an instance requires an explicit
set_state() call (e.g. copy internal plugin state). This is
done by calling `set_state(other->get_state())`.

::get_state() produces XML as matching current_state_version.
(not loading_state_version).
2022-11-04 17:51:09 +01:00
Robin Gareus
0aad0ae464
Copy state when replicating VST3 plugins (#9006) 2022-11-04 17:40:37 +01:00
Robin Gareus
fe8d2e7695
third time lucky 2022-11-04 16:03:43 +01:00
Robin Gareus
03d2c8aa95
Fix previous commit strncasecmp() needs strings.h 2022-11-04 16:01:57 +01:00
Robin Gareus
0b8adbb1cb
Fix compilation on older systems (amend 3fb90523cc)
libs/ardour/sndfile_helpers.cc:67:68: error: 'strncasecmp' was not declared in this scope
2022-11-04 15:52:25 +01:00
Mads Kiilerich
4958c0d666
PulseAudio: fix error message 2022-11-04 13:44:55 +01:00
Mads Kiilerich
c2db9b4606
PulseAudio: just start stream uncorked
There was no reason to cork it when it was uncorked right after.

Playback will start when the buffer is full anyway.
2022-11-04 13:44:55 +01:00
Mads Kiilerich
00d3ce6b62
PulseAudio: remove commented out code 2022-11-04 13:44:55 +01:00
Mads Kiilerich
40f9e0c6a6
PulseAudio: use explicit defaults for tlength and prebuf
These might be the values that PA would have chosen anyway, but make it
clear that Ardour is in control ... and will let the user control
"everything" with the buffer size.
2022-11-04 13:44:55 +01:00
Mads Kiilerich
584ee51ca8
PulseAudio: set buffer attributes where they are used
Just moving code.
2022-11-04 13:44:55 +01:00
Mads Kiilerich
8e7ef0d42c
PulseAudio: use correct casing
This will also change the internal backend name, so it will miss the
previous 'config' setting '<State backend="Pulseaudio" ...'` and the
session file's '<EngineHints backend="Pulseaudio" ...'. But that is no
big deal after upgrading. Especially after the backend has been broken
for some users for a while.
2022-11-04 13:44:55 +01:00
Mads Kiilerich
3fb90523cc Remove unused code in sndfile_helpers
No need to worry about maintaining this code with missing formats like
mp3.
2022-11-04 03:52:45 +01:00
Mads Kiilerich
d2fa78ba95 Fix "Could create output file" error message
In the log output, the error would look like:
  [ERROR]: Export initialization failed: Exception thrown by AudioGrapher::SndfileWriter<short>: Could create output file (.../export/something.wav)

Add the missing negation.

But it would perhaps be better phrase the message differently so it not
just hints so strongly towards a file system error preventing file
creation.

Perhaps something like "Failed to initialize sound export to %s"?
2022-11-04 03:52:45 +01:00