13
0
Commit Graph

391 Commits

Author SHA1 Message Date
401c7091c8 switch to use boost::function for UI::call_slot operations, to avoid a serious thread safety issue with libsigc++
git-svn-id: svn://localhost/ardour2/branches/3.0@6355 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-11 23:30:48 +00:00
d7de23db0f added comment
git-svn-id: svn://localhost/ardour2/branches/3.0@6352 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-11 19:23:45 +00:00
70b75d656e add CTClosure for a closure that takes one argument at call time
git-svn-id: svn://localhost/ardour2/branches/3.0@6351 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-11 19:22:59 +00:00
9fa8a7e9c2 add comments and remove debug output
git-svn-id: svn://localhost/ardour2/branches/3.0@6350 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-11 18:21:08 +00:00
12172ff178 thread-safe but lifetime-unsafe closures for passing closures around instead of sigc::slot, which is thread-unsafe but lifetime-safe (lifetime safe means that the slot is guaranteed to be safe to use no matter what the lifetime of the object to which it refers is)
git-svn-id: svn://localhost/ardour2/branches/3.0@6349 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-11 18:08:30 +00:00
53bbac4eb6 fix compilation breakages from the last commit
git-svn-id: svn://localhost/ardour2/branches/3.0@6347 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-11 03:18:17 +00:00
2983f8de97 (MAY BREAK COMPILATION - unfinished work, being transferred between machines via svn) ... start to make MidiControllable bind to a URI, not an object
git-svn-id: svn://localhost/ardour2/branches/3.0@6346 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-11 02:00:22 +00:00
b1a7fd9366 avoid double delete of UI objects caused by default behaviour of Glib::Private
git-svn-id: svn://localhost/ardour2/branches/3.0@6341 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-10 20:50:12 +00:00
90d6916ca3 restore rec-enable, solo & mute functionality; remove all Global*Command cruft; reimplement momentary solo&mute; refactor session RT event stuff to be even cleaner and finally compatible with everything-is-a-UI idea ; make all UIs derive from a primitive type that pprovides only void call_slot (sigc::slot<void>) as a way to execute arbitrary code in the UI thread
git-svn-id: svn://localhost/ardour2/branches/3.0@6338 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-10 17:45:18 +00:00
b8b55ef003 OSC is now driven by an event loop; fix up lifetime mgmt of Glib::Source to workaround bug in Glib
git-svn-id: svn://localhost/ardour2/branches/3.0@6329 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-09 18:37:06 +00:00
c38e02285f major design changes: use glib event loop for MIDI thread/UI; rework design of BaseUI and AbstractUI; solo & mute are both temporarily broken; OSC control up next; may segfault during exit
git-svn-id: svn://localhost/ardour2/branches/3.0@6328 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-09 03:05:14 +00:00
Taybin Rutkin
52b4b464f9 Merged revisions 6292,6294-6295,6311,6314 via svnmerge from
svn+ssh://ardoursvn@subversion.ardour.org/ardour2/branches/build_fixes

........
  r6292 | trutkin | 2009-12-05 08:31:25 -0500 (Sat, 05 Dec 2009) | 1 line
  
  remove scons build files
........
  r6294 | trutkin | 2009-12-05 09:11:17 -0500 (Sat, 05 Dec 2009) | 2 lines
  
  cairomm
  remove unnecessary vendor libraries as we now rely on the developer to install them
........
  r6295 | trutkin | 2009-12-05 09:12:54 -0500 (Sat, 05 Dec 2009) | 2 lines
  
  soundtouch
  remove unnecessary vendor libraries as we now rely on the developer to install them
........
  r6311 | trutkin | 2009-12-05 23:38:49 -0500 (Sat, 05 Dec 2009) | 2 lines

  glibmm2, gtkmm2, libgnomecanvasmm, sigc++2  
  remove unnecessary vendor libraries as we now rely on the developer to install them
........
  r6314 | trutkin | 2009-12-06 09:15:49 -0500 (Sun, 06 Dec 2009) | 4 lines
  
  remove scons referencing from Makefile
  
  - TODO: should move cscope stuff to waf and get rid of the Makefile
........


