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
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
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
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
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
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
Carl Hetherington
f8ebb4582d
Unify program change and bank handling so that they are manipulated together.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@8346 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-28 18:19:40 +00:00
Carl Hetherington
ad916f6241
Fix a few bad iterator accesses.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@8231 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-09 21:35:33 +00:00
Carl Hetherington
56554af08f
Revert previous ill-thought-out patch.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@8213 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-07 19:55:43 +00:00
Carl Hetherington
f3fc6195bc
Allow trim of midi regions to before the start of the source. Fixes #3156 .
...
git-svn-id: svn://localhost/ardour2/branches/3.0@8212 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-07 19:16:23 +00:00
b85b4d9e54
make ardour3 build and link on OS X (tiger, at least)
...
git-svn-id: svn://localhost/ardour2/branches/3.0@8018 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-11-13 05:14:48 +00:00
Carl Hetherington
f761f13f6b
Don't cut output rate of non-interpolated controllers.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@7852 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-09-28 18:47:24 +00:00
Carl Hetherington
42a23312a0
Slightly hacky but functional fix for large quantities of MIDI output when interpolating sharp changes in controller value. Fixes #3476 .
...
git-svn-id: svn://localhost/ardour2/branches/3.0@7840 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-09-24 14:05:20 +00:00
98d994f29c
fix a variety of unused argument errors noted by gcc 4.3.2 on x86
...
git-svn-id: svn://localhost/ardour2/branches/3.0@7733 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-09-02 17:01:36 +00:00
Carl Hetherington
cdb3ade9ff
Fix automation re-load.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@7664 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-20 23:58:09 +00:00
a4d9d09af5
forward port 2.X changes up to and including rev 6714
...
git-svn-id: svn://localhost/ardour2/branches/3.0@7635 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-16 19:58:34 +00:00
ece5093234
change Control::{set,get}_float to Control::{set,get}_double and make almost all Control-related stuff use double rather than random mixtures of float, double and some integer value ; make hans' program change stuff work quite a bit better (not finished yet) including keyboard edting of pgm change values
...
git-svn-id: svn://localhost/ardour2/branches/3.0@7514 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-07-27 14:09:16 +00:00
Carl Hetherington
115083c13d
Remove end of SearchCache as it is not used (it's always set to DBL_MAX)
...
git-svn-id: svn://localhost/ardour2/branches/3.0@7493 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-07-25 23:19:43 +00:00
bf91ed99ec
add note IDs and use them for looking up notes during a history rebuild. NOTE: INVALIDATES OLDER HISTORY FILES
...
git-svn-id: svn://localhost/ardour2/branches/3.0@7449 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-07-20 16:27:34 +00:00
Carl Hetherington
593b421180
A few fixes to interpolation of MIDI controller data. Don't interpolate
...
when writing these data back to a source, otherwise surprising new
interpolated points appear in MIDI automation. Similarly don't interpolate
when reading the model during MIDI stretch. Fix handling of interpolation state;
controllers that have been set by the user to use a different interpolation style
are noted in the <Source> tag of the session file and this state is sprayed around
to MidiModel and the GUI as necessary.
git-svn-id: svn://localhost/ardour2/branches/3.0@7409 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-07-14 00:58:15 +00:00
Carl Hetherington
d1b4599725
Mark Sequence as edited when one of its parent ControlSet's ControlLists is changed.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@7404 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-07-12 00:41:45 +00:00
Carl Hetherington
ecb0cd5d11
Make MIDI region `automation' respect the automation mode so that it is
...
only played back if the automation mode is set to "Play". Munge AutoState
for AutomationRegionViews so that they reflect their AutomationTimeAxisView's
setting. Fixes #3135 .
git-svn-id: svn://localhost/ardour2/branches/3.0@7304 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-06-25 20:47:09 +00:00
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
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
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
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
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
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
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
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
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