FOREIGN MODULE javax_sound_sampled;

IMPORT
    java_lang := "java.lang",
    java_util := "java.util",
    java_io := "java.io",
    java_security := "java.security",
    java_net := "java.net",
    javax_sound_sampled_spi := "javax.sound.sampled.spi";

TYPE

  AudioFileFormat* = POINTER TO EXTENSIBLE RECORD (java_lang.Object)    (* Typebound Procedures *)
                     STATIC
                       PROCEDURE Init*(p0 : AudioFileFormat$Type;
                                       p1 : AudioFormat;
                                       p2 : INTEGER;
                                       p3 : java_util.Map) : AudioFileFormat,CONSTRUCTOR;
                       PROCEDURE Init*(p0 : AudioFileFormat$Type;
                                       p1 : AudioFormat;
                                       p2 : INTEGER) : AudioFileFormat,CONSTRUCTOR;
                       PROCEDURE Init!(p0 : AudioFileFormat$Type;
                                       p1 : INTEGER;
                                       p2 : AudioFormat;
                                       p3 : INTEGER) : AudioFileFormat,CONSTRUCTOR;
                     END;

  AudioFileFormat$Type* = POINTER TO EXTENSIBLE RECORD (java_lang.Object)    (* Typebound Procedures *)
                          STATIC
                            AIFC* : AudioFileFormat$Type;
                            AIFF* : AudioFileFormat$Type;
                            AU*   : AudioFileFormat$Type;
                            SND*  : AudioFileFormat$Type;
                            WAVE* : AudioFileFormat$Type;
                            PROCEDURE Init*(p0 : java_lang.String;
                                            p1 : java_lang.String) : AudioFileFormat$Type,CONSTRUCTOR;
                          END;

  AudioFormat* = POINTER TO EXTENSIBLE RECORD (java_lang.Object)    (* Typebound Procedures *)
                   encoding!         : AudioFormat$Encoding;
                   sampleRate!       : SHORTREAL;
                   sampleSizeInBits! : INTEGER;
                   channels!         : INTEGER;
                   frameSize!        : INTEGER;
                   frameRate!        : SHORTREAL;
                   bigEndian!        : BOOLEAN;
                 STATIC
                   PROCEDURE Init*(p0 : SHORTREAL;
                                   p1 : INTEGER;
                                   p2 : INTEGER;
                                   p3 : BOOLEAN;
                                   p4 : BOOLEAN) : AudioFormat,CONSTRUCTOR;
                   PROCEDURE Init*(p0 : AudioFormat$Encoding;
                                   p1 : SHORTREAL;
                                   p2 : INTEGER;
                                   p3 : INTEGER;
                                   p4 : INTEGER;
                                   p5 : SHORTREAL;
                                   p6 : BOOLEAN;
                                   p7 : java_util.Map) : AudioFormat,CONSTRUCTOR;
                   PROCEDURE Init*(p0 : AudioFormat$Encoding;
                                   p1 : SHORTREAL;
                                   p2 : INTEGER;
                                   p3 : INTEGER;
                                   p4 : INTEGER;
                                   p5 : SHORTREAL;
                                   p6 : BOOLEAN) : AudioFormat,CONSTRUCTOR;
                 END;

  AudioFormat$Encoding* = POINTER TO EXTENSIBLE RECORD (java_lang.Object)    (* Typebound Procedures *)
                          STATIC
                            ALAW*         : AudioFormat$Encoding;
                            PCM_SIGNED*   : AudioFormat$Encoding;
                            PCM_UNSIGNED* : AudioFormat$Encoding;
                            ULAW*         : AudioFormat$Encoding;
                            PROCEDURE Init*(p0 : java_lang.String) : AudioFormat$Encoding,CONSTRUCTOR;
                          END;

  AudioInputStream* = POINTER TO EXTENSIBLE RECORD (java_io.InputStream)    (* Typebound Procedures *)
                        format!      : AudioFormat;
                        frameLength! : LONGINT;
                        frameSize!   : INTEGER;
                        framePos!    : LONGINT;
                      STATIC
                        PROCEDURE Init*(p0 : TargetDataLine) : AudioInputStream,CONSTRUCTOR;
                        PROCEDURE Init*(p0 : java_io.InputStream;
                                        p1 : AudioFormat;
                                        p2 : LONGINT) : AudioInputStream,CONSTRUCTOR;
                      END;

  AudioPermission* = POINTER TO EXTENSIBLE RECORD (java_security.BasicPermission)
                     STATIC
                       PROCEDURE Init*(p0 : java_lang.String;
                                       p1 : java_lang.String) : AudioPermission,CONSTRUCTOR;
                       PROCEDURE Init*(p0 : java_lang.String) : AudioPermission,CONSTRUCTOR;
                     END;

  AudioSystem* = POINTER TO EXTENSIBLE RECORD (java_lang.Object)
                 STATIC
                   NOT_SPECIFIED*         = -1;
                   PROCEDURE getAudioFileFormat*(p0 : java_io.File) : AudioFileFormat;
                   PROCEDURE getAudioFileFormat*(p0 : java_io.InputStream) : AudioFileFormat;
                   PROCEDURE getAudioFileFormat*(p0 : java_net.URL) : AudioFileFormat;
                   PROCEDURE getAudioFileTypes*(p0 : AudioInputStream) : POINTER TO ARRAY OF AudioFileFormat$Type;
                   PROCEDURE getAudioFileTypes*() : POINTER TO ARRAY OF AudioFileFormat$Type;
                   PROCEDURE getAudioInputStream*(p0 : AudioFormat$Encoding;
                                                  p1 : AudioInputStream) : AudioInputStream;
                   PROCEDURE getAudioInputStream*(p0 : AudioFormat;
                                                  p1 : AudioInputStream) : AudioInputStream;
                   PROCEDURE getAudioInputStream*(p0 : java_io.File) : AudioInputStream;
                   PROCEDURE getAudioInputStream*(p0 : java_net.URL) : AudioInputStream;
                   PROCEDURE getAudioInputStream*(p0 : java_io.InputStream) : AudioInputStream;
                   PROCEDURE getClip*(p0 : Mixer$Info) : Clip;
                   PROCEDURE getClip*() : Clip;
                   PROCEDURE getLine*(p0 : Line$Info) : Line;
                   PROCEDURE getMixer*(p0 : Mixer$Info) : Mixer;
                   PROCEDURE getMixerInfo*() : POINTER TO ARRAY OF Mixer$Info;
                   PROCEDURE getSourceDataLine*(p0 : AudioFormat) : SourceDataLine;
                   PROCEDURE getSourceDataLine*(p0 : AudioFormat;
                                                p1 : Mixer$Info) : SourceDataLine;
                   PROCEDURE getSourceLineInfo*(p0 : Line$Info) : POINTER TO ARRAY OF Line$Info;
                   PROCEDURE getTargetDataLine*(p0 : AudioFormat) : TargetDataLine;
                   PROCEDURE getTargetDataLine*(p0 : AudioFormat;
                                                p1 : Mixer$Info) : TargetDataLine;
                   PROCEDURE getTargetEncodings*(p0 : AudioFormat$Encoding) : POINTER TO ARRAY OF AudioFormat$Encoding;
                   PROCEDURE getTargetEncodings*(p0 : AudioFormat) : POINTER TO ARRAY OF AudioFormat$Encoding;
                   PROCEDURE getTargetFormats*(p0 : AudioFormat$Encoding;
                                               p1 : AudioFormat) : POINTER TO ARRAY OF AudioFormat;
                   PROCEDURE getTargetLineInfo*(p0 : Line$Info) : POINTER TO ARRAY OF Line$Info;
                   PROCEDURE isConversionSupported*(p0 : AudioFormat$Encoding;
                                                    p1 : AudioFormat) : BOOLEAN;
                   PROCEDURE isConversionSupported*(p0 : AudioFormat;
                                                    p1 : AudioFormat) : BOOLEAN;
                   PROCEDURE isFileTypeSupported*(p0 : AudioFileFormat$Type;
                                                  p1 : AudioInputStream) : BOOLEAN;
                   PROCEDURE isFileTypeSupported*(p0 : AudioFileFormat$Type) : BOOLEAN;
                   PROCEDURE isLineSupported*(p0 : Line$Info) : BOOLEAN;
                   PROCEDURE write*(p0 : AudioInputStream;
                                    p1 : AudioFileFormat$Type;
                                    p2 : java_io.File) : INTEGER;
                   PROCEDURE write*(p0 : AudioInputStream;
                                    p1 : AudioFileFormat$Type;
                                    p2 : java_io.OutputStream) : INTEGER;
                 END;

  BooleanControl* = POINTER TO ABSTRACT RECORD (Control)    (* Typebound Procedures *)
                    STATIC
                      PROCEDURE Init!(p0 : BooleanControl$Type;
                                      p1 : BOOLEAN) : BooleanControl,CONSTRUCTOR;
                      PROCEDURE Init!(p0 : BooleanControl$Type;
                                      p1 : BOOLEAN;
                                      p2 : java_lang.String;
                                      p3 : java_lang.String) : BooleanControl,CONSTRUCTOR;
                    END;

  BooleanControl$Type* = POINTER TO EXTENSIBLE RECORD (Control$Type)
                         STATIC
                           APPLY_REVERB* : BooleanControl$Type;
                           MUTE*         : BooleanControl$Type;
                           PROCEDURE Init!(p0 : java_lang.String) : BooleanControl$Type,CONSTRUCTOR;
                         END;

  Clip* = POINTER TO INTERFACE RECORD (java_lang.Object + DataLine)    (* Typebound Procedures *)
          STATIC
            LOOP_CONTINUOUSLY* = -1;
          END;

  CompoundControl* = POINTER TO ABSTRACT RECORD (Control)    (* Typebound Procedures *)
                     STATIC
                       PROCEDURE Init!(    p0 : CompoundControl$Type;
                                       IN  p1 : ARRAY OF Control) : CompoundControl,CONSTRUCTOR;
                     END;

  CompoundControl$Type* = POINTER TO EXTENSIBLE RECORD (Control$Type)
                          STATIC
                            PROCEDURE Init!(p0 : java_lang.String) : CompoundControl$Type,CONSTRUCTOR;
                          END;

  Control* = POINTER TO ABSTRACT RECORD (java_lang.Object)    (* Typebound Procedures *)
             STATIC
               PROCEDURE Init!(p0 : Control$Type) : Control,CONSTRUCTOR;
             END;

  Control$Type* = POINTER TO EXTENSIBLE RECORD (java_lang.Object)    (* Typebound Procedures *)
                  STATIC
                    PROCEDURE Init!(p0 : java_lang.String) : Control$Type,CONSTRUCTOR;
                  END;

  DataLine* = POINTER TO INTERFACE RECORD (java_lang.Object + Line)    (* Typebound Procedures *)
              END;

  DataLine$Info* = POINTER TO EXTENSIBLE RECORD (Line$Info)    (* Typebound Procedures *)
                   STATIC
                     PROCEDURE Init*(p0 : java_lang.Class;
                                     p1 : AudioFormat) : DataLine$Info,CONSTRUCTOR;
                     PROCEDURE Init*(p0 : java_lang.Class;
                                     p1 : AudioFormat;
                                     p2 : INTEGER) : DataLine$Info,CONSTRUCTOR;
                     PROCEDURE Init*(    p0 : java_lang.Class;
                                     IN  p1 : ARRAY OF AudioFormat;
                                         p2 : INTEGER;
                                         p3 : INTEGER) : DataLine$Info,CONSTRUCTOR;
                   END;

  EnumControl* = POINTER TO ABSTRACT RECORD (Control)    (* Typebound Procedures *)
                 STATIC
                   PROCEDURE Init!(    p0 : EnumControl$Type;
                                   IN  p1 : ARRAY OF java_lang.Object;
                                       p2 : java_lang.Object) : EnumControl,CONSTRUCTOR;
                 END;

  EnumControl$Type* = POINTER TO EXTENSIBLE RECORD (Control$Type)
                      STATIC
                        REVERB* : EnumControl$Type;
                        PROCEDURE Init!(p0 : java_lang.String) : EnumControl$Type,CONSTRUCTOR;
                      END;

  FloatControl* = POINTER TO ABSTRACT RECORD (Control)    (* Typebound Procedures *)
                  STATIC
                    PROCEDURE Init!(p0 : FloatControl$Type;
                                    p1 : SHORTREAL;
                                    p2 : SHORTREAL;
                                    p3 : SHORTREAL;
                                    p4 : INTEGER;
                                    p5 : SHORTREAL;
                                    p6 : java_lang.String) : FloatControl,CONSTRUCTOR;
                    PROCEDURE Init!(p0 : FloatControl$Type;
                                    p1 : SHORTREAL;
                                    p2 : SHORTREAL;
                                    p3 : SHORTREAL;
                                    p4 : INTEGER;
                                    p5 : SHORTREAL;
                                    p6 : java_lang.String;
                                    p7 : java_lang.String;
                                    p8 : java_lang.String;
                                    p9 : java_lang.String) : FloatControl,CONSTRUCTOR;
                  END;

  FloatControl$Type* = POINTER TO EXTENSIBLE RECORD (Control$Type)
                       STATIC
                         AUX_RETURN*    : FloatControl$Type;
                         AUX_SEND*      : FloatControl$Type;
                         BALANCE*       : FloatControl$Type;
                         MASTER_GAIN*   : FloatControl$Type;
                         PAN*           : FloatControl$Type;
                         REVERB_RETURN* : FloatControl$Type;
                         REVERB_SEND*   : FloatControl$Type;
                         SAMPLE_RATE*   : FloatControl$Type;
                         VOLUME*        : FloatControl$Type;
                         PROCEDURE Init!(p0 : java_lang.String) : FloatControl$Type,CONSTRUCTOR;
                       END;

  Line* = POINTER TO INTERFACE RECORD (java_lang.Object)    (* Typebound Procedures *)
          END;

  Line$Info* = POINTER TO EXTENSIBLE RECORD (java_lang.Object)    (* Typebound Procedures *)
               STATIC
                 PROCEDURE Init*(p0 : java_lang.Class) : Line$Info,CONSTRUCTOR;
               END;

  LineEvent* = POINTER TO EXTENSIBLE RECORD (java_util.EventObject)    (* Typebound Procedures *)
               STATIC
                 PROCEDURE Init*(p0 : Line;
                                 p1 : LineEvent$Type;
                                 p2 : LONGINT) : LineEvent,CONSTRUCTOR;
               END;

  LineEvent$Type* = POINTER TO EXTENSIBLE RECORD (java_lang.Object)    (* Typebound Procedures *)
                    STATIC
                      CLOSE* : LineEvent$Type;
                      OPEN*  : LineEvent$Type;
                      START* : LineEvent$Type;
                      STOP*  : LineEvent$Type;
                      PROCEDURE Init!(p0 : java_lang.String) : LineEvent$Type,CONSTRUCTOR;
                    END;

  LineListener* = POINTER TO INTERFACE RECORD (java_lang.Object + java_util.EventListener)    (* Typebound Procedures *)
                  END;

  LineUnavailableException* = POINTER TO EXTENSIBLE RECORD (java_lang.Exception)
                              STATIC
                                PROCEDURE Init*(p0 : java_lang.String) : LineUnavailableException,CONSTRUCTOR;
                                PROCEDURE Init*() : LineUnavailableException,CONSTRUCTOR;
                              END;

  Mixer* = POINTER TO INTERFACE RECORD (java_lang.Object + Line)    (* Typebound Procedures *)
           END;

  Mixer$Info* = POINTER TO EXTENSIBLE RECORD (java_lang.Object)    (* Typebound Procedures *)
                STATIC
                  PROCEDURE Init!(p0 : java_lang.String;
                                  p1 : java_lang.String;
                                  p2 : java_lang.String;
                                  p3 : java_lang.String) : Mixer$Info,CONSTRUCTOR;
                END;

  Port* = POINTER TO INTERFACE RECORD (java_lang.Object + Line)
          END;

  Port$Info* = POINTER TO EXTENSIBLE RECORD (Line$Info)    (* Typebound Procedures *)
               STATIC
                 COMPACT_DISC* : Port$Info;
                 HEADPHONE*    : Port$Info;
                 LINE_IN*      : Port$Info;
                 LINE_OUT*     : Port$Info;
                 MICROPHONE*   : Port$Info;
                 SPEAKER*      : Port$Info;
                 PROCEDURE Init*(p0 : java_lang.Class;
                                 p1 : java_lang.String;
                                 p2 : BOOLEAN) : Port$Info,CONSTRUCTOR;
               END;

  ReverbType* = POINTER TO EXTENSIBLE RECORD (java_lang.Object)    (* Typebound Procedures *)
                STATIC
                  PROCEDURE Init!(p0 : java_lang.String;
                                  p1 : INTEGER;
                                  p2 : SHORTREAL;
                                  p3 : INTEGER;
                                  p4 : SHORTREAL;
                                  p5 : INTEGER) : ReverbType,CONSTRUCTOR;
                END;

  SourceDataLine* = POINTER TO INTERFACE RECORD (java_lang.Object + DataLine)    (* Typebound Procedures *)
                    END;

  TargetDataLine* = POINTER TO INTERFACE RECORD (java_lang.Object + DataLine)    (* Typebound Procedures *)
                    END;

  UnsupportedAudioFileException* = POINTER TO EXTENSIBLE RECORD (java_lang.Exception)
                                   STATIC
                                     PROCEDURE Init*(p0 : java_lang.String) : UnsupportedAudioFileException,CONSTRUCTOR;
                                     PROCEDURE Init*() : UnsupportedAudioFileException,CONSTRUCTOR;
                                   END;