git-svn-id: svn://localhost/ardour2/branches/3.0@6315 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-06 14:21:46 +00:00
0fe48475db switch ActionManager to a namespace; move generic part into libgtkmm2ext
git-svn-id: svn://localhost/ardour2/branches/3.0@6285 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-04 20:52:04 +00:00
4a3d7877f6 cross-thread handling of SessionEvent allocation/deallocation, with widespread consequences
git-svn-id: svn://localhost/ardour2/branches/3.0@6283 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-04 19:24:09 +00:00
51693a3a58 tracing and small fixes to improve object destruction pathways
git-svn-id: svn://localhost/ardour2/branches/3.0@6195 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-11-28 00:49:04 +00:00
e5b6e06f83 get closer to carl's original boost shared_ptr debug idea by just tracking actual shared_ptr constructors+destructors
git-svn-id: svn://localhost/ardour2/branches/3.0@6190 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-11-27 17:30:39 +00:00
2b42f32531 tweaks and tuneups of the boost debug stuff - still not done, need to track "scope" for grouping output properly
git-svn-id: svn://localhost/ardour2/branches/3.0@6163 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-11-24 00:09:15 +00:00
5cfeaf4102 boost shared pointer debugging, from an idea by carl hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@6155 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-11-23 17:33:39 +00:00
8f50846090 make PBD::stacktrace() actually work
git-svn-id: svn://localhost/ardour2/branches/3.0@6047 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-11-09 16:28:39 +00:00
640a358fdc Fix wacky tabs. Apologies to anybody actually compiling right now. :)
git-svn-id: svn://localhost/ardour2/branches/3.0@5997 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-11-01 17:57:57 +00:00
b63a9fd4ca Use shared_ptr::unique() instead of shared_ptr::use_count() == 1.
use_count() can be slow (not constant time) depending on underlying implementation.
Similar situation to std::list::size() == 0 an std::list::empty(), the former
does a big traversal/computation only to check if the very first step went.
I think the current boost implementation is just a reference count anyway, but
hey.  In theory.


git-svn-id: svn://localhost/ardour2/branches/3.0@5996 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-11-01 17:25:38 +00:00
6bb5487852 Doxygen readable comments, tidy, fix whitespace.
git-svn-id: svn://localhost/ardour2/branches/3.0@5995 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-11-01 17:12:41 +00:00
c3f6ab344c add lots of comments to rcu.h (with concomittant full recompile)
git-svn-id: svn://localhost/ardour2/branches/3.0@5994 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-11-01 16:25:52 +00:00
c4ac437490 * libardour uses ARDOUR::nframes_t and ARDOUR::nframes64_t explicitly in headers
* use explicit operator<< and operator>> that in turn use PBD::EnumWriter when serializing and deserializing to/from rc files
* adds scrolling in mixer window (from 2.X)
* BBT math stuff - untested, but basically operational
* move LocaleGuard into its own file(s) in libs/pbd
* Tempo now uses nframes64_t everywhere (except for sample rate values)
* as in 2.X, use mkstemp and hack to avoid temp file nonsense, and remove erroneous free() from disk stats output


git-svn-id: svn://localhost/ardour2/branches/3.0@5961 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-28 21:36:40 +00:00
c71f419920 Make ARDOUR::init safer.
git-svn-id: svn://localhost/ardour2/branches/3.0@5950 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-27 18:00:45 +00:00
bc56eb8bd7 Fix unused parameter warnings since GCC apparently doesn't feel like listening to -Wno-unused-parameter
git-svn-id: svn://localhost/ardour2/branches/3.0@5835 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-21 00:15:42 +00:00
Carl Hetherington
271f298635 Since add_property creates new XMLProperty objects, remove_property should probably delete them. Although remove_property is only used in one place in Ardour that I can see.
git-svn-id: svn://localhost/ardour2/branches/3.0@5824 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-20 18:44:44 +00:00
52607dd6ef Fix warnings.
git-svn-id: svn://localhost/ardour2/branches/3.0@5794 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-19 14:06:54 +00:00
8713667ec1 rework Stateful::set_state() patch to avoid default version argument
git-svn-id: svn://localhost/ardour2/branches/3.0@5787 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-15 18:56:11 +00:00
Carl Hetherington
79f91c7a20 Part 1 of loading 2.X sessions; some things work, some things don't, hacks a-plenty.
LOADING 2.X SESSIONS WITH THIS COMMIT IN PLACE WILL (PROBABLY) CORRUPT THE .ardour FILE,
MAKING THE SESSION UNLOADABLE ON 2.X AND LOSING INFORMATION.

So don't do that unless you make a backup of the session file first.



