13
0
Commit Graph

2327 Commits

Author SHA1 Message Date
54bec37b5a Fix corrupt MIDI file writing when meta events are present (fixes missing first note issue on some imported files).
Reduce number of buffer allocations on MIDI read/write.


git-svn-id: svn://localhost/ardour2/branches/3.0@3395 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-22 21:36:27 +00:00
39b2e2b572 fix track selection sensitivity botch for Import action, should be toggle-waveform-visible instead
git-svn-id: svn://localhost/ardour2/branches/3.0@3393 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-22 20:56:56 +00:00
fdebcfb838 Fix source/region length on MIDI import.
git-svn-id: svn://localhost/ardour2/branches/3.0@3391 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-22 20:00:54 +00:00
f360ef94da Arbitrarily increase MIDI process buffer size to avoid overruns with very dense data.
git-svn-id: svn://localhost/ardour2/branches/3.0@3389 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-22 16:44:22 +00:00
Hans Baier
8a97a89f3e * added more tests and profiling for pbd/xml++ xpath support
git-svn-id: svn://localhost/ardour2/branches/3.0@3387 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-22 16:02:05 +00:00
Hans Baier
376263d925 * added XPath support to pbd/xml++
git-svn-id: svn://localhost/ardour2/branches/3.0@3384 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-22 12:06:20 +00:00
975d410930 Fix MIDI selection/tool issues (issue #0002415 and other bugs).
Fix selection preservation across MIDI model editing commands (for both note moving and resizing).
Fix selection breakage introduced by old selection preservation stuff (fix zombie selection).


git-svn-id: svn://localhost/ardour2/branches/3.0@3381 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-22 01:02:04 +00:00
Hans Baier
7a9b4a0aa2 * bugfix: Inputs and Outputs swapped in the Track/Bus Inspector
* bugfix: control_to_midi_event has no effect
* typo (track/bus inspector)


git-svn-id: svn://localhost/ardour2/branches/3.0@3379 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-21 23:01:40 +00:00
96384d65a6 More petty clean ups of MIDI stuff.
Use more complete header I had laying around for MIDI controller names / depollute Automatable.


git-svn-id: svn://localhost/ardour2/branches/3.0@3378 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-21 18:07:31 +00:00
Hans Baier
23c6936f43 * Made the MIDI standard names show up for controllers instead of just controller numbers
git-svn-id: svn://localhost/ardour2/branches/3.0@3376 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-21 09:26:49 +00:00
873d884fb2 Separate audio and MIDI disk buffer size (and track read ahead) parameters.
Clean up and remove more unused stuff from MidiDiskstream.
Remove false assumptions that MIDI ring buffer space (bytes) corresponds to disk I/O chunk length (frames).


git-svn-id: svn://localhost/ardour2/branches/3.0@3375 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-21 07:45:45 +00:00
e9d9f8d8cc Clean up MidiDiskstream code, more closely match audio diskstream.
git-svn-id: svn://localhost/ardour2/branches/3.0@3374 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-21 05:05:26 +00:00
d9228151ae Don't read inactive tracks in Diskstream (merge oops, now matches 2.0).
Change soundtouch pkg-config name back to to "soundtouch-1.0" (Debian switched to this, I think fedora uses it too?).


git-svn-id: svn://localhost/ardour2/branches/3.0@3373 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-21 04:23:23 +00:00
Hans Baier
415131ef53 * fix out of range MIDI event detection
git-svn-id: svn://localhost/ardour2/branches/3.0@3366 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-16 23:50:29 +00:00
7666a4a5ff Don't create tracks for empty MIDI channels on import (i.e. make import look clean and sensible).
Remove no longer useful debugging output.


git-svn-id: svn://localhost/ardour2/branches/3.0@3365 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-16 22:40:35 +00:00
415f80dc9f Fix out of range MIDI event error detection (duuuhhhhh).
git-svn-id: svn://localhost/ardour2/branches/3.0@3364 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-16 22:00:14 +00:00
Hans Baier
0c25b2aa8e * Fixed crash on closing MIDI automation tracks, because ARDOUR::Parameter::operator< violated strict weak ordering,
which is necessary for std::set to work correctly
* few small style guide corrections


git-svn-id: svn://localhost/ardour2/branches/3.0@3363 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-16 20:54:24 +00:00
8ab37dd700 Fix region/track naming on MIDI import (remove ugly/unnecessary %a %b etc suffix).
git-svn-id: svn://localhost/ardour2/branches/3.0@3360 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-16 03:21:18 +00:00
cb94baf6f4 Fix invalid error message during MIDI recording (or files with stuck notes).
Handle stuck notes more gracefully in the view (probably should show up as a diamond though?).


git-svn-id: svn://localhost/ardour2/branches/3.0@3359 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-16 03:11:28 +00:00
f53baec2e4 Tidy up MIDI debugging output.
git-svn-id: svn://localhost/ardour2/branches/3.0@3358 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-16 02:50:19 +00:00
722b85e828 Fix crash on out of range MIDI events (though this shouldn't be possible at all....).
git-svn-id: svn://localhost/ardour2/branches/3.0@3357 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-16 02:35:37 +00:00
504a3d765f Re-comment-out MIDI iteration debug prints (oops).
git-svn-id: svn://localhost/ardour2/branches/3.0@3353 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-15 06:00:22 +00:00
e43da352cc Fix silly bugs introduced in previous commit.
git-svn-id: svn://localhost/ardour2/branches/3.0@3352 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-15 05:53:25 +00:00
05801cc3d6 Eliminate excessive allocation (for every event) during MidiModel iteration.
git-svn-id: svn://localhost/ardour2/branches/3.0@3351 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-15 05:00:28 +00:00
Hans Baier
a65044d097 * formatting
* fixed corruption bugs due to allocation hell of MidiModel::const_iterator::_event: Changed it into boost::shared_ptr
* fixed  MidiModel::const_iterator bugs: 
	-First note on lost, if an automation event comes first
	-corrupt MidiEvent compared to automation event if there are no notes in the region
* (hopefully) fixed possible race condition 
* fixed range check in MidiDiskstream::set_state for channel mask
* treating notes with duration 0 more gently in MidiRegionView (warning instead of assertion)


git-svn-id: svn://localhost/ardour2/branches/3.0@3345 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-13 18:40:10 +00:00
a25be81b5d Fix event allocation issues with MidiModel iteration.
git-svn-id: svn://localhost/ardour2/branches/3.0@3342 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-13 00:15:26 +00:00
bded96269f Remove junk from MidiModel::write_to
git-svn-id: svn://localhost/ardour2/branches/3.0@3341 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-12 23:34:35 +00:00
Hans Baier
6fb1ab3157 * added files in patch for ardour-3.0 to compile on OS X thanks to Sakari Bergen
git-svn-id: svn://localhost/ardour2/branches/3.0@3339 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-12 11:49:03 +00:00
Hans Baier
636f2184a5 * applied patch for ardour-3.0 to compile on OS X thanks to Sakari Bergen
git-svn-id: svn://localhost/ardour2/branches/3.0@3338 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-12 11:46:53 +00:00
Hans Baier
277bfa35d5 * Quick Fix: assertion converted into warning in MidiModel::write_to
git-svn-id: svn://localhost/ardour2/branches/3.0@3337 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-12 11:42:41 +00:00
Hans Baier
d467245152 * fixed various event size bugs
git-svn-id: svn://localhost/ardour2/branches/3.0@3336 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-12 10:03:53 +00:00
8ca72c4eca Fix various MIDI corruption bugs.
Re-enable MIDI CC controller bars and other immediate output (hans commented out, tsk tsk).
Write channel mode as textual enumeration instead of magic number.
Better atomic (almost) channel mode switching on MIDI ring buffer (was a possible, if unlikely, source of corruption).
Handle some cases of broken MIDI, and oversized events, more gracefully.


git-svn-id: svn://localhost/ardour2/branches/3.0@3335 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-12 02:40:48 +00:00
Hans Baier
a76e2128ef * disabled some debugging output
* fixed (my) bugs in MidiRingBuffer: aborted reading on corrupted events and event does not match channel mask


git-svn-id: svn://localhost/ardour2/branches/3.0@3333 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-11 21:03:27 +00:00
Hans Baier
ddaaff4483 * Added a couple of guards to prevent MIDI::Events with NULL buffers to enter into ring buffers
git-svn-id: svn://localhost/ardour2/branches/3.0@3332 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-11 20:23:17 +00:00
Hans Baier
7fd65ed78d * fixed bug: MIDI automations could not be restored from XML (NullAutomationType)
git-svn-id: svn://localhost/ardour2/branches/3.0@3331 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-10 01:25:38 +00:00
Hans Baier
4e745fc17c * formatting/style guide
* bugfix: midi_util.h only considered channel events up to E0, but had to be EF
* bugfix: parameter.h operator == should also compare channel (drobilla, correct me if I am wrong)
* added some assert() guards


git-svn-id: svn://localhost/ardour2/branches/3.0@3330 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-09 16:10:36 +00:00
Hans Baier
8d44391f4b * adjusted formatting a bit to style guide
* fixed: velocity value left on canvas
* fixed: end-of-track problem still showed up sometimes
* enabled heaps of debugging output in order to debug MidiModel corruption 


git-svn-id: svn://localhost/ardour2/branches/3.0@3329 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-09 11:28:14 +00:00
Hans Baier
f651190162 * fixed some valgrind issues (uninitialized instance vars)
* Added preliminary support for program changes flags from automation lists


git-svn-id: svn://localhost/ardour2/branches/3.0@3327 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-08 09:53:19 +00:00
Hans Baier
a42913736a * fixed crash bug in MidiModel::const_iterator::operator=: copied iterator from other which becomes invalid because
the container the iterator points into is destroyed
* fixed conditional jump from uninitialised value in CanvasNote


git-svn-id: svn://localhost/ardour2/branches/3.0@3326 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-06 22:54:06 +00:00
Hans Baier
c415c44b9c * fixed crash bug in MidiModel::const_iterator::operator++
git-svn-id: svn://localhost/ardour2/branches/3.0@3325 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-06 21:31:49 +00:00
Hans Baier
98e653714e * enabled some debugging output :|
git-svn-id: svn://localhost/ardour2/branches/3.0@3321 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-06 10:49:16 +00:00
Hans Baier
8c0e27928a * bugfix: SMFSource: track footer at beginning of track not overwritten
git-svn-id: svn://localhost/ardour2/branches/3.0@3320 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-06 09:38:23 +00:00
Hans Baier
8557d0c69f * bugfix: SMFSource: track footer overwrote the last MIDI event
git-svn-id: svn://localhost/ardour2/branches/3.0@3319 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-06 09:15:45 +00:00
Hans Baier
cb88f8cce9 * fixed end of track at beginning-problem when writing MIDI files (also the EOT event was written multiple times)
git-svn-id: svn://localhost/ardour2/branches/3.0@3317 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-06 05:17:51 +00:00
e55e3fde7c Comment out excessive terminal output.
Write all events (not just notes) to SMF file from MidiModel
	(just use iterator instead of hand-hacked MidiModel::write_to).
Various MIDI bug fixes.


git-svn-id: svn://localhost/ardour2/branches/3.0@3312 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-03 21:55:43 +00:00
d2465f311f Fix midi_model.cc formatting.
Clear controller data (not just note data) in MidiModel::clear.


git-svn-id: svn://localhost/ardour2/branches/3.0@3311 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-03 18:14:35 +00:00
a7ec072ce4 Typo.
git-svn-id: svn://localhost/ardour2/branches/3.0@3310 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-03 07:26:16 +00:00
Hans Baier
b0d49651a7 * MidiModel::const_iterator::operator++: added AUTOMATION type
* automatable.cc/parameter.cc: Added friendly names for the new Midi parameter types
* fixed a failed assertion problem (note on channel != note off channel), but have no idea how :)
* changed lots of whitespace :|


git-svn-id: svn://localhost/ardour2/branches/3.0@3309 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-03 06:37:22 +00:00
fb1fbf71af Fix range problems for pitch wheel controller.
git-svn-id: svn://localhost/ardour2/branches/3.0@3308 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-02 21:34:00 +00:00
ab2af5d185 Fix several crashes on MIDI recording.
Fix MIDI CC iterator infinite looping.
Only allocate Text widget for MIDI events if necessary.


git-svn-id: svn://localhost/ardour2/branches/3.0@3307 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-02 20:57:27 +00:00