PROCEDURE (self:AudioFileFormat) getByteLength*() : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:AudioFileFormat) getFormat*() : AudioFormat,NEW,EXTENSIBLE;

PROCEDURE (self:AudioFileFormat) getFrameLength*() : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:AudioFileFormat) getProperty*(p0 : java_lang.String) : java_lang.Object,NEW,EXTENSIBLE;

PROCEDURE (self:AudioFileFormat) getType*() : AudioFileFormat$Type,NEW,EXTENSIBLE;

PROCEDURE (self:AudioFileFormat) properties*() : java_util.Map,NEW,EXTENSIBLE;

PROCEDURE (self:AudioFileFormat) toString*() : java_lang.String,EXTENSIBLE;

PROCEDURE (self:AudioFileFormat$Type) equals*(p0 : java_lang.Object) : BOOLEAN;

PROCEDURE (self:AudioFileFormat$Type) getExtension*() : java_lang.String,NEW,EXTENSIBLE;

PROCEDURE (self:AudioFileFormat$Type) hashCode*() : INTEGER;

PROCEDURE (self:AudioFileFormat$Type) toString*() : java_lang.String;

PROCEDURE (self:AudioFormat) getChannels*() : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:AudioFormat) getEncoding*() : AudioFormat$Encoding,NEW,EXTENSIBLE;

