13
0
Commit Graph

380 Commits

Author SHA1 Message Date
Carl Hetherington
32bed9aaf0 Make ScopedConnectionList's mutex non-static so that one
list's destruction can cause another without a
deadlock.


git-svn-id: svn://localhost/ardour2/branches/3.0@12279 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-15 00:06:06 +00:00
Carl Hetherington
14a86aaccc Merge old a new signals code into one set of classes.
git-svn-id: svn://localhost/ardour2/branches/3.0@12278 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-15 00:05:57 +00:00
Carl Hetherington
0c3f6d9819 Remove the need for a shared_ptr for Signal; signal
tells its connections that it's going away, instead.


git-svn-id: svn://localhost/ardour2/branches/3.0@12277 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-15 00:05:25 +00:00
Carl Hetherington
42267ff78c Remove debug output.
git-svn-id: svn://localhost/ardour2/branches/3.0@12276 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-15 00:04:36 +00:00
Carl Hetherington
f012a84e62 Build libs/pbd/pbd/signal.h from its generator python
script.


git-svn-id: svn://localhost/ardour2/branches/3.0@12268 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-14 17:46:07 +00:00
1e0fd01815 drop boost::signals2 and replace with carl's solution which continues to 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-05-14 17:18:48 +00:00
37969d837e remove virtual inheritance of sigc::trackable by Receiver and AbstractUI<T>, done by changing Gtkmm2ext::UI to use composition (HAS-A) rather than inheritance (IS-A) for Receiver; use correct synchronization when starting up a BseUI event loop thread so that tests that start/stop quickly do not encounter a race condition
git-svn-id: svn://localhost/ardour2/branches/3.0@12264 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-14 17:07:53 +00:00
69a242ba64 fix for --test build on OSX
git-svn-id: svn://localhost/ardour2/branches/3.0@12262 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-14 13:34:50 +00:00
4302649bd9 Fix compilation on Windows. Probably.
git-svn-id: svn://localhost/ardour2/branches/3.0@12246 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-10 21:53:01 +00:00
482e15a424 correct cut-n-paste error in new comments for signals.h
git-svn-id: svn://localhost/ardour2/branches/3.0@12230 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-09 18:16:12 +00:00
73161988bb add some explanatory comments to pbd/signals.h
git-svn-id: svn://localhost/ardour2/branches/3.0@12226 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-09 16:25:50 +00:00
Carl Hetherington
c8f6f87ea7 Fix critical glib warning if a BaseUI is quit without
being started.


git-svn-id: svn://localhost/ardour2/branches/3.0@12219 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-09 10:34:00 +00:00
7a76168b66 more fixes/tweaks from the land of the lion
git-svn-id: svn://localhost/ardour2/branches/3.0@12150 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-02 20:45:17 +00:00
a562e5f7f2 another quick OS X Lion gcc suggestion
git-svn-id: svn://localhost/ardour2/branches/3.0@12149 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-02 20:33:39 +00:00
Carl Hetherington
e455805d2b Possibly hacky fix for tests on newer Ubuntu (or maybe
its gcc 4.6.3)


git-svn-id: svn://localhost/ardour2/branches/3.0@12110 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-27 16:43:05 +00:00
d5e14b3d91 eventloop and abstractui debugging, lots more commenting on abstractui/eventloop implementation; minor tweaks elsewhere
git-svn-id: svn://localhost/ardour2/branches/3.0@12076 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-24 16:45:38 +00:00
a9d77d1a70 remove various debugging output
git-svn-id: svn://localhost/ardour2/branches/3.0@12070 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-24 02:35:33 +00:00
33140f3267 add support for IP MIDI (multicast MIDI over IP UDP sockets) to ardour and use it if requested inside MCP code. required renaming the pre-existing MIDI::Port as MIDI:JackMIDIPort - MIDI::Port becomes the base type for both JackMIDIPort and IPMIDIPort
git-svn-id: svn://localhost/ardour2/branches/3.0@12069 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-24 02:28:51 +00:00
Carl Hetherington
9befa88deb Fix some warnings.
git-svn-id: svn://localhost/ardour2/branches/3.0@12048 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-20 23:34:15 +00:00
d6051c9953 move string_is_affirmative() into libpbd
git-svn-id: svn://localhost/ardour2/branches/3.0@11936 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-12 11:45:40 +00:00
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
Carl Hetherington
47faebb367 Missing file.
git-svn-id: svn://localhost/ardour2/branches/3.0@11779 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-02 13:52:36 +00:00
Carl Hetherington
7f417fb44f Remove unused ustring version of url_decode(). Rework
the other version to be a bit simpler, avoiding #4800.


