Paul Davis
7873fdb55c
alter API for MIDI cloning to facilitate export
...
git-svn-id: svn://localhost/ardour2/branches/3.0@12401 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-23 20:32:29 +00:00
Carl Hetherington
3f647a9dcd
Simplify slightly odd update_length() signature.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11900 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-11 15:47:33 +00:00
Paul Davis
ed2beaffee
main fix: when transport stops, clear per-region per-playlist note trackers even if there is no capture data to process; side effects: remove unused MidiBuffer::merge() and add DEBUG::MidiTrackers as well as more and better MIDI debug tracing facilities
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11057 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-22 20:14:47 +00:00
Paul Davis
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
75e6adcf03
Remove unused read/write data count code.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@10300 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-10-24 20:45:29 +00:00
Carl Hetherington
90a2cc0746
The most minor of formatting tweaks.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@10139 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-09-27 01:20:58 +00:00
Paul Davis
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
Paul Davis
828939a7f5
more MIDI I/O debugging output
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9901 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-07-19 11:57:09 +00:00
Paul Davis
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
David Robillard
a473d630eb
Fix broken whitespace. I'd apologize for the compile times if it was my fault :D
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9654 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-06-01 16:50:12 +00:00
Paul Davis
de9e216cb5
(1) push a locate all the way through the processing heirarchy so that MIDI output ports can resolve any notes currently playing (2) remove MidiStateTracker from MidiPort and use a fixed set of MIDI messages (sustain-off and all-notes-off, per channel) to do note resolution (3) move note resolution caused by a LoopEvent psuedo-event to within the main MidiPort::flush_output() loop, so that we resolve (turn off) Notes that come before the loop point, rather than send them out after the note resolution messages
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9635 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-05-30 21:37:58 +00:00
David Robillard
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
Paul Davis
3a40d9ef6b
minor tweaks to debug output and comments and header order
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9285 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-04-04 21:48:17 +00:00
Carl Hetherington
1bff54a23c
Slightly improve debug output.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9216 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-03-26 21:06:29 +00:00
Paul Davis
5e431d1d58
remove entire "stub" file concept; open new audio and MIDI files on demand (at first write); could be a few gotchas with some corner case scenarios, but apparently works OK
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9038 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-03-02 17:05:16 +00:00
Carl Hetherington
78310ad792
Hopefully fix disappearing MIDI recorded regions on the first record of a new session.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@8993 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-03-01 02:03:52 +00:00
David Robillard
f6ed36a457
Fix more broken whitespace.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@8314 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-20 22:51:17 +00:00
Carl Hetherington
73192bc1a7
Remove all use of nframes_t.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@8166 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-03 22:26:29 +00:00
Paul Davis
66a9112d48
add "origin" property to FileSource so that we can track multiple imports
...
git-svn-id: svn://localhost/ardour2/branches/3.0@7986 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-11-09 18:19:53 +00:00
Carl Hetherington
8222348761
Improve GUI display during MIDI record in various ways.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@7875 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-10-05 00:27:26 +00:00
Paul Davis
ede4ecbb00
megaopus patch #2 for today: remove nframes64_t and sframes_t from source
...
git-svn-id: svn://localhost/ardour2/branches/3.0@7792 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-09-17 18:20:37 +00:00
Carl Hetherington
e76c4ee06d
Default to play mode for MIDI controllers. Fixes #3429 .
...
git-svn-id: svn://localhost/ardour2/branches/3.0@7728 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-09-01 23:08:42 +00:00
Carl Hetherington
f645b4119e
Clean up MidiSource::midi_read now that the signed type sframes_t is being used to pass positions around.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@7726 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-09-01 01:50:24 +00:00
Carl Hetherington
78986385e1
Fix save/load of MIDI automation state. Fixes #3354 .
...
git-svn-id: svn://localhost/ardour2/branches/3.0@7578 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-09 22:23:23 +00:00
Paul Davis
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
Paul Davis
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
Paul Davis
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
Paul Davis
082b4a2019
add MidiModel::sync_to_source() to push model state into its existing source; mark SMFSource as non-removable after its called SMF::end_write(); some indentation fixes
...
git-svn-id: svn://localhost/ardour2/branches/3.0@7350 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-07-01 18:54:19 +00:00
Paul Davis
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
Paul Davis
de24d4f8b1
add and use Source::empty() since it can be done more efficiently than length(pos) == 0
...
git-svn-id: svn://localhost/ardour2/branches/3.0@7300 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-06-24 18:04:38 +00:00
Carl Hetherington
32d2e2eaac
Preserve source's model on clone() if it is not rebuilt. Should fix #3155 .
...
git-svn-id: svn://localhost/ardour2/branches/3.0@7149 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-05-24 21:45:50 +00:00
Paul Davis
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
Paul Davis
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
Paul Davis
a1e0dc13df
tweak Stateful/StatefulDiffCommand changes so that SessionObject's actually get a name; make StatefulDiffCommand use a weak_ptr, not a raw ptr; use .val() rather than .get() to avoid confusion with boost:: smart ptr method of the same name
...
git-svn-id: svn://localhost/ardour2/branches/3.0@6678 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-02-11 23:10:29 +00:00
Carl Hetherington
3a27410dcb
More tinkering with State<>. Use some StateDiffCommands instead of
...
MementoCommand<Region>. More use of State<> for Region members.
git-svn-id: svn://localhost/ardour2/branches/3.0@6675 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-02-11 17:08:34 +00:00
Paul Davis
aae367b63c
use new syntax for connecting to backend signals that enforces explicit connection scope, plus a few other related matters
...
git-svn-id: svn://localhost/ardour2/branches/3.0@6376 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-19 20:26:31 +00:00
Paul Davis
f6fdd8dcbf
switch to using boost::signals2 instead of sigc++, at least for libardour. not finished yet, but compiles, loads sessions, records and can close a session without a crash
...
git-svn-id: svn://localhost/ardour2/branches/3.0@6372 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-17 18:24:23 +00:00
Paul Davis
acdc88f279
attempt to remove confusion and errors caused by unclear semantics of _is_embedded for FileSources; member renamed _within_session, and is now ALWAYS determined by the _path of the FileSource, never by the creator
...
git-svn-id: svn://localhost/ardour2/branches/3.0@6213 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-11-30 13:16:38 +00:00
David Robillard
1047b0773e
Tidy up debug printing.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@5919 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-25 22:09:54 +00:00
David Robillard
e033ac94f0
Remove random crazy comment fragment.
...
Fix spacey tabs.
git-svn-id: svn://localhost/ardour2/branches/3.0@5918 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-25 22:04:05 +00:00
David Robillard
4c43ef5e1f
Remove unused source file_changed methods.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@5917 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-25 21:45:19 +00:00
David Robillard
01b761bbaa
Remove Session dependency from BeatsFramesConverter.
...
More constey TempoMap accessors.
git-svn-id: svn://localhost/ardour2/branches/3.0@5916 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-25 21:13:02 +00:00
Paul Davis
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
David Robillard
38a7cbfc3c
More correct looking MidiSource::midi_read.
...
Testing seems to show the old way and this both working equally well, which is a bit weird since the old way really doesn't seem to make any sense whatsoever.
This way works as well as far as I can tell and actually makes sense, so hey, let's go with this one.
git-svn-id: svn://localhost/ardour2/branches/3.0@5879 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-23 01:39:40 +00:00
David Robillard
106b728d34
Fix crash on save of MIDI data.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@5875 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-22 22:14:25 +00:00
David Robillard
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
David Robillard
a7c37f6a2d
Fix repeated linear search on read when cached model iterator reaches end.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@5853 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-22 14:46:03 +00:00
David Robillard
bc56eb8bd7
Fix unused parameter warnings since GCC apparently doesn't feel like listening to -Wno-unused-parameter
...
git-svn-id: svn://localhost/ardour2/branches/3.0@5835 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-21 00:15:42 +00:00