PK Ij4 META-INF/PK Hj4/META-INF/MANIFEST.MFManifest-Version: 1.0 Ant-Version: Apache Ant 1.6.5 Created-By: 1.5.0_06-b05 (Sun Microsystems Inc.) Main-Class: SMeter Class-Path: X-COMMENT: Main-Class will be added automatically by build PK #i4 SoundStream/PK Ij4>SMeter$1.class1&    this$0LSMeter; (LSMeter;)VCodeLineNumberTableLocalVariableTablethis InnerClasses LSMeter$1;actionPerformed(Ljava/awt/event/ActionEvent;)VevtLjava/awt/event/ActionEvent; SourceFile SMeter.javaEnclosingMethod! "#  # $%SMeter$1java/lang/Objectjava/awt/event/ActionListenerSMeterinitComponents()V access$000'(LSMeter;Ljava/awt/event/ActionEvent;)V   4 *+* ;   A *+ <=    PK Ij4 mSMeter$2.class1&    this$0LSMeter; (LSMeter;)VCodeLineNumberTableLocalVariableTablethis InnerClasses LSMeter$2;actionPerformed(Ljava/awt/event/ActionEvent;)VevtLjava/awt/event/ActionEvent; SourceFile SMeter.javaEnclosingMethod! "#  # $%SMeter$2java/lang/Objectjava/awt/event/ActionListenerSMeterinitComponents()V access$100'(LSMeter;Ljava/awt/event/ActionEvent;)V   4 *+* D   A *+ EF    PK Ij4D}ɞSMeter$3.class1&    this$0LSMeter; (LSMeter;)VCodeLineNumberTableLocalVariableTablethis InnerClasses LSMeter$3;actionPerformed(Ljava/awt/event/ActionEvent;)VevtLjava/awt/event/ActionEvent; SourceFile SMeter.javaEnclosingMethod! "#  # $%SMeter$3java/lang/Objectjava/awt/event/ActionListenerSMeterinitComponents()V access$200'(LSMeter;Ljava/awt/event/ActionEvent;)V   4 *+* M   A *+ NO    PK Ij4 b!SMeter$4.class1&    this$0LSMeter; (LSMeter;)VCodeLineNumberTableLocalVariableTablethis InnerClasses LSMeter$4;actionPerformed(Ljava/awt/event/ActionEvent;)VevtLjava/awt/event/ActionEvent; SourceFile SMeter.javaEnclosingMethod! "#  # $%SMeter$4java/lang/Objectjava/awt/event/ActionListenerSMeterinitComponents()V access$300'(LSMeter;Ljava/awt/event/ActionEvent;)V   4 *+* _   A *+ `a    PK Ij4I lȞSMeter$5.class1&    this$0LSMeter; (LSMeter;)VCodeLineNumberTableLocalVariableTablethis InnerClasses LSMeter$5;actionPerformed(Ljava/awt/event/ActionEvent;)VevtLjava/awt/event/ActionEvent; SourceFile SMeter.javaEnclosingMethod! "#  # $%SMeter$5java/lang/Objectjava/awt/event/ActionListenerSMeterinitComponents()V access$400'(LSMeter;Ljava/awt/event/ActionEvent;)V   4 *+* h   A *+ ij    PK Ij4ݜSMeter$6.class1&    this$0LSMeter; (LSMeter;)VCodeLineNumberTableLocalVariableTablethis InnerClasses LSMeter$6;actionPerformed(Ljava/awt/event/ActionEvent;)VevtLjava/awt/event/ActionEvent; SourceFile SMeter.javaEnclosingMethod! "#  # $%SMeter$6java/lang/Objectjava/awt/event/ActionListenerSMeterinitComponents()V access$500'(LSMeter;Ljava/awt/event/ActionEvent;)V   4 *+* s   A *+ tu    PK Ij4DmSMeter$7.class1&    this$0LSMeter; (LSMeter;)VCodeLineNumberTableLocalVariableTablethis InnerClasses LSMeter$7; stateChanged"(Ljavax/swing/event/ChangeEvent;)VevtLjavax/swing/event/ChangeEvent; SourceFile SMeter.javaEnclosingMethod! "#  # $%SMeter$7java/lang/Object javax/swing/event/ChangeListenerSMeterinitComponents()V access$600*(LSMeter;Ljavax/swing/event/ChangeEvent;)V   4 *+* |   A *+ }~    PK Ij4hSMeter$8.class1   ()VCodeLineNumberTableLocalVariableTablethis InnerClasses LSMeter$8;run SourceFile SMeter.javaEnclosingMethod   SMeter SMeter$8java/lang/Objectjava/lang/Runnablemain([Ljava/lang/String;)V setVisible(Z)V   /*     : Y    PK Ij4l SMeter.class1     0       "  %  (    ,    0  3    9   > A C C C! "# H$ %& %' (( O ( %)*+ T %, X- 0. \ 0/ "0 1 2 034 5 c 6 78 9: ; < = > ? @ A BC rD rE rF GH IJ KLM zFN O P Q RS TU V W X YZ [\]^ourJFCLjavax/swing/JFileChooser; ourFileList[Ljava/io/File; BlockSizeIsm LSoundMeter;normalize_dataZDEBUG ConstantValue BSMenuItemLjavax/swing/JMenuItem;ChangeDirMenuItem ClearButtonLjavax/swing/JButton; CopyButtonNormalizeCheckBoxMenuItem1Ljavax/swing/JCheckBoxMenuItem;PickFilesMenuItem RunButtonjMenu1Ljavax/swing/JMenu; jMenuBar1Ljavax/swing/JMenuBar;jPanel1Ljavax/swing/JPanel; jSeparator1Ljavax/swing/JSeparator; jTextArea1Ljavax/swing/JTextArea;()VCodeLineNumberTableLocalVariableTablethisLSMeter;initComponentsgridBagConstraintsLjava/awt/GridBagConstraints;&NormalizeCheckBoxMenuItem1StateChanged"(Ljavax/swing/event/ChangeEvent;)VevtLjavax/swing/event/ChangeEvent;CopyButtonActionPerformed(Ljava/awt/event/ActionEvent;)VLjava/awt/event/ActionEvent;ss'Ljava/awt/datatransfer/StringSelection;toolkitLjava/awt/Toolkit;clip!Ljava/awt/datatransfer/Clipboard;ClearButtonActionPerformed ChangeDirMenuItemActionPerformedfileLjava/io/File;BSMenuItemActionPerformedeLjava/lang/Exception;tempLjava/lang/String; PickFilesMenuItemActionPerformediansRunButtonActionPerformedfmain([Ljava/lang/String;)Vargs[Ljava/lang/String; access$000'(LSMeter;Ljava/awt/event/ActionEvent;)Vx0x1 access$100 access$200 access$300 access$400 access$500 access$600*(LSMeter;Ljavax/swing/event/ChangeEvent;)V SourceFile SMeter.java %SoundMeter version 0.09 (15 March 06) _ javax/swing/JFileChooser  java/io/Fileuser.dir` ab cd efjavax/swing/JPanel javax/swing/JButton javax/swing/JTextArea javax/swing/JMenuBar javax/swing/JMenu javax/swing/JMenuItem javax/swing/JSeparator javax/swing/JCheckBoxMenuItem ghjava/awt/GridBagLayouti jk lmRun n_SMeter$1 InnerClasses o pq rsClearSMeter$2CopySMeter$3java/awt/GridBagConstraints t u rvjava/awt/Dimension w xyFile ChangeDirSMeter$4 rz Pick filesSMeter$5SMeter$6Normalize dataSMeter$7 {| r} ~  %java/awt/datatransfer/StringSelection    Select working directory _ m     java/lang/StringBuilderWorking directory is   _  java/lang/Exception Select files f  (SoundMeter version 0.09 (15 March 2006) _ SoundMeter   SMeter$8 SMeterjavax/swing/JFrame(Ljava/lang/String;)Vjava/lang/System getProperty&(Ljava/lang/String;)Ljava/lang/String;setCurrentDirectory(Ljava/io/File;)V setSelected(Z)VgetContentPane()Ljava/awt/Container;java/awt/Container setLayout(Ljava/awt/LayoutManager;)VsetDefaultCloseOperation(I)VsetText (LSMeter;)VaddActionListener"(Ljava/awt/event/ActionListener;)Vadd*(Ljava/awt/Component;)Ljava/awt/Component;gridxgridy)(Ljava/awt/Component;Ljava/lang/Object;)V(II)VsetPreferredSize(Ljava/awt/Dimension;)V0(Ljavax/swing/JMenuItem;)Ljavax/swing/JMenuItem;addChangeListener%(Ljavax/swing/event/ChangeListener;)V((Ljavax/swing/JMenu;)Ljavax/swing/JMenu; setJMenuBar(Ljavax/swing/JMenuBar;)Vpack isSelected()ZgetText()Ljava/lang/String; getToolkit()Ljava/awt/Toolkit;java/awt/ToolkitgetSystemClipboard#()Ljava/awt/datatransfer/Clipboard;java/awt/datatransfer/Clipboard setContentsM(Ljava/awt/datatransfer/Transferable;Ljava/awt/datatransfer/ClipboardOwner;)VsetDialogTitlesetFileSelectionModeshowOpenDialog(Ljava/awt/Component;)IgetSelectedFile()Ljava/io/File;getAbsolutePath setProperty8(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;outLjava/io/PrintStream;append-(Ljava/lang/String;)Ljava/lang/StringBuilder;toStringjava/io/PrintStreamprintlnjavax/swing/JOptionPaneshowInputDialog:(Ljava/awt/Component;Ljava/lang/Object;)Ljava/lang/String;java/lang/IntegerparseInt(Ljava/lang/String;)IsetMultiSelectionEnabledgetSelectedFiles()[Ljava/io/File;getPath dataLabels(I)Ljava/lang/String;(Ljava/lang/String;IZ)Vresultsjava/awt/EventQueue invokeLater(Ljava/lang/Runnable;)V!@* * * * Y *Y*** " 04? @*Y*Y*Y*Y*Y !*"Y#$*%Y&'*(Y)**(Y)+*,Y-.*(Y)/*0Y1*23Y45*6*78*9Y*:;**Y*?;***q*2w"  +3S*5TT:`**!*!Y=*3*Y*2o* * *!*ʱ" $/KY_ &9`` 9 Y   :*+:*+:*+:*+:*+:*+:*+B9>AOTX\PK \I4^>SoundFileFormat.class1 N       D                        DEBUGZ ConstantValuetotalWaveHeaderSizeI, AudioFormats[Ljava/lang/String; RIFF_header[B RIFFChunkNameLjava/lang/String; chunkSize WAVE_headerWaveHeaderName fmt_header FMTHeaderNameformatChunkSize audioFormatnumberChannelsS sampleRatebyteRate blockAlign bitsPerSample data_headerDataHeaderName dataChunkSize numberSamples()VCodeLineNumberTableLocalVariableTablethisLSoundFileFormat;setNumberChannels(S)VcsetBitsPerSamplebpsmakeCopy()LSoundFileFormat;isffgetNumberSamples()IgetNumberChannelssetNumberSamples(I)VstoString()Ljava/lang/String;sbLjava/lang/StringBuffer;treadFormatFromBuffer(Ljava/nio/ByteBuffer;)VbuffLjava/nio/ByteBuffer;writeFormatToBuffer SourceFileSoundFileFormat.java mn XY \T ]Y _Y aT bT cd eT fT gd hd iY kT lTSoundFileFormatjava/lang/StringBufferjava/lang/StringBuilder' java/lang/String m  RIFF_header=  chunkSize =  WAVE_header = fmt_header = formatChunkSize = audioFormat =  format= ' VW'  numberChannels = sampleRate = byteRate = blockAlign = bitsPerSample = data_header = dataChunkSize = Number Samples = }~ totalWaveHeaderSize =44 RIFF   Header says  not RIFF ~WAVEWave Header says  not WAVEfmt format header says  notformatChunkSize ; is not standard will compute where to look for data chunk data)Problem: didn't find data at position 20+Adjusting formatChunkSize to 16 unknown Standard PCMCustomjava/lang/Objectappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;([B)V,(Ljava/lang/String;)Ljava/lang/StringBuffer;(I)Ljava/lang/StringBuilder;java/nio/ByteBufferget()Bequals(Ljava/lang/Object;)Zjava/lang/SystemoutLjava/io/PrintStream;java/io/PrintStreamprintln(Ljava/lang/String;)VgetIntgetShort()Sposition(I)Ljava/nio/Buffer;put([B)Ljava/nio/ByteBuffer;putInt(I)Ljava/nio/ByteBuffer;putShort(S)Ljava/nio/ByteBuffer;!NOPQRSTQUVWXYZ[Q4\T]Y^[Q;_Y`[Q>aTbTcdeTfTgdhdiYj[QEkTlT mnoR********* * * ***p:  $).4:?EL!q RrstuoG***l*h* h ***lh *** h**,`dp)*++,8-F/qGrsGvdwuoG***l*h* h ***lh *** h**,`dp234+586F7qGrsGxdyzo\»YL+*+*+* +* +*+*+*+*+*+* +*+++++=9+*3T+*3T+*3T+*3T+pb?@AB C(D0E8F@GHHPIXJ`LgMnNuO|PQSTUVQYq ;{Trs|s}~o4 ** lp`q  rs~o/*pfq rso^*** h**,`dpoqrsqrsTo#YLYY*M+Y,W+Y* WYY*M+Y!,WYY*M+Y",W+Y#* W+Y$* %&*2'W+Y(* W+Y)* W+Y** W+Y+* W+Y,* WYY*M+Y-,W+Y.* W+Y/*0 W+1W+2pV|}+~C^:Upq #rs+[o=*+3TY*N4-5!6Y7-89*+:=*+3TY*N;-5!6Y<-=9=*+3TY*N>-5&6Y?-@>9*+:*$6YA* B9*+C*+C*+: *+: *+C *+C+*`DW=*+3TY*NE-56YF* 9*+:**0*6G9*p!#,JRiu~%-5=EMYp|q*rs{T#[ow+*HW+*IW+*HW+*HW+*IW+*JW+*JW+* IW+* IW+* JW+*JW+*HW+*IWp: $-7@IR[dmvqwrswno/YKSYLSYMS&pPK mo4[hSoundMeter.class1 F B B)+} - BP!Eⅿ B B B B B      @ B Bt B B B B @4 ?  . 0 0 0 0 .  . . B B BnfLjava/text/NumberFormat; ourFileNameLjava/lang/String;wfssLWaveFileSoundSource; BlockSizeINumberChannels normalizeZ max_sampleFepsDbigmean[Dminmaxsd versionInfo ConstantValuedebug()VCodeLineNumberTableLocalVariableTablethis LSoundMeter;(Ljava/lang/String;)Vfilename(Ljava/lang/String;IZ)VeLjava/lang/Exception;ictBSnormbpsdata[[Isumxsumsqxblockresults()Ljava/lang/String;sbLjava/lang/StringBuffer; dataLabels(I)Ljava/lang/String;NCmain([Ljava/lang/String;)Vargs[Ljava/lang/String;sm SourceFileSoundMeter.java ab MN PQ TU VU aj KL IJ GH WaveFileSoundSource ahjava/lang/Exception y h   RS ON WX [X YX ZX bjava/lang/StringBufferjava/lang/StringBuilder ,  'Filename,BlockSize,minR,meanR,sdR,maxR Filename,BlockSize,min[],mean[],sd[],max[], SoundMeter |y xyjava/lang/Object'SoundMeter version 0.09 (15 March 2006)java/text/NumberFormat getInstance()Ljava/text/NumberFormat;setMaximumFractionDigits(I)Vjava/lang/SystemoutLjava/io/PrintStream;toStringjava/io/PrintStreamprintlnexit setBlockSizesffLSoundFileFormat;SoundFileFormat bitsPerSampleSjava/lang/Mathpow(DD)DnumberChannels nextBlock([[I)Isqrt(D)Dlog10log closeSourceappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;(I)Ljava/lang/StringBuilder;,(Ljava/lang/String;)Ljava/lang/StringBuffer;format(D)Ljava/lang/String;!BFGHIJKLMNONPQRSTUVUWXYXZX[X\J]^_Q]`abc]***** d e fgahcB *+ d  !e fg iJajc> ***** * **+ ** **Y+ :* ** 6*d** ** :**!**"**#**$6* *#* R*$* wR*:*:9* %**: 6  *56  *#  \1 2 . 2 .hcR ڄ 6  *T*+  &*  1c*o(*o)kR  **  1*oc,kR 6  *d*# 1  1*#   1R*$ 1  1*$   1R \1  1cR \1  1  1kcR c96  *F7*!  1oR*"  1o 1k 1kggo(R * -AMPd:" ##$(%-&2'9(A+M/P,R-].a0l2x36789:<=?@=BCFGH I,JXI^LjNqPRULXYZ[\"X(`.a1d=eFfUgzdlmeRkl&mN/)nN #;mN aZnN jnN  oX 4LnN fgiJpNqQxrNstuXvXwUxyc.Y/L+0Y1* 232*43256W=*l+0Y1**#17232**!17232**"17232**$1723256W+86W+9dop/q9rqtue 1qnNfgz{|yci*:.Y;24?24@24A256W+86W+9dy |}~W}]de FnNTz{ifg|}cc:.Y;A,0Y1=24>24?24@24A256W,86W,9dQW^e*CnNQz{cfgc~N cf*BY*2CL0Y1+D2+E25d )e* gPK \I4oR00SoundSource.class1   can_rewindZ BlockSizeI()VCodeLineNumberTableLocalVariableTablethis LSoundSource;close setBlockSize(I)Vbs getBlockSize()I nextBlock([[I)I([II)I SourceFileSoundSource.java  SoundSourcejava/lang/Object   /*    :*   /*  PK OSo4o55!SoundStream/SoundFileFormat.class1 N       D                        DEBUGZ ConstantValuetotalWaveHeaderSizeI, AudioFormats[Ljava/lang/String; RIFF_header[B RIFFChunkNameLjava/lang/String; chunkSize WAVE_headerWaveHeaderName fmt_header FMTHeaderNameformatChunkSize audioFormatnumberChannelsS sampleRatebyteRate blockAlign bitsPerSample data_headerDataHeaderName dataChunkSize numberSamples()VCodeLineNumberTableLocalVariableTablethisLSoundStream/SoundFileFormat;setNumberChannels(S)VcsetBitsPerSamplebpsmakeCopy()LSoundStream/SoundFileFormat;isffgetNumberSamples()I getSampleRategetNumberChannelssetNumberSamples(I)VstoString()Ljava/lang/String;sbLjava/lang/StringBuffer;treadFormatFromBuffer(Ljava/nio/ByteBuffer;)VbuffLjava/nio/ByteBuffer;writeFormatToBuffer SourceFileSoundFileFormat.java mn XY \T ]Y _Y aT bT cd eT fT gd hd iY kT lTSoundStream/SoundFileFormatjava/lang/StringBufferjava/lang/StringBuilder' java/lang/String m  RIFF_header=  chunkSize =  WAVE_header = fmt_header = formatChunkSize = audioFormat =  format= ' VW'  numberChannels = sampleRate = byteRate = blockAlign = bitsPerSample = data_header = dataChunkSize = Number Samples = }~ totalWaveHeaderSize =44 RIFF   Header says  not RIFF ~WAVEWave Header says  not WAVEfmt format header says  notformatChunkSize ; is not standard will compute where to look for data chunk data)Problem: didn't find data at position 20+Adjusting formatChunkSize to 16 unknown Standard PCMCustomjava/lang/Objectappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;([B)V,(Ljava/lang/String;)Ljava/lang/StringBuffer;(I)Ljava/lang/StringBuilder;java/nio/ByteBufferget()Bequals(Ljava/lang/Object;)Zjava/lang/SystemoutLjava/io/PrintStream;java/io/PrintStreamprintln(Ljava/lang/String;)VgetIntgetShort()Sposition(I)Ljava/nio/Buffer;put([B)Ljava/nio/ByteBuffer;putInt(I)Ljava/nio/ByteBuffer;putShort(S)Ljava/nio/ByteBuffer;1NOPQRSTQUVWXYZ[Q4\T]Y^[Q;_Y`[Q>aTbTcdeTfTgdhdiYj[QEkTlT mnoR********* * * ***p:  $).4:?E L"q RrstuoG***l*h* h ***lh *** h**,`dp*+,+-8.F0qGrsGvdwuoG***l*h* h ***lh *** h**,`dp456+788F9qGrsGxdyzo\»YL+*+*+* +* +*+*+*+*+*+* +*+++++=9+*3T+*3T+*3T+*3T+pbABCD E(F0G8H@IHJPKXL`NgOnPuQ|RSUVWXS[q ;{Trs|s}~o4 ** lpbq  rs~o/* pcq rs~o/*phq rso^*** h**,`dpqstuqrsTo#YLYY*M+Y,W+Y* WYY*M+Y!,WYY*M+Y",W+Y#* W+Y$* %&*2'W+Y(* W+Y)* W+Y** W+Y+* W+Y,* WYY*M+Y-,W+Y.* W+Y/*0 W+1W+2pV~+C^:Upq #rs+[o=*+3TY*N4-5!6Y7-89*+:=*+3TY*N;-5!6Y<-=9=*+3TY*N>-5&6Y?-@>9*+:*$6YA* B9*+C*+C*+: *+: *+C *+C+*`DW=*+3TY*NE-56YF* 9*+:**0*6G9*p!#,JRiu~%-5=EMYp|q*rs{T#[ow+*HW+*IW+*HW+*HW+*IW+*JW+*JW+* IW+* IW+* JW+*JW+*HW+*IWp: $-7@IR[dmvqwrswno/YKSYLSYMS&pPK -So4HHSoundStream/SoundSource.class1   can_rewindZ BlockSizeI()VCodeLineNumberTableLocalVariableTablethisLSoundStream/SoundSource;close setBlockSize(I)Vbs getBlockSize()I nextBlock([[I)I([II)I SourceFileSoundSource.java SoundStream/SoundSourcejava/lang/Object   /*    :*   /*  PK ZUo4t  %SoundStream/WaveFileSoundSinkVS.class1 J K L MN OPQ RS TU VWX Y Z [ \] T^ M_ T` ab Tc Tde f Mg Mh ai ajklsffLSoundStream/SoundFileFormat;ourFileChannelLjava/nio/channels/FileChannel;mbbLjava/nio/MappedByteBuffer;bbLjava/nio/ByteBuffer; short_bufferLjava/nio/ShortBuffer;samplesWrittenI3(Ljava/lang/String;LSoundStream/SoundFileFormat;I)VCodeLineNumberTableLocalVariableTablethis!LSoundStream/WaveFileSoundSinkVS;filenameLjava/lang/String;s BlockSize ExceptionssetSFF (LSoundStream/SoundFileFormat;)VputBlock([[I)VcieLjava/lang/Exception;data[[I([[II)Vcap([I)V[I([II)Vclose()V tempformat SourceFileWaveFileSoundSinkVS.java *F () m nop qrUYoure trying to put data into a sound sink that isnt 16 bits This probably wont works tuv wx $%java/io/RandomAccessFilerw *y z{ !| }~   java/lang/Exception EFSoundStream/WaveFileSoundSinkVSjava/lang/ObjectSoundStream/SoundFileFormat bitsPerSampleSjava/lang/SystemoutLjava/io/PrintStream;java/io/PrintStreamprintln(Ljava/lang/String;)Vjava/nio/ByteBufferwrap([B)Ljava/nio/ByteBuffer;'(Ljava/lang/String;Ljava/lang/String;)V getChannel!()Ljava/nio/channels/FileChannel;java/nio/ByteOrder LITTLE_ENDIANLjava/nio/ByteOrder;order+(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;writeFormatToBuffer(Ljava/nio/ByteBuffer;)Vflip()Ljava/nio/Buffer;java/nio/channels/FileChannelwrite(Ljava/nio/ByteBuffer;)IclearputShort(S)Ljava/nio/ByteBuffer;toString()Ljava/lang/String;makeCopy()LSoundStream/SoundFileFormat;setNumberSamples(I)V(Ljava/nio/ByteBuffer;J)I! !"#$%&'()*+,j***,* *h * Y+ * W** * W** W-2 ( )+-"0.3?6J9U:];i>.*j/0j12j3j4)567,:*+-D./0389,d* W=+2%>+* +2.W* W** WM,*Y+2`<HK-& KLN.L4R<SHTVVcW.4:) *;)L <=d/0d>?8@,a* W>(6+* +2.W*Y`* W** WN-FRU-& _`b.`4e>fFgRh`j.>:) *;)V <=a/0a>?aA)8B,P* W=+* +.W* W** WM,*Y+`*69-qr"t*u6vDwOx.* ;): <=P/0P>C8D,V* W>* +.W*Y`* W** WN-* W3?B-"!+3?MU.4 ;)C <=V/0V>CVA)EF,K*L+** W+* * W** W*M,(<?-&  (5<J. @ <=K/0CGHIPK -So4`__%SoundStream/WaveFileSoundSource.class1 B F B   B B   B  B  B  B B B B  ! ! ! ! B  Bt B  9 ; ; ; BDEBUGZ ConstantValueSuggestedBlockSizeIfilenameLjava/lang/String;sffLSoundStream/SoundFileFormat;start_positionourFileChannelLjava/nio/channels/FileChannel;mbbLjava/nio/MappedByteBuffer; short_bufferLjava/nio/ShortBuffer; int_bufferLjava/nio/IntBuffer; byte_array[B BlockSizebytesPerSample getBlockSize()ICodeLineNumberTableLocalVariableTablethis!LSoundStream/WaveFileSoundSource; setBlockSize(I)Vbs(Ljava/lang/String;)Vfn Exceptionsrewind()V seekSamplesample nextBlock([[I)Icdata[[Ii([II)I[Ichannel getSamples([FIII)I[Fstart_atnumber_samplesconvertByteArraytoInt([B)IjbsignansconvertByteArraytoLong([B)JJ amplitudeInfo()[FtFsampnumcloseeLjava/lang/Exception; closeSourcetoString()Ljava/lang/String;sbLjava/lang/StringBuffer;main([Ljava/lang/String;)Vargs[Ljava/lang/String;wf SourceFileWaveFileSoundSource.java \L hm MNjava/io/FileInputStream hi RS  TU  SoundStream/SoundFileFormat OP _ QL  i H ]L VW  XY Z[  java/lang/StringBuilder8Problem in nextBlock(int [][]). Array data is too small   by       _   ~:Problem in nextBlock(int [],int). Array data is too small 5Problem in getSamples(): bad value of bytesPerSample:/Bad length of byte array in convertByteArray():5Bad length of byte array in convertByteArraytoLong(): ef pq  mjava/lang/Exceptionjava/lang/StringBuffer Filename =  SoundFileFormat: SoundStream/WaveFileSoundSourcetest.wav EXCEPTION! SoundStream/SoundSource getChannel!()Ljava/nio/channels/FileChannel;%java/nio/channels/FileChannel$MapModeMapMode InnerClasses READ_ONLY'Ljava/nio/channels/FileChannel$MapMode;java/nio/channels/FileChannelsize()JmapF(Ljava/nio/channels/FileChannel$MapMode;JJ)Ljava/nio/MappedByteBuffer;java/nio/ByteOrder LITTLE_ENDIANLjava/nio/ByteOrder;java/nio/MappedByteBufferorder+(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;readFormatFromBuffer(Ljava/nio/ByteBuffer;)Vpositionjava/lang/SystemoutLjava/io/PrintStream;java/io/PrintStreamprintln can_rewind bitsPerSampleS asShortBuffer()Ljava/nio/ShortBuffer; asIntBuffer()Ljava/nio/IntBuffer;(I)Ljava/nio/Buffer;numberChannelsappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;(I)Ljava/lang/StringBuilder;java/nio/ShortBuffer hasRemaining()Zget()Sjava/nio/IntBuffer([B)Ljava/nio/ByteBuffer;java/lang/Mathabs(I)I,(Ljava/lang/String;)Ljava/lang/StringBuffer;1BF GHIJKLI3MNOPQLRSTUVWXYZ[\L]L^_`/*aAb cdef`:*aFbcdgLhi`4**+*Y*** * * W*Y** ** ****l*>4)** ** **aFNO PQ1R<TGURW]XjZo[}\^_acebcdjNk9lm`F* *W*5*** ** aj k,m7n:pEsb Fcdnf`R* ** h*h`W*2'** ** avw8yCzF|QbRcdRoLpq`+2*+* )!Y"#$+%&$+2%'=*R=*>* *(+2*)O܄=*x>* **a+2*+O܄=*?>* ,**(* *,W+2**-OτaZ=?\fsb>h'rL'rL4rLcdst?uLpv` 5+*!Y".$+%'>* e>*6* .*(+*)O *)W̄>*6* .**+*+O *+W̄>*T6* ?**;* *,W+**-O* *,Wav #%DN]gz '-3bHQ7rL7rLHrL5cd5sw5xL%uLyz`V`* ** h*h`W6*Z** 6%6* 0*( +*)Q *)Wʄ*Z** 66* 0**+*+Q *+Wʄ*`6r6* A* /Y* *,W+**-Q* *,W!Y"0$*%'a &1;JTiqw}        &5;A(],b\ >9rL9rLJrL`cd`s{`xL`|L`}LBuL~`+ +!Y"1$+%'++d3~=>+d6/x+3~>x+3~> `ha& 5&798;9F:^;l9r>}?b4A1Lcd[9FL;DL`+ +!Y"2$+%'++d3~= B+d61!y+3~B!y+3~B ! ai!a& G'I:J<KGL`MoKuPQb4B3Lcd[:IL<G`n* L*34* 35N*-6Y=G6;6* &-2.78+0 +QԄŧ+a2 V XYZ([1\@]M^]\c[iblcbHM4/rL+>Lncd d{%ILPstm`b*8L+: 9ajm k lnb cdm`b*8L+: 9aqt r sub cd`K;Y$'?W+!Y"@$*$'?W+Aa{|(}F~bKcdC `-LBYCDL M!Y"E$,:$' 9a ,b -+d  PK \I4:Hf*f*WaveFile.class1 q < < <  <                < <   <  <  <  < < < < < <      <    < !"#$ % <& <'() *+ M, M - . /0 1234 56 78 9:;<=> ?@ cA cBCD cEF <G W <HI stype_floatI ConstantValue stype_int stype_short stype_longbytes_for_storage[Iour_storage_typeDEBUGZ ByteDebugfilenameLjava/lang/String;sffLSoundFileFormat;ourData[[F l_ourData[[J s_ourData[[S i_ourData[[I ourChannelwavedata[F s_wavedata[S i_wavedata l_wavedata[J()VCodeLineNumberTableLocalVariableTablethis LWaveFile;(Ljava/lang/String;I)VcifnstypeourFileChannelLjava/nio/channels/FileChannel;mbbLjava/nio/MappedByteBuffer;bytes_per_sample Exceptions(Ljava/lang/String;)VsbLjava/nio/ShortBuffer; amplitudeInfo()[FtFsamp get_number(Ljava/nio/ByteBuffer;I)JjbbLjava/nio/ByteBuffer;bytestempJb[BextractWaveFile(II)LWaveFile; firstSample lastSamplenwfnsncextractMonoWaveFilechan addChannels(LWaveFile;)LWaveFile;source writeToFilemsgLjava/nio/LongBuffer;oursizebytespersampletoString()Ljava/lang/String;Ljava/lang/StringBuffer; setFilenamef selectChannel(I)V getChannel()Imain([Ljava/lang/String;)VeLjava/lang/Exception;args[Ljava/lang/String;wfnewwave SourceFile WaveFile.java ~s s SoundFileFormat J KLjava/lang/StringBuilder new WaveFile( MN, MO) P Q java/io/File R ST The file  doesnt seem to existjava/lang/Exceptiondoesnt seem to existjava/io/FileInputStream UV YZ[ \] ^_` abc de fg hi |} ji ks } l mno pqr st(get_number() with strange storage type: u pvWaveFile wx y z  i "*** Y  +   **Y+Y*G Y  *  Y Y  *  Y*&Y Y  *  Y*N- - :!"W*Y*#*$l6*%*%*.*Y`ڲ*&*hh6O**'*()*K**'*(+,2**'*(-.**'*(/0l6*(26*'**2*1V݄****226*(16*'*,2*1Oބ**,*236*(06*'*.2*1P߄**.*24M6*(16*'*02*1Qބ**0*25-69> i5:IZ{ AKl $*7:IXkqw !&s;sL%s=:s$s9s%s:s"""sA3 sn****+Y*M, , N-!"W*Y*-#*&**'*(/0-7:6*(.6*'*028Q,6**0*25R> i"/7BJ T jpH"ss7s"/pLM*'L=*(7>*'$*02098+0+Qׄ+" $1 ?EK$41,s ?sM Co Y :  B:6+;Td3zBd6!y3~aB!* 1 2#5%6*7B8M9W;g9m?H-sRsooos%J*E-d`?-@6-'6--'/06/6-02*02`0Q-A-. HIJK(L1MBNLOrNxQ}RRO#sE3sssw(Ws1Ns_*'( Y B *&-'-'6-G-(6-?-JJ .<-)**-+,--.-/0-D6-*2**25V*(6-,2**25OU6-,2*,2.O0*)6-.2**25P*)6-.2*,2.P6-.2*.2/P*)6-02**25Q*)6-02*,2.QS*)6-02*.2/Q%6-02*020Q-A-(bc(d2e4g<hMiRkylnopqrstv wyz|'}*5Xz}+MP~[sss s s.s[ s s ssss<As0s6F *+H*I  s{**JL Y + *& F LY+ Y K * F *LMY*NOPL*W,*Q`>+R  M,!"W*,S*$l6]h,7:*cT6*(.6*'**25UWֲ̧V6*(/6*'*,2.UW˧W6*(06*'*.2/UW߄ʧIX6*(26*'*020YUW݄ȧqZf,[:* f\6*(/6*'**25]W˧Բ^6*(/6*'*,2.]W˧_6*(.6*'*.2/]W̧I`6*(26*'*020Y]W݄ȧ" Y a *L ,bW+6; %.O\m}$*-5Djps{ 8@{~    ORq#v$z% $"s7sG#s88s$s~9s&s;s:R#sC8s#s8s"s7s#&s;s;{m}ssfcYdL+ Y e * F fW+ Y g *fW+ Y h *L fW+i+,(-C.a/f^:*+6*'' Y j *&**PP 0@****220**,*23 **.*24**0*25:=>(?2@3B8C\EiFlHyI|KLORs/*W  CLA_a b,c4d:eBj4BCA40 YOYOYOYO%:X W PK \I4[ WaveFileSoundSinkVS.class1 J K L MN OPQ RS TU VWX Y Z [ \] T^ M_ T` ab Tc Tde f Mg Mh ai ajklsffLSoundFileFormat;ourFileChannelLjava/nio/channels/FileChannel;mbbLjava/nio/MappedByteBuffer;bbLjava/nio/ByteBuffer; short_bufferLjava/nio/ShortBuffer;samplesWrittenI'(Ljava/lang/String;LSoundFileFormat;I)VCodeLineNumberTableLocalVariableTablethisLWaveFileSoundSinkVS;filenameLjava/lang/String;s BlockSize ExceptionssetSFF(LSoundFileFormat;)VputBlock([[I)VcieLjava/lang/Exception;data[[I([[II)Vcap([I)V[I([II)Vclose()V tempformat SourceFileWaveFileSoundSinkVS.java *F () m nop qrUYoure trying to put data into a sound sink that isnt 16 bits This probably wont works tuv wx $%java/io/RandomAccessFilerw *y z{ !| }~   java/lang/Exception EFWaveFileSoundSinkVSjava/lang/ObjectSoundFileFormat bitsPerSampleSjava/lang/SystemoutLjava/io/PrintStream;java/io/PrintStreamprintln(Ljava/lang/String;)Vjava/nio/ByteBufferwrap([B)Ljava/nio/ByteBuffer;'(Ljava/lang/String;Ljava/lang/String;)V getChannel!()Ljava/nio/channels/FileChannel;java/nio/ByteOrder LITTLE_ENDIANLjava/nio/ByteOrder;order+(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;writeFormatToBuffer(Ljava/nio/ByteBuffer;)Vflip()Ljava/nio/Buffer;java/nio/channels/FileChannelwrite(Ljava/nio/ByteBuffer;)IclearputShort(S)Ljava/nio/ByteBuffer;toString()Ljava/lang/String;makeCopy()LSoundFileFormat;setNumberSamples(I)V(Ljava/nio/ByteBuffer;J)I! !"#$%&'()*+,j***,* *h * Y+ * W** * W** W-2 ' (*,"/.2?5J8U9]:i=.*j/0j12j3j4)567,:*+-C./0389,d* W=+2%>+* +2.W* W** WM,*Y+2`<HK-& JKM.K4Q<RHSVUcV.4:) *;)L <=d/0d>?8@,a* W>(6+* +2.W*Y`* W** WN-FRU-& ^_a._4d>eFfRg`i.>:) *;)V <=a/0a>?aA)8B,P* W=+* +.W* W** WM,*Y+`*69-pq"s*t6uDvOw.* ;): <=P/0P>C8D,V* W>* +.W*Y`* W** WN-* W3?B-"~!+3?MU.4 ;)C <=V/0V>CVA)EF,K*L+** W+* * W** W*M,(<?-&  (5<J. @ <=K/0CGHIPK \I48  WaveFileSoundSource.class1 1| 5} 1~   1 1  } 1  1 1 1   1\ 1  !  %} '} ' ' %  % 1SuggestedBlockSizeI ConstantValueDEBUGZfilenameLjava/lang/String;sffLSoundFileFormat;start_positionourFileChannelLjava/nio/channels/FileChannel;mbbLjava/nio/MappedByteBuffer; short_bufferLjava/nio/ShortBuffer; BlockSize getBlockSize()ICodeLineNumberTableLocalVariableTablethisLWaveFileSoundSource; setBlockSize(I)Vbs(Ljava/lang/String;)Vfn Exceptionsrewind()V nextBlock([[I)Icdata[[Ii([II)I[Ichannel getSamples([FIII)I[Fstart_atnumber_samples amplitudeInfo()[FtFsampnumcloseeLjava/lang/Exception; closeSourcetoString()Ljava/lang/String;sbLjava/lang/StringBuffer;main([Ljava/lang/String;)Vargs[Ljava/lang/String;wf SourceFileWaveFileSoundSource.java G7 RW <=java/io/FileInputStream RS AB  CD  SoundFileFormat >? I @7 EF :  OP XY mWjava/lang/Exception qr Sjava/lang/StringBufferjava/lang/StringBuilder Filename =  SoundFileFormat: WaveFileSoundSourcenew.wav EXCEPTION!  SoundSource getChannel!()Ljava/nio/channels/FileChannel;%java/nio/channels/FileChannel$MapModeMapMode InnerClasses READ_ONLY'Ljava/nio/channels/FileChannel$MapMode;java/nio/channels/FileChannelsize()JmapF(Ljava/nio/channels/FileChannel$MapMode;JJ)Ljava/nio/MappedByteBuffer;java/nio/ByteOrder LITTLE_ENDIANLjava/nio/ByteOrder;java/nio/MappedByteBufferorder+(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;readFormatFromBuffer(Ljava/nio/ByteBuffer;)Vposition asShortBuffer()Ljava/nio/ShortBuffer; can_rewind(I)Ljava/nio/Buffer;numberChannelsSjava/nio/ShortBuffer hasRemaining()Zget()Sjava/lang/Mathabs(I)Ijava/lang/SystemoutLjava/io/PrintStream;java/io/PrintStreamprintlnappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;,(Ljava/lang/String;)Ljava/lang/StringBuffer;!15 6789:8;<=>?@7ABCDEFG7 HIJ/*K=L MNOPJ:*KBLMNQ7RSJn**+*Y*** * * W*Y** ** ** *K. IJ KL1M<NGORQ]ShTmULnMNnT=U!VWJJ* *W** K[ \]L MNXYJ;=*2>**+2*O܄Ka bc-b3a9iL* 'Z7;MN;[\9]7X^JL>*C6*.**+*O *W̄K"q rs#t6u>rDqJ{L4 7Z7LMNL[_L`7J]7abJr* **hh`W** 6E6*0*,+*Q *WʄK* #-<F[cioLH09Z7rMNr[cr`7rd7re7&L]7fgJn*L**N*-Y=G6;6*&-2.8+0 +QԄŧ+K2 (1@M]cilLHMhi4/Z7+>j7nMN dkc%Il7P[\mWJb* L"+#$ !K L noMNpWJb* L"+#$ !K L noMNqrJK%Y&L+'Y()***+*,-W+'Y(.**/*,-W+0K(FLKMNCst uvJ-L1Y23L M"'Y(4*,#*,$ !K ,L no-wx+yNz{  PK Ij4 AMETA-INF/PK Hj4/+META-INF/MANIFEST.MFPK #i4 A%SoundStream/PK Ij4>OSMeter$1.classPK Ij4 mSMeter$2.classPK Ij4D}ɞSMeter$3.classPK Ij4 b! SMeter$4.classPK Ij4I lȞw SMeter$5.classPK Ij4ݜASMeter$6.classPK Ij4Dm SMeter$7.classPK Ij4hSMeter$8.classPK Ij4l SMeter.classPK \I4^>6SoundFileFormat.classPK mo4[hKSoundMeter.classPK \I4oR00]SoundSource.classPK OSo4o55!e_SoundStream/SoundFileFormat.classPK -So4HHuSoundStream/SoundSource.classPK ZUo4t  %\xSoundStream/WaveFileSoundSinkVS.classPK -So4`__%SoundStream/WaveFileSoundSource.classPK \I4:Hf*f*EWaveFile.classPK \I4[ WaveFileSoundSinkVS.classPK \I48  WaveFileSoundSource.classPK