Commit graph

27087 commits

Author SHA1 Message Date
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
df90d4f636
Engine Dialog MIDI tweaks
* Allow to dynamically en/disable MIDI devices when running
* Push midi latencies directly to running backend
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
2d87af1988
Engine-dialog: skip audio device update when running
Only update MIDI devices list, which can be dynamic. Audio devices
which are in-use can't be updated, and the GUI may no longer show
the current device (since it is in use).
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
John Emmas
54ee23623e Add/remove source(s) in our MSVC project (gtk2_ardour) 2018-12-23 13:29:36 +00:00
Robin Gareus
0e28af28aa
Fix dead-link to manual 2018-12-23 04:50:58 +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
3917c2e6e1
Increase pitch-shifting quality a bit
OptionPitchHighQuality - Use the highest quality
 method for pitch shifting.  This method has a CPU cost
 approximately proportional to the required frequency shift
2018-12-23 01:58:19 +01:00
Paul Davis
bc1a7ec9e5 deal with end-of-step-editing in a better way 2018-12-22 16:48:16 -05:00
Paul Davis
933b2b1a9c add explanatory comments 2018-12-22 15:11:52 -05:00
Paul Davis
126def9e1a make StepEntry into a singleton.
More work to follow to clean up the details, and more comments to
explain the relationship between StepEntry and StepEditor.
2018-12-22 14:45:44 -05:00
Paul Davis
fb1387b740 remove unused declaration 2018-12-22 14:45:44 -05: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
4b9d96ff8e
Cleanup LV2 file-dialog extension
<drobilla> "This function returns immediately"
2018-12-22 00:34:31 +01:00
Robin Gareus
b8aba905c3
Fix plugin-preset description markup 2018-12-22 00:32:49 +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
9594e12c52
Add a plugin-preset list/selector GUI
This is currently only used for "Preset only" plugins, generic UI.
And also depends on plugin-presets having a description.
2018-12-20 16:56:49 +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
ff51744671 make StepEntry actions be static.
Unfinished, because bindings are problematic.
2018-12-19 17:19:51 -05:00
Paul Davis
1d8e533553 explicitly clear ProcessorEntries from ProcessorBox when the latter's Route is destroyed 2018-12-19 17:19:51 -05:00
Paul Davis
3a215271b5 cast_dynamic<> => get_toggle_action() 2018-12-19 17:19:51 -05:00
Paul Davis
55bc0eec91 adjustments for latest boost shared_ptr debug patch 2018-12-19 17:19:51 -05:00
Paul Davis
084e22baf5 move #include directive 2018-12-19 17:19:51 -05:00
Paul Davis
c1f0f4eb7a more organized and coherent handling of route control connections in MonitorSection 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
Carl Hetherington
3a5da6fdc4 Copy-edit track type descriptions a little, improving consistency and removing some capital letters. 2018-12-19 20:02:15 +00:00
Robin Gareus
df35d277f5
Only show user-presets in favorite sidebar
Plugins can have hundreds of factory presets, or in case of VST
useless "default" program/presets. Those just clutter up the favorite
plugin-list.
2018-12-18 14:13:20 +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
John Emmas
0d55dad045 MSVC won't allow us to erase an item that's managed by 'const_iterator' 2018-12-17 09:32:19 +00:00
Damien Zammit
6c8abb26c8 ptformat: Update to 877fa28 - more endian resilient && pt5 fixes 2018-12-16 15:08:23 +11:00
Robin Gareus
f28ccd5e3a
NO-OP: whitespace 2018-12-16 04:25:25 +01:00
Robin Gareus
6a171eb847
Remove cruft: previous set_value_unchecked optimization 2018-12-16 04:25:24 +01:00
Robin Gareus
6b1b72a247
Optimize automation-event process splitting
Use RCU of automated parameter when looking for next automation event
to use for split processing. This speeds up PluginInsert processing
when rolling for plugins with many not-automated parameters.
2018-12-16 04:25:24 +01:00
Robin Gareus
e4d3ebfb66
Optimize plugin-processing for non-automated params
Keep a dedicated list of automated parameters to evaluate in realtime.
This fixes a performance issue with plugins that have many controls
with only few of them being automated.
2018-12-16 04:25:20 +01:00
Paul Davis
17a8a50e58 fix issue with ProcessorBox inside MonitorSection (session was not set correctly) 2018-12-15 11:58:58 -05:00
Robin Gareus
b94c9ef8e0
Fix Mixbus action fc83d044f8 & 65bda27d4 rebase ordering 2018-12-13 18:36:31 +01:00
Robin Gareus
922bc86b8e
Video-Frame (not sample) 2018-12-13 17:44:58 +01:00
Robin Gareus
95a61717fa
Fix ExportFormatSpecification copy-c'tor
This initialize some otherwise uninitalized variables and may fix
cue/toc export oddities
2018-12-13 17:07:08 +01:00
Jan Lentfer
5d2a03578c
LCXL: some more small tweaks
* assign Pan knob to Comp thresh as secondary function
    * make cancel_all_solo and cancel_all_mute work in device mode, too
2018-12-12 18:14:48 +01:00