ardour.git
8 years agoadd initial support for vari-fill
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.

8 years agointroduce the idea of buffering presets, along with 3 possible settings (plus custom).
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

8 years agofix logic of previous commit for transport-stop during locate
Paul Davis [Tue, 12 May 2015 16:28:05 +0000 (12:28 -0400)]
fix logic of previous commit for transport-stop during locate

8 years agoDo not disable record (performing transport stop) during locate request when MTC...
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.

8 years agoAdd some libardour support for indicating MTC active status.
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

8 years agoRevert "[Summary] Adding missing initialization of the date &time formats. “Init...
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).

8 years ago[Summary] Adding missing initialization of the date &time formats. “Init trashes...
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.

8 years ago[Summary] Do not restore routes connection using XML IO state for TracksLive, because...
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

8 years agoFixed f65026f0a1cbc64862a82109c28f5d493fc45f2e merged commit related to waves backend
GZharun [Tue, 12 May 2015 14:50:26 +0000 (17:50 +0300)]
Fixed f65026f0a1cbc64862a82109c28f5d493fc45f2e merged commit related to waves backend
[Reviewed] PDavis

8 years ago[Summary] Just adding comment for better code-maintaining.
Valeriy Kamyshniy [Thu, 2 Apr 2015 22:31:44 +0000 (01:31 +0300)]
[Summary] Just adding comment for better code-maintaining.

8 years agosuperior fix for limits on track name length
Paul Davis [Tue, 12 May 2015 14:43:37 +0000 (10:43 -0400)]
superior fix for limits on track name length

8 years ago[Summary] Fixed bug: Dragging Region with copying it provoked a crash. The reason...
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.

8 years ago[Summary] Fixed race condition: "should_do_transport_work" must not be dropped to...
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

8 years agowhen reversing regions, use the original source's SR, not the current session one
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

8 years agowhen creating new sources for a non-realtime Filter process, add option to use the...
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

8 years agoafter changing session SR, reset all write sources to use new rate
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

8 years agoTracks does not (want to) support destructive tracks
Paul Davis [Tue, 12 May 2015 14:12:41 +0000 (10:12 -0400)]
Tracks does not (want to) support destructive tracks

8 years agoTracks specific fix for SR reverting to previous value while creating new session
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

8 years agoadd 176.4kHz to available sample rates in export GUI
Paul Davis [Mon, 11 May 2015 22:50:51 +0000 (18:50 -0400)]
add 176.4kHz to available sample rates in export GUI

8 years agoadd 176.4kHz to export sample possibilities
Paul Davis [Mon, 11 May 2015 22:44:21 +0000 (18:44 -0400)]
add 176.4kHz to export sample possibilities

8 years agomore reliable check for session files, to cover *.ardour.bak cases, and exclude them
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

8 years agoTracks puts the master bus remote ID into a different "namespace" than Ardour
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

8 years agoTracks does not use a K20 meter for the master
Paul Davis [Mon, 11 May 2015 21:11:24 +0000 (17:11 -0400)]
Tracks does not use a K20 meter for the master

