13
0
Commit Graph

141 Commits

Author SHA1 Message Date
7b6b75f38f forward port automation handling changes from 2.x, upto and including about rev 6981 (will need full testing in the 3.X context). as on 2.x, this removes real-time visual updates to automation curves during write/touch automation recording
git-svn-id: svn://localhost/ardour2/branches/3.0@7653 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-19 21:09:40 +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
Carl Hetherington
5e3ca4db5c Support cut / copy / paste of MIDI automation.
git-svn-id: svn://localhost/ardour2/branches/3.0@7545 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-05 13:36:38 +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
6a9758dbcc Fix case where the working range for the interpolation can be chosen wrongly if start is after the cached point's time. Should fix #3356.
git-svn-id: svn://localhost/ardour2/branches/3.0@7495 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-07-25 23:20:31 +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
Carl Hetherington
93a3b1a221 Remove test that will never fire.
git-svn-id: svn://localhost/ardour2/branches/3.0@7489 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-07-25 01:47:18 +00:00
c685724c80 step editing now accessed via a context menu on MIDI track rec-enable buttons. along the way, fixed up confusion between set_rec_enable() and set_rec_enabled() methods in Route/Track/Diskstream
git-svn-id: svn://localhost/ardour2/branches/3.0@7482 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-07-24 16:40:56 +00:00
75fb4557e5 removed #if 0 code
git-svn-id: svn://localhost/ardour2/branches/3.0@7461 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-07-21 17:46:45 +00:00
6ef49a0b86 force creation of MIDI (SMF) files on disk whenever an SMF object is created, to avoid "source exists but no file don disk exists" issue
git-svn-id: svn://localhost/ardour2/branches/3.0@7459 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-07-21 13:02:58 +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
c8e3f32533 newly created files for use in recording appear in a .stubs folder, and are moved out of it when recording stops
git-svn-id: svn://localhost/ardour2/branches/3.0@7426 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-07-16 14:55:11 +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
d3a4655ddd allow zero length MIDI files again and remove debug output
git-svn-id: svn://localhost/ardour2/branches/3.0@7347 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-07-01 15:02:18 +00:00
37978aa214 lots of details relating to MIDI file management; try to ignore ALSA sequencer MIDI ports named "Midi-Through"
git-svn-id: svn://localhost/ardour2/branches/3.0@7305 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-06-26 13:45:59 +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
f4401c5928 midway snapshot of work done on managing Region & Source lifetimes correctly. may fix missing MIDI file bug ; save empty playlists because they may be referred to by the history file ; undo commands auto-delete when objects they refer to die (currently not commands built from XML deserialization); Sources now know how many regions are using them for something, meaning that we know if we can delete the files holding any data for the source
git-svn-id: svn://localhost/ardour2/branches/3.0@7291 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-06-23 20:14:07 +00:00
Carl Hetherington
40ffadf219 Return delta time even for metadata events. Should fix #3244.
git-svn-id: svn://localhost/ardour2/branches/3.0@7282 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-06-20 22:49:35 +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
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
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
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
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
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
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