/** * NativeFmod Project * * Want to use FMOD API (www.fmod.org) in the Java language ? NativeFmod is made for you. * Copyright � 2004-2007 J�r�me JOUVIE (Jouvieje) * * Created on 28 avr. 2004 * @version NativeFmod v3.4 (for FMOD v3.75) * @author J�r�me JOUVIE (Jouvieje) * * * WANT TO CONTACT ME ? * E-mail : * jerome.jouvie@gmail.com * My web sites : * http://jerome.jouvie.free.fr/ * * * INTRODUCTION * Fmod is an API (Application Programming Interface) that allow you to use music * and creating sound effects with a lot of sort of musics. * Fmod is at : * http://www.fmod.org/ * The reason of this project is that Fmod can't be used in Java direcly, so I've created * NativeFmod project. * * * GNU LESSER GENERAL PUBLIC LICENSE * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public License * as published by the Free Software Foundation; either version 2.1 of the License, * or (at your option) any later version. * * This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with this library; if not, write to the * Free Software Foundation, Inc., * 59 Temple Place, Suite 330, * Boston, MA 02111-1307 USA */ package org.jouvieje.Fmod.Defines; /** * Sample description bitfields, OR them together for loading and describing samples. * NOTE. If the file format being loaded already has a defined format, such as WAV or MP3, then * trying to override the pre-defined format with a new set of format flags will not work. For * example, an 8 bit WAV file will not load as 16bit if you specify FSOUND_16BITS. It will just * ignore the flag and go ahead loading it as 8bits. For these type of formats the only flags * you can specify that will really alter the behaviour of how it is loaded, are the following. * --------- * Looping behaviour - FSOUND_LOOP_OFF, FSOUND_LOOP_NORMAL, FSOUND_LOOP_BIDI * Load destination - FSOUND_HW3D, FSOUND_HW2D, FSOUND_2D * Loading behaviour - FSOUND_NONBLOCKING, FSOUND_LOADMEMORY, FSOUND_LOADRAW, FSOUND_MPEGACCURATE, FSOUND_MPEGHALFRATE, FSOUND_FORCEMONO * Playback behaviour - FSOUND_STREAMABLE, FSOUND_ENABLEFX * PlayStation 2 only - FSOUND_USECORE0, FSOUND_USECORE1, FSOUND_LOADMEMORYIOP * --------- * See flag descriptions for what these do. */ public interface FSOUND_MODES { /**For non looping samples. */ public final static int FSOUND_LOOP_OFF = 0x00000001; /**For forward looping samples. */ public final static int FSOUND_LOOP_NORMAL = 0x00000002; /**For bidirectional looping samples. (no effect if in hardware). */ public final static int FSOUND_LOOP_BIDI = 0x00000004; /**For 8 bit samples. */ public final static int FSOUND_8BITS = 0x00000008; /**For 16 bit samples. */ public final static int FSOUND_16BITS = 0x00000010; /**For mono samples. */ public final static int FSOUND_MONO = 0x00000020; /**For stereo samples. */ public final static int FSOUND_STEREO = 0x00000040; /**For user created source data containing unsigned samples. */ public final static int FSOUND_UNSIGNED = 0x00000080; /**For user created source data containing signed data. */ public final static int FSOUND_SIGNED = 0x00000100; /**For user created source data stored as delta values. */ public final static int FSOUND_DELTA = 0x00000200; /**For user created source data stored using IT214 compression. */ public final static int FSOUND_IT214 = 0x00000400; /**For user created source data stored using IT215 compression. */ public final static int FSOUND_IT215 = 0x00000800; /**Attempts to make samples use 3d hardware acceleration. (if the card supports it) */ public final static int FSOUND_HW3D = 0x00001000; /**Tells software (not hardware) based sample not to be included in 3d processing. */ public final static int FSOUND_2D = 0x00002000; /**For a streamimg sound where you feed the data to it. */ public final static int FSOUND_STREAMABLE = 0x00004000; /**"name" will be interpreted as a pointer to data for streaming and samples. */ public final static int FSOUND_LOADMEMORY = 0x00008000; /**Will ignore file format and treat as raw pcm. */ public final static int FSOUND_LOADRAW = 0x00010000; /**For FSOUND_Stream_Open - for accurate FSOUND_Stream_GetLengthMs/FSOUND_Stream_SetTime. WARNING, see FSOUND_Stream_Open for inital opening time performance issues. */ public final static int FSOUND_MPEGACCURATE = 0x00020000; /**For forcing stereo streams and samples to be mono - needed if using FSOUND_HW3D and stereo data - incurs a small speed hit for streams */ public final static int FSOUND_FORCEMONO = 0x00040000; /**2D hardware sounds. allows hardware specific effects */ public final static int FSOUND_HW2D = 0x00080000; /**Allows DX8 FX to be played back on a sound. Requires DirectX 8 - Note these sounds cannot be played more than once, be 8 bit, be less than a certain size, or have a changing frequency */ public final static int FSOUND_ENABLEFX = 0x00100000; /**For FMODCE only - decodes mpeg streams using a lower quality decode, but faster execution */ public final static int FSOUND_MPEGHALFRATE = 0x00200000; /**Contents are stored compressed as IMA ADPCM */ public final static int FSOUND_IMAADPCM = 0x00400000; /**For PS2 only - Contents are compressed as Sony VAG format */ public final static int FSOUND_VAG = 0x00800000; /**For FSOUND_Stream_Open/FMUSIC_LoadSong - Causes stream or music to open in the background and not block the foreground app. See FSOUND_Stream_GetOpenState or FMUSIC_GetOpenState to determine when it IS ready. */ public final static int FSOUND_NONBLOCKING = 0x01000000; /**For Gamecube only - Contents are compressed as Gamecube DSP-ADPCM format */ public final static int FSOUND_GCADPCM = 0x02000000; /**For PS2 and Gamecube only - Contents are interleaved into a multi-channel (more than stereo) format */ public final static int FSOUND_MULTICHANNEL = 0x04000000; /**For PS2 only - Sample/Stream is forced to use hardware voices 00-23 */ public final static int FSOUND_USECORE0 = 0x08000000; /**For PS2 only - Sample/Stream is forced to use hardware voices 24-47 */ public final static int FSOUND_USECORE1 = 0x10000000; /**For PS2 only - "name" will be interpreted as a pointer to data for streaming and samples. The address provided will be an IOP address */ public final static int FSOUND_LOADMEMORYIOP = 0x20000000; /**Skips id3v2 etc tag checks when opening a stream, to reduce seek/read overhead when opening files (helps with CD performance) */ public final static int FSOUND_IGNORETAGS = 0x40000000; /**Specifies an internet stream */ public final static int FSOUND_STREAM_NET = 0x80000000; public final static int FSOUND_NORMAL = (FSOUND_16BITS | FSOUND_SIGNED | FSOUND_MONO); }