ardour.git
5 years agoRemove ambiguous API implementation
Robin Gareus [Wed, 28 Nov 2018 14:32:40 +0000 (15:32 +0100)]
Remove ambiguous API implementation

* PortEngine::available() implementation
* AudioEngine::connected() wrapper

Eventually we may re-introduce PortEngine::available along
with a libardour internal port-engine.

5 years agoConsolidate ambiguous engine API calls
Robin Gareus [Wed, 28 Nov 2018 14:24:47 +0000 (15:24 +0100)]
Consolidate ambiguous engine API calls

available(), connected(), running() were ill-defined and
used interchangeably.

5 years agoConsolidate API, prefer ->running()
Robin Gareus [Wed, 28 Nov 2018 14:19:39 +0000 (15:19 +0100)]
Consolidate API, prefer ->running()

5 years agoConsolidate two more engine-checks
Robin Gareus [Wed, 28 Nov 2018 14:17:57 +0000 (15:17 +0100)]
Consolidate two more engine-checks

5 years agoNO-OP: Clarify function name
Robin Gareus [Wed, 28 Nov 2018 13:56:04 +0000 (14:56 +0100)]
NO-OP: Clarify function name

5 years agoUse central method to check for engine for processor operations
Robin Gareus [Tue, 27 Nov 2018 23:02:57 +0000 (00:02 +0100)]
Use central method to check for engine for processor operations

5 years agoUse central method to check for engine where required
Robin Gareus [Tue, 27 Nov 2018 23:01:50 +0000 (00:01 +0100)]
Use central method to check for engine where required

These are generally places where tracks/busses are created or port
connections change.

5 years agoPrepare central engine check and user notification
Robin Gareus [Tue, 27 Nov 2018 22:57:53 +0000 (23:57 +0100)]
Prepare central engine check and user notification

5 years agoCatch potential exceptions when adding tracks/busses
Robin Gareus [Tue, 27 Nov 2018 12:19:34 +0000 (13:19 +0100)]
Catch potential exceptions when adding tracks/busses

5 years agoGUI limitation: Require engine to add/remove tracks/busses
Robin Gareus [Tue, 27 Nov 2018 12:18:39 +0000 (13:18 +0100)]
GUI limitation: Require engine to add/remove tracks/busses

5 years agoFix stuck connection block when template load fails.
Robin Gareus [Mon, 26 Nov 2018 20:45:06 +0000 (21:45 +0100)]
Fix stuck connection block when template load fails.

Session::new_route_from_template() unconditionally calls
IO::disable_connecting(), and needs to be reverted likewise
(no RAII here).

5 years agoPrevent deadlock when removing routes w/o engine
Robin Gareus [Mon, 26 Nov 2018 02:31:02 +0000 (03:31 +0100)]
Prevent deadlock when removing routes w/o engine

5 years agoDon't allow to add/remove monitor-section w/o engine
Robin Gareus [Mon, 26 Nov 2018 02:06:22 +0000 (03:06 +0100)]
Don't allow to add/remove monitor-section w/o engine

Adding/removing the Monitor section changes port-connections,
a port-engine is needed to establish connections.

Ideally we'd allow this and queue for connection changes. This
will however require deep changes.

Also toggling the monitor-section on/off/on w/o engine can later
result in failure to register ports. Due to lack of engine-signals
not all shared_ptr<> port references are dropped.

5 years agoFix various issues when the engine disconnects:
Robin Gareus [Mon, 26 Nov 2018 01:39:55 +0000 (02:39 +0100)]
Fix various issues when the engine disconnects:

Previously Port::PortDrop was never handled.
The signal was disconnected directly when the connection
is re-used by Port::PortSignalDrop.

Ports::drop() was not called when the engine was stopped
or disconnected, and port-handles were not invalidated.

This lead to crashes whenever a port-related operation was performed
while the engine was stopped. e.g. adding/removing tracks or plugins
(latency recompute, notify port-engine) and various other operations.

5 years agoFix a double-free, introduced in b06713bd8e57
Robin Gareus [Sun, 25 Nov 2018 23:32:29 +0000 (00:32 +0100)]
Fix a double-free, introduced in b06713bd8e57

~OptionEditor() already frees all components on every page.

5 years agoDo not allocate MIDI buffers for signal analysis
Robin Gareus [Sun, 25 Nov 2018 16:22:46 +0000 (17:22 +0100)]
Do not allocate MIDI buffers for signal analysis

