Len Ovens [Fri, 22 Feb 2019 21:39:17 +0000 (13:39 -0800)]
Fix processor box for no crash on click
Len Ovens [Fri, 25 Jan 2019 20:22:49 +0000 (12:22 -0800)]
Start adding processor box
Len Ovens [Sat, 19 Jan 2019 00:02:32 +0000 (16:02 -0800)]
fix last foldback commit.
Len Ovens [Fri, 18 Jan 2019 18:22:54 +0000 (10:22 -0800)]
Add strip GUI first try for foldback bus
Robin Gareus [Mon, 26 Aug 2019 22:00:29 +0000 (00:00 +0200)]
Reduce girth of "plus" icon
Robin Gareus [Mon, 26 Aug 2019 21:34:20 +0000 (23:34 +0200)]
Tweak icon_strip_width icon lines to align to pixels
Robin Gareus [Mon, 26 Aug 2019 21:30:21 +0000 (23:30 +0200)]
Add sample-rate as float option parameter for LV2 plugins and UIs
Robin Gareus [Mon, 26 Aug 2019 21:12:46 +0000 (23:12 +0200)]
Fix LV2 option size
Robin Gareus [Mon, 26 Aug 2019 20:44:11 +0000 (22:44 +0200)]
Add some scaleable "Latency" icon
Robin Gareus [Mon, 26 Aug 2019 16:58:34 +0000 (18:58 +0200)]
Push UI theme to backend, LV2 plugin options
Robin Gareus [Mon, 26 Aug 2019 16:57:47 +0000 (18:57 +0200)]
LV2 options for UI theme
Inform plugins about host theme (fg, bg colors) and UI scale-factor.
The latter follows an implementation already present in Carla and DPF.
These extension use proposed official URLs.
Robin Gareus [Mon, 26 Aug 2019 14:28:03 +0000 (16:28 +0200)]
Borderless plugin UIs
This removes a border painted in the host's UI theme color around
any plugin UI.
This results in a much nicer look/feel for plugin-UIs that have their
own theme
Robin Gareus [Mon, 26 Aug 2019 14:04:22 +0000 (16:04 +0200)]
Allow Icon + Text on ArdourButton
Allow placing an icon left of some text in Ardour-button.
This also tweaks some spacing and alignment of Icons when
a LED toggle indicator is used.
Robin Gareus [Mon, 26 Aug 2019 14:01:19 +0000 (16:01 +0200)]
Tweak icon line widths
Scale line-width of all icons, some were left at 1px regardless
of scaling factor.
Robin Gareus [Sat, 24 Aug 2019 19:44:27 +0000 (21:44 +0200)]
Add/fix some TimeAxisView Lua bindings
Robin Gareus [Sat, 24 Aug 2019 16:42:51 +0000 (18:42 +0200)]
Tweak deletion, emit CatchDeletion() only once
Parent class d'tor runs after derived class d'tor. By the time
~TimeAxisView() is called, the actual object has already been
deleted and dyanamic_cast<RouteTimeAxisView*> or
dynamic_cast<AutomationTimeAxisView*> will fail.
CatchDeletion() needs to be emitted from the actual d'tor of the object.
There are currently three non-virtual TAVs:
* RouteTimeAxisView
* AutomationTimeAxisView
* VCATimeAxisView
The first two already directly emit CatchDeletion(), there's no need to
call it again from ~TimeAxisView().
Robin Gareus [Sat, 24 Aug 2019 16:37:28 +0000 (18:37 +0200)]
Consolidate code, skip editor/mixer update check
Robin Gareus [Sat, 24 Aug 2019 16:21:08 +0000 (18:21 +0200)]
Fix crash when selected automation-lane is removed
When a plugin is deleted, automation-lanes of the given plugin
are removed, but previously a pointed to the deleted lane remained
in the selection.
This caused crashes later when the track selection is used. e.g.
during sensitize_the_right_region_actions()
Note that ~TimeAxisView() also emits CatchDeletion (this);
however "this" fails to be dynamic_cast<AutomationTimeAxisView*>
because that d'tor has already been completed.
Robin Gareus [Sat, 24 Aug 2019 15:11:22 +0000 (17:11 +0200)]
NO-OP: comment
Robin Gareus [Sat, 24 Aug 2019 15:11:10 +0000 (17:11 +0200)]
Mitigate issues of expensive plugin analysis -- #7795
Plugin analysis uses a GUI thread instance of a given plugin to
perform a IR analysis.
Some plugins can be rather CPU expensive to analyze.
e.g. a-hi/lo-filter when interpolating is recalculating biquad
coefficients every 64samples during the 8k IR analysis. This can take
a significant amount of time on older CPUs.
Furthermore live-signal collection happens in the rt-thread,
using cross-thread signals. Signal collection is periodically initiated
from the same timeout signal as analysis.
Analysis is was done using default thread priority, which is higher
than the GUI redraw priority (PRIORITY_HIGH_IDLE).
So it was possible to contiguously initiate analysis, loading the CPU
and preventing redraws.
Robin Gareus [Sat, 24 Aug 2019 00:38:14 +0000 (02:38 +0200)]
Towards fixing luadoc, manual page creation
Robin Gareus [Sat, 24 Aug 2019 01:30:53 +0000 (03:30 +0200)]
Fix memory-leak in case of Vamp plugin setup error
Robin Gareus [Sat, 24 Aug 2019 00:54:25 +0000 (02:54 +0200)]
Add missing Lua bindings for function arguments
PortEngine was accidentally removed in
1339d42c787
Robin Gareus [Fri, 23 Aug 2019 23:35:38 +0000 (01:35 +0200)]
Add missing headers for lua-doc
Robin Gareus [Fri, 23 Aug 2019 23:35:04 +0000 (01:35 +0200)]
Lua binding to change region name
Robin Gareus [Fri, 23 Aug 2019 22:15:10 +0000 (00:15 +0200)]
Another fix for input only ALSA-slave devices
Robin Gareus [Fri, 23 Aug 2019 22:01:06 +0000 (00:01 +0200)]
LCXL: Fix uninitialized pointer function
See also
026b74e25d3. FilterFunction must point to a valid function.
Robin Gareus [Fri, 23 Aug 2019 21:54:34 +0000 (23:54 +0200)]
Region selection cannot change without a session
Without a session, there are no regions. Besides,
there is an unconditional call using _session directly
after the if (_session) clause, which would segfault...
Robin Gareus [Fri, 23 Aug 2019 14:41:23 +0000 (16:41 +0200)]
Add tool to render ArdourIcon set
Robin Gareus [Fri, 23 Aug 2019 13:50:26 +0000 (15:50 +0200)]
NO-OP: cleanup
* remove unused code
* replace "default" to check for switch() enum completeness
Robin Gareus [Fri, 23 Aug 2019 13:49:25 +0000 (15:49 +0200)]
Re-order enum, use "NoIcon" as sentinel
Robin Gareus [Fri, 23 Aug 2019 13:46:39 +0000 (15:46 +0200)]
ArdorIcon is for display only, remove registration
These enum values are not used serialized in any state, and can
be removed.
Robin Gareus [Fri, 23 Aug 2019 03:15:17 +0000 (05:15 +0200)]
Some hints for clang static analysis
Robin Gareus [Fri, 23 Aug 2019 02:39:51 +0000 (04:39 +0200)]
Fix for half-duplex ALSA-slave devices
Robin Gareus [Fri, 23 Aug 2019 02:39:12 +0000 (04:39 +0200)]
Fix possible segfault when ALSA MIDI port registration fails
Robin Gareus [Fri, 23 Aug 2019 00:12:47 +0000 (02:12 +0200)]
Tweak graph display, check direct sends
->feeds() follows connections "track -> master -> monitor"
(to detect feedback). Use direct_feeds_according_to_reality()
to correctly show sends-only.
Robin Gareus [Thu, 22 Aug 2019 23:05:57 +0000 (01:05 +0200)]
Detect monitor-send by instance, not name
Robin Gareus [Thu, 22 Aug 2019 19:03:44 +0000 (21:03 +0200)]
Use icons for plugin bypass and pinout
Robin Gareus [Thu, 22 Aug 2019 19:03:07 +0000 (21:03 +0200)]
Update plugin-ui related icons
Robin Gareus [Wed, 21 Aug 2019 01:51:23 +0000 (03:51 +0200)]
Fix potential call of uninitialized pointer function
_template_number can be set via sysex to an arbitrary number, this
can lead to calling a filter-function at an undefined address, usually
a segfault.
Robin Gareus [Wed, 21 Aug 2019 01:09:32 +0000 (03:09 +0200)]
Initialize variable, fix branch condition
Robin Gareus [Wed, 21 Aug 2019 01:06:28 +0000 (03:06 +0200)]
Prefer to use API defined return status
Robin Gareus [Wed, 21 Aug 2019 01:05:17 +0000 (03:05 +0200)]
Initialize uninitialized variable
This fixes a potentially undefined branch if the USB device list is empty.
dev is NULL, the loop is never entered, 'r' isn't set.
if (!dev && !r) is undefined.
Robin Gareus [Tue, 20 Aug 2019 23:27:36 +0000 (01:27 +0200)]
Use Icons for plugin preset buttons.
This reduces the preset task-bar's min-width, useful for plugins with
narrow UIs.
Robin Gareus [Tue, 20 Aug 2019 23:25:34 +0000 (01:25 +0200)]
Tweak Ardourbutton: support (VectorIcon | Indicator)
Robin Gareus [Tue, 20 Aug 2019 23:24:49 +0000 (01:24 +0200)]
Add more vector-icons, plugin toolbar related
This allows to replace "Add", "Save", "Delete", "Reset", "Bypass"
text with icons.
Robin Gareus [Tue, 20 Aug 2019 21:45:49 +0000 (23:45 +0200)]
Consistent preset layout
Use the same order as AU, VST, LV2 GUIs. Show the "modified" asterisk
left of the preset-dropdown. This avoids a blank space between the
dropdown and the Add, Save, Delete buttons.
Robin Gareus [Tue, 20 Aug 2019 03:07:16 +0000 (05:07 +0200)]
Replace OOM segfault with abort :)
Robin Gareus [Tue, 20 Aug 2019 02:53:00 +0000 (04:53 +0200)]
There's always a previous tempo/meter section
Robin Gareus [Tue, 20 Aug 2019 02:38:59 +0000 (04:38 +0200)]
Skip potential garbage midi-step
Robin Gareus [Tue, 20 Aug 2019 02:29:06 +0000 (04:29 +0200)]
There is always at least a tempo and meter section
Robin Gareus [Tue, 20 Aug 2019 02:17:59 +0000 (04:17 +0200)]
Shuttle Surface: Fix uninitialized argument in case of incomplete state
Robin Gareus [Tue, 20 Aug 2019 02:15:11 +0000 (04:15 +0200)]
NO-OP: whitespace
Robin Gareus [Tue, 20 Aug 2019 02:15:01 +0000 (04:15 +0200)]
Skip invalid plugin-tag spec
Robin Gareus [Tue, 20 Aug 2019 02:11:32 +0000 (04:11 +0200)]
Fix potential ambiguous state-restore
Don't allow uninitialized argument values in case of corrupt XML
state.
Robin Gareus [Tue, 20 Aug 2019 02:06:31 +0000 (04:06 +0200)]
Fix uninitialized argument value
TrimDrag::aborted() -> TrimDrag::finished() -> TrimDrag::motion ()
uses event->button.state
Robin Gareus [Tue, 20 Aug 2019 01:44:02 +0000 (03:44 +0200)]
Bundle x42-tuner, drop rule-based midifilter
Robin Gareus [Tue, 20 Aug 2019 00:06:55 +0000 (02:06 +0200)]
Fix prev commit, state-restore of plugins
Ben Loftis [Mon, 19 Aug 2019 18:19:38 +0000 (13:19 -0500)]
LV2 extension to override strict-i/o per plugin
This allows mono to stereo plugins to override the default
routing and forces both outputs to be connected.
Robin Gareus [Fri, 16 Aug 2019 22:18:39 +0000 (00:18 +0200)]
Remove explicit pulse version check (debian/wheezy builds)
Robin Gareus [Fri, 16 Aug 2019 18:00:29 +0000 (20:00 +0200)]
Suffix complete hw: ID to make ALSA card names unique
Robin Gareus [Fri, 16 Aug 2019 03:31:50 +0000 (05:31 +0200)]
Further tweaks to .pending file removal
* only delete it after successful save
* show unlink notification in debug-builds
Robin Gareus [Thu, 15 Aug 2019 23:55:54 +0000 (01:55 +0200)]
Prefer implicit deletion of .pending
Session destruction removes ".pending", no need to explicitly delete
the file.
Robin Gareus [Thu, 15 Aug 2019 23:54:21 +0000 (01:54 +0200)]
Fix periodic backup saves
Retain ".pending" files until explicit save or session destruction.
Previously every transport-stop deleted them :(
Robin Gareus [Thu, 15 Aug 2019 23:51:51 +0000 (01:51 +0200)]
Fix C++98 compat
Robin Gareus [Wed, 14 Aug 2019 23:30:17 +0000 (01:30 +0200)]
Prefer "one track per file" as default
Robin Gareus [Wed, 14 Aug 2019 23:07:41 +0000 (01:07 +0200)]
Don't print usage to stdout for invalid parameters
Robin Gareus [Mon, 12 Aug 2019 23:06:12 +0000 (01:06 +0200)]
Tweak .clang-format
Robin Gareus [Mon, 12 Aug 2019 22:56:48 +0000 (00:56 +0200)]
NO-OP: clang format, comments & whitespace
Robin Gareus [Mon, 12 Aug 2019 22:53:04 +0000 (00:53 +0200)]
Remove unused EditorSources selection filter
Robin Gareus [Mon, 12 Aug 2019 22:49:45 +0000 (00:49 +0200)]
Remove remnants of hack from
9f3f3738e7444ee3
This fixes multiple selection. The original code using
"selection_countdown" is no longer in place. There's no "counter" to arm.
Shift/Tab name edit works regardless.
"s/m/r" solo/mute/rec shortcuts in the treeview have been discontinued
since a long time as well. Keyboard shortcuts are per window, regardless
of grab_focus()
PS. This change makes it easier for a user to start a drag/drop
operation of multiple regions. That currently assert()s, only
the first selected region is used.
Robin Gareus [Mon, 12 Aug 2019 22:38:57 +0000 (00:38 +0200)]
Fix transient removal -- #7785
Incorrect iterators were used for user-transients.
Robin Gareus [Mon, 12 Aug 2019 17:31:42 +0000 (19:31 +0200)]
Remove unused EditorRoutes selection filter
Robin Gareus [Mon, 12 Aug 2019 16:28:19 +0000 (18:28 +0200)]
Re-order editor sidebar: prioritize "Tracks & Busses"
Robin Gareus [Mon, 12 Aug 2019 15:59:48 +0000 (17:59 +0200)]
(RegionList) Tweak column ordering + fix translation naming
Ben Loftis [Thu, 1 Aug 2019 21:04:55 +0000 (16:04 -0500)]
Source List: Explicitly check whether a file is in the {Audio|MIDI} folder where it should be.
Anywhere else (even somewhere else inside the session folder) should be flagged "weird"
Ben Loftis [Thu, 1 Aug 2019 20:27:21 +0000 (15:27 -0500)]
Source List: Source regions can be tagged, too.
Robin Gareus [Mon, 12 Aug 2019 14:53:55 +0000 (16:53 +0200)]
Add Pref to write mixer-screenshot post-export
Robin Gareus [Mon, 12 Aug 2019 14:42:07 +0000 (16:42 +0200)]
Consolidate: use PBD method to try hard-linking
Robin Gareus [Mon, 12 Aug 2019 14:41:25 +0000 (16:41 +0200)]
Add PBD API to hard-link files
Robin Gareus [Mon, 12 Aug 2019 13:44:16 +0000 (15:44 +0200)]
Allow export get_path() without format
This is in preparation for post-export screenshots:
A possibility to get a file-path, independent of the format.
Robin Gareus [Mon, 12 Aug 2019 13:39:28 +0000 (15:39 +0200)]
NO-OP: whitespace
Robin Gareus [Mon, 12 Aug 2019 13:29:39 +0000 (15:29 +0200)]
NO-OP: mark private variables, remove cruft
Robin Gareus [Mon, 12 Aug 2019 13:18:00 +0000 (15:18 +0200)]
Initialize some more uninitialized variables
Robin Gareus [Mon, 12 Aug 2019 13:02:24 +0000 (15:02 +0200)]
Prefer std::vector<> over C-style malloc/free**
This fixes a potential out of bounds read `if (_dbtp_plugin[c])`
if c is larger than the allocated channel count.
Robin Gareus [Mon, 12 Aug 2019 12:34:33 +0000 (14:34 +0200)]
Initialize variable
Robin Gareus [Mon, 12 Aug 2019 12:34:17 +0000 (14:34 +0200)]
Initialize variable
Robin Gareus [Mon, 12 Aug 2019 02:49:31 +0000 (04:49 +0200)]
Fix middle-click note selection
Robin Gareus [Mon, 12 Aug 2019 00:28:38 +0000 (02:28 +0200)]
Fix midi-note selection invert
Selecting Notes in a region does not select the region itself.
Invert-selection needs to iterate over midi-regions that contain
the selection.
Robin Gareus [Mon, 12 Aug 2019 00:07:03 +0000 (02:07 +0200)]
(RegionList) Don't change selection for context-menu
Robin Gareus [Sun, 11 Aug 2019 23:39:48 +0000 (01:39 +0200)]
Add Action to save mixer screenshot
Robin Gareus [Sun, 11 Aug 2019 23:06:14 +0000 (01:06 +0200)]
Add Lua-Dialog support for FileChooserWidget (save file)
Robin Gareus [Sun, 11 Aug 2019 23:00:42 +0000 (01:00 +0200)]
Add Lua bindings for convenient Glib methods
Robin Gareus [Sun, 11 Aug 2019 18:37:36 +0000 (20:37 +0200)]
Fix auto capture alignment when bouncing metronome
Robin Gareus [Sun, 11 Aug 2019 18:37:07 +0000 (20:37 +0200)]
Allow to inhibit screensaver/system sleep
Robin Gareus [Sun, 11 Aug 2019 17:04:42 +0000 (19:04 +0200)]
Add types/enum for screensaver mode
Robin Gareus [Sun, 11 Aug 2019 17:04:02 +0000 (19:04 +0200)]
Simplify screensaver inhibit API and fix OSX compatibility
John Emmas [Sun, 11 Aug 2019 09:56:01 +0000 (10:56 +0100)]
Add/remove source(s) in our MSVC project (gtk2_ardour)
Robin Gareus [Sat, 10 Aug 2019 21:20:39 +0000 (23:20 +0200)]
Prototype infrastructure to disable screensaver
Damien Zammit [Sat, 10 Aug 2019 02:34:45 +0000 (12:34 +1000)]
ptformat: Update to upstream
8d29d79 (drop fades && fix offsets)