8 years ago[Summary] In Location::set_state - adding emitted FlagsChanged (if any flag changed...
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.

8 years agoremove unnecessary and unused changes from grygorii
Paul Davis [Mon, 11 May 2015 20:31:14 +0000 (16:31 -0400)]
remove unnecessary and unused changes from grygorii

8 years agoremove unused method
Paul Davis [Sun, 10 May 2015 17:46:25 +0000 (13:46 -0400)]
remove unused method

8 years agofix whitespace/indentation and remove references to ScopedConnectionLists that were...
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

8 years ago[Summary] Eliminated redundant marker update notification which lead to creation...
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

8 years agonoop: indentation
Paul Davis [Sun, 10 May 2015 17:19:02 +0000 (13:19 -0400)]
noop: indentation

8 years agoadd required header
Paul Davis [Sun, 10 May 2015 17:18:06 +0000 (13:18 -0400)]
add required header

8 years agomake use of loop range as default export range being Tracks specific
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

8 years ago[Summary] Per Igor's request: if auto play loop is set on, the main timespan should...
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.

8 years agowhen loop range is set, if loop-is-mode and seamless looping, set loop for all tracks
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

8 years agofix inadvertent typo
Paul Davis [Sun, 10 May 2015 17:09:28 +0000 (13:09 -0400)]
fix inadvertent typo

8 years agoTracks uses -inf gain on newly created tracks
Paul Davis [Sun, 10 May 2015 16:57:48 +0000 (12:57 -0400)]
Tracks uses -inf gain on newly created tracks

8 years agobring in more connection-related changes from Tracks
Paul Davis [Sat, 9 May 2015 23:34:50 +0000 (19:34 -0400)]
bring in more connection-related changes from Tracks

8 years agoadd engine_state_controller.cc to libardour sources when building 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

8 years agoadd track auto-naming options from Tracks
Paul Davis [Sat, 9 May 2015 23:34:05 +0000 (19:34 -0400)]
add track auto-naming options from Tracks

8 years agofix crash caused by missing return; add explanatory comments
Paul Davis [Sat, 9 May 2015 23:33:26 +0000 (19:33 -0400)]
fix crash caused by missing return; add explanatory comments

8 years agofix typo in Tracks build
Paul Davis [Sat, 9 May 2015 19:06:06 +0000 (15:06 -0400)]
fix typo in Tracks build

8 years agoinclude Tracks engine state controller header for Tracks build
Paul Davis [Sat, 9 May 2015 19:05:50 +0000 (15:05 -0400)]
include Tracks engine state controller header for Tracks build

8 years agoadd required profile header
Paul Davis [Sat, 9 May 2015 19:05:31 +0000 (15:05 -0400)]
add required profile header

8 years agochange names for scene I/O port connection methods
Paul Davis [Sat, 9 May 2015 18:48:36 +0000 (14:48 -0400)]
change names for scene I/O port connection methods

8 years agoavoid redundant IO port reconnections in Tracks runtime case
Paul Davis [Sat, 9 May 2015 18:46:40 +0000 (14:46 -0400)]
avoid redundant IO port reconnections in Tracks runtime case

8 years agonoop: more style guide fixes
Paul Davis [Sat, 9 May 2015 02:32:43 +0000 (22:32 -0400)]
noop: more style guide fixes

8 years agonoop: fix indentation to match style guide
Paul Davis [Sat, 9 May 2015 02:30:03 +0000 (22:30 -0400)]
noop: fix indentation to match style guide

8 years agoadd EngineStateController code from Tracks
Paul Davis [Sat, 9 May 2015 02:27:48 +0000 (22:27 -0400)]
add EngineStateController code from Tracks

8 years agoFixed issue with crash when invalid get_connections request is made on invalid port...
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)

8 years agoadd in more Tracks-related auto-(re)connect changes
Paul Davis [Sat, 9 May 2015 00:56:10 +0000 (20:56 -0400)]
add in more Tracks-related auto-(re)connect changes

8 years agoadd in more Tracks-related auto-(re)connect changes, all conditionalized by Profile
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

8 years agoinitial incorporation of Tracks' automatic reconnect features, based on current Track...
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

8 years agomerge several of the trickiest Tracks- and platform-specific RC configuration variables
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

8 years agono-op: indentation and whitespace fixes
Paul Davis [Fri, 8 May 2015 20:53:14 +0000 (16:53 -0400)]
no-op: indentation and whitespace fixes

8 years ago[Summary] Added export cleanup
GZharun [Thu, 15 Jan 2015 11:47:06 +0000 (13:47 +0200)]
[Summary] Added export cleanup
[Reviewed by] Andriy Mishyn

8 years agoindentation and formatting cleanup
Paul Davis [Fri, 8 May 2015 20:49:43 +0000 (16:49 -0400)]
indentation and formatting cleanup

