c158c44fab
make note overlap resolution store side effects in a DiffCommand, and add its changes to the DiffCommand being executed, so as to retain "internal" note property changes across undo
...
git-svn-id: svn://localhost/ardour2/branches/3.0@7256 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-06-14 23:43:10 +00:00
fddb377812
introduce the notion that note additions and property changes can cause the removal of other notes because of overlaps; merge Diff and Delta commands in MidiModel; fix marshalling of notes to avoid float->int conversion of length+time properties; initial implementation (not tested much so far) of different policies for how to handle note overlaps
...
git-svn-id: svn://localhost/ardour2/branches/3.0@7254 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-06-12 13:55:22 +00:00
db1fa42f14
start tracking note overlaps while moving notes
...
git-svn-id: svn://localhost/ardour2/branches/3.0@7228 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-06-03 21:27:36 +00:00
9208598c26
Sequence::contains() and Sequence::overlaps() now use pitch-based indexing to speed things up in pathological cases
...
git-svn-id: svn://localhost/ardour2/branches/3.0@7221 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-06-03 15:58:15 +00:00
460d2d0675
add channel+pitch indexing for notes in a Sequence
...
git-svn-id: svn://localhost/ardour2/branches/3.0@7217 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-06-02 19:55:37 +00:00
0cd3bd4f19
rationale pathways that add notes to Sequence<T> so that there is only final insertion step; when changing note properties that affect "indexing" within a Sequence<T> (i.e. via set<T,comparator> indexing/ordering/hashing), remove the note and add it back so that indexing stays consistent; fix marshalling of MidiModel::DiffCommand (boost::bind(&Object::method, reference_to_object) will COPY the reference, so use a pointer); fix MidiModel::find_note() to compare note properties not pointer addresses
...
git-svn-id: svn://localhost/ardour2/branches/3.0@7203 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-06-01 20:40:45 +00:00
df99f37047
add missing (new) file
...
git-svn-id: svn://localhost/ardour2/branches/3.0@7200 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-06-01 01:22:37 +00:00
db67064296
switch Evoral::Sequence debugging to use DEBUG_TRACE(); Sequence uses multiset<...,EarlierNoteComparator> for _write_notes, does FIFO note resolution for overlapping notes in SMF file; implement Sequence::overlaps() ... current use is uncertain; ARDOUR::coverage() uses 64bit framepos_t
...
git-svn-id: svn://localhost/ardour2/branches/3.0@7199 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-05-31 19:47:15 +00:00
60ec5dd339
provide a generalized Sequence::get_notes()-by-predicate method, and prototypes for 2 future methods
...
git-svn-id: svn://localhost/ardour2/branches/3.0@7191 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-05-28 21:36:38 +00:00
Carl Hetherington
d0d160e566
Fix crash on clear option for automation tracks ( #3195 ). Also fix state change signalling so that lines reappear on undoing a clear.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@7178 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-05-27 12:26:00 +00:00
a196405da9
various minor MIDI fixes: prevent duplicate note entry with mouse, show note info more often with verbose cursor, fix some crashes from click+move on notes ... lots more where this comes from
...
git-svn-id: svn://localhost/ardour2/branches/3.0@7128 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-05-20 22:38:12 +00:00
e258b2622a
MIDI region forking, plus Playlist::regions_to_read() fix forward ported from 2.X. region forking requires a few cleanups
...
git-svn-id: svn://localhost/ardour2/branches/3.0@7118 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-05-19 03:03:28 +00:00
Carl Hetherington
f1114dedee
Move FileManager code into libpbd. Use it for SMF read/write.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@7108 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-05-16 20:54:50 +00:00
Carl Hetherington
ed9d42c55d
Some comments and minor cleanup.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@6988 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-04-26 00:22:26 +00:00
17088ee3ea
(1) remove most uses of MementoCommand for Playlist and Region (2) move frozen state from Region into Stateful, renamed "suspend property changes" (3) successive changes to a Property (scalar) after clear_history() do not keep resetting the old value (fixes region trim)
...
git-svn-id: svn://localhost/ardour2/branches/3.0@6720 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-03-02 18:05:26 +00:00
fa701b8c06
change PropertyChange from a bitfield into a real object, with all the many widespread changes that causes
...
git-svn-id: svn://localhost/ardour2/branches/3.0@6701 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-02-19 18:09:08 +00:00
ce7a5e1c9f
the Properties & 64bit region commit
...
git-svn-id: svn://localhost/ardour2/branches/3.0@6695 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-02-18 13:59:49 +00:00
ea63af333e
fix up note names (from Don F, via SoftWerk)
...
git-svn-id: svn://localhost/ardour2/branches/3.0@6649 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-02-08 19:36:25 +00:00
Carl Hetherington
797cd64d12
Coding style.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@6642 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-02-07 02:48:07 +00:00
Carl Hetherington
0e1c62150a
Remove some unnecessary includes.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@6641 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-02-07 02:47:17 +00:00
Carl Hetherington
420e28f4d8
Coding style cleanups. Preserve mono state in XML for panners.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@6640 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-02-07 02:45:55 +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
1716d75f9f
Apply accurate copyright header.
...
Shrink.
git-svn-id: svn://localhost/ardour2/branches/3.0@5905 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-24 15:35:50 +00:00
f8fe64a91e
(FULL commit) start of a nominal debug tracing system, with 64 bits available for flags; track notes by region in MidiPlaylist, and resolve them if they are left hanging at region boundaries. note: MIDI playback is still not working 100% though its better now.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@5903 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-24 13:26:56 +00:00
8340dcdd57
Unit test code coverage using lcov.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@5892 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-23 17:30:11 +00:00
82a0c02af1
Fix controller iteration / linear interpolation.
...
Add unit test for controller iteration / linear interpolation.
git-svn-id: svn://localhost/ardour2/branches/3.0@5886 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-23 04:24:20 +00:00
653a487bbd
Fix whitespace.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@5885 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-23 03:58:11 +00:00
f68f8839a5
Sshh.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@5884 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-23 03:57:52 +00:00
7524b90985
Fix compilation with DEBUG_SEQUENCE on.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@5883 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-23 03:32:54 +00:00
03b0d3f328
Testing how anal retentive I can be without anyone saying anything.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@5882 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-23 02:53:47 +00:00
c78108a033
Fix yet more crazy tabs.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@5881 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-23 02:49:12 +00:00
3fd5f15e26
Indentation.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@5874 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-22 22:05:49 +00:00
f3a510ce34
More spacey tabs.
...
Can we please stop with the spacey tabs?
Thanks.
git-svn-id: svn://localhost/ardour2/branches/3.0@5873 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-22 22:04:43 +00:00
7b46e9c57c
Fix adding multiple notes with the same time stamp (geeze).
...
git-svn-id: svn://localhost/ardour2/branches/3.0@5872 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-22 21:54:32 +00:00
382a79eda5
Remove linear search when adding/removing a note from/to a Sequence.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@5870 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-22 21:33:05 +00:00
d98c8e8fa4
Replace horribly error-prone Sequence/MidiModel/MidiSource locking API with scoped locks that automatically Do The Right Thing.
...
Make Sequence::read_lock const correct in the process (a read lock can be taken out on a const Sequence, but not a write lock).
git-svn-id: svn://localhost/ardour2/branches/3.0@5857 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-22 16:15:36 +00:00
4b01242df1
Fix failed assertion when end_write is called multiple times.
...
Bad logic, but oh well, doesn't hurt.
git-svn-id: svn://localhost/ardour2/branches/3.0@5850 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-21 22:21:44 +00:00
86a09c58e3
Fix O(n) search on MIDI rec region update (now O(log(n)) per update, but could be O(1) with caching...)
...
git-svn-id: svn://localhost/ardour2/branches/3.0@5843 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-21 16:39:39 +00:00
61c508f3c0
Only build unit tests if configure --test is passed.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@5814 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-20 01:07:15 +00:00
a86b994c68
Logarithmic note seek for Sequence iterator.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@5803 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-19 16:23:08 +00:00
70ad8b059a
Better test for iterator seek.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@5802 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-19 16:14:55 +00:00
0a9b982620
Add unit test for Sequence iterator seeking.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@5801 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-19 16:09:20 +00:00
a2c434d5cd
Fix insane formatting/whitespace in evoral test stuff. C'mon Hans ;)
...
git-svn-id: svn://localhost/ardour2/branches/3.0@5799 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-19 15:26:56 +00:00
cb8407d26f
Use set over vector for Sequence::Notes, for logarithmic search by time.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@5798 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-19 15:23:42 +00:00
8d4bf70c7e
Fix set_notes prototype to use typedef.
...
Fix spacey tabs.
git-svn-id: svn://localhost/ardour2/branches/3.0@5795 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-19 14:08:20 +00:00
bb9cc45cd2
Strip trailing whitespace and fix other whitespace errors (e.g. space/tab mixing). Whitespace changes only.
...
Vimmers, try let c_space_errors = 1 in your .vimrc to highlight this kind of stuff in red. I don't know the emacs equivalent...
git-svn-id: svn://localhost/ardour2/branches/3.0@5773 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-14 16:10:01 +00:00
fa4e858eb3
do not allow smf_source's reads to stomp on cached read_end position in parent class, which creates chaos by being out of sync with MidiSource::_model_iterator. this doesn't totally fix MIDI playback, but it helps
...
git-svn-id: svn://localhost/ardour2/branches/3.0@5665 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-09-16 01:08:51 +00:00
Carl Hetherington
7b14a4230b
Fix some warnings.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@5663 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-09-15 15:23:59 +00:00
bf0a99f0c0
fix up marshall/unmarshall of note data for MidiModel::DiffCommand
...
git-svn-id: svn://localhost/ardour2/branches/3.0@5662 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-09-14 16:01:32 +00:00
837bfc9af4
the start (only the start) of MIDI diff commands
...
git-svn-id: svn://localhost/ardour2/branches/3.0@5637 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-09-06 18:11:55 +00:00