git-svn-id: svn://localhost/ardour2/branches/3.0@5786 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-15 00:57:55 +00:00
Carl Hetherington
c5e3ff16cb Fix some compiler warnings.
git-svn-id: svn://localhost/ardour2/branches/3.0@5746 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-06 23:58:29 +00:00
Sakari Bergen
1928f286e9 Fix some trivial compiler warnings and add editor_imageframe.cc to gtk2_ardour/wscript
git-svn-id: svn://localhost/ardour2/branches/3.0@5716 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-02 11:16:15 +00:00
bcc929a5b6 waf build works on OS X ; new bindings file and processing system in place for mnemonic-us
git-svn-id: svn://localhost/ardour2/branches/3.0@5498 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-08-08 22:36:32 +00:00
3804e3bc49 Update autowaf.
git-svn-id: svn://localhost/ardour2/branches/3.0@5414 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-07-22 20:51:13 +00:00
Carl Hetherington
b65f8073ba Fix some unused parameter warnings.
git-svn-id: svn://localhost/ardour2/branches/3.0@5403 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-07-21 15:55:17 +00:00
7884727e78 massive changes to waf build scripts so that nearly everything "should" be working now except for i18n (OSC is not quite right) ; some preliminary work on post-main-out handling, incomplete; a couple of fixes from -Wall and valgrind
git-svn-id: svn://localhost/ardour2/branches/3.0@5371 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-07-17 22:12:21 +00:00
88beef2e93 merge pre- and post-fader processor boxes; start removing Placement (not finished) ; add -DWAF_BUILD and use per-directory foobar-config.h to correctly pick up configure-time settings like HAVE_OGG ; check for libgiomm (part of upgrade to newer gtk stack); 32 bit marker reload fix from 2.X; audiounit IO config cache fix from 2.X; multi-add route template fix from 2.X; plugin GUI delete fix from 2.X; solo button labels are A or P for listen mode
git-svn-id: svn://localhost/ardour2/branches/3.0@5344 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-07-13 00:26:28 +00:00
472fa271fd Fix end-marker-is-free option in templates.
git-svn-id: svn://localhost/ardour2/branches/3.0@5122 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-06-03 16:50:46 +00:00
Carl Hetherington
01217e64f8 Patch from agorka to add some includes required for building with the GCC shipped with Ubuntu Karmic.
git-svn-id: svn://localhost/ardour2/branches/3.0@5098 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-05-18 00:21:17 +00:00
0569107ddc more work on the new all-Processor-all-The-Time redesign of Route - LOTS OF BREAKAGE STILL EXPECTED ; change all(?) methods that pass a start/end frame in to use sframes_t not nframes_t
git-svn-id: svn://localhost/ardour2/branches/3.0@5074 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-05-13 21:34:09 +00:00
Carl Hetherington
3b89d9eaa0 Remove most using declarations from header files.
git-svn-id: svn://localhost/ardour2/branches/3.0@5069 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-05-12 17:03:42 +00:00
d3d1e2c286 Strip trailing whitespace from waf scripts.
git-svn-id: svn://localhost/ardour2/branches/3.0@5045 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-05-04 22:10:15 +00:00
9ec3728796 Fix local include.
git-svn-id: svn://localhost/ardour2/branches/3.0@5016 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-04-30 16:47:51 +00:00
2836879341 remove offset from process callback tree. some breakage may have occured. yes, really.
git-svn-id: svn://localhost/ardour2/branches/3.0@4999 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-04-23 17:48:37 +00:00
0a22716b74 new file to encapsulate posix_memalign() hackery
git-svn-id: svn://localhost/ardour2/branches/3.0@4998 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-04-23 17:43:39 +00:00
3ae378a17c Upgrade to waf 1.5.4.
git-svn-id: svn://localhost/ardour2/branches/3.0@4991 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-04-18 16:15:12 +00:00
a4b8955f3e part 2 of 3 of the 2.8 -> 3.0 merge
git-svn-id: svn://localhost/ardour2/branches/3.0@4987 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-04-16 16:02:25 +00:00
f613d3fe14 recursive operation for PBD::PathScanner, backported from 2.X
git-svn-id: svn://localhost/ardour2/branches/3.0@4712 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-03-02 16:52:10 +00:00
903c0863d9 Waf: install stuff
git-svn-id: svn://localhost/ardour2/branches/3.0@4702 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-27 04:40:44 +00:00
76f242cb80 Version file building stuff.
Ardour should now compile from a fresh svn checkout using only waf.


git-svn-id: svn://localhost/ardour2/branches/3.0@4671 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-26 02:24:16 +00:00
1d516ac95a Waf building of rubberband.
Use rubberband over soundtouch with waf for the time being.


