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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
4085309cdb
make Stateful::_id private and provide appropriate methods to set it, and use them throughout ardour
...
git-svn-id: svn://localhost/ardour2/branches/3.0@10222 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-10-18 13:18:47 +00:00
Carl Hetherington
fa590d385b
Add Signal5.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@10134 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-09-26 22:22:14 +00:00
Carl Hetherington
185b58f259
Use a MementoCommandBinder for Crossfades so that the undo record can contain details for crossfades that are subsequently deleted ( #4325 ).
...
git-svn-id: svn://localhost/ardour2/branches/3.0@10104 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-09-21 15:54:19 +00:00
1060243302
major, substantive reworking of how we store GUI information (visibility, height) for automation data. old design stored (insufficient) identifying information plus actual data in a GUI-only XML node; new scheme adds GUI data via extra_xml node to each AutomationControl object. reworked public/private methods for showing/hiding TimeAxisView objects; changed labelling of automation tracks to just show the name of the controlled parameter - more info can be viewed in the tooltip for the track headers. NOTE: Session file format ALTERED. No data loss but track visibility may be different than previous ardour3 versions
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9703 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-06-11 15:35:34 +00:00
Carl Hetherington
b6587ad160
Assorted doxygen fixes; no functional changes.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9575 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-05-23 22:12:45 +00:00
ee728d763d
allow invalidation-of-UI-request-by-object-deletion to work more often by setting the event loop record at connect time, not execution time
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9379 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-04-19 16:07:10 +00:00
93a24066de
add PBD::sys::path::exists_and_writable() method to help replace access(2)
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9338 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-04-09 15:27:22 +00:00
Carl Hetherington
02cfe41bff
Update region peak amplitude when the region is trimmed ( #3931 ).
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9276 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-04-04 12:21:26 +00:00
Carl Hetherington
05cc0f0db7
Spurious character in GPL boilerplate.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9241 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-03-30 12:36:53 +00:00
ea9979b4b9
remove Evoral::RingBuffer, which was (a) duplicating PBD::RingBufferNPT and (b) broken; replace it with PBD::RingBufferNPT
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9212 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-03-26 19:01:12 +00:00