PROCEDURE (self:AudioFormat) getFrameRate*() : SHORTREAL,NEW,EXTENSIBLE;

PROCEDURE (self:AudioFormat) getFrameSize*() : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:AudioFormat) getProperty*(p0 : java_lang.String) : java_lang.Object,NEW,EXTENSIBLE;

PROCEDURE (self:AudioFormat) getSampleRate*() : SHORTREAL,NEW,EXTENSIBLE;

PROCEDURE (self:AudioFormat) getSampleSizeInBits*() : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:AudioFormat) isBigEndian*() : BOOLEAN,NEW,EXTENSIBLE;

PROCEDURE (self:AudioFormat) matches*(p0 : AudioFormat) : BOOLEAN,NEW,EXTENSIBLE;

PROCEDURE (self:AudioFormat) properties*() : java_util.Map,NEW,EXTENSIBLE;

PROCEDURE (self:AudioFormat) toString*() : java_lang.String,EXTENSIBLE;

PROCEDURE (self:AudioFormat$Encoding) equals*(p0 : java_lang.Object) : BOOLEAN;

PROCEDURE (self:AudioFormat$Encoding) hashCode*() : INTEGER;

PROCEDURE (self:AudioFormat$Encoding) toString*() : java_lang.String;

PROCEDURE (self:AudioInputStream) available*() : INTEGER,EXTENSIBLE;

