13
0
Commit Graph

2519 Commits

Author SHA1 Message Date
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
e7e75e78c8 Fix range marker bar separator (colour is still off though, for some reason...).
git-svn-id: svn://localhost/ardour2/branches/3.0@3305 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-02 19:28:25 +00:00
Hans Baier
0e394fb66b * removed old implementation for Program Changes from MidiModel
* Added Automation based implementation for Program Changes, Pitch Bender and Channel Aftertouch

git-svn-id: svn://localhost/ardour2/branches/3.0@3304 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-02 19:09:32 +00:00
da45f489dd Fixes for GCC 4.3.
git-svn-id: svn://localhost/ardour2/branches/3.0@3303 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-02 18:35:05 +00:00
Hans Baier
38eb5f4539 * renamed canvas-midi-event.* into canvas-note-event.*
* make MidiModel keep track of its CanvasProgramChange instances

git-svn-id: svn://localhost/ardour2/branches/3.0@3297 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-04-29 21:58:05 +00:00
Hans Baier
d3cc2981b0 * added new defaults for program change ui gtk2_ardour/ardour3_ui_default.conf
* reverted involuntarily committed changes

git-svn-id: svn://localhost/ardour2/branches/3.0@3296 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-04-29 12:51:10 +00:00
Hans Baier
c0d467f461 * added defaults for program change ui gtk2_ardour/ardour3_ui_default.conf
git-svn-id: svn://localhost/ardour2/branches/3.0@3295 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-04-29 12:38:46 +00:00
Hans Baier
58e569c9e1 * Renamed CanvasMidiEvent into CanvasNoteEvent
* changed MidiModel::write_to to include note off handling *and* time sorting

git-svn-id: svn://localhost/ardour2/branches/3.0@3294 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-04-29 08:37:53 +00:00
Hans Baier
6d319e2132 * first prototype of program changes UI show up correctly (see http://www.flickr.com/photos/24012642@N02/2451596190/)
git-svn-id: svn://localhost/ardour2/branches/3.0@3293 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-04-29 07:28:24 +00:00