ardour/libs/pbd/pbd
David Robillard 338e83d9dc Implement LV2 worker extension.
This is done by way of a generic Worker object/thread, which currently just
applies to one LV2 plugin, but the idea is to share one thread and set of
buffers among many plugins.  The same pattern may also be useful elsewhere in
Ardour.  The responding part gets a bit tricker when sharing a worker between
plugins, it's not a blocker, and I'm lazy, sooo here's this.

This commit also adds a new portable in-process semaphore to PBD.  The existing
one is pretty weird and uses a named semaphore on OSX for reasons unknown to
me.  Perhaps as a quick fix to avoid POSIX semaphores being utterly broken on
OSX?  It would probably be a good idea to replace that with this new one, which
uses Mach kernel semaphores on OSX which work well, though I am not sure how
pedantically real-time safe they are to signal.


git-svn-id: svn://localhost/ardour2/branches/3.0@11790 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-05 00:15:54 +00:00
..
.cvsignore
.DS_Store
abstract_ui.cc forward port thread/abstract_ui changes from 2.X to 3.0 2011-02-07 18:21:50 +00:00
abstract_ui.h remove Evoral::RingBuffer, which was (a) duplicating PBD::RingBufferNPT and (b) broken; replace it with PBD::RingBufferNPT 2011-03-26 19:01:12 +00:00
base_ui.h handle deletion of UI objects between the time that a callback is queued with the UI event loop and the execution of the callback (intrusive, big) 2010-03-30 15:18:43 +00:00
basename.h
boost_debug.h #ifdef-ize all/most uses of the boost debug hooks API 2011-02-10 18:33:43 +00:00
cartesian.h switch cartesian/spherical function names and make them use length. still a tweak needed here 2011-02-24 18:55:33 +00:00
clear_dir.h add new files 2010-07-16 15:45:24 +00:00
command.h Fix crossfade undo using the stateful diff system. Fixes #3257. 2010-08-26 01:44:11 +00:00
compose.h
controllable.h Reinstate user Controllable values, as they are needed 2012-01-21 16:38:56 +00:00
controllable_descriptor.h merge 3.0-panexp (pan experiments) branch, revisions 8534-8585 into 3.0, thus ending 3.0-panexp. THIS COMMIT WILL BREAK ALL EXISTING 3.0 SESSIONS IN SOME WAY (possibly not fatally). 2011-01-27 01:31:03 +00:00
convert.h Remove unused ustring version of url_decode(). Rework 2012-04-01 14:30:06 +00:00
cpus.h use JACK thread creation functions to create process-graph threads; provide GUI control over number of threads-relative-to-number-of-CPUS 2010-06-24 14:13:45 +00:00
crossthread.h Update region peak amplitude when the region is trimmed (#3931). 2011-04-04 12:21:26 +00:00
debug.h new DEBUG_ENABLED(bits) macro, potentially useful here and there 2011-12-28 21:01:52 +00:00
debug_rt_alloc.h Fix build. 2011-01-19 21:52:46 +00:00
demangle.h use #include <typeinfo> before using typeid 2012-03-01 20:25:31 +00:00
destructible.h cleanup up cleanup at session destruction; clarify the meaning of 3 signals (DropReferences & Destroyed in libardour ; CatchDeletion in the GTK UI); clarify ownership of objects (session no longer pays attention to DropReferences for objects that it is considered to own, such as routes, sources, etc); fix up MIDI parsing and a couple of other places by correcting syntax for return of values from a boost::signals2::signal (possible danger elsewhere to be checked) 2009-12-22 20:21:43 +00:00
enumwriter.h Add basic test of playlist layering. 2011-12-15 14:33:20 +00:00
epa.h forward port EPA changes from 2.X 2011-01-07 16:25:57 +00:00
error.h
event_loop.h Allow cross-thread request invalidators to cope with multiple requests 2010-04-03 00:42:39 +00:00
failed_constructor.h
fastlog.h
file_manager.h Assorted doxygen fixes; no functional changes. 2011-05-23 22:12:45 +00:00
file_utils.h
filesystem.h Save templates as directories with plugin state, if 2011-12-11 20:38:42 +00:00
filesystem_paths.h
forkexec.h
fpu.h
functor_command.h
id.h make Stateful::_id private and provide appropriate methods to set it, and use them throughout ardour 2011-10-18 13:18:47 +00:00
locale_guard.h
malign.h
mathfix.h
memento_command.h Use a MementoCommandBinder for Crossfades so that the undo record can contain details for crossfades that are subsequently deleted (#4325). 2011-09-21 15:54:19 +00:00
mountpoint.h
openuri.h changes from 2.X starting in march 2009 through oct 20 2009 (5826 inclusive) 2010-03-16 15:33:04 +00:00
pathscanner.h
pool.h Prevent crash in pool destruction during session teardown. 2010-04-14 23:58:20 +00:00
properties.h Clarify commentary slightly. No functional changes. 2010-12-28 03:05:09 +00:00
property_basics.h Clarify commentary slightly. No functional changes. 2010-12-28 03:05:09 +00:00
property_basics_impl.h the mega-properties/SequenceProperty patch. split is broken at present (right hand starts has start-in-source of zero) 2010-03-02 00:00:00 +00:00
property_list.h Modify StatefulDiffCommand undo record to only contain the changes in one direction, as the other direction can be inferred. Breaks session history file compatibility. 2010-08-25 17:31:57 +00:00
property_list_impl.h the mega-properties/SequenceProperty patch. split is broken at present (right hand starts has start-in-source of zero) 2010-03-02 00:00:00 +00:00
pthread_utils.h change the way thread name is managed and accessed; store thread name for JACK thread(s); remove bits of debugging output 2009-12-26 16:15:11 +00:00
rcu.h
receiver.h
replace_all.h
ringbuffer.h const correctness. 2010-06-29 13:47:11 +00:00
ringbufferNPT.h remove Evoral::RingBuffer, which was (a) duplicating PBD::RingBufferNPT and (b) broken; replace it with PBD::RingBufferNPT 2011-03-26 19:01:12 +00:00
search_path.h Assorted doxygen fixes; no functional changes. 2011-05-23 22:12:45 +00:00
selectable.h
semaphore.h Implement LV2 worker extension. 2012-04-05 00:15:54 +00:00
semutils.h fix linux side of semaphore abstraction 2010-11-16 20:01:01 +00:00
sequence_property.h Assorted doxygen fixes; no functional changes. 2011-05-23 22:12:45 +00:00
shortpath.h
signals.h Add Signal5. 2011-09-26 22:22:14 +00:00
sndfile_manager.h Assorted doxygen fixes; no functional changes. 2011-05-23 22:12:45 +00:00
stacktrace.h
stateful.h Clear up confusion with overloads of _frozen and frozen() 2011-12-17 16:37:18 +00:00
stateful_diff_command.h Fix crossfade undo using the stateful diff system. Fixes #3257. 2010-08-26 01:44:11 +00:00
statefuldestructible.h switch to using boost::signals2 instead of sigc++, at least for libardour. not finished yet, but compiles, loads sessions, records and can close a session without a crash 2009-12-17 18:24:23 +00:00
stl_delete.h
stl_functors.h
strsplit.h
textreceiver.h
thrown_error.h
tokenizer.h
touchable.h
transmitter.h
undo.h Fix undo nesting. 2011-01-19 17:38:46 +00:00
unknown_type.h
unwind.h new file, a small idea 2012-01-18 01:34:53 +00:00
uuid.h revert earlier changes to uuid class, but keep boost version in svn for the future 2011-02-08 02:21:15 +00:00
uuid_boost.h revert earlier changes to uuid class, but keep boost version in svn for the future 2011-02-08 02:21:15 +00:00
whitespace.h use isspace() and not isgraph() to identify whitespace; remove Glib::ustring version of strip_whitespace_edges() 2010-09-14 16:50:22 +00:00
xml++.h some deep changes to xml++ in which we retain a C-level xmlDocPtr as a member of an XMLTree objects. this allows us to do repeated XPATH searches (as in the midnam parser of libmidi++) without constantly rewriting an entire tree into memory to recreate a new xmlDocPtr with which we can search. Since XMLTree objects don't typically stay around for very long, just when serializing to/from disk, this is not anticipated to have much (if any) impact on memory consumption 2012-03-20 18:01:07 +00:00