Paul Davis [Tue, 19 May 2015 13:40:04 +0000 (09:40 -0400)]
add additional check for playhead priority target when testing loop range, to match Tracks' logic
Paul Davis [Tue, 19 May 2015 13:29:39 +0000 (09:29 -0400)]
add Session::reconnection_in_progress(), used by Tracks
Paul Davis [Tue, 19 May 2015 13:02:11 +0000 (09:02 -0400)]
use the frame/sample based inter-scene gap, not the msecs one (now removed)
Paul Davis [Tue, 19 May 2015 12:52:11 +0000 (08:52 -0400)]
scene gap is measured in frames, not msecs.
Could have used "samples" here but that can wait till we do a big rename
throughout the code base
Paul Davis [Tue, 19 May 2015 12:39:34 +0000 (08:39 -0400)]
add some session-scope configuration variables needed by Tracks.
Also add some comments regarding the presence of certain variables in this file
Paul Davis [Fri, 15 May 2015 17:54:43 +0000 (13:54 -0400)]
add more directory names to set managed via various APIs (automation, analysis, plugins, externals)
GZharun [Mon, 18 May 2015 12:40:49 +0000 (15:40 +0300)]
Fixed a misprint in a comment
Paul Davis [Wed, 3 Dec 2014 14:15:10 +0000 (09:15 -0500)]
add API for controlling and determining active status of a SceneChange
Conflicts:
libs/ardour/ardour/scene_change.h
GZharun [Thu, 14 May 2015 14:52:12 +0000 (17:52 +0300)]
Waves Backend MERGED from Tracks
[To be reviewed by] Paul Davis
GZharun [Thu, 14 May 2015 14:47:38 +0000 (17:47 +0300)]
Backend MERGE:
Paul Davis' change
3d12a4da82100466f1e5e286260759f07c2e657a
[To be reviewed by] Paul Davis
GZharun [Thu, 14 May 2015 14:46:21 +0000 (17:46 +0300)]
Reverted Ben's default buffer size function implementation.
Related to
eeca7f7
GZharun [Thu, 14 May 2015 14:44:04 +0000 (17:44 +0300)]
Reverted Ben's m_DefaultBufferSize stuff as it looks redundant. Will be put back if we establish the opposite
Paul Davis [Thu, 14 May 2015 02:20:38 +0000 (22:20 -0400)]
remove more explicit compiler flags by placing them in the compiler flags dictionary
Paul Davis [Thu, 14 May 2015 00:29:27 +0000 (20:29 -0400)]
minor fix for wavesaudio backend after earlier changes + merge/meld madness
Paul Davis [Wed, 13 May 2015 23:37:15 +0000 (19:37 -0400)]
add PBD::DEBUG bits for WavesAudio and WavesMIDI
Greg Zharun [Fri, 10 Apr 2015 15:08:13 +0000 (18:08 +0300)]
[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
Paul Davis [Wed, 13 May 2015 23:11:27 +0000 (19:11 -0400)]
meld-driven unification of current ardour-ish WavesAudio backend and current tracks WavesAudio backend.
May be incomplete, and may not compile (testing to follow)
GZharun [Fri, 13 Feb 2015 15:59:04 +0000 (17:59 +0200)]
cosmetic fix (grygorii)
Paul Davis [Wed, 13 May 2015 21:32:10 +0000 (17:32 -0400)]
noop: fix indentation/whitespace
Paul Davis [Wed, 13 May 2015 20:29:27 +0000 (16:29 -0400)]
increase event pool for backend reset thread (somewhat unnecessarily, but lets keep Kyiv happy)
Paul Davis [Wed, 13 May 2015 15:01:37 +0000 (11:01 -0400)]
AudioEngine tweaks from Tracks, related to stopping audioengine and halting
Paul Davis [Wed, 13 May 2015 14:39:24 +0000 (10:39 -0400)]
merge in Tracks-derived session-end-is-N-seconds beyond last region end, but define N as zero for Ardour/Mixbus
Paul Davis [Wed, 13 May 2015 14:21:19 +0000 (10:21 -0400)]
fix indentation and remove whitespace
Paul Davis [Wed, 13 May 2015 14:16:16 +0000 (10:16 -0400)]
rename Session::add_session_range_location() to ::set_session_range_location()
Paul Davis [Tue, 16 Dec 2014 17:09:54 +0000 (12:09 -0500)]
enabling record (either tentative for punch or fully enabled) cancels play loop mode
Paul Davis [Fri, 5 Dec 2014 02:31:30 +0000 (21:31 -0500)]
implement missing methods for MIDISceneChange
Paul Davis [Wed, 3 Dec 2014 19:24:30 +0000 (14:24 -0500)]
mark session dirty after scene change is added/removed
Paul Davis [Wed, 3 Dec 2014 18:31:49 +0000 (13:31 -0500)]
add signal to indicate absence of removal of scene change from Location
Paul Davis [Wed, 13 May 2015 05:47:44 +0000 (01:47 -0400)]
remove artificial, accidental and utterly unintended limit of the numbering of scene changes
Paul Davis [Wed, 13 May 2015 05:46:04 +0000 (01:46 -0400)]
add Tracks specific handling of MMC Record Strobe, since Tracks has no concept of punch
Paul Davis [Sat, 17 Jan 2015 17:00:34 +0000 (12:00 -0500)]
properly track, update, maintain and set auto return state
Conflicts:
gtk2_ardour/ardour_ui_options.cc
Paul Davis [Fri, 30 Jan 2015 17:57:58 +0000 (12:57 -0500)]
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.
Paul Davis [Wed, 13 May 2015 04:31:24 +0000 (00:31 -0400)]
remove Tracks runtime conditional, incorrectly added during manual merging
Paul Davis [Sat, 17 Jan 2015 17:40:46 +0000 (12:40 -0500)]
correctly track range selection trim and drag creation w.r.t playback priority
Paul Davis [Sat, 17 Jan 2015 17:01:08 +0000 (12:01 -0500)]
make editor_drag.h fully self-contained as a header file (it was missing more than a dozen necessary fwd decls etc)
Conflicts:
gtk2_ardour/editor_drag.h
Paul Davis [Sat, 17 Jan 2015 01:01:59 +0000 (20:01 -0500)]
start work on auto return target dropdown rather than button
Conflicts:
gtk2_ardour/ardour_ui.cc
Paul Davis [Sat, 17 Jan 2015 01:01:34 +0000 (20:01 -0500)]
change ArdourDropdown API to allow other types of menu elements
Paul Davis [Fri, 16 Jan 2015 22:50:10 +0000 (17:50 -0500)]
follow various events related to playhead priority (loop changes, parameter changes); remove debug output
Paul Davis [Fri, 16 Jan 2015 22:49:06 +0000 (17:49 -0500)]
remove debug output
Paul Davis [Fri, 16 Jan 2015 21:01:33 +0000 (16:01 -0500)]
fix copy-n-paste errors that used wrong buttons for playhead priorities
Paul Davis [Fri, 16 Jan 2015 20:33:46 +0000 (15:33 -0500)]
fix copy-n-paste errors that used incorrect enum values for playhead priorities
Paul Davis [Wed, 13 May 2015 03:56:55 +0000 (23:56 -0400)]
restore use of vertical margin on ardour knob popup tooltip/window
Robin Gareus [Fri, 24 Apr 2015 23:16:39 +0000 (01:16 +0200)]
API to set tooltip y-margin
Conflicts:
libs/gtkmm2ext/gtkmm2ext/persistent_tooltip.h
libs/gtkmm2ext/persistent_tooltip.cc
Paul Davis [Wed, 13 May 2015 03:17:14 +0000 (23:17 -0400)]
give different Tracks + Ardour/Mixbus playhead priority functionality, and add missing set_track_loop() call for playhead priority
Paul Davis [Wed, 13 May 2015 03:02:16 +0000 (23:02 -0400)]
correct placement of buffering adjustments w.r.t Butler thread creation
GZharun [Wed, 28 Jan 2015 14:41:12 +0000 (16:41 +0200)]
[Summary] Moved session buffers adjustment during butler thread set up to the place we are ready to handle them.
GZharun [Wed, 28 Jan 2015 10:44:38 +0000 (12:44 +0200)]
[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.
Paul Davis [Wed, 13 May 2015 02:22:01 +0000 (22:22 -0400)]
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
Paul Davis [Wed, 13 May 2015 02:21:21 +0000 (22:21 -0400)]
store compiler flags in conf/bld context object so that we can use them selectively at build time
Paul Davis [Wed, 13 May 2015 01:27:33 +0000 (21:27 -0400)]
meter computation must use absolute value of all samples (ignoring sign bit)
Paul Davis [Wed, 13 May 2015 01:27:27 +0000 (21:27 -0400)]
add windows-only AVX functions
Paul Davis [Wed, 13 May 2015 01:18:53 +0000 (21:18 -0400)]
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.
Paul Davis [Wed, 13 May 2015 01:15:48 +0000 (21:15 -0400)]
Corrected comments for x86_sse_avx_find_peaks() intrinsics built function
Paul Davis [Wed, 13 May 2015 01:15:35 +0000 (21:15 -0400)]
add new file with AVX functions.
Does not fully support Linux at this time
Paul Davis [Wed, 13 May 2015 01:07:09 +0000 (21:07 -0400)]
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.
Paul Davis [Tue, 12 May 2015 20:38:13 +0000 (16:38 -0400)]
fix accidentally deleted return value
Paul Davis [Mon, 26 Jan 2015 20:54:29 +0000 (15:54 -0500)]
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
Paul Davis [Fri, 6 Feb 2015 15:50:02 +0000 (10:50 -0500)]
two tweaks required to fix up previous commit
Paul Davis [Fri, 16 Jan 2015 20:19:17 +0000 (15:19 -0500)]
add preferences GUI elements to allow control of playhead priority items
Paul Davis [Fri, 16 Jan 2015 17:17:09 +0000 (12:17 -0500)]
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
Paul Davis [Tue, 12 May 2015 18:33:41 +0000 (14:33 -0400)]
ensure that working buffers (for gain + mixing) are large enough.
Remove AudioDiskstream and AudioSource _working_buffers_size members, since they are no longer used
Paul Davis [Fri, 30 Jan 2015 03:21:58 +0000 (22:21 -0500)]
clean up cherry-pick of varifill tweaks from Waves Tracks
Paul Davis [Thu, 29 Jan 2015 23:59:40 +0000 (18:59 -0500)]
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
Paul Davis [Wed, 28 Jan 2015 18:43:17 +0000 (13:43 -0500)]
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.
Paul Davis [Tue, 12 May 2015 18:15:07 +0000 (14:15 -0400)]
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
Paul Davis [Tue, 12 May 2015 16:28:05 +0000 (12:28 -0400)]
fix logic of previous commit for transport-stop during locate
Paul Davis [Tue, 12 May 2015 16:23:01 +0000 (12:23 -0400)]
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.
Paul Davis [Tue, 12 May 2015 16:17:17 +0000 (12:17 -0400)]
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
Paul Davis [Tue, 12 May 2015 15:50:59 +0000 (11:50 -0400)]
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).
Valeriy Kamyshniy [Tue, 27 Jan 2015 21:54:15 +0000 (23:54 +0200)]
[Summary] Adding missing initialization of the date &time formats. “Init trashes” caused a bit ruined logic of the export dialog.
GZharun [Mon, 23 Mar 2015 11:51:45 +0000 (13:51 +0200)]
[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
GZharun [Tue, 12 May 2015 14:50:26 +0000 (17:50 +0300)]
Fixed
f65026f0a1cbc64862a82109c28f5d493fc45f2e merged commit related to waves backend
[Reviewed] PDavis
Valeriy Kamyshniy [Thu, 2 Apr 2015 22:31:44 +0000 (01:31 +0300)]
[Summary] Just adding comment for better code-maintaining.
Paul Davis [Tue, 12 May 2015 14:43:37 +0000 (10:43 -0400)]
superior fix for limits on track name length
Valeriy Kamyshniy [Fri, 27 Feb 2015 16:29:45 +0000 (18:29 +0200)]
[Summary] Fixed bug: Dragging Region with copying it provoked a crash. The reason is: too short room for name generated for new region.
GZharun [Wed, 25 Feb 2015 01:02:28 +0000 (03:02 +0200)]
[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
Paul Davis [Tue, 12 May 2015 14:25:50 +0000 (10:25 -0400)]
when reversing regions, use the original source's SR, not the current session one
Paul Davis [Tue, 12 May 2015 14:25:13 +0000 (10:25 -0400)]
when creating new sources for a non-realtime Filter process, add option to use the same SR as the initial sources
Paul Davis [Tue, 12 May 2015 14:16:26 +0000 (10:16 -0400)]
after changing session SR, reset all write sources to use new rate
Paul Davis [Tue, 12 May 2015 14:12:41 +0000 (10:12 -0400)]
Tracks does not (want to) support destructive tracks
Paul Davis [Mon, 11 May 2015 22:51:14 +0000 (18:51 -0400)]
Tracks specific fix for SR reverting to previous value while creating new session
Paul Davis [Mon, 11 May 2015 22:50:51 +0000 (18:50 -0400)]
add 176.4kHz to available sample rates in export GUI
Paul Davis [Mon, 11 May 2015 22:44:21 +0000 (18:44 -0400)]
add 176.4kHz to export sample possibilities
Paul Davis [Mon, 11 May 2015 22:36:04 +0000 (18:36 -0400)]
more reliable check for session files, to cover *.ardour.bak cases, and exclude them
Paul Davis [Mon, 11 May 2015 21:43:16 +0000 (17:43 -0400)]
Tracks puts the master bus remote ID into a different "namespace" than Ardour
Paul Davis [Mon, 11 May 2015 21:11:24 +0000 (17:11 -0400)]
Tracks does not use a K20 meter for the master
VKamyshniy [Thu, 19 Feb 2015 20:04:33 +0000 (22:04 +0200)]
[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.
Paul Davis [Mon, 11 May 2015 20:31:14 +0000 (16:31 -0400)]
remove unnecessary and unused changes from grygorii
Paul Davis [Sun, 10 May 2015 17:46:25 +0000 (13:46 -0400)]
remove unused method
Paul Davis [Sun, 10 May 2015 17:44:23 +0000 (13:44 -0400)]
fix whitespace/indentation and remove references to ScopedConnectionLists that were not used even in Tracks
GZharun [Sun, 15 Feb 2015 11:02:16 +0000 (13:02 +0200)]
[Summary] Eliminated redundant marker update notification which lead to creation of huge amount of redundant session events
Paul Davis [Sun, 10 May 2015 17:19:02 +0000 (13:19 -0400)]
noop: indentation
Paul Davis [Sun, 10 May 2015 17:18:06 +0000 (13:18 -0400)]
add required header
Paul Davis [Sun, 10 May 2015 17:17:32 +0000 (13:17 -0400)]
make use of loop range as default export range being Tracks specific
VKamyshniy [Tue, 3 Feb 2015 17:14:27 +0000 (19:14 +0200)]
[Summary] Per Igor's request: if auto play loop is set on, the main timespan should be the range loop location.
Paul Davis [Sun, 10 May 2015 17:15:46 +0000 (13:15 -0400)]
when loop range is set, if loop-is-mode and seamless looping, set loop for all tracks
Paul Davis [Sun, 10 May 2015 17:09:28 +0000 (13:09 -0400)]
fix inadvertent typo
Paul Davis [Sun, 10 May 2015 16:57:48 +0000 (12:57 -0400)]
Tracks uses -inf gain on newly created tracks
Paul Davis [Sat, 9 May 2015 23:34:50 +0000 (19:34 -0400)]
bring in more connection-related changes from Tracks
Paul Davis [Sat, 9 May 2015 23:34:36 +0000 (19:34 -0400)]
add engine_state_controller.cc to libardour sources when building tracks