[Audio-engine-dev] New Gervill imported (Was: OpenJDK 6 b10 source posted)
kalli at midverk.is
Thu Jul 24 19:02:34 PDT 2008
Control rate can be fetched from the synthesizer using the AudioSynthesizer interface.
And if you want to use another control rate you'll have to open the synthesizer
with the open(SourceDataLine line, Map<String, Object> info) using different
control rate value in the info parameter.
But it could be a good idea that getPropertyInfo() would return current values
when the synthesizer is open and default ones when it is closed.
I changed these methods in the SoftChannel
So they won't accept out of range values (e.g. only 7 or 14 bit values).
I didn't like your idea of masking the getController output, and it also
didn't handle when we used negative values in the controlChange.
By restricting the input values we make the MidiChannel object more predictable
and getController will then always return true value not clipped one.
I am not sure we should hide the IOException in SF2SoundbankReader and DLSSoundbankReader.
This is not done in AudioFileReader classes from Sun.
For example in com.sun.media.sound.WaveFileReader
Frá: Mark Wielaard [mark at klomp.org]
Sent: 8. júní 2008 22:23
Viðtakandi: Karl Helgason
Afrit: audio-engine-dev at openjdk.java.net; distro-pkg-dev at openjdk.java.net
Efni: New Gervill imported (Was: OpenJDK 6 b10 source posted)
On Wed, 2008-06-04 at 11:25 +0200, Mark Wielaard wrote:
> On Wed, 2008-06-04 at 01:09 +0000, Karl Helgason wrote:
> Thanks for checking. These are all in the icedtea gervill overlay also.
> I'll make sure to upgrade to the latest CVS version in which I see you
> fixed some of the other issues I reported.
> > The code was also slightly reformatted:
> > a) lines "* @version %I%, %E%" was removed (such lines was removed from all JDK
> > sources);
> > b) line indention (to make lines no longer than 80 symbols);
> > c) tabs to spaces conversion;
> > I will look into to reformat newest Gervill CVS code the same way.
> That would be great. Since 0.9 there have been lots of changes and fixes
> (which is why icedtea tracks your CVS tree and didn't use the old 0.9
> code). Would it be a good idea to do a new version upgrade after syncing
> the sources and reformatting to celebrate the inclusion?
Thanks a lot for you fixes and the reformatting. I imported the new
Gervill from CVS in two parts. First everything up to June 1st. Second
the reformatting itself. That way it should be easy to follow what
2008-08-08 Mark Wielaard <mark at klomp.org>
Import Gervill fixes from CVS. See CHANGES.txt.
* overlays/openjdk/jdk/test/com/sun/media/sound: Likewise.
- Cleanup: Make inner classes static
- Cleanup: Remove unused fields in:
- Cleanup: Remove dead code from FFT.
- Cleanup: Make constant fields in SoftFilter final.
- Cleanup: Let SoftSynthesizer.info be final.
- Cleanup: Let SoftProvider.info be final.
- Fix: Unnecessary call to sourceDataLine.drain() in
causes random hangs in SoftSynthesizer.open jtreg test.
This happens when the synthesizer is opened and right
This will not happen if there is a delay between open and
- Fix: ModelByteBufferAudioFileSoundbankReader,
don't ignore stream.read return value.
- Fix: NullPointerException in
SoftSynthesizer.unloadInstrument if instrument = null
- Fix: SoftJitterCorrector.getSoundbank(URL) may fail to close
- Fix: Futile attempts to guard buffers variable in
- Fix: RiffReader/SF2SoundbankReader/DLSSoundbank should use
readfully instead of read
when reading from stream.
JTreg tests where created to test for this.
I like these cleanups. Your fix for the jtreg resources was nicer than
mine, so I dropped the icedtea one. I did take your change to the tests
needing a samplerate and controlrate argument to init the SoftLimiter to
just pass the constant values 44100 and 147. I also made the
SoftSynthesizer.getControlRate() protected again. I can kind of
understand using these constants in the tests. Although I find getting
them from the synthesizer nicer.
Is there a reason the control rate is always hardcoded to 147? There
actually doesn't seem to be any way to change it since the property info
always sets it explicitly.
With this there are only a few minor differences left between gervill
CVS and the icedtea overlay. I have attached the diff.
2008-06-08 Mark Wielaard <mark at klomp.org>
Import Gervill CVS source reformatting.
For the interested I have attached the current diff between the
gervil/cvs/icedtea/overlay version and what is in openjdk6-b10.
(Note that line endings are different, openjdk6 uses CRLF, which is
disregarded when creating the diff.)
More information about the audio-engine-dev