PROCEDURE (self:AudioInputStream) close*(),EXTENSIBLE;

PROCEDURE (self:AudioInputStream) getFormat*() : AudioFormat,NEW,EXTENSIBLE;

PROCEDURE (self:AudioInputStream) getFrameLength*() : LONGINT,NEW,EXTENSIBLE;

PROCEDURE (self:AudioInputStream) mark*(p0 : INTEGER),EXTENSIBLE;

PROCEDURE (self:AudioInputStream) markSupported*() : BOOLEAN,EXTENSIBLE;

PROCEDURE (self:AudioInputStream) read*() : INTEGER,EXTENSIBLE;

PROCEDURE (self:AudioInputStream) read*(IN  p0 : ARRAY OF BYTE) : INTEGER,EXTENSIBLE;

PROCEDURE (self:AudioInputStream) read*(IN  p0 : ARRAY OF BYTE;
                                            p1 : INTEGER;
                                            p2 : INTEGER) : INTEGER,EXTENSIBLE;

PROCEDURE (self:AudioInputStream) reset*(),EXTENSIBLE;

PROCEDURE (self:AudioInputStream) skip*(p0 : LONGINT) : LONGINT,EXTENSIBLE;

PROCEDURE (self:BooleanControl) getStateLabel*(p0 : BOOLEAN) : java_lang.String,NEW,EXTENSIBLE;

