Commit Graph

36459 Commits

Author SHA1 Message Date
Robin Gareus d1b462c213 Special case tansient-parent windows on macOS
macOS has its own z-axis stacking (see Manager::set_transient_for) for
dialog and utility windows of a single application. There only case to
set a dedicated transient parent is to keep the child window on top of a
dialog.

Valid use-cases are e.g.
 Plugin Preset Name entry on top of a PluginWindow
 Export Format Settings on top of the Export Dialog

Alternatively one would need to patch gtk to handle
[NSView shouldDelayWindowOrderingForEvent] and explicitly reorder
siblings of a common parent window.

This fixes an issue that plugin windows cannot be re-stacked but were
previously always stacked in the order they were opened.
2022-11-15 03:07:43 +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 4a9e8b5211
Place session-save dialog on-top of everything 2022-11-14 02:56:54 +01:00
cooltehno 7af1d30bf0 Update clear_gray-ardour.colors 2022-11-13 14:08:28 +03:00
cooltehno 3e806e9c1c Update cubasish-ardour.colors 2022-11-13 14:08:12 +03:00
Robin Gareus b82900858f
Do not limit stack-size when freezing tracks
This fixes an issue with plugin state save/restore. Some
require excessive stack to do that (looking at you b.oops.lv2).
The main GUI thread has no stack limit, so this is only an issue
when calling state save/restore from background threads.
2022-11-13 03:02:00 +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
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