Source

Coin / include / Inventor / misc / SoAudioDevice.h

Thomas Hammer 16cf29b 



Marius Kintel 3ba6b41 




























Thomas Hammer 16cf29b 





Thomas Hammer 956bc58 

Morten Eriksen 803acf7 

Thomas Hammer 16cf29b 

Morten Eriksen 8c472c1 
Morten Eriksen 803acf7 
Morten Eriksen 8c472c1 
Morten Eriksen 803acf7 
Thomas Hammer 4df312f 

Thomas Hammer 72e915f 
Thomas Hammer 4df312f 
Thomas Hammer 2da59ff 

Morten Eriksen 803acf7 
Morten Eriksen 1ca4d4b 
Thomas Hammer 4df312f 
Thomas Hammer 4c88f5f 
Thomas Hammer 4df312f 


Thomas Hammer 956bc58 
Peder Blekken f22d5ec 
Thomas Hammer 16cf29b 

#ifndef COIN_SOAUDIODEVICE_H
#define COIN_SOAUDIODEVICE_H

/**************************************************************************\
 * Copyright (c) Kongsberg Oil & Gas Technologies AS
 * All rights reserved.
 * 
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are
 * met:
 * 
 * Redistributions of source code must retain the above copyright notice,
 * this list of conditions and the following disclaimer.
 * 
 * Redistributions in binary form must reproduce the above copyright
 * notice, this list of conditions and the following disclaimer in the
 * documentation and/or other materials provided with the distribution.
 * 
 * Neither the name of the copyright holder nor the names of its
 * contributors may be used to endorse or promote products derived from
 * this software without specific prior written permission.
 * 
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
 * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
\**************************************************************************/

#include <Inventor/SbString.h>
#include <Inventor/actions/SoGLRenderAction.h>
#include <Inventor/actions/SoAudioRenderAction.h>

class SoAudioDeviceP;

// *************************************************************************

class COIN_DLL_API SoAudioDevice {
public:
  static SoAudioDevice * instance();

  SbBool init(const SbString & devicetype, const SbString & devicename);

  SbBool enable();
  void disable();
  SbBool isEnabled();
  SbBool haveSound();
  void setGain(float gain);
  void mute(SbBool mute=TRUE);

private:
  SoAudioDevice();
  ~SoAudioDevice();
  SoAudioDevice(const SoAudioDevice &);
  const SoAudioDevice & operator=(const SoAudioDevice &);

  SoAudioDeviceP *pimpl;
  friend class SoAudioDeviceP;
};

#endif // !COIN_SOAUDIODEVICE_H