8 years ago[Summary] Fixed issue with export built on Mavericks. There was not check on empty...
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.

8 years ago[Summary] Fixed windows build
Greg Zharun [Mon, 15 Dec 2014 11:56:04 +0000 (13:56 +0200)]
[Summary] Fixed windows build

8 years agoadd channel_count() to audio source API
Paul Davis [Fri, 8 May 2015 20:28:46 +0000 (16:28 -0400)]
add channel_count() to audio source API

8 years agoanother signal related to record state added from Tracks.
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.

8 years agodistribute use of RouteAddedOrRemoved to appropriate places.
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

8 years agoinclude emission of RouteAddedOrRemoved in Session::add_audio_track()
Paul Davis [Fri, 8 May 2015 20:08:41 +0000 (16:08 -0400)]
include emission of RouteAddedOrRemoved in Session::add_audio_track()

8 years agointegrate Session::remove_routes() from Tracks and replace Session::remove_route...
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.

8 years agore-do previous commit with less variables
Paul Davis [Fri, 8 May 2015 19:33:00 +0000 (15:33 -0400)]
re-do previous commit with less variables

8 years agoTracks calls tracks "Tracks"; Ardour uses type-names
Paul Davis [Fri, 8 May 2015 19:29:19 +0000 (15:29 -0400)]
Tracks calls tracks "Tracks"; Ardour uses type-names

8 years agoSession::reconnect_midi_scene_ports() is a Tracks thing.
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

8 years agoadd missing profile header
Paul Davis [Fri, 8 May 2015 19:19:39 +0000 (15:19 -0400)]
add missing profile header

8 years agofix bank ID when MIDI Scene change handles a program change message
GZharun [Mon, 1 Dec 2014 14:54:04 +0000 (16:54 +0200)]
fix bank ID when MIDI Scene change handles a program change message

8 years agoadd Session::reconnect_midi_scene_ports()
Paul Davis [Fri, 8 May 2015 19:03:06 +0000 (15:03 -0400)]
add Session::reconnect_midi_scene_ports()

8 years agoadd comment
Paul Davis [Fri, 8 May 2015 18:57:49 +0000 (14:57 -0400)]
add comment

8 years agototally bizarre and incorrect solo/mute behaviour for Tracks (ONLY)
Paul Davis [Fri, 8 May 2015 18:11:43 +0000 (14:11 -0400)]
totally bizarre and incorrect solo/mute behaviour for Tracks (ONLY)

8 years ago[Summary] Changed function name update_route_active_state() on update_route_record_st...
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

8 years agoprovide Session::have_rec_disabled_track()
Paul Davis [Fri, 8 May 2015 17:46:42 +0000 (13:46 -0400)]
provide Session::have_rec_disabled_track()

8 years agoadd the Tracks version of Track::monitoring_state()
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.

8 years agoadding routes no longer saves session but leaves it marked dirty (Tracks semantics...
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)

8 years agofix indentation
Paul Davis [Fri, 8 May 2015 16:39:07 +0000 (12:39 -0400)]
fix indentation

8 years ago[Summary] Region changes will make session dirty
GZharun [Wed, 21 Jan 2015 11:37:39 +0000 (13:37 +0200)]
[Summary] Region changes will make session dirty

8 years agomark session dirty when markers/ranges are changed
Paul Davis [Fri, 8 May 2015 16:20:25 +0000 (12:20 -0400)]
mark session dirty when markers/ranges are changed

8 years agofixed previous commit from Tracks to work correctly in all cases
Paul Davis [Fri, 8 May 2015 16:12:08 +0000 (12:12 -0400)]
fixed previous commit from Tracks to work correctly in all cases

8 years ago[Summary] BUG FIXED: New name of a session saved with “save as”, was not stored in...
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

8 years ago[Summary] Adding informative message to failed file copy exception in Session::save_as.
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