PROCEDURE (self:BooleanControl) getValue*() : BOOLEAN,NEW,EXTENSIBLE;

PROCEDURE (self:BooleanControl) setValue*(p0 : BOOLEAN),NEW,EXTENSIBLE;

PROCEDURE (self:BooleanControl) toString*() : java_lang.String,EXTENSIBLE;

PROCEDURE (self:Clip) getFrameLength*() : INTEGER,NEW,ABSTRACT;

PROCEDURE (self:Clip) getMicrosecondLength*() : LONGINT,NEW,ABSTRACT;

PROCEDURE (self:Clip) loop*(p0 : INTEGER),NEW,ABSTRACT;

PROCEDURE (self:Clip) open*(    p0 : AudioFormat;
                            IN  p1 : ARRAY OF BYTE;
                                p2 : INTEGER;
                                p3 : INTEGER),NEW,ABSTRACT;

PROCEDURE (self:Clip) open*(p0 : AudioInputStream),NEW,ABSTRACT;

PROCEDURE (self:Clip) setFramePosition*(p0 : INTEGER),NEW,ABSTRACT;

PROCEDURE (self:Clip) setLoopPoints*(p0 : INTEGER;
                                     p1 : INTEGER),NEW,ABSTRACT;

PROCEDURE (self:Clip) setMicrosecondPosition*(p0 : LONGINT),NEW,ABSTRACT;