At this point in time MIDI buffers are vastly over-sized.
They include VST and LV2 event structure. This added about a MB per
plugin for no benefit.

5 years agoFix Linux/PPC64 runtime
Robin Gareus [Sun, 25 Nov 2018 15:57:51 +0000 (16:57 +0100)]
Fix Linux/PPC64 runtime

This fixes an error while loading shared libraries: libardour.so

  R_PPC64_ADDR32 reloc at 0x... for symbol `' out of range

Treating a local as an immediate value in asm code makes the library
non-relocatable.

5 years agoAllow compilation with winpthreads -- closes #7691
Robin Gareus [Sun, 25 Nov 2018 15:51:24 +0000 (16:51 +0100)]
Allow compilation with winpthreads -- closes #7691

5 years agoBundle x42-limiter with binaries
Robin Gareus [Sun, 25 Nov 2018 15:40:28 +0000 (16:40 +0100)]
Bundle x42-limiter with binaries

5 years agoAuditioner: check if removing synth succeeds
Robin Gareus [Sat, 24 Nov 2018 01:01:16 +0000 (02:01 +0100)]
Auditioner: check if removing synth succeeds

remove_processor() also calls drop_references, when successful.

5 years agoHandle some midnam edge-cases
Robin Gareus [Fri, 23 Nov 2018 21:43:26 +0000 (22:43 +0100)]
Handle some midnam edge-cases

Whitespace between XML nodes can result in "text" children.
Those need to be skipped in the patch-name list.

5 years agoNO-OP: whitespace and re-organization
Robin Gareus [Fri, 23 Nov 2018 21:09:13 +0000 (22:09 +0100)]
NO-OP: whitespace and re-organization

5 years agoLoad audition synth on demand
Robin Gareus [Fri, 23 Nov 2018 21:00:04 +0000 (22:00 +0100)]
Load audition synth on demand

This saves some memory (gmsynth loads a 30MB soundfont), and also
re-initializes the synth every time to gm defaults in case some
.mid changes patches or parameters.

5 years agoUpdate Fluidsynth to v2.0.2
Robin Gareus [Fri, 23 Nov 2018 13:36:52 +0000 (14:36 +0100)]
Update Fluidsynth to v2.0.2

5 years agoAdd/remove source(s) in our MSVC project (gtk2_ardour)
John Emmas [Fri, 23 Nov 2018 07:28:17 +0000 (07:28 +0000)]
Add/remove source(s) in our MSVC project (gtk2_ardour)

5 years agoAdd/remove source(s) in our MSVC project (audiographer)
John Emmas [Fri, 23 Nov 2018 07:27:32 +0000 (07:27 +0000)]
Add/remove source(s) in our MSVC project (audiographer)

5 years agoAdd/remove source(s) in our MSVC project (libardour)
John Emmas [Fri, 23 Nov 2018 07:25:54 +0000 (07:25 +0000)]
Add/remove source(s) in our MSVC project (libardour)

5 years agoAmend prev. commit, actually remove (1.0 - x) as was documented
Robin Gareus [Thu, 22 Nov 2018 20:05:03 +0000 (21:05 +0100)]
Amend prev. commit, actually remove (1.0 - x) as was documented

5 years agoBackwards compatible sndfile support
Robin Gareus [Thu, 22 Nov 2018 19:36:41 +0000 (20:36 +0100)]
Backwards compatible sndfile support

SFC_SET_COMPRESSION_LEVEL was only added in 2012 and only available in
libsndfile 1.0.26 or later.

5 years agoExtend LV2UI-Request-Parameter File/Path GUI
Robin Gareus [Thu, 22 Nov 2018 14:02:35 +0000 (15:02 +0100)]
Extend LV2UI-Request-Parameter File/Path GUI

This is a bit of a playground implementation, the various `#if 0`
code-blocks should be removed.

5 years agoSave LV2 Port Property values locally
Robin Gareus [Thu, 22 Nov 2018 13:58:44 +0000 (14:58 +0100)]
Save LV2 Port Property values locally

This keeps track of lv2:Parameter properties modified with Port:Set,
currently file-paths.

5 years agoFix LV2UI_Request_Parameter Feature URI
Robin Gareus [Thu, 22 Nov 2018 05:12:54 +0000 (06:12 +0100)]
Fix LV2UI_Request_Parameter Feature URI

5 years agoUpdate codec-quality display when ExportFormat changes
Robin Gareus [Wed, 21 Nov 2018 22:21:52 +0000 (23:21 +0100)]
Update codec-quality display when ExportFormat changes

