Commit Graph

261 Commits

Author SHA1 Message Date
Tim Mayberry
8d0cba3384 Use PBD::find_files_matching_pattern instead of other variations 2014-06-25 12:40:10 -04:00
Robin Gareus
157161e482 fix port-unregister (on failed latency measurement) 2014-06-19 19:44:14 +02:00
Robin Gareus
81182b5bf6 prepare MIDI latency measurement (backend) 2014-06-08 11:18:18 +02:00
Tim Mayberry
5086cc3f49 Revert windows backend search expression to "*backend.dll" 2014-06-07 14:31:32 +10:00
Robin Gareus
ec49e351c3 fixes to change engines while Ardour is running.
When a new backend is selected, it is loaded to query
available devices etc. This effectively drops the current backend.
2014-06-04 17:17:14 +02:00
Tim Mayberry
9cde7b6051 Fix pattern to match possible audio backends on windows 2014-05-14 09:47:40 +10:00
Paul Davis
392c3a6bef use AudioBackendInfo::already_configured() to correctly determine if backend requires setup
Fixes issues when using JACK backend in combination with others, that prevented connecting to an existing JACK server.
2014-05-01 09:15:26 -04:00
Paul Davis
55ce05c486 call AudioBackend::drop_device() when dropping a backend.
It is not clear that ::drop_device() is part of the same semantic operation as ::stop(), so
we call them separatey
2014-03-24 13:42:11 -04:00
John Emmas
06fe0a5172 Create 'libs/ardour/search_paths.cc/.h' and transfer backend_search_path() to it 2014-03-10 16:24:05 +00:00
Paul Davis
55f6c5ab76 remove unused and unimplementable audio engine sample format code 2014-02-24 14:46:08 -05:00
Paul Davis
e58b337c84 add (finally) DEBUG::AudioEngine bit and convert existing debug trace messages to use it 2014-02-24 13:51:31 -05:00
Paul Davis
3020b224fa Merge windows+cc branch into cairocanvas branch. Not finished, need to now merge windows branch to get changes from there 2014-01-10 16:07:57 -05:00
Paul Davis
ce7bfb489c change "cpu" in cpu load backend functions 2013-12-04 11:48:31 -05:00
Paul Davis
7fec991077 fix thinko in declaration of ARDOUR::PortEngine::get_port_by_name() 2013-10-28 09:46:59 -04:00
Paul Davis
cfe42bc4ea fix issues with recording while synced to JACK (non-pure-virtual method added to AudioBackend) and remove pause() from AudioEngine/AudioBackend APIs 2013-10-21 16:24:24 -04:00
John Emmas
e466ce40ad Merge branch 'master' into windows+cc
Conflicts (hopefully resolved):
	gtk2_ardour/ardour_ui.cc