PROCEDURE (self:CompoundControl) getMemberControls*() : POINTER TO ARRAY OF Control,NEW,EXTENSIBLE;

PROCEDURE (self:CompoundControl) toString*() : java_lang.String,EXTENSIBLE;

PROCEDURE (self:Control) getType*() : Control$Type,NEW,EXTENSIBLE;

PROCEDURE (self:Control) toString*() : java_lang.String,EXTENSIBLE;

PROCEDURE (self:Control$Type) equals*(p0 : java_lang.Object) : BOOLEAN;

PROCEDURE (self:Control$Type) hashCode*() : INTEGER;

PROCEDURE (self:Control$Type) toString*() : java_lang.String;

PROCEDURE (self:DataLine) available*() : INTEGER,NEW,ABSTRACT;

PROCEDURE (self:DataLine) drain*(),NEW,ABSTRACT;

PROCEDURE (self:DataLine) flush*(),NEW,ABSTRACT;

PROCEDURE (self:DataLine) getBufferSize*() : INTEGER,NEW,ABSTRACT;

PROCEDURE (self:DataLine) getFormat*() : AudioFormat,NEW,ABSTRACT;

PROCEDURE (self:DataLine) getFramePosition*() : INTEGER,NEW,ABSTRACT;

PROCEDURE (self:DataLine) getLevel*() : SHORTREAL,NEW,ABSTRACT;

PROCEDURE (self:DataLine) getLongFramePosition*() : LONGINT,NEW,ABSTRACT;

PROCEDURE (self:DataLine) getMicrosecondPosition*() : LONGINT,NEW,ABSTRACT;

PROCEDURE (self:DataLine) isActive*() : BOOLEAN,NEW,ABSTRACT;

PROCEDURE (self:DataLine) isRunning*() : BOOLEAN,NEW,ABSTRACT;

PROCEDURE (self:DataLine) start*(),NEW,ABSTRACT;

PROCEDURE (self:DataLine) stop*(),NEW,ABSTRACT;

PROCEDURE (self:DataLine$Info) getFormats*() : POINTER TO ARRAY OF AudioFormat,NEW,EXTENSIBLE;

PROCEDURE (self:DataLine$Info) getMaxBufferSize*() : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:DataLine$Info) getMinBufferSize*() : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:DataLine$Info) isFormatSupported*(p0 : AudioFormat) : BOOLEAN,NEW,EXTENSIBLE;

PROCEDURE (self:DataLine$Info) matches*(p0 : Line$Info) : BOOLEAN,EXTENSIBLE;

PROCEDURE (self:DataLine$Info) toString*() : java_lang.String,EXTENSIBLE;

PROCEDURE (self:EnumControl) getValue*() : java_lang.Object,NEW,EXTENSIBLE;

