26a59261fe
Fix FP16 fader-touch release for faders 9..16
2017-12-13 23:11:37 +01:00
ae0dd7c209
Fix FP16 select button 10..16
2017-12-13 21:59:22 +01:00
508f23c4d0
Add FP17 to reserved I/O names
2017-12-12 14:13:34 +01:00
bac627d0be
Add FP16 control-surface
2017-12-12 14:10:07 +01:00
7671a0f675
Namespace FP8, FP16 to avoid symbol conflicts
2017-12-12 14:09:40 +01:00
e3340cdf01
Prepare for FaderPort16 (ctrl-protocol)
2017-12-12 14:08:45 +01:00
b117910c29
Fix a -Wreorder
2017-12-12 00:24:00 +01:00
16a9878f22
more NO-OP, comment and whitespace
2017-12-12 00:19:36 +01:00
23a4030159
US-2400: ignore joystick moves until the user clicks the joystick NULL button.
2017-12-11 10:51:33 -06:00
561c8eea0c
Prototype to allow embedding sysex in midi-map
2017-12-06 16:33:58 +01:00
ab5be61f51
Accommodate newly added/removed source(s) in our MSVC project (libardour)
2017-12-06 10:51:53 +00:00
4a66edd480
Add Lua bindings for MIDI-parser and Async ports
2017-12-05 16:09:49 +01:00
332a7e56ca
Increase ALSA max MIDI msg size to 128 bytes (same as OSX) for long sysex
2017-12-05 16:09:46 +01:00
4cab03887c
Add a Raw MIDI parser (based on ALSA raw MIDI)
2017-12-05 16:09:42 +01:00
bb5345614d
Allow to pre-seed Lua action script params
2017-12-05 01:55:38 +01:00
d5e1f536a7
Allow to pass interpreter to evaluate action-script parameters
...
This allows to add bindings, in particular GUI dialog, to be registered
before evaluating the parameters.
2017-12-05 01:55:38 +01:00
2c4a8d2d25
OSC: Add custom bank creation and use
2017-12-02 08:18:53 -08:00
9aab9bc229
A couple of minor changes when #including <utime.h>
2017-12-02 11:46:20 +00:00
1dd52464aa
Add some devices to the reserved list of midi controllers.
2017-11-30 09:13:06 -06:00
c91a7c4263
Fix Windows builds (amend a3ec16)
...
Since scanner.cc defines NO_OLDNAMES, utime.h needs to be included
first.
2017-11-29 18:53:06 +01:00
a3ec164450
Set VST cache file mtime to be at least as new as the plugin
...
Fixes issues with timezones when installing pluins from a .zip
2017-11-29 15:08:25 +01:00
d1183770de
ArdourButton: ignore double+tripple clicks
2017-11-29 12:06:42 +01:00
5fd723b1f0
Update LuaProc GC stat calc
2017-11-29 12:06:42 +01:00
77d16999b5
Tweak Lua GC
2017-11-29 12:06:42 +01:00
44cf448839
update to lua-5.3.4
2017-11-29 12:06:42 +01:00
06ea56a2ce
OSC: add /select/plugin/activate cause some add deactivated
...
And clean up plugin code as well
2017-11-28 12:33:20 -08:00
3856d525fb
Fix "open folder" for non-ASCII paths on Windows
2017-11-27 00:42:55 +01:00
7a7fc60a8d
Remove unused API
2017-11-26 09:51:00 +01:00
e02952a26c
Sidechain latency compensation - part one
...
This properly sets the port-latencies of PluginInsert owned ports as well
as handles external sends (send-target playback latency).
NB. This needs more work to ensure that Sidechain input port playback
latency is set before the feeding send queries it the connected latency.
Re-ordering process may change sidechain or external-send latencies,
but since re-ordering does not change the route's latency,
engine.update_latency() may not be called.
2017-11-26 09:51:00 +01:00
f149fd2653
Add convenience methods to set port latencies
2017-11-26 09:51:00 +01:00
da467cf39b
OSC: Only send new select send values
...
no clear first, no double send
2017-11-23 12:04:54 -08:00
155156cfb2
OSC personal monitor fix off by one bug.
2017-11-23 12:04:54 -08:00
07f940016c
fix call to std::unique; to actually erase dups.
2017-11-23 10:23:54 +01:00
1a46ee716d
remove useless test, fgets() already ensures MAX_STRING_LEN
...
Found by PVS-Studio - https://www.viva64.com/en/b/0540/
2017-11-23 09:56:57 +01:00
2fec64f0bd
Fix another duplicate if from session/system config consolidation
...
Found by PVS-Studio - https://www.viva64.com/en/b/0540/
2017-11-23 09:53:50 +01:00
7d4353dddc
Fix typo in 318e7efb
2017-11-23 00:13:46 +01:00
1be2790cac
Add clock-delta mode enum
2017-11-23 00:12:00 +01:00
e275154a40
Introduce a dedicated "Clock Origin" Marker
2017-11-23 00:11:55 +01:00
318e7efb9e
Release (debug) lock before emitting signal
2017-11-22 18:12:29 +01:00
18306f3d37
OSC: only reset cue sends that do not have a new send
2017-11-13 17:19:09 -08:00
a6205cef40
OSC: /cue/previous_aux should always refresh
2017-11-13 17:19:09 -08:00
2d85eceb0e
OSC: cue buttons can accept float or int
2017-11-13 17:19:09 -08:00
e6f2d77605
Add API to allow buffer offsets when applying gain
2017-11-12 00:22:34 +01:00
93e32af9f4
Add a noise generator (Lua DSP)
2017-11-12 00:22:34 +01:00
52aa9bf848
a-comp: Fix typo with previous patch
2017-11-12 00:16:44 +11:00
f3efff4c7e
a-comp: Fix noise floor - asymptotics
2017-11-11 14:26:50 +11:00
69603bb76e
OSC link: make whole link set follow strip_types
...
strip should not run periodic when blank - crash fix
2017-11-10 08:38:08 -08:00
634c620b07
OSC: set_surface sets linkset, linkid
...
/set_surface/* deals with linked surfaces
2017-11-08 09:36:32 -08:00
3a2c481b96
OSC: catch bad commands on /cue/* created crash on exit
2017-11-07 20:18:59 -08:00
4c58ada24b
Fix a-reverb bypass/enable
2017-11-08 01:38:17 +01:00
ba383b4726
OSC link: Clean up link not ready and surface refresh
2017-11-07 09:31:14 -08:00
bb8d65c528
OSC link: make selection work correctly
2017-11-06 13:38:18 -08:00
77a94e1015
Optimize zresampler for no re-sampling case.
2017-11-06 00:13:14 +01:00
4cdd3f5df6
Some further notes (and experiments) on optimizations
2017-11-06 00:12:32 +01:00
da4cea0526
Add some notes for future optimizations (and prepare API)
2017-11-04 17:11:10 +01:00
8366fbaa62
Change Delayline to use power-of-two size and bitmasking
2017-11-04 16:39:08 +01:00
06abdee652
[Re]-Implement Delayline flush.
...
Also don't automatically flush the delayline at transport or monitor-
changes anymore.
With full-graph latency compensation, delaylines are before the
disk-reader, aligning input (disk uses read-ahead to align).
Flushing the delayline should only happen when input-monitoring
is disengaged. It's best degated to the Route or object using the
Delayline (potentially latency-aligned delayed flush).
2017-11-04 16:24:09 +01:00
d26ad5573c
Optimize Delaylines: block-process (not one sample at a time)
...
This also tweaks fade behavior when the latency changes to prefer a
x-fade when possible.
This new variant does not support concurrent re-allocation and
execution. Hence the auto-connect thread needs to take a lock before
updating latencies (actually there's no need for an explicit update with
built-in backends, so this case remains to be updated further)
2017-11-04 07:14:12 +01:00
5fdd6ca21e
Clean up delayline API: don't use 'get_' for accessor method-name
2017-11-04 07:14:12 +01:00
3eee4fe8a5
OSC link: first working commit for linking two surfaces as one
2017-11-03 14:04:52 -07:00
edff34a59b
Auditioner, silence buffer at end.
2017-11-03 04:26:33 +01:00
c63f7f775d
Don't crash when auditioning empty .mid files.
2017-11-03 04:14:23 +01:00
0c041dc372
Fix polarity-control size (and crash during audition)
...
Also initialize new polarity-invert with gain 1.0, not inverted.
Don't fade-in.
2017-11-03 03:06:22 +01:00
f7bca32ab1
Accommodate newly added/removed source(s) in our MSVC project (libardour)
2017-11-02 10:16:24 +00:00
c291cb64b1
Wrap automation on loop-position, split plugin processing
2017-11-01 15:46:23 +01:00
c411e05b6f
Click-free polarity inversion, also use accelerated (AVX, SSE) Amp
2017-10-31 22:21:12 +01:00
466cbecaba
Fix samples-moved (and invalid use of not initialized CubicInterpolation)
2017-10-31 22:01:46 +01:00
f5c5adee6a
Interpolation phase[] is initially empty
2017-10-31 22:01:04 +01:00
79b1275b7c
Fix set_loop() return value (amend 00a4ad)
2017-10-31 22:00:22 +01:00
8cf323c15d
Relax assertion to allow rolling backwards into 0.
2017-10-31 19:54:08 +01:00
00a4ad712c
Move Loop Location to Processors
...
The processors will becomes responsible to know about loop-positions
and map latency-compensated start_sample, end_sample into the loop-range
as needed.
2017-10-31 18:32:26 +01:00
3b785b9d35
Small steps towards rolling backwards..
2017-10-31 03:51:08 +01:00
9a2433eacf
Migrate to Polarity-inversion processor & fix proc positions
...
* invert polarity after disk i/o proc or return
* fix position of export-proc (after polarity)
* fix input-meter (before disk-writer or after return)
2017-10-31 03:18:59 +01:00
539560bcac
Add polarity-invert processor
2017-10-31 03:15:43 +01:00
ea8d089e3c
Use new externally_connected API
2017-10-30 19:43:32 +01:00
9fd972c920
NO-OP: whitespace
2017-10-30 19:43:18 +01:00
94e2bce740
Add & implement PortEngine::externally_connected() API
2017-10-30 19:41:42 +01:00
16b4535281
Add missing header (-Wmissing-prototypes)
2017-10-30 19:39:42 +01:00
7adb1297cd
Add weak linked symbol for "jack_port_is_mine"
2017-10-30 19:39:10 +01:00
b54db1cab7
Fix fade-out at quit.
2017-10-30 17:27:13 +01:00
d6e96a688d
Always optimize zita-resampler, nothing to debug here
2017-10-30 16:31:38 +01:00
ea64e46594
remove non rt-safe debug messages
2017-10-30 16:31:38 +01:00
471644c59d
Parallel execution of cycle-start/end
2017-10-30 16:31:38 +01:00
fba0fce441
Add a RT-Tasklist
2017-10-30 16:31:38 +01:00
c0dbe8eaaf
Move coreaudio_set_realtime_policy into libpbd
2017-10-30 16:31:38 +01:00
fee03dc467
Add MSVC support for building the 'zita-resampler' library (which is now needed by libardour)
2017-10-30 13:55:51 +00:00
9fbdfaf5a9
Accommodate the change from libtimecode to libtemporal
2017-10-30 11:01:19 +00:00
db674ac8b6
Remove unused per-port buffer offset
2017-10-29 20:04:11 +01:00
4f03b7c101
NO-OP: whitespace
2017-10-29 20:04:09 +01:00
6e11844889
Quick hack to test engine vari-speed (1/2)
2017-10-29 20:04:03 +01:00
927788a0b0
Move vari-speed into backend (resample ports)
...
Previously Ardour used a /local/ per track vari-speed mechanism.
Now that the disk-reader is a latency-compensated processor, the speed
of each disk-reader would need to be maintained locally, offset by each
disk-reader's output latency. Furthermore each disk-reader may
produce a different number of samples, depending on its global alignment.
This commit introduces port-data resampling directly at the engine-level:
Up/down-sample all input ports at the beginning, and down/up-sample output
port-data using the inverse ratio at the end of the session's process
cycle.
The session itself is unaware of the speed-change, and only needs to
handle transport speeds {-1, 0, +1}.
This also allows for aligned cue-monitoring and vari-speed recording,
and also pitch-shifts synthesized MIDI along.
2017-10-29 20:04:00 +01:00
7fb3c3e137
Add a dedicated mono variable resampler version
2017-10-29 20:03:55 +01:00
c0f27be59e
Fix/update alsa backend build recipe (statically link zresampler)
2017-10-29 20:03:51 +01:00
47c97ca7e2
Update Lua Bindings, fix inconsistencies.
2017-10-29 20:01:19 +01:00
7b98ea911d
Revert "relax zita-resampler's relative ratio"
...
This reverts commit d1b5a9ed3d
.
2017-10-29 17:55:57 +01:00
e6c8f104d1
Fix loading sessions w/new tempo-map.
...
Newly constructed sessions don't save "Tempo-start" property.
If there's no "start" node, _legacy_bbt is never explicitly set and
the default c'tor is used, which sets bar = 1.
The test for legacy session checks bar != 0.
All new sessions were processed with fix_legacy_session(), which breaks
the tempo-map and makes the session not loadable (duplicate Tempo).
2017-10-28 15:45:08 +02:00
7512692e79
Fix initial cycle noise with dummy-loopback
2017-10-28 15:45:08 +02:00
d1b5a9ed3d
relax zita-resampler's relative ratio
2017-10-28 15:45:08 +02:00
6e017eff22
Accommodate newly added/removed source(s) in our MSVC project (libpbd)
2017-10-27 13:08:32 +01:00
1aa96dc0a1
Add a RAII SpinLock (using boost's spinlock)
2017-10-26 22:33:46 +02:00
eeb148bb61
NO-OP: whitespace cleanup
2017-10-26 15:46:00 -04:00
155f48fc7c
move mixbus-only variable declaration
2017-10-26 15:45:16 -04:00
3161ccee43
remove unused variable
2017-10-26 15:44:32 -04:00
79374df84e
fix preprocessor error on some/many systems
2017-10-26 15:44:09 -04:00
ceecbf2f4f
switch from std::auto_ptr<> (deprecated) to boost::scoped_ptr<>
2017-10-26 15:43:49 -04:00
8a0839f332
remove unused variable
2017-10-26 15:43:31 -04:00
4250940ad8
switch from std::auto_ptr<> (deprecated) to boost::scoped_ptr<>
2017-10-26 15:43:08 -04:00
33af0b0d3d
optimization for track with zero audio channels should not short-circuit MIDI disk reading
2017-10-26 15:15:05 -04:00
ea0807d4aa
remove unnecessary calls
2017-10-26 10:46:42 -04:00
33c9772fda
OSC: fix mixed types keeps from building on server
2017-10-25 23:00:41 -07:00
27c8c82076
OSC: Provide click level control
2017-10-25 21:56:29 -07:00
a2965f585a
OSC: add feedback for punch in/out, click and click level
2017-10-25 21:56:29 -07:00
aba52ad8a2
OSC: add feedback for toggle_roll
2017-10-25 21:56:29 -07:00
8f13a0a13b
OSC: fix monitor input/disk buttons so both can be on
2017-10-25 08:34:02 -07:00
ea1f0ba825
OSC: fix /strip/receives to have the original ssid like /strip/sends
2017-10-24 20:50:22 -07:00
e28a080651
OSC: fix refresh surface
2017-10-24 20:34:40 -07:00
da4454751d
OSC: remove duplicate code.
2017-10-24 17:28:35 -07:00
a546003457
OSC: cleaned up select
2017-10-24 13:30:55 -07:00
7aacd5d71a
OSC: fix add and remove tracks to update without bank change.
2017-10-24 12:44:09 -07:00
d6a3db1ac7
lv2 compat for liblilv < 1.10.0
2017-10-23 19:22:16 +02:00
de9ae19d8c
OSC: fix various crash points
2017-10-22 21:25:30 -07:00
63b6ab1101
'Route::tape_drive_controllable()' needs to return something
2017-10-21 11:23:05 +01:00
1f842cf994
Add Lua bindings for new VCA/Slavable API
2017-10-20 02:54:28 +02:00
5dc54c91c7
Prevent recursive VCA assignments
...
The GUI so far only prevents direct connections VCA 1 > VCA 2 > VCA 1,
but does not recurse VCA 1 > VCA 2 > VCA 3 > VCA 1
2017-10-20 02:54:28 +02:00
b83e011a40
Remove not implemented API
2017-10-20 02:54:28 +02:00
ade3ea190c
Lua: Fix Slavable & Automatable inheritance
...
This allows to cast VCAs into Slavables.
2017-10-20 02:54:28 +02:00
2a310e5f79
US2400: Mark controls dirty and send them from the periodic update thread.
2017-10-19 11:54:36 -05:00
ee09ae1c6b
US2400: allow selecting the master bus. LED does not respond, though :(
2017-10-19 11:53:55 -05:00
48c520a4ef
US2400: explicitly toggle switch state in some cases where everything should reset.
2017-10-19 11:53:55 -05:00
23c2b751aa
US2400: map knobs for mixbus strips, when selected.
2017-10-19 11:53:55 -05:00
618020424e
OSC: Cue observer simplified.
2017-10-19 08:48:25 -07:00
dabe7474b3
OSC: remove unused function.
2017-10-19 08:48:25 -07:00
f87e996013
FP8: unhardcode IDs and strip-count
2017-10-19 16:57:26 +02:00
706805e0ba
Consolidate session + template file extensions
2017-10-18 19:22:23 +02:00
5c6e2b5802
Fix g_stat() for 64bit windows/mingw64
2017-10-18 17:54:39 +02:00
4c1feac16e
OSC: Move observers to surface based for less traffic.
2017-10-17 14:57:47 -07:00
124092d139
Update ptformat to upstream 72bd66b
...
- Fix a wrong assumption in the xor code
- Find start of wav list more consistently
- Fix long long constants
2017-10-15 17:14:59 +11:00
f0f822feff
OSC: fix crash for wrong number of parameters in set_surface
2017-10-12 13:18:21 -07:00
5c24db2402
Fix pre-roll cycle-split
...
previously this worked as long as the cycle was only
needed to be split once.
2017-10-12 01:49:05 +02:00
47246c86e2
add missing lock (for audition + mon section)
2017-10-10 22:12:54 +02:00
514c43278b
OSC clean up route observer
2017-10-07 20:23:48 -07:00
ad226cf2bb
For 'Route::send_pan_azi_controllable()' (when building non-Mixbus) I'm assuming the intention was to return an empty object
...
(i.e. similar to 'Route::send_enable_controllable()')
2017-10-07 10:11:12 +01:00
2107d09454
US2400: add us2400 files to repository.
2017-10-05 10:55:45 -05:00
0e12c967ea
US2400: add us2400 to surfaces.
2017-10-05 10:03:09 -05:00
28d8f2f6b9
US2400: send_pan_azimuth lookup function (currently mb-only)
2017-10-05 09:59:03 -05:00
e156ec28bb
US2400: add debug bits
2017-10-05 09:55:32 -05:00
9c3983a7a5
Fix various edge-cases with session-archives
...
* prevent duplicate names when pulling-in external sources
* drop "origin" after including external sources
* don't include unused playlists
(they may reference sources that are not included)
* likewise exclude unused regions
2017-10-04 05:06:47 +02:00
e31f5d9998
Clean up State API:
...
* Processor implement get_state(), classes derived from Processor
implement protected ::state() -- as documented in processor.h
* likewise for Route, Track: make ::state() a protected interface
* removal of "full_state", use explicit "template_save"
* use RAII/Unwind to skip saving automation-state
2017-10-04 00:54:55 +02:00
5dd9acf9ab
Fix another hardcoded "tar.xz" -> ARDOUR::session_archive_suffix
2017-10-03 18:03:40 +02:00
0802a0872f
API change: expose session-archive compression-level
2017-10-03 02:24:16 +02:00