[Mono-dev] Mono.Media for GSOC
jamesh at bluewallgroup.com
Tue Apr 29 16:57:09 EDT 2008
This is very interesting! Especially the midi framework! It would be great if
it would connect to jack-midi as well.
Prashant Vaibhav wrote:
> Dear Miguel,
> Dear All,
> Glad to hear codecs are not a focus for Mono.Media (at present). Somehow
> most discussion in this area seems to be focused on re-implementing
> gstreamer or creating bindings for it (a/v format coding/decoding in
> general). Last weekend I submitted an application for Mono.Media GSoC. My
> proposal seeks to provide high performance, low-level audio/MIDI features
> for Mono, rather than a generic coder/decoder framework. One thing I have
> focused on is fairly complete MIDI support.
> I didn't base my proposal on the Java media framework (I don't have much,
> any, experience with Java, plus I saw discussion on how JMF's heavily
> asynchronous design is undesirable), so I might be missing some obvious
> features. I'll appreciate if the Mono dev community could comment on my
> Following is an excerpt from the proposal:
> The architecture of the Mono.Media.Audio section would be as follows:
>> - Classes representing audio devices will be implemented. These will
>> abstract out platform-specific code (ie. the same AudioDevice would use
>> WDM/KS on Windows and Jack/Alsa on Linux)
>> - Classes representing audio sources will be implemented. These will have
>> methods to *provide* audio.
>> - Classes representing audio consumers will be implemented. These act
>> sinks. An AudioSourcePlayer for example will continuously stream audio
>> an AudioSource to an AudioDevice. The AudioDevice will have a callback
>> method on its own high priority thread to get audio buffers.
>> - Further classes like Mixer, CrossFader, Equalizer etc. might be
>> implemented as a combination of sinks and sources.
>> - Classes for reading/writing simple audio files (.wav, .aiff etc.) will
>> also be implemented.
> The MIDI architecture will consist of :
> - Classes for MIDI input and output devices. These will represent actual
>> devices on Windows (which does not support the concept of virtual
>> and software ports on Linux and Mac. The winmm API will be used on
>> CoreMIDI on Mac, and ALSA sequencer API on Linux.
>> - Classes for MIDI events (a generic event, NoteOn, NoteOff events,
>> MetaEvents, Controller etc.). These will allow easy creation/manipulation
>> MIDI data, shielding the programmer from the actual byte-stream.
>> - Classes for storing/manipulating these (e.g. MidiTrack, MidiSequence,
>> MidiRecorder etc.)
>> - Classes for handling MIDI file input/output
>> - Classes for handling MIDI time code and transport control messages
>> Basically the MIDI framework will be a fairly complete implementation of
>> everything that MIDI has to offer (except perhaps highly specialized
>> standards like Sample Dump Standard). If we have time, an OSC interface
>> might also be implemented.
> Of course this design is open to discussion. Thanks for your time!
> On 07/04/2008, Miguel de Icaza <miguel at novell.com> wrote:
>> > I'm interested in applying for GSOC to work on Mono.Media and I was
>> > just wondering if I could get a few more details about the project.
>> > Has any work been completed on it? How comprehensive in terms of
>> > codec support are you looking for?
>> I do not believe that there is much along the lines of codecs in
>> Mono.Media. Please read the Java specification as its really working
>> with a different set of problems.
>> Mono-devel-list mailing list
>> Mono-devel-list at lists.ximian.com
> PRASHANT VAIBHAV, Class of 2008 (EE/CS)
> School of Engineering and Science, Jacobs University Bremen
> Postal address: Phone: +49 421 200 5714
> College Ring 7, Box 83 Apartment: College III B202
> Bremen 28759, Germany
> Mono-devel-list mailing list
> Mono-devel-list at lists.ximian.com
View this message in context: http://www.nabble.com/Mono.Media-for-GSOC-tp16310647p16970241.html
Sent from the Mono - Dev mailing list archive at Nabble.com.
More information about the Mono-devel-list