git-svn-id: svn://localhost/ardour2/branches/3.0@4669 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-26 01:22:20 +00:00
3bc71af0ca Clean up checks.
git-svn-id: svn://localhost/ardour2/branches/3.0@4667 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-26 00:05:51 +00:00
0c0e689d3c Waf building of gtk2_ardour.
git-svn-id: svn://localhost/ardour2/branches/3.0@4662 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-25 23:21:49 +00:00
310d68b953 Waf building of libardour (yay!).
git-svn-id: svn://localhost/ardour2/branches/3.0@4661 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-25 21:48:32 +00:00
e0aaed6d65 *** NEW CODING POLICY ***
All #include statements that include a header that is a part of a library
bundled with ardour MUST use quotes, not angle brackets.

Do this:

#include "ardour/types.h"

NOT this:

#include <ardour/types.h>

Rationale:

This is best practice in general, to ensure we include the local version
and not the system version.  That quotes mean "local" (in some sense)
and angle brackets mean "system" (in some sense) is a ubiquitous
convention and IIRC right in the C spec somewhere.

More pragmatically, this is required by (my) waf (stuff) for dependencies
to work correctly.  That is:

!!! FAILURE TO DO THIS CAN RESULT IN BROKEN BUILDS !!!

Failure to comply is punishable by death by torture. :)

P.S. It's not that dramatic in all cases, but this (in combination with some
GCC flags specific to the include type) is the best way I have found to be
absolutely 100% positive the local ones are being used (and we definitely
want to be absolutely 100% positive on that one).


