Paul Davis
5d41ab6983
add some session-scope configuration variables needed by Tracks.
...
Also add some comments regarding the presence of certain variables in this file
2015-06-29 14:18:14 -04:00
Paul Davis
8ac5ef15f0
add more directory names to set managed via various APIs (automation, analysis, plugins, externals)
2015-06-29 14:18:14 -04:00
GZharun
b33d1732a6
Fixed a misprint in a comment
2015-06-29 14:18:14 -04:00
Paul Davis
c2476ea73d
add API for controlling and determining active status of a SceneChange
...
Conflicts:
libs/ardour/ardour/scene_change.h
2015-06-29 14:18:14 -04:00
GZharun
51d2804535
Waves Backend MERGED from Tracks
...
[To be reviewed by] Paul Davis
2015-06-29 14:18:14 -04:00
GZharun
5d4f1c3419
Backend MERGE:
...
Paul Davis' change 3d12a4da82
[To be reviewed by] Paul Davis
2015-06-29 14:18:14 -04:00
GZharun
edbbc8344a
Reverted Ben's default buffer size function implementation.
...
Related to eeca7f7
2015-06-29 14:18:14 -04:00
GZharun
21b9e180bd
Reverted Ben's m_DefaultBufferSize stuff as it looks redundant. Will be put back if we establish the opposite
2015-06-29 14:18:14 -04:00
Paul Davis
6485300479
remove more explicit compiler flags by placing them in the compiler flags dictionary
2015-06-29 14:18:14 -04:00
Paul Davis
3adfa9ef57
minor fix for wavesaudio backend after earlier changes + merge/meld madness
2015-06-29 14:18:14 -04:00
Paul Davis
943394a49a
add PBD::DEBUG bits for WavesAudio and WavesMIDI
2015-06-29 14:18:14 -04:00
Greg Zharun
320da29922
[Summary] AudioPort buffer does not need 64 byte alignment which cache_aligned_malloc provides.
...
Added new function which accepts argument to specify required alignment.
AudioPort buffer requires 32 byte alignment
[Review Required] YPosdnyakov
2015-06-29 14:18:14 -04:00
Paul Davis
237f255fb5
meld-driven unification of current ardour-ish WavesAudio backend and current tracks WavesAudio backend.
...
May be incomplete, and may not compile (testing to follow)
2015-06-29 14:18:14 -04:00
GZharun
0fca07fa9d
cosmetic fix (grygorii)
2015-06-29 14:18:14 -04:00
Paul Davis
480f1e4082
noop: fix indentation/whitespace
2015-06-29 14:18:14 -04:00
Paul Davis
f34d870a2c
increase event pool for backend reset thread (somewhat unnecessarily, but lets keep Kyiv happy)
2015-06-29 14:18:14 -04:00
Paul Davis
2911bb9fb8
AudioEngine tweaks from Tracks, related to stopping audioengine and halting
2015-06-29 14:18:14 -04:00
Paul Davis
289078f7f8
merge in Tracks-derived session-end-is-N-seconds beyond last region end, but define N as zero for Ardour/Mixbus
2015-06-29 14:18:14 -04:00
Paul Davis
a9f3ca6a81
fix indentation and remove whitespace
2015-06-29 14:18:14 -04:00
Paul Davis
68aab0153c
rename Session::add_session_range_location() to ::set_session_range_location()
2015-06-29 14:18:14 -04:00
Paul Davis
440618bc85
enabling record (either tentative for punch or fully enabled) cancels play loop mode
2015-06-29 14:18:14 -04:00
Paul Davis
854ff8d886
implement missing methods for MIDISceneChange
2015-06-29 14:18:13 -04:00
Paul Davis
960cff790b
mark session dirty after scene change is added/removed
2015-06-29 14:18:13 -04:00
Paul Davis
a47cacfcc6
add signal to indicate absence of removal of scene change from Location
2015-06-29 14:18:13 -04:00
Paul Davis
8367b7cab3
remove artificial, accidental and utterly unintended limit of the numbering of scene changes
2015-06-29 14:18:13 -04:00
Paul Davis
706eb6dacd
add Tracks specific handling of MMC Record Strobe, since Tracks has no concept of punch
2015-06-29 14:18:13 -04:00
Paul Davis
682d8ae064
make sure we allocate large enough buffers when doing a non-butler context disk buffer refill.
...
The size of the buffer now needs to reflect that we calculate read
refills in bytes, and if we are not using 32 bit float sample format
on disk, that can translate into > 1M samples.
2015-06-29 14:18:13 -04:00
Paul Davis
3a65005a75
remove Tracks runtime conditional, incorrectly added during manual merging
2015-06-29 14:18:13 -04:00
Paul Davis
ab2e23db9a
follow various events related to playhead priority (loop changes, parameter changes); remove debug output
2015-06-29 14:18:13 -04:00
Robin Gareus
96078650c9
API to set tooltip y-margin
...
Conflicts:
libs/gtkmm2ext/gtkmm2ext/persistent_tooltip.h
libs/gtkmm2ext/persistent_tooltip.cc
2015-06-29 14:18:13 -04:00
Paul Davis
016beaab9b
give different Tracks + Ardour/Mixbus playhead priority functionality, and add missing set_track_loop() call for playhead priority
2015-06-29 14:18:13 -04:00
Paul Davis
30a698f42e
correct placement of buffering adjustments w.r.t Butler thread creation
2015-06-29 14:18:13 -04:00
GZharun
e52375aa40
[Summary] Moved session buffers adjustment during butler thread set up to the place we are ready to handle them.
2015-06-29 14:18:13 -04:00
GZharun
be92c927e8
[Summary] HOT FIX: Fixed crash which happens on an attempt to load a session with audio after preferences removal, when buffer preset is set to Medium.
...
[Details] It happened because ARDOUR::Butler::thread_work() was called before Buttler::map_parameters() method was called, which sets up the correct buffering parameters (set_buffering_parameters () call) according to chosen preset.
I've added this calls into Butler::start_thread () to make sure everything is set up and ready for use for Butler.
This is a hot fix, because it requires the review from Paul Davis, and probably more gentle solution. But it's possible this commit may become the main solution itself.
2015-06-29 14:18:13 -04:00
Paul Davis
6878742d9f
try to correctly set up build of AVX code for windows and linux, using compiler flags dictionary.
...
Adds use of 'pic' compiler flags dictionary item
2015-06-29 14:18:13 -04:00
Paul Davis
0d78359d29
meter computation must use absolute value of all samples (ignoring sign bit)
2015-06-29 14:18:13 -04:00
Paul Davis
8bb54f41c6
add windows-only AVX functions
2015-06-29 14:18:13 -04:00
Paul Davis
b938129589
Made optimized function Prototypes more correct.
...
They shouldn't be dependant on ARDOUR types as long as they will work correctly with float
samples only and with 32 unsigned int as sample counter.
2015-06-29 14:18:13 -04:00
Paul Davis
92df1594f9
Corrected comments for x86_sse_avx_find_peaks() intrinsics built function
2015-06-29 14:18:13 -04:00
Paul Davis
07c0750142
add new file with AVX functions.
...
Does not fully support Linux at this time
2015-06-29 14:18:13 -04:00
Paul Davis
6410aa896f
Added optimized AVX function for sample processing
...
Added AVX versions of existing 5 SSE functions. Added 6th AVX function to copy vectors which is 1.5 times faster then memcpy.
Data consistency and validness is fully tested after processing with new AVX functions on aligned and non aligned buffers.
2015-06-29 14:18:13 -04:00
Paul Davis
e2a76746e6
fix accidentally deleted return value
2015-06-29 14:18:13 -04:00
Paul Davis
5927fb4997
fix timing of Butler mapping config parameters to avoid crash.
...
Amazing that this didn't show up on Linux at all, or on the first run after build. Computers ... sigh.
Conflicts:
libs/ardour/butler.cc
2015-06-29 14:18:13 -04:00
Paul Davis
e71236794d
two tweaks required to fix up previous commit
2015-06-29 14:18:13 -04:00
Paul Davis
ba981a14c4
initial version of playback priority design. No GUI control over options yet
...
Conflicts:
libs/ardour/ardour/session.h
libs/ardour/ardour/types.h
libs/ardour/enums.cc
libs/ardour/session_transport.cc
system_config
2015-06-29 14:18:13 -04:00
Paul Davis
2a5dbff87b
ensure that working buffers (for gain + mixing) are large enough.
...
Remove AudioDiskstream and AudioSource _working_buffers_size members, since they are no longer used
2015-06-29 14:18:12 -04:00
Paul Davis
5f4f40205b
clean up cherry-pick of varifill tweaks from Waves Tracks
2015-06-29 14:18:12 -04:00
Paul Davis
ca09a4a355
more tweaks for varifill model, and avoid filling playback buffers during session loading
...
Conflicts:
libs/ardour/diskstream.cc
libs/ardour/session.cc
libs/ardour/session_state.cc
Conflicts:
libs/ardour/session.cc
2015-06-29 14:18:12 -04:00
Paul Davis
1caf54ee7f
add initial support for vari-fill
...
When refilling playback buffer, try to fill it completely, or at least
using the next-lowest power-of-2 as the amount to read. When locating,
where we use do_refill_with_alloc(), only partially fill the buffer.
Work not yet finished, but possibly promising.
2015-06-29 14:18:12 -04:00
Paul Davis
4644e113a8
introduce the idea of buffering presets, along with 3 possible settings (plus custom).
...
Actual numbers for the parameters are still to be determined/verified, and probably subject to
some platform specificity
2015-06-29 14:18:12 -04:00