Commit graph

35 commits

Author SHA1 Message Date
Paul Davis
a8237f1aed make switching between input+disk monitoring work "right" for MIDI tracks; also fix a bug that led to messages about notes already being on at program start because of a double seek with no read in between
git-svn-id: svn://localhost/ardour2/branches/3.0@12762 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-18 19:20:59 +00:00
David Robillard
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
Paul Davis
5558b3cf06 a grab bag of changes correcting and improving the way MIDI note on/off tracking is done. may/should fix a number of problem with spurious note-offs under a variety of circumstances
git-svn-id: svn://localhost/ardour2/branches/3.0@11074 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-26 17:01:31 +00:00
Paul Davis
0f7e423422 fix incorrect use of MidiBuffer::reserve() and MidiBuffer::write() if channel mask discards a MIDI event (fixes #4138)
git-svn-id: svn://localhost/ardour2/branches/3.0@9811 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-07-08 17:50:02 +00:00
Paul Davis
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
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
0a9f5423f5 detect buffer "overflow" when delivering immediate events and queue remainder for delivery next time (though without actually requeing - just leave ringbuffer ptrs/indexes where they are. required some deep but minor changes in how MidiRingBuffer::read() works, so that we can detect if we're going to be able to deliver an event before we actually read any of its data. Peek FTW!
git-svn-id: svn://localhost/ardour2/branches/3.0@9629 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-05-29 17:35:21 +00:00
David Robillard
71222c2e6e Fix broken whitespace (no functional changes).
git-svn-id: svn://localhost/ardour2/branches/3.0@9289 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-04-04 23:00:48 +00:00
Paul Davis
ab376e10a7 reimplement MidiRingBuffer::dump()
git-svn-id: svn://localhost/ardour2/branches/3.0@9283 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-04-04 21:43:40 +00:00
Paul Davis
ea9979b4b9 remove Evoral::RingBuffer, which was (a) duplicating PBD::RingBufferNPT and (b) broken; replace it with PBD::RingBufferNPT
git-svn-id: svn://localhost/ardour2/branches/3.0@9212 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-03-26 19:01:12 +00:00
Carl Hetherington
bc84cb7479 Make a couple of bits of debug conditional to avoid mallocs when they are turned off.
git-svn-id: svn://localhost/ardour2/branches/3.0@8492 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-01-10 17:31:43 +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
Carl Hetherington
cf4091a03a Fix assert. Remove some debug output.
git-svn-id: svn://localhost/ardour2/branches/3.0@7833 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-09-23 21:48:17 +00:00
Carl Hetherington
8502e50377 Hopefully fix dropped MIDI notes on loop. Fixes #3133.
git-svn-id: svn://localhost/ardour2/branches/3.0@7613 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-13 02:13:03 +00:00
Paul Davis
1e728e728a basically, fix all kinds of odds and ends with MIDI playback, including missed notes and applying gain
git-svn-id: svn://localhost/ardour2/branches/3.0@7247 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-06-09 13:00:54 +00:00
Carl Hetherington
5fd862ebc5 Small cleanup.
git-svn-id: svn://localhost/ardour2/branches/3.0@7242 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-06-08 01:21:24 +00:00
Carl Hetherington
e67a6d8989 Update ring buffer read pointer correctly in case of a failure to insert an event into the MidiBuffer.
git-svn-id: svn://localhost/ardour2/branches/3.0@7241 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-06-08 01:21:01 +00:00
Paul Davis
db8b575c30 the mega-properties/SequenceProperty patch. split is broken at present (right hand starts has start-in-source of zero)
git-svn-id: svn://localhost/ardour2/branches/3.0@6718 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-03-02 00:00:00 +00:00
Paul Davis
738387f9a4 remove a couple of boost::signals2 trouble spots; fix some --strict compile time warnings
git-svn-id: svn://localhost/ardour2/branches/3.0@6378 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-20 16:50:41 +00:00
Paul Davis
de5e463904 make per-region note-tracking in MidiPlaylist work correctly, or something very close to it. note that locking isssues remain when regions (and thus note trackers) are removed
git-svn-id: svn://localhost/ardour2/branches/3.0@5912 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-25 14:42:46 +00:00
David Robillard
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
Paul Davis
ddf532a655 (full commit): fix MIDI playback by not writing into the playback buffer from MidiDiskStream::process() unless recording. This has a negative impact on "monitoring" MIDI, but that needs a different, somewhat more expansive solution anyway
git-svn-id: svn://localhost/ardour2/branches/3.0@5685 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-09-21 15:43:11 +00:00
Paul Davis
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
Paul Davis
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
Paul Davis
3845af6ce9 lots of MIDI editing stuff. to be explained on the website when its done
git-svn-id: svn://localhost/ardour2/branches/3.0@5596 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-08-27 03:09:30 +00:00
David Robillard
9faf3bd048 Fix crash when playing back MIDI within a loop.
Fixes mantis issue #0002570.


git-svn-id: svn://localhost/ardour2/branches/3.0@5052 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-05-05 02:04:56 +00:00
David Robillard
848df74e58 Fix MIDI playback.
git-svn-id: svn://localhost/ardour2/branches/3.0@5024 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-05-01 17:32:48 +00:00
David Robillard
5a48f99f72 Use nframes_t for timestamps of real (jack) time MIDI events (i.e. in MidiBuffer and MidiRingBuffer).
Use iterator interface of Sequence to read events in a MIDISource rather than Sequence::read, avoiding timestamp confusion.
Disable no longer useful Sequence::read.


git-svn-id: svn://localhost/ardour2/branches/3.0@4570 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-15 01:24:26 +00:00
David Robillard
2f6327c113 Disable excessive console output (please comment this stuff before committing...).
git-svn-id: svn://localhost/ardour2/branches/3.0@4479 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-02 15:51:19 +00:00
Hans Baier
018fff15ef * fix misleading/wrong comment
git-svn-id: svn://localhost/ardour2/branches/3.0@4477 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-02 09:10:26 +00:00
Hans Baier
858f0cb5ab * debugging output
* style guide


git-svn-id: svn://localhost/ardour2/branches/3.0@4476 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-02 08:50:36 +00:00
David Robillard
166ef64e3d Make (MIDI) event time stamp type a template parameter.
git-svn-id: svn://localhost/ardour2/branches/3.0@4473 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-02 02:36:05 +00:00
David Robillard
44ac5f5097 Removed fixed/maximum event size assumption/limitation from MIDI buffer.
git-svn-id: svn://localhost/ardour2/branches/3.0@4471 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-01 21:04:12 +00:00
David Robillard
8cbbfa4159 Fix immediate event delivery (panic button, controller sliders, etc).
git-svn-id: svn://localhost/ardour2/branches/3.0@4353 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-12-27 19:52:02 +00:00
David Robillard
487de9741b Move MidiRingBuffer::read into .cc file to avoid the 2 hour dev cycle (no functional changes).
git-svn-id: svn://localhost/ardour2/branches/3.0@4352 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-12-27 18:39:11 +00:00