Robin Gareus [Wed, 11 Sep 2019 01:00:26 +0000 (03:00 +0200)]
Who needs semicolons?
Robin Gareus [Wed, 11 Sep 2019 00:40:57 +0000 (02:40 +0200)]
AU: fix optional buffers
The spec [1] says:
"If the mData pointers are null, the audio unit can
provide pointers to its own buffers. In this case,
the audio unit must keep those buffers valid for
the duration of the calling thread’s I/O cycle."
A plugin *can* do this, but it does not need to. An extra
NULL test is required.
furthermore [2] specifies
"mDataByteSize - The number of bytes in the buffer pointed
at by the mData field."
In case the host does not provide any buffers, this is obviously zero.
[1] https://developer.apple.com/documentation/audiotoolbox/
1438430-audiounitrender?language=objc
[2] https://developer.apple.com/documentation/coreaudiotypes/audiobuffer?language=objc
Robin Gareus [Wed, 11 Sep 2019 00:31:19 +0000 (02:31 +0200)]
AU: don't consider in-place if there are no inputs
Len Ovens [Tue, 10 Sep 2019 23:08:24 +0000 (16:08 -0700)]
Foldback GUI: size and position tweaks
- Set width so added pan controls in send controls don't change size
- output button shows only ports applicable to foldback use
- Size text to leave widget width alone
- Center level control
-
Robin Gareus [Tue, 10 Sep 2019 15:03:16 +0000 (17:03 +0200)]
Add note about Denormal protection pref changes
Modifications to the MXCSR register are pre thread. Changing this
setting only directly affects the GUI thread.
Robin Gareus [Tue, 10 Sep 2019 14:59:04 +0000 (16:59 +0200)]
MXCSR is a 32bit unsigned int register
https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_setcsr
Robin Gareus [Tue, 10 Sep 2019 02:09:22 +0000 (04:09 +0200)]
Fix ARM compilation
Robin Gareus [Tue, 10 Sep 2019 01:07:17 +0000 (03:07 +0200)]
Remove redundant call (moved to libardour)
Robin Gareus [Tue, 10 Sep 2019 01:06:21 +0000 (03:06 +0200)]
Engage thread-safe fftw planner in libardour
This way initialization happens constently, and independent from the GUI,
for session-utils, lua, headless..
Robin Gareus [Mon, 9 Sep 2019 16:54:49 +0000 (18:54 +0200)]
Implement denormal protection for ARM
Robin Gareus [Mon, 9 Sep 2019 16:48:16 +0000 (18:48 +0200)]
Use ProcessThread::init () to set up denormal protection
Modifying the MXCSR register only affects the current thread.
Robin Gareus [Mon, 9 Sep 2019 16:44:24 +0000 (18:44 +0200)]
Remove NO-OP; ProcessThread::init() does nothing
Robin Gareus [Mon, 9 Sep 2019 16:43:57 +0000 (18:43 +0200)]
Remove NO-OP, ProcessThread::init() does nothing
Robin Gareus [Mon, 9 Sep 2019 15:10:04 +0000 (17:10 +0200)]
When muting MIDI, silence all playing notes
All-note-off event (CC 123) needs to be accompanied
with raising the sustain-pedal (CC 64).
Robin Gareus [Mon, 9 Sep 2019 03:01:26 +0000 (05:01 +0200)]
Fix MIDI velocity scale for muted sends and manual faders
Do not send continuous stream of note-evens with zero velocity
after muting a MIDI track or after a fade to silence completed
(and all-notes-off has been sent).
NB. Automated Faders are left untouched (no panic is sent for -infdB gain),
Note-on events with zero velocity are sent.
Robin Gareus [Mon, 9 Sep 2019 02:14:57 +0000 (04:14 +0200)]
Report whether arlua is being built
Robin Gareus [Mon, 9 Sep 2019 02:10:59 +0000 (04:10 +0200)]
Send NoteOff on when muting MIDI, drop note events when silent
Len Ovens [Sun, 8 Sep 2019 17:04:14 +0000 (10:04 -0700)]
NO OP: clean up and rearrange things
Robin Gareus [Sun, 8 Sep 2019 20:33:01 +0000 (22:33 +0200)]
Tweak foldback style and tweak alignment
This tentatively re-uses nudge arrows for prev/next buttons,
and matches alignment of the top of the strips.
Len Ovens [Sat, 7 Sep 2019 21:51:01 +0000 (14:51 -0700)]
Foldback GUI: Add menus to send box
Len Ovens [Fri, 6 Sep 2019 18:26:43 +0000 (11:26 -0700)]
Match foldback strip BG to dark theme better
Robin Gareus [Fri, 6 Sep 2019 18:43:20 +0000 (20:43 +0200)]
NO-OP: whitespace
Robin Gareus [Fri, 6 Sep 2019 18:35:49 +0000 (20:35 +0200)]
Fix MSVC compilation
This resolves a circular dependency:
libardour calls methods from libardour_cp and vice versa.
Since
9bb2f2bb libardour is also calling active() and that method
needs to be forced to use late binding. -- compare to
b9bbea71748
Johannes Maibaum [Sun, 14 Jul 2019 12:47:47 +0000 (14:47 +0200)]
Add patchfiles/Moog_Slim_Phatty.midnam
Robin Gareus [Fri, 6 Sep 2019 16:33:48 +0000 (18:33 +0200)]
Improve Lua unit-test report
Robin Gareus [Fri, 6 Sep 2019 16:18:29 +0000 (18:18 +0200)]
Add Readme to the Lua script folder
Robin Gareus [Fri, 6 Sep 2019 16:17:23 +0000 (18:17 +0200)]
Another script to skip during unit-tests
Robin Gareus [Fri, 6 Sep 2019 13:39:54 +0000 (15:39 +0200)]
Fix LuaProc script-parse return status
Robin Gareus [Fri, 6 Sep 2019 01:09:39 +0000 (03:09 +0200)]
Remove ancient unit-test data
Evoral MIDI automation interpolation is tested separately,
there is no need to evaluate a complete old session
Robin Gareus [Fri, 6 Sep 2019 00:58:34 +0000 (02:58 +0200)]
Update template test session
Robin Gareus [Thu, 5 Sep 2019 23:37:00 +0000 (01:37 +0200)]
Shuttle Surface: handle libusb_init() failure
USB stack may not be available on some systems, e.g. unit-test VM.
When libusb_init(0) fails to create default context, further calls
into the libusb API will cause segfaults.
Robin Gareus [Thu, 5 Sep 2019 23:31:43 +0000 (01:31 +0200)]
Lua Fluid Synth example needs FluidR3_GM.sf2, skip unit-test
Robin Gareus [Thu, 5 Sep 2019 20:37:06 +0000 (22:37 +0200)]
Unit-test: parameter ranges outside [0..1]
More updates after
3d15499cdacacbafa32c8f
* set parameter-range for MIDI sequences
* set parameter-range for cubic spline
Robin Gareus [Thu, 5 Sep 2019 20:07:41 +0000 (22:07 +0200)]
Unit test all RegionEquivalence options
Robin Gareus [Thu, 5 Sep 2019 19:03:50 +0000 (21:03 +0200)]
Unit-test update: honor FadeInAutomation parameter-range
Since
3d15499cdacacbafa32c8f, libevoral enforces Parameter min/max
range. Ardour::ParameterDescriptor sets FadeInAutomation range to 0..2.
Hence all unit-test data needs to be in this range.
Robin Gareus [Thu, 5 Sep 2019 18:17:57 +0000 (20:17 +0200)]
Exclude Lua Convovler from unit-test (fails because of missing IR)
Robin Gareus [Thu, 5 Sep 2019 17:32:51 +0000 (19:32 +0200)]
Strict Ctrl surface unit-test: check re-activate.
Robin Gareus [Thu, 5 Sep 2019 17:04:32 +0000 (19:04 +0200)]
Reduce stdout/stderr clutter, prefer DEBUG_TRACE
Robin Gareus [Thu, 5 Sep 2019 16:59:26 +0000 (18:59 +0200)]
Prevent duplicate Ctrl-protocol instances
ControlProtocols are single instance.
Activating an already active protocol leads to crashes due to
various rasons (e.g. port already registered), re-used singleton
event_loop_name and request-buffers, duplicate free of
AbstractUI request buffers during deactivate,..
Robin Gareus [Thu, 5 Sep 2019 15:45:58 +0000 (17:45 +0200)]
Ignore <ExtendingDeviceNames> midnam during unit-test
So far Ardour only supports midnam descriptions that specify a
<MasterDeviceNames> directly.
Robin Gareus [Thu, 5 Sep 2019 15:42:19 +0000 (17:42 +0200)]
Fix paths to .midnam file
Robin Gareus [Thu, 5 Sep 2019 15:01:19 +0000 (17:01 +0200)]
New sessions are saved implicitly, remove explicit call
Robin Gareus [Thu, 5 Sep 2019 15:00:14 +0000 (17:00 +0200)]
Skip duplicate early session-save for new sessions
Identical code is called unconditionally at the end of
the Session c'tor via Session::session_loaded()
Robin Gareus [Thu, 5 Sep 2019 14:57:19 +0000 (16:57 +0200)]
Reset write-source only when necessary
When I/O port-counts do not change, plugin re-order happens
in sync in the process-thread. ::configure_io() is only called
to ensure that the current configuration is valid.
In case that the ChanCount does not change, the method must
be realtime-safe and not block.
DiskWriter::reset_write_sources() is not realtime-safe and
implicitly causes a session-save:
Write-sources are destroyed and re-created. This includes
a call to write_source->drop_references(), which triggers
ARDOUR::Session::remove_source(), which saves the session.
Furthermore adding/removing plugins will likewise call
::configure_io().
Previously any processor change on a track lead to
saving the session!
Robin Gareus [Thu, 5 Sep 2019 13:29:15 +0000 (15:29 +0200)]
Report Lua script that failed a unit-test
Robin Gareus [Thu, 5 Sep 2019 12:56:39 +0000 (14:56 +0200)]
Fix thinko/typo bug introduced in
e6c9bcfd07
Robin Gareus [Thu, 5 Sep 2019 12:52:08 +0000 (14:52 +0200)]
Update MClk unit-test - new transportmaster API
Robin Gareus [Thu, 5 Sep 2019 12:09:22 +0000 (14:09 +0200)]
Remove unused header (superseded by libtemporal)
Robin Gareus [Thu, 5 Sep 2019 12:08:31 +0000 (14:08 +0200)]
Fix libevoal unit-test compilation
Robin Gareus [Wed, 4 Sep 2019 22:40:48 +0000 (00:40 +0200)]
Use Fixed-length when drawing percussive events
Previously adding percussive-hits created sustained notes
using the current grid as duration. This allowed to create
overlapping notes with the overlap not being visible.
Most hardware MIDI drumkits do send an immediate note-off event
after each hit (if they send note-offs at all).
Ardour now follows suit and does the same when using the draw/edit tool.
Robin Gareus [Wed, 4 Sep 2019 20:56:31 +0000 (22:56 +0200)]
Amend
69a3b0b46e, remove CCs not used by fluidsynth
Robin Gareus [Wed, 4 Sep 2019 14:34:45 +0000 (16:34 +0200)]
Add script to set automation states of multiple controls
Len Ovens [Wed, 4 Sep 2019 04:44:14 +0000 (21:44 -0700)]
Move foldback strip to left of Master
Len Ovens [Wed, 4 Sep 2019 04:16:42 +0000 (21:16 -0700)]
Change back ground color for foldback strip
Robin Gareus [Wed, 4 Sep 2019 02:22:24 +0000 (04:22 +0200)]
Update Fluidsynth to v2.0.6-git
Robin Gareus [Wed, 4 Sep 2019 02:11:45 +0000 (04:11 +0200)]
Expose CCs that fluidsynth uses by default in midnam
Len Ovens [Wed, 4 Sep 2019 00:12:51 +0000 (17:12 -0700)]
Resize and color the foldback level knob
Robin Gareus [Tue, 3 Sep 2019 20:01:35 +0000 (22:01 +0200)]
Fix mute toggle actions when mute is automated
Track menu, as well as mixer-shortcut to set/unset mute
of selected tracks needs to send a start_touch() event, otherwise
the change is not effective.
Robin Gareus [Tue, 3 Sep 2019 12:26:01 +0000 (14:26 +0200)]
Scroll Lua scripts, now that there can be many
Robin Gareus [Tue, 3 Sep 2019 03:01:59 +0000 (05:01 +0200)]
Fix -Wsign-compare
Robin Gareus [Tue, 3 Sep 2019 02:55:08 +0000 (04:55 +0200)]
Fix -Wnon-virtual-dtor
Robin Gareus [Tue, 3 Sep 2019 02:52:01 +0000 (04:52 +0200)]
NO-OP: remove trailing whitespace
Robin Gareus [Tue, 3 Sep 2019 02:31:35 +0000 (04:31 +0200)]
Increase available Lua action script slots
* Reserve 32 dedicated editor actions for scripts
* Limit number of toolbar buttons
* Use dedicated binding-group for keyboard-shortcuts
* Tweak Preferences layout of toolbar pane
Robin Gareus [Mon, 2 Sep 2019 19:20:26 +0000 (21:20 +0200)]
Proper error messages for Audio2MIDI script
Robin Gareus [Mon, 2 Sep 2019 19:20:06 +0000 (21:20 +0200)]
Another windows build fix, declare LuaDialog::ProgressWindow
Robin Gareus [Mon, 2 Sep 2019 13:45:48 +0000 (15:45 +0200)]
Fix windows build linking, declare bindings
Robin Gareus [Mon, 2 Sep 2019 13:45:14 +0000 (15:45 +0200)]
Update Lua scripts, class-name change
Robin Gareus [Mon, 2 Sep 2019 13:42:34 +0000 (15:42 +0200)]
Move LuaProgressDialog into "LuaDialog" namespace
Define class in header file
Match C++ and Lua binding namespaces (for documentation)
Robin Gareus [Mon, 2 Sep 2019 12:35:23 +0000 (14:35 +0200)]
Package VAMP pYIN plugin
Robin Gareus [Mon, 2 Sep 2019 03:44:00 +0000 (05:44 +0200)]
Fix pyin build, needs VAMPSDK
Robin Gareus [Mon, 2 Sep 2019 03:19:27 +0000 (05:19 +0200)]
Update Lua VAMP scripts to show a progress dialog
Robin Gareus [Mon, 2 Sep 2019 03:18:17 +0000 (05:18 +0200)]
Allow to cancel LuaAPI::Vamp::analyze
Robin Gareus [Mon, 2 Sep 2019 03:17:55 +0000 (05:17 +0200)]
Add Lua progress dialog
Robin Gareus [Mon, 2 Sep 2019 01:13:31 +0000 (03:13 +0200)]
Add pyin to VAMP_PATH
Robin Gareus [Mon, 2 Sep 2019 01:13:13 +0000 (03:13 +0200)]
Add vamp-pyin authors to user-visible doc
Robin Gareus [Mon, 2 Sep 2019 01:12:22 +0000 (03:12 +0200)]
Include vamp-pyin
In preparation for captainMorgan's pitch analysis script.
Robin Gareus [Sun, 1 Sep 2019 18:13:59 +0000 (20:13 +0200)]
Initialize uninitialized variables
If a session with a feedback loop is loaded, Graph::rechain()
is never called, and _n_terminal_nodes[] remains unset.
Robin Gareus [Sun, 1 Sep 2019 17:01:18 +0000 (19:01 +0200)]
Use preferred pa_context_new_with_proplist API
Robin Gareus [Sun, 1 Sep 2019 16:38:56 +0000 (18:38 +0200)]
Color schema for feedback-btn alternative active color
Robin Gareus [Sun, 1 Sep 2019 16:37:49 +0000 (18:37 +0200)]
Prominent "Feedback" indicator blinking
Always use a color when blinking. This allows to see
"feedback" even in screenshots. Previously there was a 50%
to capture it in a still image.
Robin Gareus [Sun, 1 Sep 2019 14:57:48 +0000 (16:57 +0200)]
Allow to un-set custom Ardour-button colors
Robin Gareus [Sun, 1 Sep 2019 14:52:24 +0000 (16:52 +0200)]
Changing active-state needs no color lookup
Colors and patterns are cached, independent of active-state.
This didn't used to be the case in the distant ArdourButton past.
Robin Gareus [Fri, 30 Aug 2019 20:56:07 +0000 (22:56 +0200)]
Fix mixer-side-bar show/hide actions
Changes need to be propagated to the Stripable's PresentationInfo.
So far this was not done for batch-changes using the mixer's left
side-bar "Show all", "Hide all" actions. They remained local
to the mixer and were not persistent.
Nikolaus Gullotta [Fri, 30 Aug 2019 19:44:50 +0000 (14:44 -0500)]
Move StripSilenceDialog XML to dedicated function
This moves the Session::add_extra_xml() call out of editor_ops.cc and
moves it to its own class method StripSilenceDialog::finished()
Nikolaus Gullotta [Fri, 30 Aug 2019 17:40:28 +0000 (12:40 -0500)]
Add settings retention to StripSilenceDialog
StripSilenceDialog will now retain its threshold, minimum length, and
fade length values from run to run.
This is done via Session::add_extra_xml() and recalled during the
construction of StripSilenceDialog via Session::extra_xml()
Robin Gareus [Thu, 29 Aug 2019 16:00:04 +0000 (18:00 +0200)]
Fix Lua-doc doxygen declaration extraction
Robin Gareus [Thu, 29 Aug 2019 15:57:22 +0000 (17:57 +0200)]
No-OP: move doxygen doc into header files
Robin Gareus [Thu, 29 Aug 2019 03:42:46 +0000 (05:42 +0200)]
Tweak Lua-doc processing:
Separate PHP based post-processing, used for manual creation.
php-cli may not be available on build host.
Len Ovens [Wed, 28 Aug 2019 23:23:46 +0000 (16:23 -0700)]
Replaced foldback select button with previous and next buttons
Len Ovens [Wed, 28 Aug 2019 20:22:24 +0000 (13:22 -0700)]
properly remove foldback strip so it can be created again
Nikolaus Gullotta [Wed, 28 Aug 2019 19:19:43 +0000 (14:19 -0500)]
Merge branch 'master' of git.ardour.org:ardour/ardour
Nikolaus Gullotta [Wed, 28 Aug 2019 19:19:26 +0000 (14:19 -0500)]
time span column should actually sort by location start time
Len Ovens [Wed, 28 Aug 2019 18:20:10 +0000 (11:20 -0700)]
Removed unused includes
Len Ovens [Wed, 28 Aug 2019 18:12:44 +0000 (11:12 -0700)]
Ensure monitor section is always leftmost in mixer window
Robin Gareus [Wed, 28 Aug 2019 16:38:06 +0000 (18:38 +0200)]
Lua: allow to build SelectionLists
This partially reverts
4538bcc7 to allow Editor:set_selection()
Nikolaus Gullotta [Wed, 28 Aug 2019 16:27:40 +0000 (11:27 -0500)]
add sortable length, span, and name columns to ExportTimespanSelectorMultiple and ExportTimespanSelectorSingle
Nikolaus Gullotta [Wed, 28 Aug 2019 15:07:41 +0000 (10:07 -0500)]
add .vscode editor data to gitignore
Len Ovens [Tue, 27 Aug 2019 17:15:39 +0000 (10:15 -0700)]
removed axis view from foldback strip
Robin Gareus [Tue, 27 Aug 2019 16:00:56 +0000 (18:00 +0200)]
Update icon render tool
* add "grid" mode
* re-build libwidgets as needed
* add a convenient `make show` target
Robin Gareus [Tue, 27 Aug 2019 15:58:58 +0000 (17:58 +0200)]
Cont'd icon tweaks
* unify line-width calculation
* thin line-width, approximate thickness of
glyph stroke width at same UI scale
* don't use outlines (except main tool buttons)
This fixes issues of generic buttons with bright-theme
* pixel align some lines