13
0
Commit Graph

212 Commits

Author SHA1 Message Date
3cd8138a41 convert from Glib:: to Glib::Threads for all thread-related API
git-svn-id: svn://localhost/ardour2/branches/3.0@13084 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-07-25 17:48:55 +00:00
3c252e9321 lots more fidgety work on automation. sort of works now, but undo/redo needs attention
git-svn-id: svn://localhost/ardour2/branches/3.0@13047 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-07-17 03:10:40 +00:00
f97da74cf7 code motion to put Sequence::{add,append}_patch_changed_unlocked() next to each other as candidates for removal
git-svn-id: svn://localhost/ardour2/branches/3.0@13045 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-07-16 14:46:21 +00:00
c3ccff8d05 fix up part of the remaining details with automation, so that touch/write over-writes work correctly
git-svn-id: svn://localhost/ardour2/branches/3.0@13041 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-07-14 15:42:10 +00:00
0532e2063b dramatic overhaul of automation. too long to explain here. this work is not finished - write/touch passes do not correctly overwrite existing data because the semantics of ControlList::insert_iterator need clarification. more to follow
git-svn-id: svn://localhost/ardour2/branches/3.0@13038 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-07-13 21:05:45 +00:00
bd2bf3c52e automation fixes/changes: when add a new control point, create necessary points to construct a flat default-valued line from zero the first point, and revert to the default value at the end of the write (breaks value-holds-after-write behaviour); fix bug in data elimination when recording flat-line data
git-svn-id: svn://localhost/ardour2/branches/3.0@12997 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-07-09 18:32:53 +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
27a1cf2cf7 Compile cleanly with clang.
To compile Ardour with LLVM/clang, do the usual thing but set the CXX and CC
environment variables, e.g.:

CC=/usr/bin/clang CXX=/usr/bin/clang++ ./waf configure build


git-svn-id: svn://localhost/ardour2/branches/3.0@12418 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-24 02:54:10 +00:00
b99131f21e fix bug that has existed since rev 17 when evaluating a curve in a position before the first point of the curve
git-svn-id: svn://localhost/ardour2/branches/3.0@12411 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-24 01:43:02 +00:00
a98fa4bc61 switch to 5 new fade curves, taken from mixbus2 branch. make xfade context menus functional even though the images are not accurate
git-svn-id: svn://localhost/ardour2/branches/3.0@12253 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-11 21:30:36 +00:00
eaa7cc5a73 fix up some const-ness issues starting from Evoral::Event::set(), and intersect with removing Mackie..MidiByteArray::bytes() method which made a copy of the data every time we wrote it
git-svn-id: svn://localhost/ardour2/branches/3.0@12124 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-30 15:54:13 +00:00
Carl Hetherington
a4434809e1 Use a list of ControlPoints to hold the automation selection,
rather than a time range.  This makes more sense now that we
display every point on an automation line, rather than just
a subset.  Makes the code a fair bit simpler, and should fix
some unexpected behaviours, especially when cutting automation
points.


git-svn-id: svn://localhost/ardour2/branches/3.0@12054 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-22 14:03:07 +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
Carl Hetherington
cfbc2e2438 Fix thinko causing possible memory corruption.
git-svn-id: svn://localhost/ardour2/branches/3.0@12040 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-19 23:54:05 +00:00
Carl Hetherington
a2897ecef6 Fairly major change to the way in which crossfades are handled;
they are now done with region fades, rather than separate objects.
After this commit, Ardour will try to convert your session files
to the new crossfade format, but will make a backup in your
session folder first.

If you have works in progress using Ardour 3 it is
***STRONGLY RECOMMENDED*** that you back up session files before
updating to this commit.


git-svn-id: svn://localhost/ardour2/branches/3.0@11986 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-16 16:32:22 +00:00
Carl Hetherington
23973bae24 A few tweaks to make Ardour build in GCC -std=c++0x mode.
git-svn-id: svn://localhost/ardour2/branches/3.0@11983 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-15 19:28:44 +00:00
bdde5da89b make automation thinning factor controllable at run time
git-svn-id: svn://localhost/ardour2/branches/3.0@11795 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-05 11:16:04 +00:00
Carl Hetherington
daad719546 Remove ControlList::_max_xval which is set up and stored in
state but never actually read.


