Commit graph

14406 commits

Author SHA1 Message Date
Robin Gareus
28f211c5d2
NO-OP: whitespace 2019-01-23 12:59:17 +01:00
Robin Gareus
87602e7fb3
system-exec read: allow 1 byte for null termination -- #7715 2019-01-23 12:44:10 +01:00
Robin Gareus
145d7f8d0a
LV2: Immediately respond after processing scheduled work in sync exec mode
This allows for sample-accuracy when the work is triggered by sequenced
events in offline rendering mode.
2019-01-22 21:54:22 +01:00
Robin Gareus
586792fcc9
NO-OP: whitespace 2019-01-21 14:36:59 +01:00
Robin Gareus
657e976a80
NO-OP: remove unused code 2019-01-21 14:34:19 +01:00
Robin Gareus
d97364736c
ISO-C++ compat, see cd70c6bda5, 91ed9840d 2019-01-21 14:33:08 +01:00
Robin Gareus
d5241c6194
Use correct playlist when loading Ardour5 session
Ardour5 identifies playlists by playlist-name, not by diskstream name.
2019-01-19 12:08:54 +01:00
Robin Gareus
bf728520ca
Optimize exponential interpolation. 2019-01-19 12:08:54 +01:00
Len Ovens
616ee4e43b OSC: remove unused variable 2019-01-18 10:24:13 -08:00
Len Ovens
da347c3b37 Hmm, balanced panner didn't seem to make it in 2019-01-18 10:24:13 -08:00
Len Ovens
80df6b84b0 foldback sends should have unlinked balanced panner
Or 1+2 for mono sends.
2019-01-18 10:24:13 -08:00
Len Ovens
c7787690f6 OSC: shorten foldbackbus names 2019-01-18 10:24:13 -08:00
Paul Davis
4c064081af (libs) call ARDOUR::init_post_engine() from within libardour rather than requiring "users" of the library to arrange for it 2019-01-16 15:29:38 -06:00
Robin Gareus
cd70c6bda5
Fix ambiguity introduced in 91ed9840d
(bool) false == 0 == (const char*) NULL

error: ISO C++ says that these are ambiguous, even though the worst
conversion for the first is better than the worst conversion for the second:

actions.h:92: note: candidate 1: Glib::RefPtr<Gtk::Action> ActionManager::get_action(const char*, const char*, bool)
actions.h:91: note: candidate 2: Glib::RefPtr<Gtk::Action> ActionManager::get_action(const std::string&, bool)
2019-01-16 01:17:52 +01:00
Robin Gareus
8b71967be9
ALSA: add locks to safely add/remove MIDI devices
Theoretically this could be lock-free by using a queue of device
ports to be added/remove in sync in the process-callback, but
realistically adding/removing devices doesn't have to be rt-safe.
2019-01-14 22:33:31 +01:00
John Emmas
8f9e63575f Clarify which version of 'ActionManager::get_action()' we're calling
For MSVC, the parameter 'false' (i.e. 0) can be considered as either a bool or a pointer - so it'll map to both declarations of ActionManager::get_action()
2019-01-14 14:14:23 +00:00
Paul Davis
e5ae620c0b adjust debug/trace output for key bindings 2019-01-13 12:00:31 -06:00
Paul Davis
f974ff594a additional API to make it nicer to get an existing action group 2019-01-13 11:59:18 -06:00
Paul Davis
b67bb8165b do not crash if an unknown action is used by US2400 support 2019-01-11 12:54:44 -06:00
Paul Davis
91ed9840d0 do not crash if an unknown action is used by Mackie Control support 2019-01-11 12:39:07 -06:00
Jan Lentfer
ff0ee75a56 LCXL: Fix a problem in switch_bank 2019-01-03 19:22:56 +01:00
Jan Lentfer
45f83beb17 LCXL: fix special 32C handling for autom. lanes 2019-01-03 19:22:15 +01:00
Robin Gareus
86a78dc100
Fix a -Wunused-but-set-variable 2019-01-02 18:59:03 +01:00
Robin Gareus
552ede7695
Include Volume Paths in Ardour's PathsDialog Widget
This fixes an issue on MacOS/X. Show non-root volumes to the sidebar
as shortcuts.
2019-01-02 17:40:03 +01:00
Robin Gareus
ac9329f907
Update Fluidsynth to v2.0.3
see https://github.com/FluidSynth/fluidsynth/releases/tag/v2.0.3
2019-01-02 16:48:03 +01:00
Robin Gareus
e353bd982b
NO-OP: whitespace 2018-12-28 17:32:38 +01:00
Alex Pilon
53c6b7f909
Check whether punch-in is enabled and record is enabled in addition to if we are actively recording when deciding whether to run count-in clicks 2018-12-28 17:30:09 +01:00
Paul Davis
04ccd328dc remove configure-time --no-lv2 option. LV2 is integral to what we do 2018-12-28 09:47:55 -05:00
Paul Davis
923d07be31 remove debug output 2018-12-27 17:18:21 -05:00
Paul Davis
b09ac181e0 div wrapping 2018-12-27 17:18:21 -05:00
Robin Gareus
d50d8b9d33
C++98 compatible map erase 2018-12-27 12:45:36 +01:00
Robin Gareus
7d1a7b076f
NO-OP: whitespace 2018-12-24 02:30:00 +01:00
Robin Gareus
a0994b16dd
Update Convolver/LuaConvolver
* Add API to allow per-channnel gain and delay
* Fix channel-mapping for stereo IRs w/o true-stereo
2018-12-24 02:29:24 +01:00
Robin Gareus
517b5f091f
Use same has for ALSA-seq and ALSA-raw devices 2018-12-23 21:58:56 +01:00
Robin Gareus
79e247e00a
Dynamic ALSA MIDI I/O device discovery and re/connect 2018-12-23 21:58:56 +01:00
Robin Gareus
217ef4d365
Use hash for ALSA-MIDI device name/ID 2018-12-23 21:58:55 +01:00
Robin Gareus
c3c85e9ecd
Fix cases where there's no MIDI buffer (e.g. audio audition) 2018-12-23 01:58:19 +01:00
Robin Gareus
6fa1c58cec
Add guard-points when shifting automation 2018-12-22 02:04:17 +01:00
Robin Gareus
616f7f40b6
Properly remove-time automation
Previously "remove time" was able to produce overlapping, not
ordered automation.
2018-12-22 01:09:24 +01:00
Robin Gareus
df666326f7
Fix insert/remove time duplicate automation move -- #7712
Editor::insert_time(), Editor::remove_time() handle automation
directly because time may be inserted to Routes without playlists
and combined undo-operation with marker, and tempo-changes.

