ardour.git
6 years agoWrap automation on loop-position, split plugin processing
Robin Gareus [Wed, 1 Nov 2017 14:46:23 +0000 (15:46 +0100)]
Wrap automation on loop-position, split plugin processing

6 years agoClick-free polarity inversion, also use accelerated (AVX, SSE) Amp
Robin Gareus [Tue, 31 Oct 2017 21:21:12 +0000 (22:21 +0100)]
Click-free polarity inversion, also use accelerated (AVX, SSE) Amp

6 years agoFix samples-moved (and invalid use of not initialized CubicInterpolation)
Robin Gareus [Tue, 31 Oct 2017 21:01:46 +0000 (22:01 +0100)]
Fix samples-moved (and invalid use of not initialized CubicInterpolation)

6 years agoInterpolation phase[] is initially empty
Robin Gareus [Tue, 31 Oct 2017 21:01:04 +0000 (22:01 +0100)]
Interpolation phase[] is initially empty

6 years agoFix set_loop() return value (amend 00a4ad)
Robin Gareus [Tue, 31 Oct 2017 21:00:22 +0000 (22:00 +0100)]
Fix set_loop() return value (amend 00a4ad)

6 years agoRelax assertion to allow rolling backwards into 0.
Robin Gareus [Tue, 31 Oct 2017 18:54:08 +0000 (19:54 +0100)]
Relax assertion to allow rolling backwards into 0.

6 years agoMove Loop Location to Processors
Robin Gareus [Tue, 31 Oct 2017 17:32:26 +0000 (18:32 +0100)]
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.

6 years agoFix NSM for distro-builds (waf install)
Robin Gareus [Tue, 31 Oct 2017 14:26:29 +0000 (15:26 +0100)]
Fix NSM for distro-builds (waf install)

6 years agoSmall steps towards rolling backwards..
Robin Gareus [Tue, 31 Oct 2017 02:51:08 +0000 (03:51 +0100)]
Small steps towards rolling backwards..

6 years agoMigrate to Polarity-inversion processor & fix proc positions
Robin Gareus [Tue, 31 Oct 2017 02:18:59 +0000 (03:18 +0100)]
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)

6 years agoAdd polarity-invert processor
Robin Gareus [Tue, 31 Oct 2017 02:15:43 +0000 (03:15 +0100)]
Add polarity-invert processor

6 years agoFix importing tempo-maps for non-integer pulsed time-signatures
Robin Gareus [Mon, 30 Oct 2017 21:24:21 +0000 (22:24 +0100)]
Fix importing tempo-maps for non-integer pulsed time-signatures

6 years agoUse new externally_connected API
Robin Gareus [Mon, 30 Oct 2017 18:43:32 +0000 (19:43 +0100)]
Use new externally_connected API

6 years agoNO-OP: whitespace
Robin Gareus [Mon, 30 Oct 2017 18:43:18 +0000 (19:43 +0100)]
NO-OP: whitespace

6 years agoAdd & implement PortEngine::externally_connected() API
Robin Gareus [Mon, 30 Oct 2017 18:41:42 +0000 (19:41 +0100)]
Add & implement PortEngine::externally_connected() API

6 years agoAdd missing header (-Wmissing-prototypes)
Robin Gareus [Mon, 30 Oct 2017 18:39:42 +0000 (19:39 +0100)]
Add missing header (-Wmissing-prototypes)

6 years agoAdd weak linked symbol for "jack_port_is_mine"
Robin Gareus [Mon, 30 Oct 2017 18:39:10 +0000 (19:39 +0100)]
Add weak linked symbol for "jack_port_is_mine"

6 years agoFix fade-out at quit.
Robin Gareus [Mon, 30 Oct 2017 16:27:13 +0000 (17:27 +0100)]
Fix fade-out at quit.

6 years agoAlways optimize zita-resampler, nothing to debug here
Robin Gareus [Mon, 30 Oct 2017 15:28:24 +0000 (16:28 +0100)]
Always optimize zita-resampler, nothing to debug here

6 years agoremove non rt-safe debug messages
Robin Gareus [Mon, 30 Oct 2017 15:23:21 +0000 (16:23 +0100)]
remove non rt-safe debug messages

6 years agoParallel execution of cycle-start/end
Robin Gareus [Mon, 30 Oct 2017 14:58:36 +0000 (15:58 +0100)]
Parallel execution of cycle-start/end

