// This source file is part of HGamer3D
// (A project to enable 3D game development in Haskell)
// For the latest info, see http://www.althainz.de/HGamer3D.html
//
// (c) 2011 Peter Althainz
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// ClassIAudioSource.h
//
//
//
//
// File for type, method, enum or function stubs
// in: "Dep-cAudio/cAudio/include\IAudioSource.h"
//
// each stub combines the following files:
// a C++ implementation file, transforming cpp calls into C-functions
// a C-header file, making this C-functions available for the C2HS parser
// a chs file, give instructions to the C2HS parser.
//
//
#include "wchar.h"
#include "ClassPtr.h"
#include "Utils.h"
#include "TypeVector3.h"
// original function: bool play();
void cIAs_play_c(struct hg3dclass_struct *classptr_c, int * result_c);
// original function: bool play2d(const bool& toLoop);
void cIAs_play2d_c(struct hg3dclass_struct *classptr_c, int toLoop_c, int * result_c);
// original function: bool play3d(const cVector3& position, const float& soundstr, const bool& toLoop);
void cIAs_play3d_c(struct hg3dclass_struct *classptr_c, struct vector3_struct * position_c, float soundstr_c, int toLoop_c, int * result_c);
// original function: void pause();
void cIAs_pause_c(struct hg3dclass_struct *classptr_c);
// original function: void stop();
void cIAs_stop_c(struct hg3dclass_struct *classptr_c);
// original function: void loop(const bool& toLoop);
void cIAs_loop_c(struct hg3dclass_struct *classptr_c, int toLoop_c);
// original function: bool seek(const float& seconds, bool relative);
void cIAs_seek_c(struct hg3dclass_struct *classptr_c, float seconds_c, int relative_c, int * result_c);
// original function: float getTotalAudioTime();
void cIAs_getTotalAudioTime_c(struct hg3dclass_struct *classptr_c, float * result_c);
// original function: int getTotalAudioSize();
void cIAs_getTotalAudioSize_c(struct hg3dclass_struct *classptr_c, int * result_c);
// original function: int getCompressedAudioSize();
void cIAs_getCompressedAudioSize_c(struct hg3dclass_struct *classptr_c, int * result_c);
// original function: float getCurrentAudioTime();
void cIAs_getCurrentAudioTime_c(struct hg3dclass_struct *classptr_c, float * result_c);
// original function: int getCurrentAudioPosition();
void cIAs_getCurrentAudioPosition_c(struct hg3dclass_struct *classptr_c, int * result_c);
// original function: int getCurrentCompressedAudioPosition();
void cIAs_getCurrentCompressedAudioPosition_c(struct hg3dclass_struct *classptr_c, int * result_c);
// original function: bool update();
void cIAs_update_c(struct hg3dclass_struct *classptr_c, int * result_c);
// original function: const bool isValid();
void cIAs_isValid_c(struct hg3dclass_struct *classptr_c, int * result_c);
// original function: const bool isPlaying();
void cIAs_isPlaying_c(struct hg3dclass_struct *classptr_c, int * result_c);
// original function: const bool isPaused();
void cIAs_isPaused_c(struct hg3dclass_struct *classptr_c, int * result_c);
// original function: const bool isStopped();
void cIAs_isStopped_c(struct hg3dclass_struct *classptr_c, int * result_c);
// original function: const bool isLooping();
void cIAs_isLooping_c(struct hg3dclass_struct *classptr_c, int * result_c);
// original function: void setPosition(const cVector3& position);
void cIAs_setPosition_c(struct hg3dclass_struct *classptr_c, struct vector3_struct * position_c);
// original function: void setVelocity(const cVector3& velocity);
void cIAs_setVelocity_c(struct hg3dclass_struct *classptr_c, struct vector3_struct * velocity_c);
// original function: void setDirection(const cVector3& direction);
void cIAs_setDirection_c(struct hg3dclass_struct *classptr_c, struct vector3_struct * direction_c);
// original function: void setRolloffFactor(const float& rolloff);
void cIAs_setRolloffFactor_c(struct hg3dclass_struct *classptr_c, float rolloff_c);
// original function: void setStrength(const float& soundstrength);
void cIAs_setStrength_c(struct hg3dclass_struct *classptr_c, float soundstrength_c);
// original function: void setMinDistance(const float& minDistance);
void cIAs_setMinDistance_c(struct hg3dclass_struct *classptr_c, float minDistance_c);
// original function: void setMaxDistance(const float& maxDistance);
void cIAs_setMaxDistance_c(struct hg3dclass_struct *classptr_c, float maxDistance_c);
// original function: void setPitch(const float& pitch);
void cIAs_setPitch_c(struct hg3dclass_struct *classptr_c, float pitch_c);
// original function: void setVolume(const float& volume);
void cIAs_setVolume_c(struct hg3dclass_struct *classptr_c, float volume_c);
// original function: void setMinVolume(const float& minVolume);
void cIAs_setMinVolume_c(struct hg3dclass_struct *classptr_c, float minVolume_c);
// original function: void setMaxVolume(const float& maxVolume);
void cIAs_setMaxVolume_c(struct hg3dclass_struct *classptr_c, float maxVolume_c);
// original function: void setInnerConeAngle(const float& innerAngle);
void cIAs_setInnerConeAngle_c(struct hg3dclass_struct *classptr_c, float innerAngle_c);
// original function: void setOuterConeAngle(const float& outerAngle);
void cIAs_setOuterConeAngle_c(struct hg3dclass_struct *classptr_c, float outerAngle_c);
// original function: void setOuterConeVolume(const float& outerVolume);
void cIAs_setOuterConeVolume_c(struct hg3dclass_struct *classptr_c, float outerVolume_c);
// original function: void setDopplerStrength(const float& dstrength);
void cIAs_setDopplerStrength_c(struct hg3dclass_struct *classptr_c, float dstrength_c);
// original function: void setDopplerVelocity(const cVector3& dvelocity);
void cIAs_setDopplerVelocity_c(struct hg3dclass_struct *classptr_c, struct vector3_struct * dvelocity_c);
// original function: void move(const cVector3& position);
void cIAs_move_c(struct hg3dclass_struct *classptr_c, struct vector3_struct * position_c);
// original function: const cVector3 getPosition();
void cIAs_getPosition_c(struct hg3dclass_struct *classptr_c, struct vector3_struct * result_c);
// original function: const cVector3 getVelocity();
void cIAs_getVelocity_c(struct hg3dclass_struct *classptr_c, struct vector3_struct * result_c);
// original function: const cVector3 getDirection();
void cIAs_getDirection_c(struct hg3dclass_struct *classptr_c, struct vector3_struct * result_c);
// original function: const float getRolloffFactor();
void cIAs_getRolloffFactor_c(struct hg3dclass_struct *classptr_c, float * result_c);
// original function: const float getStrength();
void cIAs_getStrength_c(struct hg3dclass_struct *classptr_c, float * result_c);
// original function: const float getMinDistance();
void cIAs_getMinDistance_c(struct hg3dclass_struct *classptr_c, float * result_c);
// original function: const float getMaxDistance();
void cIAs_getMaxDistance_c(struct hg3dclass_struct *classptr_c, float * result_c);
// original function: const float getPitch();
void cIAs_getPitch_c(struct hg3dclass_struct *classptr_c, float * result_c);
// original function: const float getVolume();
void cIAs_getVolume_c(struct hg3dclass_struct *classptr_c, float * result_c);
// original function: const float getMinVolume();
void cIAs_getMinVolume_c(struct hg3dclass_struct *classptr_c, float * result_c);
// original function: const float getMaxVolume();
void cIAs_getMaxVolume_c(struct hg3dclass_struct *classptr_c, float * result_c);
// original function: const float getInnerConeAngle();
void cIAs_getInnerConeAngle_c(struct hg3dclass_struct *classptr_c, float * result_c);
// original function: const float getOuterConeAngle();
void cIAs_getOuterConeAngle_c(struct hg3dclass_struct *classptr_c, float * result_c);
// original function: const float getOuterConeVolume();
void cIAs_getOuterConeVolume_c(struct hg3dclass_struct *classptr_c, float * result_c);
// original function: const float getDopplerStrength();
void cIAs_getDopplerStrength_c(struct hg3dclass_struct *classptr_c, float * result_c);
// original function: const cVector3 getDopplerVelocity();
void cIAs_getDopplerVelocity_c(struct hg3dclass_struct *classptr_c, struct vector3_struct * result_c);
// original function: void unRegisterAllEventHandlers();
void cIAs_unRegisterAllEventHandlers_c(struct hg3dclass_struct *classptr_c);