ardour.git
4 years agoAdd session-util to create new session
Robin Gareus [Thu, 18 Jul 2019 11:11:17 +0000 (13:11 +0200)]
Add session-util to create new session

4 years agoConsolidate code: use libardour API to sort scripts
Robin Gareus [Thu, 18 Jul 2019 13:50:34 +0000 (15:50 +0200)]
Consolidate code: use libardour API to sort scripts

4 years agoSort Lua scripts case-insensitive and expose sort-struct
Robin Gareus [Thu, 18 Jul 2019 13:49:48 +0000 (15:49 +0200)]
Sort Lua scripts case-insensitive and expose sort-struct

4 years agoRemove debug output
Robin Gareus [Thu, 18 Jul 2019 13:45:53 +0000 (15:45 +0200)]
Remove debug output

4 years agoAdd Lua bindings to query&reset x-run count
Robin Gareus [Thu, 18 Jul 2019 03:22:17 +0000 (05:22 +0200)]
Add Lua bindings to query&reset x-run count

4 years agoExpose mixer window screenshot method as Lua binding
Robin Gareus [Wed, 17 Jul 2019 23:31:30 +0000 (01:31 +0200)]
Expose mixer window screenshot method as Lua binding

4 years agoTweak Mixer screenshot method, include VCA, master-bus
Robin Gareus [Wed, 17 Jul 2019 22:05:32 +0000 (00:05 +0200)]
Tweak Mixer screenshot method, include VCA, master-bus

4 years agoPrepare screenshot of all mixer-strips
Robin Gareus [Wed, 17 Jul 2019 20:57:30 +0000 (22:57 +0200)]
Prepare screenshot of all mixer-strips

This will allow to create a PNG of all mixer-strips, even those currently
off-screen due to scrolling. It currently shows the main scroll-pane
page only (master-bus, VCAs are not included).

This method is not yet exposed.

4 years agoUse an explicit class-member for the mixer-strip container
Robin Gareus [Wed, 17 Jul 2019 20:21:08 +0000 (22:21 +0200)]
Use an explicit class-member for the mixer-strip container

4 years agoRe-use existing latency display method
Robin Gareus [Wed, 17 Jul 2019 15:25:56 +0000 (17:25 +0200)]
Re-use existing latency display method

4 years agoUpdate Latency GUI behavior
Robin Gareus [Wed, 17 Jul 2019 15:04:25 +0000 (17:04 +0200)]
Update Latency GUI behavior

This allows to set the current nominal latency as custom latency.
Previously it was not possible to use the "initial_value" as custom
parameter.

4 years agoTrack/Bus Inspector: remove unused latency "apply" button
Robin Gareus [Wed, 17 Jul 2019 15:08:00 +0000 (17:08 +0200)]
Track/Bus Inspector: remove unused latency "apply" button

Latency changes, and reset, are always directly applied.
LatencyGUI::finish is invoked by every change

4 years agoNO-OP: whitespace
Robin Gareus [Wed, 17 Jul 2019 14:37:01 +0000 (16:37 +0200)]
NO-OP: whitespace

4 years agoFix patch-change bank update loop
Robin Gareus [Wed, 17 Jul 2019 14:36:01 +0000 (16:36 +0200)]
Fix patch-change bank update loop

Without an object, the Unwinder has no scope and the "ignore" variable
is never set.

In this case: When the patch-bank was changed externally this
lead to a duplicate recursive call to "refill_banks".

4 years agoFix meter type/position context-menu issues
Robin Gareus [Wed, 17 Jul 2019 14:29:54 +0000 (16:29 +0200)]
Fix meter type/position context-menu issues

4 years agoFFT analysis: use actual latency
Robin Gareus [Wed, 17 Jul 2019 14:22:44 +0000 (16:22 +0200)]
FFT analysis: use actual latency

Ardour allows to override a plugin's reported latency. So far this
was not taken into account when plotting the phase/freq response.

4 years agoFix deadlock when removing routes (initialization issues)
Robin Gareus [Sun, 14 Jul 2019 22:55:51 +0000 (00:55 +0200)]
Fix deadlock when removing routes (initialization issues)

_setup_chain needs to point to the unused graph-chain, and not
_current_chain. Otherwise Graph::clear_other_chain() waits forever.

4 years agoRemember MIDI-track note-range -- #7773
Robin Gareus [Sun, 14 Jul 2019 16:39:50 +0000 (18:39 +0200)]
Remember MIDI-track note-range -- #7773