git-svn-id: svn://localhost/ardour2/branches/3.0@11771 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-01 14:30:06 +00:00
Carl Hetherington
3240a93aad Fix libpbd tests and add test for url_decode().
git-svn-id: svn://localhost/ardour2/branches/3.0@11770 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-01 14:29:26 +00:00
Carl Hetherington
4c0b104db5 Fix test build.
git-svn-id: svn://localhost/ardour2/branches/3.0@11738 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-03-21 01:07:05 +00:00
71b3c8cfe1 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
git-svn-id: svn://localhost/ardour2/branches/3.0@11733 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-03-20 18:01:07 +00:00
3c7f9586ae implement XMLNode::operator=() as a deep operation with the same semantics as the XMLNode copy constructor. attempt to share as much code as possible between them and the destructor
git-svn-id: svn://localhost/ardour2/branches/3.0@11612 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-03-07 02:07:35 +00:00
f72ecaf54a use #include <typeinfo> before using typeid
git-svn-id: svn://localhost/ardour2/branches/3.0@11576 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-03-01 20:25:31 +00:00
Carl Hetherington
4381b590bb Reinstate user Controllable values, as they are needed
for gain (which I forgot about).


git-svn-id: svn://localhost/ardour2/branches/3.0@11293 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-21 16:38:56 +00:00
Carl Hetherington
d03d0363a4 Remove unused concept of user' values. Make user_to_ui
and ui_to_user virtual members of PBD::Controllable.


git-svn-id: svn://localhost/ardour2/branches/3.0@11286 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-20 18:02:36 +00:00
567153e4fb new file, a small idea
git-svn-id: svn://localhost/ardour2/branches/3.0@11257 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-18 01:34:53 +00:00
d51f3e34b4 complete the do-not-free-data-from-getmntinfo() fix
git-svn-id: svn://localhost/ardour2/branches/3.0@11232 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-11 18:14:18 +00:00
e7bb933477 fix nasty memory-related crashes caused by not noticing a bug in getmntinfo() on OS X, which disallows free()-ing memory allocated by that function
git-svn-id: svn://localhost/ardour2/branches/3.0@11211 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-09 22:02:10 +00:00
Carl Hetherington
9b975dce38 Fix typo.
git-svn-id: svn://localhost/ardour2/branches/3.0@11202 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-09 01:59:52 +00:00
0ddff57b50 sort debug options
git-svn-id: svn://localhost/ardour2/branches/3.0@11194 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-08 16:38:49 +00:00
c3a52084f8 new DEBUG_ENABLED(bits) macro, potentially useful here and there
git-svn-id: svn://localhost/ardour2/branches/3.0@11102 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-28 21:01:52 +00:00
a556546291 explain MXCSR shenanigans in libs/pbd/fpu.cc
git-svn-id: svn://localhost/ardour2/branches/3.0@11079 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-26 22:32:21 +00:00
Carl Hetherington
39f765614a Clear up confusion with overloads of _frozen and frozen()
meaning different things.


git-svn-id: svn://localhost/ardour2/branches/3.0@11016 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-17 16:37:18 +00:00
Carl Hetherington
084cd5ffda Add basic test of playlist layering.
git-svn-id: svn://localhost/ardour2/branches/3.0@11011 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-15 14:33:20 +00:00
Carl Hetherington
73a91402cd Save templates as directories with plugin state, if
there is any, and copy that state to sessions created
from those templates.  Should fix #4525.  Breaks
existing session templates, sorry; they can be fixed by
moving the .template file into a new directory with the
name of the template (minus the .template).


git-svn-id: svn://localhost/ardour2/branches/3.0@10982 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-11 20:38:42 +00:00
639bb7dc5d use compiler-generated _LP64 macro to detect x86_64 rather than USE_X86_64_ASM
git-svn-id: svn://localhost/ardour2/branches/3.0@10871 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-02 20:38:31 +00:00
Carl Hetherington
01acbbea80 Speculative fix for crash with untranslated messages
without | in them (#4521).


git-svn-id: svn://localhost/ardour2/branches/3.0@10838 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-11-29 21:43:40 +00:00
091b9ff7b9 tweak wscript files to set PACKAGE in one place
git-svn-id: svn://localhost/ardour2/branches/3.0@10747 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-11-21 22:24:56 +00:00
Carl Hetherington
5c73926324 Simple ambiguitity-resolution wrapper for gettext; use for
Manual (#4496).


git-svn-id: svn://localhost/ardour2/branches/3.0@10720 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-11-21 00:04:44 +00:00
Carl Hetherington
0c9c47086c Slightly unpleasant fix for creation of tracks from
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-11-16 23:03:59 +00:00
535f52c1b5 remove stupid symlink stuff
git-svn-id: svn://localhost/ardour2/branches/3.0@10635 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-11-16 00:13:42 +00:00
a8615b40a1 utility function to detect symlinks
git-svn-id: svn://localhost/ardour2/branches/3.0@10605 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-11-15 01:25:18 +00:00
4bd00b89c7 utility function to detect symlinks
git-svn-id: svn://localhost/ardour2/branches/3.0@10604 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-11-15 01:25:03 +00:00
bf8f0b2cb5 Apply patch from timbyr to fix building with --test.
git-svn-id: svn://localhost/ardour2/branches/3.0@10561 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-11-13 03:54:29 +00:00
Carl Hetherington
4c2f9dd11b Add function to recover a full path from something like '.'
git-svn-id: svn://localhost/ardour2/branches/3.0@10284 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-10-22 21:46:46 +00:00