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
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
751d330dbb
store compiler flags in conf/bld context object so that we can use them selectively at build time
2015-06-29 14:18:13 -04:00
0d78359d29
meter computation must use absolute value of all samples (ignoring sign bit)
2015-06-29 14:18:13 -04:00
8bb54f41c6
add windows-only AVX functions
2015-06-29 14:18:13 -04:00
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
92df1594f9
Corrected comments for x86_sse_avx_find_peaks() intrinsics built function
2015-06-29 14:18:13 -04:00
07c0750142
add new file with AVX functions.
...
Does not fully support Linux at this time
2015-06-29 14:18:13 -04:00
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
e2a76746e6
fix accidentally deleted return value
2015-06-29 14:18:13 -04:00
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
e71236794d
two tweaks required to fix up previous commit
2015-06-29 14:18:13 -04:00
35fe7e4ba7
add preferences GUI elements to allow control of playhead priority items
2015-06-29 14:18:13 -04:00
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
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
5f4f40205b
clean up cherry-pick of varifill tweaks from Waves Tracks
2015-06-29 14:18:12 -04:00
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
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
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
9ef4888e91
fix logic of previous commit for transport-stop during locate
2015-06-29 14:18:12 -04:00
4abea520df
Do not disable record (performing transport stop) during locate request when MTC source is activated
...
This is required for the case when we leave Tracks ready for record and then activate MTC source.
2015-06-29 14:18:12 -04:00
16dccfcb8a
Add some libardour support for indicating MTC active status.
...
The general design here is wrong, because it should be more general and cover all possible sync sources.
But it does work, it is used in Tracks, and my attempt to do it correctly revealed the problem to be
an EXTREMELY difficult design issue (as in: two weeks of work on it did not really solve the
fundamental issues with slave design).
So, here it is for now, c/o Grygorii
2015-06-29 14:18:12 -04:00
5c8c249db9
Revert "[Summary] Adding missing initialization of the date &time formats. “Init trashes” caused a bit ruined logic of the export dialog."
...
This reverts commit c9a190b7470d29bc6528195323a907a8d619c1d4. Change was
already in place (and used correct initialization order as well).
2015-06-29 14:18:12 -04:00
Valeriy Kamyshniy
fa3a843d61
[Summary] Adding missing initialization of the date &time formats. “Init trashes” caused a bit ruined logic of the export dialog.
2015-06-29 14:18:12 -04:00
GZharun
67d42d9b28
[Summary] Do not restore routes connection using XML IO state for TracksLive, because this is redundant for TracksLive.
...
Moreover if the device is changed XML state of IO contains port names of the old device which causes attempts to connect to non existent ports.
[Reviewed by] Paul Davis
2015-06-29 14:18:12 -04:00
GZharun
939e7c2d52
Fixed f65026f0a1cbc64862a82109c28f5d493fc45f2e merged commit related to waves backend
...
[Reviewed] PDavis
2015-06-29 14:18:12 -04:00
Valeriy Kamyshniy
8505c16057
[Summary] Just adding comment for better code-maintaining.
2015-06-29 14:18:12 -04:00
125c5e224c
superior fix for limits on track name length
2015-06-29 14:18:12 -04:00
Valeriy Kamyshniy
eab6e309b2
[Summary] Fixed bug: Dragging Region with copying it provoked a crash. The reason is: too short room for name generated for new region.
2015-06-29 14:18:12 -04:00
GZharun
87f1c66ba1
[Summary] Fixed race condition: "should_do_transport_work" must not be dropped to 0 outside, it's illegal. It may cause "should_do_transport_work" go below 0 and make butler to round for a very-very long time (hang and possible lock of other threads) before stop() call returns.
...
_butler->stop () is synchronous, so its safe to wait in this call for butler to finish it's work.
[Reviewed by] PDavis
2015-06-29 14:18:12 -04:00
7ef5aea500
when reversing regions, use the original source's SR, not the current session one
2015-06-29 14:18:12 -04:00
4a27a8b531
when creating new sources for a non-realtime Filter process, add option to use the same SR as the initial sources
2015-06-29 14:18:12 -04:00
f116455280
after changing session SR, reset all write sources to use new rate
2015-06-29 14:18:12 -04:00
c4e3135617
Tracks does not (want to) support destructive tracks
2015-06-29 14:18:12 -04:00
d0b5f87fba
Tracks specific fix for SR reverting to previous value while creating new session
2015-06-29 14:18:12 -04:00
c5a657ceee
add 176.4kHz to available sample rates in export GUI
2015-06-29 14:18:12 -04:00
54ec059a6f
add 176.4kHz to export sample possibilities
2015-06-29 14:18:12 -04:00
d98bf248ad
more reliable check for session files, to cover *.ardour.bak cases, and exclude them
2015-06-29 14:18:12 -04:00
f6149dffa3
Tracks puts the master bus remote ID into a different "namespace" than Ardour
2015-06-29 14:18:12 -04:00
ba151374b0
Tracks does not use a K20 meter for the master
2015-06-29 14:18:12 -04:00
VKamyshniy
94fc1dc745
[Summary] In Location::set_state - adding emitted FlagsChanged (if any flag changed). This is not a hot fix - it's for UNDO changed skipping state for SKIP markers. Paul has approved this change.
2015-06-29 14:18:12 -04:00
8488d8f6a5
remove unnecessary and unused changes from grygorii
2015-06-29 14:18:12 -04:00
fb89ff4643
remove unused method
2015-06-29 14:18:12 -04:00
f11fc1852c
fix whitespace/indentation and remove references to ScopedConnectionLists that were not used even in Tracks
2015-06-29 14:18:12 -04:00
GZharun
317bacfa3a
[Summary] Eliminated redundant marker update notification which lead to creation of huge amount of redundant session events
2015-06-29 14:18:12 -04:00
b8f29872a7
noop: indentation
2015-06-29 14:18:12 -04:00
a6a522766b
add required header
2015-06-29 14:18:12 -04:00
0b1a10b2d5
make use of loop range as default export range being Tracks specific
2015-06-29 14:18:12 -04:00