/*
Copyright (C) 2010 Copyright 2010 Google Inc.
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program 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 General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
package com.googlecode.gwtquake.shared.sound;
/**
* Refactored version of LWJGL AL/AL10 interface that supports multiple
* implementations.
*
* @author cromwellian@google.com (Ray Cromwell)
*/
public abstract class ALAdapter {
public static ALAdapter impl;
public static final int AL_INVALID = -1;
public static final int AL_NONE = 0;
public static final int AL_FALSE = 0;
public static final int AL_TRUE = 1;
public static final int AL_SOURCE_TYPE = 4135;
public static final int AL_SOURCE_ABSOLUTE = 513;
public static final int AL_SOURCE_RELATIVE = 514;
public static final int AL_CONE_INNER_ANGLE = 4097;
public static final int AL_CONE_OUTER_ANGLE = 4098;
public static final int AL_PITCH = 4099;
public static final int AL_POSITION = 4100;
public static final int AL_DIRECTION = 4101;
public static final int AL_VELOCITY = 4102;
public static final int AL_LOOPING = 4103;
public static final int AL_BUFFER = 4105;
public static final int AL_GAIN = 4106;
public static final int AL_MIN_GAIN = 4109;
public static final int AL_MAX_GAIN = 4110;
public static final int AL_ORIENTATION = 4111;
public static final int AL_REFERENCE_DISTANCE = 4128;
public static final int AL_ROLLOFF_FACTOR = 4129;
public static final int AL_CONE_OUTER_GAIN = 4130;
public static final int AL_MAX_DISTANCE = 4131;
public static final int AL_CHANNEL_MASK = 12288;
public static final int AL_SOURCE_STATE = 4112;
public static final int AL_INITIAL = 4113;
public static final int AL_PLAYING = 4114;
public static final int AL_PAUSED = 4115;
public static final int AL_STOPPED = 4116;
public static final int AL_BUFFERS_QUEUED = 4117;
public static final int AL_BUFFERS_PROCESSED = 4118;
public static final int AL_FORMAT_MONO8 = 4352;
public static final int AL_FORMAT_MONO16 = 4353;
public static final int AL_FORMAT_STEREO8 = 4354;
public static final int AL_FORMAT_STEREO16 = 4355;
public static final int AL_FORMAT_VORBIS_EXT = 65539;
public static final int AL_FREQUENCY = 8193;
public static final int AL_BITS = 8194;
public static final int AL_CHANNELS = 8195;
public static final int AL_SIZE = 8196;
public static final int AL_DATA = 8197;
public static final int AL_UNUSED = 8208;
public static final int AL_PENDING = 8209;
public static final int AL_PROCESSED = 8210;
public static final int AL_NO_ERROR = 0;
public static final int AL_INVALID_NAME = 40961;
public static final int AL_INVALID_ENUM = 40962;
public static final int AL_INVALID_VALUE = 40963;
public static final int AL_INVALID_OPERATION = 40964;
public static final int AL_OUT_OF_MEMORY = 40965;
public static final int AL_VENDOR = 45057;
public static final int AL_VERSION = 45058;
public static final int AL_RENDERER = 45059;
public static final int AL_EXTENSIONS = 45060;
public static final int AL_DOPPLER_FACTOR = 49152;
public static final int AL_DOPPLER_VELOCITY = 49153;
public static final int AL_DISTANCE_MODEL = 53248;
public static final int AL_INVERSE_DISTANCE = 53249;
public static final int AL_INVERSE_DISTANCE_CLAMPED = 53250;
private boolean created;
public abstract void alBufferData(int buffer, int format,
java.nio.ByteBuffer data, int freq);
public abstract void alBufferData(int buffer, int format,
java.nio.IntBuffer data, int freq);
public abstract void alBufferData(int buffer, int format,
java.nio.ShortBuffer data, int freq);
public abstract void alDeleteBuffers(java.nio.IntBuffer buffers);
public abstract void alDeleteSources(java.nio.IntBuffer sources);
public abstract void alDisable(int capability);
public abstract void alDistanceModel(int value);
public abstract void alDopplerFactor(float value);
public abstract void alDopplerVelocity(float value);
public abstract void alEnable(int capability);
public abstract void alGenBuffers(java.nio.IntBuffer buffers);
public abstract void alGenSources(java.nio.IntBuffer sources);
public abstract boolean alGetBoolean(int pname);
public abstract float alGetBufferf(int buffer, int pname);
public abstract int alGetBufferi(int buffer, int pname);
public abstract double alGetDouble(int pname);
public abstract void alGetDouble(int pname, java.nio.DoubleBuffer data);
public abstract int alGetEnumValue(java.lang.String ename);
public abstract int alGetError();
public abstract float alGetFloat(int pname);
public abstract void alGetFloat(int pname, java.nio.FloatBuffer data);
public abstract int alGetInteger(int pname);
public abstract void alGetInteger(int pname, java.nio.IntBuffer data);
public abstract void alGetListener(int pname, java.nio.FloatBuffer floatdata);
public abstract float alGetListenerf(int pname);
public abstract int alGetListeneri(int pname);
public abstract void alGetSource(int source, int pname,
java.nio.FloatBuffer floatdata);
public abstract float alGetSourcef(int source, int pname);
public abstract int alGetSourcei(int source, int pname);
public abstract String alGetString(int i);
public abstract boolean alIsBuffer(int buffer);
public abstract boolean alIsEnabled(int capability);
public abstract boolean alIsExtensionPresent(java.lang.String fname);
public abstract boolean alIsSource(int id);
public abstract void alListener(int pname, java.nio.FloatBuffer value);
public abstract void alListener3f(int pname, float v1, float v2, float v3);
public abstract void alListenerf(int pname, float value);
public abstract void alListeneri(int pname, int value);
public abstract void alSource(int source, int pname,
java.nio.FloatBuffer value);
public abstract void alSource3f(int source, int pname, float v1, float v2,
float v3);
public abstract void alSourcef(int source, int pname, float value);
public abstract void alSourcei(int source, int pname, int value);
public abstract void alSourcePause(java.nio.IntBuffer sources);
public abstract void alSourcePause(int source);
public abstract void alSourcePlay(java.nio.IntBuffer sources);
public abstract void alSourcePlay(int source);
public abstract void alSourceQueueBuffers(int source,
java.nio.IntBuffer buffers);
public abstract void alSourceRewind(java.nio.IntBuffer sources);
public abstract void alSourceRewind(int source);
public abstract void alSourceStop(java.nio.IntBuffer sources);
public abstract void alSourceStop(int source);
public abstract void alSourceUnqueueBuffers(int source,
java.nio.IntBuffer buffers);
public abstract void create(java.lang.String deviceArguments,
int contextFrequency, int contextRefresh, boolean contextSynchronized);
public abstract void create(java.lang.String deviceArguments,
int contextFrequency, int contextRefresh, boolean contextSynchronized,
boolean openDevice);
public void create() {
created = true;
}
public void destroy() {
created = false;
}
public boolean isCreated() {
return created;
}
/**
* Load buffer from URL
*/
public void alBufferData(int source, String soundUrl) {
}
}