Age | Commit message (Collapse) | Author |
|
|
|
JACK is not yet finished.
Changes also include minor reformatting and a spelling correction (latecies to latencies)
|
|
|
|
|
|
|
|
|
|
Since upcoming state-machine transitions are done in rt-context
via ARDOUR::Session::process_event () they should all in rt-context.
set_session() is called from the UI thread (and the process-lock wasn't
even taken)
|
|
requiring "users" of the library to arrange for it
|
|
* PortEngine::available() implementation
* AudioEngine::connected() wrapper
Eventually we may re-introduce PortEngine::available along
with a libardour internal port-engine.
|
|
|
|
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
|
|
shared_ptr<Port> now uses a deleter functor which pushes Port* to a lock-free FIFO so that the Port is
always deleted (and thus unregistered with the PortEngine/backend) in a safe context w.r.t. various
callbacks in the host. Currently the auto_connect_thread in Session has been tasked with doing these
deletions.
|
|
* add a threaded TmpFile Writer
* update API calls to that process_export_fw() can be used as
process_function
The idea is to re-use export infrastructure from normalization:
export to a tmp-file and then encode target formats after that.
|
|
|
|
|
|
Paul Davis was responsible for introducing almost all of this.
|
|
This will allow backends to return a more meaningful error message. Eventually
an error code could be returned by AudioEngine::start and the GUI can then use
AudioBackend::get_error_string to convert the error into a translated error
message directly, or it may be desirable to define its own error messages.
The reasons for not doing that right now is that this is a workable solution
with the least change required.
|
|
required resources initialized during process callback handling
Conflicts:
libs/ardour/ardour/audioengine.h
libs/backends/wavesaudio/waves_audiobackend.cc
libs/pbd/pbd/pool.h
|
|
The peak meter needs to withstand various test-signals
without visual jitter (in particular 1kHz sine) regardless
of settings (period-size, sample-rate, custom fall-off).
This needs to be done in sync (and not by a random non-rt
‘smoothing’ thread).
On the downside this voids the ‘visual smoothing’ particularly
with large buffersizes - but then again exactly this “always
fall-off no matter what [the next real data will be]” is the
problem.
One the upside, there’s one less high-frequency (100Hz) thread
(Yay!) PS. it probably never worked on windows, anyway.
Only peak-meters are affected by his change.
K-meters, IEC I/II and VU were never visually smoothed.
|
|
number of seconds
|
|
These were missed somehow during cherry-picking.
|
|
MIDI and Audio devices.
Made correct error handling for cases we didn't see before.
Removed redundant and experimental code I forgot to remove months ago.
Added debug output which will help in future testing
Conflicts:
libs/ardour/ardour/audioengine.h
libs/ardour/engine_state_controller.cc
libs/backends/wavesaudio/waves_midi_device.cc
|
|
critical device operations. Made device reset correctly when control panel is closed.
Conflicts:
gtk2_ardour/tracks_control_panel.logic.cc
libs/ardour/ardour/audioengine.h
libs/backends/wavesaudio/wavesapi/devicemanager/WCMRPortAudioDeviceManager.cpp
|
|
|
|
|
|
|
|
|
|
|
|
in libs/ardour and libs/backend/jack to fit with API changes
|
|
|
|
|
|
|
|
|
|
added to AudioBackend) and remove pause() from AudioEngine/AudioBackend APIs
|
|
|
|
|
|
|
|
remove unused Config stuff in AudioEngine
|
|
|
|
|
|
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.
|
|
measurements, and continuing work on the session construction/engine configuration flow
|
|
|
|
port latency to compute extra delay
|
|
don't open ports till absolutely necessary (store names for future use).
tidy up parts of the dialog (tab)
|
|
|
|
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
|
|
bit clearer terminology
|
|
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.
|
|
|