Previously only manual changes of the note-range using the scroomer.
The NoteRangeChanged() was ignored for implicit changes (e.g. while
recording, step-entry) and automatic-fit that didn't involve a drag
event.

4 years agoRemove cruft: unused callback
Robin Gareus [Sun, 14 Jul 2019 16:37:11 +0000 (18:37 +0200)]
Remove cruft: unused callback

4 years agoImplement a derived function for 'GainMeter::redraw_metrics()'
John Emmas [Sat, 13 Jul 2019 12:57:57 +0000 (13:57 +0100)]
Implement a derived function for 'GainMeter::redraw_metrics()'

I'm not sure why exactly but at this line in 'GainMeter::set_controls ()' :-

    model_connections, invalidator (*this), boost::bind (&GainMeter::redraw_metrics, this), gui_context()

MSVC will not allow us to pass a base class function to boost::bind(). I tried explicitly specifying the base class and I also tried making the function public / making it virtual etc but the only thing which works is to implement a derived function.

It's somehow related to changing the signal from 'TypeChanged' to 'MeterTypeChanged' but I don't entirely understand why... :-(

4 years agoHide "Add MIDI Port" in the GUI if there is already one
Robin Gareus [Thu, 11 Jul 2019 20:58:27 +0000 (22:58 +0200)]
Hide "Add MIDI Port" in the GUI if there is already one

4 years agoPrevent adding a 2nd MIDI input/output port
Robin Gareus [Thu, 11 Jul 2019 20:57:34 +0000 (22:57 +0200)]
Prevent adding a 2nd MIDI input/output port

Ardour's Tracks/Routes are not capable of handing more than one
MIDI port per per route properly. Most Plugin standards don't support
this either.

However, at this point in time IO::ensure_ports_locked() is not
limited by this restriction!

It is still possible to indirectly add a 2nd MIDI data-buffer
and output-port via plugin pin-management, or simply plugins with
two MIDI output ports when using flexible I/O.

4 years agoRe-work process-graph to use lock-free queues
Robin Gareus [Wed, 10 Jul 2019 17:11:07 +0000 (19:11 +0200)]
Re-work process-graph to use lock-free queues

This removes the trigger_mutex which was used for exclusive access
of the work-queue for concurrent processing.

4 years agoAdd lock-free multiple producer multiple reader queue
Robin Gareus [Wed, 10 Jul 2019 17:07:43 +0000 (19:07 +0200)]
Add lock-free multiple producer multiple reader queue

4 years agoFix process-thread naming
Robin Gareus [Wed, 10 Jul 2019 18:19:53 +0000 (20:19 +0200)]
Fix process-thread naming

4 years agoTweak dump-playlist script to indicate current playlist
Robin Gareus [Sat, 6 Jul 2019 16:10:36 +0000 (18:10 +0200)]
Tweak dump-playlist script to indicate current playlist

4 years agoAdd Lua binding to set/create track playlists
Robin Gareus [Sat, 6 Jul 2019 16:09:07 +0000 (18:09 +0200)]
Add Lua binding to set/create track playlists

4 years agoNO-OP: whitespace
Robin Gareus [Thu, 4 Jul 2019 20:35:07 +0000 (22:35 +0200)]
NO-OP: whitespace

4 years agoCleanup headless getopt
Robin Gareus [Thu, 4 Jul 2019 20:34:04 +0000 (22:34 +0200)]
Cleanup headless getopt

4 years agoDelay headless startup, allow background threads to start
Robin Gareus [Thu, 4 Jul 2019 20:22:27 +0000 (22:22 +0200)]
Delay headless startup, allow background threads to start

4 years agoUse exit-status macros for compatibility 3/3
Robin Gareus [Thu, 4 Jul 2019 20:21:49 +0000 (22:21 +0200)]
Use exit-status macros for compatibility 3/3

4 years agoUse exit-status macros for compatibility 2/3
Robin Gareus [Thu, 4 Jul 2019 20:21:35 +0000 (22:21 +0200)]
Use exit-status macros for compatibility 2/3

4 years agoUse exit-status macros for compatibility 1/3
Robin Gareus [Thu, 4 Jul 2019 20:21:14 +0000 (22:21 +0200)]
Use exit-status macros for compatibility 1/3

4 years agoheadless: Use direct x-thread wakeup instead of sleep/spin
Robin Gareus [Thu, 4 Jul 2019 20:02:52 +0000 (22:02 +0200)]
headless: Use direct x-thread wakeup instead of sleep/spin

4 years agoMixbus uses K14 (not K20) master meter by default (see also 297ed001d)
Robin Gareus [Tue, 2 Jul 2019 18:18:26 +0000 (20:18 +0200)]
Mixbus uses K14 (not K20) master meter by default (see also 297ed001d)

4 years agoRemove unused API -- there is no default backend.
Robin Gareus [Tue, 2 Jul 2019 18:15:03 +0000 (20:15 +0200)]
Remove unused API -- there is no default backend.

4 years agoImprove headless Ardour somewhat
Robin Gareus [Tue, 2 Jul 2019 18:14:27 +0000 (20:14 +0200)]
Improve headless Ardour somewhat

* Allow to exit cleanly (using access-action)
* Terminate when the backend is halted
* Handle various commandline arguments as advertised
  - print version
  - disable hardware optimization
  - set client-name
  - prevent port-connections
* Use JACK -- previously hardour only worked if
  Ardour was compiled with JACK as *only* backend.
  Other backends are listed before JACK, set_default_backend()
  never picks JACK unless it's the only one.
  Other backends need configuration, or EngineState from config.
  This is currently handled in the GUI's engine-dialog..

4 years agoConsolidate headless startup scripts and make hardev work again
Robin Gareus [Tue, 2 Jul 2019 15:33:56 +0000 (17:33 +0200)]
Consolidate headless startup scripts and make hardev work again

This fixes an issue with inconsistent startup scripts.
LD_LIBRARY_PATH was incomplete since at least 5.0 (5.12 is broken, too)
likewise ctrl surface path were outdated, etc.

Prefer to use `gtk2_ardour/ardev_common.sh.in` as the central
point to define environment variables for running Ardour from
the source-tree.
Other start scripts e.g. `vst/ardevst` already did this.

4 years agoRemove non-existent backend-paths from start-script
Robin Gareus [Tue, 2 Jul 2019 14:48:07 +0000 (16:48 +0200)]
Remove non-existent backend-paths from start-script

4 years agoMixbus/master is always using K20 by default
Robin Gareus [Tue, 2 Jul 2019 14:12:06 +0000 (16:12 +0200)]
Mixbus/master is always using K20 by default

This only affects the meter-bridge, toolbar and editor track-header
(Mixbus' mixer is always using DPM, which is always enabled).

4 years agoLV2 support is not optional since 04ccd328dc
Robin Gareus [Mon, 24 Jun 2019 19:52:27 +0000 (21:52 +0200)]
LV2 support is not optional since 04ccd328dc

4 years agoNO-OP: documentation/comments
Robin Gareus [Mon, 24 Jun 2019 13:09:34 +0000 (15:09 +0200)]
NO-OP: documentation/comments

4 years agoUpdate to upstream ptformat 777686b (remove strndup && cleanup)
Damien Zammit [Mon, 24 Jun 2019 12:54:45 +0000 (22:54 +1000)]
Update to upstream ptformat 777686b (remove strndup && cleanup)

4 years agoRevert "Huh?? I can't believe that MSVC doesn't support strndup() !!!"
Damien Zammit [Mon, 24 Jun 2019 12:52:46 +0000 (22:52 +1000)]
Revert "Huh?? I can't believe that MSVC doesn't support strndup() !!!"

This reverts commit 1a7a23a5cea844431a85fa49933b5ea345bf3896.

4 years agoHuh?? I can't believe that MSVC doesn't support strndup() !!!
John Emmas [Sun, 23 Jun 2019 14:52:59 +0000 (15:52 +0100)]
Huh?? I can't believe that MSVC doesn't support strndup() !!!

4 years agoUpdate references to ptfformat -> ptformat && fix api calls
Damien Zammit [Fri, 21 Jun 2019 12:09:04 +0000 (22:09 +1000)]
Update references to ptfformat -> ptformat && fix api calls

4 years agoptformat: Update lib from legacy parser to new parser 6240b87
Damien Zammit [Fri, 21 Jun 2019 11:51:43 +0000 (21:51 +1000)]
ptformat: Update lib from legacy parser to new parser 6240b87

4 years agoNO-OP: whitespace
Robin Gareus [Thu, 20 Jun 2019 22:46:23 +0000 (00:46 +0200)]
NO-OP: whitespace

4 years agoShow some Lua script buttons by default
Robin Gareus [Thu, 20 Jun 2019 22:44:22 +0000 (00:44 +0200)]
Show some Lua script buttons by default

This improves discoverability of edior action scripts

4 years agoAdd Lua script to sort tracks by name
Robin Gareus [Thu, 20 Jun 2019 22:43:29 +0000 (00:43 +0200)]
Add Lua script to sort tracks by name

4 years agoHonor the current start position when exporting chapter marks
Johannes Mueller [Sat, 15 Jun 2019 23:30:55 +0000 (01:30 +0200)]
Honor the current start position when exporting chapter marks

4 years agoSome more frame -> sample changes (in scripts)
Johannes Mueller [Sat, 15 Jun 2019 23:30:34 +0000 (01:30 +0200)]
Some more frame -> sample changes (in scripts)

4 years agoSome more frame -> sample changes (luabindings.cc)
Johannes Mueller [Sat, 15 Jun 2019 23:14:17 +0000 (01:14 +0200)]
Some more frame -> sample changes (luabindings.cc)

4 years agoAdd a device for X-touch + two X-touch compact devices.
Todd Naugle [Fri, 14 Jun 2019 18:36:56 +0000 (13:36 -0500)]
Add a device for X-touch + two X-touch compact devices.

This also works for X-Touch with x-Touch extenders.

4 years agoAdd mackie device for X-Touch + X-Touch Compact
Todd Naugle [Thu, 13 Jun 2019 19:20:02 +0000 (14:20 -0500)]
Add mackie device for X-Touch + X-Touch Compact

4 years agoAdd Yamaha NP-V80 midnam -- thanks to Rob v.d. Berg
Robin Gareus [Thu, 13 Jun 2019 18:51:04 +0000 (20:51 +0200)]
Add Yamaha NP-V80 midnam -- thanks to Rob v.d. Berg

upstream original:
https://github.com/rghvdberg/yamaha_np-v80.midnam

4 years agoWindows does in theory support hard-links
Robin Gareus [Wed, 12 Jun 2019 19:34:39 +0000 (21:34 +0200)]
Windows does in theory support hard-links

NB. this is just as unused as the POSIX link() test. Aardour
doesn't create hardlinks since version 3.0. At least it's now
consistently wrong on all platforms :)

4 years agomixbus should always copy imported files
Nikolaus Gullotta [Wed, 12 Jun 2019 16:31:55 +0000 (11:31 -0500)]
mixbus should always copy imported files

4 years agoDo not copy unneeded files to bundle /etc
Robin Gareus [Mon, 10 Jun 2019 20:47:01 +0000 (22:47 +0200)]
Do not copy unneeded files to bundle /etc

Previously (Ardour3 buildstack) this was needed for fontconfing, gtk and
pango modules. these days we just compile --with-included-modules=yes.

4 years agoInitialize some uninitialized vars
Robin Gareus [Sun, 9 Jun 2019 22:34:31 +0000 (00:34 +0200)]
Initialize some uninitialized vars

This fixes meterbridge type changes, due to uninitialized
_suspend_menu_callbacks.

4 years agoNO-OP: rename variable
Robin Gareus [Sun, 9 Jun 2019 17:44:29 +0000 (19:44 +0200)]
NO-OP: rename variable

4 years agoNO-OP: whitespace and comments
Robin Gareus [Sun, 9 Jun 2019 17:41:23 +0000 (19:41 +0200)]
NO-OP: whitespace and comments

4 years agoUpdate Push2 level-meter display (use new API)
Robin Gareus [Sun, 9 Jun 2019 17:41:47 +0000 (19:41 +0200)]
Update Push2 level-meter display (use new API)

The meter-type is now implicit set by route/meter-processor, common
to all UIs.

4 years agoUpdate GUI: meter-type API and meter-type state changes
Robin Gareus [Sun, 9 Jun 2019 17:41:07 +0000 (19:41 +0200)]
Update GUI: meter-type API and meter-type state changes

This removes all additional GUI side meter-type state.
The route's meter-processors is now responsible for providing
the type.

meter-type is now implicit for GainMeter, LevelMeter used by
meter-strips and mixer-strips.

4 years agoConsolidate meter-type state and API
Robin Gareus [Sun, 9 Jun 2019 15:47:21 +0000 (17:47 +0200)]
Consolidate meter-type state and API

In theory different UIs can show different meter-types, so it
can make sense to maintain the type in different places.
MeterType is a bit-set and PeakMeter implementation provides for this.

However, this is not being used, and the current implementation
was rather fragmented, cross-connected signals to keep types in sync,
allowed inconsistent meter-types in GUI and backend.

MeterType is now kept by meter itself, however it is still
saved/restored as part of the Route state.

N.B. This change breaks the API, various methods have been renamed
for consistency.

4 years agoRemove toolbar meter (meter type) context-menu
Robin Gareus [Sun, 9 Jun 2019 15:53:18 +0000 (17:53 +0200)]
Remove toolbar meter (meter type) context-menu

This meter is follows in sync the master-bus meter. The type should
be set directly on the master-bus.

4 years agoChange ClipLevelOptions to inherit from a HSliderOption
Paul Davis [Fri, 7 Jun 2019 00:31:28 +0000 (18:31 -0600)]
Change ClipLevelOptions to inherit from a HSliderOption

4 years agowidth of sliders in the option editor is now a fixed text-relative width
Paul Davis [Fri, 7 Jun 2019 00:30:38 +0000 (18:30 -0600)]
width of sliders in the option editor is now a fixed text-relative width

4 years agoRcActionButton is now always its natural width
Paul Davis [Fri, 7 Jun 2019 00:30:12 +0000 (18:30 -0600)]
RcActionButton is now always its natural width

4 years agochange OptionEditComponent to avoid ever expanding the RHS widget horizontally
Paul Davis [Fri, 7 Jun 2019 00:29:48 +0000 (18:29 -0600)]
change OptionEditComponent to avoid ever expanding the RHS widget horizontally

4 years agoNOOP: remove whitespace
Paul Davis [Fri, 7 Jun 2019 00:28:58 +0000 (18:28 -0600)]
NOOP: remove whitespace

4 years agoadjust h-size of color theme manager "Reset to Defaults" button
Paul Davis [Fri, 7 Jun 2019 00:28:45 +0000 (18:28 -0600)]
adjust h-size of color theme manager "Reset to Defaults" button

4 years agolimit width of color theme manager theme dropdown
Paul Davis [Fri, 7 Jun 2019 00:28:16 +0000 (18:28 -0600)]
limit width of color theme manager theme dropdown

4 years agoFix rpath permission issue for linux packages
Robin Gareus [Thu, 6 Jun 2019 23:38:40 +0000 (01:38 +0200)]
Fix rpath permission issue for linux packages

4 years agodo not set MIDI CC values on locate if control/parameter is set to "Off"
Paul Davis [Wed, 5 Jun 2019 16:02:27 +0000 (10:02 -0600)]
do not set MIDI CC values on locate if control/parameter is set to "Off"

4 years agoNOOP: whitespace/newline tweak
Paul Davis [Wed, 5 Jun 2019 15:56:34 +0000 (09:56 -0600)]
NOOP: whitespace/newline tweak

4 years agoFix mac package - libreadline was r-x, changing install_name failed
Robin Gareus [Wed, 5 Jun 2019 13:36:29 +0000 (15:36 +0200)]
Fix mac package - libreadline was r-x, changing install_name failed

4 years agoNO-OP: whitespace
Robin Gareus [Wed, 5 Jun 2019 13:34:58 +0000 (15:34 +0200)]
NO-OP: whitespace

4 years agoClarify MIDI CC menu ambiguity
Robin Gareus [Tue, 4 Jun 2019 21:51:50 +0000 (23:51 +0200)]
Clarify MIDI CC menu ambiguity

CCs use 0-based counting, however CC 0 and 32 (bank select) are skipped
in Ardour's CC menu. This lead to some misleading enumeration.

Now, group CCs by 32, skip sub-menu if there are fewer than 32 named
items, and otherwise actual CC min/max numbers per named list.

4 years agoSkip name-suffix for first ALSA sub-device
Robin Gareus [Tue, 4 Jun 2019 17:20:26 +0000 (19:20 +0200)]
Skip name-suffix for first ALSA sub-device

This fixes an issue when a device has more than one
playback sub-device, but only a single capture sub-device (or vice
versa).

4 years agoFix windows-packaging (luasession)
Robin Gareus [Tue, 4 Jun 2019 14:30:25 +0000 (16:30 +0200)]
Fix windows-packaging (luasession)

`waf install` is not used for binaries :(

4 years agoPackage commandline Lua-session tool
Robin Gareus [Tue, 4 Jun 2019 13:15:21 +0000 (15:15 +0200)]
Package commandline Lua-session tool

4 years agoTweak toolbar meter reset button to unconditionally apply to all DPM
Robin Gareus [Tue, 4 Jun 2019 12:56:50 +0000 (14:56 +0200)]
Tweak toolbar meter reset button to unconditionally apply to all DPM

4 years agoFix async peak-meter reset
Robin Gareus [Tue, 4 Jun 2019 12:48:47 +0000 (14:48 +0200)]
Fix async peak-meter reset

4 years agoTransfer Fn: skip phase calculation for silence and small signal levels
Robin Gareus [Tue, 4 Jun 2019 12:41:50 +0000 (14:41 +0200)]
Transfer Fn: skip phase calculation for silence and small signal levels

This fixes some division by zero as well as rounding issues for
signals < -160dBFS, resulting in garbage being displayed..

4 years agoAssume default plugin bussing is stereo
Robin Gareus [Mon, 3 Jun 2019 14:28:10 +0000 (16:28 +0200)]
Assume default plugin bussing is stereo

This changes fan-out to prefer stereo tarcks unless specified otherwise
by a plugin (LV2 port-groups, or AU busses)

4 years agoList available ALSA sub-devices
Robin Gareus [Sat, 1 Jun 2019 13:49:46 +0000 (15:49 +0200)]
List available ALSA sub-devices

Previously Ardour only listed the first audio sub-device in the
for ALSA and JACK backend device selection dialog.

4 years agochange name of action from "Smart Object Mode" to "Smart Mode" for consistency
Paul Davis [Thu, 30 May 2019 17:46:11 +0000 (11:46 -0600)]
change name of action from "Smart Object Mode" to "Smart Mode" for consistency

4 years agoPotential fix for a race.
Johannes Mueller [Sat, 25 May 2019 19:55:45 +0000 (21:55 +0200)]
Potential fix for a race.

Do proper bounds checks and force the use of operator[] () const

4 years agoMake ContourdesignControlProtocol::_button_actions private again ...
Johannes Mueller [Sat, 25 May 2019 19:25:16 +0000 (21:25 +0200)]
Make ContourdesignControlProtocol::_button_actions private again ...

... and add proper bounds checks.

4 years agofixups for rebase of show-region-name option
Paul Davis [Wed, 29 May 2019 23:37:48 +0000 (17:37 -0600)]
fixups for rebase of show-region-name option

4 years agoremove debug output
Paul Davis [Wed, 29 May 2019 21:20:16 +0000 (15:20 -0600)]
remove debug output

4 years agoadd option to show/hide region names
Paul Davis [Wed, 29 May 2019 21:16:00 +0000 (15:16 -0600)]
add option to show/hide region names

4 years agoFix crash when deleting selected region-view in ripple mode #7764
Robin Gareus [Mon, 27 May 2019 12:10:59 +0000 (14:10 +0200)]
Fix crash when deleting selected region-view in ripple mode #7764

Changing the playlist (remove_region) invalidates selection and
unsets `clicked_regionview`. The region to operate on needs
to be stored for later use.

4 years agoFix a -Wmaybe-uninitialized (disk-reader, no audio)
Robin Gareus [Sun, 26 May 2019 10:56:10 +0000 (12:56 +0200)]
Fix a -Wmaybe-uninitialized (disk-reader, no audio)

4 years agoShuttle Surface: fix linking .dll
Robin Gareus [Sun, 26 May 2019 10:46:37 +0000 (12:46 +0200)]
Shuttle Surface: fix linking .dll

For .dll, all references need to be defined at compile/link time
(not runtime). ie. `ld -zdefs`

4 years agoShuttle Surface: request_factory and MSVC compatible struct
Robin Gareus [Sat, 25 May 2019 14:48:48 +0000 (16:48 +0200)]
Shuttle Surface: request_factory and MSVC compatible struct

4 years agoShuttle Surface: Fix C++ style: use accessor/setter methods
Robin Gareus [Sat, 25 May 2019 14:45:53 +0000 (16:45 +0200)]
Shuttle Surface: Fix C++ style: use accessor/setter methods

This also fixes C++ compat: no forward declaration of friend classes
(OSX compilation) and C++98 compat (enums are not classes e.g. ActiveState)

5 years agoUI integration to conceal LV1 plugins
Robin Gareus [Fri, 24 May 2019 23:56:54 +0000 (01:56 +0200)]
UI integration to conceal LV1 plugins

5 years agoAdd preference to hide LADSPA plugin if LV2 exists
Robin Gareus [Fri, 24 May 2019 23:56:23 +0000 (01:56 +0200)]
Add preference to hide LADSPA plugin if LV2 exists