5 years agoProperly revert FormatSpec changes on "cancel"
Robin Gareus [Wed, 21 Nov 2018 22:21:13 +0000 (23:21 +0100)]
Properly revert FormatSpec changes on "cancel"

Previously the ExportFormatDialog saved changes to disk on "save" but
did nothing on "cancel". The format changed *remained* modified in
memory, just not saved (until the ExportProfileManager is re-instantiated)

5 years agoAllow to revert export-format from disk
Robin Gareus [Wed, 21 Nov 2018 22:14:52 +0000 (23:14 +0100)]
Allow to revert export-format from disk

This allows to restore ProfileManager's ExportFormatSpec without
re-instantiating the ProfileManager.

5 years agoSet encoder quality for existing ExportFormatSpecs
Robin Gareus [Wed, 21 Nov 2018 20:19:01 +0000 (21:19 +0100)]
Set encoder quality for existing ExportFormatSpecs

5 years agoEarly prototype for _LV2UI_Request_Parameter extension
Robin Gareus [Wed, 21 Nov 2018 01:26:33 +0000 (02:26 +0100)]
Early prototype for _LV2UI_Request_Parameter extension

5 years agoFix a window size potential issue
Olivier Humbert [Tue, 20 Nov 2018 22:13:17 +0000 (23:13 +0100)]
Fix a window size potential issue

5 years agoUpdate GUI, use/remove meta-data methods that have been migrated to the backend
Robin Gareus [Tue, 20 Nov 2018 23:05:13 +0000 (00:05 +0100)]
Update GUI, use/remove meta-data methods that have been migrated to the backend

5 years agoInclude session-metadata in external/ffmpeg export
Robin Gareus [Tue, 20 Nov 2018 23:03:36 +0000 (00:03 +0100)]
Include session-metadata in external/ffmpeg export

5 years agoPrepare session-metadata export to external command
Robin Gareus [Tue, 20 Nov 2018 22:56:12 +0000 (23:56 +0100)]
Prepare session-metadata export to external command

5 years agoVorbis Quality Config GUI
Robin Gareus [Tue, 20 Nov 2018 02:35:25 +0000 (03:35 +0100)]
Vorbis Quality Config GUI

5 years agoImplement vorbis encoder quality
Robin Gareus [Tue, 20 Nov 2018 02:21:17 +0000 (03:21 +0100)]
Implement vorbis encoder quality

This also prepares for codec-quality defaults, but
ExportFormatSpecification does not yet set those for previously unset
or new formats/presets.

5 years agoHandle port-export report of unplayable files
Robin Gareus [Mon, 19 Nov 2018 23:38:18 +0000 (00:38 +0100)]
Handle port-export report of unplayable files

5 years agoAdd some mp3 export presets
Robin Gareus [Mon, 19 Nov 2018 23:21:51 +0000 (00:21 +0100)]
Add some mp3 export presets

5 years agoFFMPEG/MP3 encoder quality select GUI
Robin Gareus [Mon, 19 Nov 2018 22:45:26 +0000 (23:45 +0100)]
FFMPEG/MP3 encoder quality select GUI

5 years agoImplement FFMPEG/MP3 export-format spec and profile
Robin Gareus [Mon, 19 Nov 2018 22:44:50 +0000 (23:44 +0100)]
Implement FFMPEG/MP3 export-format spec and profile

5 years agoPrepare export-format codec-quality setting
Robin Gareus [Mon, 19 Nov 2018 21:26:16 +0000 (22:26 +0100)]
Prepare export-format codec-quality setting

5 years agoFix Windows and Mac Builds
Robin Gareus [Mon, 19 Nov 2018 11:50:38 +0000 (12:50 +0100)]
Fix Windows and Mac Builds

* missing include for locale_to_utf8 (amend 4c6ff5f7e7)
* avoid void* arithemtic (amend 103ef2ba)

5 years agoInitial backend support for external export encoder
Robin Gareus [Mon, 19 Nov 2018 04:21:17 +0000 (05:21 +0100)]
Initial backend support for external export encoder

This adds an experimental pipe to ffmpeg to encode mp3. Currently
quality is hardcoded and various aspects remain to be implemented.
However, it is sufficient for initial testing.

5 years agoAdd Pipe-to-command export backend
Robin Gareus [Mon, 19 Nov 2018 02:30:40 +0000 (03:30 +0100)]
Add Pipe-to-command export backend

A first step towards allowing external encoders without intermediate
temporary file.

