/**
* 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.Structures;
import org.jouvieje.Fmod.Misc.Pointer;
/**
* Structure defining the properties for a reverb source, related to a FSOUND channel.
* For more indepth descriptions of the reverb properties under win32, please see the EAX3
* documentation at http://developer.creative.com/ under the 'downloads' section.
* If they do not have the EAX3 documentation, then most information can be attained from
* the EAX2 documentation, as EAX3 only adds some more parameters and functionality on top of
* EAX2.
* Note the default reverb properties are the same as the FSOUND_PRESET_GENERIC preset.
* Note that integer values that typically range from -10,000 to 1000 are represented in
* decibels, and are of a logarithmic scale, not linear, wheras float values are typically linear.
* PORTABILITY: Each member has the platform it supports in braces ie (win32/xbox).
* Some reverb parameters are only supported in win32 and some only on xbox. If all parameters are set then
* the reverb should product a similar effect on either platform.
* Linux and FMODCE do not support the reverb api.
* The numerical values listed below are the maximum, minimum and default values for each variable respectively.
*/
public class FSOUND_REVERB_CHANNELPROPERTIES extends Pointer
{
/**
* Create a view of the <code>Pointer</code> object as a <code>FSOUND_REVERB_CHANNELPROPERTIES</code> object.<br>
* This view is valid only if the memory holded by the <code>Pointer</code> holds a FSOUND_REVERB_CHANNELPROPERTIES object.
*/
public static FSOUND_REVERB_CHANNELPROPERTIES createView(Pointer pointer)
{
return new FSOUND_REVERB_CHANNELPROPERTIES(Pointer.getPointer(pointer));
}
/**
* Create a new <code>FSOUND_REVERB_CHANNELPROPERTIES</code>.<br>
* The call <code>isNull()</code> on the object created will return false.<br>
* <pre><code> FSOUND_REVERB_CHANNELPROPERTIES obj = FSOUND_REVERB_CHANNELPROPERTIES.create();
* (obj == null) <=> obj.isNull() <=> false
* </code></pre>
*/
public static FSOUND_REVERB_CHANNELPROPERTIES create()
{
return new FSOUND_REVERB_CHANNELPROPERTIES(StructureJNI.new_FSOUND_REVERB_CHANNELPROPERTIES());
}
protected FSOUND_REVERB_CHANNELPROPERTIES(long pointer)
{
super(pointer);
}
/**
* Create an object that holds a null <code>FSOUND_REVERB_CHANNELPROPERTIES</code>.<br>
* The call <code>isNull()</code> on the object created will returns true.<br>
* <pre><code> FSOUND_REVERB_CHANNELPROPERTIES obj = new FSOUND_REVERB_CHANNELPROPERTIES();
* (obj == null) <=> false
* obj.isNull() <=> true
* </code></pre>
* To creates a new <code>FSOUND_REVERB_CHANNELPROPERTIES</code>, use the static "constructor" :
* <pre><code> FSOUND_REVERB_CHANNELPROPERTIES obj = FSOUND_REVERB_CHANNELPROPERTIES.create();</code></pre>
* @see FSOUND_REVERB_CHANNELPROPERTIES#create()
*/
public FSOUND_REVERB_CHANNELPROPERTIES()
{
super();
}
public void release()
{
if(pointer != 0)
{
StructureJNI.delete_FSOUND_REVERB_CHANNELPROPERTIES(pointer);
}
pointer = 0;
}
/**
* -10000, 1000, 0, direct path level (at low and mid frequencies) (WIN32/XBOX)
*/
public void setDirect(int Direct)
{
if(pointer == 0) throw new NullPointerException();
StructureJNI.set_FSOUND_REVERB_CHANNELPROPERTIES_Direct(pointer, Direct);
}
/**
* @return value of Direct
*/
public int getDirect()
{
if(pointer == 0) throw new NullPointerException();
return StructureJNI.get_FSOUND_REVERB_CHANNELPROPERTIES_Direct(pointer);
}
/**
* -10000, 0, 0, relative direct path level at high frequencies (WIN32/XBOX)
*/
public void setDirectHF(int DirectHF)
{
if(pointer == 0) throw new NullPointerException();
StructureJNI.set_FSOUND_REVERB_CHANNELPROPERTIES_DirectHF(pointer, DirectHF);
}
/**
* @return value of DirectHF
*/
public int getDirectHF()
{
if(pointer == 0) throw new NullPointerException();
return StructureJNI.get_FSOUND_REVERB_CHANNELPROPERTIES_DirectHF(pointer);
}
/**
* -10000, 1000, 0, room effect level (at low and mid frequencies) (WIN32/XBOX/PS2)
*/
public void setRoom(int Room)
{
if(pointer == 0) throw new NullPointerException();
StructureJNI.set_FSOUND_REVERB_CHANNELPROPERTIES_Room(pointer, Room);
}
/**
* @return value of Room
*/
public int getRoom()
{
if(pointer == 0) throw new NullPointerException();
return StructureJNI.get_FSOUND_REVERB_CHANNELPROPERTIES_Room(pointer);
}
/**
* -10000, 0, 0, relative room effect level at high frequencies (WIN32/XBOX)
*/
public void setRoomHF(int RoomHF)
{
if(pointer == 0) throw new NullPointerException();
StructureJNI.set_FSOUND_REVERB_CHANNELPROPERTIES_RoomHF(pointer, RoomHF);
}
/**
* @return value of RoomHF
*/
public int getRoomHF()
{
if(pointer == 0) throw new NullPointerException();
return StructureJNI.get_FSOUND_REVERB_CHANNELPROPERTIES_RoomHF(pointer);
}
/**
* -10000, 0, 0, main obstruction control (attenuation at high frequencies) (WIN32/XBOX)
*/
public void setObstruction(int Obstruction)
{
if(pointer == 0) throw new NullPointerException();
StructureJNI.set_FSOUND_REVERB_CHANNELPROPERTIES_Obstruction(pointer, Obstruction);
}
/**
* @return value of Obstruction
*/
public int getObstruction()
{
if(pointer == 0) throw new NullPointerException();
return StructureJNI.get_FSOUND_REVERB_CHANNELPROPERTIES_Obstruction(pointer);
}
/**
* 0.0, 1.0, 0.0, obstruction low-frequency level re. main control (WIN32/XBOX)
*/
public void setObstructionLFRatio(float ObstructionLFRatio)
{
if(pointer == 0) throw new NullPointerException();
StructureJNI.set_FSOUND_REVERB_CHANNELPROPERTIES_ObstructionLFRatio(pointer,
ObstructionLFRatio);
}
/**
* @return value of ObstructionLFRatio
*/
public float getObstructionLFRatio()
{
if(pointer == 0) throw new NullPointerException();
return StructureJNI.get_FSOUND_REVERB_CHANNELPROPERTIES_ObstructionLFRatio(pointer);
}
/**
* -10000, 0, 0, main occlusion control (attenuation at high frequencies) (WIN32/XBOX)
*/
public void setOcclusion(int Occlusion)
{
if(pointer == 0) throw new NullPointerException();
StructureJNI.set_FSOUND_REVERB_CHANNELPROPERTIES_Occlusion(pointer, Occlusion);
}
/**
* @return value of Occlusion
*/
public int getOcclusion()
{
if(pointer == 0) throw new NullPointerException();
return StructureJNI.get_FSOUND_REVERB_CHANNELPROPERTIES_Occlusion(pointer);
}
/**
* 0.0, 1.0, 0.25, occlusion low-frequency level re. main control (WIN32/XBOX)
*/
public void setOcclusionLFRatio(float OcclusionLFRatio)
{
if(pointer == 0) throw new NullPointerException();
StructureJNI.set_FSOUND_REVERB_CHANNELPROPERTIES_OcclusionLFRatio(pointer,
OcclusionLFRatio);
}
/**
* @return value of OcclusionLFRatio
*/
public float getOcclusionLFRatio()
{
if(pointer == 0) throw new NullPointerException();
return StructureJNI.get_FSOUND_REVERB_CHANNELPROPERTIES_OcclusionLFRatio(pointer);
}
/**
* 0.0, 10.0, 1.5, relative occlusion control for room effect (WIN32)
*/
public void setOcclusionRoomRatio(float OcclusionRoomRatio)
{
if(pointer == 0) throw new NullPointerException();
StructureJNI.set_FSOUND_REVERB_CHANNELPROPERTIES_OcclusionRoomRatio(pointer,
OcclusionRoomRatio);
}
/**
* @return value of OcclusionRoomRatio
*/
public float getOcclusionRoomRatio()
{
if(pointer == 0) throw new NullPointerException();
return StructureJNI.get_FSOUND_REVERB_CHANNELPROPERTIES_OcclusionRoomRatio(pointer);
}
/**
* 0.0, 10.0, 1.0, relative occlusion control for direct path (WIN32)
*/
public void setOcclusionDirectRatio(float OcclusionDirectRatio)
{
if(pointer == 0) throw new NullPointerException();
StructureJNI.set_FSOUND_REVERB_CHANNELPROPERTIES_OcclusionDirectRatio(pointer,
OcclusionDirectRatio);
}
/**
* @return value of OcclusionDirectRatio
*/
public float getOcclusionDirectRatio()
{
if(pointer == 0) throw new NullPointerException();
return StructureJNI.get_FSOUND_REVERB_CHANNELPROPERTIES_OcclusionDirectRatio(pointer);
}
/**
* -10000, 0, 0, main exlusion control (attenuation at high frequencies) (WIN32)
*/
public void setExclusion(int Exclusion)
{
if(pointer == 0) throw new NullPointerException();
StructureJNI.set_FSOUND_REVERB_CHANNELPROPERTIES_Exclusion(pointer, Exclusion);
}
/**
* @return value of Exclusion
*/
public int getExclusion()
{
if(pointer == 0) throw new NullPointerException();
return StructureJNI.get_FSOUND_REVERB_CHANNELPROPERTIES_Exclusion(pointer);
}
/**
* 0.0, 1.0, 1.0, exclusion low-frequency level re. main control (WIN32)
*/
public void setExclusionLFRatio(float ExclusionLFRatio)
{
if(pointer == 0) throw new NullPointerException();
StructureJNI.set_FSOUND_REVERB_CHANNELPROPERTIES_ExclusionLFRatio(pointer,
ExclusionLFRatio);
}
/**
* @return value of ExclusionLFRatio
*/
public float getExclusionLFRatio()
{
if(pointer == 0) throw new NullPointerException();
return StructureJNI.get_FSOUND_REVERB_CHANNELPROPERTIES_ExclusionLFRatio(pointer);
}
/**
* -10000, 0, 0, outside sound cone level at high frequencies (WIN32)
*/
public void setOutsideVolumeHF(int OutsideVolumeHF)
{
if(pointer == 0) throw new NullPointerException();
StructureJNI
.set_FSOUND_REVERB_CHANNELPROPERTIES_OutsideVolumeHF(pointer, OutsideVolumeHF);
}
/**
* @return value of OutsideVolumeHF
*/
public int getOutsideVolumeHF()
{
if(pointer == 0) throw new NullPointerException();
return StructureJNI.get_FSOUND_REVERB_CHANNELPROPERTIES_OutsideVolumeHF(pointer);
}
/**
* 0.0, 10.0, 0.0, like DS3D flDopplerFactor but per source (WIN32)
*/
public void setDopplerFactor(float DopplerFactor)
{
if(pointer == 0) throw new NullPointerException();
StructureJNI.set_FSOUND_REVERB_CHANNELPROPERTIES_DopplerFactor(pointer, DopplerFactor);
}
/**
* @return value of DopplerFactor
*/
public float getDopplerFactor()
{
if(pointer == 0) throw new NullPointerException();
return StructureJNI.get_FSOUND_REVERB_CHANNELPROPERTIES_DopplerFactor(pointer);
}
/**
* 0.0, 10.0, 0.0, like DS3D flRolloffFactor but per source (WIN32)
*/
public void setRolloffFactor(float RolloffFactor)
{
if(pointer == 0) throw new NullPointerException();
StructureJNI.set_FSOUND_REVERB_CHANNELPROPERTIES_RolloffFactor(pointer, RolloffFactor);
}
/**
* @return value of RolloffFactor
*/
public float getRolloffFactor()
{
if(pointer == 0) throw new NullPointerException();
return StructureJNI.get_FSOUND_REVERB_CHANNELPROPERTIES_RolloffFactor(pointer);
}
/**
* 0.0, 10.0, 0.0, like DS3D flRolloffFactor but for room effect (WIN32/XBOX)
*/
public void setRoomRolloffFactor(float RoomRolloffFactor)
{
if(pointer == 0) throw new NullPointerException();
StructureJNI.set_FSOUND_REVERB_CHANNELPROPERTIES_RoomRolloffFactor(pointer,
RoomRolloffFactor);
}
/**
* @return value of RoomRolloverFactor
*/
public float getRoomRolloffFactor()
{
if(pointer == 0) throw new NullPointerException();
return StructureJNI.get_FSOUND_REVERB_CHANNELPROPERTIES_RoomRolloffFactor(pointer);
}
/**
* 0.0, 10.0, 1.0, multiplies AirAbsorptionHF member of FSOUND_REVERB_PROPERTIES (WIN32)
* */
public void setAirAbsorptionFactor(float AirAbsorptionFactor)
{
if(pointer == 0) throw new NullPointerException();
StructureJNI.set_FSOUND_REVERB_CHANNELPROPERTIES_AirAbsorptionFactor(pointer,
AirAbsorptionFactor);
}
/**
* @return value of AirAbsorptionFactor
*/
public float getAirAbsorptionFactor()
{
if(pointer == 0) throw new NullPointerException();
return StructureJNI.get_FSOUND_REVERB_CHANNELPROPERTIES_AirAbsorptionFactor(pointer);
}
/**
* FSOUND_REVERB_CHANNELFLAGS - modifies the behavior of properties (WIN32)
*/
public void setFlags(int Flags)
{
if(pointer == 0) throw new NullPointerException();
StructureJNI.set_FSOUND_REVERB_CHANNELPROPERTIES_Flags(pointer, Flags);
}
/**
* @return value of EchoTime
*/
public int getFlags()
{
if(pointer == 0) throw new NullPointerException();
return StructureJNI.get_FSOUND_REVERB_CHANNELPROPERTIES_Flags(pointer);
}
}