ardour.git
7 years agomore fully disable gain adjustment sharing in a RouteGroup that is assigned to a...
Paul Davis [Sun, 26 Mar 2017 12:42:28 +0000 (14:42 +0200)]
more fully disable gain adjustment sharing in a RouteGroup that is assigned to a VCA master

7 years agoprofile instant.xml save
Robin Gareus [Sat, 25 Mar 2017 14:08:58 +0000 (15:08 +0100)]
profile instant.xml save

This does clutter up stderr, but only because instant.xml is arguably
saved much too often (and it's not really instant :)

7 years agoOSC: tell surfaces using /strip/list they need to rebuild after strip add/remove
Len Ovens [Fri, 24 Mar 2017 21:05:39 +0000 (14:05 -0700)]
OSC: tell surfaces using /strip/list they need to rebuild after strip add/remove

7 years agoOSC: update /strip/list response to add aux, midi bus and VCAs
Len Ovens [Fri, 24 Mar 2017 20:07:03 +0000 (13:07 -0700)]
OSC: update /strip/list response to add aux, midi bus and VCAs

7 years agoRevert "consistent use of context-menu popups"
Robin Gareus [Fri, 24 Mar 2017 13:36:17 +0000 (14:36 +0100)]
Revert "consistent use of context-menu popups"

This reverts commit b3722f7063699fafd0421d504e05a7300c70e0ec.

In some cases ardour shows context-menu on right-mouse-button
release. In this case selecting a menu-entry should happen
with the left-mouse button (or any button?!)

Using ev->button is only correct if the menu is temporary and only
visible while the button is held, button release then activates the
menu-item.

This needs further work, in some cases allowing any button (0) to work
makes sense and overall consistency needs to be improved.
Different places use different strategies for context-menus which
don't always match the button used in the event-handler.

This is a hotfix (to make TAV context menus work again with left-click)

7 years agoImprove playhead updates, reduce jitter for follow PH, stationary PH
Robin Gareus [Thu, 23 Mar 2017 18:21:50 +0000 (19:21 +0100)]
Improve playhead updates, reduce jitter for follow PH, stationary PH

* resolve rounding mistakes
* extrapolate and filter position using GUI timing
* track engine's position

7 years agoIncrease mempool for session-scripts
Robin Gareus [Thu, 23 Mar 2017 18:05:53 +0000 (19:05 +0100)]
Increase mempool for session-scripts

(bindings alone require ~800kB these days)

7 years agoDisallow Selection, context-menu & drag-start on peak-display Button
Robin Gareus [Thu, 23 Mar 2017 00:53:31 +0000 (01:53 +0100)]
Disallow Selection, context-menu & drag-start on peak-display Button

7 years agoSpecial case const std::string& Lua binding.
Robin Gareus [Wed, 22 Mar 2017 15:59:02 +0000 (16:59 +0100)]
Special case const std::string& Lua binding.

since 6dc3bdf, a const string reference would leave scope with Lua code
     fn("text")
calling a C++
     fn (const std::string&)
before the C++ function is called.

7 years agoremove cruft (following 6dc3bdf)
Robin Gareus [Wed, 22 Mar 2017 15:55:19 +0000 (16:55 +0100)]
remove cruft (following 6dc3bdf)

7 years agoImprove plugin Ccategory consistency somewhat
Robin Gareus [Tue, 21 Mar 2017 21:21:02 +0000 (22:21 +0100)]
Improve plugin Ccategory consistency somewhat

7 years agoTop-up "Utils" plugin filter
Robin Gareus [Tue, 21 Mar 2017 21:20:17 +0000 (22:20 +0100)]
Top-up "Utils" plugin filter

* move Generators unto Utility groups
* all "MIDI" plugins (which are not Instruments) are Utils
* Anaylsis, Analyser, Analyzer

7 years agoFix MB32C OSX package-name
Robin Gareus [Tue, 21 Mar 2017 19:49:04 +0000 (20:49 +0100)]
Fix MB32C OSX package-name

7 years agoRelax LV2 plugin filter to substring (e.g. "Utility", "MIDI Utility")
Robin Gareus [Tue, 21 Mar 2017 18:44:22 +0000 (19:44 +0100)]
Relax LV2 plugin filter to substring (e.g. "Utility", "MIDI Utility")

7 years agoDebug NSView Exposure
Robin Gareus [Tue, 21 Mar 2017 14:53:17 +0000 (15:53 +0100)]
Debug NSView Exposure

7 years agoconsolidate NSGLView
Robin Gareus [Tue, 21 Mar 2017 14:45:21 +0000 (15:45 +0100)]
consolidate NSGLView

7 years agoAccommodate newly introduced sources in our build projects (gtkmm2ext)
John Emmas [Tue, 21 Mar 2017 10:31:03 +0000 (10:31 +0000)]
Accommodate newly introduced sources in our build projects (gtkmm2ext)

7 years agoThe new class 'Gtkmm2ext::EventBoxExt' needs to be exportable when building with...
John Emmas [Tue, 21 Mar 2017 10:28:53 +0000 (10:28 +0000)]
The new class 'Gtkmm2ext::EventBoxExt' needs to be exportable when building with MSVC

(previously the c'tor was private and nothing was getting exported anyway)

7 years agoUse NSGLView backed main editor canvas
Robin Gareus [Tue, 21 Mar 2017 04:38:10 +0000 (05:38 +0100)]
Use NSGLView backed main editor canvas

7 years agoAllow to selectively use NSGLView Canvas
Robin Gareus [Tue, 21 Mar 2017 04:37:44 +0000 (05:37 +0100)]
Allow to selectively use NSGLView Canvas

Various GdkEvents are not yet handled correctly, eg. unpacking a widget
from its container does not unmap it, nor are remaining widgets in the
contained re-positioned (size allocation does not change, nor does the
mapping). This affects eg. Mixbus Strips

7 years agomatch name of synthesized property (fixed i386 builds)
Robin Gareus [Tue, 21 Mar 2017 02:46:32 +0000 (03:46 +0100)]
match name of synthesized property (fixed i386 builds)

7 years agoFix gcc4 builds
Robin Gareus [Tue, 21 Mar 2017 02:43:00 +0000 (03:43 +0100)]
Fix gcc4 builds

7 years agoMCP Add X-Touch Mini MCP map
Len Ovens [Tue, 21 Mar 2017 01:51:12 +0000 (18:51 -0700)]
MCP Add X-Touch Mini MCP map

7 years agofix OSX/PPC compilation
Robin Gareus [Tue, 21 Mar 2017 00:58:45 +0000 (01:58 +0100)]
fix OSX/PPC compilation

7 years agoTowards a consistent render() API.
Robin Gareus [Mon, 20 Mar 2017 16:11:56 +0000 (17:11 +0100)]
Towards a consistent render() API.

This fixes an -Woverloaded-virtual ambiguity introduced in b5e613d45

  void render (cairo_t*, cairo_rectagle*)
  void render (Cairo::RefPtr<Cairo::Context> const&, cairo_rectangle_t*)

ArdourCanvas prefers cairomm and CairoWidget itself uses Cairo::Context,
this improves overall API consistency.

7 years agoUse NSGLView for EditorSummary
Robin Gareus [Mon, 20 Mar 2017 15:32:05 +0000 (16:32 +0100)]
Use NSGLView for EditorSummary

7 years agoForward un/map events to NSGLView
Robin Gareus [Mon, 20 Mar 2017 15:31:42 +0000 (16:31 +0100)]
Forward un/map events to NSGLView

7 years agoNSGLView: default to hidden, add API to un/hide
Robin Gareus [Mon, 20 Mar 2017 15:31:01 +0000 (16:31 +0100)]
NSGLView: default to hidden, add API to un/hide

7 years agoEditor: forward unmap events to widgets
Robin Gareus [Mon, 20 Mar 2017 15:30:33 +0000 (16:30 +0100)]
Editor: forward unmap events to widgets

7 years agoAdd a EventBox wrapper to forward unmap events.
Robin Gareus [Mon, 20 Mar 2017 15:30:01 +0000 (16:30 +0100)]
Add a EventBox wrapper to forward unmap events.

7 years agoBasicUI moved toggle_click,toggle_roll and stop_forget from menu action to session...
Len Ovens [Mon, 20 Mar 2017 06:09:45 +0000 (23:09 -0700)]
BasicUI moved toggle_click,toggle_roll and stop_forget from menu action to session calls

7 years agoAllow CairoWidget to be backed by NSGLView
Robin Gareus [Mon, 20 Mar 2017 04:19:38 +0000 (05:19 +0100)]
Allow CairoWidget to be backed by NSGLView

7 years agoMove NSGlView into libgtkmm2ext
Robin Gareus [Mon, 20 Mar 2017 03:21:08 +0000 (04:21 +0100)]
Move NSGlView into libgtkmm2ext

This allows to re-use the concept with CairoWidget

7 years agoFix OSX canvas when used without openGL NSView
Robin Gareus [Mon, 20 Mar 2017 02:37:37 +0000 (03:37 +0100)]
Fix OSX canvas when used without openGL NSView

7 years agoUse NSGLView with patched gdk
Robin Gareus [Mon, 20 Mar 2017 01:15:15 +0000 (02:15 +0100)]
Use NSGLView with patched gdk

Special case Ardour's Canvas NSView to forward gdk-events
which are otherwise special-cased to read AU-views..

7 years agoPrepare NSView/OpenGL Canvas (to speed up rendering on [mac]OS[X]
Robin Gareus [Sun, 19 Mar 2017 21:40:58 +0000 (22:40 +0100)]
Prepare NSView/OpenGL Canvas (to speed up rendering on [mac]OS[X]

This avoids Coregraphics (cairo_quartz_surface..) competely.
The openGL texture bypasses CG's slow argb_image and CGSColorMask
methods.

7 years agoOSC: add feedback for /monitor/mute,dim,mono
Len Ovens [Sun, 19 Mar 2017 15:54:58 +0000 (08:54 -0700)]
OSC: add feedback for /monitor/mute,dim,mono

7 years agobasic_ui send midi_panic directly to session rather than through GUI
Len Ovens [Sun, 19 Mar 2017 14:27:24 +0000 (07:27 -0700)]
basic_ui send midi_panic directly to session rather than through GUI

7 years agoOSC add /monitor/mute,dim,mono
Len Ovens [Sun, 19 Mar 2017 03:05:04 +0000 (20:05 -0700)]
OSC add /monitor/mute,dim,mono

7 years agofix copy/paste issue, typename is not needed here
Robin Gareus [Sat, 18 Mar 2017 22:05:22 +0000 (23:05 +0100)]
fix copy/paste issue, typename is not needed here

7 years agoFix Group assign to new VCA
Robin Gareus [Sat, 18 Mar 2017 21:50:35 +0000 (22:50 +0100)]
Fix Group assign to new VCA

For reasons unknown[1], The vca-counter may not be in sync with
actual number of VCAs present.

[1] possibly some shared-ptr references at the time of session-save, or
old session compatibility.

7 years agoOSC fix toggle_monitor_mute/dim/mono in basic_ui
Len Ovens [Sat, 18 Mar 2017 21:14:02 +0000 (14:14 -0700)]
OSC fix toggle_monitor_mute/dim/mono in basic_ui

7 years agoResolve copy-c'tor and assignment issue with TempoMap
Robin Gareus [Sat, 18 Mar 2017 20:31:34 +0000 (21:31 +0100)]
Resolve copy-c'tor and assignment issue with TempoMap

There are various issues with copy-construction: no readlock is taken,
Tempo/Metric Sections were static-cast to non-const pointers and passed
as references...

This remove the [now] unused copy-c'tor, and fixes various const issues.

7 years agoAdd example script to access midi-region events
Robin Gareus [Sat, 18 Mar 2017 18:10:19 +0000 (19:10 +0100)]
Add example script to access midi-region events

7 years agoLua bindings to access MIDI region/source note-events
Robin Gareus [Sat, 18 Mar 2017 17:37:19 +0000 (18:37 +0100)]
Lua bindings to access MIDI region/source note-events

7 years agoPrefer const references: Beat-Converter does not modify the TempoMap
Robin Gareus [Sat, 18 Mar 2017 17:33:17 +0000 (18:33 +0100)]
Prefer const references: Beat-Converter does not modify the TempoMap

7 years agoFix LuaBindings TypeList copy-ctor
Robin Gareus [Sat, 18 Mar 2017 17:28:44 +0000 (18:28 +0100)]
Fix LuaBindings TypeList copy-ctor

Determining the class type copy constructed references.
Const-references passed to C++ functions were copies.

7 years agoHide SoundCloud uploader in optimized builds until it's fixed
Robin Gareus [Sat, 18 Mar 2017 14:05:54 +0000 (15:05 +0100)]
Hide SoundCloud uploader in optimized builds until it's fixed

7 years agoMake Lua std::set bindings more generic, (prepare for multiset etc)
Robin Gareus [Sat, 18 Mar 2017 13:34:02 +0000 (14:34 +0100)]
Make Lua std::set bindings more generic, (prepare for multiset etc)

7 years agoOh boy!
Robin Gareus [Sat, 18 Mar 2017 13:32:48 +0000 (14:32 +0100)]
Oh boy!

7 years agoDon't push WriteMemoryCallback into global namespace
Robin Gareus [Sat, 18 Mar 2017 13:27:19 +0000 (14:27 +0100)]
Don't push WriteMemoryCallback into global namespace

7 years agoAdd newline to DEBUG::Soundcloud so that it's readable & flushed
Robin Gareus [Sat, 18 Mar 2017 13:26:53 +0000 (14:26 +0100)]
Add newline to DEBUG::Soundcloud so that it's readable & flushed

7 years agoUpdate Japanese translation
Hiroki Inagaki [Sun, 12 Mar 2017 08:28:17 +0000 (00:28 -0800)]
Update Japanese translation

7 years agoLua VAMP plugin list: print value-names
Robin Gareus [Fri, 17 Mar 2017 17:27:45 +0000 (18:27 +0100)]
Lua VAMP plugin list: print value-names

7 years agoAdd example Lua script to print region transients
Robin Gareus [Fri, 17 Mar 2017 17:13:16 +0000 (18:13 +0100)]
Add example Lua script to print region transients

7 years agoLua bindings for libardour transient-analysis
Robin Gareus [Fri, 17 Mar 2017 17:12:50 +0000 (18:12 +0100)]
Lua bindings for libardour transient-analysis

7 years agoSnow White and the Pharaoh (mac rendering)
Robin Gareus [Fri, 17 Mar 2017 15:54:16 +0000 (16:54 +0100)]
Snow White and the Pharaoh (mac rendering)

Once upon a time there was a beautiful Apple tree in palace of
GtkAnkhAmun in Cairo...

7 years agoNO-OP: whitespace
Robin Gareus [Fri, 17 Mar 2017 15:03:59 +0000 (16:03 +0100)]
NO-OP: whitespace

7 years agodrop lua documentation for deprecated "sameinstance()"
Robin Gareus [Thu, 16 Mar 2017 19:56:32 +0000 (20:56 +0100)]
drop lua documentation for deprecated "sameinstance()"

7 years agoUpdate scripts to use == operator
Robin Gareus [Thu, 16 Mar 2017 19:55:41 +0000 (20:55 +0100)]
Update scripts to use == operator

7 years agoLua: provide instance-equal check as '==' comparator.
Robin Gareus [Thu, 16 Mar 2017 19:08:17 +0000 (20:08 +0100)]
Lua: provide instance-equal check as '==' comparator.

This deprecated explicit the "sameinstance()" method

7 years agoSanitize cubic-interpolation code (NO-OP safe for float inaccuracies)
Robin Gareus [Thu, 16 Mar 2017 13:22:00 +0000 (14:22 +0100)]
Sanitize cubic-interpolation code (NO-OP safe for float inaccuracies)

Prefer fmod(x, 1) over (x - floor (x))

7 years agoAccommodate newly introduced source(s) in our MSVC project (gtk2_ardour)
John Emmas [Thu, 16 Mar 2017 10:20:27 +0000 (10:20 +0000)]
Accommodate newly introduced source(s) in our MSVC project (gtk2_ardour)

7 years agoFix note-grid, canvas bounding-box offset.
Robin Gareus [Thu, 16 Mar 2017 02:47:46 +0000 (03:47 +0100)]
Fix note-grid, canvas bounding-box offset.

Note lines on a MIDI-track were able to exceed the time-axis' height
towards the top. If a MIDI track was at the top, the TAV's canvas-group
would increase the overall bounding-box of the track-area and allow
tracks to visually bleed into the time markers group.

7 years agoconsolidate context-menu popup methods
Robin Gareus [Thu, 16 Mar 2017 01:25:53 +0000 (02:25 +0100)]
consolidate context-menu popup methods

7 years agoconsistent use of context-menu popups
Robin Gareus [Thu, 16 Mar 2017 01:24:57 +0000 (02:24 +0100)]
consistent use of context-menu popups

7 years agoPlugin another menu memory leak.
Robin Gareus [Thu, 16 Mar 2017 00:50:30 +0000 (01:50 +0100)]
Plugin another menu memory leak.

7 years agoManage some Menus (memory leaks)
Robin Gareus [Wed, 15 Mar 2017 23:48:36 +0000 (00:48 +0100)]
Manage some Menus (memory leaks)

7 years agoOSC: fix pan stuck at centre.
Len Ovens [Wed, 15 Mar 2017 20:24:13 +0000 (13:24 -0700)]
OSC: fix pan stuck at centre.

7 years agoOSC amend access_action with action in line to ignore if param is 0
Len Ovens [Wed, 15 Mar 2017 16:20:42 +0000 (09:20 -0700)]
OSC amend access_action with action in line to ignore if param is 0

7 years agofix windows builds
Robin Gareus [Wed, 15 Mar 2017 11:52:16 +0000 (12:52 +0100)]
fix windows builds

7 years agoamend c9b1e6dbe
Robin Gareus [Wed, 15 Mar 2017 11:47:14 +0000 (12:47 +0100)]
amend c9b1e6dbe

7 years agoTweak idle-o-meter: reset-button & acquisition time display
Robin Gareus [Wed, 15 Mar 2017 11:38:11 +0000 (12:38 +0100)]
Tweak idle-o-meter: reset-button & acquisition time display

7 years agoAdd GUI-Idle debugging/profiling util
Robin Gareus [Wed, 15 Mar 2017 10:34:05 +0000 (11:34 +0100)]
Add GUI-Idle debugging/profiling util

7 years agoOSC: add new /access_action/group/action f 1 for float only controllers
Len Ovens [Wed, 15 Mar 2017 01:47:41 +0000 (18:47 -0700)]
OSC: add new /access_action/group/action f 1 for float only controllers

7 years agoUpdate stripable color on the fly
Robin Gareus [Tue, 14 Mar 2017 16:03:14 +0000 (17:03 +0100)]
Update stripable color on the fly

7 years agoFix Faderport Proj button (show-editor action)
Ben Loftis [Tue, 14 Mar 2017 14:27:59 +0000 (09:27 -0500)]
Fix Faderport Proj button (show-editor action)

7 years agoBundle a session-callback script
Robin Gareus [Tue, 14 Mar 2017 02:29:03 +0000 (03:29 +0100)]
Bundle a session-callback script

7 years agoOSC debug: "ALL" == all messages incl. invalid ones
Robin Gareus [Mon, 13 Mar 2017 21:35:07 +0000 (22:35 +0100)]
OSC debug: "ALL" == all messages incl. invalid ones

7 years agoUse a label for required script instance parameters
Robin Gareus [Mon, 13 Mar 2017 20:25:16 +0000 (21:25 +0100)]
Use a label for required script instance parameters

7 years agoClean up existing bindings on reset
Robin Gareus [Mon, 13 Mar 2017 19:09:10 +0000 (20:09 +0100)]
Clean up existing bindings on reset

7 years agoAdd track/bus rename safeguards to the backend (handy for scripting)
Robin Gareus [Mon, 13 Mar 2017 17:44:37 +0000 (18:44 +0100)]
Add track/bus rename safeguards to the backend (handy for scripting)

7 years agoDefault to a pastel color tetrad palette.
Robin Gareus [Mon, 13 Mar 2017 17:01:08 +0000 (18:01 +0100)]
Default to a pastel color tetrad palette.

7 years agoplugin scan tweaks: don't verbosely log by default, bump timeout
Robin Gareus [Mon, 13 Mar 2017 15:13:38 +0000 (16:13 +0100)]
plugin scan tweaks: don't verbosely log by default, bump timeout

Some VSTs (e.g. waves) can take a rather long time to scan.
(VST-shell: many plugins + online license check)

7 years agoremove cruft; superseded by ControlGroup::use_me
Robin Gareus [Sun, 12 Mar 2017 19:15:55 +0000 (20:15 +0100)]
remove cruft; superseded by ControlGroup::use_me

7 years agoPrevent multiple color-picker dialogs for a single stripable
Robin Gareus [Sun, 12 Mar 2017 15:54:38 +0000 (16:54 +0100)]
Prevent multiple color-picker dialogs for a single stripable

7 years agoPreparations to keep track of stripable color-dialogs.
Robin Gareus [Sun, 12 Mar 2017 15:54:18 +0000 (16:54 +0100)]
Preparations to keep track of stripable color-dialogs.

This follows the same concept as plugin-UIs (keep a pointer in the backend)
to prevent multiple instances to be created from various TAVs
and RouteUIs (mixer, editor-mixer, meterbridge,..)

7 years agoFix issue with automation-playback constantly marking a session dirty.
Robin Gareus [Sun, 12 Mar 2017 01:37:30 +0000 (02:37 +0100)]
Fix issue with automation-playback constantly marking a session dirty.

7 years agoOptimize Session::set_dirty()
Robin Gareus [Sun, 12 Mar 2017 01:36:33 +0000 (02:36 +0100)]
Optimize Session::set_dirty()

7 years agoPrepare for graceful case-by-case fallback of VST Bypass
Robin Gareus [Sun, 12 Mar 2017 00:24:40 +0000 (01:24 +0100)]
Prepare for graceful case-by-case fallback of VST Bypass

VST's effSetBypass may fail even though a plugin CanDo "bypass",
and it can be case-by-case (depending on plugin-settings).

This codepath is not yet active, pending testing.

7 years agoUpdate selection-clock when region properties change
Robin Gareus [Sun, 12 Mar 2017 00:20:49 +0000 (01:20 +0100)]
Update selection-clock when region properties change

7 years agoAdd API to check if a given region is part of the region-selection
Robin Gareus [Sun, 12 Mar 2017 00:20:14 +0000 (01:20 +0100)]
Add API to check if a given region is part of the region-selection

7 years agoImprove a-delay to follow tempo-ramps & BPM changes
Robin Gareus [Sat, 11 Mar 2017 22:10:44 +0000 (23:10 +0100)]
Improve a-delay to follow tempo-ramps & BPM changes

This is a bit of a hotfix, not a proper solution

7 years agoFader Group override (allow to enable on disabled groups/predicates)
Robin Gareus [Sat, 11 Mar 2017 18:00:06 +0000 (19:00 +0100)]
Fader Group override (allow to enable on disabled groups/predicates)

7 years agoFix Controllable::InverseGroup behavior.
Robin Gareus [Sat, 11 Mar 2017 17:48:37 +0000 (18:48 +0100)]
Fix Controllable::InverseGroup behavior.

use_group(), use_me() filters group behavior beforehand.
ControlGroup::set_group_value() lacks context to make the decision itself
and should always apply to the group (regardless of active state):
InverseGroup allows to override both: inactive predicate and inactive group.

This needs testing, particularly since  RouteGroupMember::use_group()
is no longer used and was superseded by RouteGroup::push_to_groups()

7 years agocreate_action_group -> get_or_create_action_group
Robin Gareus [Sat, 11 Mar 2017 14:32:55 +0000 (15:32 +0100)]
create_action_group -> get_or_create_action_group

Since adding an action-groups hides existing actions with the same name,
this adds a way to look up actions first.

This fixes an issue introduced in 6af51b52ffd6 (both window_manager.cc
and ardour_ui_ed.cc use the "Window" group.

7 years agoAccommodate newly introduced source(s) in our MSVC project (gtk2_ardour)
John Emmas [Sat, 11 Mar 2017 11:52:22 +0000 (11:52 +0000)]
Accommodate newly introduced source(s) in our MSVC project (gtk2_ardour)

7 years agoTweak tempo-marker grab-handle (extend left/right)
Robin Gareus [Sat, 11 Mar 2017 04:14:32 +0000 (05:14 +0100)]
Tweak tempo-marker grab-handle (extend left/right)

7 years agoDisable Retina/Appple pango text-width workaround
Robin Gareus [Sat, 11 Mar 2017 04:13:17 +0000 (05:13 +0100)]
Disable Retina/Appple pango text-width workaround

Fix right-alignment (tempo-markers) and oversized bounding-boxes.
_width_correction should be removed after testing on various systems.

7 years agoFix possible segfault in multi-bus AUs.
Robin Gareus [Sat, 11 Mar 2017 04:09:25 +0000 (05:09 +0100)]
Fix possible segfault in multi-bus AUs.