However when the preference "automation_follows_regions" is enabled,
the playlist already moves the automation of region under any region
(possibly overriding future automation).

This resulted in possibly lossy, duplicate automation moves.
2018-12-21 17:33:59 +01:00
Robin Gareus
19a2d384fc
NO-OP: whitespace
* Remove leading and trailing whitespace.
* use tabs to indent, space to align

/* prefer C-style comments like this,
 * always use an asterisk on every line, this
 * way small ASCII-graphics are always aligned
 * using spaces after the asterisk.
 *
 *            ^
 *           / \
 *          /   \
 *         /     \
 *        /       \
 *       /         \
 *      /  /\       \
 *     /__/  \_/\_^__\
 *       A R D O U R
 *
     << NO asterisk, there may be tabs :(
 *
 */
2018-12-21 17:33:55 +01:00
Robin Gareus
9ec031cfce
Remove duplicate automation shift
Amp, Trim are now processors, moving processor-automation takes care
of gain automation.
2018-12-21 17:33:51 +01:00
Robin Gareus
58db958839
Fix crash for external windows
eg. LV2 externalUI windows are not managed by ardour; Ardour cannot
intercept mapped() or delete_event() signals and hence also not
create a visibility-tracker.

First call to WindowProxy::toggle() creates the window, and the 2nd call
crashed since 6ca8ec5141, due to missing vistracker.

e.g. externalUI plugin windows, the processor-box uses WindowProxy
for all plugin-UIs incl. externalUIs.
2018-12-20 19:41:57 +01:00
Robin Gareus
a48d6a37b3
Amend e4304f3bf, plugin-preset, preset-record 2018-12-20 16:56:49 +01:00
David Robillard
560054dfd6 Use lilv_world_get()
Leaves the now-trivial get_value() helper there since it keeps the call sites
shorter and nicer to read.
2018-12-19 20:08:47 -05:00
David Robillard
79c9c62154 Remove conditional support for ancient versions of Lilv
This updates the dependency to 0.24.2, which was released in January 2017 and
is the most recent version in Debian 9 (stretch).
2018-12-19 20:08:47 -05:00
Paul Davis
55bc0eec91 adjustments for latest boost shared_ptr debug patch 2018-12-19 17:19:51 -05:00
Robin Gareus
1528df2f5a
Compliant LV2 state path-mapping
lv2 state mandates that
>  The plugin MUST use this function [ absolute_path] in order to
>  actually open or otherwise use any paths loaded from plugin state.
Previously the plugin uses the value directly. Also
>  The caller is responsible for freeing the returned value with free().
is now implemented on systems other than windows (where this is not
possible, since the memory must be free()ed in the same module where it
was allocated.
2018-12-19 22:28:40 +01:00
Robin Gareus
e4304f3bf2
Wouldn't it be nice if plugin presets had a description/comment? 2018-12-18 14:13:15 +01:00
Robin Gareus
0a3fc4a87f
Add LV2 option/extension for plugin thread sched priority
This allows plugins that need threads to process to configure their
thread priority to not interfere with the host's process threads.
2018-12-18 13:30:31 +01:00