## Public API Reference

- Main Page
- Modules
- Namespaces
- Classes
- Files
- Related Pages

- File List
- File Members

# isound/renderer.h

    00001 /*
    00002     Copyright (C) 1998, 1999 by Nathaniel 'NooTe' Saint Martin
    00003     Copyright (C) 1998, 1999 by Jorrit Tyberghein
    00004     Written by Nathaniel 'NooTe' Saint Martin
    00005
    00006     This library is free software; you can redistribute it and/or
    00007     modify it under the terms of the GNU Library General Public
    00008     License as published by the Free Software Foundation; either
    00009     version 2 of the License, or (at your option) any later version.
    00010
    00011     This library is distributed in the hope that it will be useful,
    00012     but WITHOUT ANY WARRANTY; without even the implied warranty of
    00013     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    00014     Library General Public License for more details.
    00015
    00016     You should have received a copy of the GNU Library General Public
    00017     License along with this library; if not, write to the Free
    00018     Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
    00019 */
    00020
    00021 #ifndef __CS_ISOUND_RENDERER_H__
    00022 #define __CS_ISOUND_RENDERER_H__
    00023
    00024 #include "csutil/scf.h"
    00025
    00026 struct iSoundListener;
    00027 struct iSoundData;
    00028 struct iSoundHandle;
    00029
    00030 SCF_VERSION (iSoundRender, 1, 0, 0);
    00031
    00045 struct iSoundRender : public iBase
    00046 {
    00047 public:
    00049   virtual void SetVolume (float vol) = 0;
    00051   virtual float GetVolume () = 0;
    00052
    00054   virtual csPtr<iSoundHandle> RegisterSound(iSoundData *) = 0;
    00056   virtual void UnregisterSound(iSoundHandle *) = 0;
    00057
    00059   virtual iSoundListener *GetListener () = 0;
    00060
    00062   virtual void MixingFunction () = 0;
    00063 };
    00064
    00065 #endif // __CS_ISOUND_RENDERER_H__