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);
}
|