mirror of
https://github.com/panda3d/panda3d.git
synced 2025-10-04 19:08:55 -04:00
non-audio audioManager
This commit is contained in:
parent
46b3078d1b
commit
594b30a84c
52
panda/src/audio/nullAudioManager.cxx
Normal file
52
panda/src/audio/nullAudioManager.cxx
Normal file
@ -0,0 +1,52 @@
|
||||
// Filename: nullAudioManager.cxx
|
||||
// Created by: skyler (June 6, 2001)
|
||||
// Prior system by: cary
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// PANDA 3D SOFTWARE
|
||||
// Copyright (c) 2001, Disney Enterprises, Inc. All rights reserved
|
||||
//
|
||||
// All use of this software is subject to the terms of the Panda 3d
|
||||
// Software license. You should have received a copy of this license
|
||||
// along with this source code; you will also find a current copy of
|
||||
// the license at http://www.panda3d.org/license.txt .
|
||||
//
|
||||
// To contact the maintainers of this program write to
|
||||
// panda3d@yahoogroups.com .
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////
|
||||
|
||||
#include "nullAudioManager.h"
|
||||
|
||||
NullAudioManager::NullAudioManager() {
|
||||
audio_info("NullAudioManager");
|
||||
}
|
||||
|
||||
NullAudioManager::~NullAudioManager() {
|
||||
// intentionally blank.
|
||||
}
|
||||
|
||||
AudioSound* NullAudioManager::get_sound(const string&) {
|
||||
return new NullAudioSound();
|
||||
}
|
||||
|
||||
void NullAudioManager::drop_sound(const string&) {
|
||||
// intentionally blank.
|
||||
}
|
||||
|
||||
void NullAudioManager::set_volume(float) {
|
||||
// intentionally blank.
|
||||
}
|
||||
|
||||
float NullAudioManager::get_volume() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
void NullAudioManager::set_active(bool) {
|
||||
// intentionally blank.
|
||||
}
|
||||
|
||||
bool NullAudioManager::get_active() {
|
||||
return 0;
|
||||
}
|
57
panda/src/audio/nullAudioManager.h
Normal file
57
panda/src/audio/nullAudioManager.h
Normal file
@ -0,0 +1,57 @@
|
||||
// Filename: nullAudioManager.h
|
||||
// Created by: skyler (June 6, 2001)
|
||||
// Prior system by: cary
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// PANDA 3D SOFTWARE
|
||||
// Copyright (c) 2001, Disney Enterprises, Inc. All rights reserved
|
||||
//
|
||||
// All use of this software is subject to the terms of the Panda 3d
|
||||
// Software license. You should have received a copy of this license
|
||||
// along with this source code; you will also find a current copy of
|
||||
// the license at http://www.panda3d.org/license.txt .
|
||||
//
|
||||
// To contact the maintainers of this program write to
|
||||
// panda3d@yahoogroups.com .
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef __NULL_AUDIO_MANAGER_H__
|
||||
#define __NULL_AUDIO_MANAGER_H__
|
||||
|
||||
#include "audioManager.h"
|
||||
#include "nullAudioSound.h"
|
||||
|
||||
#define NAME_MACRO_FOR_AUDIO_MANAGER() NullAudioManager
|
||||
|
||||
class EXPCL_PANDA NullAudioManager : public AudioManager {
|
||||
public:
|
||||
NullAudioManager();
|
||||
virtual ~NullAudioManager();
|
||||
|
||||
// Get a sound:
|
||||
// You own this sound. Be sure to delete it when you're done.
|
||||
virtual AudioSound* get_sound(const string&);
|
||||
// Tell the AudioManager there is no need to keep this one cached.
|
||||
virtual void drop_sound(const string&);
|
||||
|
||||
// Control volume:
|
||||
// FYI:
|
||||
// If you start a sound with the volume off and turn the volume
|
||||
// up later, you'll hear the sound playing at that late point.
|
||||
virtual void set_volume(float);
|
||||
virtual float get_volume();
|
||||
|
||||
// Turn the manager on an off.
|
||||
// If you play a sound while the manager is inactive, it won't start.
|
||||
// If you deactivate the manager while sounds are playing, they'll
|
||||
// stop.
|
||||
// If you activate the manager while looping sounds are playing
|
||||
// (those that have a loop_count of zero),
|
||||
// they will start playing from the begining of their loop.
|
||||
virtual void set_active(bool);
|
||||
virtual bool get_active();
|
||||
};
|
||||
|
||||
#endif /* __NULL_AUDIO_MANAGER_H__ */
|
97
panda/src/audio/nullAudioSound.cxx
Normal file
97
panda/src/audio/nullAudioSound.cxx
Normal file
@ -0,0 +1,97 @@
|
||||
// Filename: nullAudioSound.cxx
|
||||
// Created by: skyler (June 6, 2001)
|
||||
// Prior system by: cary
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// PANDA 3D SOFTWARE
|
||||
// Copyright (c) 2001, Disney Enterprises, Inc. All rights reserved
|
||||
//
|
||||
// All use of this software is subject to the terms of the Panda 3d
|
||||
// Software license. You should have received a copy of this license
|
||||
// along with this source code; you will also find a current copy of
|
||||
// the license at http://www.panda3d.org/license.txt .
|
||||
//
|
||||
// To contact the maintainers of this program write to
|
||||
// panda3d@yahoogroups.com .
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////
|
||||
|
||||
#include "nullAudioSound.h"
|
||||
|
||||
|
||||
NullAudioSound::NullAudioSound() {
|
||||
// Intentionally blank.
|
||||
}
|
||||
|
||||
NullAudioSound::~NullAudioSound() {
|
||||
// Intentionally blank.
|
||||
}
|
||||
|
||||
void NullAudioSound::play() {
|
||||
// Intentionally blank.
|
||||
}
|
||||
|
||||
void NullAudioSound::stop() {
|
||||
// Intentionally blank.
|
||||
}
|
||||
|
||||
void NullAudioSound::set_loop(bool) {
|
||||
// Intentionally blank.
|
||||
}
|
||||
|
||||
bool NullAudioSound::get_loop() const {
|
||||
return false;
|
||||
}
|
||||
|
||||
void NullAudioSound::set_loop_count(unsigned long) {
|
||||
// Intentionally blank.
|
||||
}
|
||||
|
||||
unsigned long NullAudioSound::get_loop_count() const {
|
||||
return 0;
|
||||
}
|
||||
|
||||
void NullAudioSound::set_time(float) {
|
||||
// Intentionally blank.
|
||||
}
|
||||
|
||||
float NullAudioSound::get_time() const {
|
||||
return 0;
|
||||
}
|
||||
|
||||
void NullAudioSound::set_volume(float) {
|
||||
// Intentionally blank.
|
||||
}
|
||||
|
||||
float NullAudioSound::get_volume() const {
|
||||
return 0;
|
||||
}
|
||||
|
||||
void NullAudioSound::set_balance(float) {
|
||||
// Intentionally blank.
|
||||
}
|
||||
|
||||
float NullAudioSound::get_balance() const {
|
||||
return 0;
|
||||
}
|
||||
|
||||
void NullAudioSound::set_active(bool) {
|
||||
// Intentionally blank.
|
||||
}
|
||||
|
||||
bool NullAudioSound::get_active() const {
|
||||
return false;
|
||||
}
|
||||
|
||||
const string& NullAudioSound::get_name() const {
|
||||
return "";
|
||||
}
|
||||
|
||||
float NullAudioSound::length() const {
|
||||
return 0;
|
||||
}
|
||||
|
||||
AudioSound::SoundStatus NullAudioSound::status() const {
|
||||
return AudioSound::READY;
|
||||
}
|
85
panda/src/audio/nullAudioSound.h
Normal file
85
panda/src/audio/nullAudioSound.h
Normal file
@ -0,0 +1,85 @@
|
||||
// Filename: nullAudioSound.h
|
||||
// Created by: skyler (June 6, 2001)
|
||||
// Prior system by: cary
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// PANDA 3D SOFTWARE
|
||||
// Copyright (c) 2001, Disney Enterprises, Inc. All rights reserved
|
||||
//
|
||||
// All use of this software is subject to the terms of the Panda 3d
|
||||
// Software license. You should have received a copy of this license
|
||||
// along with this source code; you will also find a current copy of
|
||||
// the license at http://www.panda3d.org/license.txt .
|
||||
//
|
||||
// To contact the maintainers of this program write to
|
||||
// panda3d@yahoogroups.com .
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef __NULL_AUDIO_SOUND_H__
|
||||
#define __NULL_AUDIO_SOUND_H__
|
||||
|
||||
#include "audioSound.h"
|
||||
|
||||
|
||||
// This class intentionally does next to nothing.
|
||||
// It's used as a placeholder when you don't want a sound
|
||||
// system.
|
||||
class EXPCL_PANDA NullAudioSound : public AudioSound {
|
||||
public:
|
||||
~NullAudioSound();
|
||||
|
||||
// For best compatability, set the loop_count, start_time,
|
||||
// volume, and balance, prior to calling play(). You may
|
||||
// set them while they're playing, but it's implementation
|
||||
// specific whether you get the results.
|
||||
void play();
|
||||
void stop();
|
||||
|
||||
// loop: 0 = play once; 1 = play forever.
|
||||
// inits to false.
|
||||
void set_loop(bool);
|
||||
bool get_loop() const;
|
||||
|
||||
// loop_count: 0 = forever; 1 = play once; n = play n times.
|
||||
// inits to 1.
|
||||
void set_loop_count(unsigned long);
|
||||
unsigned long get_loop_count() const;
|
||||
|
||||
// start_time: 0 = begining; length() = end.
|
||||
// inits to 0.0.
|
||||
void set_time(float);
|
||||
float get_time() const;
|
||||
|
||||
// 0 = minimum; 1.0 = maximum.
|
||||
// inits to 1.0.
|
||||
void set_volume(float);
|
||||
float get_volume() const;
|
||||
|
||||
// -1.0 is hard left
|
||||
// 0.0 is centered
|
||||
// 1.0 is hard right
|
||||
// inits to 0.0.
|
||||
void set_balance(float);
|
||||
float get_balance() const;
|
||||
|
||||
// inits to manager's state.
|
||||
void set_active(bool);
|
||||
bool get_active() const;
|
||||
|
||||
// There is no set_name(), this is intentional.
|
||||
const string& get_name() const;
|
||||
|
||||
// return: playing time in seconds.
|
||||
float length() const;
|
||||
|
||||
AudioSound::SoundStatus status() const;
|
||||
|
||||
protected:
|
||||
NullAudioSound();
|
||||
|
||||
friend class NullAudioManager;
|
||||
};
|
||||
|
||||
#endif /* __NULL_AUDIO_SOUND_H__ */
|
Loading…
x
Reference in New Issue
Block a user