13
0
Commit Graph

398 Commits

Author SHA1 Message Date
Carl Hetherington
24b418598a Make EnumWriter exceptions a bit more informative.
git-svn-id: svn://localhost/ardour2/branches/3.0@12758 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-18 18:28:19 +00:00
Carl Hetherington
5ac22e9095 Add new SharedStatefulProperty which manages a shared_ptr to
some Stateful object, and a subclass to use this for
AutomationList.  SharedStatefulProperty will manage undo / redo
using full copies of the XML state, like MementoCommand,
but does it within the Property undo system.



git-svn-id: svn://localhost/ardour2/branches/3.0@12740 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-16 17:20:10 +00:00
38897f7df4 add use of access(2) to filesystem exists_and_is_writable() implementation, to pick up filesystems mounted read-only
git-svn-id: svn://localhost/ardour2/branches/3.0@12701 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-13 15:09:40 +00:00
Carl Hetherington
ec362b39ad Missing files.
git-svn-id: svn://localhost/ardour2/branches/3.0@12469 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-28 16:48:39 +00:00
Carl Hetherington
7eb8a33910 Add path_is_within to decide if a path is within a given
directory, taking symlinks into account, and use it to
decide whether a file is within the session folder.  Should
fix #4552.


git-svn-id: svn://localhost/ardour2/branches/3.0@12468 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-28 16:32:41 +00:00
Carl Hetherington
99c1aacc23 Fix up tests now that operator= on ScopedConnection disconnects the old connection that it held.
git-svn-id: svn://localhost/ardour2/branches/3.0@12395 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-23 16:22:51 +00:00
Carl Hetherington
23a615a6db Must disconnect old UnscopedConnection when setting a new one in operator=, otherwise the old one is leaked.
git-svn-id: svn://localhost/ardour2/branches/3.0@12356 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-21 10:26:10 +00:00
813c5f0af9 major rationalization of use of search paths. ardour now has just 4 functions used to define how external resources are located: ardour_config_search_path() (for system or user specific configuration data), ardour_data_search_path() (for machine, user and system independent data), ardour_dll_directory() (base directory where shared libraries are found) and user_config_directory(). These are now used throughout the code. the config, data and dll paths/directories can be overridden by environment variables. the user config dir is added as the first element of the first two search paths, and use selectively when searching for a few other things.
This commit re-enabes ./waf install, and it is believed that it works fully at this point (more testing likely required)

git-svn-id: svn://localhost/ardour2/branches/3.0@12326 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-18 17:24:06 +00:00
8647471379 Fix posix_memalign checks.
git-svn-id: svn://localhost/ardour2/branches/3.0@12316 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-17 00:54:43 +00:00
Carl Hetherington
8aca90e593 Fix libpbd tests.
git-svn-id: svn://localhost/ardour2/branches/3.0@12315 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-16 23:11:16 +00:00
Carl Hetherington
312c4e22a7 Align the address of the pointer to the fxsave block to a 16-byte boundary (as well as the pointer itself), which the internets seem to suggest is required.
git-svn-id: svn://localhost/ardour2/branches/3.0@12313 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-16 22:43:23 +00:00
Carl Hetherington
c95fb95f3a Tweak comment.
git-svn-id: svn://localhost/ardour2/branches/3.0@12310 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-16 12:10:06 +00:00
c1300a0172 reset _signal member of a Connection so that we will never try to disconnect twice
git-svn-id: svn://localhost/ardour2/branches/3.0@12299 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-16 00:06:16 +00:00
23f03f995f remove two instances of static/global ScopedConnectionList. one remains worth thinking about for semantics (libs/pbd/controllable.cc:registry_connections)
git-svn-id: svn://localhost/ardour2/branches/3.0@12295 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-15 15:32:53 +00:00
Carl Hetherington
b54779ec41 Try to make signals.h.py more cross-python-version compatible.
git-svn-id: svn://localhost/ardour2/branches/3.0@12285 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-15 10:43:47 +00:00
Carl Hetherington
4d22a4345a Tidy up a bit.
git-svn-id: svn://localhost/ardour2/branches/3.0@12283 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-15 00:06:37 +00:00
Carl Hetherington
a6fdd6c915 Maybe fix typename / no-typename problems better.
git-svn-id: svn://localhost/ardour2/branches/3.0@12282 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-15 00:06:33 +00:00
Carl Hetherington
5bbbc98533 Add missing file.
git-svn-id: svn://localhost/ardour2/branches/3.0@12280 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-15 00:06:17 +00:00
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