13
0
Commit Graph

306 Commits

Author SHA1 Message Date
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
Carl Hetherington
a6786a6dd2 Hopefully less bad version of Evoral::RangeList::subtract,
with more tests.


git-svn-id: svn://localhost/ardour2/branches/3.0@12514 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-31 20:23:31 +00:00
2d017301f9 add ::length() method to Evoral::ControlList
git-svn-id: svn://localhost/ardour2/branches/3.0@12451 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-25 19:59:11 +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
Carl Hetherington
7c2b3171c2 Further GCC 4.7.0 fixes.
git-svn-id: svn://localhost/ardour2/branches/3.0@11768 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-03-30 01:21:08 +00:00
Carl Hetherington
8ae1880e33 Some fixes for GCC 4.7.0
git-svn-id: svn://localhost/ardour2/branches/3.0@11767 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-03-30 00:03:53 +00:00
Carl Hetherington
3120bae8b4 Don't leave internal edit mode when clicking on an automation region view (#4747).
git-svn-id: svn://localhost/ardour2/branches/3.0@11749 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-03-22 16:41:23 +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
5a53f2f1b9 Simple approach to putting plugin controls into the
processor box.


git-svn-id: svn://localhost/ardour2/branches/3.0@11288 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-20 18:02:48 +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
14d601a0ff revert recent change to Evoral::Event, and use static_cast<> to get from Event to MIDIEvent
git-svn-id: svn://localhost/ardour2/branches/3.0@10870 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-02 20:34:58 +00:00
a38df56f97 correct code for MIDIEvent::is_{spp,mtc_quarter}()
git-svn-id: svn://localhost/ardour2/branches/3.0@10866 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-02 19:40:03 +00:00
60e6b5d561 add 3 new is_foo() methods to MIDIEvent for testing for certain periodic MIDI messages
git-svn-id: svn://localhost/ardour2/branches/3.0@10862 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-02 19:31:53 +00:00
ebc0b88248 make Evoral::Event be polymorphic by adding virtual to its destructor (why was this not done already?)
git-svn-id: svn://localhost/ardour2/branches/3.0@10861 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-02 19:31:19 +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
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
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
a6d7098797 more changes to wscript files to catch up with waf 1.6 and fix OS X issues
git-svn-id: svn://localhost/ardour2/branches/3.0@10176 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-09-30 16:22:04 +00:00
4ffe8418e3 Use is_defined to check for HAVE_* variables set by checks.
Note that conf.define('FOO', 1) will NOT set conf.env['FOO'].


git-svn-id: svn://localhost/ardour2/branches/3.0@10164 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-09-29 20:29:06 +00:00
c1ef7b14a3 Remove use of waf compat15 tool.
Always load waf tools first (prevent smashing of --debug, DATADIR, etc).


git-svn-id: svn://localhost/ardour2/branches/3.0@10163 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-09-29 19:58:05 +00:00
723ab60b39 Upgrade to waf 1.6.7 and autowaf r52.
git-svn-id: svn://localhost/ardour2/branches/3.0@10162 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-09-29 19:17:54 +00:00
Carl Hetherington
20dc91d0ad Add missed parent class call to Sequence::control_list_marked_dirty. Fixes #4335.
git-svn-id: svn://localhost/ardour2/branches/3.0@10140 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-09-27 01:21:05 +00:00
Carl Hetherington
da4270a93d Emit ContentsChanged on the model when one of its control lists changes. Should fix #3880.
git-svn-id: svn://localhost/ardour2/branches/3.0@10095 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-09-19 17:15:43 +00:00
Carl Hetherington
77f3fa0943 Fix build with tests enabled.
git-svn-id: svn://localhost/ardour2/branches/3.0@9984 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-08-13 14:17:16 +00:00
61eacc021a prevent illegal data being used to set note values, velocities and channels
git-svn-id: svn://localhost/ardour2/branches/3.0@9982 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-08-12 14:40:04 +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
Carl Hetherington
eb43f2d0eb Fix up build of tests.
git-svn-id: svn://localhost/ardour2/branches/3.0@9943 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-07-31 13:58:26 +00:00