Commit Graph

83 Commits

Author SHA1 Message Date
Robin Gareus
467795f467 Fix Latency Measurement without device re-start
This handles a case when the engine was started normally
(not for latency measurement), and measurement is performed later.
This resulted in a duplicate backend start
2019-09-20 19:41:05 +02:00
Robin Gareus
1c8b6e1b42 Initialize uninitialized variables
If a session with a feedback loop is loaded, Graph::rechain()
is never called, and _n_terminal_nodes[] remains unset.
2019-09-01 20:13:59 +02:00
Robin Gareus
d52cf0f739 Tweak graph display, check direct sends
->feeds() follows connections "track -> master -> monitor"
(to detect feedback). Use direct_feeds_according_to_reality()
to correctly show sends-only.
2019-08-23 02:12:47 +02:00
Robin Gareus
3243bf591c Add method to graphviz plot the process-graph 2019-08-07 17:40:23 +02:00
Robin Gareus
a22f918d9d Update libardour GPL boilerplate and (C) from git log 2019-08-03 15:53:16 +02:00
Robin Gareus
45f1220aa5 Fix deadlock when removing routes (initialization issues)
_setup_chain needs to point to the unused graph-chain, and not
_current_chain. Otherwise Graph::clear_other_chain() waits forever.
2019-07-15 00:55:51 +02:00
Robin Gareus
b7369f421f Re-work process-graph to use lock-free queues
This removes the trigger_mutex which was used for exclusive access
of the work-queue for concurrent processing.
2019-07-10 20:39:27 +02:00
Robin Gareus
57c3eaacf6 Fix process-thread naming 2019-07-10 20:20:44 +02:00
Robin Gareus
249640267c Remove global declick API
De-click will be per disk-reader, latency compensated and buffer-size
independent. Cue-monitoring should not be affected by de-click.
2018-07-09 17:30:38 +02:00
Paul Davis
30b087ab3d globally change all use of "frame" to refer to audio into "sample".
Generated by tools/f2s. Some hand-editing will be required in a few places to fix up comments related to timecode
and video in order to keep the legible
2017-09-18 12:39:17 -04:00
Paul Davis
e9dd575ca5 remove all code related to "silent roll" concept. some debug output added 2017-09-18 11:40:53 -04:00
Robin Gareus
f21a66797a Revert 542d021f, fix number of DSP threads
The main process-callback does not participate in DSP computation
2017-08-05 03:02:17 +02:00
Robin Gareus
542d021fbc Fix total number of process threads 2017-07-13 17:16:31 +02:00
Robin Gareus
1e8462f45e Reset process-graph semaphores on engine-restart 2017-04-22 23:06:22 +02:00
Robin Gareus
629e6cbefb remove unused semaphore 2017-04-22 23:06:22 +02:00
Robin Gareus
dd1bf47394 NO-OP: whitespace 2017-04-22 16:09:10 +02:00
Paul Davis
cf52d6e4b4 enough with umpteen "i18n.h" files. Consolidate on pbd/i18n.h 2016-07-14 14:45:23 -04:00
Robin Gareus
e3607a4c8b plug some memory leaks in libardour 2016-04-24 14:43:18 +02:00
Robin Gareus
22b07e0233 NOOP, remove trailing tabs/whitespace. 2015-10-05 16:17:49 +02:00
Robin Gareus
eb998b3264 plug some memory leaks in libs 2015-09-12 20:05:25 +02:00
Robin Gareus
3a3d5c41be synchronous shutdown of process graph. 2015-08-28 15:39:06 +02:00
Robin Gareus
f15236b9a0 amend 070818f 2015-01-30 10:43:56 +01:00
Robin Gareus
070818f884 take down backend specific threads with backend 2015-01-30 01:28:52 +01:00
Paul Davis
8a4fdbf023 final eradication of jack header files from anything except the JACK backend 2014-04-11 02:52:28 -04:00
John Emmas
300b484cf6 Merge branch 'master' into windows+cc
Conflicts (hopefully resolved):
	gtk2_ardour/ardour_ui.cc
	gtk2_ardour/ardour_ui.h
	gtk2_ardour/ardour_ui_options.cc
2013-10-06 11:56:03 +01:00
Tim Mayberry
53ad2d187f Move processing thread list from ARDOUR::Graph into AudioBackend implementation 2013-10-04 18:53:37 +10:00
Tim Mayberry
df363a4fb3 Add AudioBackendThread class to support different thread type on windows 2013-10-04 18:51:47 +10:00
John Emmas
19bb2b33a8 Merge remote-tracking branch 'remotes/origin/cairocanvas' into windows
Conflicts (hopefully resolved):
	gtk2_ardour/marker.cc
	gtk2_ardour/midi_region_view.h
	gtk2_ardour/region_gain_line.h
	gtk2_ardour/utils.cc
	gtk2_ardour/video_image_frame.cc
	gtk2_ardour/wscript
	libs/backends/jack/wscript
