Hi. I am currently working on a pet project of mine, midi.el, a mode for editing standard midi files with GNU Emacs. The parser is already wirtten and working, and some experimental code for drawing the resulting event list in a buffer is also already done. NoteOn/NoteOff events are combined into a Note event with a certain duration.
The basic idea is to parse the MIDI file into a list of events which are displayed in a buffer, one line per MIDI event. There should be: * A sort of filter mechanism so that event types can be temporarily ignored, i.e. show only Note events and not Controller events... * Region based editing commands for moving around blocks of events or cutting them out. I.e. C-SPC ... C-w ... C-y should do useful things. * Copying events between different MIDI buffers should be possible. * Insertion of events should either insert of override regarding time indexes. * Quantisation of event times for getting slightly offbeat recordings on-beat. I am basically writting this mail to this list since I am hoping to find someone who is also sort of interested in this kind of topic and maybe willing to contribute. If you are, have a look at the draft version at http://delysid.org/emacs/midi.el and get back to me via private mail. Whats basically missing now is a good and efficient infrastructure for holding the event list in a buffer such that it can be manipulated by the user (i.e., editing events) and also easily worked with from a coding level, so that higher level operations like quantisation can be implemented, and of course, so that the buffer can also be saved back out in binary .mid format. I hope this mail wasn't too offtopic, since it concerns a lisp file not yet part of GNU Emacs. However, if this project gets anywhere useful, I'd be more than happy to contribute the code to the standard distribution. I've had more than one situation already where I would have liked to slightly change a .mid file, and it would just be great if Emacs could do this, and one wouldnt need to have to deal with a completely new/strange sequencer application... -- Thanks for your time, Mario _______________________________________________ Emacs-devel mailing list Emacs-devel@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-devel