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