PROCEDURE (self:EnumControl) getValues*() : POINTER TO ARRAY OF java_lang.Object,NEW,EXTENSIBLE;

PROCEDURE (self:EnumControl) setValue*(p0 : java_lang.Object),NEW,EXTENSIBLE;

PROCEDURE (self:EnumControl) toString*() : java_lang.String,EXTENSIBLE;

PROCEDURE (self:FloatControl) getMaximum*() : SHORTREAL,NEW,EXTENSIBLE;

PROCEDURE (self:FloatControl) getMaxLabel*() : java_lang.String,NEW,EXTENSIBLE;

PROCEDURE (self:FloatControl) getMidLabel*() : java_lang.String,NEW,EXTENSIBLE;

PROCEDURE (self:FloatControl) getMinimum*() : SHORTREAL,NEW,EXTENSIBLE;

PROCEDURE (self:FloatControl) getMinLabel*() : java_lang.String,NEW,EXTENSIBLE;

PROCEDURE (self:FloatControl) getPrecision*() : SHORTREAL,NEW,EXTENSIBLE;

PROCEDURE (self:FloatControl) getUnits*() : java_lang.String,NEW,EXTENSIBLE;

PROCEDURE (self:FloatControl) getUpdatePeriod*() : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:FloatControl) getValue*() : SHORTREAL,NEW,EXTENSIBLE;

PROCEDURE (self:FloatControl) setValue*(p0 : SHORTREAL),NEW,EXTENSIBLE;

PROCEDURE (self:FloatControl) shift*(p0 : SHORTREAL;
                                     p1 : SHORTREAL;
                                     p2 : INTEGER),NEW,EXTENSIBLE;

PROCEDURE (self:FloatControl) toString*() : java_lang.String,EXTENSIBLE;

PROCEDURE (self:Line) addLineListener*(p0 : LineListener),NEW,ABSTRACT;

PROCEDURE (self:Line) close*(),NEW,ABSTRACT;

PROCEDURE (self:Line) getControl*(p0 : Control$Type) : Control,NEW,ABSTRACT;

PROCEDURE (self:Line) getControls*() : POINTER TO ARRAY OF Control,NEW,ABSTRACT;

PROCEDURE (self:Line) getLineInfo*() : Line$Info,NEW,ABSTRACT;

PROCEDURE (self:Line) isControlSupported*(p0 : Control$Type) : BOOLEAN,NEW,ABSTRACT;

PROCEDURE (self:Line) isOpen*() : BOOLEAN,NEW,ABSTRACT;

PROCEDURE (self:Line) open*(),NEW,ABSTRACT;

PROCEDURE (self:Line) removeLineListener*(p0 : LineListener),NEW,ABSTRACT;

PROCEDURE (self:Line$Info) getLineClass*() : java_lang.Class,NEW,EXTENSIBLE;

PROCEDURE (self:Line$Info) matches*(p0 : Line$Info) : BOOLEAN,NEW,EXTENSIBLE;

PROCEDURE (self:Line$Info) toString*() : java_lang.String,EXTENSIBLE;

PROCEDURE (self:LineEvent) getFramePosition*() : LONGINT,NEW;

PROCEDURE (self:LineEvent) getLine*() : Line,NEW;

PROCEDURE (self:LineEvent) getType*() : LineEvent$Type,NEW;

PROCEDURE (self:LineEvent) toString*() : java_lang.String,EXTENSIBLE;

PROCEDURE (self:LineEvent$Type) equals*(p0 : java_lang.Object) : BOOLEAN;

PROCEDURE (self:LineEvent$Type) hashCode*() : INTEGER;

PROCEDURE (self:LineEvent$Type) toString*() : java_lang.String,EXTENSIBLE;

PROCEDURE (self:LineListener) update*(p0 : LineEvent),NEW,ABSTRACT;

PROCEDURE (self:Mixer) getLine*(p0 : Line$Info) : Line,NEW,ABSTRACT;

PROCEDURE (self:Mixer) getMaxLines*(p0 : Line$Info) : INTEGER,NEW,ABSTRACT;

PROCEDURE (self:Mixer) getMixerInfo*() : Mixer$Info,NEW,ABSTRACT;

PROCEDURE (self:Mixer) getSourceLineInfo*() : POINTER TO ARRAY OF Line$Info,NEW,ABSTRACT;

PROCEDURE (self:Mixer) getSourceLineInfo*(p0 : Line$Info) : POINTER TO ARRAY OF Line$Info,NEW,ABSTRACT;

