Commit graph

16912 commits

Author SHA1 Message Date
Paul Davis
951257909f Location API to remove xrun markers 2021-03-16 16:49:38 -06:00
Paul Davis
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
Robin Gareus
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
Robin Gareus
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
Robin Gareus
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
Robin Gareus
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
Robin Gareus
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
Robin Gareus
32bba6d7d1
Add option to not show VST3 Micro Edit ctrls by default 2021-03-10 17:44:38 +01:00
Robin Gareus
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
John Emmas
3b3d362d56 Add a cast when using 'abs' (to keep MSVC happy) 2021-03-09 11:33:19 +00:00
Robin Gareus
54ece22efb
Prevent denormals in Lua DSP state (LPF, Biquad) 2021-03-08 22:19:01 +01:00
Robin Gareus
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
John Emmas
73b3ca30bb Add a missing 'const' qualifier to keep VC2019 happy 2021-03-03 12:25:47 +00:00
Robin Gareus
7143592e50
Fix MonitoringAutomation parameter-range 2021-03-03 02:15:25 +01:00
Robin Gareus
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
Robin Gareus
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
Robin Gareus
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
Robin Gareus
291de1d277
Fix OSX and non GCC builds 2021-03-01 16:20:38 +01:00
Robin Gareus
b064b3c136 OSC: fix some compiler warnings 2021-02-28 20:01:06 +01:00
Robin Gareus
0c3eaf188b OSC: liblo compatibility fix
see also 770fd1519c
2021-02-28 20:00:04 +01:00
Robin Gareus
7195ca20e0
Update weak_libjack - https://github.com/x42/weakjack/
This fixes an issue with recent MSVC causing a compile-error
due to __attribute__((constructor))
2021-02-28 16:27:22 +01:00
Robin Gareus
770fd1519c
Liblo compat fix
Upstream liblo changed the opaque type `lo_message` from void*
to a custom struct {}.

https://sourceforge.net/p/liblo/git/ci/2c1ef1c682e01aabec511223b52d9d845063d6dc/
2021-02-28 02:25:02 +01:00
Robin Gareus
81d833e938
Fix Windows builds, declare class-keys for bindings 2021-02-27 16:51:37 +01:00
Robin Gareus
ace11bd243
Consistency: replace "x-run" with "xrun" (1/2) 2021-02-26 22:22:08 +01:00
Robin Gareus
1ae8ebf7c0
Fix OSX/PPC builds
monitor_port.cc:164: error: reference to 'AudioBuffer' is ambiguous
candidates are:
 CoreAudio.framework/Headers/CoreAudioTypes.h:106: typedef struct AudioBuffer AudioBuffer
 ardour/audio_buffer.h:34: error: class ARDOUR::AudioBuffer
2021-02-26 13:38:29 +01:00
Robin Gareus
d2d268263c
Add Lua Bindings to access Bundles 2021-02-26 13:34:24 +01:00
Robin Gareus
611fff21ae
NO-OP: remove unused variables 2021-02-25 23:57:33 +01:00
Robin Gareus
4ccad6eae4
Fix pasting processors pre-fader #7416
Previously when using index == 0, a hidden processor
(Recorder or Delayline) would be returned instead of the first
actual processor.
2021-02-25 19:54:12 +01:00
Robin Gareus
a9192266d0
Only save engine-hints when ardour started the engine 2021-02-25 17:53:45 +01:00
John Emmas
d2cb383965 MSVC changes to support the new code modules (Tabbable API stuff) 2021-02-24 14:32:23 +00:00
Robin Gareus
dfffec9b58
Allow forcing cue-monitoring 2021-02-24 00:20:21 +01:00
Robin Gareus
0b00eabb19
Store recently used backend with session
This is in preparation to warn a user in case the session
is loaded with a different device and connections may be lost.
2021-02-23 19:22:22 +01:00
Robin Gareus
02ba5a7cd1
Remove unused Tabbable tab_title (3/3) 2021-02-23 17:30:26 +01:00
Robin Gareus
d264cbb21b
Prepare for Tabbable API change (1/3) 2021-02-23 17:22:22 +01:00
Ben Loftis
6f28d71729
ArdourButton: add flags to force boxy/flat style
Add flags ForceBoxy, ForceFlat for the rectab track header grid
2021-02-22 01:00:06 +01:00
Robin Gareus
6939470f81
Add input-meter layout preference enum 2021-02-22 01:00:06 +01:00
Robin Gareus
f7af89aeff
Run input meters, concurrently with cycle-start 2021-02-22 01:00:05 +01:00
Robin Gareus
2efb7244fa
Remove old (v4.x, v5.0) plugin cache code 2021-02-22 01:00:05 +01:00
Robin Gareus
ee7a5961b0
Unset plugin-cache-version when cleaning any cache 2021-02-22 01:00:04 +01:00
Robin Gareus
00d1391ed9
Remember version that was used to scan VST plugins 2021-02-22 01:00:03 +01:00
Robin Gareus
8497298d73
Custom themable frame container
As opposed to Gtk::Frame, this allows the background color of
the content, inside the frame to be set and follows Ardour theme
options.
2021-02-22 01:00:03 +01:00
Robin Gareus
f91cb13cce
Facilitate callbacks when Tab is detached/attached 2021-02-22 01:00:01 +01:00
Robin Gareus
d5a105e777
Keep track of capture duration 2021-02-22 01:00:01 +01:00
Robin Gareus
78c5537639
Use MonitorReturn for Monitor Bus 2021-02-22 01:00:00 +01:00
Robin Gareus
114d5f20e6
Add Monitor Return
This is a special case of an Internal Return processor
dedicated to the monitor-section. The main use-case will
be to collect signals from physical ports in a realtime-safe
manner (no connections or Port creation)
2021-02-22 00:59:59 +01:00
Robin Gareus
b48ce43ade
Implement Input Monitoring 2021-02-22 00:59:59 +01:00
Robin Gareus
2556f47c2b
Move method exclusive/momentary-solo setup to libardour
This allows to re-use the method in various places, outside of
RouteUI (e.g. control surfaces, recorder page)
2021-02-22 00:59:58 +01:00