Fixed iOS subsystem after transition to common renderer. Added OpenAL audio renderer. Implemented flip y in native iOS image loader
parent
7bea2cc9c7
commit
eba4c4e29a
File diff suppressed because it is too large
Load Diff
@ -1,67 +0,0 @@ |
||||
package com.jme3.audio.android; |
||||
|
||||
import com.jme3.asset.AssetKey; |
||||
import com.jme3.audio.AudioData; |
||||
import com.jme3.audio.AudioRenderer; |
||||
import com.jme3.util.NativeObject; |
||||
|
||||
public class AndroidAudioData extends AudioData { |
||||
|
||||
protected AssetKey<?> assetKey; |
||||
protected float currentVolume = 0f; |
||||
|
||||
public AndroidAudioData(){ |
||||
super(); |
||||
} |
||||
|
||||
protected AndroidAudioData(int id){ |
||||
super(id); |
||||
} |
||||
|
||||
public AssetKey<?> getAssetKey() { |
||||
return assetKey; |
||||
} |
||||
|
||||
public void setAssetKey(AssetKey<?> assetKey) { |
||||
this.assetKey = assetKey; |
||||
} |
||||
|
||||
@Override |
||||
public DataType getDataType() { |
||||
return DataType.Buffer; |
||||
} |
||||
|
||||
@Override |
||||
public float getDuration() { |
||||
return 0; // TODO: ???
|
||||
} |
||||
|
||||
@Override |
||||
public void resetObject() { |
||||
this.id = -1; |
||||
setUpdateNeeded(); |
||||
} |
||||
|
||||
@Override |
||||
public void deleteObject(Object rendererObject) { |
||||
((AudioRenderer)rendererObject).deleteAudioData(this); |
||||
} |
||||
|
||||
public float getCurrentVolume() { |
||||
return currentVolume; |
||||
} |
||||
|
||||
public void setCurrentVolume(float currentVolume) { |
||||
this.currentVolume = currentVolume; |
||||
} |
||||
|
||||
@Override |
||||
public NativeObject createDestructableClone() { |
||||
return new AndroidAudioData(id); |
||||
} |
||||
|
||||
@Override |
||||
public long getUniqueId() { |
||||
return ((long)OBJTYPE_AUDIOBUFFER << 32) | ((long)id); |
||||
} |
||||
} |
@ -0,0 +1,53 @@ |
||||
package com.jme3.audio.ios; |
||||
|
||||
import com.jme3.audio.openal.AL; |
||||
import java.nio.ByteBuffer; |
||||
import java.nio.FloatBuffer; |
||||
import java.nio.IntBuffer; |
||||
|
||||
public final class IosAL implements AL { |
||||
|
||||
public IosAL() { |
||||
} |
||||
|
||||
public native String alGetString(int parameter); |
||||
|
||||
public native int alGenSources(); |
||||
|
||||
public native int alGetError(); |
||||
|
||||
public native void alDeleteSources(int numSources, IntBuffer sources); |
||||
|
||||
public native void alGenBuffers(int numBuffers, IntBuffer buffers); |
||||
|
||||
public native void alDeleteBuffers(int numBuffers, IntBuffer buffers); |
||||
|
||||
public native void alSourceStop(int source); |
||||
|
||||
public native void alSourcei(int source, int param, int value); |
||||
|
||||
public native void alBufferData(int buffer, int format, ByteBuffer data, int size, int frequency); |
||||
|
||||
public native void alSourcePlay(int source); |
||||
|
||||
public native void alSourcePause(int source); |
||||
|
||||
public native void alSourcef(int source, int param, float value); |
||||
|
||||
public native void alSource3f(int source, int param, float value1, float value2, float value3); |
||||
|
||||
public native int alGetSourcei(int source, int param); |
||||
|
||||
public native void alSourceUnqueueBuffers(int source, int numBuffers, IntBuffer buffers); |
||||
|
||||
public native void alSourceQueueBuffers(int source, int numBuffers, IntBuffer buffers); |
||||
|
||||
public native void alListener(int param, FloatBuffer data); |
||||
|
||||
public native void alListenerf(int param, float value); |
||||
|
||||
public native void alListener3f(int param, float value1, float value2, float value3); |
||||
|
||||
public native void alSource3i(int source, int param, int value1, int value2, int value3); |
||||
|
||||
} |
@ -0,0 +1,26 @@ |
||||
package com.jme3.audio.ios; |
||||
|
||||
import com.jme3.audio.openal.ALC; |
||||
import java.nio.IntBuffer; |
||||
|
||||
public final class IosALC implements ALC { |
||||
|
||||
public IosALC() { |
||||
} |
||||
|
||||
public native void createALC(); |
||||
|
||||
public native void destroyALC(); |
||||
|
||||
public native boolean isCreated(); |
||||
|
||||
public native String alcGetString(int parameter); |
||||
|
||||
public native boolean alcIsExtensionPresent(String extension); |
||||
|
||||
public native void alcGetInteger(int param, IntBuffer buffer, int size); |
||||
|
||||
public native void alcDevicePauseSOFT(); |
||||
|
||||
public native void alcDeviceResumeSOFT(); |
||||
} |
@ -0,0 +1,32 @@ |
||||
package com.jme3.audio.ios; |
||||
|
||||
import com.jme3.audio.openal.EFX; |
||||
import java.nio.IntBuffer; |
||||
|
||||
public class IosEFX implements EFX { |
||||
|
||||
public IosEFX() { |
||||
} |
||||
|
||||
public native void alGenAuxiliaryEffectSlots(int numSlots, IntBuffer buffers); |
||||
|
||||
public native void alGenEffects(int numEffects, IntBuffer buffers); |
||||
|
||||
public native void alEffecti(int effect, int param, int value); |
||||
|
||||
public native void alAuxiliaryEffectSloti(int effectSlot, int param, int value); |
||||
|
||||
public native void alDeleteEffects(int numEffects, IntBuffer buffers); |
||||
|
||||
public native void alDeleteAuxiliaryEffectSlots(int numEffectSlots, IntBuffer buffers); |
||||
|
||||
public native void alGenFilters(int numFilters, IntBuffer buffers); |
||||
|
||||
public native void alFilteri(int filter, int param, int value); |
||||
|
||||
public native void alFilterf(int filter, int param, float value); |
||||
|
||||
public native void alDeleteFilters(int numFilters, IntBuffer buffers); |
||||
|
||||
public native void alEffectf(int effect, int param, float value); |
||||
} |
@ -1,20 +0,0 @@ |
||||
package com.jme3.audio.plugins; |
||||
|
||||
import com.jme3.asset.AssetInfo; |
||||
import com.jme3.asset.AssetLoader; |
||||
import com.jme3.audio.android.AndroidAudioData; |
||||
import java.io.IOException; |
||||
|
||||
/** |
||||
* <code>AndroidAudioLoader</code> will create an |
||||
* {@link AndroidAudioData} object with the specified asset key. |
||||
*/ |
||||
public class AndroidAudioLoader implements AssetLoader { |
||||
|
||||
@Override |
||||
public Object load(AssetInfo assetInfo) throws IOException { |
||||
AndroidAudioData result = new AndroidAudioData(); |
||||
result.setAssetKey(assetInfo.getKey()); |
||||
return result; |
||||
} |
||||
} |
@ -0,0 +1,8 @@ |
||||
INCLUDE com/jme3/asset/General.cfg |
||||
|
||||
# IOS specific loaders |
||||
LOADER com.jme3.system.ios.IosImageLoader : jpg, bmp, gif, png, jpeg |
||||
LOADER com.jme3.material.plugins.J3MLoader : j3m, j3md |
||||
LOADER com.jme3.shader.plugins.GLSLLoader : vert, frag, glsl, glsllib |
||||
LOADER com.jme3.export.binary.BinaryImporter : j3o |
||||
LOADER com.jme3.font.plugins.BitmapFontLoader : fnt |
Loading…
Reference in new issue