2013-09-21 09:17:25 +01:00
Paul Davis
7a30e63eaa fix merge conflicts with master 2013-09-14 16:42:40 -04:00
Paul Davis
4a6412aebe merge with master 2013-09-12 11:32:09 -04:00
Paul Davis
4df3666738 add AudioBackendNativeThread to serve the same role as jack_native_thread_t 2013-09-12 11:29:47 -04:00
Tim Mayberry
e6c7ecf0e3 Ifdef some non-portable code for MinGW
jack_native_thread_t is HANDLE for MinGW builds of jack so using pthread API
cannot work.
2013-09-06 14:30:54 +10:00
John Emmas
490311bc08 'libs/ardour' - Main body of changes required for building with MSVC 2013-08-04 15:36:07 +01:00
Paul Davis
01a4c3186a Use PBD::pthread_name in debug output for portability 2013-07-11 15:09:29 -04:00
Paul Davis
2b93c878d0 Disable some non-portable code that is only used for debugging 2013-07-11 15:08:47 -04:00
Paul Davis
fa2dcea820 Use jack_native_thread_t for portability
Requires future attention in AudioEngine due to timbyr's use JACK2 extension to JACK API
2013-07-11 15:08:10 -04:00
Paul Davis
63e9138f1f remove xmmintrin.h, unnecessarily mirroring changes to master 2013-07-10 19:09:35 -04:00
Paul Davis
9bdf0a5e79 remove unnecessary include of xmmintrin.h 2013-07-10 11:00:19 -04:00
Paul Davis
4e84bc3a39 changes to get cairocanvas branch to build on OS X, with its stupid nil and Rect macros, plus some const_cast<> and unused variable fixes that should really be in master but will have to wait till we rebase master 2013-04-12 21:46:44 -04:00
Paul Davis
3cd8138a41 convert from Glib:: to Glib::Threads for all thread-related API
git-svn-id: svn://localhost/ardour2/branches/3.0@13084 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-07-25 17:48:55 +00:00
Carl Hetherington
66255a13c1 Raise an exception if we fail to create our graph
threads.


git-svn-id: svn://localhost/ardour2/branches/3.0@12111 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-27 16:43:12 +00:00
Carl Hetherington
a2897ecef6 Fairly major change to the way in which crossfades are handled;
they are now done with region fades, rather than separate objects.
After this commit, Ardour will try to convert your session files
to the new crossfade format, but will make a backup in your
session folder first.

If you have works in progress using Ardour 3 it is
***STRONGLY RECOMMENDED*** that you back up session files before
updating to this commit.


git-svn-id: svn://localhost/ardour2/branches/3.0@11986 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-16 16:32:22 +00:00
Carl Hetherington
e317386c5c For now, only use the multi-threaded process code if we are
using >1 processor for DSP; this involves making the DSP
use setting only take effect on a restart of Ardour.


git-svn-id: svn://localhost/ardour2/branches/3.0@11302 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-22 12:28:49 +00:00
Paul Davis
052a0785b5 slightly more efficient implementation of Graph::in_process_thread()
git-svn-id: svn://localhost/ardour2/branches/3.0@11278 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-20 14:35:02 +00:00
Carl Hetherington
7fcfe672c4 Fix unutterably terrible thinko in previous commit.
git-svn-id: svn://localhost/ardour2/branches/3.0@11254 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-17 16:54:09 +00:00
Carl Hetherington
d4bab8aeed Trim some lock / unlock cycles on the trigger mutex.
git-svn-id: svn://localhost/ardour2/branches/3.0@11245 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-14 22:02:26 +00:00
Paul Davis
eee1151e55 remove get_rt() call from graph code, since JACK takes care of that for us and all process threads are created using libjack thread API
git-svn-id: svn://localhost/ardour2/branches/3.0@10829 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-11-28 15:58:25 +00:00
Carl Hetherington
69c88d165d Alert the user if a connection is made which causes
feedback, and preserve the route graph in the state
that it was in before the feedback was introduced. The
intent being to simplify the code, reduce the number of
areas of code which must consider feedback, and fix a
few bugs.


git-svn-id: svn://localhost/ardour2/branches/3.0@10510 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-11-09 17:44:39 +00:00
Carl Hetherington
07e62f3988 Remove a couple of unnecessary casts.
git-svn-id: svn://localhost/ardour2/branches/3.0@10496 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-11-08 15:11:01 +00:00
Carl Hetherington
c1386bafce Coding style tinkering.
git-svn-id: svn://localhost/ardour2/branches/3.0@10464 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-11-05 17:58:35 +00:00