2013-10-14 19:31:22 +01:00
John Emmas
b4d0d47b63 'AudioEngine::discover_backends()' - When building a debuggable backend module on Windows (e.g. jack_backend.dll) accommodate the Windows convention that Debug builds generally have a suffix added to their name 2013-10-14 17:19:39 +01:00
Paul Davis
fdda8127ef adapt AudioEngine to new AudioBackend API 2013-10-12 10:03:50 -04:00
Tim Mayberry
025adbe920 Add AudioEngine::set_default_backend 2013-10-11 22:36:19 +10:00
Paul Davis
2a6a16f980 merge with master, fixing conflicts in 3 wscript files 2013-10-09 14:00:42 -04:00
Paul Davis
465b800d8b when looking for backends, search for *.dll as well as *.so and *.dylib 2013-10-09 13:57:00 -04:00
Paul Davis
da7d3afc87 use AudioEngine destructor to do necessary stuff when shutting it down, and remove unused Config stuff in AudioEngine 2013-10-07 20:30:06 -04: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
Paul Davis
302b08c059 Merge branch 'master' into windows 2013-09-17 21:22:56 -04:00
Paul Davis
f51537b71d substantive changes to allow the audio/MIDI setup dialog to change settings as intended
So far only tested with JACK backend, but expected to be more correct for other backends too
2013-09-17 21:09:13 -04:00
Paul Davis
32452bb3b3 fix crash caused by trying to unregister null ports 2013-09-17 10:01:02 -04:00
Paul Davis
5cf1f7f3b2 Merge branch 'master' into windows 2013-09-13 12:35:10 -04:00
Paul Davis
dce6b71e82 use visibility control on JACK audio backend, so that we can import this change into windows branch 2013-09-13 12:32:50 -04:00
Paul Davis
4861eca974 Merge branch 'master' into windows 2013-09-13 11:55:56 -04:00
Paul Davis
f9d08daa47 change inheritance so that an AudioBackend IS-A PortEngine
This allows a derived (concrete) implementation to share information (e.g. sample rate, buffer size)
between the audio backend side of things and the port management side of things.
2013-09-13 11:21:15 -04:00
Paul Davis
ccc81f05be remove some debug output messages 2013-09-12 17:25:01 -04:00
Paul Davis
28d692b490 don't stop metering thread when session is removed; move engine-setup code into its own method. sorry, ardour build-from-source folk :) 2013-09-12 17:25:01 -04:00
Paul Davis
7c88670680 lots of changes to auto-start (and stop) the backend for latency measurements, and continuing work on the session construction/engine configuration flow 2013-09-12 16:28:51 -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
Paul Davis
bb826f4bee incomplete merge of master into windows (requires upcoming changes to master to be complete) 2013-09-12 11:28:50 -04:00
Paul Davis
91e2eab01a make use of measured latency values to set dialog controls, and use actual port latency to compute extra delay 2013-09-11 13:02:32 -04:00
Paul Davis
7c3535ebf8 make quit work even when latency measurement is in progress 2013-09-11 10:06:02 -04:00
Paul Davis
d305dc1e0c more tweaks to latency measurement
don't open ports till absolutely necessary (store names for future use).

tidy up parts of the dialog (tab)
2013-09-10 23:25:15 -04:00
Paul Davis
676ff80697 basic functionality for hardware latency measurement 2013-09-10 22:58:33 -04:00
Paul Davis
1c49138e00 move MidiPortManager from AudioEngine to Session
This makes the responsibilities and ownership of non-Route related MIDI ports
more clear, and removes a few wierd bits of code. It also ensures that open/close/open
on the same session will retain connections for those MIDI ports
2013-09-05 13:22:34 -04:00
Paul Davis
35cc3245db rename interface_ stuff in the engine dialog to device_, since that feels a bit clearer terminology 2013-09-04 12:37:44 -04:00
Paul Davis
ceaad0b287 fix a few minor compilation warnings 2013-09-03 08:46:57 -04:00
Paul Davis
cec2a3da36 allow ardour to exit after JACK disconnects us 2013-08-09 16:57:23 -04:00
Paul Davis
a34d707175 split up session code that uses parts of the JACK API (timebase + session event handling) and connect it directly to the jack audiobackend
i've made the audiobackend call the session directly so that only one object (ARDOUR::Session) has a need for the JACK types
and only one .cc file (session_jack.cc) needs jack.h. having ARDOUR::AudioEngine act as an intermediary would be cleaner
conceptually but would end up causing two different ARDOUR objects to have jack types in their own API.
2013-08-09 12:15:37 -04:00
Paul Davis
fcb76c8c05 fix freewheeling 2013-08-08 22:12:52 -04:00
Paul Davis
3070cd723b fix crashes, clean up session code warmup and other details in audioengine 2013-08-08 19:32:56 -04:00
Paul Davis
d90e2b4221 rationalize (a bit) engine start/stop/restart so that it is possible to start up, disconnect from JACK and then reconnect 2013-08-08 16:31:08 -04:00
Paul Davis
1ab61b8564 major redesign of MIDI port heirarchy and management (part 2) 2013-08-07 22:22:11 -04:00