6 years agoAdd a RT-Tasklist
Robin Gareus [Mon, 30 Oct 2017 04:52:18 +0000 (05:52 +0100)]
Add a RT-Tasklist

6 years agoMove coreaudio_set_realtime_policy into libpbd
Robin Gareus [Mon, 30 Oct 2017 14:57:39 +0000 (15:57 +0100)]
Move coreaudio_set_realtime_policy into libpbd

6 years agoAdd MSVC support for building the 'zita-resampler' library (which is now needed by...
John Emmas [Mon, 30 Oct 2017 13:55:51 +0000 (13:55 +0000)]
Add MSVC support for building the 'zita-resampler' library (which is now needed by libardour)

6 years agoAccommodate the change from libtimecode to libtemporal (gtk2_ardour)
John Emmas [Mon, 30 Oct 2017 12:44:44 +0000 (12:44 +0000)]
Accommodate the change from libtimecode to libtemporal (gtk2_ardour)

6 years agoAccommodate the change from libtimecode to libtemporal
John Emmas [Mon, 30 Oct 2017 11:01:19 +0000 (11:01 +0000)]
Accommodate the change from libtimecode to libtemporal

6 years agoRemove unused per-port buffer offset
Robin Gareus [Sun, 29 Oct 2017 17:44:06 +0000 (18:44 +0100)]
Remove unused per-port buffer offset

6 years agoNO-OP: whitespace
Robin Gareus [Sun, 29 Oct 2017 17:36:32 +0000 (18:36 +0100)]
NO-OP: whitespace

6 years agoQuick hack to test engine vari-speed (2/2)
Robin Gareus [Sun, 29 Oct 2017 17:32:27 +0000 (18:32 +0100)]
Quick hack to test engine vari-speed (2/2)

6 years agoQuick hack to test engine vari-speed (1/2)
Robin Gareus [Sun, 29 Oct 2017 17:32:17 +0000 (18:32 +0100)]
Quick hack to test engine vari-speed (1/2)

6 years agoMove vari-speed into backend (resample ports)
Robin Gareus [Sun, 29 Oct 2017 17:30:18 +0000 (18:30 +0100)]
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.

6 years agoAdd a dedicated mono variable resampler version
Robin Gareus [Sun, 29 Oct 2017 14:06:40 +0000 (15:06 +0100)]
Add a dedicated mono variable resampler version

6 years agoFix/update alsa backend build recipe (statically link zresampler)
Robin Gareus [Sun, 29 Oct 2017 19:03:24 +0000 (20:03 +0100)]
Fix/update alsa backend build recipe (statically link zresampler)

6 years agoUpdate Lua Bindings, fix inconsistencies.
Robin Gareus [Sun, 29 Oct 2017 17:32:49 +0000 (18:32 +0100)]
Update Lua Bindings, fix inconsistencies.

6 years agoRevert "relax zita-resampler's relative ratio"
Robin Gareus [Sun, 29 Oct 2017 16:55:57 +0000 (17:55 +0100)]
Revert "relax zita-resampler's relative ratio"

This reverts commit d1b5a9ed3deb3045971bd16f6613ef328e49b7e8.

6 years agoFix loading sessions w/new tempo-map.
Robin Gareus [Sat, 28 Oct 2017 13:44:39 +0000 (15:44 +0200)]
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).

6 years agoFix initial cycle noise with dummy-loopback
Robin Gareus [Sat, 28 Oct 2017 13:35:58 +0000 (15:35 +0200)]
Fix initial cycle noise with dummy-loopback

6 years agorelax zita-resampler's relative ratio
Robin Gareus [Tue, 3 Oct 2017 16:02:35 +0000 (18:02 +0200)]
relax zita-resampler's relative ratio

6 years agoAccommodate newly added/removed source(s) in our MSVC project (libpbd)
John Emmas [Fri, 27 Oct 2017 12:08:32 +0000 (13:08 +0100)]
Accommodate newly added/removed source(s) in our MSVC project (libpbd)

