summaryrefslogtreecommitdiff
path: root/libs/ardour/io.cc
AgeCommit message (Collapse)Author
2016-10-17add more DEBUG_TRACE statements for port/destruction debuggingPaul Davis
2016-08-08fix race condition when dropping PortsPaul Davis
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)
2016-07-14enough with umpteen "i18n.h" files. Consolidate on pbd/i18n.hPaul Davis
2016-07-14regenerate and manually fix all PO files so that ./waf i18n doesn't generate ↵Paul Davis
unnecessary errors
2016-07-09Assert that nobody calls IO::copy_to_output with empty bufsJulien "_FrnchFrgg_" RIVAUD
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.
2016-06-25major internal plugin & processor API change:Robin Gareus
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.
2016-05-07fix LocaleGuard contstructor (3dc77280)Robin Gareus
2016-05-05we always only use the "C" locale when saving.Robin Gareus
2016-05-04OMNIBUS COMMIT: prefer const XMLNode::property method (and provide a real one)Paul Davis
2016-04-18fix possible crash at session close.Robin Gareus
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.
2016-04-17add IOProcessors pretty name supportRobin Gareus
2016-04-03small optimization, read-only buffer suffices here.Robin Gareus
2015-10-05remove unused fstream includesRobin Gareus
2015-10-05NOOP, remove trailing tabs/whitespace.Robin Gareus
2015-09-27Sort ports in state-save.Robin Gareus
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).
2015-08-07remove more cruft (dead assignments)Robin Gareus
2015-06-29Fixed a misprint in a commentGZharun
2015-06-29[Summary] Do not restore routes connection using XML IO state for ↵GZharun
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
2015-02-19fix some static-analysis warningsRobin Gareus
2015-01-27Don't try to dereference a NULL ptr (the function 'ARDOUR::IO::nth()' can ↵John Emmas
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.
2015-01-19use C locale, because POSIX locale is not supported on windows, and ↵Ben Loftis
operation is undefined. C works on all platforms
2014-11-18Clean up funny code and initialize variables.David Robillard
2014-11-18Fix broken logic and possible NULL pointer dereference for Bundle XML.David Robillard
2013-12-02Fix compilation on linux now that libardour no longer links to libjackTim Mayberry
Similar change has already been made in master branch
2013-09-12incomplete merge of master into windows (requires upcoming changes to master ↵Paul Davis
to be complete)
2013-08-09remove another naming that refers to JACKPaul Davis
2013-08-09'libs/ardour' - Correct an invalid buffer address (io.cc)John Emmas
2013-08-04'libs/ardour' - Platform specific changes and includesJohn Emmas
2013-08-04'libs/ardour' - Use 'std::vector' instead of dynamically sized arrays ↵John Emmas
(required to be buildable with MSVC)
2013-08-01start code reorganization needed to deal with backend choices. compiles, ↵Paul Davis
links and runs as far as the startup screen now
2013-07-17Merge branch 'master' into windowsPaul Davis
2013-07-16fix metering states 34, 38, 49, 50, 53 and 54Robin Gareus
for state descriptions see http://www.oofus.co.uk/ardour/Ardour3MonitorModesV3.pdf
2013-07-13Don't use trylock in assertions on windows as it will failPaul Davis
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.
2013-01-28port names are NOT translatablePaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@14024 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-18change input/output button context menus for mixer strip to be non-additive: ↵Paul Davis
when selecting a new IO bundle, disconnect from any existing connections before connecting to the new one (fixes #5087) git-svn-id: svn://localhost/ardour2/branches/3.0@13308 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-07-25convert from Glib:: to Glib::Threads for all thread-related APIPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@13084 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-07-17make it possible to (and actually do) name insert and send ports as "return" ↵Paul Davis
and "send" rather than "in" and "out" (#5012) git-svn-id: svn://localhost/ardour2/branches/3.0@13052 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-24Remove over 500 unnecessary includes (including 54 of session.h).David Robillard
It's slightly possible that this causes trivial build failures on different configurations, but otherwise shouldn't cause any problems (i.e. no actual changes other than include/naming/namespace stuff). I deliberately avoided removing libardour-config.h since this can mysteriously break things, though a few of those do seem to be unnecessary. This commit only targets includes of ardour/*.h. There is also a very large number of unnecessary includes of stuff in gtk2_ardour; tackling that should also give a big improvement in build time when things are modified. git-svn-id: svn://localhost/ardour2/branches/3.0@12420 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-14drop boost::signals2 and replace with carl's solution which continues to ↵Paul Davis
rely on boost::function and boost::bind but alters two important semantics of signals2: (1) when a Connection object is disconnected, the slot ("functor") associated with the connection is destroyed immediately, unlike signals2 where this is deferred to a subsequent connect/emit call on the signal (2) if one functor called by the signal disconnects another Connection, the functor represented by the Connection will NOT be called during the current signal emission (signals2 copies the slot list at the start of emission and calls everything in the slot list). this change fixes some very nasty crashes apparently caused by boost::signals2 assuming that the memory referenced by a functor remains valid after a disconnect (google will show other developers who had issues with this). git-svn-id: svn://localhost/ardour2/branches/3.0@12265 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-03-17remove debugging outputPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@11718 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-03-16continue the saga of Rewrite The XML Node So That It Can Be Used To Set ↵Paul Davis
Another Object's State by descending into an IO node to fix the names of its ports as used in connection info. allows copies of sends etc. to retain the same connections as the original (with new names, obviously) git-svn-id: svn://localhost/ardour2/branches/3.0@11717 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-26add Port::PostDisconnect signal to allow objects other than the one being ↵Paul Davis
directly disconnected to act when disconnection happens. This turns out to be much easier than using the JACK port connect/disconnect callback git-svn-id: svn://localhost/ardour2/branches/3.0@11355 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-18make monitor section an optional feature than can be added/removed as ↵Paul Davis
needed. this is a big commit, and breakage is possible. it has been moderately tested. this commit also locks the remote control ID of the master bus to 318 and the monitor section (if any) to 319. the numbers are based on MIDI Machine Control limits git-svn-id: svn://localhost/ardour2/branches/3.0@11256 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-26Comments.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@11070 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-10Don't try to process_input() if an IO has no ports; fixesCarl Hetherington
#4546. git-svn-id: svn://localhost/ardour2/branches/3.0@10965 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-07Check that adding a port to an IO is ok with the processorsCarl Hetherington
in its route, and raise an error if not (part of #4535). git-svn-id: svn://localhost/ardour2/branches/3.0@10938 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-11-16Slightly unpleasant fix for creation of tracks fromCarl Hetherington
templates; it would be nice if we could set things up using the Route's logic for setting names of its children, rather than repeating the same logic in XML-land (#4303). git-svn-id: svn://localhost/ardour2/branches/3.0@10655 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-10-28Use shared_ptr for Port in the AudioEngine; improves thread-safety of the ↵Carl Hetherington
audio engine's port list as a writer cannot destroy a port in one thread while the port list is being iterated in another. git-svn-id: svn://localhost/ardour2/branches/3.0@10327 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-10-27Minor cleanups to IO.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@10322 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-10-18make Stateful::_id private and provide appropriate methods to set it, and ↵Paul Davis
use them throughout ardour git-svn-id: svn://localhost/ardour2/branches/3.0@10222 d708f5d6-7413-0410-9779-e7cbd77b26cf