13
0
Commit Graph

31429 Commits

Author SHA1 Message Date
fddecc11ec
Remove unrelated enum cases (-Wenum-compare-switch) 2021-03-17 17:44:11 +01:00
4abe3ade28 do not commit reversible commands when clearing locations if nothing was changed 2021-03-16 17:40:25 -06:00
950f0d4c9b change return API for Location::clear_*() methods to indicate if anything was removed 2021-03-16 17:40:06 -06:00
bcb3e75cec GUI to remove xrun markers 2021-03-16 16:49:49 -06:00
951257909f Location API to remove xrun markers 2021-03-16 16:49:38 -06:00
5640f820d3 exclude xrun markers from those returned by Locations::marks_either_side()
Surveying the uses of ::markers_either_side() makes it clear that
xrun markers are never relevant to the callers.
2021-03-15 19:38:20 -06:00
dfa9f92e53
Fix tab-button state and cycling through tabs
The initial calls in `we_have_dependents()` was redundantly setting
all widows to "Hidden", before the actual state was known.

tabbable_state_change() is initially called for all Tabs:
ARDOUR_UI::setup_windows -> add_to_notebook() -> attach(),
or for detached windows Tabbable::set_state() -> hide_tab().

Step_up/down_through_tabs used window visibility to determine
candidates. This incorrectly considered detached visible tabs.
Detached windows cannot be cycled to.

This also addressed an issue where tab-buttons state was
incorrectly unset what unrelated tab state changed.
ImplicitActive of the currently active tab is now retained
when some other window is attached/detached.
2021-03-16 00:36:22 +01:00
31d56eb7fc
Unconditionally set diskstream name, fix setting take-name
Since 6.0 take-name was not updated correctly:
The name changes in Session::non_realtime_stop(). At that
time tracks are still record-armed and ignored name changes.

Newly created tracks also never had a diskstream name set
correctly. This only happened at session-load via set_name(),
or config change.
2021-03-15 22:36:58 +01:00
6627d28983
Fix typo in comment 2021-03-15 22:12:31 +01:00
bb50925998
Prevent leaking "recorder:" into the file-name
This is safeguard. It should not happen since _write_source_name
once Track::set_name () sets this unconditionally.
2021-03-15 21:28:52 +01:00
1d106c88ca
NO-OP: comment for later 2021-03-15 20:58:43 +01:00
e267c1e129
Also show route owned controls on touch
This add support for special-cased automation controls
(Fader, Trim, Panner, Mute) and spills their automation-lane
on touch.

It also features a small internal API update directly mapping
CheckMenuItem. See also bd8c26a059
2021-03-15 20:58:42 +01:00
7cd1b2c64c Add support for signing and notarizing packages on MacOS 2021-03-15 09:51:57 -05:00
bdec5aa88e
Keep I/O bundle names in sync with custom names
This fixes an issues that IObutton dropdown did not show
renamed inputs until after session-reload.
2021-03-14 18:14:56 +01:00
c9241a5e71
Fix label, remove underscores (amend e81794d87) 2021-03-13 18:36:35 +01:00
77d88233a5
Update path label after rename or save-as 2021-03-13 16:53:09 +01:00
10a05d8769 Add entitlements file for OSX signing 2021-03-12 12:38:44 -06:00
d00f361571
Fix mac-build clearlooks theme-engine
gtk looks for a .so file, even on macOS
2021-03-12 18:14:28 +01:00
5a20cf56b9
OSX compat: cp -a isn't supported on older versions 2021-03-12 03:28:50 +01:00
d3c4ac153c
Cleanup mac bundle
Symlinks are expanded when rolling the .dmg, which leads
to errors during signing and notarization, so copy files
as needed.

This also removes excess files in etc/ (which are also symlinks),
and avoid empty folders and fixes library path in sub-folders.
2021-03-11 23:52:07 +01:00
1832228601
Update session-archive error-code to work as documented
* return > 0 if file is not an archive
 * return < 0 if extraction failed
 * return 0 on success.
2021-03-11 19:40:41 +01:00
93121e8aa3
Revert "Show error when session-archive loading fails"
This reverts commit 48225c10bd.

We need to allow this to fail and fall-through to test normal sessions.
2021-03-11 19:37:10 +01:00
9ee2a46b7a
Allow re-try when session-parameters mismatch
Previously Ardour kept running but no interaction was possible
since the session-dialog was hidden.
2021-03-11 19:20:29 +01:00
6e0a1d9fd7
Fix session-archive extraction on Windows
Inside the archive forward slash is used as dir-separator,
regardless of OS.
2021-03-11 19:13:51 +01:00
48225c10bd
Show error when session-archive loading fails 2021-03-11 18:25:22 +01:00
9f3fba6988
VST3: Prevent recursive endless resizing
Skip call to onSize() when the plugin's size already matches.