5 years agoUse libardour video-tool path (2/2)
Robin Gareus [Mon, 19 Nov 2018 02:20:11 +0000 (03:20 +0100)]
Use libardour video-tool path (2/2)

5 years agoMove video-tool paths to libardour (1/2)
Robin Gareus [Mon, 19 Nov 2018 01:42:52 +0000 (02:42 +0100)]
Move video-tool paths to libardour (1/2)

This is in preparation to allow calling ffmpeg, or similar (sox, lame,..)
directly from libardour.

5 years agoAdd API to write raw data to child processes.
Robin Gareus [Mon, 19 Nov 2018 01:26:43 +0000 (02:26 +0100)]
Add API to write raw data to child processes.

5 years agoLower impact of periodic backup script.
Robin Gareus [Fri, 16 Nov 2018 23:13:12 +0000 (00:13 +0100)]
Lower impact of periodic backup script.

5 years agoUpdate classkeys to match new total LuaSignal count (windows only)
Robin Gareus [Fri, 16 Nov 2018 23:12:43 +0000 (00:12 +0100)]
Update classkeys to match new total LuaSignal count (windows only)

5 years agoAdd a 1Hz Lua Callback Signal
Robin Gareus [Fri, 16 Nov 2018 23:12:10 +0000 (00:12 +0100)]
Add a 1Hz Lua Callback Signal

5 years agoProperly limit generic-UI window size
Robin Gareus [Thu, 15 Nov 2018 22:05:07 +0000 (23:05 +0100)]
Properly limit generic-UI window size

Initially screen() is not unset, the window only exists after the
scroller has been realized. Also prevent initially over-sized window.

5 years agoAdd headless split benchmark script
Robin Gareus [Mon, 12 Nov 2018 22:59:09 +0000 (23:59 +0100)]
Add headless split benchmark script

5 years agoLuaSession: allow multi-line commands and functions
Robin Gareus [Mon, 12 Nov 2018 22:14:48 +0000 (23:14 +0100)]
LuaSession: allow multi-line commands and functions

5 years agoMake foldback bus match foldback sends namewise
Len Ovens [Tue, 13 Nov 2018 06:29:27 +0000 (22:29 -0800)]
Make foldback bus match foldback sends namewise
to avoid confusion with listener sends or monitor bus

5 years agoChanged send/deliver role "Personal" to "Foldback" so bus type can match
Len Ovens [Tue, 13 Nov 2018 05:40:29 +0000 (21:40 -0800)]
Changed send/deliver role "Personal" to "Foldback" so bus type can match

5 years agoOSC: New personal monitor buses no longer need to be hidden
Len Ovens [Thu, 8 Nov 2018 02:21:40 +0000 (18:21 -0800)]
OSC: New personal monitor buses no longer need to be hidden

5 years agoOSC: logic thinko fix
Len Ovens [Thu, 8 Nov 2018 02:09:50 +0000 (18:09 -0800)]
OSC: logic thinko fix

5 years agoFix load/save Lua Editor scripts
Robin Gareus [Mon, 12 Nov 2018 01:30:46 +0000 (02:30 +0100)]
Fix load/save Lua Editor scripts

* callbacks are unregistered during session-deletion, skip saving them
  during session destruction.
* prevent duplicate state restore, re-load script with the session, not
  window instance.

5 years agoFix saving Lua Callbacks when un/register succeeds
Robin Gareus [Mon, 12 Nov 2018 01:06:23 +0000 (02:06 +0100)]
Fix saving Lua Callbacks when un/register succeeds

This fix an issue introduce in 9971e718

5 years agoamend 02f92300, skip backup snapshot when recording
Robin Gareus [Mon, 12 Nov 2018 00:58:12 +0000 (01:58 +0100)]
amend 02f92300, skip backup snapshot when recording

5 years agoAdd Lua script to benchmark region-split operation
Robin Gareus [Sun, 11 Nov 2018 20:28:15 +0000 (21:28 +0100)]
Add Lua script to benchmark region-split operation

5 years agoAdd callback script to periodically save a backup snapshot
Robin Gareus [Sun, 11 Nov 2018 20:26:50 +0000 (21:26 +0100)]
Add callback script to periodically save a backup snapshot

5 years agoLCXL: some final fixes
Jan Lentfer [Thu, 8 Nov 2018 17:01:08 +0000 (18:01 +0100)]
LCXL: some final fixes

5 years agoAnother engine dialog edge-case fix to set the samplerate
Robin Gareus [Sun, 11 Nov 2018 18:51:56 +0000 (19:51 +0100)]
Another engine dialog edge-case fix to set the samplerate