git-svn-id: svn://localhost/ardour2/branches/3.0@4655 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-25 18:26:51 +00:00
16d9776646 Move waf up to top level, waf building of pbd, evoral, midi++
git-svn-id: svn://localhost/ardour2/branches/3.0@4654 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-25 17:51:42 +00:00
77a71ac3e0 Fix empty for loop warning in RingBuffer constructor... and scary indentation... this is what was intended here, yes?
git-svn-id: svn://localhost/ardour2/branches/3.0@4652 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-25 17:23:15 +00:00
c9e5903e73 Clean up xml++.h and xml++.cc in Ardour style.
No functional changes.
(We've diverged far enough for it to not matter, and are about to diverge even more, so might as well).


git-svn-id: svn://localhost/ardour2/branches/3.0@4649 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-22 20:52:34 +00:00
5b04ddf424 Make commands noncopyable (they are definitely not copy safe).
memento_command.h style.


git-svn-id: svn://localhost/ardour2/branches/3.0@4648 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-22 17:37:33 +00:00
e209e0d471 Remove empty files.
git-svn-id: svn://localhost/ardour2/branches/3.0@4629 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-18 23:58:21 +00:00
cbb59ddbce Fix 'sticky' sliders when MIDI control feedback is enabled.
git-svn-id: svn://localhost/ardour2/branches/3.0@4628 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-18 23:54:41 +00:00
64e69c36da Oops. Fix XML stuff in GUI as well.
git-svn-id: svn://localhost/ardour2/branches/3.0@4579 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-15 03:45:00 +00:00
70b939da4f first pass at internal sends. this is a very tentative work in progress, and it is possible that major changes may follow in the near future. it is certainly not complete, but the fundamental changes to Port/Buffer operation merit a commit at this point
git-svn-id: svn://localhost/ardour2/branches/3.0@4464 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-01-30 07:40:13 +00:00
Sakari Bergen
3d239bb9d5 Fix some compiling warnings and errors in OS X
git-svn-id: svn://localhost/ardour2/branches/3.0@4358 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-12-29 19:50:19 +00:00
Carl Hetherington
4e1f451520 Remove unnecessary 0 checks before delete; see http://www.parashift.com/c++-faq-lite/freestore-mgmt.html#faq-16.8 Apologies for the big commit.
git-svn-id: svn://localhost/ardour2/branches/3.0@4332 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-12-18 19:31:00 +00:00
bc89fe0147 most of the 2.X->3.0 commit (up to rev 4299) except for gtk2_ardour/editor_canvas.cc; builds and runs and does a few specific things but expect it to be buggy for a while yet
git-svn-id: svn://localhost/ardour2/branches/3.0@4313 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-12-12 14:43:24 +00:00
Hans Baier
fd824717a7 * fixed jitter problems for midi clock and removed superfluous UI elements
git-svn-id: svn://localhost/ardour2/branches/3.0@4008 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-10-25 08:28:10 +00:00
6b0d22268b Normalize XML property name style, preserving old session loading (on load _ will be converted to -).
Still to go:  Non-consistent PBD tag names, colours.


git-svn-id: svn://localhost/ardour2/branches/3.0@3872 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-10-05 23:14:48 +00:00
d6ce0641a7 Remove unused can_send_feedback API.
git-svn-id: svn://localhost/ardour2/branches/3.0@3827 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-09-29 02:02:24 +00:00
1bee7c3f93 Make PBD::SearchPath less silly/boilerplatey.
Remove unnecessary copy in find_matching_files_in_search_path.


git-svn-id: svn://localhost/ardour2/branches/3.0@3797 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-09-23 15:55:34 +00:00
Sakari Bergen
68f04adec1 * Added PBD::UUID
* uuid headers are needed for building!
* Export presets and format profiles use UUID
* Moved ExportPreset class away from ExportProfileManager
* Workaround for Gtk::NoteBook bug in ExportMainDialog


git-svn-id: svn://localhost/ardour2/branches/3.0@3762 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-09-19 16:56:01 +00:00
c86210a9d5 merge 2.0-ongoing into 3.0 @ 3581 - 3710
git-svn-id: svn://localhost/ardour2/branches/3.0@3712 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-09-10 21:27:39 +00:00
68e943265e merge from 2.0-ongoing @ 3581
git-svn-id: svn://localhost/ardour2/branches/3.0@3711 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-09-10 15:03:30 +00:00
449aab3c46 rollback to 3428, before the mysterious removal of libs/* at 3431/3432
git-svn-id: svn://localhost/ardour2/branches/3.0@3435 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-06-02 21:41:35 +00:00
Doug McLain
9c0d7d72d7 remove empty sigc++2 directory
git-svn-id: svn://localhost/ardour2/branches/3.0@3432 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-06-02 05:02:28 +00:00
Hans Baier
911c5717bc * splitted midi++/event.h in header and implementation
* added to_string(), to_xml() and from_xml() to MIDI::Event
* added partial support for midnam-Patchfiles (http://www.sonosphere.com/dtds/MIDINameDocument.dtd): midnam_patch.h/.cc
* added validation support to xml++.cc/.h
* added XMLNode::add_property(const char *name, const long value)
* added test to pbd/tests/xpath.cc


git-svn-id: svn://localhost/ardour2/branches/3.0@3412 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-25 23:35:23 +00:00
Hans Baier
4aa9d17ab1 * added midnam test file for xpath
* added to_string() to MIDI::Event
* added XMLNode::attribute_value for attribute nodes
* debugging output in MidiModel (incorrect rendering of Pitchbender events: Notes lost
* added xpath tests for midnam files


git-svn-id: svn://localhost/ardour2/branches/3.0@3406 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-23 10:36:51 +00:00
Hans Baier
1401a52764 * changed return type for pbd/xml++ xpath support to use boost::shared_ptr
git-svn-id: svn://localhost/ardour2/branches/3.0@3402 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-23 00:52:25 +00:00
Hans Baier
8a97a89f3e * added more tests and profiling for pbd/xml++ xpath support
git-svn-id: svn://localhost/ardour2/branches/3.0@3387 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-22 16:02:05 +00:00
Hans Baier
376263d925 * added XPath support to pbd/xml++
git-svn-id: svn://localhost/ardour2/branches/3.0@3384 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-22 12:06:20 +00:00
da45f489dd Fixes for GCC 4.3.
git-svn-id: svn://localhost/ardour2/branches/3.0@3303 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-02 18:35:05 +00:00
cb41314642 merge 3.0 from 2.0-ongoing@3243
git-svn-id: svn://localhost/ardour2/branches/3.0@3248 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-04-11 14:06:50 +00:00
997e4b1f9c merge with 2.0-ongoing @ rev 3147
git-svn-id: svn://localhost/ardour2/branches/3.0@3152 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-03-17 20:54:03 +00:00
4d94305cc9 Fix install path problems (s/ardour2/ardour3).
Fix finding of keybindings file when running from source tree (via ardev/ardbg).
Fix clashing keybindings for zoom stuff.
Add note tool keybinding and menu entry.


git-svn-id: svn://localhost/ardour2/branches/3.0@3099 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-02-21 19:30:01 +00:00
859e9106e7 Merge with 2.0-ongoing R3071.
git-svn-id: svn://localhost/ardour2/branches/3.0@3074 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-02-16 22:55:47 +00:00
1b65758557 Committed underlay support (from Audun).
git-svn-id: svn://localhost/ardour2/branches/3.0@3037 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-02-10 18:16:25 +00:00
f3cf31009a virtualize Port object; clean up automation tracks from track deletion
git-svn-id: svn://localhost/ardour2/trunk@2556 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-10-16 21:01:12 +00:00
29f0d9732e add keybinding editor
git-svn-id: svn://localhost/ardour2/trunk@2543 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-10-12 01:54:35 +00:00
f7f9d6fdc4 merge from 2.0-ongoing by hand, minus key binding editor
git-svn-id: svn://localhost/ardour2/trunk@2539 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-10-11 22:07:47 +00:00
6fccd83fac If sys::copy_file fails, try and remove the target file before throwing an exception
git-svn-id: svn://localhost/ardour2/trunk@2435 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-09-09 10:05:16 +00:00
99ecfb4096 Add function sys::rename to pbd/filesystem.h/cc. Renames a file, uses g_rename.
git-svn-id: svn://localhost/ardour2/trunk@2431 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-09-09 10:04:54 +00:00
a6e68cbb92 Add PBD::sys::operator/ to pbd/filesystem for convenient path building
git-svn-id: svn://localhost/ardour2/trunk@2412 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-09-04 09:01:32 +00:00
bb5314c364 Use path::leaf in sys::basename and sys::extension
git-svn-id: svn://localhost/ardour2/trunk@2407 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-09-04 09:01:21 +00:00
414dd87040 Add path::leaf method function to the PBD::sys::path class
git-svn-id: svn://localhost/ardour2/trunk@2406 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-09-04 09:01:19 +00:00
8b160ef500 Add PBD::sys::extension for getting the filename extension of a file
git-svn-id: svn://localhost/ardour2/trunk@2405 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-09-04 09:01:17 +00:00
4cf84efe88 Modify PBD::sys::basename to match boost::filesystem behaviour and document it.
This makes this function equivalent to PBD::basename_nosuffix, sys::basename
takes a path as an argument rather than a string but that is ok as a path can
automatically constructed from a string.


git-svn-id: svn://localhost/ardour2/trunk@2404 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-09-04 09:01:15 +00:00
26c4c12fb7 Add path::branch_path to the PBD::sys::path class
This is basically equivalent to Glib::path_get_dirname but returning an
empty string(path) if a path doesn't contain any directory components rather
than "."


git-svn-id: svn://localhost/ardour2/trunk@2403 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-09-04 09:01:12 +00:00
a36eccbfcc Add some documentation regarding the PBD::sys namespace and my justifications for writing that code
git-svn-id: svn://localhost/ardour2/trunk@2401 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-09-04 07:15:19 +00:00
e7398da7ec Remove unused function PBD::copy_file
git-svn-id: svn://localhost/ardour2/trunk@2381 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-09-04 04:48:30 +00:00
e3364b72cc Add function PBD::sys::copy_file intended to replace PBD::copy_file
Basically moving PBD::copy_file implementation to pbd/filesystem.h/cc.
The implementation itself looks like it could be improved to use
much less memory when copying big files by reading and writing in
chunks but I don't think that is an issue at present.


git-svn-id: svn://localhost/ardour2/trunk@2376 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-09-04 04:48:13 +00:00
29842063e3 Add function PBD::sys::remove as a wrapper to g_unlink
API is intended to be indentical(apart from the string type) to boost::filesystem::remove


git-svn-id: svn://localhost/ardour2/trunk@2372 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-09-04 04:48:04 +00:00
3b937a7c44 Rename PBD::SearchPath::get_string to PBD::SearchPath::to_string
git-svn-id: svn://localhost/ardour2/trunk@2369 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-09-04 04:47:48 +00:00
b9b6ba8be4 merge changes to libmidi++ API from 2.0-ongoing
git-svn-id: svn://localhost/ardour2/trunk@2256 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-08-06 14:19:19 +00:00
d7db3f757f Better MidiModel command framework, ready to go for all your canvas editing needs.
Rewrote MidiEvent to be a well-behaved self-contained object that optionally owns it's buffer, has proper copying semantics, etc.
Fixed crazy bugs triggered by adding lots of events with varying times to a region.
Speed up initial session display significantly (don't redraw each MIDI region tons of times, though still happens more than once and can use fixing...).


git-svn-id: svn://localhost/ardour2/trunk@2213 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-08-01 20:50:09 +00:00
94f329cd1e Fix formatting of command stuff to adhere to The Guidelines(TM).
git-svn-id: svn://localhost/ardour2/trunk@2130 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-07-16 18:32:31 +00:00
b5af3bb8e3 allow user tweaking of everything that might have inherent latency; add GUI for track level adjustment and widget that can be (but is not yet) embedded in a plugin GUI
git-svn-id: svn://localhost/ardour2/trunk@2075 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-06-27 22:06:35 +00:00
fca7e674c1 Add PBD::system_data_directories and PBD::system_config_directories
These two functions are for convenience and wrap the glib functions
g_get_system_data_dirs and g_get_system_config_dirs.


git-svn-id: svn://localhost/ardour2/trunk@2051 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-06-27 12:12:22 +00:00
0abcfb16ba Replace code for finding ControlProtocols/Surface plugins with a portable equivalent.
Remove Session::control_protocol_path and the supporting non-portable
Session::suffixed_search_path from Session.

Add ARDOUR::control_protocol_search_path which is used in place of
Session::control_protocol_path

Replace ARDOUR::get_system_module_path with ARDOUR::system_module_directory which
is used by ARDOUR::control_protocol_search_path

Export ARDOUR_SURFACES_PATH in gtk2_ardour/ardev_common.sh which is returned
by ARDOUR::control_protocol_search_path if defined. This means the control surfaces
in the libs/surfaces/* directories can now be used without installing them.

Add pbd/file_utils.h/cc containing functions for finding files matching a certain
pattern

Update documentation in SearchPath and add another constructor that takes
a sys::path


git-svn-id: svn://localhost/ardour2/trunk@2049 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-06-27 12:12:18 +00:00
4b0a205830 Use ARDOUR::user_config_directory in Configuration::*instant_xml
Stateful::add_instant_xml was modified so it would create the user
config directory if it doesn't exist, create_directories may throw
if it cannot be created. This isn't a change in behaviour as
ARDOUR::get_user_ardour_path also throws an exception(although I
can't see any existing code to handle it)


git-svn-id: svn://localhost/ardour2/trunk@2043 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-06-27 12:12:06 +00:00
dfbda70cea Modify PBD::Stateful::add_instant_xml/instant_xml to take a PBD::sys::path instead of a string
git-svn-id: svn://localhost/ardour2/trunk@2013 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-06-17 00:52:32 +00:00
36291eb399 Make Stateful::*instant_xml methods protected and non-virtual
Add add_instant_xml and instant_xml methods to the Session class which call
the corresponding Stateful methods with the session directory for the
directory argument

Add add_instant_xml and instant_xml methods to the Configuration class which
call the Stateful methods with ARDOUR::get_user_ardour_path() for the directory
argument


git-svn-id: svn://localhost/ardour2/trunk@2012 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-06-17 00:47:40 +00:00
4b95621853 Move Stateful class declared in pbd/stateful.h into the PBD namespace
git-svn-id: svn://localhost/ardour2/trunk@2011 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-06-17 00:47:33 +00:00
0ce6fa247d Whitespace fixes in pbd/stateful.h
git-svn-id: svn://localhost/ardour2/trunk@2010 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-06-17 00:47:24 +00:00
bc60785ea5 Remove two unused temporary variables from SearchPath::add_subdirectory_to_paths
git-svn-id: svn://localhost/ardour2/trunk@1977 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-06-07 03:25:06 +00:00
2c8d0460c2 Rename SearchPath::get_search_path_string to SearchPath::get_string
git-svn-id: svn://localhost/ardour2/trunk@1975 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-06-07 03:24:53 +00:00
82b884b707 Add SearchPath class to libpbd
git-svn-id: svn://localhost/ardour2/trunk@1974 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-06-07 03:24:46 +00:00
1e7ff46a81 Remove unused PBD::Path class.
git-svn-id: svn://localhost/ardour2/trunk@1973 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-06-07 03:24:38 +00:00
3718a85c29 merge essej's fix for OS X
git-svn-id: svn://localhost/ardour2/trunk@1956 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-06-06 01:16:05 +00:00
01a780eb4d round 2 of denormal handling changes - detect DAZ support at runtime, and use accordingly. move all FPU feature detection into PBD::FPU
git-svn-id: svn://localhost/ardour2/trunk@1939 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-06-01 20:29:36 +00:00
b99c6c6e1d When loading sessions, create any missing session directories rather than throwing an exception.
Change the meaning of the return value of SessionDirectory::create and add documentation to explain usage.

Add PBD::sys::filesystem_error to indicate a filesystem error and throw it where necessary.

Change the semantics of PBD::sys::create_directory/ies functions to match boost::filesystem


git-svn-id: svn://localhost/ardour2/trunk@1884 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-05-19 11:31:27 +00:00
04c1ce1960 Add PBD::sys::path class that has a similar API to boost::filesystem::path but using glib/mm filesystem utility functions
Add ARDOUR::SessionDirectory class

Use SessionDirectory to create the session directory structure when creating a new session


git-svn-id: svn://localhost/ardour2/trunk@1874 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-05-18 02:46:12 +00:00
1dd429ac35 Change return type of PBD::copy_file to boolean to indicate success/failure
git-svn-id: svn://localhost/ardour2/trunk@1866 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-05-18 02:45:08 +00:00
Carl Hetherington
90f3128d73 Add some comments.
git-svn-id: svn://localhost/ardour2/trunk@1837 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-05-11 15:06:12 +00:00
2e8f80e37a Merged with trunk R1719.
Updated for Jack MIDI SVN branch (required for now).


git-svn-id: svn://localhost/ardour2/branches/midi@1720 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-04-14 18:39:01 +00:00
959a7909c1 Merged with trunk R1705.
Synced .po files with trunk.
Fixed more editor operations to be type agnostic (ie not audio only).


git-svn-id: svn://localhost/ardour2/branches/midi@1709 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-04-12 23:20:37 +00:00
99904735e0 Merged with trunk R1612.
git-svn-id: svn://localhost/ardour2/branches/midi@1614 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-03-18 06:07:08 +00:00
f9f5ec85fb Merged with trunk R1393.
git-svn-id: svn://localhost/ardour2/branches/midi@1395 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-01-28 17:44:13 +00:00
f7563c2b15 Merged with trunk R1304
git-svn-id: svn://localhost/ardour2/branches/midi@1311 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-01-11 19:50:49 +00:00
532f6aad4a Merged with trunk R1283.
NOTE: Compiles, but broken (crash on adding MIDI track).


git-svn-id: svn://localhost/ardour2/branches/midi@1292 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-01-09 23:24:54 +00:00
ef6b25432d Merged with trunk R1141
git-svn-id: svn://localhost/ardour2/branches/midi@1142 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-11-19 16:45:16 +00:00
22e41063d5 Merged with trunk R999.
git-svn-id: svn://localhost/ardour2/branches/midi@1000 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-10-21 22:59:29 +00:00
fedf3d34f3 Merged with trunk R992.
Completely untested other than it compiles, runs, and records somewhat (need to merge again).


git-svn-id: svn://localhost/ardour2/branches/midi@999 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-10-21 19:01:50 +00:00
7bd41538d9 Merged with trunk R920.
git-svn-id: svn://localhost/ardour2/branches/midi@921 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-09-19 03:29:16 +00:00
82232f06ba Merged with trunk R861
Possible new bugs - not very thoroughly tested, but at least functional at first glance


git-svn-id: svn://localhost/ardour2/branches/midi@870 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-08-29 21:21:48 +00:00
25d1670a61 Merged with trunk R846
Removed some overly verbose debug printing


git-svn-id: svn://localhost/ardour2/branches/midi@847 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-08-24 07:37:17 +00:00
a98a67120e Merged with trunk R795
Fiddled with scrolling to leave a bit of context on each side.  'scroll interval' is a single float, should make it a configuration variable some day


git-svn-id: svn://localhost/ardour2/branches/midi@796 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-08-12 19:43:09 +00:00
30c08ba655 - Changed IO's vector<Port*>'s to PortList
- Added new Port classes, code to drive them
- Added PortList, which is a filthy mess ATM (nevermind that, it's the interface that's important at this stage)
- Added ChanCount, though it isn't very thoroughly used yet.  That's the next step....
- Fixed a few bugs relating to loading sessions saved with trunk
- Fixed a few random other bugs

Slowly working towards type agnosticism while keeping all the former code/logic intact is the name of the game here

Warning:  Removing ports is currently (intentionally) broken due solely to laziness.


git-svn-id: svn://localhost/ardour2/branches/midi@786 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-08-11 03:24:57 +00:00
ab6f1ed9ba Merged with trunk R776
git-svn-id: svn://localhost/ardour2/branches/midi@777 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-08-10 01:22:45 +00:00
8277d134b9 Merged with trunk R708
git-svn-id: svn://localhost/ardour2/branches/midi@712 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-07-28 01:08:57 +00:00
50a3102b9b Merge big changes (mostly Controllable) from trunk
git-svn-id: svn://localhost/ardour2/branches/midi@682 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-07-14 03:43:32 +00:00
22c20ab6f2 Merged with trunk, and a few trivial GUI updates etc.
git-svn-id: svn://localhost/ardour2/branches/midi@664 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-07-05 19:47:25 +00:00