CEL

Public API Reference

propclass/sound.h

00001 /*
00002     Crystal Space Entity Layer
00003     Copyright (C) 2005 by Jorrit Tyberghein
00004   
00005     This library is free software; you can redistribute it and/or
00006     modify it under the terms of the GNU Library General Public
00007     License as published by the Free Software Foundation; either
00008     version 2 of the License, or (at your option) any later version.
00009   
00010     This library is distributed in the hope that it will be useful,
00011     but WITHOUT ANY WARRANTY; without even the implied warranty of
00012     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00013     Library General Public License for more details.
00014   
00015     You should have received a copy of the GNU Library General Public
00016     License along with this library; if not, write to the Free
00017     Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
00018 */
00019 
00020 #ifndef __CEL_PF_SOUND__
00021 #define __CEL_PF_SOUND__
00022 
00023 #include "cstypes.h"
00024 #include "csutil/scf.h"
00025 
00026 struct iSndSysListener;
00027 struct iSndSysSource;
00028 
00048 struct iPcSoundListener : public virtual iBase
00049 {
00050   SCF_INTERFACE (iPcSoundListener, 0, 0, 1);
00051 
00053   virtual iSndSysListener* GetSoundListener () = 0;
00054 };
00055 
00056 /*
00057  * This is the sound source property class.
00058  *
00059  * This property class supports the following actions (add prefix
00060  * 'cel.action.' to get the ID of the action and add prefix 'cel.parameter.'
00061  * to get the ID of the parameter):
00062  * - Unpause: no parameters.
00063  * - Pause: no parameters.
00064  *
00065  * This property class supports the following properties (add prefix
00066  * 'cel.property.' to get the ID of the property:
00067  * - soundname (string, read/write): name of the sound that will be used.
00068  * - volume (float, read/write): 0=off, 1=normal, >1 is above normal.
00069  * - directionalradiation (float, read/write): directional radiation.
00070  * - position (vector3, read/write): position.
00071  * - minimumdistance (float, read/write): minimum play distance.
00072  * - maximumdistance (float, read/write): maximum play distance.
00073  * - loop (bool, read/write): true=loop, false=don't loop.
00074  * - follow (bool, read/write): follow own entity pcmesh (default off).
00075  * - mode (string, read/write): one of 'disable', 'relative', or 'asbolute'
00076  *   (default 'disable'). This is the 3D mode of the sound source.
00077  */
00078 struct iPcSoundSource : public virtual iBase
00079 {
00080   SCF_INTERFACE (iPcSoundSource, 0, 0, 1);
00081 
00083   virtual iSndSysSource* GetSoundSource () = 0;
00084 
00086   virtual void SetSoundName (const char* name) = 0;
00088   virtual const char* GetSoundName () const = 0;
00093   virtual void SetMode (const char* modename) = 0;
00098   virtual const char* GetMode () const = 0;
00099 };
00100 
00101 #endif // __CEL_PF_SOUND__
00102 

Generated for CEL: Crystal Entity Layer 1.2 by doxygen 1.4.7