Age | Commit message (Collapse) | Author |
|
|
|
|
|
* Processor implement get_state(), classes derived from Processor
implement protected ::state() -- as documented in processor.h
* likewise for Route, Track: make ::state() a protected interface
* removal of "full_state", use explicit "template_save"
* use RAII/Unwind to skip saving automation-state
|
|
This was only needed in order to run the meter on inputs when Ardour did
no processing at all.
|
|
IO::connected_latency() is relevant once Ardour publishes individual
per Port latency.
IO::public_latency() is only for debug purposes.
|
|
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
|
|
|
|
IO used to manually keep a list of user bundles it was connected to, but
it didn't work correctly: sometimes it didn't notice that a bundle
wasn't connected anymore, and the list wasn't correctly persisted across
save/reloads among other things.
Moreover, it wasn't needed at all, since the user bundles are correctly
listed by _session.bundles() and IO already notices they are connected !
Remove all occurrences of |_bundles_connected| and |check_bundles_connected|.
|
|
Forward the optional |allow_partial| boolean to |Bundle::connect|.
|
|
|
|
Add to source files that use LocaleGuard
Results in far less recompiling when pbd/locale_guard.h changes
|
|
There are no float <=> string conversions that require a LocaleGuard and all
conversions are performed using PBD::to_string/string_to via XMLNode
|
|
Possible issue with numeric formatting using std::streams in locales with
grouping. Although I don't think it would be an issue in this case use locale
independant alternative for numeric formatting anyway.
|
|
|
|
|
|
|
|
|
|
|
|
Jack2 calls back from a notification thread and the callback (PortManager::connect_callback())
could end up holding the final reference on 1 or more ports. The ports would then be
unregistered as we leave the callback scope, which is illegal (no server calls from
a notification thread)
|
|
|
|
unnecessary errors
|
|
IO::copy_to_output() crashed if there was no channel to copy from. Since
all callers seem to check before calling, just assert() that it is not
the case.
|
|
Pass current (latency compensated) cycle times to plugin.
This fixes time-reporting to plugins and also fixes automation
and when bouncing (the session->transport* is not valid) etc.
|
|
|
|
|
|
|
|
In the wake of 81faa3b420303eec2ca0e3. Disconnect Signal from process
callback, may notify an IO that just reached a zero shared ptr refcount
due to route-deletion (GUI thread) resulting in a double free.
|
|
|
|
|
|
|
|
|
|
This results in identical XML if the session did not change, allowing
to keep track of state-changes easily (e.g. session file in git).
Thanks to deva (again).
|
|
|
|
|
|
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
|
|
|
|
return an invalid ptr, so let's make sure we test for it)
Note 1: Potentially we could have the same issue with 'AutomationLine::nth()' (although the current code seems okay)
Note 2: This (specific) problem seems mostly to affect Mixbus3 when it tries to load an old (version2) session from Ardour2. Mixbus can mark certain IO ports as being 'unused'. While loading sessions, function 'ARDOUR::IO::ensure_ports_locked()' deletes any unused ports. But later, the function 'ARDOUR::IO::make_connections_2X()' was crashing while trying to connect those (now NULL) ports. This commit fixes that crash but there's some evidence that it might only have moved the problem elsewhere. The version2 sessions now open successfully - but an MSVC (Debug) build now crashes whilst closing them (the Release build however, is okay). Someone who's more familiar with the code than me should review the Mixbus3/Ardour2 loading procedure to make sure it's safe.
|
|
operation is undefined. C works on all platforms
|
|
|
|
|
|
Similar change has already been made in master branch
|
|
to be complete)
|
|
|
|
|
|
|
|
(required to be buildable with MSVC)
|
|
links and runs as far as the startup screen now
|
|
|
|
for state descriptions see
http://www.oofus.co.uk/ardour/Ardour3MonitorModesV3.pdf
|
|
glib uses TryEnterCriticalSection on windows which will return true
if the lock as able to be locked *or* is already locked by the current
thread.
|