Honor the sesssion's sample-rate when showing the dialog with the engine
stopped. This can happen when then engine dies or hide/show the dialog
after manually stopping the engine.

5 years agoFix sample-rate override when changing backends or devices
Robin Gareus [Sun, 11 Nov 2018 17:50:01 +0000 (18:50 +0100)]
Fix sample-rate override when changing backends or devices

This indirectly honors session_loaded() and prevents that restoring
engine-state can change the sample-rate dropdown when a session is loaded.

5 years agoFix playhead smoothing when auditioning.
Robin Gareus [Sun, 11 Nov 2018 02:38:34 +0000 (03:38 +0100)]
Fix playhead smoothing when auditioning.

Don't use timer to keep moving the playhead when auditioning.
This fixes playhead jiggling during audition.

5 years agoOSC: specify which stiripable type we want
Len Ovens [Wed, 7 Nov 2018 23:35:33 +0000 (15:35 -0800)]
OSC: specify which stiripable type we want

5 years agoChange get_routes to get_routelist where appropriate.
Len Ovens [Wed, 7 Nov 2018 21:05:05 +0000 (13:05 -0800)]
Change get_routes to get_routelist where appropriate.

5 years agoget_stripables and get_routelist are now presentationinfo aware
Len Ovens [Wed, 7 Nov 2018 21:02:49 +0000 (13:02 -0800)]
get_stripables and get_routelist are now presentationinfo aware

5 years agoConsolidate VST Plugin Info
Robin Gareus [Wed, 7 Nov 2018 22:37:10 +0000 (23:37 +0100)]
Consolidate VST Plugin Info

This unifies common PluginManager VST code to construct *VSTPluginInfo
and also provides a dedicated is_instrument() method for VST plugins.

5 years agoForce VST category to be "Instrument" for instruments.
Robin Gareus [Wed, 7 Nov 2018 22:05:54 +0000 (23:05 +0100)]
Force VST category to be "Instrument" for instruments.

This way it is picked up by the default PluginInfo::is_instrument()
method.

5 years agoHonor effFlagsIsSynth and always assume those VSTs are instruments
Robin Gareus [Wed, 7 Nov 2018 20:37:59 +0000 (21:37 +0100)]
Honor effFlagsIsSynth and always assume those VSTs are instruments

This will incorrectly list some vocders or reaktor and the likes of
plugins with audio + midi input as Instruments IFF they also announce
effFlagsIsSynth flag.

NB. this is a first step only. we still need to override PluginInfo

5 years agoGUI options to select FLAC as media format
Robin Gareus [Wed, 7 Nov 2018 18:53:23 +0000 (19:53 +0100)]
GUI options to select FLAC as media format

5 years agoAdd support for recording to .flac
Robin Gareus [Wed, 7 Nov 2018 18:21:39 +0000 (19:21 +0100)]
Add support for recording to .flac

5 years agoNO-OP: whitespace
Robin Gareus [Wed, 7 Nov 2018 18:21:10 +0000 (19:21 +0100)]
NO-OP: whitespace

5 years agoClose files at rec-stop (re-open as needed)
Robin Gareus [Wed, 7 Nov 2018 18:13:03 +0000 (19:13 +0100)]
Close files at rec-stop (re-open as needed)

This is in preparation to allow recording .flac files which are either
read or write not cannot be in read/write mode

5 years agoSkip updating options for hidden file-dialog
Robin Gareus [Tue, 6 Nov 2018 21:43:36 +0000 (22:43 +0100)]
Skip updating options for hidden file-dialog

This may also fix an edge-case issue where changing track selection
combined with invalid file selection may trigger a bad_file_message.

5 years agoDSP-Load Window: subscribe to newly added routes
Robin Gareus [Mon, 5 Nov 2018 19:15:01 +0000 (20:15 +0100)]
DSP-Load Window: subscribe to newly added routes

This fixes an issue when adding plugins with the route (e.g MIDI)
or showing the window before adding a route in the first place.

5 years agoSave Lua UI scripts separately
Robin Gareus [Sun, 4 Nov 2018 17:46:21 +0000 (18:46 +0100)]
Save Lua UI scripts separately

Previously EditorAction and ExitorHook scripts were saved with
instant.xml. The were saved with each session and in the config
dir (for new sessions). This allowed inconsistent UI setups, especially
when loading old sessions that had no or different scripts.

