Commit Graph

25869 Commits

Author SHA1 Message Date
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
c5c4cd0246 Fix importing tempo-maps for non-integer pulsed time-signatures 2017-10-30 22:24:21 +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
e9103051db Accommodate the change from libtimecode to libtemporal (gtk2_ardour) 2017-10-30 12:44:44 +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
bc18c54c73 Quick hack to test engine vari-speed (2/2) 2017-10-29 20:04:06 +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
997f70d9cb switch from std::auto_ptr<> (deprecated) to boost::scoped_ptr<> 2017-10-26 15:41:47 -04:00
1a8ac58c1a remove unused variables 2017-10-26 15:41:11 -04:00
5f60ff212d remove unused variable 2017-10-26 15:41:01 -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
17bb1db810 allow hardev to work again 2017-10-26 10:43:53 -04:00
e5851fff8b headless arval script 2017-10-26 10:37:53 -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