git-svn-id: svn://localhost/ardour2/branches/3.0@11787 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-04 00:15:41 +00:00
Carl Hetherington
5de4de613b Fix memory leak on error condition (#4798).
git-svn-id: svn://localhost/ardour2/branches/3.0@11775 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-01 15:06:24 +00:00
Carl Hetherington
d7deaa21bb Fix reference of track after free() (#4795).
git-svn-id: svn://localhost/ardour2/branches/3.0@11773 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-01 14:58:09 +00:00
40af4b914f use musical_time_equal() test for equality when copying note data, not strict floating point equality. should fix #4609 (and maybe another one too)
git-svn-id: svn://localhost/ardour2/branches/3.0@11407 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-31 23:20:13 +00:00
Carl Hetherington
9237c7411c Catch exception thrown by SMF code when it cannot write
to a file (#4640).


git-svn-id: svn://localhost/ardour2/branches/3.0@11259 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-18 02:10:40 +00:00
Carl Hetherington
9c8a27c664 Don't round control list events when x-scaling them; prevents large loss of accuracy with xfades when they are scaled to be small and then expanded again (#4602).
git-svn-id: svn://localhost/ardour2/branches/3.0@11125 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-31 13:25:29 +00:00
5f88b44245 (1) do not write sequential same-value automation data into a ControlList (2) thin AutomationList data when reloading from disk (similar code as Ben's from ardour 2.X, but without user-adjustable thinning density at present). Should fix #4583 and maybe others caused by NaN's occuring from zero-slope lines
git-svn-id: svn://localhost/ardour2/branches/3.0@11078 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-26 22:13:54 +00:00
2449a787c5 fix a build issue in Evoral that was preventing Sequencer<T>::dump() from being available, and expose operator<< for Sequence<T>
git-svn-id: svn://localhost/ardour2/branches/3.0@11054 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-22 02:09:39 +00:00
efe14fbd52 Fix broken whitespace via merciless application of the emacs hammer.
git-svn-id: svn://localhost/ardour2/branches/3.0@10782 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-11-23 00:17:31 +00:00
2929cd1c36 tweak debug output
git-svn-id: svn://localhost/ardour2/branches/3.0@10780 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-11-22 20:29:41 +00:00
Carl Hetherington
6e1aa92eb8 Doxygen tweaks.
git-svn-id: svn://localhost/ardour2/branches/3.0@10644 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-11-16 02:03:30 +00:00
18c2ee4a26 Remove dubious Evoral::Event methods that exposed non-const references to members.
git-svn-id: svn://localhost/ardour2/branches/3.0@10239 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-10-19 18:11:31 +00:00
0938a42440 fixes for 98% of all the warnings/errors reported by OS X gcc on tiger
git-svn-id: svn://localhost/ardour2/branches/3.0@10179 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-09-30 17:55:14 +00:00
a8449db466 finish the intention of the previous commit, correctly this time
git-svn-id: svn://localhost/ardour2/branches/3.0@9979 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-08-11 16:06:31 +00:00
1f845c0e32 do not assert/abort out of data errors that may originate with external user-supplied data, and use PBD::error instead
git-svn-id: svn://localhost/ardour2/branches/3.0@9978 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-08-11 15:58:28 +00:00
dd6e76ad89 add skeleton for i18n support
git-svn-id: svn://localhost/ardour2/branches/3.0@9977 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-08-11 15:57:48 +00:00
921358a5f3 remove remnant of MIDI I/O debugging
git-svn-id: svn://localhost/ardour2/branches/3.0@9937 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-07-26 16:24:41 +00:00
c99738d88e try to fix data loss at end of a capture pass for MIDI - add a new virtual method to MidiSource that specifies what should be done with stuck notes, remove duplicate(i hope) _last_flush_frame from SMFSource that mirrored, more or less, MidiSource::_last_write_end; use new virtual method when stopping after capture.
git-svn-id: svn://localhost/ardour2/branches/3.0@9910 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-07-20 18:13:03 +00:00
Carl Hetherington
26666fce42 Remove an assert() that I can't see the value of, and which
trips when loading empty MIDI files (#4190).


git-svn-id: svn://localhost/ardour2/branches/3.0@9883 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-07-16 20:55:14 +00:00
a5efa9a500 initial pass at session-renaming functionality
git-svn-id: svn://localhost/ardour2/branches/3.0@9876 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-07-14 17:41:06 +00:00
160f1493fa more midi io debugging
git-svn-id: svn://localhost/ardour2/branches/3.0@9868 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-07-13 20:14:53 +00:00
be614d0538 change default overlapping note strategy to "relax" (i.e. do nothing); fix crash when looping with MIDI data; add back note-off resolution at loop point (if it was actually there) so that notes are turned off (but don't forget Ye Olde Sustain Pedal/Controller) when looping; minor other non-functional tweaks
git-svn-id: svn://localhost/ardour2/branches/3.0@9753 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-06-21 21:29:22 +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
819faa3b0b Remove unnecessary duplicate take of Sequence's read_lock.
git-svn-id: svn://localhost/ardour2/branches/3.0@9537 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-05-17 12:01:05 +00:00
Carl Hetherington
c86ccc7db2 Minor tidy-ups.
git-svn-id: svn://localhost/ardour2/branches/3.0@9536 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-05-17 12:00:10 +00:00
Carl Hetherington
d22cd939a3 Remove unused NascentInfo::is_touch member.
git-svn-id: svn://localhost/ardour2/branches/3.0@9386 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-04-20 01:24:25 +00:00
Carl Hetherington
51e368f3f0 Fix assertion failure when merging a set of nascent events which start at the same time as the last event in a ControlList.
git-svn-id: svn://localhost/ardour2/branches/3.0@9384 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-04-20 01:24:10 +00:00
Carl Hetherington
47018e771d Fix erroneous masking when loading bank changes (part of #3916).
git-svn-id: svn://localhost/ardour2/branches/3.0@9359 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-04-16 15:10:25 +00:00
8177e85bf9 fix mismatching use of operator new() when allocating buffer to passed into libsmf - should be malloc'ed
git-svn-id: svn://localhost/ardour2/branches/3.0@9339 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-04-09 15:36:54 +00:00
0906b39918 Fix my name :)
git-svn-id: svn://localhost/ardour2/branches/3.0@9302 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-04-06 15:00:16 +00:00
Carl Hetherington
7178f031ba Patch from Joskar to use scientific pitch notation for MIDI note names (#3867).
git-svn-id: svn://localhost/ardour2/branches/3.0@9188 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-03-23 13:17:35 +00:00
Carl Hetherington
d2bcfc0747 Allow out-of-time-order writes to nascent event list, sorting before merge. Fixes #3537.
git-svn-id: svn://localhost/ardour2/branches/3.0@9103 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-03-08 12:34:25 +00:00
Carl Hetherington
64e43bf4b1 Fix crash with debug enabled.
git-svn-id: svn://localhost/ardour2/branches/3.0@8613 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-01-29 19:36:01 +00:00