Hi Alex, good points. some notes:
> To make new functionality available we should add new interface to > javax.sound.midi (Synthesizer2 or something like this) which will > extends standard Synthesizer so developers could use new functionality > via _standard_ interface. yes, I propose "SoftwareSynthesizer" as presented in my previous email in this thread. > As a 1st step I suggest to create such interface in com.sun.media.sound > package, and them move it to javax.sound.midi. I don't see an advantage for going in 2 steps, I'd prefer to put it in javax.sound.midi directly. > So we need to determine which methods should be included in the extended > interface. > As for me the main method is setMixer(javax.sound.sampled.Mixer) (I'm > not sure about SourceDataLine - other implementations can require > several lines). yes, see my proposal for that. > Ability to specify preferred AudioFormat, Latency & Polyphony is a good > feature, but most likely it should be optional. I'd suggest to add "properties" for advanced functionality, similar to AudioFormat's properties, except that they can be set after instanciation. > BTW do you think selecting from several resamplers is useful feature? yes, very useful. E.g. for realtime playback, a linear interpolator will be enough (for the sake of compatiblity, CPU usage, etc.). But for a software that renders MIDI files to disk (e.g. by using the setOutputStream() method of my proposal), quality matters more than realtime performance. > If somebody wants to capture synthesizer outputs, he will implement > simplest Mixer and set it as output mixer for the synthesizer. I think a way of directly grabbing the synth output by way of OutputStream (or AudioInputStream, maybe better) will be more versatile and more Java like. > 3. Why the synth support only single receiver? (look at > com.sun.media.sound.AbstractMidiDevice for example of multi-recevers > implementation). yes, should support multiple receivers. Florian > 4. WaveFloatFileReader: it seems to me that the class is not used anywhere. > > 5. LargeSoundbankReader: what use cases you see for it? (as far as I see > from the code, currently its feature is not used anywhere) > > Regards > Alex > > > Karl Helgason wrote: >> Hi, >> >> I have updated the midi synthesizer: >> http://sourceforge.net/project/showfiles.php?group_id=175084&package_id=246500 >> >> - Large format support. >> - Fix SoundFont modulator mapping. >> - Fix handling of unsigned 16 bit streams >> - Improved GUS patch support >> - Add support for ping-pong/bi-directional and reverse loops >> >> regards >> Karl Helgason >> _______________________________________________ >> audio-engine-dev mailing list >> [email protected] >> http://mail.openjdk.java.net/mailman/listinfo/audio-engine-dev > _______________________________________________ > audio-engine-dev mailing list > [email protected] > http://mail.openjdk.java.net/mailman/listinfo/audio-engine-dev > > -- Florian Bomers Bome Software ------------------------------------------------------- Music Software, Development Tools: http://www.bome.com Java Sound extensions, plugins: http://www.tritonus.org The Java Sound Resources: http://www.jsresources.org ------------------------------------------------------- Please quote this email in your reply. Thanks! _______________________________________________ audio-engine-dev mailing list [email protected] http://mail.openjdk.java.net/mailman/listinfo/audio-engine-dev