PROCEDURE (self:Mixer) getSourceLines*() : POINTER TO ARRAY OF Line,NEW,ABSTRACT;

PROCEDURE (self:Mixer) getTargetLineInfo*(p0 : Line$Info) : POINTER TO ARRAY OF Line$Info,NEW,ABSTRACT;

PROCEDURE (self:Mixer) getTargetLineInfo*() : POINTER TO ARRAY OF Line$Info,NEW,ABSTRACT;

PROCEDURE (self:Mixer) getTargetLines*() : POINTER TO ARRAY OF Line,NEW,ABSTRACT;

PROCEDURE (self:Mixer) isLineSupported*(p0 : Line$Info) : BOOLEAN,NEW,ABSTRACT;

PROCEDURE (self:Mixer) isSynchronizationSupported*(IN  p0 : ARRAY OF Line;
                                                       p1 : BOOLEAN) : BOOLEAN,NEW,ABSTRACT;

PROCEDURE (self:Mixer) synchronize*(IN  p0 : ARRAY OF Line;
                                        p1 : BOOLEAN),NEW,ABSTRACT;

PROCEDURE (self:Mixer) unsynchronize*(IN  p0 : ARRAY OF Line),NEW,ABSTRACT;

PROCEDURE (self:Mixer$Info) equals*(p0 : java_lang.Object) : BOOLEAN;

PROCEDURE (self:Mixer$Info) getDescription*() : java_lang.String,NEW;

PROCEDURE (self:Mixer$Info) getName*() : java_lang.String,NEW;

PROCEDURE (self:Mixer$Info) getVendor*() : java_lang.String,NEW;

PROCEDURE (self:Mixer$Info) getVersion*() : java_lang.String,NEW;

PROCEDURE (self:Mixer$Info) hashCode*() : INTEGER;

PROCEDURE (self:Mixer$Info) toString*() : java_lang.String;

PROCEDURE (self:Port$Info) equals*(p0 : java_lang.Object) : BOOLEAN;

PROCEDURE (self:Port$Info) getName*() : java_lang.String,NEW,EXTENSIBLE;

PROCEDURE (self:Port$Info) hashCode*() : INTEGER;

PROCEDURE (self:Port$Info) isSource*() : BOOLEAN,NEW,EXTENSIBLE;

PROCEDURE (self:Port$Info) matches*(p0 : Line$Info) : BOOLEAN,EXTENSIBLE;

PROCEDURE (self:Port$Info) toString*() : java_lang.String;

PROCEDURE (self:ReverbType) equals*(p0 : java_lang.Object) : BOOLEAN;

PROCEDURE (self:ReverbType) getDecayTime*() : INTEGER,NEW;

PROCEDURE (self:ReverbType) getEarlyReflectionDelay*() : INTEGER,NEW;

PROCEDURE (self:ReverbType) getEarlyReflectionIntensity*() : SHORTREAL,NEW;

PROCEDURE (self:ReverbType) getLateReflectionDelay*() : INTEGER,NEW;

PROCEDURE (self:ReverbType) getLateReflectionIntensity*() : SHORTREAL,NEW;

PROCEDURE (self:ReverbType) getName*() : java_lang.String,NEW,EXTENSIBLE;

PROCEDURE (self:ReverbType) hashCode*() : INTEGER;

PROCEDURE (self:ReverbType) toString*() : java_lang.String;

PROCEDURE (self:SourceDataLine) open*(p0 : AudioFormat),NEW,ABSTRACT;

PROCEDURE (self:SourceDataLine) open*(p0 : AudioFormat;
                                      p1 : INTEGER),NEW,ABSTRACT;

PROCEDURE (self:SourceDataLine) write*(IN  p0 : ARRAY OF BYTE;
                                           p1 : INTEGER;
                                           p2 : INTEGER) : INTEGER,NEW,ABSTRACT;

PROCEDURE (self:TargetDataLine) open*(p0 : AudioFormat),NEW,ABSTRACT;

PROCEDURE (self:TargetDataLine) open*(p0 : AudioFormat;
                                      p1 : INTEGER),NEW,ABSTRACT;

PROCEDURE (self:TargetDataLine) read*(IN  p0 : ARRAY OF BYTE;
                                          p1 : INTEGER;
                                          p2 : INTEGER) : INTEGER,NEW,ABSTRACT;

END javax_sound_sampled.