[Audio-engine-dev] Some small Gervill fixes
mark at klomp.org
Sun May 4 15:30:30 PDT 2008
On Fri, 2008-05-02 at 16:25 +0000, Karl Helgason wrote:
> I am not currently filtering the control values to 0..127 because some
> user likes to be able to overdrive the values
> for example to set Volume to 255 which mean more than 100% volume (it
> was possible with the previous beatnik synthesizer).
> This could however result in unpredictable behaviors.
> If we want to prevent out of range values we should do that at the
> beginning in the controlChange method with if statement.
Aha, yes, I see. If the user is allowed to "boost" a control then maybe
we should just let them. Reading those "weird" values back in
getController() can lead to some strangeness though.
> But it is cool to get more code reviewers :) Sun is planning to add
> Gervill into OpenJDK 6 after JavaOne.
That would be very cool. I am playing with frinika now on top of
icedtea/openjdk with gervill integrated (frinika obviously works since
it already had an older gervill imported). I never knew midi could be so
> I have added this fix into the CVS and these also:
> - Added: AudioFloatFormatConverter, used to convert
> between PCM_SIGNED, PCM_UNSIGNED, PCM_FLOAT in 8/16/24/32 bit (big/little endian),
> and resample using (linear/cubic/sinc...) if needed.
> - Added: WaveExtensibleReader, used to read WAV files using WAVE_FORMAT_EXTENSIBLE format.
> - Added: WaveFloatFileWriter, used to writing WAV files with PCM_FLOAT encoding.
> - Fix: AudioFloatConverter tests incorrectly AudioFormat frameSize against SampleSizeInBits
> Support for 64-byte float added, and support for 32+ bit PCM samples.
> SampleSizeInBits not dividable by 8 are now handled correctly.
> - Fix: DLSID(GUID) values incorrectly read from files in DLSSoundBank.
> - Fix: WaveFloatFileReader incorrectly sets framrate.
> - Fix: DLSSoundbank writes avgBytesPerSec incorrectly if SampleSizeInBits is not dividable by 8.
> - Fix: SoftChannel didn't reset concept of LSB control to 0 when MSB control value is set
> (according to MIDI 1.0 Detailed Spec. page 12)
> - Fix: SoftChannel, added check for illegal noteNumbers.
> If illegal notenumber was used in NoteOn/NoteOff
> a ArrayOutOfIndex exception was thrown.
> I especially proud of the new AudioFloatFormatConverter, it makes
> sample rate conversion available via a FormatConversionProvider.
O wow, very nice. I imported the new Gervill CVS version into IcedTea.
More information about the audio-engine-dev