13
0
Commit Graph

333 Commits

Author SHA1 Message Date
18f465393b remove use of a boost::fast_pool_allocator without a mutex for Evoral::ControlList. this was not thread-safe and evidence from googling around suggests that it is actually not faster for this sort of use than std::alloc. removing this fixes bizarre errors caused by multithreaded use of the singleton pool that backs the allocator, which started to become more clear during experiments on 128 track sessions
git-svn-id: svn://localhost/ardour2/branches/3.0@13672 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-12-17 18:41:58 +00:00
24917e4c9e disable spline interpolation for curves - use linear interpolation; configuration parameter pending for this, plus slightly cleaner reuse of existing ControlList methods
git-svn-id: svn://localhost/ardour2/branches/3.0@13627 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-12-09 17:24:58 +00:00
d7716b055c fix automation/control list behaviour when manually adding a point within existing data
git-svn-id: svn://localhost/ardour2/branches/3.0@13619 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-12-08 17:57:47 +00:00
8ecabd0d37 remove debugging output; properly handle cases in Curve::_get_vector() where the entire requested range for the vector is either before the first point in the curve (unlikely to happen because we typically add a guard point at zero) or entire after the last point in the curve
git-svn-id: svn://localhost/ardour2/branches/3.0@13582 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-12-02 00:23:03 +00:00
9e84a2f931 still more debugging output
git-svn-id: svn://localhost/ardour2/branches/3.0@13581 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-30 23:49:59 +00:00
bad34d7ded still more debugging output
git-svn-id: svn://localhost/ardour2/branches/3.0@13580 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-30 23:42:48 +00:00
776eb23e8b still more debugging output
git-svn-id: svn://localhost/ardour2/branches/3.0@13579 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-30 23:38:15 +00:00
202788ea18 more debugging output
git-svn-id: svn://localhost/ardour2/branches/3.0@13578 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-30 23:28:47 +00:00
6242371388 debugging output
git-svn-id: svn://localhost/ardour2/branches/3.0@13577 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-30 23:21:12 +00:00
8a819a80d0 add reverse iterator to event list (prepare x-fade fix)
git-svn-id: svn://localhost/ardour2/branches/3.0@13571 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-30 15:51:05 +00:00
b73d9b585f fix prev commit (stupid C++ needs explicit typecast)
git-svn-id: svn://localhost/ardour2/branches/3.0@13529 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-18 21:48:29 +00:00
ba7f951919 prevent subveclen to wrap at 2^31
fixes http://pastebin.com/X629ZE7F (Timecode 22h @48k, 512fpp)

git-svn-id: svn://localhost/ardour2/branches/3.0@13528 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-18 21:22:58 +00:00
a0f00d7d22 add a "guard" point after a write/touch automation insertion, preserving the shape of the later segment of the existing line
git-svn-id: svn://localhost/ardour2/branches/3.0@13507 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-15 16:22:43 +00:00
bb9ab696b1 likely fixes for most remaining issues with data in automation/control lists, but more testing needed
git-svn-id: svn://localhost/ardour2/branches/3.0@13497 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-14 15:06:41 +00:00
Hans Baier
e36c855464 issue 0005121: added comment to source. Sorry, last commit was for issue 0005121, not 0005120, copied from the wrong line :[
git-svn-id: svn://localhost/ardour2/branches/3.0@13252 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-12 06:04:06 +00:00
Hans Baier
2625fd9be8 fix issue 0005120: dont treat percussive mode differently than sustained mode except in GUI. Leaving out all note offs crashes LinuxSampler and totally drowns my Yamaha PSR-S900 by stealing all its available voices. Code is #ifdef-ed out until a more thorough discussion would conclude the removal of percussive mode from the MIDI model, which IMHO makes sense. I don't see any virtue in leaving out note offs since it only creates problems.
git-svn-id: svn://localhost/ardour2/branches/3.0@13251 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-12 05:58:47 +00:00
Hans Baier
97c23848d7 implement deleting of sysex events
git-svn-id: svn://localhost/ardour2/branches/3.0@13238 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-11 03:22:17 +00:00
2b1cc9656e remove incorrect and unnecessary template class declaration from Evoral (added recently)
git-svn-id: svn://localhost/ardour2/branches/3.0@13230 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-10 15:42:47 +00:00
Hans Baier
3f5c6f8190 enable and extend EVORAL_MIDI_XML. Useful for Debugging. Any objections?
git-svn-id: svn://localhost/ardour2/branches/3.0@13223 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-10 04:31:59 +00:00
Hans Baier
c3850cfb35 evoral/MIDIEvent: Whitespace cosmetics in header, make XML output work properly eg show the numbers instead of blanks
git-svn-id: svn://localhost/ardour2/branches/3.0@13221 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-09 08:33:27 +00:00
b30ba842d8 fix missing variable initialization
git-svn-id: svn://localhost/ardour2/branches/3.0@13194 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-09-17 21:09:12 +00:00
696631f04e comment tweaks from a second reading
git-svn-id: svn://localhost/ardour2/branches/3.0@13182 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-09-09 20:31:43 +00:00
999ec4a074 remove unused code
git-svn-id: svn://localhost/ardour2/branches/3.0@13181 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-09-09 20:21:50 +00:00
4b38ddec62 replace deprecated g_atomic_int_exchange_add()
git-svn-id: svn://localhost/ardour2/branches/3.0@13086 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-07-26 15:39:17 +00:00
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
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