From: Carsten W. <ca...@us...> - 2006-01-01 15:07:39
|
Update of /cvsroot/jake2/jake2/src/jake2/sound In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv8884/src/jake2/sound Modified Files: WaveLoader.java Log Message: handles the 16bit sample byte order (Mac OSX) Index: WaveLoader.java =================================================================== RCS file: /cvsroot/jake2/jake2/src/jake2/sound/WaveLoader.java,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** WaveLoader.java 13 Dec 2005 00:02:52 -0000 1.6 --- WaveLoader.java 1 Jan 2006 15:07:30 -0000 1.7 *************** *** 167,191 **** fracstep = (int) (stepscale * 256); ! for (i=0 ; i<outcount ; i++) ! { ! srcsample = samplefrac >> 8; ! samplefrac += fracstep; ! ! if (inwidth == 2) ! { ! sample = (int) ((data[offset + srcsample * 2] & 0xff) + (data[offset + srcsample * 2 + 1] << 8)); ! } ! else ! { ! sample = ((data[offset + srcsample] &0xff) - 128) << 8; ! } ! ! if (sc.width == 2) ! { ! sc.data[i*2] = (byte) (sample & 0xff); ! sc.data[i*2+1] = (byte) ((sample>>>8) & 0xff); ! } ! else ! { sc.data[i] = (byte) (sample >> 8); } --- 167,190 ---- fracstep = (int) (stepscale * 256); ! for (i = 0; i < outcount; i++) { ! srcsample = samplefrac >> 8; ! samplefrac += fracstep; ! ! if (inwidth == 2) { ! sample = (data[offset + srcsample * 2] & 0xff) ! + (data[offset + srcsample * 2 + 1] << 8); ! } else { ! sample = ((data[offset + srcsample] & 0xff) - 128) << 8; ! } ! ! if (sc.width == 2) { ! if (Defines.LITTLE_ENDIAN) { ! sc.data[i * 2] = (byte) (sample & 0xff); ! sc.data[i * 2 + 1] = (byte) ((sample >>> 8) & 0xff); ! } else { ! sc.data[i * 2] = (byte) ((sample >>> 8) & 0xff); ! sc.data[i * 2 + 1] = (byte) (sample & 0xff); ! } ! } else { sc.data[i] = (byte) (sample >> 8); } |