https://github.com/Ardour/ardour/pull/599
https://github.com/juce-framework/JUCE/pull/867
https://discourse.ardour.org/t/sonobus-vst3-gui-hogs-cpu-only-when-ran-inside-ardour-on-linux-but-not-windows/105573
2021-03-11 18:19:21 +01:00
e07b3104bb
Expose VST Micro Edit display option. 2021-03-10 17:57:42 +01:00
32bba6d7d1
Add option to not show VST3 Micro Edit ctrls by default 2021-03-10 17:44:38 +01:00
33de08e9e7
Do not commit empty split undo transactions
When no region(s) are selected and none are under the edit-point,
only a selection change was committed as undo action.
2021-03-10 14:20:24 +01:00
d5eaeb041b
Do not create empty, unused folders when packaging 2021-03-10 13:55:54 +01:00
bdc1cdc15f
Fix crash when separating ranges with automation
playlist->partition() calls DiskReader::playlist_ranges_moved()
which may add Panner and Fader automation state changes.

The reversible command has to be started before calling
playlist->partition(). Simply collecting playlist->rdiff() after
the fact is not sufficient.
2021-03-10 13:55:32 +01:00
9fb21a0905
Add API to determine undo status
This is is useful to determine if an undoable action was
performed before adding additional information (e.g. selection
changes) to the undo transaction.
2021-03-10 13:51:35 +01:00
1ef4fc1140
Show splash-screen content
Since switching to StartupFSM, the GUIIdle signal isn't available
connected at application start. The splash-screen was blank until
the main UI was up.
"Ardour is ready for use" was the only visible message.
2021-03-09 18:29:00 +01:00
John Emmas
3b3d362d56 Add a cast when using 'abs' (to keep MSVC happy) 2021-03-09 11:33:19 +00:00
bdd362ee24 Apply a name to eventboxen in the menu bar, so the theme can be applied 2021-03-08 18:37:54 -06:00
54ece22efb
Prevent denormals in Lua DSP state (LPF, Biquad) 2021-03-08 22:19:01 +01:00
cb6ad45e9d
Fix crash when CatchDeletion signal from self_delete arrives late
This is rather an unusual edge-case, seen on macOS when the UI
never continues past the first idle stage.
2021-03-08 17:15:03 +01:00
9ed877f0a1
NO-OP: re-indent and reduce scope 2021-03-07 00:12:29 +01:00
Artem Alimov
5add650871 Add lua methods to control range locations
Method Session:locations():range_starts_at(pos, slop, incl)
to search range by start point with some inaccuracy delta.
Similar to mark_at(pos, slop)

Method Session:locations():add_range(start, end)
to create new range and get it for later changes.
2021-03-07 00:12:13 +03:00
John Emmas
c294932142 When building 'libs/ardour/luabindings/cc' MSVC now requires me to add '/bigobj' to the compiler options 2021-03-06 11:15:39 +00:00
John Emmas
b625461132 Guard some code which isn't currently buildable with VS2019
For some unknown reason, VC++2019 won't let us take the address of std::list::unique() - although other std::list members seem okay. I've spent weeks tracking this down but there's no fix available AFAICT.

I've flagged it up to the MSVC development team - just don't hold your breath !!
2021-03-06 11:12:02 +00:00
e236c2ab0f
s/Plugin Manager/Plugin Selector/
The GUI allows to select and add plugins.
Managing plugins will be something different.
2021-03-04 22:09:17 +01:00
John Emmas
73b3ca30bb Add a missing 'const' qualifier to keep VC2019 happy 2021-03-03 12:25:47 +00:00
7143592e50
Fix MonitoringAutomation parameter-range 2021-03-03 02:15:25 +01:00
cb0b152b35
VST3: Fix MSVC related crashes
Do not simply allocate std::vector<> space but also initialize
elements. The data is later accessed as C-pointer array: &var[0].
With most compilers simply reserving space in the vector is
sufficient in order to later access the elements directly.
However actually placing objects in the vector before referencing
them is more correct.
2021-03-02 19:05:58 +01:00
e81794d878
Add preference to keep spilled automation-lanes visible 2021-03-02 19:00:23 +01:00
3722b8a94f
VST3: work around plugins with missing controller state
If a plugin implements Vst::IComponent::set_state() but
does not implement Vst::IEditController::setComponentState()
nor dedicated get/setState interface for the IEditController,
querying the parameters using Vst::IEditController::getParamNormalized()
returns values that do reflect the restored state.

In this case the host needs to save/restore all control-parameters,
and ignore values reported by ::getParamNormalized().

This fixes a state save/restore issue with softube.vst3, however
vstpresets are still broken: the GUI (IComponent) is updated,
however the controller isn't.
2021-03-02 03:22:25 +01:00
650f027a9b
Backport VST3 diagnostic pragma
Fixes excessive warnings when compiling on macOS.

This will be overwritten with the identical upstream fix
https://github.com/steinbergmedia/vst3_pluginterfaces/blob/master/base/falignpush.h
with the next tools/update_vst3.sh run
2021-03-01 22:14:38 +01:00
e3c3109618
Unsubscribe from signals when clearing references
This fixes crashes with plugins calling setDirty() when the
UI is closed. `plugin` has already been reset before
the actual window is closed:

`PluginUIWindow::~PluginUIWindow()` runs, and destroys the window,
here `~VST3NSViewPluginUI ()`. This closes the VST3 view, which
triggers a `VST3PI::setDirty`.
At this point in time `~PlugUIBase()` has not yet run, so all
signals are still connected.

setDirty() ends up calling PlugUIBase::update_preset_modified()
which access `plugin` pointer, which is NULL.
2021-03-01 22:11:15 +01:00
291de1d277
Fix OSX and non GCC builds 2021-03-01 16:20:38 +01:00