Commit graph

28009 commits

Author SHA1 Message Date
Robin Gareus
9c752c249d
Add new icons: hide, prev/next 2019-09-12 23:36:25 +02:00
Len Ovens
7e5552d00b foldback gui: simplify foldback strip menus
This uses less code and fixes the odd crash as well
(there was sometimes a crash when using the send
display context menu)
2019-09-12 12:44:38 -07:00
Len Ovens
81bbc3be1e foldback gui: simplify button code where possible
use signal_clicked rather than signal_button_press_event
for cases where a menu is not launched.
2019-09-12 09:39:38 -07:00
Len Ovens
da88e9d34c Foldback gui: Added hide and show
- New menu item in view menu
- Foldback strip has hide button
- Adding a new foldback bus sets show
- setting is saved and restored
2019-09-11 16:36:05 -07:00
Len Ovens
729cd0e2b3 foldback gui: added tool tips for previous and next 2019-09-10 21:40:39 -07:00
Len Ovens
2e857e9143 Foldback gui: previous and next buttons don't wrap around
I had set the previous next buttons to wrap around
but Robin felt dead ending was better. The previous
button becomes insensitive when the first foldback bus
is displayed and next is insensitive when the last is
displayed.
2019-09-10 21:09:54 -07:00
Len Ovens
3f6310ef9c Foldback GUI: sort send controls by mixer order
also found send button name did not follow sending
route name after change and tool tip was wrong. Fixed
both.
2019-09-10 19:26:41 -07:00
Robin Gareus
8a313daa13
Who needs semicolons? 2019-09-11 03:00:26 +02:00
Robin Gareus
9f668ceed2
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
2019-09-11 02:56:08 +02:00
Robin Gareus
8dc0c84ba4
AU: don't consider in-place if there are no inputs 2019-09-11 02:56:04 +02:00
Len Ovens
f84374730a 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
 -
2019-09-10 16:09:26 -07:00
Robin Gareus
24a0a4256a
Add note about Denormal protection pref changes
Modifications to the MXCSR register are pre thread. Changing this
setting only directly affects the GUI thread.
2019-09-10 17:03:24 +02:00
Robin Gareus
d18f6dcbab
MXCSR is a 32bit unsigned int register
https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_setcsr
2019-09-10 16:59:04 +02:00
Robin Gareus
ed937c383f
Fix ARM compilation 2019-09-10 04:09:22 +02:00
Robin Gareus
1a828f1f4d
Remove redundant call (moved to libardour) 2019-09-10 03:07:17 +02:00
Robin Gareus
38b36d2ea5
Engage thread-safe fftw planner in libardour
This way initialization happens constently, and independent from the GUI,
for session-utils, lua, headless..
2019-09-10 03:06:21 +02:00
Robin Gareus
68c13940e3
Implement denormal protection for ARM 2019-09-09 18:54:58 +02:00
Robin Gareus
4abb907a82
Use ProcessThread::init () to set up denormal protection
Modifying the MXCSR register only affects the current thread.
2019-09-09 18:48:16 +02:00
Robin Gareus
07b685c371
Remove NO-OP; ProcessThread::init() does nothing 2019-09-09 18:44:24 +02:00
Robin Gareus
d59aa81b39
Remove NO-OP, ProcessThread::init() does nothing 2019-09-09 18:43:57 +02:00
Robin Gareus
7afb068fa6
When muting MIDI, silence all playing notes
All-note-off event (CC 123) needs to be accompanied
with raising the sustain-pedal (CC 64).
2019-09-09 17:10:04 +02:00
Robin Gareus
cd6e074e92
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.
2019-09-09 05:01:26 +02:00
Robin Gareus
65268bae5b
Report whether arlua is being built 2019-09-09 04:15:20 +02:00
Robin Gareus
bbe605c0fa
Send NoteOff on when muting MIDI, drop note events when silent 2019-09-09 04:15:20 +02:00
Len Ovens
5450b6c556 NO OP: clean up and rearrange things 2019-09-08 14:02:48 -07:00
Robin Gareus
bc7dfc4615
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.
2019-09-08 22:33:01 +02:00
Len Ovens
a8447a35ac Foldback GUI: Add menus to send box 2019-09-07 14:51:40 -07:00
Len Ovens
3ecf0fde19 Match foldback strip BG to dark theme better 2019-09-07 14:51:40 -07:00
Robin Gareus
66ceb2b3c7
NO-OP: whitespace 2019-09-06 20:43:20 +02:00
Robin Gareus
33c251a623
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 b9bbea7174
2019-09-06 20:35:49 +02:00
Johannes Maibaum
5963104378
Add patchfiles/Moog_Slim_Phatty.midnam 2019-09-06 18:39:17 +02:00
Robin Gareus
72d9a93baa
Improve Lua unit-test report 2019-09-06 18:36:32 +02:00
Robin Gareus
e3e18b746f
Add Readme to the Lua script folder 2019-09-06 18:18:29 +02:00
Robin Gareus
2683a9d62c
Another script to skip during unit-tests 2019-09-06 18:17:23 +02:00
Robin Gareus
6328f92665
Fix LuaProc script-parse return status 2019-09-06 15:39:54 +02:00
Robin Gareus
9052b29add
Remove ancient unit-test data
Evoral MIDI automation interpolation is tested separately,
there is no need to evaluate a complete old session
2019-09-06 03:09:39 +02:00
Robin Gareus
9630b148bc
Update template test session 2019-09-06 02:58:34 +02:00
Robin Gareus
212b445628
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.
2019-09-06 01:37:00 +02:00
Robin Gareus
15defd5381
Lua Fluid Synth example needs FluidR3_GM.sf2, skip unit-test 2019-09-06 01:31:43 +02:00
Robin Gareus
beccc53bb6
Unit-test: parameter ranges outside [0..1]
More updates after 3d15499cda

* set parameter-range for MIDI sequences
* set parameter-range for cubic spline
2019-09-05 22:42:08 +02:00
Robin Gareus
db063a6eb8
Unit test all RegionEquivalence options 2019-09-05 22:07:41 +02:00
Robin Gareus
772444d769
Unit-test update: honor FadeInAutomation parameter-range
Since 3d15499cda, 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.
2019-09-05 21:03:50 +02:00
Robin Gareus
531ab8015c
Exclude Lua Convovler from unit-test (fails because of missing IR) 2019-09-05 20:17:57 +02:00
Robin Gareus
7731f768a6
Strict Ctrl surface unit-test: check re-activate. 2019-09-05 19:32:51 +02:00
Robin Gareus
1d49696379
Reduce stdout/stderr clutter, prefer DEBUG_TRACE 2019-09-05 19:29:19 +02:00
Robin Gareus
9bb2f2bb69
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,..
2019-09-05 18:59:26 +02:00
Robin Gareus
22e5c1de0d
Ignore <ExtendingDeviceNames> midnam during unit-test
So far Ardour only supports midnam descriptions that specify a
<MasterDeviceNames> directly.
2019-09-05 17:45:58 +02:00
Robin Gareus
973ff10273
Fix paths to .midnam file 2019-09-05 17:42:19 +02:00
Robin Gareus
dfdce83452
New sessions are saved implicitly, remove explicit call 2019-09-05 17:01:19 +02:00
Robin Gareus
51b2e305c4
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()
2019-09-05 17:00:14 +02:00