Now Editor scripts (actions and hooks) are saved in a dedicated file,
session-independently. This goes along with ui_config in general
e.g. action-table-columns

The scripts are not saved with ui_config file for two reasons:
ui_config settings related to built-in  ui_config_vars.h,
and in the future there may be further indirection like "ui-rc-file".

Note: previously loaded editor scripts are lost with this change.

5 years agoNO-OP: whitespace
Johannes Mueller [Sun, 4 Nov 2018 14:02:35 +0000 (15:02 +0100)]
NO-OP: whitespace

5 years agoRemove C++11'ism
Robin Gareus [Sun, 4 Nov 2018 14:37:46 +0000 (15:37 +0100)]
Remove C++11'ism

While gnu-gcc had `std::map:at const` as non-standard extension
it is n/a for older gcc on OSX.

Surprisingly this const& p() const; performs a tad better as well, likely
due to different exception handling.

Perhaps it is also worth investigating boost::flat_map<> as replacement
for std::map<>, here. Our common case is just a single entry, so using
a std::vector emulated mapping might help.

5 years agoFix AudioUnit, missing const in cbef72b8a13
Robin Gareus [Sun, 4 Nov 2018 03:10:07 +0000 (04:10 +0100)]
Fix AudioUnit, missing const in cbef72b8a13

5 years agoPrefer const references for Pin/Channel maps
Robin Gareus [Sun, 4 Nov 2018 02:25:36 +0000 (03:25 +0100)]
Prefer const references for Pin/Channel maps

Another micro-optmization shaving off some ten microseconds for every
plugin. Also copying maps isn't RT-safe.

This may however cause issue if const map references can change
while a plugin is running.

5 years agoPlugin pin-mapping micro-optimization
Robin Gareus [Sun, 4 Nov 2018 01:21:53 +0000 (02:21 +0100)]
Plugin pin-mapping micro-optimization

Prefer std::map::at() over std::map::operator[] to allow const maps.
For debug builds, there should probably some try{} catch{} along with this.

5 years agoOptimize Plugin connect & run API, use const maps
Robin Gareus [Sun, 4 Nov 2018 01:15:28 +0000 (02:15 +0100)]
Optimize Plugin connect & run API, use const maps

5 years agoOptimize Parameter Control Loop
Robin Gareus [Sat, 3 Nov 2018 20:55:07 +0000 (21:55 +0100)]
Optimize Parameter Control Loop

For plugins with 10000 Control Inputs, dynamic_pointer_cast<> overhead
is significant, here ~2msec (~0.2usec per cast, optimized build, i7-5600U,
2.60GHz)

5 years agorename TransportMasterManager::init() to ::set_default_configuration() to make its...
Paul Davis [Sat, 3 Nov 2018 01:50:14 +0000 (21:50 -0400)]
rename TransportMasterManager::init() to ::set_default_configuration() to make its purpose more clear

5 years agofix crash during first-run configuration of the application, caused by using an incom...
Paul Davis [Sat, 3 Nov 2018 01:36:53 +0000 (21:36 -0400)]
fix crash during first-run configuration of the application, caused by using an incomplete TransportMasterManager

5 years agoAllow strips to add or remove personal sends
Len Ovens [Fri, 2 Nov 2018 00:42:42 +0000 (17:42 -0700)]
Allow strips to add or remove personal sends
in processor box context menu

5 years agoA listen route has no aux sends
Len Ovens [Thu, 1 Nov 2018 21:18:50 +0000 (14:18 -0700)]
A listen route has no aux sends

5 years agoWork around tooltips in treeviews selection issue #7678
Robin Gareus [Thu, 1 Nov 2018 22:20:50 +0000 (23:20 +0100)]
Work around tooltips in treeviews selection issue #7678

When tooltips are disabled, but a tooltip column is set for a treeview,
the treeview selection behaves inconsistently. It requires a 3rd click
after expanding any child-rows to select a child.

5 years agoCreate sidechain ports when created from template (#0007680)
Johannes Mueller [Thu, 1 Nov 2018 19:30:06 +0000 (20:30 +0100)]
Create sidechain ports when created from template (#0007680)

When a route with a sidechain is created from a template or by route
duplication the number of ports of the sidechain are set according to the
XMLNode defining the sidechain. Then the names are set according to the name of
the newly created route.

Thus all the pin connections defined in the template are replicated in the
newly created route.

5 years agoAllow ListenBus to be added by GUI
Len Ovens [Thu, 1 Nov 2018 20:13:06 +0000 (13:13 -0700)]
Allow ListenBus to be added by GUI