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
Paul Davis [Sat, 9 May 2015 23:34:05 +0000 (19:34 -0400)]
add track auto-naming options from Tracks
Paul Davis [Sat, 9 May 2015 23:33:26 +0000 (19:33 -0400)]
fix crash caused by missing return; add explanatory comments
Paul Davis [Sat, 9 May 2015 19:06:06 +0000 (15:06 -0400)]
fix typo in Tracks build
Paul Davis [Sat, 9 May 2015 19:05:50 +0000 (15:05 -0400)]
include Tracks engine state controller header for Tracks build
Paul Davis [Sat, 9 May 2015 19:05:31 +0000 (15:05 -0400)]
add required profile header
Paul Davis [Sat, 9 May 2015 18:48:36 +0000 (14:48 -0400)]
change names for scene I/O port connection methods
Paul Davis [Sat, 9 May 2015 18:46:40 +0000 (14:46 -0400)]
avoid redundant IO port reconnections in Tracks runtime case
Paul Davis [Sat, 9 May 2015 02:32:43 +0000 (22:32 -0400)]
noop: more style guide fixes
Paul Davis [Sat, 9 May 2015 02:30:03 +0000 (22:30 -0400)]
noop: fix indentation to match style guide
Paul Davis [Sat, 9 May 2015 02:27:48 +0000 (22:27 -0400)]
add EngineStateController code from Tracks
Paul Davis [Sat, 9 May 2015 01:01:26 +0000 (21:01 -0400)]
Fixed issue with crash when invalid get_connections request is made on invalid port handle. (Grygorii)
Paul Davis [Sat, 9 May 2015 00:56:10 +0000 (20:56 -0400)]
add in more Tracks-related auto-(re)connect changes
Paul Davis [Sat, 9 May 2015 00:39:39 +0000 (20:39 -0400)]
add in more Tracks-related auto-(re)connect changes, all conditionalized by Profile
Paul Davis [Sat, 9 May 2015 00:30:30 +0000 (20:30 -0400)]
initial incorporation of Tracks' automatic reconnect features, based on current Tracks code
Paul Davis [Fri, 8 May 2015 21:49:51 +0000 (17:49 -0400)]
merge several of the trickiest Tracks- and platform-specific RC configuration variables
Paul Davis [Fri, 8 May 2015 20:53:14 +0000 (16:53 -0400)]
no-op: indentation and whitespace fixes
GZharun [Thu, 15 Jan 2015 11:47:06 +0000 (13:47 +0200)]
[Summary] Added export cleanup
[Reviewed by] Andriy Mishyn
Paul Davis [Fri, 8 May 2015 20:49:43 +0000 (16:49 -0400)]
indentation and formatting cleanup
GZharun [Thu, 25 Dec 2014 07:57:46 +0000 (09:57 +0200)]
[Summary] Fixed issue with export built on Mavericks. There was not check on empty sets in ExportFormatSpecification class.
C standard, section 6.5.6.8 says:
"...if the result points one past the last element of the array object, it shall not be used as the operand of a unary * operator that is evaluated..."
So GCC compiler and CLANG compiler (Mavericks) process this operation different way. GCC returns 0 on an attempt to dereference end iterator when CLANG returns a non 0 value.
Greg Zharun [Mon, 15 Dec 2014 11:56:04 +0000 (13:56 +0200)]
[Summary] Fixed windows build
Paul Davis [Fri, 8 May 2015 20:28:46 +0000 (16:28 -0400)]
add channel_count() to audio source API
Paul Davis [Fri, 8 May 2015 20:26:52 +0000 (16:26 -0400)]
another signal related to record state added from Tracks.
This doesn't appear to have obviously distinct semantics from RecordStateChanged
but Tracks is using it and I can't verify instantly that it could be replaced
by RecordStateChanged.
Paul Davis [Fri, 8 May 2015 20:12:51 +0000 (16:12 -0400)]
distribute use of RouteAddedOrRemoved to appropriate places.
It might be wise to use this rather than GUIIdle but that needs further investigation
Paul Davis [Fri, 8 May 2015 20:08:41 +0000 (16:08 -0400)]
include emission of RouteAddedOrRemoved in Session::add_audio_track()
Paul Davis [Fri, 8 May 2015 20:04:15 +0000 (16:04 -0400)]
integrate Session::remove_routes() from Tracks and replace Session::remove_route() internal implementation.
The singular case replicated (and was the model for) the plural case.
Paul Davis [Fri, 8 May 2015 19:33:00 +0000 (15:33 -0400)]
re-do previous commit with less variables
Paul Davis [Fri, 8 May 2015 19:29:19 +0000 (15:29 -0400)]
Tracks calls tracks "Tracks"; Ardour uses type-names
Paul Davis [Fri, 8 May 2015 19:20:05 +0000 (15:20 -0400)]
Session::reconnect_midi_scene_ports() is a Tracks thing.
It requires the EngineStateController which is not merged at this time
Paul Davis [Fri, 8 May 2015 19:19:39 +0000 (15:19 -0400)]
add missing profile header
GZharun [Mon, 1 Dec 2014 14:54:04 +0000 (16:54 +0200)]
fix bank ID when MIDI Scene change handles a program change message
Paul Davis [Fri, 8 May 2015 19:03:06 +0000 (15:03 -0400)]
add Session::reconnect_midi_scene_ports()
Paul Davis [Fri, 8 May 2015 18:57:49 +0000 (14:57 -0400)]
add comment
Paul Davis [Fri, 8 May 2015 18:11:43 +0000 (14:11 -0400)]
totally bizarre and incorrect solo/mute behaviour for Tracks (ONLY)
nikolay [Fri, 19 Sep 2014 13:45:01 +0000 (16:45 +0300)]
[Summary] Changed function name update_route_active_state() on update_route_record_state()
[Reviewed] GZharun
Conflicts:
libs/ardour/ardour/session.h
libs/ardour/session.cc
libs/ardour/session_state.cc
Paul Davis [Fri, 8 May 2015 17:46:42 +0000 (13:46 -0400)]
provide Session::have_rec_disabled_track()
Paul Davis [Fri, 8 May 2015 17:44:24 +0000 (13:44 -0400)]
add the Tracks version of Track::monitoring_state()
This drastically-stripped down version of the Ardour original is used only when USE_TRACKS_CODE_FEATURES
is defined. It doesn't respond to many aspects/features of libardour.
Paul Davis [Fri, 8 May 2015 16:48:07 +0000 (12:48 -0400)]
adding routes no longer saves session but leaves it marked dirty (Tracks semantics for add_routes() retained)
Paul Davis [Fri, 8 May 2015 16:39:07 +0000 (12:39 -0400)]
fix indentation
GZharun [Wed, 21 Jan 2015 11:37:39 +0000 (13:37 +0200)]
[Summary] Region changes will make session dirty
Paul Davis [Fri, 8 May 2015 16:20:25 +0000 (12:20 -0400)]
mark session dirty when markers/ranges are changed
Paul Davis [Fri, 8 May 2015 16:12:08 +0000 (12:12 -0400)]
fixed previous commit from Tracks to work correctly in all cases
Valeriy Kamyshniy [Mon, 6 Apr 2015 10:04:15 +0000 (13:04 +0300)]
[Summary] BUG FIXED: New name of a session saved with “save as”, was not stored in the session recent list.
[Reviewed] YPozdnyakov
Valeriy Kamyshniy [Thu, 2 Apr 2015 23:15:35 +0000 (02:15 +0300)]
[Summary] Adding informative message to failed file copy exception in Session::save_as.
[Review required] Paul Davis
Paul Davis [Fri, 8 May 2015 16:07:33 +0000 (12:07 -0400)]
save recent templates analogously to recent sessions
Paul Davis [Fri, 8 May 2015 15:58:23 +0000 (11:58 -0400)]
Tracks-specific handling of template dir
Paul Davis [Fri, 8 May 2015 15:47:12 +0000 (11:47 -0400)]
fix cherry-pick logic failure with Session::save_template() - Tracks case already taken care of
Valeriy Kamyshniy [Mon, 6 Apr 2015 18:25:42 +0000 (21:25 +0300)]
[Summary] a) On MAC OS, .DS_Store files are ignored when saving a session by “Save As”.
b) plugins folder is not created for Templates.
[Required review] Paul Davis, YPozdnyakov
Conflicts:
libs/ardour/session_state.cc
Valeriy Kamyshniy [Thu, 2 Apr 2015 21:25:56 +0000 (00:25 +0300)]
[Summary] For tracks when saving templates, we need stored the Auto Loop Range and all MIDI markers. As well, just to follow canonical rule: dealing with a pointer (_location in Session::state) check it for NULL prior to any operation (s), accessing the pointer.
[Review required] YPozdnyakov, GZharun, Paul Davis
Paul Davis [Fri, 8 May 2015 15:42:16 +0000 (11:42 -0400)]
emit SessionSaveUnderWay signal during template save