Hi, Since Joe was working on getting an updated Gervill into openjdk(6) and adopting any remaining patches to the new version, I made sure to sync our Gervill import into icedtea6 with the latest Gervill from CVS (September 1st). We only have a few small patches left against upstream Gervill (attached).
All jtreg tests, both the com/sun/media/sound ones from upstream, as the
older javax/sound/midi in openjdk6 (which are almost all a copy of the
upstream tests renamed into a different package) pass, with only a small
patch needed for the old tests now that SoftLimiter.init() changed
arguments. See the patches/icedtea-gervill.patch.
Attached are the actual changes to the icedtea overlays.
2008-09-11 Mark Wielaard <[EMAIL PROTECTED]>
* patches/icedtea-gervill.patch: Updated patch for old tests.
* overlays/openjdk/jdk/src/share/classes/com/sun/media/sound/*:
New Gervill files (sept 1).
The actual changes to Gervill since our last import:
- Add: More JTreg tests added:
EmergencySoundbank
SoftFilter
AudioFloatConverter.ToFloatArray (improved)
- Change: SoftReverb optimized, about 2 times faster.
- Fix: ModelByteBuffer.skip called super.skip
instead to call to RandomAccessFile directly.
JTreg tests added: ModelByteBuffer/RandomFileInputStream/*.java
- Fix: ModelByteBuffer.len was being modified in inner
class RandomFileInputStream. The variable was made final
and RandomFileInputStream.read methods where fixed.
- Fix: ArrayOutOfException error in ModelInstrument.getKeys(),
Keys array was to small, it couldn't
hold all possible midi notes (0..127).
Version 1.0.1
- Fix: Created dummy SourceDataline so that following
jtreg test can be tested without using
a real Audio Device SourceDataLine.
javax/sound/midi/Gervill/SoftAudioSynthesizer/Open.java
javax/sound/midi/Gervill/SoftSynthesizer/GetLatency.java
javax/sound/midi/Gervill/SoftSynthesizer/GetReceiver.java
javax/sound/midi/Gervill/SoftSynthesizer/GetReceiver2.java
javax/sound/midi/Gervill/SoftSynthesizer/GetReceivers.java
javax/sound/midi/Gervill/SoftSynthesizer/GetTransmitter.java
javax/sound/midi/Gervill/SoftSynthesizer/GetTransmitters.java
javax/sound/midi/Gervill/SoftSynthesizer/ImplicitOpenClose.java
javax/sound/midi/Gervill/SoftSynthesizer/Open.java
- Fix: Make open SoftSynthesizer garbage-collectable
when user don't have reference to it and it is not
producing any sound.
- Fix: SoftReverb silent detection improved.
- Added: SoftSynthesizer.getPropertyInfo returns
current properties values if it is open.
- Fix: Restrict input values in SoftChannel to 7 and 14 bit in these
methods:
noteOn
noteOff
setPolyPressure
setChannelPressure
controlChange
programChange(program)
programChange(bank, program)
setPitchBend
- Fix: Store generated soundbank to disk for faster future use.
Index: build.xml
===================================================================
RCS file: /cvs/gervill/build.xml,v
retrieving revision 1.2
diff -u -r1.2 build.xml
--- build.xml 14 Dec 2007 03:33:11 -0000 1.2
+++ build.xml 11 Sep 2008 18:30:29 -0000
@@ -29,7 +29,8 @@
<!-- run javac to compile the source files -->
<target name="compile" depends="init">
<javac srcdir="${src}"
-destdir="${build}">
+destdir="${build}"
+debug="true">
<classpath>
<path refid="lib.path"/>
</classpath>
@@ -69,4 +70,4 @@
<delete dir="${lib}"/>
<delete dir="${docs}"/>
</target>
-</project>
\ No newline at end of file
+</project>
Index: src/com/sun/media/sound/DLSSoundbankReader.java
===================================================================
RCS file: /cvs/gervill/src/com/sun/media/sound/DLSSoundbankReader.java,v
retrieving revision 1.3
diff -u -r1.3 DLSSoundbankReader.java
--- src/com/sun/media/sound/DLSSoundbankReader.java 5 Jun 2008 01:55:28 -0000 1.3
+++ src/com/sun/media/sound/DLSSoundbankReader.java 11 Sep 2008 18:30:29 -0000
@@ -47,6 +47,8 @@
return new DLSSoundbank(url);
} catch (RIFFInvalidFormatException e) {
return null;
+ } catch(IOException ioe) {
+ return null;
}
}
Index: src/com/sun/media/sound/SF2SoundbankReader.java
===================================================================
RCS file: /cvs/gervill/src/com/sun/media/sound/SF2SoundbankReader.java,v
retrieving revision 1.3
diff -u -r1.3 SF2SoundbankReader.java
--- src/com/sun/media/sound/SF2SoundbankReader.java 5 Jun 2008 01:55:33 -0000 1.3
+++ src/com/sun/media/sound/SF2SoundbankReader.java 11 Sep 2008 18:30:29 -0000
@@ -46,6 +46,8 @@
return new SF2Soundbank(url);
} catch (RIFFInvalidFormatException e) {
return null;
+ } catch(IOException ioe) {
+ return null;
}
}
Index: src/com/sun/media/sound/SoftChannel.java
===================================================================
RCS file: /cvs/gervill/src/com/sun/media/sound/SoftChannel.java,v
retrieving revision 1.11
diff -u -r1.11 SoftChannel.java
--- src/com/sun/media/sound/SoftChannel.java 27 Jul 2008 19:06:21 -0000 1.11
+++ src/com/sun/media/sound/SoftChannel.java 11 Sep 2008 18:30:29 -0000
@@ -1215,7 +1215,9 @@
public int getController(int controller) {
synchronized (control_mutex) {
- return this.controller[controller];
+ // Should only return lower 7 bits,
+ // even when controller is "boosted" higher.
+ return this.controller[controller] & 127;
}
}
Index: src/com/sun/media/sound/SoftSynthesizer.java
===================================================================
RCS file: /cvs/gervill/src/com/sun/media/sound/SoftSynthesizer.java,v
retrieving revision 1.43
diff -u -r1.43 SoftSynthesizer.java
--- src/com/sun/media/sound/SoftSynthesizer.java 27 Aug 2008 17:21:23 -0000 1.43
+++ src/com/sun/media/sound/SoftSynthesizer.java 11 Sep 2008 18:30:29 -0000
@@ -744,6 +744,9 @@
}
public void unloadAllInstruments(Soundbank soundbank) {
+ if (soundbank == null || !isSoundbankSupported(soundbank))
+ throw new IllegalArgumentException("Unsupported soundbank: " + soundbank);
+
if (!isOpen())
return;
@@ -768,6 +771,9 @@
}
public void unloadInstruments(Soundbank soundbank, Patch[] patchList) {
+ if (soundbank == null || !isSoundbankSupported(soundbank))
+ throw new IllegalArgumentException("Unsupported soundbank: " + soundbank);
+
if (!isOpen())
return;
gervill-overlays.diff.gz
Description: GNU Zip compressed data
_______________________________________________ audio-engine-dev mailing list [email protected] http://mail.openjdk.java.net/mailman/listinfo/audio-engine-dev
