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 
00052 struct iPcSoundListener : public virtual iBase
00053 {
00054   SCF_INTERFACE (iPcSoundListener, 0, 0, 1);
00055 
00057   virtual iSndSysListener* GetSoundListener () = 0;
00058 };
00059 
00060 /*
00061  * This is the sound source property class.
00062  * <p>
00063  * This property class supports the following actions (add prefix
00064  * 'cel.action.' to get the ID of the action and add prefix 'cel.parameter.'
00065  * to get the ID of the parameter):
00066  * <ul>
00067  * <li>Unpause: no parameters.
00068  * <li>Pause: no parameters.
00069  * </ul>
00070  * <p>
00071  * This property class supports the following properties (add prefix
00072  * 'cel.property.' to get the ID of the property:
00073  * <ul>
00074  * <li>soundname (string, read/write): name of the sound that will be used.
00075  * <li>volume (float, read/write): 0=off, 1=normal, >1 is above normal.
00076  * <li>directionalradiation (float, read/write): directional radiation.
00077  * <li>position (vector3, read/write): position.
00078  * <li>minimumdistance (float, read/write): minimum play distance.
00079  * <li>maximumdistance (float, read/write): maximum play distance.
00080  * <li>loop (bool, read/write): true=loop, false=don't loop.
00081  * <li>follow (bool, read/write): follow own entity pcmesh (default off).
00082  * </ul>
00083  */
00084 struct iPcSoundSource : public virtual iBase
00085 {
00086   SCF_INTERFACE (iPcSoundSource, 0, 0, 1);
00087 
00089   virtual iSndSysSource* GetSoundSource () = 0;
00090 
00092   virtual void SetSoundName (const char* name) = 0;
00094   virtual const char* GetSoundName () const = 0;
00095 };
00096 
00097 #endif // __CEL_PF_SOUND__
00098 

Generated for CEL: Crystal Entity Layer by doxygen 1.4.7