8 years agosave recent templates analogously to recent sessions
Paul Davis [Fri, 8 May 2015 16:07:33 +0000 (12:07 -0400)]
save recent templates analogously to recent sessions

8 years agoTracks-specific handling of template dir
Paul Davis [Fri, 8 May 2015 15:58:23 +0000 (11:58 -0400)]
Tracks-specific handling of template dir

8 years agofix cherry-pick logic failure with Session::save_template() - Tracks case already...
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

8 years ago[Summary] a) On MAC OS, .DS_Store files are ignored when saving a session by “Save...
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

8 years ago[Summary] For tracks when saving templates, we need stored the Auto Loop Range and...
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

8 years agoemit SessionSaveUnderWay signal during template save
Paul Davis [Fri, 8 May 2015 15:42:16 +0000 (11:42 -0400)]
emit SessionSaveUnderWay signal during template save

8 years agoimproved error handling and checking for Session::save_template()
Paul Davis [Fri, 8 May 2015 15:41:00 +0000 (11:41 -0400)]
improved error handling and checking for Session::save_template()

8 years agoset micro_version, used for tracks builds
Paul Davis [Fri, 8 May 2015 02:55:34 +0000 (22:55 -0400)]
set micro_version, used for tracks builds

8 years agotracks build ... backends are hard-coded
Paul Davis [Fri, 8 May 2015 02:55:16 +0000 (22:55 -0400)]
tracks build ... backends are hard-coded

8 years agocopy all XCode project files from Tracks.
Paul Davis [Wed, 6 May 2015 18:38:41 +0000 (14:38 -0400)]
copy all XCode project files from Tracks.

Rationale: the Waves team maintains the XCode project files, the Ardour crew doesn't. Thus, the Waves'
version is more canonical

8 years agoconditionalize background fades depending on whether this is a tracks or other build
Paul Davis [Wed, 6 May 2015 18:23:30 +0000 (14:23 -0400)]
conditionalize background fades depending on whether this is a tracks or other build

8 years agotweak for static library build
Paul Davis [Wed, 6 May 2015 18:11:55 +0000 (14:11 -0400)]
tweak for static library build

8 years agoadd now-expected -D defines for a Tracks build
Paul Davis [Wed, 6 May 2015 18:06:28 +0000 (14:06 -0400)]
add now-expected -D defines for a Tracks build

8 years agomerge two small pieces of code by Valeriy into libs/gtkmm2ext, conditionally used...
Paul Davis [Wed, 6 May 2015 18:06:10 +0000 (14:06 -0400)]
merge two small pieces of code by Valeriy into libs/gtkmm2ext, conditionally used ONLY in Tracks builds.

This code is not acceptable for use in Ardour ... comments in code explain more.

8 years agobetter implementation of configure and build time is_tracks_build() test
Paul Davis [Wed, 6 May 2015 17:43:02 +0000 (13:43 -0400)]
better implementation of configure and build time is_tracks_build() test

8 years agofix up waves_fastmeter.cc code to work with current fastmeter API
Paul Davis [Wed, 6 May 2015 17:42:39 +0000 (13:42 -0400)]
fix up waves_fastmeter.cc code to work with current fastmeter API

8 years agoadd clean and nice check for Tracks builds
Paul Davis [Wed, 6 May 2015 17:15:09 +0000 (13:15 -0400)]
add clean and nice check for Tracks builds

8 years agoconditionally use correct fast meter implementation
Paul Davis [Wed, 6 May 2015 17:05:16 +0000 (13:05 -0400)]
conditionally use correct fast meter implementation

8 years agofix logic/declaration issue with modified PersistentTooltip API
Paul Davis [Wed, 6 May 2015 17:04:58 +0000 (13:04 -0400)]
fix logic/declaration issue with modified PersistentTooltip API

8 years agoadd Waves Tracks version of fastmeter
Paul Davis [Wed, 6 May 2015 17:04:33 +0000 (13:04 -0400)]
add Waves Tracks version of fastmeter