6 years agoAdd a RAII SpinLock (using boost's spinlock)
Robin Gareus [Thu, 26 Oct 2017 20:33:11 +0000 (22:33 +0200)]
Add a RAII SpinLock (using boost's spinlock)

6 years agoNO-OP: whitespace cleanup
Paul Davis [Thu, 26 Oct 2017 19:46:00 +0000 (15:46 -0400)]
NO-OP: whitespace cleanup

6 years agomove mixbus-only variable declaration
Paul Davis [Thu, 26 Oct 2017 19:45:16 +0000 (15:45 -0400)]
move mixbus-only variable declaration

6 years agoremove unused variable
Paul Davis [Thu, 26 Oct 2017 19:44:32 +0000 (15:44 -0400)]
remove unused variable

6 years agofix preprocessor error on some/many systems
Paul Davis [Thu, 26 Oct 2017 19:44:09 +0000 (15:44 -0400)]
fix preprocessor error on some/many systems

6 years agoswitch from std::auto_ptr<> (deprecated) to boost::scoped_ptr<>
Paul Davis [Thu, 26 Oct 2017 19:43:49 +0000 (15:43 -0400)]
switch from std::auto_ptr<> (deprecated) to boost::scoped_ptr<>

6 years agoremove unused variable
Paul Davis [Thu, 26 Oct 2017 19:43:31 +0000 (15:43 -0400)]
remove unused variable

6 years agoswitch from std::auto_ptr<> (deprecated) to boost::scoped_ptr<>
Paul Davis [Thu, 26 Oct 2017 19:43:08 +0000 (15:43 -0400)]
switch from std::auto_ptr<> (deprecated) to boost::scoped_ptr<>

6 years agoswitch from std::auto_ptr<> (deprecated) to boost::scoped_ptr<>
Paul Davis [Thu, 26 Oct 2017 19:41:47 +0000 (15:41 -0400)]
switch from std::auto_ptr<> (deprecated) to boost::scoped_ptr<>

6 years agoremove unused variables
Paul Davis [Thu, 26 Oct 2017 19:41:11 +0000 (15:41 -0400)]
remove unused variables

6 years agoremove unused variable
Paul Davis [Thu, 26 Oct 2017 19:41:01 +0000 (15:41 -0400)]
remove unused variable

6 years agooptimization for track with zero audio channels should not short-circuit MIDI disk...
Paul Davis [Thu, 26 Oct 2017 19:15:05 +0000 (15:15 -0400)]
optimization for track with zero audio channels should not short-circuit MIDI disk reading

6 years agoremove unnecessary calls
Paul Davis [Thu, 26 Oct 2017 14:46:42 +0000 (10:46 -0400)]
remove unnecessary calls

6 years agoallow hardev to work again
Paul Davis [Thu, 26 Oct 2017 14:43:53 +0000 (10:43 -0400)]
allow hardev to work again

6 years agoheadless arval script
Paul Davis [Tue, 24 Oct 2017 22:08:40 +0000 (18:08 -0400)]
headless arval script

6 years agoOSC: fix mixed types keeps from building on server
Len Ovens [Thu, 26 Oct 2017 06:00:41 +0000 (23:00 -0700)]
OSC: fix mixed types keeps from building on server

6 years agoOSC: Provide click level control
Len Ovens [Thu, 26 Oct 2017 04:55:02 +0000 (21:55 -0700)]
OSC: Provide click level control

6 years agoOSC: add feedback for punch in/out, click and click level
Len Ovens [Thu, 26 Oct 2017 04:22:59 +0000 (21:22 -0700)]
OSC: add feedback for punch in/out, click and click level

6 years agoOSC: add feedback for toggle_roll
Len Ovens [Wed, 25 Oct 2017 19:32:32 +0000 (12:32 -0700)]
OSC: add feedback for toggle_roll

6 years agoOSC: fix monitor input/disk buttons so both can be on
Len Ovens [Wed, 25 Oct 2017 15:34:02 +0000 (08:34 -0700)]
OSC: fix monitor input/disk buttons so both can be on

6 years agoOSC: fix /strip/receives to have the original ssid like /strip/sends
Len Ovens [Wed, 25 Oct 2017 03:50:22 +0000 (20:50 -0700)]
OSC: fix /strip/receives to have the original ssid like /strip/sends

6 years agoOSC: fix refresh surface
Len Ovens [Wed, 25 Oct 2017 03:34:40 +0000 (20:34 -0700)]
OSC: fix refresh surface

6 years agoOSC: remove duplicate code.
Len Ovens [Wed, 25 Oct 2017 00:28:35 +0000 (17:28 -0700)]
OSC: remove duplicate code.

6 years agoOSC: cleaned up select
Len Ovens [Tue, 24 Oct 2017 20:30:55 +0000 (13:30 -0700)]
OSC: cleaned up select

6 years agoOSC: fix add and remove tracks to update without bank change.
Len Ovens [Tue, 24 Oct 2017 19:44:09 +0000 (12:44 -0700)]
OSC: fix add and remove tracks to update without bank change.

6 years agolv2 compat for liblilv < 1.10.0
Robin Gareus [Mon, 23 Oct 2017 17:21:04 +0000 (19:21 +0200)]
lv2 compat for liblilv < 1.10.0

6 years agoOSC: fix various crash points
Len Ovens [Mon, 23 Oct 2017 04:21:57 +0000 (21:21 -0700)]
OSC: fix various crash points

6 years agoUpdate rc_option_editor.cc
Olivier Humbert [Sun, 22 Oct 2017 21:59:00 +0000 (23:59 +0200)]
Update rc_option_editor.cc

6 years agoDetected boost using a compile-time check (works w/x-compile)
Robin Gareus [Sat, 21 Oct 2017 15:27:44 +0000 (17:27 +0200)]
Detected boost using a compile-time check (works w/x-compile)

6 years agoTweak 842d758e: selection & move into view
Robin Gareus [Sat, 21 Oct 2017 15:27:03 +0000 (17:27 +0200)]
Tweak 842d758e: selection & move into view

Use separate editor + mixer flags for moving selected tracks into view.
Changing selection in the Editor will only pan the mixer-view and vice-
versa. This fixes an issue with the track that is being clicked-on to
be moved out of view (due to groups)

6 years ago'Route::tape_drive_controllable()' needs to return something
John Emmas [Sat, 21 Oct 2017 10:23:05 +0000 (11:23 +0100)]
'Route::tape_drive_controllable()' needs to return something

6 years agoDon't move track into view due to indirect selection
Robin Gareus [Fri, 20 Oct 2017 17:08:48 +0000 (19:08 +0200)]
Don't move track into view due to indirect selection

This fixes an issue with grouped tracks, starting a [range] selection
on the bottom-most. Due to group-selection all tracks in the group
are selected. Previously this vertically-scrolled to move the
top-most into view, which could move the bottom-most out of view.

6 years agoDon't offer possible recursive VCA assignments in the GUI
Robin Gareus [Fri, 20 Oct 2017 00:54:06 +0000 (02:54 +0200)]
Don't offer possible recursive VCA assignments in the GUI

6 years agoAdd example script to assign VCAs
Robin Gareus [Fri, 20 Oct 2017 00:45:50 +0000 (02:45 +0200)]
Add example script to assign VCAs

6 years agoAdd Lua bindings for new VCA/Slavable API
Robin Gareus [Fri, 20 Oct 2017 00:18:16 +0000 (02:18 +0200)]
Add Lua bindings for new VCA/Slavable API

6 years agoPrevent recursive VCA assignments
Robin Gareus [Fri, 20 Oct 2017 00:13:23 +0000 (02:13 +0200)]
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

6 years agoRemove not implemented API
Robin Gareus [Thu, 19 Oct 2017 23:34:30 +0000 (01:34 +0200)]
Remove not implemented API

6 years agoLua: Fix Slavable & Automatable inheritance
Robin Gareus [Thu, 19 Oct 2017 22:40:37 +0000 (00:40 +0200)]
Lua: Fix Slavable & Automatable inheritance

This allows to cast VCAs into Slavables.

6 years agoUS2400: Mark controls dirty and send them from the periodic update thread.
Ben Loftis [Thu, 19 Oct 2017 16:53:08 +0000 (11:53 -0500)]
US2400: Mark controls dirty and send them from the periodic update thread.

6 years agoUS2400: allow selecting the master bus. LED does not respond, though :(
Ben Loftis [Tue, 17 Oct 2017 18:27:08 +0000 (13:27 -0500)]
US2400:  allow selecting the master bus. LED does not respond, though  :(

6 years agoUS2400: explicitly toggle switch state in some cases where everything should reset.
Ben Loftis [Tue, 17 Oct 2017 14:20:18 +0000 (09:20 -0500)]
US2400: explicitly toggle switch state in some cases where everything should reset.

6 years agoUS2400: map knobs for mixbus strips, when selected.
Ben Loftis [Sun, 15 Oct 2017 23:13:28 +0000 (18:13 -0500)]
US2400: map knobs for mixbus strips, when selected.

6 years agoOSC: Cue observer simplified.
Len Ovens [Thu, 19 Oct 2017 15:46:55 +0000 (08:46 -0700)]
OSC: Cue observer simplified.

6 years agoOSC: remove unused function.
Len Ovens [Wed, 18 Oct 2017 22:29:52 +0000 (15:29 -0700)]
OSC: remove unused function.

6 years agoFP8: unhardcode IDs and strip-count
Robin Gareus [Thu, 19 Oct 2017 14:57:12 +0000 (16:57 +0200)]
FP8: unhardcode IDs and strip-count

6 years agoUpdate GUI, use filename-extensions
Robin Gareus [Wed, 18 Oct 2017 17:24:54 +0000 (19:24 +0200)]
Update GUI, use filename-extensions

6 years agoConsolidate session + template file extensions
Robin Gareus [Wed, 18 Oct 2017 17:22:23 +0000 (19:22 +0200)]
Consolidate session + template file extensions

6 years agoFix g_stat() for 64bit windows/mingw64
Robin Gareus [Wed, 18 Oct 2017 15:53:02 +0000 (17:53 +0200)]
Fix g_stat() for 64bit windows/mingw64

6 years agoSave <UI> state for plugins only.
Robin Gareus [Sat, 14 Oct 2017 15:00:45 +0000 (17:00 +0200)]
Save <UI> state for plugins only.

Only PluginInserts have UIs and PinMgs and unique IDs.
Other processors  may not be saved explicitly, [re-]created
dynamically, change ID (eg. capturing processor) and clutter up
the list.

TODO: removing a processor should also remove its UI state.

6 years agoOSC: Move observers to surface based for less traffic.
Len Ovens [Tue, 17 Oct 2017 21:56:44 +0000 (14:56 -0700)]
OSC: Move observers to surface based for less traffic.

6 years agoeditor_pt_import: Process wav indexes once only
Damien Zammit [Sun, 15 Oct 2017 06:16:27 +0000 (17:16 +1100)]
editor_pt_import: Process wav indexes once only

6 years agoUpdate ptformat to upstream 72bd66b
Damien Zammit [Sun, 15 Oct 2017 06:12:38 +0000 (17:12 +1100)]
Update ptformat to upstream 72bd66b

- Fix a wrong assumption in the xor code
- Find start of wav list more consistently
- Fix long long constants

6 years agoOSC: fix crash for wrong number of parameters in set_surface
Len Ovens [Thu, 12 Oct 2017 20:18:21 +0000 (13:18 -0700)]
OSC: fix crash for wrong number of parameters in set_surface

6 years agoFix pre-roll cycle-split
Robin Gareus [Wed, 11 Oct 2017 23:49:05 +0000 (01:49 +0200)]
Fix pre-roll cycle-split

previously this worked as long as the cycle was only
needed to be split once.

6 years agoadd missing lock (for audition + mon section)
Robin Gareus [Tue, 10 Oct 2017 20:12:37 +0000 (22:12 +0200)]
add missing lock (for audition + mon section)

6 years agoOSC clean up route observer
Len Ovens [Sun, 8 Oct 2017 03:23:34 +0000 (20:23 -0700)]
OSC clean up route observer

6 years agoFor 'Route::send_pan_azi_controllable()' (when building non-Mixbus) I'm assuming...
John Emmas [Sat, 7 Oct 2017 09:11:12 +0000 (10:11 +0100)]
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()')

6 years agoUS2400: add us2400 files to repository.
Ben Loftis [Thu, 5 Oct 2017 15:54:46 +0000 (10:54 -0500)]
US2400: add us2400 files to repository.

6 years agoUS2400: add us2400 to surfaces path, in ardev
Ben Loftis [Thu, 5 Oct 2017 15:47:32 +0000 (10:47 -0500)]
US2400: add us2400 to surfaces path, in ardev

6 years agoUS2400: add us2400 to surfaces.
Ben Loftis [Thu, 5 Oct 2017 15:03:09 +0000 (10:03 -0500)]
US2400: add us2400 to surfaces.

6 years agoUS2400: send_pan_azimuth lookup function (currently mb-only)
Ben Loftis [Thu, 5 Oct 2017 14:59:03 +0000 (09:59 -0500)]
US2400: send_pan_azimuth lookup function (currently mb-only)