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;
 

Attachment: 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

Reply via email to