2.5 audio cleanup:
* Removed CD Actuator * Removed bSample and bSoundListener * Removed SoundSystem * Removed -noaudio parameter
This commit is contained in:
parent
cb9e51bf8a
commit
a27cc1adf0
|
@ -87,7 +87,6 @@ IF(UNIX)
|
|||
bf_scenegraph
|
||||
bf_IK
|
||||
bf_moto
|
||||
bf_soundsystem
|
||||
bf_kernel
|
||||
bf_nodes
|
||||
bf_gpu
|
||||
|
|
|
@ -25,7 +25,6 @@
|
|||
# ***** END GPL LICENSE BLOCK *****
|
||||
|
||||
ADD_SUBDIRECTORY(audaspace)
|
||||
ADD_SUBDIRECTORY(SoundSystem)
|
||||
ADD_SUBDIRECTORY(string)
|
||||
ADD_SUBDIRECTORY(ghost)
|
||||
ADD_SUBDIRECTORY(guardedalloc)
|
||||
|
|
|
@ -32,7 +32,7 @@ SOURCEDIR = intern
|
|||
# include nan_subdirs.mk
|
||||
|
||||
ALLDIRS = string ghost guardedalloc moto container memutil
|
||||
ALLDIRS += decimation iksolver bsp SoundSystem opennl elbeem boolop smoke audaspace
|
||||
ALLDIRS += decimation iksolver bsp opennl elbeem boolop smoke audaspace
|
||||
|
||||
all::
|
||||
@for i in $(ALLDIRS); do \
|
||||
|
|
|
@ -2,7 +2,6 @@
|
|||
Import ('env')
|
||||
|
||||
SConscript(['audaspace/SConscript',
|
||||
'SoundSystem/SConscript',
|
||||
'string/SConscript',
|
||||
'ghost/SConscript',
|
||||
'guardedalloc/SConscript',
|
||||
|
|
|
@ -1,42 +0,0 @@
|
|||
# $Id$
|
||||
# ***** BEGIN GPL LICENSE BLOCK *****
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU General Public License
|
||||
# as published by the Free Software Foundation; either version 2
|
||||
# of the License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software Foundation,
|
||||
# Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
#
|
||||
# The Original Code is Copyright (C) 2006, Blender Foundation
|
||||
# All rights reserved.
|
||||
#
|
||||
# The Original Code is: all of this file.
|
||||
#
|
||||
# Contributor(s): Jacques Beaurain.
|
||||
#
|
||||
# ***** END GPL LICENSE BLOCK *****
|
||||
|
||||
SET(INC . intern ../moto/include ../string dummy openal sdl)
|
||||
|
||||
IF(WITH_OPENAL)
|
||||
FILE(GLOB SRC dummy/*.cpp intern/*.cpp openal/*.cpp sdl/*.cpp)
|
||||
INCLUDE_DIRECTORIES(${OPENAL_INC} ${SDL_INC})
|
||||
STRING(REGEX MATCH ".*ramework.*" FRAMEWORK ${OPENAL_INC})
|
||||
IF(FRAMEWORK)
|
||||
ADD_DEFINITIONS(-DAPPLE_FRAMEWORK_FIX)
|
||||
ENDIF(FRAMEWORK)
|
||||
ELSE(WITH_OPENAL)
|
||||
FILE(GLOB SRC dummy/*.cpp intern/*.cpp)
|
||||
ADD_DEFINITIONS(-DNO_SOUND)
|
||||
ENDIF(WITH_OPENAL)
|
||||
|
||||
BLENDERLIB(bf_soundsystem "${SRC}" "${INC}")
|
||||
#, libtype=['core','player'], priority = [20,140] )
|
|
@ -1,70 +0,0 @@
|
|||
# -*- mode: gnumakefile; tab-width: 8; indent-tabs-mode: t; -*-
|
||||
# vim: tabstop=8
|
||||
#
|
||||
# $Id$
|
||||
#
|
||||
# ***** BEGIN GPL LICENSE BLOCK *****
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU General Public License
|
||||
# as published by the Free Software Foundation; either version 2
|
||||
# of the License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software Foundation,
|
||||
# Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
#
|
||||
# The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
|
||||
# All rights reserved.
|
||||
#
|
||||
# The Original Code is: all of this file.
|
||||
#
|
||||
# Contributor(s): GSR
|
||||
#
|
||||
# ***** END GPL LICENSE BLOCK *****
|
||||
#
|
||||
#
|
||||
|
||||
include nan_definitions.mk
|
||||
|
||||
LIBNAME = SoundSystem
|
||||
SOURCEDIR = intern/SoundSystem
|
||||
DIR = $(OCGDIR)/$(SOURCEDIR)
|
||||
DIRS = intern
|
||||
DIRS += dummy
|
||||
|
||||
ifneq ($(NAN_NO_OPENAL),true)
|
||||
ifeq ($(OS),windows)
|
||||
DIRS += openal sdl
|
||||
endif
|
||||
ifeq ($(OS),darwin)
|
||||
DIRS += openal
|
||||
endif
|
||||
ifeq ($(OS),$(findstring $(OS), "linux freebsd solaris"))
|
||||
DIRS += openal sdl
|
||||
endif
|
||||
ifeq ($(OS), irix)
|
||||
DIRS += sdl
|
||||
endif
|
||||
else
|
||||
export CPPFLAGS += -DNO_SOUND
|
||||
endif
|
||||
|
||||
include nan_subdirs.mk
|
||||
|
||||
install: $(ALL_OR_DEBUG)
|
||||
@[ -d $(NAN_SOUNDSYSTEM) ] || mkdir $(NAN_SOUNDSYSTEM)
|
||||
@[ -d $(NAN_SOUNDSYSTEM)/include ] || mkdir $(NAN_SOUNDSYSTEM)/include
|
||||
@[ -d $(NAN_SOUNDSYSTEM)/lib/$(DEBUG_DIR) ] || mkdir $(NAN_SOUNDSYSTEM)/lib/$(DEBUG_DIR)
|
||||
@../tools/cpifdiff.sh $(DIR)/$(DEBUG_DIR)libSoundSystem.a $(NAN_SOUNDSYSTEM)/lib/$(DEBUG_DIR)
|
||||
ifeq ($(OS),darwin)
|
||||
ranlib $(NAN_SOUNDSYSTEM)/lib/$(DEBUG_DIR)libSoundSystem.a
|
||||
endif
|
||||
@../tools/cpifdiff.sh *.h $(NAN_SOUNDSYSTEM)/include/
|
||||
|
||||
|
|
@ -1,20 +0,0 @@
|
|||
#!/usr/bin/python
|
||||
|
||||
Import ('env')
|
||||
|
||||
sources = env.Glob('dummy/*.cpp') + env.Glob('intern/*.cpp')
|
||||
|
||||
incs = '. intern ../moto/include ../string dummy openal sdl'
|
||||
defs = ''
|
||||
if env['WITH_BF_OPENAL']:
|
||||
sources += env.Glob('openal/*.cpp') + env.Glob('sdl/*.cpp')
|
||||
incs += ' ' + env['BF_OPENAL_INC']
|
||||
incs += ' ' + env['BF_SDL_INC']
|
||||
defs = 'USE_OPENAL'
|
||||
else:
|
||||
defs = 'NO_SOUND'
|
||||
|
||||
if not env['WITH_BF_SDL']:
|
||||
defs += ' DISABLE_SDL'
|
||||
|
||||
env.BlenderLib ('bf_soundsystem', sources, Split(incs), Split(defs), libtype=['intern','player'], priority = [25,135] )
|
|
@ -1,354 +0,0 @@
|
|||
/**
|
||||
* $Id$
|
||||
*
|
||||
* ***** BEGIN GPL LICENSE BLOCK *****
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software Foundation,
|
||||
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
|
||||
* All rights reserved.
|
||||
*
|
||||
* The Original Code is: all of this file.
|
||||
*
|
||||
* Contributor(s): none yet.
|
||||
*
|
||||
* ***** END GPL LICENSE BLOCK *****
|
||||
*/
|
||||
#ifndef SND_BLENDER_H
|
||||
#define SND_BLENDER_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include "SoundDefines.h"
|
||||
|
||||
#define SND_DECLARE_HANDLE(name) typedef struct name##__ { int unused; } *name
|
||||
|
||||
SND_DECLARE_HANDLE(SND_AudioDeviceInterfaceHandle);
|
||||
SND_DECLARE_HANDLE(SND_SceneHandle);
|
||||
SND_DECLARE_HANDLE(SND_ObjectHandle);
|
||||
SND_DECLARE_HANDLE(SND_ListenerHandle);
|
||||
|
||||
/**
|
||||
* set the specified type
|
||||
*/
|
||||
extern void SND_SetDeviceType(int device_type);
|
||||
|
||||
/**
|
||||
* get an audiodevice
|
||||
*/
|
||||
extern SND_AudioDeviceInterfaceHandle SND_GetAudioDevice(void);
|
||||
|
||||
/**
|
||||
* and let go of it
|
||||
*/
|
||||
extern void SND_ReleaseDevice(void);
|
||||
|
||||
/**
|
||||
* check if playback is desired
|
||||
*/
|
||||
extern int SND_IsPlaybackWanted(SND_SceneHandle scene);
|
||||
|
||||
/**
|
||||
* add memlocation to cache
|
||||
*/
|
||||
extern int SND_AddSample(SND_SceneHandle scene,
|
||||
const char* filename,
|
||||
void* memlocation,
|
||||
int size);
|
||||
|
||||
/**
|
||||
* remove all samples
|
||||
*/
|
||||
extern void SND_RemoveAllSamples(SND_SceneHandle scene);
|
||||
|
||||
/**
|
||||
* forces the object to check its buffer, and fix it if it's wrong
|
||||
*/
|
||||
extern int SND_CheckBuffer(SND_SceneHandle scene, SND_ObjectHandle object);
|
||||
|
||||
/**
|
||||
* Creates a scene, initializes it and returns a handle to that scene.
|
||||
*
|
||||
* @param audiodevice: handle to the audiodevice.
|
||||
*/
|
||||
extern SND_SceneHandle SND_CreateScene(SND_AudioDeviceInterfaceHandle audiodevice);
|
||||
|
||||
/**
|
||||
* Stops all sounds, suspends the scene (so all resources will be freed) and deletes the scene.
|
||||
*
|
||||
* @param scene: handle to the soundscene.
|
||||
*/
|
||||
extern void SND_DeleteScene(SND_SceneHandle scene);
|
||||
|
||||
/**
|
||||
* Adds a soundobject to the scene, gets the buffer the sample is loaded into.
|
||||
*
|
||||
* @param scene: handle to the soundscene.
|
||||
* @param object: handle to soundobject.
|
||||
*/
|
||||
extern void SND_AddSound(SND_SceneHandle scene, SND_ObjectHandle object);
|
||||
|
||||
/**
|
||||
* Removes a soundobject from the scene.
|
||||
*
|
||||
* @param scene: handle to the soundscene.
|
||||
* @param object: handle to soundobject.
|
||||
*/
|
||||
extern void SND_RemoveSound(SND_SceneHandle scene, SND_ObjectHandle object);
|
||||
|
||||
/**
|
||||
* Removes all soundobjects from the scene.
|
||||
*
|
||||
* @param scene: handle to the soundscene.
|
||||
*/
|
||||
extern void SND_RemoveAllSounds(SND_SceneHandle scene);
|
||||
|
||||
/**
|
||||
* Stopss all soundobjects in the scene.
|
||||
*
|
||||
* @param scene: handle to the soundscene.
|
||||
*/
|
||||
extern void SND_StopAllSounds(SND_SceneHandle scene);
|
||||
|
||||
/**
|
||||
* Updates the listener, checks the status of all soundobjects, builds a list of all active
|
||||
* objects, updates the active objects.
|
||||
*
|
||||
* @param audiodevice: handle to the audiodevice.
|
||||
* @param scene: handle to the soundscene.
|
||||
*/
|
||||
extern void SND_Proceed(SND_AudioDeviceInterfaceHandle audiodevice, SND_SceneHandle scene);
|
||||
|
||||
/**
|
||||
* Returns a handle to the listener.
|
||||
*
|
||||
* @param scene: handle to the soundscene.
|
||||
*/
|
||||
extern SND_ListenerHandle SND_GetListener(SND_SceneHandle scene);
|
||||
|
||||
/**
|
||||
* Sets the gain of the listener.
|
||||
*
|
||||
* @param scene: handle to the soundscene.
|
||||
* @param gain: factor the gain gets multiplied with.
|
||||
*/
|
||||
extern void SND_SetListenerGain(SND_SceneHandle scene, double gain);
|
||||
|
||||
/**
|
||||
* Sets a scaling to exaggerate or deemphasize the Doppler (pitch) shift resulting from the
|
||||
* calculation.
|
||||
* @attention $f' = dopplerfactor * f * frac{dopplervelocity - listener_velocity}{dopplervelocity + object_velocity}$
|
||||
* @attention f: frequency in sample (soundobject)
|
||||
* @attention f': effective Doppler shifted frequency
|
||||
*
|
||||
* @param object: handle to soundobject.
|
||||
* @param dopplerfactor: the dopplerfactor.
|
||||
*/
|
||||
extern void SND_SetDopplerFactor(SND_SceneHandle scene, double dopplerfactor);
|
||||
|
||||
/**
|
||||
* Sets the value of the propagation speed relative to which the source velocities are interpreted.
|
||||
* @attention $f' = dopplerfactor * f * frac{dopplervelocity - listener_velocity}{dopplervelocity + object_velocity}$
|
||||
* @attention f: frequency in sample (soundobject)
|
||||
* @attention f': effective Doppler shifted frequency
|
||||
*
|
||||
* @param object: handle to soundobject.
|
||||
* @param dopplervelocity: the dopplervelocity.
|
||||
*/
|
||||
extern void SND_SetDopplerVelocity(SND_SceneHandle scene, double dopplervelocity);
|
||||
|
||||
/**
|
||||
* Creates a new soundobject and returns a handle to it.
|
||||
*/
|
||||
extern SND_ObjectHandle SND_CreateSound(void);
|
||||
|
||||
/**
|
||||
* Deletes a soundobject.
|
||||
*
|
||||
* @param object: handle to soundobject.
|
||||
*/
|
||||
extern void SND_DeleteSound(SND_ObjectHandle object);
|
||||
|
||||
/**
|
||||
* Sets a soundobject to SND_MUST_PLAY, so with the next proceed it will be updated and played.
|
||||
*
|
||||
* @param object: handle to soundobject.
|
||||
*/
|
||||
extern void SND_StartSound(SND_SceneHandle scene, SND_ObjectHandle object);
|
||||
|
||||
/**
|
||||
* Sets a soundobject to SND_MUST_STOP, so with the next proceed it will be stopped.
|
||||
*
|
||||
* @param object: handle to soundobject.
|
||||
*/
|
||||
extern void SND_StopSound(SND_SceneHandle scene, SND_ObjectHandle object);
|
||||
|
||||
/**
|
||||
* Sets a soundobject to SND_MUST_PAUSE, so with the next proceed it will be paused.
|
||||
*
|
||||
* @param object: handle to soundobject.
|
||||
*/
|
||||
extern void SND_PauseSound(SND_SceneHandle scene, SND_ObjectHandle object);
|
||||
|
||||
/**
|
||||
* Sets the name of the sample to reference the soundobject to it.
|
||||
*
|
||||
* @param object: handle to soundobject.
|
||||
* @param samplename: the name of the sample
|
||||
*/
|
||||
extern void SND_SetSampleName(SND_ObjectHandle object, char* samplename);
|
||||
|
||||
/**
|
||||
* Sets the gain of a soundobject.
|
||||
*
|
||||
* @param object: handle to soundobject.
|
||||
* @param gain: factor the gain gets multiplied with.
|
||||
*/
|
||||
extern void SND_SetGain(SND_ObjectHandle object, double gain);
|
||||
|
||||
/**
|
||||
* Sets the minimum gain of a soundobject.
|
||||
*
|
||||
* @param object: handle to soundobject.
|
||||
* @param minimumgain: lower threshold for the gain.
|
||||
*/
|
||||
extern void SND_SetMinimumGain(SND_ObjectHandle object, double minimumgain);
|
||||
|
||||
/**
|
||||
* Sets the maximum gain of a soundobject.
|
||||
*
|
||||
* @param object: handle to soundobject.
|
||||
* @param maximumgain: upper threshold for the gain.
|
||||
*/
|
||||
extern void SND_SetMaximumGain(SND_ObjectHandle object, double maximumgain);
|
||||
|
||||
/**
|
||||
* Sets the rollofffactor. The rollofffactor is a per-Source parameter the application
|
||||
* can use to increase or decrease the range of a source by decreasing or increasing the
|
||||
* attenuation, respectively. The default value is 1. The implementation is free to optimize
|
||||
* for a rollofffactor value of 0, which indicates that the application does not wish any
|
||||
* distance attenuation on the respective Source.
|
||||
*
|
||||
* @param object: handle to soundobject.
|
||||
* @param rollofffactor: the rollofffactor.
|
||||
*/
|
||||
extern void SND_SetRollOffFactor(SND_ObjectHandle object, double rollofffactor);
|
||||
|
||||
/**
|
||||
* Sets the referencedistance at which the listener will experience gain.
|
||||
* @attention G_dB = gain - 20 * log10(1 + rollofffactor * (dist - referencedistance)/referencedistance);
|
||||
*
|
||||
* @param object: handle to soundobject.
|
||||
* @param distance: the reference distance.
|
||||
*/
|
||||
extern void SND_SetReferenceDistance(SND_ObjectHandle object, double referencedistance);
|
||||
|
||||
/**
|
||||
* Sets the pitch of a soundobject.
|
||||
*
|
||||
* @param object: handle to soundobject.
|
||||
* @param pitch: pitchingfactor: 2.0 for doubling the frequency, 0.5 for half the frequency.
|
||||
*/
|
||||
extern void SND_SetPitch(SND_ObjectHandle object, double pitch);
|
||||
|
||||
/**
|
||||
* Sets the position a soundobject.
|
||||
*
|
||||
* @param object: handle to soundobject.
|
||||
* @param position: position[3].
|
||||
*/
|
||||
extern void SND_SetPosition(SND_ObjectHandle object, double* position);
|
||||
|
||||
/**
|
||||
* Sets the velocity of a soundobject.
|
||||
*
|
||||
* @param object: handle to soundobject.
|
||||
* @param velocity: velocity[3].
|
||||
*/
|
||||
extern void SND_SetVelocity(SND_ObjectHandle object, double* velocity);
|
||||
|
||||
/**
|
||||
* Sets the orientation of a soundobject.
|
||||
*
|
||||
* @param object: handle to soundobject.
|
||||
* @param orientation: orientation[9].
|
||||
*/
|
||||
extern void SND_SetOrientation(SND_ObjectHandle object, double* orientation);
|
||||
|
||||
/**
|
||||
* Sets the loopmode of a soundobject.
|
||||
*
|
||||
* @param object: handle to soundobject.
|
||||
* @param loopmode type of the loop (SND_LOOP_OFF, SND_LOOP_NORMAL, SND_LOOP_BIDIRECTIONAL);
|
||||
*/
|
||||
extern void SND_SetLoopMode(SND_ObjectHandle object, int loopmode);
|
||||
|
||||
/**
|
||||
* Sets the looppoints of a soundobject.
|
||||
*
|
||||
* @param object: handle to soundobject.
|
||||
* @param loopstart startpoint of the loop
|
||||
* @param loopend endpoint of the loop
|
||||
*/
|
||||
extern void SND_SetLoopPoints(SND_ObjectHandle object, unsigned int loopstart, unsigned int loopend);
|
||||
|
||||
/**
|
||||
* Gets the gain of a soundobject.
|
||||
*
|
||||
* @param object: handle to soundobject.
|
||||
*/
|
||||
extern float SND_GetGain(SND_ObjectHandle object);
|
||||
|
||||
/**
|
||||
* Gets the pitch of a soundobject.
|
||||
*
|
||||
* @param object: handle to soundobject.
|
||||
*/
|
||||
extern float SND_GetPitch(SND_ObjectHandle object);
|
||||
|
||||
/**
|
||||
* Gets the looping of a soundobject.
|
||||
* 0: SND_LOOP_OFF
|
||||
* 1: SND_LOOP_NORMAL
|
||||
* 2: SND_LOOP_BIDIRECTIONAL
|
||||
*
|
||||
* @param object: handle to soundobject.
|
||||
*/
|
||||
extern int SND_GetLoopMode(SND_ObjectHandle object);
|
||||
|
||||
/**
|
||||
* Gets the playstate of a soundobject.
|
||||
* SND_UNKNOWN = -1
|
||||
* SND_INITIAL
|
||||
* SND_MUST_PLAY
|
||||
* SND_PLAYING
|
||||
* SND_MUST_STOP
|
||||
* SND_STOPPED
|
||||
* SND_MUST_PAUSE
|
||||
* SND_PAUSED
|
||||
* SND_MUST_BE_DELETED
|
||||
*
|
||||
* @param object: handle to soundobject.
|
||||
*/
|
||||
extern int SND_GetPlaystate(SND_ObjectHandle object);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
|
@ -1,83 +0,0 @@
|
|||
/*
|
||||
* SND_CDObject.h
|
||||
*
|
||||
* Implementation for CD playback
|
||||
*
|
||||
* $Id$
|
||||
*
|
||||
* ***** BEGIN GPL LICENSE BLOCK *****
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software Foundation,
|
||||
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
|
||||
* All rights reserved.
|
||||
*
|
||||
* The Original Code is: all of this file.
|
||||
*
|
||||
* Contributor(s): none yet.
|
||||
*
|
||||
* ***** END GPL LICENSE BLOCK *****
|
||||
*/
|
||||
|
||||
#ifndef __SND_CDOBJECT_H
|
||||
#define __SND_CDOBJECT_H
|
||||
|
||||
#include "SND_Object.h"
|
||||
|
||||
class SND_CDObject : public SND_Object
|
||||
{
|
||||
private:
|
||||
|
||||
/**
|
||||
* Private to enforce singleton
|
||||
*/
|
||||
SND_CDObject();
|
||||
SND_CDObject(const SND_CDObject&);
|
||||
|
||||
static SND_CDObject* m_instance;
|
||||
MT_Scalar m_gain; /* the gain of the object */
|
||||
int m_playmode; /* the way CD is played back (all, random, track, trackloop) */
|
||||
int m_track; /* the track for 'track' and 'trackloop' */
|
||||
int m_playstate; /* flag for current state of object */
|
||||
bool m_modified;
|
||||
bool m_used; /* flag for checking if we used the cd, if not don't
|
||||
call the stop cd at the end */
|
||||
|
||||
public:
|
||||
static bool CreateSystem();
|
||||
static bool DisposeSystem();
|
||||
static SND_CDObject* Instance();
|
||||
|
||||
~SND_CDObject();
|
||||
|
||||
void SetGain(MT_Scalar gain);
|
||||
void SetPlaymode(int playmode);
|
||||
void SetTrack(int track);
|
||||
void SetPlaystate(int playstate);
|
||||
void SetModified(bool modified);
|
||||
void SetUsed();
|
||||
bool GetUsed();
|
||||
|
||||
bool IsModified() const;
|
||||
|
||||
int GetTrack() const;
|
||||
MT_Scalar GetGain() const;
|
||||
int GetPlaymode() const;
|
||||
int GetPlaystate() const;
|
||||
|
||||
};
|
||||
|
||||
#endif //__SND_CDOBJECT_H
|
||||
|
|
@ -1,50 +0,0 @@
|
|||
/*
|
||||
* SND_DependKludge.h
|
||||
*
|
||||
* who needs what?
|
||||
*
|
||||
* $Id$
|
||||
*
|
||||
* ***** BEGIN GPL LICENSE BLOCK *****
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software Foundation,
|
||||
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
|
||||
* All rights reserved.
|
||||
*
|
||||
* The Original Code is: all of this file.
|
||||
*
|
||||
* Contributor(s): none yet.
|
||||
*
|
||||
* ***** END GPL LICENSE BLOCK *****
|
||||
*/
|
||||
|
||||
#ifndef HAVE_CONFIG_H
|
||||
|
||||
#ifndef NO_SOUND
|
||||
|
||||
#if defined (_WIN32) && !defined(FREE_WINDOWS)
|
||||
# define USE_OPENAL
|
||||
#elif defined (__linux__) || (__FreeBSD__) || defined(__APPLE__) || defined(__sun)
|
||||
# define USE_OPENAL
|
||||
#else
|
||||
# ifdef USE_OPENAL
|
||||
# undef USE_OPENAL
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#endif /* NO_SOUND */
|
||||
|
||||
#endif /* HAVE_CONFIG_H */
|
|
@ -1,79 +0,0 @@
|
|||
/*
|
||||
* SND_DeviceManager.h
|
||||
*
|
||||
* singleton for creating, switching and deleting audiodevices
|
||||
*
|
||||
* $Id$
|
||||
*
|
||||
* ***** BEGIN GPL LICENSE BLOCK *****
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software Foundation,
|
||||
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
|
||||
* All rights reserved.
|
||||
*
|
||||
* The Original Code is: all of this file.
|
||||
*
|
||||
* Contributor(s): none yet.
|
||||
*
|
||||
* ***** END GPL LICENSE BLOCK *****
|
||||
*/
|
||||
|
||||
#ifndef __SND_DEVICEMANAGER_H
|
||||
#define __SND_DEVICEMANAGER_H
|
||||
|
||||
#include "SND_IAudioDevice.h"
|
||||
|
||||
class SND_DeviceManager
|
||||
{
|
||||
public :
|
||||
|
||||
/**
|
||||
* a subscription is needed before instances are given away
|
||||
* applications must call subscribe first, get an instance, and
|
||||
* when they are finished with sound, unsubscribe
|
||||
*/
|
||||
static void Subscribe();
|
||||
static void Unsubscribe();
|
||||
|
||||
static SND_IAudioDevice* Instance();
|
||||
static void SetDeviceType(int device_type);
|
||||
|
||||
private :
|
||||
|
||||
/**
|
||||
* Private to enforce singleton
|
||||
*/
|
||||
SND_DeviceManager();
|
||||
SND_DeviceManager(const SND_DeviceManager&);
|
||||
~SND_DeviceManager();
|
||||
|
||||
static SND_IAudioDevice* m_instance;
|
||||
|
||||
/**
|
||||
* The type of device to be created on a call
|
||||
* to Instance().
|
||||
*/
|
||||
static int m_device_type;
|
||||
|
||||
/**
|
||||
* Remember the number of subscriptions.
|
||||
* if 0, delete the device
|
||||
*/
|
||||
static int m_subscriptions;
|
||||
};
|
||||
|
||||
#endif //__SND_DEVICEMANAGER_H
|
||||
|
|
@ -1,343 +0,0 @@
|
|||
/**
|
||||
* $Id$
|
||||
*
|
||||
* ***** BEGIN GPL LICENSE BLOCK *****
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software Foundation,
|
||||
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
|
||||
* All rights reserved.
|
||||
*
|
||||
* The Original Code is: all of this file.
|
||||
*
|
||||
* Contributor(s): none yet.
|
||||
*
|
||||
* ***** END GPL LICENSE BLOCK *****
|
||||
*/
|
||||
#ifndef SND_IAUDIODEVICE
|
||||
#define SND_IAUDIODEVICE
|
||||
|
||||
#include "SND_SoundObject.h"
|
||||
#include "SND_CDObject.h"
|
||||
#include "SND_WaveCache.h"
|
||||
#include "SND_WaveSlot.h"
|
||||
#include "MT_Matrix3x3.h"
|
||||
|
||||
class SND_IAudioDevice
|
||||
{
|
||||
public:
|
||||
|
||||
/**
|
||||
* constructor
|
||||
*/
|
||||
SND_IAudioDevice() {};
|
||||
|
||||
/**
|
||||
* destructor
|
||||
*/
|
||||
virtual ~SND_IAudioDevice() {};
|
||||
|
||||
/**
|
||||
* check to see if initialization was successfull
|
||||
*
|
||||
* @return indication of succes
|
||||
*/
|
||||
virtual bool IsInitialized()=0;
|
||||
|
||||
/**
|
||||
* get the wavecache (which does sample (un)loading)
|
||||
*
|
||||
* @return pointer to the wavecache
|
||||
*/
|
||||
virtual SND_WaveCache* GetWaveCache() const =0;
|
||||
|
||||
/**
|
||||
* loads a sample into the device
|
||||
*
|
||||
* @param samplename the name of the sample
|
||||
* @param memlocation pointer where the sample is stored
|
||||
* @param size size of the sample in memory
|
||||
*
|
||||
* @return pointer to the slot with sample data
|
||||
*/
|
||||
virtual SND_WaveSlot* LoadSample(const STR_String& samplename,
|
||||
void* memlocation,
|
||||
int size)=0;
|
||||
|
||||
/**
|
||||
* remove a sample from the wavecache
|
||||
*
|
||||
* @param filename pointer to filename
|
||||
*/
|
||||
// virtual void RemoveSample(const char* filename)=0;
|
||||
|
||||
/**
|
||||
* remove all samples from the wavecache
|
||||
*/
|
||||
virtual void RemoveAllSamples()=0;
|
||||
|
||||
/**
|
||||
* get a new id from the device
|
||||
*
|
||||
* @param pObject pointer to soundobject
|
||||
*
|
||||
* @return indication of success
|
||||
*/
|
||||
virtual bool GetNewId(SND_SoundObject* pObject)=0;
|
||||
|
||||
/**
|
||||
* clear an id
|
||||
*
|
||||
* @param pObject pointer to soundobject
|
||||
*/
|
||||
virtual void ClearId(SND_SoundObject* pObject)=0;
|
||||
|
||||
/**
|
||||
* initialize the listener
|
||||
*/
|
||||
virtual void InitListener()=0;
|
||||
|
||||
/**
|
||||
* set the value of the propagation speed relative to which the
|
||||
* source velocities are interpreted.
|
||||
* f' = DOPPLER_FACTOR * f * (DOPPLER_VELOCITY - Vl) / (DOPPLER_VELOCITY + Vo)
|
||||
* f: frequency in sample (soundobject)
|
||||
* f': effective Doppler shifted frequency
|
||||
* Vl: velocity listener
|
||||
* Vo: velocity soundobject
|
||||
*
|
||||
* @param dopplervelocity scaling factor for doppler effect
|
||||
*/
|
||||
virtual void SetDopplerVelocity(MT_Scalar dopplervelocity) const =0;
|
||||
|
||||
/**
|
||||
* set a scaling to exaggerate or deemphasize the Doppler (pitch)
|
||||
* shift resulting from the calculation.
|
||||
* f' = DOPPLER_FACTOR * f * (DOPPLER_VELOCITY - Listener_velocity )/(DOPPLER_VELOCITY + object_velocity )
|
||||
*
|
||||
* @param dopplerfactor scaling factor for doppler effect
|
||||
*/
|
||||
virtual void SetDopplerFactor(MT_Scalar dopplerfactor) const =0;
|
||||
|
||||
/**
|
||||
* set the roll-off factor
|
||||
*
|
||||
* @param rollofffactor a global volume scaling factor
|
||||
*/
|
||||
virtual void SetListenerRollOffFactor(MT_Scalar rollofffactor) const =0;
|
||||
|
||||
/**
|
||||
* make the context the current one
|
||||
*/
|
||||
virtual void MakeCurrent() const =0;
|
||||
|
||||
/**
|
||||
* update the device
|
||||
*/
|
||||
virtual void NextFrame() const =0;
|
||||
|
||||
/**
|
||||
* set the volume of the listener.
|
||||
*
|
||||
* @param gain the mastergain
|
||||
*/
|
||||
virtual void SetListenerGain(float gain) const =0;
|
||||
|
||||
/**
|
||||
* connect the buffer with the source
|
||||
*
|
||||
* @param id the id of the object
|
||||
* @param buffer the buffer the sample is stored in
|
||||
*/
|
||||
virtual void SetObjectBuffer(int id, unsigned int buffer)=0;
|
||||
|
||||
/**
|
||||
* pause playback of the cd
|
||||
* @param id the id of the object
|
||||
*
|
||||
* @return the state the object is in
|
||||
*/
|
||||
virtual int GetPlayState(int id) =0;
|
||||
|
||||
/**
|
||||
* play a sound belonging to an object.
|
||||
*
|
||||
* @param id the id of the object
|
||||
*/
|
||||
virtual void PlayObject(int id) =0;
|
||||
|
||||
/**
|
||||
* stop a sound belonging to an object.
|
||||
*
|
||||
* @param id the id of the object
|
||||
*/
|
||||
virtual void StopObject(int id) const =0;
|
||||
|
||||
/**
|
||||
* stop all sounds.
|
||||
*/
|
||||
virtual void StopAllObjects()=0;
|
||||
|
||||
/**
|
||||
* pause the sound belonging to an object.
|
||||
*
|
||||
* @param id the id of the object
|
||||
*/
|
||||
virtual void PauseObject(int id) const =0;
|
||||
|
||||
/**
|
||||
* set the sound to looping or non-looping.
|
||||
*
|
||||
* @param id the id of the object
|
||||
* @param loopmode type of looping (no loop, normal, bidirectional)
|
||||
*/
|
||||
virtual void SetObjectLoop(int id, unsigned int loopmode) const =0;
|
||||
|
||||
/**
|
||||
* set the looppoints of a sound
|
||||
*
|
||||
* @param id the id of the object
|
||||
* @param loopstart the startpoint of the loop (in samples)
|
||||
* @param loopend the endpoint of the loop (in samples)
|
||||
*/
|
||||
virtual void SetObjectLoopPoints(int id, unsigned int loopstart, unsigned int loopend) const =0;
|
||||
|
||||
/**
|
||||
* set the pitch of the sound.
|
||||
*
|
||||
* @param id the id of the object
|
||||
* @param pitch the pitch
|
||||
*/
|
||||
virtual void SetObjectPitch(int id, MT_Scalar pitch) const =0;
|
||||
|
||||
/**
|
||||
* set the gain of the sound.
|
||||
*
|
||||
* @param id the id of the object
|
||||
* @param gain the gain
|
||||
*/
|
||||
virtual void SetObjectGain(int id, MT_Scalar gain) const =0;
|
||||
|
||||
/**
|
||||
* ROLLOFF_FACTOR is per-Source parameter the application can use to increase or decrease
|
||||
* the range of a source by decreasing or increasing the attenuation, respectively. The
|
||||
* default value is 1. The implementation is free to optimize for a ROLLOFF_FACTOR value
|
||||
* of 0, which indicates that the application does not wish any distance attenuation on
|
||||
* the respective Source.
|
||||
*
|
||||
* @param id the id of the object
|
||||
* @param rolloff a per-source volume scaling factor
|
||||
*/
|
||||
virtual void SetObjectRollOffFactor(int id, MT_Scalar rolloff) const =0;
|
||||
|
||||
/**
|
||||
* min_gain indicates the minimal gain which is always guaranteed for this sound
|
||||
*
|
||||
* @param id the id of the object
|
||||
* @param mingain the minimum gain of the object
|
||||
*/
|
||||
virtual void SetObjectMinGain(int id, MT_Scalar mingain) const =0;
|
||||
|
||||
/**
|
||||
* max_gain indicates the maximal gain which is always guaranteed for this sound
|
||||
*
|
||||
* @param id the id of the object
|
||||
* @param maxgain the maximum gain of the object
|
||||
*/
|
||||
virtual void SetObjectMaxGain(int id, MT_Scalar maxgain) const =0;
|
||||
/**
|
||||
* set the distance at which the Listener will experience gain.
|
||||
* G_dB = GAIN - 20*log10(1 + ROLLOFF_FACTOR*(dist-REFERENCE_DISTANCE)/REFERENCE_DISTANCE );
|
||||
*
|
||||
* @param id the id of the object
|
||||
* @param referencedistance the distance at which the listener will start hearing
|
||||
*/
|
||||
virtual void SetObjectReferenceDistance(int id, MT_Scalar referencedistance) const =0;
|
||||
|
||||
/**
|
||||
* set the position, velocity and orientation of a sound.
|
||||
*
|
||||
* @param id the id of the object
|
||||
* @param position the position of the object
|
||||
* @param velocity the velocity of the object
|
||||
* @param orientation the orientation of the object
|
||||
* @param lisposition the position of the listener
|
||||
* @param rollofffactor the rollofffactor of the object
|
||||
*/
|
||||
virtual void SetObjectTransform(int id,
|
||||
const MT_Vector3& position,
|
||||
const MT_Vector3& velocity,
|
||||
const MT_Matrix3x3& orientation,
|
||||
const MT_Vector3& lisposition,
|
||||
const MT_Scalar& rollofffactor) const =0;
|
||||
|
||||
/**
|
||||
* make a sound 2D
|
||||
*
|
||||
* @param id the id of the object
|
||||
*/
|
||||
virtual void ObjectIs2D(int id) const =0;
|
||||
|
||||
/**
|
||||
* tell the device we want cd suppport
|
||||
*/
|
||||
virtual void UseCD() const =0;
|
||||
|
||||
/**
|
||||
* start playback of the cd
|
||||
*
|
||||
* @param track the tracknumber to start playback from
|
||||
*/
|
||||
virtual void PlayCD(int track) const =0;
|
||||
|
||||
/**
|
||||
* pause playback of the cd (true == pause, false == resume)
|
||||
*/
|
||||
virtual void PauseCD(bool pause) const =0;
|
||||
|
||||
/**
|
||||
* stop playback of the cd
|
||||
*/
|
||||
virtual void StopCD() const =0;
|
||||
|
||||
/**
|
||||
* set the playbackmode of the cd
|
||||
* SND_CD_ALL play all tracks
|
||||
* SND_CD_TRACK play one track
|
||||
* SND_CD_TRACKLOOP play one track looped
|
||||
* SND_CD_RANDOM play all tracks in random order
|
||||
*
|
||||
* @param playmode playmode
|
||||
*/
|
||||
virtual void SetCDPlaymode(int playmode) const =0;
|
||||
|
||||
/**
|
||||
* set the volume playback of the cd
|
||||
*
|
||||
* @param gain the gain
|
||||
*/
|
||||
virtual void SetCDGain(MT_Scalar gain) const =0;
|
||||
|
||||
virtual void StartUsingDSP() =0;
|
||||
virtual float* GetSpectrum() =0;
|
||||
virtual void StopUsingDSP() =0;
|
||||
|
||||
protected:
|
||||
|
||||
virtual void RevokeSoundObject(SND_SoundObject* pObject)=0;
|
||||
};
|
||||
|
||||
#endif //SND_IAUDIODEVICE
|
||||
|
|
@ -1,54 +0,0 @@
|
|||
/*
|
||||
* SND_Object.h
|
||||
*
|
||||
* Abstract sound object
|
||||
*
|
||||
* $Id$
|
||||
*
|
||||
* ***** BEGIN GPL LICENSE BLOCK *****
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software Foundation,
|
||||
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
|
||||
* All rights reserved.
|
||||
*
|
||||
* The Original Code is: all of this file.
|
||||
*
|
||||
* Contributor(s): none yet.
|
||||
*
|
||||
* ***** END GPL LICENSE BLOCK *****
|
||||
*/
|
||||
|
||||
#ifndef __SND_OBJECT_H
|
||||
#define __SND_OBJECT_H
|
||||
|
||||
#include "GEN_List.h"
|
||||
#include "MT_Matrix3x3.h"
|
||||
#include "SoundDefines.h"
|
||||
|
||||
/**
|
||||
* SND_Object is an interface class for soundobjects, listeners and other
|
||||
* kinds of sound related thingies.
|
||||
*/
|
||||
|
||||
class SND_Object : public GEN_Link
|
||||
{
|
||||
public:
|
||||
SND_Object() {};
|
||||
virtual ~SND_Object() {};
|
||||
};
|
||||
|
||||
#endif //__SND_OBJECT_H
|
||||
|
|
@ -1,104 +0,0 @@
|
|||
/*
|
||||
* SND_Scene.h
|
||||
*
|
||||
* The scene for sounds.
|
||||
*
|
||||
* $Id$
|
||||
*
|
||||
* ***** BEGIN GPL LICENSE BLOCK *****
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software Foundation,
|
||||
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
|
||||
* All rights reserved.
|
||||
*
|
||||
* The Original Code is: all of this file.
|
||||
*
|
||||
* Contributor(s): none yet.
|
||||
*
|
||||
* ***** END GPL LICENSE BLOCK *****
|
||||
*/
|
||||
|
||||
#ifdef WIN32
|
||||
#pragma warning (disable:4786) // get rid of stupid stl-visual compiler debug warning
|
||||
#endif //WIN32
|
||||
|
||||
#ifndef __SND_SCENE_H
|
||||
#define __SND_SCENE_H
|
||||
|
||||
#include "SoundDefines.h"
|
||||
#include "SND_SoundObject.h"
|
||||
#include "SND_CDObject.h"
|
||||
#include "SND_SoundListener.h"
|
||||
#include "SND_WaveSlot.h"
|
||||
|
||||
#include "MT_Vector3.h"
|
||||
#include "MT_Matrix3x3.h"
|
||||
#include "STR_String.h"
|
||||
|
||||
#include <set>
|
||||
|
||||
|
||||
class SND_Scene
|
||||
{
|
||||
std::set<class SND_SoundObject*> m_soundobjects;
|
||||
|
||||
GEN_List m_activeobjects;
|
||||
class SND_IAudioDevice* m_audiodevice;
|
||||
class SND_WaveCache* m_wavecache;
|
||||
class SND_SoundListener m_listener;
|
||||
bool m_audio; // to check if audio works
|
||||
bool m_audioplayback; // to check if audioplayback is wanted
|
||||
|
||||
void UpdateListener();
|
||||
void BuildActiveList(MT_Scalar curtime);
|
||||
void UpdateActiveObects();
|
||||
void UpdateCD();
|
||||
|
||||
public:
|
||||
SND_Scene(SND_IAudioDevice* adi);
|
||||
~SND_Scene();
|
||||
|
||||
bool IsPlaybackWanted();
|
||||
|
||||
void AddActiveObject(SND_SoundObject* pObject, MT_Scalar curtime);
|
||||
void RemoveActiveObject(SND_SoundObject* pObject);
|
||||
void DeleteObjectWhenFinished(SND_SoundObject* pObject);
|
||||
|
||||
void Proceed();
|
||||
|
||||
int LoadSample(const STR_String& samplename,
|
||||
void* memlocation,
|
||||
int size);
|
||||
void RemoveAllSamples();
|
||||
bool CheckBuffer(SND_SoundObject* pObject);
|
||||
bool IsSampleLoaded(STR_String& samplename);
|
||||
|
||||
void AddObject(SND_SoundObject* pObject);
|
||||
bool SetCDObject(SND_CDObject* cdobject);
|
||||
void DeleteObject(SND_SoundObject* pObject);
|
||||
void RemoveAllObjects();
|
||||
void StopAllObjects();
|
||||
int GetObjectStatus(SND_SoundObject* pObject) const;
|
||||
|
||||
void SetListenerTransform(const MT_Vector3& pos,
|
||||
const MT_Vector3& vel,
|
||||
const MT_Matrix3x3& mat);
|
||||
|
||||
SND_SoundListener* GetListener();
|
||||
};
|
||||
|
||||
#endif //__SND_SCENE_H
|
||||
|
|
@ -1,82 +0,0 @@
|
|||
/*
|
||||
* SND_SoundListener.h
|
||||
*
|
||||
* A SoundListener is for sound what a camera is for vision.
|
||||
*
|
||||
* $Id$
|
||||
*
|
||||
* ***** BEGIN GPL LICENSE BLOCK *****
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software Foundation,
|
||||
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
|
||||
* All rights reserved.
|
||||
*
|
||||
* The Original Code is: all of this file.
|
||||
*
|
||||
* Contributor(s): none yet.
|
||||
*
|
||||
* ***** END GPL LICENSE BLOCK *****
|
||||
*/
|
||||
|
||||
#ifndef __SND_SOUNDLISTENER_H
|
||||
#define __SND_SOUNDLISTENER_H
|
||||
|
||||
#include "SND_Object.h"
|
||||
|
||||
class SND_SoundListener : public SND_Object
|
||||
{
|
||||
public:
|
||||
SND_SoundListener();
|
||||
virtual ~SND_SoundListener();
|
||||
|
||||
void SetStateFlag(unsigned int stateflags);
|
||||
void SetGain(MT_Scalar gain);
|
||||
void SetPosition(const MT_Vector3& pos);
|
||||
void SetVelocity(const MT_Vector3& vel);
|
||||
void SetOrientation(const MT_Matrix3x3& ori);
|
||||
void SetDopplerFactor(MT_Scalar dopplerfactor);
|
||||
void SetDopplerVelocity(MT_Scalar dopplervelocity);
|
||||
void SetScale(MT_Scalar scale);
|
||||
|
||||
void SetModified(bool modified);
|
||||
bool IsModified() const;
|
||||
|
||||
unsigned int GetStateFlags() const;
|
||||
MT_Scalar GetGain() const;
|
||||
MT_Vector3 GetPosition() const;
|
||||
MT_Vector3 GetVelocity() const;
|
||||
MT_Matrix3x3 GetOrientation();
|
||||
|
||||
MT_Scalar GetDopplerFactor() const;
|
||||
MT_Scalar GetDopplerVelocity() const;
|
||||
MT_Scalar GetScale() const;
|
||||
|
||||
private:
|
||||
void* m_listener;
|
||||
bool m_modified;
|
||||
|
||||
MT_Scalar m_gain; /* overall gain */
|
||||
MT_Vector3 m_position; /* position; left/right, up/down, in/out */
|
||||
MT_Vector3 m_velocity; /* velocity of the listener */
|
||||
MT_Matrix3x3 m_orientation; /* orientation of the listener */
|
||||
|
||||
MT_Scalar m_dopplerfactor; /* scaling factor for the Doppler (pitch) shift */
|
||||
MT_Scalar m_dopplervelocity; /* factor for the reference velocity (for Dopplereffect) */
|
||||
MT_Scalar m_scale;
|
||||
};
|
||||
|
||||
#endif //__SND_SOUNDLISTENER_H
|
||||
|
|
@ -1,159 +0,0 @@
|
|||
/*
|
||||
* SND_SoundObject.h
|
||||
*
|
||||
* Implementation of the abstract sound object
|
||||
*
|
||||
* $Id$
|
||||
*
|
||||
* ***** BEGIN GPL LICENSE BLOCK *****
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software Foundation,
|
||||
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
|
||||
* All rights reserved.
|
||||
*
|
||||
* The Original Code is: all of this file.
|
||||
*
|
||||
* Contributor(s): none yet.
|
||||
*
|
||||
* ***** END GPL LICENSE BLOCK *****
|
||||
*/
|
||||
|
||||
#ifndef __SND_SOUNDOBJECT_H
|
||||
#define __SND_SOUNDOBJECT_H
|
||||
|
||||
#include "SND_Object.h"
|
||||
#include "STR_String.h"
|
||||
|
||||
/**
|
||||
* SND_SoundObject is a class for api independent sounddata storage conected to an actuator
|
||||
*/
|
||||
|
||||
class SND_SoundObject : public SND_Object
|
||||
{
|
||||
private:
|
||||
STR_String m_samplename; /* name of the sample */
|
||||
STR_String m_objectname; /* name of the object */
|
||||
unsigned int m_buffer;
|
||||
|
||||
bool m_active; /* is the object active or not? */
|
||||
int m_id;
|
||||
MT_Scalar m_lifespan; /* the lifespan of the sound seconds */
|
||||
MT_Scalar m_timestamp;
|
||||
|
||||
MT_Scalar m_length; /* length of the sample in seconds */
|
||||
|
||||
MT_Scalar m_gain; /* the gain of the object */
|
||||
MT_Scalar m_rollofffactor; /* the scaling factor to increase or decrease the range
|
||||
of a source by decreasing or increasing the
|
||||
attenuation, respectively */
|
||||
MT_Scalar m_referencedistance;/* the distance at which the listener will experience
|
||||
gain */
|
||||
MT_Scalar m_mingain; /* indicates the minimal gain which is always guaranteed
|
||||
for this source */
|
||||
MT_Scalar m_maxgain; /* indicates the maximal gain which is always guaranteed
|
||||
for this source */
|
||||
|
||||
MT_Scalar m_pitch; /* the pitch of the object */
|
||||
MT_Vector3 m_position; /* position; left/right, up/down, in/out */
|
||||
MT_Vector3 m_velocity; /* velocity of the object */
|
||||
MT_Matrix3x3 m_orientation; /* orientation of the object */
|
||||
unsigned int m_loopmode; /* loop normal or bidirectional? */
|
||||
unsigned int m_loopstart; /* start of looppoint in samples! */
|
||||
unsigned int m_loopend; /* end of looppoint in samples! */
|
||||
bool m_is3d; /* is the object 3D or 2D? */
|
||||
int m_playstate; /* flag for current state of object */
|
||||
bool m_modified;
|
||||
unsigned int m_running;
|
||||
bool m_highpriority; /* may the sound be ditched when we run out of voices? */
|
||||
|
||||
public:
|
||||
|
||||
SND_SoundObject();
|
||||
~SND_SoundObject();
|
||||
|
||||
void SetBuffer(unsigned int buffer);
|
||||
void SetActive(bool active);
|
||||
|
||||
void StartSound();
|
||||
void StopSound();
|
||||
void PauseSound();
|
||||
void DeleteWhenFinished();
|
||||
|
||||
void SetObjectName(STR_String objectname);
|
||||
void SetSampleName(STR_String samplename);
|
||||
void SetLength(MT_Scalar length);
|
||||
|
||||
void SetPitch(MT_Scalar pitch);
|
||||
void SetGain(MT_Scalar gain);
|
||||
void SetMinGain(MT_Scalar mingain);
|
||||
void SetMaxGain(MT_Scalar maxgain);
|
||||
void SetRollOffFactor(MT_Scalar rollofffactor);
|
||||
void SetReferenceDistance(MT_Scalar distance);
|
||||
void SetPosition(const MT_Vector3& pos);
|
||||
void SetVelocity(const MT_Vector3& vel);
|
||||
void SetOrientation(const MT_Matrix3x3& orient);
|
||||
void SetLoopMode(unsigned int loopmode);
|
||||
void SetLoopStart(unsigned int loopstart);
|
||||
void SetLoopEnd(unsigned int loopend);
|
||||
void Set3D(bool threedee);
|
||||
void SetPlaystate(int playstate);
|
||||
void SetHighPriority(bool priority);
|
||||
|
||||
void SetId(int id);
|
||||
void SetLifeSpan();
|
||||
void SetTimeStamp(MT_Scalar timestamp);
|
||||
|
||||
void SetModified(bool modified);
|
||||
|
||||
bool IsLifeSpanOver(MT_Scalar curtime) const;
|
||||
bool IsActive() const;
|
||||
bool IsModified() const;
|
||||
bool IsHighPriority() const;
|
||||
|
||||
void InitRunning();
|
||||
bool IsRunning() const;
|
||||
void AddRunning();
|
||||
|
||||
int GetId() const;
|
||||
MT_Scalar GetLifeSpan() const;
|
||||
MT_Scalar GetTimestamp() const;
|
||||
|
||||
unsigned int GetBuffer();
|
||||
const STR_String& GetSampleName();
|
||||
const STR_String& GetObjectName();
|
||||
|
||||
MT_Scalar GetLength() const;
|
||||
MT_Scalar GetGain() const;
|
||||
MT_Scalar GetPitch() const;
|
||||
|
||||
MT_Scalar GetMinGain() const;
|
||||
MT_Scalar GetMaxGain() const;
|
||||
MT_Scalar GetRollOffFactor() const;
|
||||
MT_Scalar GetReferenceDistance() const;
|
||||
|
||||
MT_Vector3 GetPosition() const;
|
||||
MT_Vector3 GetVelocity() const;
|
||||
MT_Matrix3x3 GetOrientation() const;
|
||||
unsigned int GetLoopMode() const;
|
||||
unsigned int GetLoopStart() const;
|
||||
unsigned int GetLoopEnd() const;
|
||||
bool Is3D() const;
|
||||
int GetPlaystate() const;
|
||||
|
||||
};
|
||||
|
||||
#endif //__SND_SOUNDOBJECT_H
|
||||
|
|
@ -1,111 +0,0 @@
|
|||
/**
|
||||
* $Id$
|
||||
*
|
||||
* ***** BEGIN GPL LICENSE BLOCK *****
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software Foundation,
|
||||
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
|
||||
* All rights reserved.
|
||||
*
|
||||
* The Original Code is: all of this file.
|
||||
*
|
||||
* Contributor(s): none yet.
|
||||
*
|
||||
* ***** END GPL LICENSE BLOCK *****
|
||||
*/
|
||||
#ifndef SND_UTILS_H
|
||||
#define SND_UTILS_H
|
||||
|
||||
#include "SND_WaveSlot.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
typedef struct
|
||||
{
|
||||
unsigned char riff[4];
|
||||
signed int size;
|
||||
unsigned char type[4];
|
||||
} WavFileHeader;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
unsigned short format;
|
||||
unsigned short numberofchannels;
|
||||
unsigned int samplerate;
|
||||
unsigned int bytespersec;
|
||||
unsigned short blockalignment;
|
||||
unsigned short bitrate;
|
||||
} WavFmtHeader;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
unsigned short size;
|
||||
unsigned short samplesperblock;
|
||||
} WavFmtExHeader;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
unsigned int Manufacturer;
|
||||
unsigned int Product;
|
||||
unsigned int SamplePeriod;
|
||||
unsigned int Note;
|
||||
unsigned int FineTune;
|
||||
unsigned int SMPTEFormat;
|
||||
unsigned int SMPTEOffest;
|
||||
unsigned int loops;
|
||||
unsigned int SamplerData;
|
||||
struct
|
||||
{
|
||||
unsigned int Identifier;
|
||||
unsigned int Type;
|
||||
unsigned int Start;
|
||||
unsigned int End;
|
||||
unsigned int Fraction;
|
||||
unsigned int Count;
|
||||
} Loop[1];
|
||||
} WavSampleHeader;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
unsigned char id[4];
|
||||
unsigned int size;
|
||||
} WavChunkHeader;
|
||||
|
||||
/**
|
||||
* loads a sample and returns a pointer
|
||||
*/
|
||||
extern void* SND_LoadSample(char *filename);
|
||||
|
||||
extern bool SND_IsSampleValid(const STR_String& name, void* memlocation);
|
||||
extern unsigned int SND_GetSampleFormat(void* sample);
|
||||
extern unsigned int SND_GetNumberOfChannels(void* sample);
|
||||
extern unsigned int SND_GetSampleRate(void* sample);
|
||||
extern unsigned int SND_GetBitRate(void* sample);
|
||||
extern unsigned int SND_GetNumberOfSamples(void* sample, unsigned int sample_length);
|
||||
extern unsigned int SND_GetHeaderSize(void* sample, unsigned int sample_length);
|
||||
extern unsigned int SND_GetExtraChunk(void* sample);
|
||||
|
||||
extern void SND_GetSampleInfo(signed char* sample, SND_WaveSlot* waveslot);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
|
@ -1,66 +0,0 @@
|
|||
/*
|
||||
* SND_WaveCache.h
|
||||
*
|
||||
* abstract wavecache, a way to organize samples
|
||||
*
|
||||
* $Id$
|
||||
*
|
||||
* ***** BEGIN GPL LICENSE BLOCK *****
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software Foundation,
|
||||
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
|
||||
* All rights reserved.
|
||||
*
|
||||
* The Original Code is: all of this file.
|
||||
*
|
||||
* Contributor(s): none yet.
|
||||
*
|
||||
* ***** END GPL LICENSE BLOCK *****
|
||||
*/
|
||||
|
||||
#ifdef WIN32
|
||||
#pragma warning (disable:4786) // get rid of stupid stl-visual compiler debug warning
|
||||
#endif //WIN32
|
||||
|
||||
#ifndef __SND_WAVECACHE_H
|
||||
#define __SND_WAVECACHE_H
|
||||
|
||||
#include "SND_WaveSlot.h"
|
||||
#include "SoundDefines.h"
|
||||
#include "SND_SoundObject.h"
|
||||
#include <map>
|
||||
|
||||
class SND_WaveCache
|
||||
{
|
||||
public:
|
||||
SND_WaveCache();
|
||||
virtual ~SND_WaveCache();
|
||||
|
||||
SND_WaveSlot* GetWaveSlot(const STR_String& samplename);
|
||||
|
||||
void RemoveAllSamples();
|
||||
void RemoveSample(const STR_String& samplename, int buffer);
|
||||
|
||||
private:
|
||||
std::map<STR_String, SND_WaveSlot*> m_samplecache;
|
||||
|
||||
SND_WaveSlot* m_bufferList[NUM_BUFFERS];
|
||||
|
||||
void FreeSamples();
|
||||
};
|
||||
|
||||
#endif //__SND_WAVECACHE_H
|
||||
|
|
@ -1,92 +0,0 @@
|
|||
/*
|
||||
* SND_WaveSlot.cpp
|
||||
*
|
||||
* class for storing sample related information
|
||||
*
|
||||
* $Id$
|
||||
*
|
||||
* ***** BEGIN GPL LICENSE BLOCK *****
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software Foundation,
|
||||
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
|
||||
* All rights reserved.
|
||||
*
|
||||
* The Original Code is: all of this file.
|
||||
*
|
||||
* Contributor(s): none yet.
|
||||
*
|
||||
* ***** END GPL LICENSE BLOCK *****
|
||||
*/
|
||||
|
||||
#ifndef __SND_WAVESLOT_H
|
||||
#define __SND_WAVESLOT_H
|
||||
|
||||
#include "STR_String.h"
|
||||
|
||||
class SND_WaveSlot
|
||||
{
|
||||
STR_String m_samplename;
|
||||
bool m_loaded;
|
||||
void* m_data;
|
||||
unsigned int m_buffer;
|
||||
unsigned int m_sampleformat;
|
||||
unsigned int m_numberofchannels;
|
||||
unsigned int m_samplerate;
|
||||
unsigned int m_bitrate;
|
||||
unsigned int m_numberofsamples;
|
||||
unsigned int m_filesize;
|
||||
|
||||
public:
|
||||
|
||||
SND_WaveSlot(): m_loaded(false),
|
||||
m_data(NULL),
|
||||
m_buffer(0),
|
||||
m_sampleformat(0),
|
||||
m_numberofchannels(0),
|
||||
m_samplerate(0),
|
||||
m_bitrate(0),
|
||||
m_numberofsamples(0),
|
||||
m_filesize(0)
|
||||
{};
|
||||
~SND_WaveSlot();
|
||||
|
||||
void SetSampleName(STR_String samplename);
|
||||
void SetLoaded(bool loaded);
|
||||
void SetData(void* data);
|
||||
void SetBuffer(unsigned int buffer);
|
||||
void SetSampleFormat(unsigned int sampleformat);
|
||||
void SetNumberOfChannels(unsigned int numberofchannels);
|
||||
void SetSampleRate(unsigned int samplerate);
|
||||
void SetBitRate(unsigned int bitrate);
|
||||
void SetNumberOfSamples(unsigned int numberofsamples);
|
||||
void SetFileSize(unsigned int filesize);
|
||||
|
||||
|
||||
const STR_String& GetSampleName();
|
||||
bool IsLoaded() const;
|
||||
void* GetData();
|
||||
unsigned int GetBuffer() const;
|
||||
unsigned int GetSampleFormat() const;
|
||||
unsigned int GetNumberOfChannels() const;
|
||||
unsigned int GetSampleRate() const;
|
||||
unsigned int GetBitRate() const;
|
||||
unsigned int GetNumberOfSamples() const;
|
||||
unsigned int GetFileSize() const;
|
||||
|
||||
};
|
||||
|
||||
#endif //__SND_WAVESLOT_H
|
||||
|
|
@ -1,48 +0,0 @@
|
|||
#
|
||||
# $Id$
|
||||
#
|
||||
# ***** BEGIN GPL LICENSE BLOCK *****
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU General Public License
|
||||
# as published by the Free Software Foundation; either version 2
|
||||
# of the License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software Foundation,
|
||||
# Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
#
|
||||
# The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
|
||||
# All rights reserved.
|
||||
#
|
||||
# The Original Code is: all of this file.
|
||||
#
|
||||
# Contributor(s): none yet.
|
||||
#
|
||||
# ***** END GPL LICENSE BLOCK *****
|
||||
#
|
||||
#
|
||||
|
||||
LIBNAME = soundsystem
|
||||
DIR = $(OCGDIR)/intern/SoundSystem
|
||||
ALLTARGETS = $(OBJS) $(DIR)/$(DEBUG_DIR)SoundSystem
|
||||
|
||||
include nan_compile.mk
|
||||
|
||||
CPPFLAGS += $(NAN_LEVEL_1_WARNINGS)
|
||||
|
||||
CPPFLAGS += -I$(NAN_MOTO)/include
|
||||
CPPFLAGS += -I.. -I../SND_BlenderWaveCache -I../SND_OpenAL
|
||||
|
||||
TESTLIB = $(OCGDIR)/gameengine/OpenALSoundSystem/$(DEBUG_DIR)libOpenALSoundSystem.a
|
||||
TESTLIB += $(OCGDIR)/gameengine/BlenderWaveCache/$(DEBUG_DIR)libBlenderWaveCache.a
|
||||
TESTLIB += $(OCGDIR)/intern/SoundSystem/$(DEBUG_DIR)libsoundsystem.a
|
||||
TESTLIB += $(NAN_OPENAL)/lib/libopenal.a
|
||||
|
||||
$(DIR)/$(DEBUG_DIR)SoundSystem: $(OBJS) $(TESTLIB)
|
||||
$(CC) $(LDFLAGS) -o $@ $(OBJS) $(TESTLIB) -lm -pthread -ldl -lstdc++
|
|
@ -1,154 +0,0 @@
|
|||
/* SND_test.c nov 2000
|
||||
*
|
||||
* testfile for the SND module
|
||||
*
|
||||
* janco verduin
|
||||
*
|
||||
* $Id$
|
||||
*
|
||||
* ***** BEGIN GPL LICENSE BLOCK *****
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software Foundation,
|
||||
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
|
||||
* All rights reserved.
|
||||
*
|
||||
* The Original Code is: all of this file.
|
||||
*
|
||||
* Contributor(s): none yet.
|
||||
*
|
||||
* ***** END GPL LICENSE BLOCK *****
|
||||
*/
|
||||
|
||||
#include "SND_C-api.h"
|
||||
#include "BlenderWaveCacheCApi.h"
|
||||
#include "OpenALC-Api.h"
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include <config.h>
|
||||
#endif
|
||||
|
||||
#if defined(WIN32)
|
||||
#include <io.h>
|
||||
#else
|
||||
#include <unistd.h>
|
||||
#endif
|
||||
#include <fcntl.h>
|
||||
|
||||
static int buf[3];
|
||||
|
||||
float oPos[3]={3.0, 0.0,-1.0};
|
||||
float oVel[3]={0.0, 0.0, 1.0};
|
||||
float oOri[6]={0.0, 0.0, 1.0, 0.0, 1.0, 0.0};
|
||||
|
||||
void* ReadFile(char *filename)
|
||||
{
|
||||
int file, filelen;
|
||||
void *data = NULL;
|
||||
|
||||
#if defined(WIN32)
|
||||
file = open(filename, O_BINARY|O_RDONLY);
|
||||
#else
|
||||
file = open(filename, 0|O_RDONLY);
|
||||
#endif
|
||||
|
||||
if (file == -1) {
|
||||
printf("can't open file.\n");
|
||||
printf("press q for quit.\n");
|
||||
|
||||
}
|
||||
else {
|
||||
filelen = lseek(file, 0, SEEK_END);
|
||||
lseek(file, 0, SEEK_SET);
|
||||
|
||||
if (filelen != 0){
|
||||
data = malloc(filelen);
|
||||
if (read(file, data, filelen) != filelen) {
|
||||
free(data);
|
||||
data = NULL;
|
||||
}
|
||||
}
|
||||
close(file);
|
||||
|
||||
}
|
||||
return (data);
|
||||
}
|
||||
|
||||
int main(int argc, char* argv[])
|
||||
{
|
||||
int ch;
|
||||
char* samplename = NULL;
|
||||
void* sampleinmemory = NULL;
|
||||
SND_CacheHandle wavecache = NULL;
|
||||
SND_SceneHandle scene = NULL;
|
||||
SND_ObjectHandle object = NULL;
|
||||
|
||||
wavecache = SND_GetWaveCache();
|
||||
scene = SND_CreateOpenALScene(wavecache);
|
||||
|
||||
samplename = "2.wav";
|
||||
sampleinmemory = ReadFile(samplename);
|
||||
|
||||
if (sampleinmemory) {
|
||||
|
||||
object = SND_CreateObject();
|
||||
SND_AddMemoryLocation(samplename, sampleinmemory);
|
||||
SND_SetSampleName(object, samplename);
|
||||
SND_AddObject(scene, object);
|
||||
printf("go your gang...\n");
|
||||
printf("1: play\n");
|
||||
printf("2: stop\n");
|
||||
printf("q: quit\n");
|
||||
}
|
||||
do
|
||||
{
|
||||
ch = getchar();
|
||||
ch = toupper(ch);
|
||||
switch (ch)
|
||||
{
|
||||
case '1':
|
||||
{
|
||||
SND_SetPitch(object, 1.0);
|
||||
SND_SetGain(object, 1.0);
|
||||
SND_StartSound(object);
|
||||
break;
|
||||
}
|
||||
case '2':
|
||||
{
|
||||
SND_StopSound(object);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
SND_Proceed(scene);
|
||||
|
||||
} while (ch != 'Q');
|
||||
|
||||
if (object) {
|
||||
|
||||
SND_RemoveObject(scene, object);
|
||||
SND_DeleteObject(object);
|
||||
}
|
||||
|
||||
SND_DeleteScene(scene);
|
||||
SND_DeleteCache();
|
||||
|
||||
return 0;
|
||||
|
||||
}
|
|
@ -1,107 +0,0 @@
|
|||
/*
|
||||
* SoundDefines.h
|
||||
*
|
||||
* this is where all kinds of defines are stored
|
||||
*
|
||||
* $Id$
|
||||
*
|
||||
* ***** BEGIN GPL LICENSE BLOCK *****
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software Foundation,
|
||||
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
|
||||
* All rights reserved.
|
||||
*
|
||||
* The Original Code is: all of this file.
|
||||
*
|
||||
* Contributor(s): none yet.
|
||||
*
|
||||
* ***** END GPL LICENSE BLOCK *****
|
||||
*/
|
||||
|
||||
#ifndef __SOUNDDEFINES_H
|
||||
#define __SOUNDDEFINES_H
|
||||
|
||||
/* the types of devices */
|
||||
enum
|
||||
{
|
||||
snd_e_dummydevice = 0,
|
||||
snd_e_openaldevice
|
||||
};
|
||||
|
||||
/* general stuff */
|
||||
#define NUM_BUFFERS 128
|
||||
#define NUM_SOURCES 24 /* 24 is the limit for openal on windows, was 16 in 2.47 and previous */
|
||||
|
||||
/* openal related stuff */
|
||||
#define AL_LOOPING 0x1007
|
||||
|
||||
/* activelist defines */
|
||||
enum
|
||||
{
|
||||
SND_REMOVE_ACTIVE_OBJECT = 0,
|
||||
SND_ADD_ACTIVE_OBJECT,
|
||||
SND_DO_NOTHING
|
||||
};
|
||||
|
||||
/* playstate flags */
|
||||
enum
|
||||
{
|
||||
SND_UNKNOWN = -1,
|
||||
SND_INITIAL,
|
||||
SND_MUST_PLAY,
|
||||
SND_PLAYING,
|
||||
SND_MUST_STOP,
|
||||
SND_STOPPED,
|
||||
SND_MUST_PAUSE,
|
||||
SND_PAUSED,
|
||||
SND_MUST_RESUME,
|
||||
SND_MUST_STOP_WHEN_FINISHED,
|
||||
SND_MUST_BE_DELETED
|
||||
};
|
||||
|
||||
/* loopmodes */
|
||||
enum
|
||||
{
|
||||
SND_LOOP_OFF = 0,
|
||||
SND_LOOP_NORMAL,
|
||||
SND_LOOP_BIDIRECTIONAL
|
||||
};
|
||||
|
||||
|
||||
/* cd playstate flags */
|
||||
enum
|
||||
{
|
||||
SND_CD_ALL = 0,
|
||||
SND_CD_TRACK,
|
||||
SND_CD_TRACKLOOP
|
||||
};
|
||||
|
||||
/* sample types */
|
||||
enum
|
||||
{
|
||||
SND_WAVE_FORMAT_UNKNOWN = 0,
|
||||
SND_WAVE_FORMAT_PCM,
|
||||
SND_WAVE_FORMAT_ADPCM,
|
||||
SND_WAVE_FORMAT_ALAW = 6,
|
||||
SND_WAVE_FORMAT_MULAW,
|
||||
SND_WAVE_FORMAT_DIALOGIC_OKI_ADPCM = 17,
|
||||
SND_WAVE_FORMAT_CONTROL_RES_VQLPC = 34,
|
||||
SND_WAVE_FORMAT_GSM_610 = 49,
|
||||
SND_WAVE_FORMAT_MPEG3 = 85
|
||||
};
|
||||
|
||||
#endif //__SOUNDDEFINES_H
|
||||
|
|
@ -1,42 +0,0 @@
|
|||
#
|
||||
# $Id$
|
||||
#
|
||||
# ***** BEGIN GPL LICENSE BLOCK *****
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU General Public License
|
||||
# as published by the Free Software Foundation; either version 2
|
||||
# of the License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software Foundation,
|
||||
# Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
#
|
||||
# The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
|
||||
# All rights reserved.
|
||||
#
|
||||
# The Original Code is: all of this file.
|
||||
#
|
||||
# Contributor(s): none yet.
|
||||
#
|
||||
# ***** END GPL LICENSE BLOCK *****
|
||||
#
|
||||
#
|
||||
|
||||
LIBNAME = DummySoundSystem
|
||||
DIR = $(OCGDIR)/intern/$(LIBNAME)
|
||||
|
||||
include nan_compile.mk
|
||||
|
||||
CCFLAGS += $(LEVEL_1_CPP_WARNINGS)
|
||||
|
||||
CPPFLAGS += -I$(NAN_STRING)/include
|
||||
CPPFLAGS += -I$(NAN_MOTO)/include
|
||||
CPPFLAGS += -I../intern
|
||||
CPPFLAGS += -I..
|
||||
CPPFLAGS += -I.
|
|
@ -1,52 +0,0 @@
|
|||
/*
|
||||
* $Id$
|
||||
*
|
||||
* ***** BEGIN GPL LICENSE BLOCK *****
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software Foundation,
|
||||
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
|
||||
* All rights reserved.
|
||||
*
|
||||
* The Original Code is: all of this file.
|
||||
*
|
||||
* Contributor(s): none yet.
|
||||
*
|
||||
* ***** END GPL LICENSE BLOCK *****
|
||||
* SND_DummyDevice derived from SND_IAudioDevice
|
||||
*/
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include <config.h>
|
||||
#endif
|
||||
|
||||
#ifdef WIN32
|
||||
#pragma warning (disable:4786) // get rid of stupid stl-visual compiler debug warning
|
||||
#endif //WIN32
|
||||
|
||||
#include "SND_DummyDevice.h"
|
||||
|
||||
SND_DummyDevice::SND_DummyDevice()
|
||||
{
|
||||
}
|
||||
|
||||
SND_DummyDevice::~SND_DummyDevice()
|
||||
{
|
||||
#ifdef ONTKEVER
|
||||
printf("SND_DummyDevice destructor");
|
||||
#endif
|
||||
}
|
||||
|
||||
|
|
@ -1,93 +0,0 @@
|
|||
/**
|
||||
* $Id$
|
||||
*
|
||||
* ***** BEGIN GPL LICENSE BLOCK *****
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software Foundation,
|
||||
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
|
||||
* All rights reserved.
|
||||
*
|
||||
* The Original Code is: all of this file.
|
||||
*
|
||||
* Contributor(s): none yet.
|
||||
*
|
||||
* ***** END GPL LICENSE BLOCK *****
|
||||
*/
|
||||
#ifndef SND_DUMMYDEVICE
|
||||
#define SND_DUMMYDEVICE
|
||||
|
||||
#include "SND_AudioDevice.h"
|
||||
|
||||
class SND_DummyDevice : public SND_AudioDevice
|
||||
{
|
||||
public:
|
||||
SND_DummyDevice();
|
||||
~SND_DummyDevice();
|
||||
|
||||
bool Init() { return false; }
|
||||
|
||||
SND_WaveSlot* LoadSample(const STR_String& samplename,
|
||||
void* memlocation,
|
||||
int size) { return NULL; }
|
||||
|
||||
void InitListener() {};
|
||||
void SetListenerGain(float gain) const {};
|
||||
void SetDopplerVelocity(MT_Scalar dopplervelocity) const {};
|
||||
void SetDopplerFactor(MT_Scalar dopplerfactor) const {};
|
||||
void SetListenerRollOffFactor(MT_Scalar rollofffactor) const {};
|
||||
|
||||
void MakeCurrent() const {};
|
||||
|
||||
void NextFrame() const {};
|
||||
|
||||
void SetObjectBuffer(int id, unsigned int buffer) {};
|
||||
|
||||
int GetPlayState(int id) { return SND_UNKNOWN; }
|
||||
void PlayObject(int id) {};
|
||||
void StopObject(int id) const {};
|
||||
void StopAllObjects() {};
|
||||
void PauseObject(int id) const {};
|
||||
|
||||
void SetObjectLoop(int id, unsigned int loopmode) const {};
|
||||
void SetObjectLoopPoints(int id, unsigned int loopstart, unsigned int loopend) const {};
|
||||
void SetObjectPitch(int id, MT_Scalar pitch) const {};
|
||||
void SetObjectGain(int id, MT_Scalar gain) const {};
|
||||
void SetObjectMinGain(int id, MT_Scalar mingain) const {};
|
||||
void SetObjectMaxGain(int id, MT_Scalar maxgain) const {};
|
||||
void SetObjectRollOffFactor(int id, MT_Scalar rolloff) const {};
|
||||
void SetObjectReferenceDistance(int id, MT_Scalar distance) const {};
|
||||
|
||||
void SetObjectTransform(int id,
|
||||
const MT_Vector3& position,
|
||||
const MT_Vector3& velocity,
|
||||
const MT_Matrix3x3& orientation,
|
||||
const MT_Vector3& lisposition,
|
||||
const MT_Scalar& rollofffactor) const {};
|
||||
void ObjectIs2D(int id) const {};
|
||||
|
||||
void PlayCD(int track) const {};
|
||||
void PauseCD(bool pause) const {};
|
||||
void StopCD() const {};
|
||||
void SetCDPlaymode(int playmode) const {};
|
||||
void SetCDGain(MT_Scalar gain) const {};
|
||||
|
||||
void StartUsingDSP() {};
|
||||
float* GetSpectrum() { return NULL; }
|
||||
void StopUsingDSP() {};
|
||||
};
|
||||
|
||||
#endif //SND_DUMMYDEVICE
|
||||
|
|
@ -1,44 +0,0 @@
|
|||
#
|
||||
# $Id$
|
||||
#
|
||||
# ***** BEGIN GPL LICENSE BLOCK *****
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU General Public License
|
||||
# as published by the Free Software Foundation; either version 2
|
||||
# of the License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software Foundation,
|
||||
# Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
#
|
||||
# The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
|
||||
# All rights reserved.
|
||||
#
|
||||
# The Original Code is: all of this file.
|
||||
#
|
||||
# Contributor(s): none yet.
|
||||
#
|
||||
# ***** END GPL LICENSE BLOCK *****
|
||||
#
|
||||
#
|
||||
|
||||
LIBNAME = SoundSystem
|
||||
DIR = $(OCGDIR)/intern/SoundSystem
|
||||
|
||||
include nan_compile.mk
|
||||
|
||||
CCFLAGS += $(LEVEL_1_CPP_WARNINGS)
|
||||
|
||||
CPPFLAGS += -I$(NAN_STRING)/include
|
||||
CPPFLAGS += -I$(NAN_MOTO)/include
|
||||
CPPFLAGS += -I../../../source/blender/include
|
||||
CPPFLAGS += -I../dummy
|
||||
CPPFLAGS += -I../openal
|
||||
CPPFLAGS += -I..
|
||||
CPPFLAGS += -I.
|
|
@ -1,242 +0,0 @@
|
|||
/**
|
||||
* $Id$
|
||||
* ***** BEGIN GPL LICENSE BLOCK *****
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software Foundation,
|
||||
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
|
||||
* All rights reserved.
|
||||
*
|
||||
* The Original Code is: all of this file.
|
||||
*
|
||||
* Contributor(s): none yet.
|
||||
*
|
||||
* ***** END GPL LICENSE BLOCK *****
|
||||
*/
|
||||
|
||||
#include "SND_AudioDevice.h"
|
||||
#include "SND_SoundObject.h"
|
||||
|
||||
#ifdef WIN32
|
||||
// This warning tells us about truncation of __long__ stl-generated names.
|
||||
// It can occasionally cause DevStudio to have internal compiler warnings.
|
||||
#pragma warning( disable : 4786 )
|
||||
#endif
|
||||
|
||||
|
||||
SND_AudioDevice::SND_AudioDevice()
|
||||
{
|
||||
m_wavecache = NULL;
|
||||
m_audio = false;
|
||||
|
||||
for (int i = 0; i < NUM_SOURCES; i++)
|
||||
{
|
||||
m_idObjectArray[i] = new SND_IdObject();
|
||||
m_idObjectArray[i]->SetId(i);
|
||||
m_idObjectArray[i]->SetSoundObject(NULL);
|
||||
m_idObjectList.addTail(m_idObjectArray[i]);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
SND_AudioDevice::~SND_AudioDevice()
|
||||
{
|
||||
for (int i = 0; i < NUM_SOURCES; i++)
|
||||
{
|
||||
delete m_idObjectArray[i];
|
||||
m_idObjectArray[i] = NULL;
|
||||
}
|
||||
|
||||
if (m_wavecache)
|
||||
{
|
||||
delete m_wavecache;
|
||||
m_wavecache = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
bool SND_AudioDevice::IsInitialized()
|
||||
{
|
||||
return m_audio;
|
||||
}
|
||||
|
||||
|
||||
|
||||
SND_WaveCache* SND_AudioDevice::GetWaveCache() const
|
||||
{
|
||||
return m_wavecache;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* seeks an unused id and returns it */
|
||||
bool SND_AudioDevice::GetNewId(SND_SoundObject* pObject)
|
||||
{
|
||||
#ifdef ONTKEVER
|
||||
printf("SND_AudioDevice::GetNewId\n");
|
||||
#endif
|
||||
|
||||
bool result = false;
|
||||
|
||||
// first, get the oldest (the first) idobject
|
||||
SND_IdObject* pIdObject = (SND_IdObject*)m_idObjectList.getHead();
|
||||
|
||||
if (pIdObject->isTail())
|
||||
{
|
||||
}
|
||||
else
|
||||
{
|
||||
// find the first id object which doesn't have a high priority soundobject
|
||||
bool ThisSoundMustStay = false;
|
||||
bool OutOfIds = false;
|
||||
|
||||
do
|
||||
{
|
||||
// if no soundobject present, it's seat may be taken
|
||||
if (pIdObject->GetSoundObject())
|
||||
{
|
||||
// and also if it ain't highprio
|
||||
if (pIdObject->GetSoundObject()->IsHighPriority())
|
||||
{
|
||||
ThisSoundMustStay = true;
|
||||
pIdObject = (SND_IdObject*)pIdObject->getNext();
|
||||
|
||||
// if the last one is a priority sound too, then there are no id's left
|
||||
// and we won't add any new sounds
|
||||
if (pIdObject->isTail())
|
||||
OutOfIds = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
ThisSoundMustStay = false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
ThisSoundMustStay = false;
|
||||
}
|
||||
|
||||
} while (ThisSoundMustStay && !OutOfIds);
|
||||
|
||||
if (!OutOfIds)
|
||||
{
|
||||
SND_SoundObject* oldobject = pIdObject->GetSoundObject();
|
||||
|
||||
// revoke the old object if present
|
||||
if (oldobject)
|
||||
{
|
||||
#ifdef ONTKEVER
|
||||
printf("oldobject: %x\n", oldobject);
|
||||
#endif
|
||||
RevokeSoundObject(oldobject);
|
||||
}
|
||||
|
||||
// set the new soundobject into the idobject
|
||||
pIdObject->SetSoundObject(pObject);
|
||||
|
||||
// set the id into the soundobject
|
||||
int id = pIdObject->GetId();
|
||||
pObject->SetId(id);
|
||||
|
||||
// connect the new id to the buffer the sample is stored in
|
||||
SetObjectBuffer(id, pObject->GetBuffer());
|
||||
|
||||
// remove the idobject from the list and add it in the back again
|
||||
pIdObject->remove();
|
||||
m_idObjectList.addTail(pIdObject);
|
||||
|
||||
result = true;
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void SND_AudioDevice::ClearId(SND_SoundObject* pObject)
|
||||
{
|
||||
#ifdef ONTKEVER
|
||||
printf("SND_AudioDevice::ClearId\n");
|
||||
#endif
|
||||
|
||||
if (pObject)
|
||||
{
|
||||
int id = pObject->GetId();
|
||||
|
||||
if (id != -1)
|
||||
{
|
||||
// lets get the idobject belonging to the soundobject
|
||||
SND_IdObject* pIdObject = m_idObjectArray[id];
|
||||
SND_SoundObject* oldobject = pIdObject->GetSoundObject();
|
||||
|
||||
if (oldobject)
|
||||
{
|
||||
RevokeSoundObject(oldobject);
|
||||
|
||||
// clear the idobject from the soundobject
|
||||
pIdObject->SetSoundObject(NULL);
|
||||
}
|
||||
|
||||
// remove the idobject and place it in front
|
||||
pIdObject->remove();
|
||||
m_idObjectList.addHead(pIdObject);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
void SND_AudioDevice::RevokeSoundObject(SND_SoundObject* pObject)
|
||||
{
|
||||
#ifdef ONTKEVER
|
||||
printf("SND_AudioDevice::RevokeSoundObject\n");
|
||||
#endif
|
||||
|
||||
// stop the soundobject
|
||||
int id = pObject->GetId();
|
||||
|
||||
if (id >= 0 && id < NUM_SOURCES)
|
||||
{
|
||||
StopObject(id);
|
||||
|
||||
// remove the object from the 'activelist'
|
||||
pObject->SetActive(false);
|
||||
|
||||
#ifdef ONTKEVER
|
||||
printf("pObject->remove();\n");
|
||||
#endif
|
||||
}
|
||||
|
||||
// make sure its id is invalid
|
||||
pObject->SetId(-1);
|
||||
}
|
||||
|
||||
/*
|
||||
void SND_AudioDevice::RemoveSample(const char* filename)
|
||||
{
|
||||
if (m_wavecache)
|
||||
m_wavecache->RemoveSample(filename);
|
||||
}
|
||||
*/
|
||||
|
||||
void SND_AudioDevice::RemoveAllSamples()
|
||||
{
|
||||
if (m_wavecache)
|
||||
m_wavecache->RemoveAllSamples();
|
||||
}
|
||||
|
|
@ -1,115 +0,0 @@
|
|||
/**
|
||||
* $Id$
|
||||
*
|
||||
* ***** BEGIN GPL LICENSE BLOCK *****
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software Foundation,
|
||||
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
|
||||
* All rights reserved.
|
||||
*
|
||||
* The Original Code is: all of this file.
|
||||
*
|
||||
* Contributor(s): none yet.
|
||||
*
|
||||
* ***** END GPL LICENSE BLOCK *****
|
||||
*/
|
||||
#ifndef SND_AUDIODEVICE
|
||||
#define SND_AUDIODEVICE
|
||||
|
||||
#include "SND_IAudioDevice.h"
|
||||
#include "SoundDefines.h"
|
||||
#include "SND_IdObject.h"
|
||||
|
||||
class SND_AudioDevice : public SND_IAudioDevice
|
||||
{
|
||||
public:
|
||||
SND_AudioDevice();
|
||||
virtual ~SND_AudioDevice();
|
||||
|
||||
virtual bool IsInitialized();
|
||||
|
||||
SND_WaveCache* GetWaveCache() const;
|
||||
|
||||
bool GetNewId(SND_SoundObject* pObject);
|
||||
void ClearId(SND_SoundObject* pObject);
|
||||
|
||||
void UseCD() const {};
|
||||
|
||||
/* to be implemented in derived class
|
||||
|
||||
virtual SND_WaveSlot* LoadSample(const STR_String& samplename,
|
||||
void* memlocation,
|
||||
int size) =0;
|
||||
*/
|
||||
// void RemoveSample(const char* filename);
|
||||
void RemoveAllSamples();
|
||||
|
||||
/* to be implemented in derived class
|
||||
|
||||
virtual void InitListener()=0;
|
||||
virtual void SetListenerGain(float gain) const =0;
|
||||
virtual void SetDopplerVelocity(MT_Scalar dopplervelocity) const =0;
|
||||
virtual void SetDopplerFactor(MT_Scalar dopplerfactor) const =0;
|
||||
virtual void SetListenerRollOffFactor(MT_Scalar rollofffactor) const =0;
|
||||
|
||||
virtual void MakeCurrent() const =0;
|
||||
|
||||
virtual void UpdateDevice() const =0;
|
||||
|
||||
virtual void SetObjectBuffer(int id, unsigned int buffer)=0;
|
||||
virtual int GetPlayState(int id)=0;
|
||||
virtual void PlayObject(int id)=0;
|
||||
virtual void StopObject(int id) const =0;
|
||||
virtual void StopAllObjects()=0;
|
||||
virtual void PauseObject(int id) const =0;
|
||||
|
||||
virtual void SetObjectLoop(int id, bool loop) const =0;
|
||||
virtual void SetObjectLoopPoints(int id, unsigned int loopstart, unsigned int loopend) const =0;
|
||||
virtual void SetObjectPitch(int id, MT_Scalar pitch) const =0;
|
||||
virtual void SetObjectGain(int id, MT_Scalar gain) const =0;
|
||||
virtual void SetObjectRollOffFactor(int id, MT_Scalar rolloff) const =0;
|
||||
virtual void SetObjectMinGain(int id, MT_Scalar mingain) const =0;
|
||||
virtual void SetObjectMaxGain(int id, MT_Scalar maxgain) const =0;
|
||||
virtual void SetObjectReferenceDistance(int id, MT_Scalar referencedistance) const =0;
|
||||
|
||||
virtual void SetObjectTransform(int id,
|
||||
const MT_Vector3& position,
|
||||
const MT_Vector3& velocity,
|
||||
const MT_Matrix3x3& orientation,
|
||||
const MT_Vector3& lisposition,
|
||||
const MT_Scalar& rollofffactor) const =0;
|
||||
virtual void ObjectIs2D(int id) const =0;
|
||||
|
||||
virtual void PlayCD(int track) const =0;
|
||||
virtual void PauseCD(bool pause) const =0;
|
||||
virtual void StopCD() const =0;
|
||||
virtual void SetCDPlaymode(int playmode) const =0;
|
||||
virtual void SetCDGain(MT_Scalar gain) const =0;
|
||||
virtual float* GetSpectrum() =0;
|
||||
*/
|
||||
|
||||
protected:
|
||||
bool m_audio;
|
||||
GEN_List m_idObjectList;
|
||||
SND_IdObject* m_idObjectArray[NUM_SOURCES];
|
||||
SND_WaveCache* m_wavecache;
|
||||
|
||||
private:
|
||||
void RevokeSoundObject(SND_SoundObject* pObject);
|
||||
};
|
||||
|
||||
#endif //SND_AUDIODEVICE
|
||||
|
|
@ -1,392 +0,0 @@
|
|||
/*
|
||||
* SND_C-Api.cpp
|
||||
*
|
||||
* C Api for soundmodule
|
||||
*
|
||||
* $Id$
|
||||
*
|
||||
* ***** BEGIN GPL LICENSE BLOCK *****
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software Foundation,
|
||||
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
|
||||
* All rights reserved.
|
||||
*
|
||||
* The Original Code is: all of this file.
|
||||
*
|
||||
* Contributor(s): none yet.
|
||||
*
|
||||
* ***** END GPL LICENSE BLOCK *****
|
||||
*/
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include <config.h>
|
||||
#endif
|
||||
|
||||
#include "SND_C-api.h"
|
||||
#include "SND_DeviceManager.h"
|
||||
#include "SND_Scene.h"
|
||||
|
||||
#ifdef WIN32
|
||||
#pragma warning (disable:4786) // get rid of stupid stl-visual compiler debug warning
|
||||
#endif //WIN32
|
||||
|
||||
|
||||
|
||||
void SND_SetDeviceType(int device_type)
|
||||
{
|
||||
SND_DeviceManager::SetDeviceType(device_type);
|
||||
}
|
||||
|
||||
|
||||
|
||||
SND_AudioDeviceInterfaceHandle SND_GetAudioDevice()
|
||||
{
|
||||
SND_IAudioDevice* audiodevice = NULL;
|
||||
|
||||
SND_DeviceManager::Subscribe();
|
||||
audiodevice = SND_DeviceManager::Instance();
|
||||
|
||||
if (!audiodevice->IsInitialized())
|
||||
{
|
||||
SND_DeviceManager::SetDeviceType(snd_e_dummydevice);
|
||||
audiodevice = SND_DeviceManager::Instance();
|
||||
}
|
||||
|
||||
return (SND_AudioDeviceInterfaceHandle)audiodevice;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void SND_ReleaseDevice()
|
||||
{
|
||||
SND_DeviceManager::Unsubscribe();
|
||||
}
|
||||
|
||||
|
||||
|
||||
int SND_IsPlaybackWanted(SND_SceneHandle scene)
|
||||
{
|
||||
assert(scene);
|
||||
bool result = ((SND_Scene*)scene)->IsPlaybackWanted();
|
||||
|
||||
return (int)result;
|
||||
}
|
||||
|
||||
|
||||
|
||||
// create a scene
|
||||
SND_SceneHandle SND_CreateScene(SND_AudioDeviceInterfaceHandle audiodevice)
|
||||
{
|
||||
// initialize sound scene and object
|
||||
SND_Scene* scene = new SND_Scene((SND_IAudioDevice*)audiodevice);
|
||||
|
||||
return (SND_SceneHandle)scene;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void SND_DeleteScene(SND_SceneHandle scene)
|
||||
{
|
||||
assert(scene);
|
||||
delete (SND_Scene*)scene;
|
||||
}
|
||||
|
||||
|
||||
|
||||
int SND_AddSample(SND_SceneHandle scene,
|
||||
const char* filename,
|
||||
void* memlocation,
|
||||
int size)
|
||||
{
|
||||
assert(scene);
|
||||
assert(memlocation);
|
||||
int buffer = ((SND_Scene*)scene)->LoadSample(filename, memlocation, size);
|
||||
|
||||
return buffer;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void SND_RemoveAllSamples(SND_SceneHandle scene)
|
||||
{
|
||||
assert(scene);
|
||||
((SND_Scene*)scene)->RemoveAllSamples();
|
||||
}
|
||||
|
||||
|
||||
|
||||
int SND_CheckBuffer(SND_SceneHandle scene, SND_ObjectHandle object)
|
||||
{
|
||||
assert(scene);
|
||||
assert(object);
|
||||
int result = (int)((SND_Scene*)scene)->CheckBuffer((SND_SoundObject*)object);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void SND_AddSound(SND_SceneHandle scene, SND_ObjectHandle object)
|
||||
{
|
||||
assert(scene);
|
||||
assert(object);
|
||||
((SND_Scene*)scene)->AddObject((SND_SoundObject *)object);
|
||||
}
|
||||
|
||||
|
||||
|
||||
void SND_RemoveSound(SND_SceneHandle scene, SND_ObjectHandle object)
|
||||
{
|
||||
assert(scene);
|
||||
assert(object);
|
||||
((SND_Scene*)scene)->DeleteObject((SND_SoundObject *)object);
|
||||
}
|
||||
|
||||
|
||||
|
||||
void SND_RemoveAllSounds(SND_SceneHandle scene)
|
||||
{
|
||||
assert(scene);
|
||||
((SND_Scene*)scene)->RemoveAllObjects();
|
||||
}
|
||||
|
||||
|
||||
|
||||
void SND_StopAllSounds(SND_SceneHandle scene)
|
||||
{
|
||||
assert(scene);
|
||||
((SND_Scene*)scene)->StopAllObjects();
|
||||
}
|
||||
|
||||
|
||||
|
||||
void SND_Proceed(SND_AudioDeviceInterfaceHandle audiodevice, SND_SceneHandle scene)
|
||||
{
|
||||
assert(scene);
|
||||
((SND_Scene*)scene)->Proceed();
|
||||
((SND_IAudioDevice*)audiodevice)->NextFrame();
|
||||
}
|
||||
|
||||
|
||||
|
||||
SND_ListenerHandle SND_GetListener(SND_SceneHandle scene)
|
||||
{
|
||||
assert(scene);
|
||||
return (SND_ListenerHandle)((SND_Scene*)scene)->GetListener();
|
||||
}
|
||||
|
||||
|
||||
|
||||
void SND_SetListenerGain(SND_SceneHandle scene, double gain)
|
||||
{
|
||||
assert(scene);
|
||||
SND_SoundListener* listener = ((SND_Scene*)scene)->GetListener();
|
||||
listener->SetGain((MT_Scalar)gain);
|
||||
}
|
||||
|
||||
|
||||
|
||||
void SND_SetDopplerFactor(SND_SceneHandle scene, double dopplerfactor)
|
||||
{
|
||||
assert(scene);
|
||||
SND_SoundListener* listener = ((SND_Scene*)scene)->GetListener();
|
||||
listener->SetDopplerFactor(dopplerfactor);
|
||||
}
|
||||
|
||||
|
||||
|
||||
void SND_SetDopplerVelocity(SND_SceneHandle scene, double dopplervelocity)
|
||||
{
|
||||
assert(scene);
|
||||
SND_SoundListener* listener = ((SND_Scene*)scene)->GetListener();
|
||||
listener->SetDopplerVelocity(dopplervelocity);
|
||||
}
|
||||
|
||||
|
||||
|
||||
// Object instantiation
|
||||
SND_ObjectHandle SND_CreateSound()
|
||||
{
|
||||
return (SND_ObjectHandle)new SND_SoundObject();
|
||||
}
|
||||
|
||||
|
||||
|
||||
void SND_DeleteSound(SND_ObjectHandle object)
|
||||
{
|
||||
assert(object);
|
||||
delete (SND_SoundObject*)object;
|
||||
}
|
||||
|
||||
|
||||
|
||||
// Object control
|
||||
void SND_StartSound(SND_SceneHandle scene, SND_ObjectHandle object)
|
||||
{
|
||||
assert(scene);
|
||||
assert(object);
|
||||
((SND_Scene*)scene)->AddActiveObject((SND_SoundObject*)object, 0);
|
||||
}
|
||||
|
||||
|
||||
|
||||
void SND_StopSound(SND_SceneHandle scene, SND_ObjectHandle object)
|
||||
{
|
||||
assert(scene);
|
||||
assert(object);
|
||||
((SND_Scene*)scene)->RemoveActiveObject((SND_SoundObject*)object);
|
||||
}
|
||||
|
||||
|
||||
|
||||
void SND_PauseSound(SND_SceneHandle scene, SND_ObjectHandle object)
|
||||
{
|
||||
assert(scene);
|
||||
assert(object);
|
||||
((SND_Scene*)scene)->RemoveActiveObject((SND_SoundObject*)object);
|
||||
}
|
||||
|
||||
|
||||
|
||||
void SND_SetSampleName(SND_ObjectHandle object, char* samplename)
|
||||
{
|
||||
assert(object);
|
||||
STR_String name = samplename;
|
||||
((SND_SoundObject*)object)->SetSampleName(name);
|
||||
}
|
||||
|
||||
|
||||
|
||||
void SND_SetGain(SND_ObjectHandle object, double gain)
|
||||
{
|
||||
assert(object);
|
||||
((SND_SoundObject*)object)->SetGain(gain);
|
||||
}
|
||||
|
||||
|
||||
|
||||
void SND_SetMinimumGain(SND_ObjectHandle object, double minimumgain)
|
||||
{
|
||||
assert(object);
|
||||
((SND_SoundObject*)object)->SetMinGain(minimumgain);
|
||||
}
|
||||
|
||||
|
||||
|
||||
void SND_SetMaximumGain(SND_ObjectHandle object, double maximumgain)
|
||||
{
|
||||
assert(object);
|
||||
((SND_SoundObject*)object)->SetMaxGain(maximumgain);
|
||||
}
|
||||
|
||||
|
||||
|
||||
void SND_SetRollOffFactor(SND_ObjectHandle object, double rollofffactor)
|
||||
{
|
||||
assert(object);
|
||||
((SND_SoundObject*)object)->SetRollOffFactor(rollofffactor);
|
||||
}
|
||||
|
||||
|
||||
|
||||
void SND_SetReferenceDistance(SND_ObjectHandle object, double referencedistance)
|
||||
{
|
||||
assert(object);
|
||||
((SND_SoundObject*)object)->SetReferenceDistance(referencedistance);
|
||||
}
|
||||
|
||||
|
||||
|
||||
void SND_SetPitch(SND_ObjectHandle object, double pitch)
|
||||
{
|
||||
assert(object);
|
||||
((SND_SoundObject*)object)->SetPitch(pitch);
|
||||
}
|
||||
|
||||
|
||||
|
||||
void SND_SetPosition(SND_ObjectHandle object, double* position)
|
||||
{
|
||||
assert(object);
|
||||
((SND_SoundObject*)object)->SetPosition(position);
|
||||
}
|
||||
|
||||
|
||||
|
||||
void SND_SetVelocity(SND_ObjectHandle object, double* velocity)
|
||||
{
|
||||
assert(object);
|
||||
((SND_SoundObject*)object)->SetVelocity(velocity);
|
||||
}
|
||||
|
||||
|
||||
|
||||
void SND_SetOrientation(SND_ObjectHandle object, double* orientation)
|
||||
{
|
||||
assert(object);
|
||||
((SND_SoundObject*)object)->SetOrientation(orientation);
|
||||
}
|
||||
|
||||
|
||||
|
||||
void SND_SetLoopMode(SND_ObjectHandle object, int loopmode)
|
||||
{
|
||||
assert(object);
|
||||
((SND_SoundObject*)object)->SetLoopMode(loopmode);
|
||||
}
|
||||
|
||||
|
||||
|
||||
void SND_SetLoopPoints(SND_ObjectHandle object, unsigned int loopstart, unsigned int loopend)
|
||||
{
|
||||
assert(object);
|
||||
((SND_SoundObject*)object)->SetLoopStart(loopstart);
|
||||
((SND_SoundObject*)object)->SetLoopEnd(loopend);
|
||||
}
|
||||
|
||||
|
||||
|
||||
float SND_GetGain(SND_ObjectHandle object)
|
||||
{
|
||||
assert(object);
|
||||
MT_Scalar gain = ((SND_SoundObject*)object)->GetGain();
|
||||
return (float) gain;
|
||||
}
|
||||
|
||||
|
||||
|
||||
float SND_GetPitch(SND_ObjectHandle object)
|
||||
{
|
||||
assert(object);
|
||||
MT_Scalar pitch = ((SND_SoundObject*)object)->GetPitch();
|
||||
return (float) pitch;
|
||||
}
|
||||
|
||||
|
||||
|
||||
int SND_GetLoopMode(SND_ObjectHandle object)
|
||||
{
|
||||
assert(object);
|
||||
return ((SND_SoundObject*)object)->GetLoopMode();
|
||||
}
|
||||
|
||||
|
||||
|
||||
int SND_GetPlaystate(SND_ObjectHandle object)
|
||||
{
|
||||
assert(object);
|
||||
return ((SND_SoundObject*)object)->GetPlaystate();
|
||||
}
|
|
@ -1,182 +0,0 @@
|
|||
/*
|
||||
* SND_CDObject.cpp
|
||||
*
|
||||
* Implementation for CD playback
|
||||
*
|
||||
* $Id$
|
||||
*
|
||||
* ***** BEGIN GPL LICENSE BLOCK *****
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software Foundation,
|
||||
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
|
||||
* All rights reserved.
|
||||
*
|
||||
* The Original Code is: all of this file.
|
||||
*
|
||||
* Contributor(s): none yet.
|
||||
*
|
||||
* ***** END GPL LICENSE BLOCK *****
|
||||
*/
|
||||
|
||||
#include "SND_CDObject.h"
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include <config.h>
|
||||
#endif
|
||||
|
||||
SND_CDObject* SND_CDObject::m_instance = NULL;
|
||||
|
||||
bool SND_CDObject::CreateSystem()
|
||||
{
|
||||
bool result = false;
|
||||
|
||||
if (!m_instance)
|
||||
{
|
||||
m_instance = new SND_CDObject();
|
||||
result = true;
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
|
||||
bool SND_CDObject::DisposeSystem()
|
||||
{
|
||||
bool result = false;
|
||||
|
||||
if (m_instance)
|
||||
{
|
||||
delete m_instance;
|
||||
m_instance = NULL;
|
||||
result = true;
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
|
||||
SND_CDObject* SND_CDObject::Instance()
|
||||
{
|
||||
return m_instance;
|
||||
}
|
||||
|
||||
|
||||
|
||||
SND_CDObject::SND_CDObject()
|
||||
{
|
||||
m_gain = 1;
|
||||
m_playmode = SND_CD_ALL;
|
||||
m_track = 1;
|
||||
m_playstate = SND_STOPPED;
|
||||
m_used = false;
|
||||
|
||||
// don't set the cd standard on modified:
|
||||
// if not used, we don't wanna touch it (performance)
|
||||
m_modified = false;
|
||||
}
|
||||
|
||||
|
||||
|
||||
SND_CDObject::~SND_CDObject()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
|
||||
void SND_CDObject::SetGain(MT_Scalar gain)
|
||||
{
|
||||
m_gain = gain;
|
||||
m_modified = true;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void SND_CDObject::SetPlaymode(int playmode)
|
||||
{
|
||||
m_playmode = playmode;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void SND_CDObject::SetPlaystate(int playstate)
|
||||
{
|
||||
m_playstate = playstate;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void SND_CDObject::SetTrack(int track)
|
||||
{
|
||||
m_track = track;
|
||||
}
|
||||
|
||||
|
||||
|
||||
int SND_CDObject::GetTrack() const
|
||||
{
|
||||
return m_track;
|
||||
}
|
||||
|
||||
|
||||
|
||||
MT_Scalar SND_CDObject::GetGain() const
|
||||
{
|
||||
return m_gain;
|
||||
}
|
||||
|
||||
|
||||
int SND_CDObject::GetPlaystate() const
|
||||
{
|
||||
return m_playstate;
|
||||
}
|
||||
|
||||
|
||||
|
||||
bool SND_CDObject::IsModified() const
|
||||
{
|
||||
return m_modified;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void SND_CDObject::SetModified(bool modified)
|
||||
{
|
||||
m_modified = modified;
|
||||
}
|
||||
|
||||
|
||||
|
||||
int SND_CDObject::GetPlaymode() const
|
||||
{
|
||||
return m_playmode;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void SND_CDObject::SetUsed()
|
||||
{
|
||||
m_used = true;
|
||||
}
|
||||
|
||||
|
||||
|
||||
bool SND_CDObject::GetUsed()
|
||||
{
|
||||
return m_used;
|
||||
}
|
||||
|
|
@ -1,126 +0,0 @@
|
|||
/*
|
||||
* SND_DeviceManager.h
|
||||
*
|
||||
* singleton for creating, switching and deleting audiodevices
|
||||
*
|
||||
* $Id$
|
||||
*
|
||||
* ***** BEGIN GPL LICENSE BLOCK *****
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software Foundation,
|
||||
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
|
||||
* All rights reserved.
|
||||
*
|
||||
* The Original Code is: all of this file.
|
||||
*
|
||||
* Contributor(s): none yet.
|
||||
*
|
||||
* ***** END GPL LICENSE BLOCK *****
|
||||
*/
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include <config.h>
|
||||
#endif
|
||||
|
||||
#include "SND_DeviceManager.h"
|
||||
#include "SND_DependKludge.h"
|
||||
#include "SND_DummyDevice.h"
|
||||
#ifdef USE_OPENAL
|
||||
#include "SND_OpenALDevice.h"
|
||||
#endif
|
||||
|
||||
SND_IAudioDevice* SND_DeviceManager::m_instance = NULL;
|
||||
int SND_DeviceManager::m_subscriptions = 0;
|
||||
|
||||
#ifdef USE_OPENAL
|
||||
int SND_DeviceManager::m_device_type = snd_e_openaldevice;
|
||||
#else
|
||||
int SND_DeviceManager::m_device_type = snd_e_dummydevice;
|
||||
#endif
|
||||
|
||||
void SND_DeviceManager::Subscribe()
|
||||
{
|
||||
++m_subscriptions;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void SND_DeviceManager::Unsubscribe()
|
||||
{
|
||||
--m_subscriptions;
|
||||
|
||||
// only release memory if there is a m_instance but no subscriptions left
|
||||
if (m_subscriptions == 0 && m_instance)
|
||||
{
|
||||
delete m_instance;
|
||||
m_instance = NULL;
|
||||
}
|
||||
|
||||
if (m_subscriptions < 0)
|
||||
m_subscriptions = 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
SND_IAudioDevice* SND_DeviceManager::Instance()
|
||||
{
|
||||
// only give away an instance if there are subscriptions
|
||||
if (m_subscriptions)
|
||||
{
|
||||
// if there's no instance yet, set and create a new one
|
||||
if (m_instance == NULL)
|
||||
{
|
||||
SetDeviceType(m_device_type);
|
||||
}
|
||||
|
||||
return m_instance;
|
||||
}
|
||||
else
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
void SND_DeviceManager::SetDeviceType(int device_type)
|
||||
{
|
||||
// if we want to change devicetype, first delete the old one
|
||||
if (m_instance)
|
||||
{
|
||||
delete m_instance;
|
||||
m_instance = NULL;
|
||||
}
|
||||
|
||||
// let's create the chosen device
|
||||
switch (device_type)
|
||||
{
|
||||
#ifdef USE_OPENAL
|
||||
case snd_e_openaldevice:
|
||||
{
|
||||
m_instance = new SND_OpenALDevice();
|
||||
m_device_type = device_type;
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
default:
|
||||
{
|
||||
m_instance = new SND_DummyDevice();
|
||||
m_device_type = device_type;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,76 +0,0 @@
|
|||
/*
|
||||
* SND_IdObject.cpp
|
||||
*
|
||||
* Object for storing runtime data, like id's, soundobjects etc
|
||||
*
|
||||
* $Id$
|
||||
*
|
||||
* ***** BEGIN GPL LICENSE BLOCK *****
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software Foundation,
|
||||
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
|
||||
* All rights reserved.
|
||||
*
|
||||
* The Original Code is: all of this file.
|
||||
*
|
||||
* Contributor(s): none yet.
|
||||
*
|
||||
* ***** END GPL LICENSE BLOCK *****
|
||||
*/
|
||||
|
||||
#include "SND_IdObject.h"
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include <config.h>
|
||||
#endif
|
||||
|
||||
SND_IdObject::SND_IdObject()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
|
||||
SND_IdObject::~SND_IdObject()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
|
||||
SND_SoundObject* SND_IdObject::GetSoundObject()
|
||||
{
|
||||
return m_soundObject;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void SND_IdObject::SetSoundObject(SND_SoundObject* pObject)
|
||||
{
|
||||
m_soundObject = pObject;
|
||||
}
|
||||
|
||||
|
||||
|
||||
int SND_IdObject::GetId()
|
||||
{
|
||||
return m_id;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void SND_IdObject::SetId(int id)
|
||||
{
|
||||
m_id = id;
|
||||
}
|
|
@ -1,58 +0,0 @@
|
|||
/*
|
||||
* SND_IdObject.h
|
||||
*
|
||||
* Object for storing runtime data, like id's, soundobjects etc
|
||||
*
|
||||
* $Id$
|
||||
*
|
||||
* ***** BEGIN GPL LICENSE BLOCK *****
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software Foundation,
|
||||
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
|
||||
* All rights reserved.
|
||||
*
|
||||
* The Original Code is: all of this file.
|
||||
*
|
||||
* Contributor(s): none yet.
|
||||
*
|
||||
* ***** END GPL LICENSE BLOCK *****
|
||||
*/
|
||||
|
||||
#ifndef __SND_IDOBJECT_H
|
||||
#define __SND_IDOBJECT_H
|
||||
|
||||
#include "SND_SoundObject.h"
|
||||
#include "GEN_List.h"
|
||||
#include "SoundDefines.h"
|
||||
|
||||
class SND_IdObject : public GEN_Link
|
||||
{
|
||||
SND_SoundObject* m_soundObject;
|
||||
int m_id;
|
||||
|
||||
public:
|
||||
SND_IdObject();
|
||||
virtual ~SND_IdObject();
|
||||
|
||||
SND_SoundObject* GetSoundObject();
|
||||
void SetSoundObject(SND_SoundObject* pObject);
|
||||
|
||||
int GetId();
|
||||
void SetId(int id);
|
||||
};
|
||||
|
||||
#endif //__SND_OBJECT_H
|
||||
|
|
@ -1,544 +0,0 @@
|
|||
/*
|
||||
* SND_Scene.cpp
|
||||
*
|
||||
* The scene for sounds.
|
||||
*
|
||||
* $Id$
|
||||
*
|
||||
* ***** BEGIN GPL LICENSE BLOCK *****
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software Foundation,
|
||||
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
|
||||
* All rights reserved.
|
||||
*
|
||||
* The Original Code is: all of this file.
|
||||
*
|
||||
* Contributor(s): none yet.
|
||||
*
|
||||
* ***** END GPL LICENSE BLOCK *****
|
||||
*/
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include <config.h>
|
||||
#endif
|
||||
|
||||
#ifdef WIN32
|
||||
#pragma warning (disable:4786) // Get rid of stupid stl-visual compiler debug warning
|
||||
#endif //WIN32
|
||||
|
||||
#include "SND_Scene.h"
|
||||
#include "SND_DependKludge.h"
|
||||
#include "SND_IAudioDevice.h"
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <iostream>
|
||||
|
||||
//static unsigned int tijd = 0;
|
||||
|
||||
SND_Scene::SND_Scene(SND_IAudioDevice* audiodevice)
|
||||
: m_audiodevice(audiodevice)
|
||||
{
|
||||
if (m_audiodevice)
|
||||
m_wavecache = m_audiodevice->GetWaveCache();
|
||||
|
||||
if (!m_wavecache || !audiodevice)
|
||||
{
|
||||
m_audio = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
//if so, go ahead!
|
||||
m_audio = true;
|
||||
#ifdef ONTKEVER
|
||||
printf("SND_Scene::SND_Scene() m_audio == true\n");
|
||||
#endif
|
||||
m_audiodevice->InitListener();
|
||||
}
|
||||
|
||||
IsPlaybackWanted();
|
||||
}
|
||||
|
||||
|
||||
|
||||
SND_Scene::~SND_Scene()
|
||||
{
|
||||
StopAllObjects();
|
||||
}
|
||||
|
||||
|
||||
|
||||
// check if audioplayback is wanted
|
||||
bool SND_Scene::IsPlaybackWanted()
|
||||
{
|
||||
/* Removed the functionality for checking if noaudio was provided on */
|
||||
/* the commandline. */
|
||||
if (m_audiodevice && m_wavecache)
|
||||
{
|
||||
m_audioplayback = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
StopAllObjects();
|
||||
m_audioplayback = false;
|
||||
}
|
||||
|
||||
return m_audioplayback;
|
||||
}
|
||||
|
||||
|
||||
|
||||
int SND_Scene::LoadSample(const STR_String& samplename,
|
||||
void* memlocation,
|
||||
int size)
|
||||
{
|
||||
int result = -1;
|
||||
|
||||
if (m_audiodevice)
|
||||
{
|
||||
SND_WaveSlot* waveslot = m_audiodevice->LoadSample(samplename, memlocation, size);
|
||||
|
||||
if (waveslot)
|
||||
result = waveslot->GetBuffer();
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void SND_Scene::RemoveAllSamples()
|
||||
{
|
||||
if (m_audio && m_audiodevice)
|
||||
m_audiodevice->RemoveAllSamples();
|
||||
}
|
||||
|
||||
|
||||
|
||||
bool SND_Scene::CheckBuffer(SND_SoundObject* pObject)
|
||||
{
|
||||
bool result = false;
|
||||
|
||||
if (pObject && m_wavecache)
|
||||
{
|
||||
SND_WaveSlot* waveslot = m_wavecache->GetWaveSlot(pObject->GetSampleName());
|
||||
|
||||
if (waveslot)
|
||||
{
|
||||
pObject->SetBuffer(waveslot->GetBuffer());
|
||||
|
||||
result = true;
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
|
||||
bool SND_Scene::IsSampleLoaded(STR_String& samplename)
|
||||
{
|
||||
bool result = false;
|
||||
|
||||
if (samplename && m_wavecache)
|
||||
{
|
||||
SND_WaveSlot* waveslot = m_wavecache->GetWaveSlot(samplename);
|
||||
|
||||
if (waveslot && waveslot->IsLoaded())
|
||||
result = true;
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void SND_Scene::AddObject(SND_SoundObject* pObject)
|
||||
{
|
||||
if (m_audio)
|
||||
{
|
||||
STR_String samplename = pObject->GetSampleName();
|
||||
SND_WaveSlot* slot = NULL;
|
||||
|
||||
// don't add the object if no valid sample is referenced
|
||||
if (samplename != "")
|
||||
{
|
||||
// check if the sample is already loaded
|
||||
slot = m_wavecache->GetWaveSlot(samplename);
|
||||
}
|
||||
|
||||
if (slot)
|
||||
{
|
||||
pObject->SetBuffer(slot->GetBuffer());
|
||||
|
||||
// needed for expected lifespan of the sample, but ain't necesary anymore i think
|
||||
MT_Scalar samplelength = slot->GetNumberOfSamples();
|
||||
MT_Scalar samplerate = slot->GetSampleRate();
|
||||
MT_Scalar soundlength = samplelength/samplerate;
|
||||
pObject->SetLength(soundlength);
|
||||
|
||||
// add the object to the list
|
||||
m_soundobjects.insert((SND_SoundObject*)pObject);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
void SND_Scene::SetListenerTransform(const MT_Vector3& pos,
|
||||
const MT_Vector3& vel,
|
||||
const MT_Matrix3x3& ori)
|
||||
{
|
||||
if (m_audio)
|
||||
{
|
||||
GetListener()->SetPosition(pos);
|
||||
GetListener()->SetVelocity(vel);
|
||||
GetListener()->SetOrientation(ori);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
void SND_Scene::UpdateListener()
|
||||
{
|
||||
// process the listener if modified
|
||||
if (m_listener.IsModified())
|
||||
{
|
||||
m_audiodevice->SetListenerGain(m_listener.GetGain());
|
||||
m_audiodevice->SetDopplerVelocity(m_listener.GetDopplerVelocity());
|
||||
m_audiodevice->SetDopplerFactor(m_listener.GetDopplerFactor());
|
||||
m_listener.SetModified(false);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
void SND_Scene::AddActiveObject(SND_SoundObject* pObject, MT_Scalar curtime)
|
||||
{
|
||||
if (m_audio)
|
||||
{
|
||||
if (pObject)
|
||||
{
|
||||
#ifdef ONTKEVER
|
||||
printf("SND_Scene::AddActiveObject\n");
|
||||
#endif
|
||||
|
||||
// first check if the object is already on the list
|
||||
if (pObject->IsActive())
|
||||
{
|
||||
pObject->SetTimeStamp(curtime);
|
||||
pObject->StartSound();
|
||||
}
|
||||
else
|
||||
{
|
||||
pObject->SetTimeStamp(curtime);
|
||||
|
||||
// compute the expected lifespan
|
||||
pObject->SetLifeSpan();
|
||||
|
||||
// lets give the new active-to-be object an id
|
||||
if (m_audiodevice->GetNewId(pObject))
|
||||
{
|
||||
// and add the object
|
||||
m_activeobjects.addTail(pObject);
|
||||
pObject->StartSound();
|
||||
pObject->SetActive(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
void SND_Scene::RemoveActiveObject(SND_SoundObject* pObject)
|
||||
{
|
||||
if (m_audio)
|
||||
{
|
||||
if (pObject)
|
||||
{
|
||||
#ifdef ONTKEVER
|
||||
printf("SND_Scene::RemoveActiveObject\n");
|
||||
#endif
|
||||
// if inactive, remove it from the list
|
||||
if (pObject->IsActive())
|
||||
{
|
||||
// first make sure it is stopped
|
||||
m_audiodevice->ClearId(pObject);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
void SND_Scene::UpdateActiveObects()
|
||||
{
|
||||
// ++tijd;
|
||||
|
||||
SND_SoundObject* pObject;
|
||||
// update only the objects that need to be updated
|
||||
for (pObject = (SND_SoundObject*)m_activeobjects.getHead();
|
||||
!pObject->isTail();
|
||||
pObject = (SND_SoundObject*)pObject->getNext())
|
||||
{
|
||||
int id = pObject->GetId();
|
||||
|
||||
if (id >= 0)
|
||||
{
|
||||
if (pObject->Is3D())
|
||||
{
|
||||
// Get the global positions and velocity vectors
|
||||
// of the listener and soundobject
|
||||
MT_Vector3 op = pObject->GetPosition();
|
||||
MT_Vector3 lp = m_listener.GetPosition();
|
||||
MT_Vector3 position = op - lp;
|
||||
|
||||
// Calculate relative velocity in global coordinates
|
||||
// of the sound with respect to the listener.
|
||||
MT_Vector3 ov = pObject->GetVelocity();
|
||||
MT_Vector3 lv = m_listener.GetVelocity();
|
||||
MT_Vector3 velocity = ov - lv;
|
||||
|
||||
// Now map the object position and velocity into
|
||||
// the local coordinates of the listener.
|
||||
MT_Matrix3x3 lo = m_listener.GetOrientation();
|
||||
|
||||
MT_Vector3 local_sound_pos = position * lo;
|
||||
MT_Vector3 local_sound_vel = velocity * lo;
|
||||
|
||||
m_audiodevice->SetObjectTransform(
|
||||
id,
|
||||
local_sound_pos,
|
||||
local_sound_vel,
|
||||
pObject->GetOrientation(), // make relative to listener!
|
||||
lp,
|
||||
pObject->GetRollOffFactor());
|
||||
}
|
||||
else
|
||||
{
|
||||
m_audiodevice->ObjectIs2D(id);
|
||||
}
|
||||
|
||||
// update the situation
|
||||
if (pObject->IsModified())
|
||||
{
|
||||
m_audiodevice->SetObjectPitch(id, pObject->GetPitch());
|
||||
m_audiodevice->SetObjectGain(id, pObject->GetGain());
|
||||
m_audiodevice->SetObjectMinGain(id, pObject->GetMinGain());
|
||||
m_audiodevice->SetObjectMaxGain(id, pObject->GetMaxGain());
|
||||
m_audiodevice->SetObjectReferenceDistance(id, pObject->GetReferenceDistance());
|
||||
m_audiodevice->SetObjectRollOffFactor(id, pObject->GetRollOffFactor());
|
||||
m_audiodevice->SetObjectLoop(id, pObject->GetLoopMode());
|
||||
m_audiodevice->SetObjectLoopPoints(id, pObject->GetLoopStart(), pObject->GetLoopEnd());
|
||||
pObject->SetModified(false);
|
||||
}
|
||||
|
||||
pObject->AddRunning();
|
||||
|
||||
#ifdef ONTKEVER
|
||||
STR_String naam = pObject->GetObjectName();
|
||||
STR_String sample = pObject->GetSampleName();
|
||||
|
||||
int id = pObject->GetId();
|
||||
int buffer = pObject->GetBuffer();
|
||||
|
||||
float gain = pObject->GetGain();
|
||||
float pitch = pObject->GetPitch();
|
||||
float timestamp = pObject->GetTimestamp();
|
||||
|
||||
printf("naam: %s, sample: %s \n", naam.Ptr(), sample.Ptr());
|
||||
printf("id: %d, buffer: %d \n", id, buffer);
|
||||
printf("gain: %f, pitch: %f, ts: %f \n\n", gain, pitch, timestamp);
|
||||
#endif
|
||||
#ifdef USE_OPENAL
|
||||
// ok, properties Set. now see if it must play
|
||||
switch (pObject->GetPlaystate()){
|
||||
case SND_MUST_PLAY:
|
||||
m_audiodevice->PlayObject(id);
|
||||
pObject->SetPlaystate(SND_PLAYING);
|
||||
break;
|
||||
case SND_MUST_STOP:
|
||||
RemoveActiveObject(pObject);
|
||||
break;
|
||||
case SND_MUST_PAUSE:
|
||||
m_audiodevice->PauseObject(id);
|
||||
pObject->SetPlaystate(SND_PAUSED);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
// check to see if the sound is still playing
|
||||
// if not: release its id
|
||||
int playstate = m_audiodevice->GetPlayState(id);
|
||||
#ifdef ONTKEVER
|
||||
if (playstate != 2)
|
||||
printf("%d - ",playstate);
|
||||
#endif
|
||||
|
||||
if ((playstate == SND_STOPPED) && !pObject->GetLoopMode())
|
||||
{
|
||||
RemoveActiveObject(pObject);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
void SND_Scene::UpdateCD()
|
||||
{
|
||||
if (m_audiodevice)
|
||||
{
|
||||
SND_CDObject* pCD = SND_CDObject::Instance();
|
||||
|
||||
if (pCD)
|
||||
{
|
||||
int playstate = pCD->GetPlaystate();
|
||||
|
||||
switch (playstate)
|
||||
{
|
||||
case SND_MUST_PLAY:
|
||||
{
|
||||
// initialize the cd only when you need it
|
||||
m_audiodevice->SetCDGain(pCD->GetGain());
|
||||
m_audiodevice->SetCDPlaymode(pCD->GetPlaymode());
|
||||
m_audiodevice->PlayCD(pCD->GetTrack());
|
||||
pCD->SetPlaystate(SND_PLAYING);
|
||||
pCD->SetUsed();
|
||||
break;
|
||||
}
|
||||
case SND_MUST_PAUSE:
|
||||
{
|
||||
m_audiodevice->PauseCD(true);
|
||||
pCD->SetPlaystate(SND_PAUSED);
|
||||
break;
|
||||
}
|
||||
case SND_MUST_RESUME:
|
||||
{
|
||||
m_audiodevice->PauseCD(false);
|
||||
pCD->SetPlaystate(SND_PLAYING);
|
||||
break;
|
||||
}
|
||||
case SND_MUST_STOP:
|
||||
{
|
||||
m_audiodevice->StopCD();
|
||||
pCD->SetPlaystate(SND_STOPPED);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
// this one is only for realtime modifying settings
|
||||
if (pCD->IsModified())
|
||||
{
|
||||
m_audiodevice->SetCDGain(pCD->GetGain());
|
||||
pCD->SetModified(false);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
void SND_Scene::Proceed()
|
||||
{
|
||||
if (m_audio && m_audioplayback)
|
||||
{
|
||||
m_audiodevice->MakeCurrent();
|
||||
|
||||
UpdateListener();
|
||||
UpdateActiveObects();
|
||||
UpdateCD();
|
||||
|
||||
// m_audiodevice->UpdateDevice();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void SND_Scene::DeleteObject(SND_SoundObject* pObject)
|
||||
{
|
||||
#ifdef ONTKEVER
|
||||
printf("SND_Scene::DeleteObject\n");
|
||||
#endif
|
||||
|
||||
if (pObject)
|
||||
{
|
||||
if (m_audiodevice)
|
||||
m_audiodevice->ClearId(pObject);
|
||||
|
||||
// must remove object from m_activeList
|
||||
std::set<SND_SoundObject*>::iterator set_it;
|
||||
set_it = m_soundobjects.find(pObject);
|
||||
|
||||
if (set_it != m_soundobjects.end())
|
||||
m_soundobjects.erase(set_it);
|
||||
|
||||
// release the memory
|
||||
delete pObject;
|
||||
pObject = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
void SND_Scene::RemoveAllObjects()
|
||||
{
|
||||
#ifdef ONTKEVER
|
||||
printf("SND_Scene::RemoveAllObjects\n");
|
||||
#endif
|
||||
|
||||
StopAllObjects();
|
||||
|
||||
std::set<SND_SoundObject*>::iterator it = m_soundobjects.begin();
|
||||
|
||||
while (it != m_soundobjects.end())
|
||||
{
|
||||
delete (*it);
|
||||
it++;
|
||||
}
|
||||
|
||||
m_soundobjects.clear();
|
||||
}
|
||||
|
||||
|
||||
|
||||
void SND_Scene::StopAllObjects()
|
||||
{
|
||||
if (m_audio)
|
||||
{
|
||||
#ifdef ONTKEVER
|
||||
printf("SND_Scene::StopAllObjects\n");
|
||||
#endif
|
||||
|
||||
SND_SoundObject* pObject;
|
||||
|
||||
for (pObject = (SND_SoundObject*)m_activeobjects.getHead();
|
||||
!pObject->isTail();
|
||||
pObject = (SND_SoundObject*)pObject->getNext())
|
||||
{
|
||||
m_audiodevice->ClearId(pObject);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
SND_SoundListener* SND_Scene::GetListener()
|
||||
{
|
||||
return &m_listener;
|
||||
}
|
|
@ -1,185 +0,0 @@
|
|||
/*
|
||||
* SND_SoundListener.cpp
|
||||
*
|
||||
* A SoundListener is for sound what a camera is for vision.
|
||||
*
|
||||
* $Id$
|
||||
*
|
||||
* ***** BEGIN GPL LICENSE BLOCK *****
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software Foundation,
|
||||
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
|
||||
* All rights reserved.
|
||||
*
|
||||
* The Original Code is: all of this file.
|
||||
*
|
||||
* Contributor(s): none yet.
|
||||
*
|
||||
* ***** END GPL LICENSE BLOCK *****
|
||||
*/
|
||||
|
||||
#include "SND_SoundListener.h"
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include <config.h>
|
||||
#endif
|
||||
|
||||
SND_SoundListener::SND_SoundListener()
|
||||
{
|
||||
m_modified = true;
|
||||
m_gain = 1.0;
|
||||
m_dopplerfactor = 1.0;
|
||||
m_dopplervelocity = 1.0;
|
||||
m_scale = 1.0;
|
||||
m_position[0] = 0.0;
|
||||
m_position[1] = 0.0;
|
||||
m_position[2] = 0.0;
|
||||
m_velocity[0] = 0.0;
|
||||
m_velocity[1] = 0.0;
|
||||
m_velocity[2] = 0.0;
|
||||
m_orientation[0][0] = 1.0;
|
||||
m_orientation[0][1] = 0.0;
|
||||
m_orientation[0][2] = 0.0;
|
||||
m_orientation[1][0] = 0.0;
|
||||
m_orientation[1][1] = 1.0;
|
||||
m_orientation[1][2] = 0.0;
|
||||
m_orientation[2][0] = 0.0;
|
||||
m_orientation[2][1] = 0.0;
|
||||
m_orientation[2][2] = 1.0;
|
||||
}
|
||||
|
||||
|
||||
SND_SoundListener::~SND_SoundListener()
|
||||
{
|
||||
; /* intentionally empty */
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
void SND_SoundListener::SetGain(MT_Scalar gain)
|
||||
{
|
||||
m_gain = gain;
|
||||
m_modified = true;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void SND_SoundListener::SetPosition (const MT_Vector3& pos)
|
||||
{
|
||||
m_position = pos;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void SND_SoundListener::SetVelocity(const MT_Vector3& vel)
|
||||
{
|
||||
m_velocity = vel;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void SND_SoundListener::SetOrientation(const MT_Matrix3x3& ori)
|
||||
{
|
||||
m_orientation = ori;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void SND_SoundListener::SetDopplerFactor(MT_Scalar dopplerfactor)
|
||||
{
|
||||
m_dopplerfactor = dopplerfactor;
|
||||
m_modified = true;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void SND_SoundListener::SetDopplerVelocity(MT_Scalar dopplervelocity)
|
||||
{
|
||||
m_dopplervelocity = dopplervelocity;
|
||||
m_modified = true;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void SND_SoundListener::SetScale(MT_Scalar scale)
|
||||
{
|
||||
m_scale = scale;
|
||||
m_modified = true;
|
||||
}
|
||||
|
||||
|
||||
|
||||
MT_Scalar SND_SoundListener::GetGain() const
|
||||
{
|
||||
return m_gain;
|
||||
}
|
||||
|
||||
|
||||
|
||||
MT_Vector3 SND_SoundListener::GetPosition() const
|
||||
{
|
||||
return m_position;
|
||||
}
|
||||
|
||||
|
||||
|
||||
MT_Vector3 SND_SoundListener::GetVelocity() const
|
||||
{
|
||||
return m_velocity;
|
||||
}
|
||||
|
||||
|
||||
|
||||
MT_Matrix3x3 SND_SoundListener::GetOrientation()
|
||||
{
|
||||
return m_orientation;
|
||||
}
|
||||
|
||||
|
||||
|
||||
MT_Scalar SND_SoundListener::GetDopplerFactor() const
|
||||
{
|
||||
return m_dopplerfactor;
|
||||
}
|
||||
|
||||
|
||||
|
||||
MT_Scalar SND_SoundListener::GetDopplerVelocity() const
|
||||
{
|
||||
return m_dopplervelocity;
|
||||
}
|
||||
|
||||
|
||||
|
||||
MT_Scalar SND_SoundListener::GetScale() const
|
||||
{
|
||||
return m_scale;
|
||||
}
|
||||
|
||||
|
||||
|
||||
bool SND_SoundListener::IsModified() const
|
||||
{
|
||||
return m_modified;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void SND_SoundListener::SetModified(bool modified)
|
||||
{
|
||||
m_modified = modified;
|
||||
}
|
|
@ -1,508 +0,0 @@
|
|||
/*
|
||||
* SND_SoundObject.cpp
|
||||
*
|
||||
* Implementation of the abstract sound object
|
||||
*
|
||||
* $Id$
|
||||
*
|
||||
* ***** BEGIN GPL LICENSE BLOCK *****
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software Foundation,
|
||||
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
|
||||
* All rights reserved.
|
||||
*
|
||||
* The Original Code is: all of this file.
|
||||
*
|
||||
* Contributor(s): none yet.
|
||||
*
|
||||
* ***** END GPL LICENSE BLOCK *****
|
||||
*/
|
||||
|
||||
#include "SND_SoundObject.h"
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include <config.h>
|
||||
#endif
|
||||
|
||||
SND_SoundObject::SND_SoundObject()// : m_modified(true)
|
||||
{
|
||||
m_samplename = "";
|
||||
m_length = 0;
|
||||
m_buffer = 0;
|
||||
|
||||
m_gain = 0.0;
|
||||
m_pitch = 1.0;
|
||||
|
||||
m_mingain = 0.0;
|
||||
m_maxgain = 1.0;
|
||||
m_rollofffactor = 1.0;
|
||||
m_referencedistance = 1.0;
|
||||
|
||||
m_position[0] = 0.0;
|
||||
m_position[1] = 0.0;
|
||||
m_position[2] = 0.0;
|
||||
m_velocity[0] = 0.0;
|
||||
m_velocity[1] = 0.0;
|
||||
m_velocity[2] = 0.0;
|
||||
m_orientation[0][0] = 1.0;
|
||||
m_orientation[0][1] = 0.0;
|
||||
m_orientation[0][2] = 0.0;
|
||||
m_orientation[1][0] = 0.0;
|
||||
m_orientation[1][1] = 1.0;
|
||||
m_orientation[1][2] = 0.0;
|
||||
m_orientation[2][0] = 0.0;
|
||||
m_orientation[2][1] = 0.0;
|
||||
m_orientation[2][2] = 1.0;
|
||||
|
||||
m_loopstart = 0;
|
||||
m_loopend = 0;
|
||||
m_loopmode = SND_LOOP_NORMAL;
|
||||
m_is3d = true;
|
||||
m_playstate = SND_INITIAL;
|
||||
m_active = false;
|
||||
m_id = -1;
|
||||
m_lifespan = 0;
|
||||
m_timestamp = 0;
|
||||
m_modified = true;
|
||||
m_running = 0;
|
||||
m_highpriority = false;
|
||||
}
|
||||
|
||||
|
||||
|
||||
SND_SoundObject::~SND_SoundObject()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
|
||||
void SND_SoundObject::StartSound()
|
||||
{
|
||||
if (m_id >= 0)
|
||||
m_playstate = SND_MUST_PLAY;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void SND_SoundObject::StopSound()
|
||||
{
|
||||
if (m_id >= 0)
|
||||
m_playstate = SND_MUST_STOP;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void SND_SoundObject::PauseSound()
|
||||
{
|
||||
if (m_id >= 0)
|
||||
m_playstate = SND_MUST_PAUSE;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void SND_SoundObject::DeleteWhenFinished()
|
||||
{
|
||||
m_playstate = SND_MUST_BE_DELETED;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void SND_SoundObject::SetGain(MT_Scalar gain)
|
||||
{
|
||||
m_gain = gain;
|
||||
m_modified = true;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void SND_SoundObject::SetMinGain(MT_Scalar mingain)
|
||||
{
|
||||
m_mingain = mingain;
|
||||
m_modified = true;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void SND_SoundObject::SetMaxGain(MT_Scalar maxgain)
|
||||
{
|
||||
m_maxgain = maxgain;
|
||||
m_modified = true;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void SND_SoundObject::SetRollOffFactor(MT_Scalar rollofffactor)
|
||||
{
|
||||
m_rollofffactor = rollofffactor;
|
||||
m_modified = true;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void SND_SoundObject::SetReferenceDistance(MT_Scalar referencedistance)
|
||||
{
|
||||
m_referencedistance = referencedistance;
|
||||
m_modified = true;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void SND_SoundObject::SetPitch(MT_Scalar pitch)
|
||||
{
|
||||
m_pitch = pitch;
|
||||
m_modified = true;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void SND_SoundObject::SetLoopMode(unsigned int loopmode)
|
||||
{
|
||||
m_loopmode = loopmode;
|
||||
m_modified = true;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void SND_SoundObject::SetLoopStart(unsigned int loopstart)
|
||||
{
|
||||
m_loopstart = loopstart;
|
||||
m_modified = true;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void SND_SoundObject::SetLoopEnd(unsigned int loopend)
|
||||
{
|
||||
m_loopend = loopend;
|
||||
m_modified = true;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void SND_SoundObject::Set3D(bool threedee)
|
||||
{
|
||||
m_is3d = threedee;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void SND_SoundObject::SetLifeSpan()
|
||||
{
|
||||
m_lifespan = m_length / m_pitch;
|
||||
}
|
||||
|
||||
|
||||
|
||||
bool SND_SoundObject::IsLifeSpanOver(MT_Scalar curtime) const
|
||||
{
|
||||
bool result = false;
|
||||
|
||||
if ((curtime - m_timestamp) > m_lifespan)
|
||||
result = true;
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void SND_SoundObject::SetActive(bool active)
|
||||
{
|
||||
m_active = active;
|
||||
|
||||
if (!active)
|
||||
{
|
||||
m_playstate = SND_STOPPED;
|
||||
(this)->remove();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
void SND_SoundObject::SetBuffer(unsigned int buffer)
|
||||
{
|
||||
m_buffer = buffer;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void SND_SoundObject::SetObjectName(STR_String objectname)
|
||||
{
|
||||
m_objectname = objectname;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void SND_SoundObject::SetSampleName(STR_String samplename)
|
||||
{
|
||||
m_samplename = samplename;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void SND_SoundObject::SetLength(MT_Scalar length)
|
||||
{
|
||||
m_length = length;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void SND_SoundObject::SetPosition(const MT_Vector3& pos)
|
||||
{
|
||||
m_position = pos;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void SND_SoundObject::SetVelocity(const MT_Vector3& vel)
|
||||
{
|
||||
m_velocity = vel;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void SND_SoundObject::SetOrientation(const MT_Matrix3x3& orient)
|
||||
{
|
||||
m_orientation = orient;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void SND_SoundObject::SetPlaystate(int playstate)
|
||||
{
|
||||
m_playstate = playstate;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void SND_SoundObject::SetId(int id)
|
||||
{
|
||||
m_id = id;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void SND_SoundObject::SetTimeStamp(MT_Scalar timestamp)
|
||||
{
|
||||
m_timestamp = timestamp;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void SND_SoundObject::SetHighPriority(bool priority)
|
||||
{
|
||||
m_highpriority = priority;
|
||||
}
|
||||
|
||||
|
||||
|
||||
bool SND_SoundObject::IsHighPriority() const
|
||||
{
|
||||
return m_highpriority;
|
||||
}
|
||||
|
||||
|
||||
|
||||
bool SND_SoundObject::IsActive()const
|
||||
{
|
||||
return m_active;
|
||||
}
|
||||
|
||||
|
||||
|
||||
int SND_SoundObject::GetId()const
|
||||
{
|
||||
return m_id;
|
||||
}
|
||||
|
||||
|
||||
|
||||
MT_Scalar SND_SoundObject::GetLifeSpan()const
|
||||
{
|
||||
return m_lifespan;
|
||||
}
|
||||
|
||||
|
||||
|
||||
MT_Scalar SND_SoundObject::GetTimestamp()const
|
||||
{
|
||||
return m_timestamp;
|
||||
}
|
||||
|
||||
|
||||
|
||||
unsigned int SND_SoundObject::GetBuffer()
|
||||
{
|
||||
return m_buffer;
|
||||
}
|
||||
|
||||
|
||||
|
||||
const STR_String& SND_SoundObject::GetSampleName()
|
||||
{
|
||||
return m_samplename;
|
||||
}
|
||||
|
||||
|
||||
|
||||
const STR_String& SND_SoundObject::GetObjectName()
|
||||
{
|
||||
return m_objectname;
|
||||
}
|
||||
|
||||
|
||||
|
||||
MT_Scalar SND_SoundObject::GetLength() const
|
||||
{
|
||||
return m_length;
|
||||
}
|
||||
|
||||
|
||||
|
||||
MT_Scalar SND_SoundObject::GetGain() const
|
||||
{
|
||||
return m_gain;
|
||||
}
|
||||
|
||||
|
||||
|
||||
MT_Scalar SND_SoundObject::GetPitch() const
|
||||
{
|
||||
return m_pitch;
|
||||
}
|
||||
|
||||
|
||||
|
||||
MT_Scalar SND_SoundObject::GetMinGain() const
|
||||
{
|
||||
return m_mingain;
|
||||
}
|
||||
|
||||
|
||||
|
||||
MT_Scalar SND_SoundObject::GetMaxGain() const
|
||||
{
|
||||
return m_maxgain;
|
||||
}
|
||||
|
||||
|
||||
|
||||
MT_Scalar SND_SoundObject::GetRollOffFactor() const
|
||||
{
|
||||
return m_rollofffactor;
|
||||
}
|
||||
|
||||
|
||||
|
||||
MT_Scalar SND_SoundObject::GetReferenceDistance() const
|
||||
{
|
||||
return m_referencedistance;
|
||||
}
|
||||
|
||||
|
||||
|
||||
MT_Vector3 SND_SoundObject::GetPosition() const
|
||||
{
|
||||
return m_position;
|
||||
}
|
||||
|
||||
|
||||
|
||||
MT_Vector3 SND_SoundObject::GetVelocity() const
|
||||
{
|
||||
return m_velocity;
|
||||
}
|
||||
|
||||
|
||||
|
||||
MT_Matrix3x3 SND_SoundObject::GetOrientation() const
|
||||
{
|
||||
return m_orientation;
|
||||
}
|
||||
|
||||
|
||||
|
||||
unsigned int SND_SoundObject::GetLoopMode() const
|
||||
{
|
||||
return m_loopmode;
|
||||
}
|
||||
|
||||
|
||||
|
||||
unsigned int SND_SoundObject::GetLoopStart() const
|
||||
{
|
||||
return m_loopstart;
|
||||
}
|
||||
|
||||
|
||||
|
||||
unsigned int SND_SoundObject::GetLoopEnd() const
|
||||
{
|
||||
return m_loopend;
|
||||
}
|
||||
|
||||
|
||||
|
||||
bool SND_SoundObject::Is3D() const
|
||||
{
|
||||
return m_is3d;
|
||||
}
|
||||
|
||||
|
||||
|
||||
int SND_SoundObject::GetPlaystate() const
|
||||
{
|
||||
return m_playstate;
|
||||
}
|
||||
|
||||
|
||||
|
||||
bool SND_SoundObject::IsModified() const
|
||||
{
|
||||
return m_modified;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void SND_SoundObject::SetModified(bool modified)
|
||||
{
|
||||
m_modified = modified;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void SND_SoundObject::InitRunning()
|
||||
{
|
||||
m_running = 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
bool SND_SoundObject::IsRunning() const
|
||||
{
|
||||
bool result = false;
|
||||
|
||||
if (m_running > 100)
|
||||
result = true;
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void SND_SoundObject::AddRunning()
|
||||
{
|
||||
++m_running;
|
||||
}
|
|
@ -1,424 +0,0 @@
|
|||
/*
|
||||
* SND_Utils.cpp
|
||||
*
|
||||
* Util functions for soundthingies
|
||||
*
|
||||
* $Id$
|
||||
*
|
||||
* ***** BEGIN GPL LICENSE BLOCK *****
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software Foundation,
|
||||
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
|
||||
* All rights reserved.
|
||||
*
|
||||
* The Original Code is: all of this file.
|
||||
*
|
||||
* Contributor(s): none yet.
|
||||
*
|
||||
* ***** END GPL LICENSE BLOCK *****
|
||||
*/
|
||||
|
||||
#include "SND_Utils.h"
|
||||
#include "SoundDefines.h"
|
||||
#include "SND_DependKludge.h"
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <fcntl.h>
|
||||
#include <math.h>
|
||||
#include <string.h>
|
||||
|
||||
#if defined(_WIN32)
|
||||
#include <io.h>
|
||||
#define open _open
|
||||
#define read _read
|
||||
#define close _close
|
||||
#define write _write
|
||||
#define lseek _lseek
|
||||
#else
|
||||
#include <unistd.h>
|
||||
#endif
|
||||
|
||||
#define BUFFERSIZE 32
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
* Begin of temporary Endian stuff.
|
||||
* I think there should be a central place to handle endian conversion but for
|
||||
* the time being it suffices. Note that the defines come from the Blender
|
||||
* source.
|
||||
*****************************************************************************/
|
||||
typedef enum
|
||||
{
|
||||
SND_endianBig = 0,
|
||||
SND_endianLittle
|
||||
} SND_TEndian;
|
||||
|
||||
#if defined(__BIG_ENDIAN__) || defined(__sparc) || defined(__sparc__)
|
||||
const SND_TEndian SND_fEndian = SND_endianBig;
|
||||
#else
|
||||
const SND_TEndian SND_fEndian = SND_endianLittle;
|
||||
#endif
|
||||
|
||||
/* This one swaps the bytes in a short */
|
||||
#define SWITCH_SHORT(a) { \
|
||||
char s_i, *p_i; \
|
||||
p_i= (char *)&(a); \
|
||||
s_i=p_i[0]; \
|
||||
p_i[0] = p_i[1]; \
|
||||
p_i[1] = s_i; }
|
||||
|
||||
/* This one rotates the bytes in an int */
|
||||
#define SWITCH_INT(a) { \
|
||||
char s_i, *p_i; \
|
||||
p_i= (char *)&(a); \
|
||||
s_i=p_i[0]; p_i[0]=p_i[3]; p_i[3]=s_i; \
|
||||
s_i=p_i[1]; p_i[1]=p_i[2]; p_i[2]=s_i; }
|
||||
/*****************************************************************************
|
||||
* End of temporary Endian stuff.
|
||||
*****************************************************************************/
|
||||
|
||||
|
||||
/* loads a file */
|
||||
void* SND_LoadSample(char *filename)
|
||||
{
|
||||
int file, filelen, buffersize = BUFFERSIZE;
|
||||
void* data = NULL;
|
||||
|
||||
#if defined(WIN32)
|
||||
file = open(filename, O_BINARY|O_RDONLY);
|
||||
#else
|
||||
file = open(filename, 0|O_RDONLY);
|
||||
#endif
|
||||
|
||||
if (file == -1)
|
||||
{
|
||||
//printf("can't open file.\n");
|
||||
//printf("press q for quit.\n");
|
||||
}
|
||||
else
|
||||
{
|
||||
filelen = lseek(file, 0, SEEK_END);
|
||||
lseek(file, 0, SEEK_SET);
|
||||
|
||||
if (filelen != 0)
|
||||
{
|
||||
data = malloc(buffersize);
|
||||
|
||||
if (read(file, data, buffersize) != buffersize)
|
||||
{
|
||||
free(data);
|
||||
data = NULL;
|
||||
}
|
||||
}
|
||||
close(file);
|
||||
|
||||
}
|
||||
return (data);
|
||||
}
|
||||
|
||||
|
||||
|
||||
bool SND_IsSampleValid(const STR_String& name, void* memlocation)
|
||||
{
|
||||
bool result = false;
|
||||
bool loadedsample = false;
|
||||
char buffer[BUFFERSIZE];
|
||||
|
||||
if (!memlocation)
|
||||
{
|
||||
STR_String samplename = name;
|
||||
memlocation = SND_LoadSample(samplename.Ptr());
|
||||
|
||||
if (memlocation)
|
||||
loadedsample = true;
|
||||
}
|
||||
|
||||
if (memlocation)
|
||||
{
|
||||
memcpy(&buffer, memlocation, BUFFERSIZE);
|
||||
|
||||
if(!(memcmp(buffer, "RIFF", 4) && memcmp(&(buffer[8]), "WAVEfmt ", 8)))
|
||||
{
|
||||
/* This was endian unsafe. See top of the file for the define. */
|
||||
short shortbuf = *((short *) &buffer[20]);
|
||||
if (SND_fEndian == SND_endianBig) SWITCH_SHORT(shortbuf);
|
||||
|
||||
if (shortbuf == SND_WAVE_FORMAT_PCM)
|
||||
result = true;
|
||||
}
|
||||
}
|
||||
if (loadedsample)
|
||||
{
|
||||
free(memlocation);
|
||||
memlocation = NULL;
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* checks if the passed pointer is a valid sample */
|
||||
static bool CheckSample(void* sample)
|
||||
{
|
||||
bool valid = false;
|
||||
char buffer[32];
|
||||
|
||||
memcpy(buffer, sample, 16);
|
||||
|
||||
if(!(memcmp(buffer, "RIFF", 4) && memcmp(&(buffer[8]), "WAVEfmt ", 8)))
|
||||
{
|
||||
valid = true;
|
||||
}
|
||||
|
||||
return valid;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* gets the type of the sample (0 == unknown, 1 == PCM etc */
|
||||
unsigned int SND_GetSampleFormat(void* sample)
|
||||
{
|
||||
short sampletype = 0;
|
||||
|
||||
if (CheckSample(sample))
|
||||
{
|
||||
memcpy(&sampletype, ((char*)sample) + 20, 2);
|
||||
}
|
||||
/* This was endian unsafe. See top of the file for the define. */
|
||||
if (SND_fEndian == SND_endianBig) SWITCH_SHORT(sampletype);
|
||||
|
||||
return (unsigned int)sampletype;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* gets the number of channels in a sample */
|
||||
unsigned int SND_GetNumberOfChannels(void* sample)
|
||||
{
|
||||
short numberofchannels = 0;
|
||||
|
||||
if (CheckSample(sample))
|
||||
{
|
||||
memcpy(&numberofchannels, ((char*)sample) + 22, 2);
|
||||
}
|
||||
/* This was endian unsafe. See top of the file for the define. */
|
||||
if (SND_fEndian == SND_endianBig) SWITCH_SHORT(numberofchannels);
|
||||
|
||||
return (unsigned int)numberofchannels;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* gets the samplerate of a sample */
|
||||
unsigned int SND_GetSampleRate(void* sample)
|
||||
{
|
||||
unsigned int samplerate = 0;
|
||||
|
||||
if (CheckSample(sample))
|
||||
{
|
||||
memcpy(&samplerate, ((char*)sample) + 24, 4);
|
||||
}
|
||||
/* This was endian unsafe. See top of the file for the define. */
|
||||
if (SND_fEndian == SND_endianBig) SWITCH_INT(samplerate);
|
||||
|
||||
return samplerate;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* gets the bitrate of a sample */
|
||||
unsigned int SND_GetBitRate(void* sample)
|
||||
{
|
||||
short bitrate = 0;
|
||||
|
||||
if (CheckSample(sample))
|
||||
{
|
||||
memcpy(&bitrate, ((char*)sample) + 34, 2);
|
||||
}
|
||||
/* This was endian unsafe. See top of the file for the define. */
|
||||
if (SND_fEndian == SND_endianBig) SWITCH_SHORT(bitrate);
|
||||
|
||||
return (unsigned int)bitrate;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* gets the length of the actual sample data (without the header) */
|
||||
unsigned int SND_GetNumberOfSamples(void* sample, unsigned int sample_length)
|
||||
{
|
||||
unsigned int chunklength, length = 0, offset;
|
||||
unsigned short block_align;
|
||||
if (CheckSample(sample))
|
||||
{
|
||||
memcpy(&chunklength, ((char*)sample) + 16, 4);
|
||||
memcpy(&block_align, ((char*)sample) + 32, 2); /* always 2 or 4 it seems */
|
||||
|
||||
/* This was endian unsafe. See top of the file for the define. */
|
||||
if (SND_fEndian == SND_endianBig)
|
||||
{
|
||||
SWITCH_INT(chunklength);
|
||||
SWITCH_SHORT(block_align);
|
||||
}
|
||||
|
||||
offset = 16 + chunklength + 4;
|
||||
|
||||
/* This seems very unsafe, what if data is never found (f.i. corrupt file)... */
|
||||
// lets find "data"
|
||||
while (memcmp(((char*)sample) + offset, "data", 4))
|
||||
{
|
||||
offset += block_align;
|
||||
|
||||
if (offset+block_align > sample_length) /* save us from crashing */
|
||||
return 0;
|
||||
}
|
||||
offset += 4;
|
||||
memcpy(&length, ((char*)sample) + offset, 4);
|
||||
|
||||
/* This was endian unsafe. See top of the file for the define. */
|
||||
if (SND_fEndian == SND_endianBig) SWITCH_INT(length);
|
||||
}
|
||||
|
||||
return length;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* gets the size of the entire header (file - sampledata) */
|
||||
unsigned int SND_GetHeaderSize(void* sample, unsigned int sample_length)
|
||||
{
|
||||
unsigned int chunklength, headersize = 0, offset = 16;
|
||||
unsigned short block_align;
|
||||
if (CheckSample(sample))
|
||||
{
|
||||
memcpy(&chunklength, ((char*)sample) + offset, 4);
|
||||
memcpy(&block_align, ((char*)sample) + 32, 2); /* always 2 or 4 it seems */
|
||||
|
||||
/* This was endian unsafe. See top of the file for the define. */
|
||||
if (SND_fEndian == SND_endianBig)
|
||||
{
|
||||
SWITCH_INT(chunklength);
|
||||
SWITCH_SHORT(block_align);
|
||||
}
|
||||
offset = offset + chunklength + 4;
|
||||
|
||||
// lets find "data"
|
||||
while (memcmp(((char*)sample) + offset, "data", 4))
|
||||
{
|
||||
offset += block_align;
|
||||
|
||||
if (offset+block_align > sample_length) /* save us from crashing */
|
||||
return 0;
|
||||
}
|
||||
headersize = offset + 8;
|
||||
}
|
||||
|
||||
return headersize;
|
||||
}
|
||||
|
||||
|
||||
unsigned int SND_GetExtraChunk(void* sample)
|
||||
{
|
||||
unsigned int extrachunk = 0, chunklength, offset = 16;
|
||||
char data[4];
|
||||
|
||||
if (CheckSample(sample))
|
||||
{
|
||||
memcpy(&chunklength, ((char*)sample) + offset, 4);
|
||||
offset = offset + chunklength + 4;
|
||||
memcpy(data, ((char*)sample) + offset, 4);
|
||||
|
||||
// lets find "cue"
|
||||
while (memcmp(data, "cue", 3))
|
||||
{
|
||||
offset += 4;
|
||||
memcpy(data, ((char*)sample) + offset, 4);
|
||||
}
|
||||
}
|
||||
|
||||
return extrachunk;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void SND_GetSampleInfo(signed char* sample, SND_WaveSlot* waveslot)
|
||||
{
|
||||
WavFileHeader fileheader;
|
||||
WavFmtHeader fmtheader;
|
||||
WavFmtExHeader fmtexheader;
|
||||
WavSampleHeader sampleheader;
|
||||
WavChunkHeader chunkheader;
|
||||
|
||||
if (CheckSample(sample))
|
||||
{
|
||||
memcpy(&fileheader, sample, sizeof(WavFileHeader));
|
||||
fileheader.size = SND_GetHeaderSize(sample, waveslot->GetFileSize());
|
||||
if (fileheader.size) { /* this may fail for corrupt files */
|
||||
sample += sizeof(WavFileHeader);
|
||||
fileheader.size = ((fileheader.size+1) & ~1) - 4;
|
||||
|
||||
while ((fileheader.size > 0) && (memcpy(&chunkheader, sample, sizeof(WavChunkHeader))))
|
||||
{
|
||||
sample += sizeof(WavChunkHeader);
|
||||
if (!memcmp(chunkheader.id, "fmt ", 4))
|
||||
{
|
||||
memcpy(&fmtheader, sample, sizeof(WavFmtHeader));
|
||||
waveslot->SetSampleFormat(fmtheader.format);
|
||||
|
||||
if (fmtheader.format == 0x0001)
|
||||
{
|
||||
waveslot->SetNumberOfChannels(fmtheader.numberofchannels);
|
||||
waveslot->SetBitRate(fmtheader.bitrate);
|
||||
waveslot->SetSampleRate(fmtheader.samplerate);
|
||||
sample += chunkheader.size;
|
||||
}
|
||||
else
|
||||
{
|
||||
memcpy(&fmtexheader, sample, sizeof(WavFmtExHeader));
|
||||
sample += chunkheader.size;
|
||||
}
|
||||
}
|
||||
else if (!memcmp(chunkheader.id, "data", 4))
|
||||
{
|
||||
if (fmtheader.format == 0x0001)
|
||||
{
|
||||
waveslot->SetNumberOfSamples(chunkheader.size);
|
||||
sample += chunkheader.size;
|
||||
}
|
||||
else if (fmtheader.format == 0x0011)
|
||||
{
|
||||
//IMA ADPCM
|
||||
}
|
||||
else if (fmtheader.format == 0x0055)
|
||||
{
|
||||
//MP3 WAVE
|
||||
}
|
||||
}
|
||||
else if (!memcmp(chunkheader.id, "smpl", 4))
|
||||
{
|
||||
memcpy(&sampleheader, sample, sizeof(WavSampleHeader));
|
||||
//loop = sampleheader.loops;
|
||||
sample += chunkheader.size;
|
||||
}
|
||||
else
|
||||
sample += chunkheader.size;
|
||||
|
||||
sample += chunkheader.size & 1;
|
||||
fileheader.size -= (((chunkheader.size + 1) & ~1) + 8);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,138 +0,0 @@
|
|||
/*
|
||||
* SND_WaveCache.cpp
|
||||
*
|
||||
* abstract wavecache, a way to organize samples
|
||||
*
|
||||
* $Id$
|
||||
*
|
||||
* ***** BEGIN GPL LICENSE BLOCK *****
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software Foundation,
|
||||
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
|
||||
* All rights reserved.
|
||||
*
|
||||
* The Original Code is: all of this file.
|
||||
*
|
||||
* Contributor(s): none yet.
|
||||
*
|
||||
* ***** END GPL LICENSE BLOCK *****
|
||||
*/
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include <config.h>
|
||||
#endif
|
||||
|
||||
#ifdef WIN32
|
||||
#pragma warning (disable:4786) // Get rid of stupid stl-visual compiler debug warning
|
||||
#endif //WIN32
|
||||
|
||||
#include "SND_WaveCache.h"
|
||||
#include <stdio.h>
|
||||
|
||||
#ifdef __APPLE__
|
||||
# include <sys/malloc.h>
|
||||
#else
|
||||
# ifdef __FreeBSD__
|
||||
# include <stdlib.h>
|
||||
# else
|
||||
# include <malloc.h>
|
||||
# endif
|
||||
#endif
|
||||
|
||||
SND_WaveCache::SND_WaveCache()
|
||||
{
|
||||
// do the buffer administration
|
||||
for (int i = 0; i < NUM_BUFFERS; i++)
|
||||
m_bufferList[i] = NULL;
|
||||
}
|
||||
|
||||
|
||||
|
||||
SND_WaveCache::~SND_WaveCache()
|
||||
{
|
||||
// clean up the mess
|
||||
FreeSamples();
|
||||
RemoveAllSamples();
|
||||
}
|
||||
|
||||
|
||||
|
||||
SND_WaveSlot* SND_WaveCache::GetWaveSlot(const STR_String& samplename)
|
||||
{
|
||||
SND_WaveSlot* waveslot = NULL;
|
||||
|
||||
std::map<STR_String, SND_WaveSlot*>::iterator find_result = m_samplecache.find(samplename);
|
||||
|
||||
// let's see if we have already loaded this sample
|
||||
if (find_result != m_samplecache.end())
|
||||
{
|
||||
waveslot = (*find_result).second;
|
||||
}
|
||||
else
|
||||
{
|
||||
// so the sample wasn't loaded, so do it here
|
||||
for (int bufnum = 0; bufnum < NUM_BUFFERS; bufnum++)
|
||||
{
|
||||
// find an empty buffer
|
||||
if (m_bufferList[bufnum] == NULL)
|
||||
{
|
||||
waveslot = new SND_WaveSlot();
|
||||
waveslot->SetSampleName(samplename);
|
||||
waveslot->SetBuffer(bufnum);
|
||||
m_bufferList[bufnum] = waveslot;
|
||||
break;
|
||||
}
|
||||
}
|
||||
m_samplecache.insert(std::pair<STR_String, SND_WaveSlot*>(samplename, waveslot));
|
||||
}
|
||||
|
||||
return waveslot;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void SND_WaveCache::RemoveAllSamples()
|
||||
{
|
||||
// remove all samples
|
||||
m_samplecache.clear();
|
||||
|
||||
// reset the list of buffers
|
||||
for (int i = 0; i < NUM_BUFFERS; i++)
|
||||
m_bufferList[i] = NULL;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void SND_WaveCache::RemoveSample(const STR_String& samplename, int buffer)
|
||||
{
|
||||
m_samplecache.erase(samplename);
|
||||
m_bufferList[buffer] = NULL;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void SND_WaveCache::FreeSamples()
|
||||
{
|
||||
// iterate through the bufferlist and delete the waveslot if present
|
||||
for (int i = 0; i < NUM_BUFFERS; i++)
|
||||
{
|
||||
if (m_bufferList[i])
|
||||
{
|
||||
delete m_bufferList[i];
|
||||
m_bufferList[i] = NULL;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,180 +0,0 @@
|
|||
/**
|
||||
* $Id$
|
||||
* ***** BEGIN GPL LICENSE BLOCK *****
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software Foundation,
|
||||
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
|
||||
* All rights reserved.
|
||||
*
|
||||
* The Original Code is: all of this file.
|
||||
*
|
||||
* Contributor(s): none yet.
|
||||
*
|
||||
* ***** END GPL LICENSE BLOCK *****
|
||||
*/
|
||||
|
||||
#include "SND_WaveSlot.h"
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include <config.h>
|
||||
#endif
|
||||
|
||||
SND_WaveSlot::~SND_WaveSlot()
|
||||
{
|
||||
#ifdef ONTKEVER
|
||||
printf("neeeeeee...\n");
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
|
||||
void SND_WaveSlot::SetSampleName(STR_String samplename)
|
||||
{
|
||||
m_samplename = samplename;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void SND_WaveSlot::SetLoaded(bool loaded)
|
||||
{
|
||||
m_loaded = loaded;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void SND_WaveSlot::SetData(void* data)
|
||||
{
|
||||
m_data = data;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void SND_WaveSlot::SetBuffer(unsigned int buffer)
|
||||
{
|
||||
m_buffer = buffer;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void SND_WaveSlot::SetSampleFormat(unsigned int sampleformat)
|
||||
{
|
||||
m_sampleformat = sampleformat;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void SND_WaveSlot::SetNumberOfChannels(unsigned int numberofchannels)
|
||||
{
|
||||
m_numberofchannels = numberofchannels;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void SND_WaveSlot::SetSampleRate(unsigned int samplerate)
|
||||
{
|
||||
m_samplerate = samplerate;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void SND_WaveSlot::SetBitRate(unsigned int bitrate)
|
||||
{
|
||||
m_bitrate = bitrate;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void SND_WaveSlot::SetNumberOfSamples(unsigned int numberofsamples)
|
||||
{
|
||||
m_numberofsamples = numberofsamples;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void SND_WaveSlot::SetFileSize(unsigned int filesize)
|
||||
{
|
||||
m_filesize = filesize;
|
||||
}
|
||||
|
||||
|
||||
|
||||
const STR_String& SND_WaveSlot::GetSampleName()
|
||||
{
|
||||
return m_samplename;
|
||||
}
|
||||
|
||||
|
||||
|
||||
bool SND_WaveSlot::IsLoaded() const
|
||||
{
|
||||
return m_loaded;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void* SND_WaveSlot::GetData()
|
||||
{
|
||||
return m_data;
|
||||
}
|
||||
|
||||
|
||||
|
||||
unsigned int SND_WaveSlot::GetBuffer() const
|
||||
{
|
||||
return m_buffer;
|
||||
}
|
||||
|
||||
|
||||
|
||||
unsigned int SND_WaveSlot::GetSampleFormat() const
|
||||
{
|
||||
return m_sampleformat;
|
||||
}
|
||||
|
||||
|
||||
|
||||
unsigned int SND_WaveSlot::GetNumberOfChannels() const
|
||||
{
|
||||
return m_numberofchannels;
|
||||
}
|
||||
|
||||
|
||||
|
||||
unsigned int SND_WaveSlot::GetSampleRate() const
|
||||
{
|
||||
return m_samplerate;
|
||||
}
|
||||
|
||||
|
||||
|
||||
unsigned int SND_WaveSlot::GetBitRate() const
|
||||
{
|
||||
return m_bitrate;
|
||||
}
|
||||
|
||||
|
||||
|
||||
unsigned int SND_WaveSlot::GetNumberOfSamples() const
|
||||
{
|
||||
return m_numberofsamples;
|
||||
}
|
||||
|
||||
|
||||
|
||||
unsigned int SND_WaveSlot::GetFileSize() const
|
||||
{
|
||||
return m_filesize;
|
||||
}
|
|
@ -1,206 +0,0 @@
|
|||
# Microsoft Developer Studio Project File - Name="SoundSystem" - Package Owner=<4>
|
||||
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||
# ** DO NOT EDIT **
|
||||
|
||||
# TARGTYPE "Win32 (x86) Static Library" 0x0104
|
||||
|
||||
CFG=SoundSystem - Win32 Release
|
||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||
!MESSAGE use the Export Makefile command and run
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "SoundSystem.mak".
|
||||
!MESSAGE
|
||||
!MESSAGE You can specify a configuration when running NMAKE
|
||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "SoundSystem.mak" CFG="SoundSystem - Win32 Release"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE "SoundSystem - Win32 Release" (based on "Win32 (x86) Static Library")
|
||||
!MESSAGE "SoundSystem - Win32 Debug" (based on "Win32 (x86) Static Library")
|
||||
!MESSAGE
|
||||
|
||||
# Begin Project
|
||||
# PROP AllowPerConfigDependencies 0
|
||||
# PROP Scc_ProjName ""
|
||||
# PROP Scc_LocalPath ""
|
||||
CPP=cl.exe
|
||||
RSC=rc.exe
|
||||
|
||||
!IF "$(CFG)" == "SoundSystem - Win32 Release"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 0
|
||||
# PROP BASE Output_Dir "Release"
|
||||
# PROP BASE Intermediate_Dir "Release"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 0
|
||||
# PROP Output_Dir "..\..\..\..\obj\windows\intern\soundsystem"
|
||||
# PROP Intermediate_Dir "..\..\..\..\obj\windows\intern\soundsystem"
|
||||
# PROP Target_Dir ""
|
||||
LINK32=link.exe -lib
|
||||
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c
|
||||
# ADD CPP /nologo /MT /W3 /GX /O2 /I "../../" /I "../../../../../lib/windows/string/include" /I "../../../../../lib/windows/moto/include" /I "../../dummy" /I "../../openal" /I "..\..\..\string" /D "NDEBUG" /D "WIN32" /D "_MBCS" /D "_LIB" /YX /J /FD /c
|
||||
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
||||
# ADD RSC /l 0x409 /d "NDEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LIB32=link.exe -lib
|
||||
# ADD BASE LIB32 /nologo
|
||||
# ADD LIB32 /nologo /out:"..\..\..\..\obj\windows\intern\soundsystem\libSoundSystem.lib"
|
||||
# Begin Special Build Tool
|
||||
SOURCE="$(InputPath)"
|
||||
PostBuild_Cmds=ECHO Copying header files XCOPY /Y ..\..\*.h ..\..\..\..\..\lib\windows\SoundSystem\include\*.h ECHO Copying lib XCOPY /Y ..\..\..\..\obj\windows\intern\soundsystem\*.lib ..\..\..\..\..\lib\windows\SoundSystem\lib\*.a ECHO Done
|
||||
# End Special Build Tool
|
||||
|
||||
!ELSEIF "$(CFG)" == "SoundSystem - Win32 Debug"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir "SoundSystem___Win32_Debug"
|
||||
# PROP BASE Intermediate_Dir "SoundSystem___Win32_Debug"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir "..\..\..\..\obj\windows\intern\soundsystem\debug"
|
||||
# PROP Intermediate_Dir "..\..\..\..\obj\windows\intern\soundsystem\debug"
|
||||
# PROP Target_Dir ""
|
||||
LINK32=link.exe -lib
|
||||
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c
|
||||
# ADD CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /I "../../" /I "../../../../../lib/windows/string/include" /I "../../../../../lib/windows/moto/include" /I "../../dummy" /I "../../openal" /I "..\..\..\string" /D "_DEBUG" /D "WIN32" /D "_MBCS" /D "_LIB" /YX /J /FD /c
|
||||
# ADD BASE RSC /l 0x409 /d "_DEBUG"
|
||||
# ADD RSC /l 0x409 /d "_DEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LIB32=link.exe -lib
|
||||
# ADD BASE LIB32 /nologo
|
||||
# ADD LIB32 /nologo /out:"..\..\..\..\obj\windows\intern\soundsystem\debug\libSoundSystem.lib"
|
||||
# Begin Special Build Tool
|
||||
SOURCE="$(InputPath)"
|
||||
PostBuild_Cmds=ECHO Copying header files XCOPY /Y ..\..\*.h ..\..\..\..\..\lib\windows\SoundSystem\include\*.h ECHO Copying lib XCOPY /Y ..\..\..\..\obj\windows\intern\soundsystem\debug\*.lib ..\..\..\..\..\lib\windows\SoundSystem\lib\debug\*.a ECHO Done
|
||||
# End Special Build Tool
|
||||
|
||||
!ENDIF
|
||||
|
||||
# Begin Target
|
||||
|
||||
# Name "SoundSystem - Win32 Release"
|
||||
# Name "SoundSystem - Win32 Debug"
|
||||
# Begin Group "Source Files"
|
||||
|
||||
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\intern\SND_AudioDevice.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE="..\..\intern\SND_C-api.cpp"
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\intern\SND_CDObject.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\intern\SND_DeviceManager.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\intern\SND_IdObject.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\intern\SND_Scene.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\intern\SND_SoundListener.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\intern\SND_SoundObject.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\intern\SND_Utils.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\intern\SND_WaveCache.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\intern\SND_WaveSlot.cpp
|
||||
# End Source File
|
||||
# End Group
|
||||
# Begin Group "Header Files"
|
||||
|
||||
# PROP Default_Filter "h;hpp;hxx;hm;inl"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\intern\SND_AudioDevice.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE="..\..\SND_C-api.h"
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\SND_CDObject.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\SND_DependKludge.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\SND_DeviceManager.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\SND_IAudioDevice.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\intern\SND_IdObject.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\SND_Object.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\SND_Scene.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\SND_SoundListener.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\SND_SoundObject.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\SND_Utils.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\SND_WaveCache.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\SND_WaveSlot.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\SoundDefines.h
|
||||
# End Source File
|
||||
# End Group
|
||||
# End Target
|
||||
# End Project
|
|
@ -1,103 +0,0 @@
|
|||
# Microsoft Developer Studio Project File - Name="DummySoundSystem" - Package Owner=<4>
|
||||
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||
# ** DO NOT EDIT **
|
||||
|
||||
# TARGTYPE "Win32 (x86) Static Library" 0x0104
|
||||
|
||||
CFG=DummySoundSystem - Win32 Release
|
||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||
!MESSAGE use the Export Makefile command and run
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "DummySoundSystem.mak".
|
||||
!MESSAGE
|
||||
!MESSAGE You can specify a configuration when running NMAKE
|
||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "DummySoundSystem.mak" CFG="DummySoundSystem - Win32 Release"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE "DummySoundSystem - Win32 Release" (based on "Win32 (x86) Static Library")
|
||||
!MESSAGE "DummySoundSystem - Win32 Debug" (based on "Win32 (x86) Static Library")
|
||||
!MESSAGE
|
||||
|
||||
# Begin Project
|
||||
# PROP AllowPerConfigDependencies 0
|
||||
# PROP Scc_ProjName ""
|
||||
# PROP Scc_LocalPath ""
|
||||
CPP=cl.exe
|
||||
RSC=rc.exe
|
||||
|
||||
!IF "$(CFG)" == "DummySoundSystem - Win32 Release"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 0
|
||||
# PROP BASE Output_Dir "Release"
|
||||
# PROP BASE Intermediate_Dir "Release"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 0
|
||||
# PROP Output_Dir "..\..\..\..\..\obj\windows\intern\soundsystem\dummy"
|
||||
# PROP Intermediate_Dir "..\..\..\..\..\obj\windows\intern\soundsystem\dummy"
|
||||
# PROP Target_Dir ""
|
||||
LINK32=link.exe -lib
|
||||
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c
|
||||
# ADD CPP /nologo /MT /W3 /GX /O2 /I "..\..\..\intern" /I "..\..\..\..\SoundSystem" /I "..\..\..\..\moto\include" /I "..\..\..\..\string" /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /J /FD /c
|
||||
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
||||
# ADD RSC /l 0x409 /d "NDEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LIB32=link.exe -lib
|
||||
# ADD BASE LIB32 /nologo
|
||||
# ADD LIB32 /nologo /out:"..\..\..\..\..\obj\windows\intern\soundsystem\dummy\libDummySoundSystem.lib"
|
||||
|
||||
!ELSEIF "$(CFG)" == "DummySoundSystem - Win32 Debug"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir "Debug"
|
||||
# PROP BASE Intermediate_Dir "Debug"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir "..\..\..\..\..\obj\windows\intern\soundsystem\dummy\debug"
|
||||
# PROP Intermediate_Dir "..\..\..\..\..\obj\windows\intern\soundsystem\dummy\debug"
|
||||
# PROP Target_Dir ""
|
||||
LINK32=link.exe -lib
|
||||
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c
|
||||
# ADD CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /I "..\..\..\intern" /I "..\..\..\..\SoundSystem" /I "..\..\..\..\moto\include" /I "..\..\..\..\string" /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /J /FD /c
|
||||
# SUBTRACT CPP /Fr
|
||||
# ADD BASE RSC /l 0x409 /d "_DEBUG"
|
||||
# ADD RSC /l 0x409 /d "_DEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LIB32=link.exe -lib
|
||||
# ADD BASE LIB32 /nologo
|
||||
# ADD LIB32 /nologo /out:"..\..\..\..\..\obj\windows\intern\soundsystem\dummy\debug\libDummySoundSystem.lib"
|
||||
|
||||
!ENDIF
|
||||
|
||||
# Begin Target
|
||||
|
||||
# Name "DummySoundSystem - Win32 Release"
|
||||
# Name "DummySoundSystem - Win32 Debug"
|
||||
# Begin Group "Source Files"
|
||||
|
||||
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\..\dummy\SND_DummyDevice.cpp
|
||||
# End Source File
|
||||
# End Group
|
||||
# Begin Group "Header Files"
|
||||
|
||||
# PROP Default_Filter "h;hpp;hxx;hm;inl"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\..\dummy\SND_DummyDevice.h
|
||||
# End Source File
|
||||
# End Group
|
||||
# End Target
|
||||
# End Project
|
|
@ -1,106 +0,0 @@
|
|||
# Microsoft Developer Studio Project File - Name="OpenALSoundSystem" - Package Owner=<4>
|
||||
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||
# ** DO NOT EDIT **
|
||||
|
||||
# TARGTYPE "Win32 (x86) Static Library" 0x0104
|
||||
|
||||
CFG=OpenALSoundSystem - Win32 Release
|
||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||
!MESSAGE use the Export Makefile command and run
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "OpenALSoundSystem.mak".
|
||||
!MESSAGE
|
||||
!MESSAGE You can specify a configuration when running NMAKE
|
||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "OpenALSoundSystem.mak" CFG="OpenALSoundSystem - Win32 Release"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE "OpenALSoundSystem - Win32 Release" (based on "Win32 (x86) Static Library")
|
||||
!MESSAGE "OpenALSoundSystem - Win32 Debug" (based on "Win32 (x86) Static Library")
|
||||
!MESSAGE
|
||||
|
||||
# Begin Project
|
||||
# PROP AllowPerConfigDependencies 0
|
||||
# PROP Scc_ProjName ""
|
||||
# PROP Scc_LocalPath ""
|
||||
CPP=cl.exe
|
||||
RSC=rc.exe
|
||||
|
||||
!IF "$(CFG)" == "OpenALSoundSystem - Win32 Release"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 0
|
||||
# PROP BASE Output_Dir "Release"
|
||||
# PROP BASE Intermediate_Dir "Release"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 0
|
||||
# PROP Output_Dir "..\..\..\..\..\obj\windows\intern\soundsystem\openal"
|
||||
# PROP Intermediate_Dir "..\..\..\..\..\obj\windows\intern\soundsystem\openal"
|
||||
# PROP Target_Dir ""
|
||||
LINK32=link.exe -lib
|
||||
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c
|
||||
# ADD CPP /nologo /MT /W3 /GX /O2 /I "..\..\..\intern" /I "..\..\..\..\SoundSystem" /I "..\..\..\..\SoundSystem\sdl" /I "..\..\..\..\moto\include" /I "..\..\..\..\string" /I "..\..\..\..\..\..\lib\windows\openal\include" /I "..\..\..\..\..\..\lib\windows\sdl\include" /D "NDEBUG" /D "WIN32" /D "_MBCS" /D "_LIB" /YX /J /FD /c
|
||||
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
||||
# ADD RSC /l 0x409 /d "NDEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LIB32=link.exe -lib
|
||||
# ADD BASE LIB32 /nologo
|
||||
# ADD LIB32 /nologo /out:"..\..\..\..\..\obj\windows\intern\soundsystem\openal\libOpenALSoundSystem.lib"
|
||||
|
||||
!ELSEIF "$(CFG)" == "OpenALSoundSystem - Win32 Debug"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir "OpenALSoundSystem___Win32_Debug"
|
||||
# PROP BASE Intermediate_Dir "OpenALSoundSystem___Win32_Debug"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir "..\..\..\..\..\obj\windows\intern\soundsystem\openal\debug"
|
||||
# PROP Intermediate_Dir "..\..\..\..\..\obj\windows\intern\soundsystem\openal\debug"
|
||||
# PROP Target_Dir ""
|
||||
LINK32=link.exe -lib
|
||||
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c
|
||||
# ADD CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /I "..\..\..\intern" /I "..\..\..\..\SoundSystem" /I "..\..\..\..\SoundSystem\sdl" /I "..\..\..\..\moto\include" /I "..\..\..\..\string" /I "..\..\..\..\..\..\lib\windows\sdl\include" /I "..\..\..\..\..\..\lib\windows\openal\include" /D "_DEBUG" /D "WIN32" /D "_MBCS" /D "_LIB" /YX /J /FD /c
|
||||
# ADD BASE RSC /l 0x409 /d "_DEBUG"
|
||||
# ADD RSC /l 0x409 /d "_DEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LIB32=link.exe -lib
|
||||
# ADD BASE LIB32 /nologo
|
||||
# ADD LIB32 /nologo /out:"..\..\..\..\..\obj\windows\intern\soundsystem\openal\debug\libOpenALSoundSystem.lib"
|
||||
|
||||
!ENDIF
|
||||
|
||||
# Begin Target
|
||||
|
||||
# Name "OpenALSoundSystem - Win32 Release"
|
||||
# Name "OpenALSoundSystem - Win32 Debug"
|
||||
# Begin Group "Source Files"
|
||||
|
||||
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\..\openal\SND_OpenALDevice.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\..\sdl\SND_SDLCDDevice.cpp
|
||||
# End Source File
|
||||
# End Group
|
||||
# Begin Group "Header Files"
|
||||
|
||||
# PROP Default_Filter "h;hpp;hxx;hm;inl"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\..\openal\SND_OpenALDevice.h
|
||||
# End Source File
|
||||
# End Group
|
||||
# End Target
|
||||
# End Project
|
|
@ -1,339 +0,0 @@
|
|||
<?xml version="1.0" encoding="Windows-1252"?>
|
||||
<VisualStudioProject
|
||||
ProjectType="Visual C++"
|
||||
Version="7.10"
|
||||
Name="SoundSystem"
|
||||
ProjectGUID="{98330220-47A6-42E0-9DE4-AD0FF5D204D6}"
|
||||
SccProjectName=""
|
||||
SccLocalPath="">
|
||||
<Platforms>
|
||||
<Platform
|
||||
Name="Win32"/>
|
||||
</Platforms>
|
||||
<Configurations>
|
||||
<Configuration
|
||||
Name="Blender Debug|Win32"
|
||||
OutputDirectory="..\..\..\..\..\build\msvc_7\intern\soundsystem\debug"
|
||||
IntermediateDirectory="..\..\..\..\..\build\msvc_7\intern\soundsystem\debug"
|
||||
ConfigurationType="4"
|
||||
UseOfMFC="0"
|
||||
ATLMinimizesCRunTimeLibraryUsage="FALSE"
|
||||
CharacterSet="2">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..\..;..\..\dummy;..\..\openal;..\..\..\..\..\build\msvc_7\intern\string\include;..\..\..\..\..\build\msvc_7\intern\moto\include"
|
||||
PreprocessorDefinitions="_DEBUG,WIN32,_LIB"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="1"
|
||||
DefaultCharIsUnsigned="TRUE"
|
||||
UsePrecompiledHeader="2"
|
||||
PrecompiledHeaderFile="..\..\..\..\..\build\msvc_7\intern\soundsystem\debug\SoundSystem.pch"
|
||||
AssemblerListingLocation="..\..\..\..\..\build\msvc_7\intern\soundsystem\debug\"
|
||||
ObjectFile="..\..\..\..\..\build\msvc_7\intern\soundsystem\debug\"
|
||||
ProgramDataBaseFileName="..\..\..\..\..\build\msvc_7\intern\soundsystem\debug\"
|
||||
WarningLevel="2"
|
||||
SuppressStartupBanner="TRUE"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="0"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
Name="VCLibrarianTool"
|
||||
OutputFile="..\..\..\..\..\build\msvc_7\libs\intern\debug\libSoundSystem.lib"
|
||||
SuppressStartupBanner="TRUE"/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
Description="Copying SND SoundSystem files library (debug target) to lib tree."
|
||||
CommandLine="ECHO Copying header files
|
||||
IF NOT EXIST ..\..\..\..\..\build\msvc_7\intern\SoundSystem\include MKDIR ..\..\..\..\..\build\msvc_7\intern\SoundSystem\include
|
||||
XCOPY /Y ..\..\*.h ..\..\..\..\..\build\msvc_7\intern\SoundSystem\include
|
||||
ECHO Done
|
||||
"/>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions="_DEBUG"
|
||||
Culture="1033"/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCManagedWrapperGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Blender Release|Win32"
|
||||
OutputDirectory="..\..\..\..\..\build\msvc_7\intern\soundsystem"
|
||||
IntermediateDirectory="..\..\..\..\..\build\msvc_7\intern\soundsystem"
|
||||
ConfigurationType="4"
|
||||
UseOfMFC="0"
|
||||
ATLMinimizesCRunTimeLibraryUsage="FALSE"
|
||||
CharacterSet="2">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
InlineFunctionExpansion="1"
|
||||
AdditionalIncludeDirectories="..\..;..\..\dummy;..\..\openal;..\..\..\..\..\build\msvc_7\intern\string\include;..\..\..\..\..\build\msvc_7\intern\moto\include"
|
||||
PreprocessorDefinitions="NDEBUG,WIN32,_LIB"
|
||||
StringPooling="TRUE"
|
||||
RuntimeLibrary="0"
|
||||
EnableFunctionLevelLinking="TRUE"
|
||||
DefaultCharIsUnsigned="TRUE"
|
||||
UsePrecompiledHeader="2"
|
||||
PrecompiledHeaderFile="..\..\..\..\..\build\msvc_7\intern\soundsystem\SoundSystem.pch"
|
||||
AssemblerListingLocation="..\..\..\..\..\build\msvc_7\intern\soundsystem\"
|
||||
ObjectFile="..\..\..\..\..\build\msvc_7\intern\soundsystem\"
|
||||
ProgramDataBaseFileName="..\..\..\..\..\build\msvc_7\intern\soundsystem\"
|
||||
WarningLevel="2"
|
||||
SuppressStartupBanner="TRUE"
|
||||
CompileAs="0"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
Name="VCLibrarianTool"
|
||||
OutputFile="..\..\..\..\..\build\msvc_7\libs\intern\libSoundSystem.lib"
|
||||
SuppressStartupBanner="TRUE"/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
Description="Copying SND SoundSystem files library to lib tree."
|
||||
CommandLine="ECHO Copying header files
|
||||
IF NOT EXIST ..\..\..\..\..\build\msvc_7\intern\SoundSystem\include MKDIR ..\..\..\..\..\build\msvc_7\intern\SoundSystem\include
|
||||
XCOPY /Y ..\..\*.h ..\..\..\..\..\build\msvc_7\intern\SoundSystem\include
|
||||
ECHO Done
|
||||
"/>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions="NDEBUG"
|
||||
Culture="1033"/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCManagedWrapperGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="3DPlugin Release|Win32"
|
||||
OutputDirectory="..\..\..\..\..\build\msvc_7\intern\soundsystem\mtdll"
|
||||
IntermediateDirectory="..\..\..\..\..\build\msvc_7\intern\soundsystem\mtdll"
|
||||
ConfigurationType="4"
|
||||
UseOfMFC="0"
|
||||
ATLMinimizesCRunTimeLibraryUsage="FALSE"
|
||||
CharacterSet="2">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
InlineFunctionExpansion="1"
|
||||
AdditionalIncludeDirectories="..\..;..\..\dummy;..\..\openal;..\..\..\..\..\build\msvc_7\intern\string\include;..\..\..\..\..\build\msvc_7\intern\moto\include"
|
||||
PreprocessorDefinitions="NDEBUG,WIN32,_LIB"
|
||||
StringPooling="TRUE"
|
||||
RuntimeLibrary="2"
|
||||
EnableFunctionLevelLinking="TRUE"
|
||||
DefaultCharIsUnsigned="TRUE"
|
||||
UsePrecompiledHeader="2"
|
||||
PrecompiledHeaderFile="..\..\..\..\..\build\msvc_7\intern\soundsystem\mtdll\SoundSystem.pch"
|
||||
AssemblerListingLocation="..\..\..\..\..\build\msvc_7\intern\soundsystem\mtdll\"
|
||||
ObjectFile="..\..\..\..\..\build\msvc_7\intern\soundsystem\mtdll\"
|
||||
ProgramDataBaseFileName="..\..\..\..\..\build\msvc_7\intern\soundsystem\mtdll\"
|
||||
WarningLevel="2"
|
||||
SuppressStartupBanner="TRUE"
|
||||
CompileAs="0"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
Name="VCLibrarianTool"
|
||||
OutputFile="..\..\..\..\..\build\msvc_7\libs\intern\mtdll\libSoundSystem.lib"
|
||||
SuppressStartupBanner="TRUE"/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
Description="Copying SND SoundSystem files library to lib tree."
|
||||
CommandLine="ECHO Copying header files
|
||||
IF NOT EXIST ..\..\..\..\..\build\msvc_7\intern\SoundSystem\include MKDIR ..\..\..\..\..\build\msvc_7\intern\SoundSystem\include
|
||||
XCOPY /Y ..\..\*.h ..\..\..\..\..\build\msvc_7\intern\SoundSystem\include
|
||||
ECHO Done
|
||||
"/>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions="NDEBUG"
|
||||
Culture="1033"/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCManagedWrapperGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="3DPlugin Debug|Win32"
|
||||
OutputDirectory="..\..\..\..\..\build\msvc_7\intern\soundsystem\mtdll\debug"
|
||||
IntermediateDirectory="..\..\..\..\..\build\msvc_7\intern\soundsystem\mtdll\debug"
|
||||
ConfigurationType="4"
|
||||
UseOfMFC="0"
|
||||
ATLMinimizesCRunTimeLibraryUsage="FALSE"
|
||||
CharacterSet="2">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..\..;..\..\dummy;..\..\openal;..\..\..\..\..\build\msvc_7\intern\string\include;..\..\..\..\..\build\msvc_7\intern\moto\include"
|
||||
PreprocessorDefinitions="_DEBUG,WIN32,_LIB"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="3"
|
||||
DefaultCharIsUnsigned="TRUE"
|
||||
UsePrecompiledHeader="2"
|
||||
PrecompiledHeaderFile="..\..\..\..\..\build\msvc_7\intern\soundsystem\mtdll\debug\SoundSystem.pch"
|
||||
AssemblerListingLocation="..\..\..\..\..\build\msvc_7\intern\soundsystem\mtdll\debug\"
|
||||
ObjectFile="..\..\..\..\..\build\msvc_7\intern\soundsystem\mtdll\debug\"
|
||||
ProgramDataBaseFileName="..\..\..\..\..\build\msvc_7\intern\soundsystem\mtdll\debug\"
|
||||
WarningLevel="2"
|
||||
SuppressStartupBanner="TRUE"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="0"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
Name="VCLibrarianTool"
|
||||
OutputFile="..\..\..\..\..\build\msvc_7\libs\intern\mtdll\debug\libSoundSystem.lib"
|
||||
SuppressStartupBanner="TRUE"/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
Description="Copying SND SoundSystem files library (debug target) to lib tree."
|
||||
CommandLine="ECHO Copying header files
|
||||
IF NOT EXIST ..\..\..\..\..\build\msvc_7\intern\SoundSystem\include MKDIR ..\..\..\..\..\build\msvc_7\intern\SoundSystem\include
|
||||
XCOPY /Y ..\..\*.h ..\..\..\..\..\build\msvc_7\intern\SoundSystem\include
|
||||
ECHO Done
|
||||
"/>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions="_DEBUG"
|
||||
Culture="1033"/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCManagedWrapperGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
|
||||
</Configuration>
|
||||
</Configurations>
|
||||
<References>
|
||||
</References>
|
||||
<Files>
|
||||
<Filter
|
||||
Name="Source Files"
|
||||
Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat">
|
||||
<File
|
||||
RelativePath="..\..\intern\SND_AudioDevice.cpp">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\intern\SND_C-api.cpp">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\intern\SND_CDObject.cpp">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\intern\SND_DeviceManager.cpp">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\intern\SND_IdObject.cpp">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\intern\SND_Scene.cpp">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\intern\SND_SoundListener.cpp">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\intern\SND_SoundObject.cpp">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\intern\SND_Utils.cpp">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\intern\SND_WaveCache.cpp">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\intern\SND_WaveSlot.cpp">
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="Header Files"
|
||||
Filter="h;hpp;hxx;hm;inl">
|
||||
<File
|
||||
RelativePath="..\..\intern\SND_AudioDevice.h">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\SND_C-api.h">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\SND_CDObject.h">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\SND_DependKludge.h">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\SND_DeviceManager.h">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\SND_IAudioDevice.h">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\intern\SND_IdObject.h">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\SND_Object.h">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\SND_Scene.h">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\SND_SoundListener.h">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\SND_SoundObject.h">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\SND_Utils.h">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\SND_WaveCache.h">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\SND_WaveSlot.h">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\SoundDefines.h">
|
||||
</File>
|
||||
</Filter>
|
||||
</Files>
|
||||
<Globals>
|
||||
</Globals>
|
||||
</VisualStudioProject>
|
|
@ -1,243 +0,0 @@
|
|||
<?xml version="1.0" encoding="Windows-1252"?>
|
||||
<VisualStudioProject
|
||||
ProjectType="Visual C++"
|
||||
Version="7.10"
|
||||
Name="DummySoundSystem"
|
||||
ProjectGUID="{FAF46346-65CC-4DB2-85C4-B99826F79D0C}"
|
||||
SccProjectName=""
|
||||
SccLocalPath="">
|
||||
<Platforms>
|
||||
<Platform
|
||||
Name="Win32"/>
|
||||
</Platforms>
|
||||
<Configurations>
|
||||
<Configuration
|
||||
Name="Blender Release|Win32"
|
||||
OutputDirectory="..\..\..\..\..\..\build\msvc_7\intern\soundsystem\dummy"
|
||||
IntermediateDirectory="..\..\..\..\..\..\build\msvc_7\intern\soundsystem\dummy"
|
||||
ConfigurationType="4"
|
||||
UseOfMFC="0"
|
||||
ATLMinimizesCRunTimeLibraryUsage="FALSE"
|
||||
CharacterSet="2">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
InlineFunctionExpansion="1"
|
||||
AdditionalIncludeDirectories="..\..\..\intern;..\..\..\..\..\..\build\msvc_7\intern\string\include;..\..\..\..\..\..\build\msvc_7\intern\soundsystem\include;..\..\..\..\..\..\build\msvc_7\intern\moto\include"
|
||||
PreprocessorDefinitions="WIN32,NDEBUG,_LIB"
|
||||
StringPooling="TRUE"
|
||||
RuntimeLibrary="0"
|
||||
EnableFunctionLevelLinking="TRUE"
|
||||
DefaultCharIsUnsigned="TRUE"
|
||||
UsePrecompiledHeader="2"
|
||||
PrecompiledHeaderFile="..\..\..\..\..\..\build\msvc_7\intern\soundsystem\dummy\DummySoundSystem.pch"
|
||||
AssemblerListingLocation="..\..\..\..\..\..\build\msvc_7\intern\soundsystem\dummy\"
|
||||
ObjectFile="..\..\..\..\..\..\build\msvc_7\intern\soundsystem\dummy\"
|
||||
ProgramDataBaseFileName="..\..\..\..\..\..\build\msvc_7\intern\soundsystem\dummy\"
|
||||
WarningLevel="2"
|
||||
SuppressStartupBanner="TRUE"
|
||||
CompileAs="0"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
Name="VCLibrarianTool"
|
||||
OutputFile="..\..\..\..\..\..\build\msvc_7\libs\intern\libDummySoundSystem.lib"
|
||||
SuppressStartupBanner="TRUE"/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions="NDEBUG"
|
||||
Culture="1033"/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCManagedWrapperGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Blender Debug|Win32"
|
||||
OutputDirectory="..\..\..\..\..\..\build\msvc_7\intern\soundsystem\dummy\debug"
|
||||
IntermediateDirectory="..\..\..\..\..\..\build\msvc_7\intern\soundsystem\dummy\debug"
|
||||
ConfigurationType="4"
|
||||
UseOfMFC="0"
|
||||
ATLMinimizesCRunTimeLibraryUsage="FALSE"
|
||||
CharacterSet="2">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..\..\..\intern;..\..\..\..\..\..\build\msvc_7\intern\string\include;..\..\..\..\..\..\build\msvc_7\intern\soundsystem\include;..\..\..\..\..\..\build\msvc_7\intern\moto\include"
|
||||
PreprocessorDefinitions="WIN32,_DEBUG,_LIB"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="1"
|
||||
DefaultCharIsUnsigned="TRUE"
|
||||
UsePrecompiledHeader="2"
|
||||
PrecompiledHeaderFile="..\..\..\..\..\..\build\msvc_7\intern\soundsystem\dummy\debug\DummySoundSystem.pch"
|
||||
AssemblerListingLocation="..\..\..\..\..\..\build\msvc_7\intern\soundsystem\dummy\debug\"
|
||||
ObjectFile="..\..\..\..\..\..\build\msvc_7\intern\soundsystem\dummy\debug\"
|
||||
ProgramDataBaseFileName="..\..\..\..\..\..\build\msvc_7\intern\soundsystem\dummy\debug\"
|
||||
WarningLevel="2"
|
||||
SuppressStartupBanner="TRUE"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="0"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
Name="VCLibrarianTool"
|
||||
OutputFile="..\..\..\..\..\..\build\msvc_7\libs\intern\debug\libDummySoundSystem.lib"
|
||||
SuppressStartupBanner="TRUE"/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions="_DEBUG"
|
||||
Culture="1033"/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCManagedWrapperGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="3DPlugin Release|Win32"
|
||||
OutputDirectory="..\..\..\..\..\..\build\msvc_7\intern\soundsystem\dummy\mtdll"
|
||||
IntermediateDirectory="..\..\..\..\..\..\build\msvc_7\intern\soundsystem\dummy\mtdll"
|
||||
ConfigurationType="4"
|
||||
UseOfMFC="0"
|
||||
ATLMinimizesCRunTimeLibraryUsage="FALSE"
|
||||
CharacterSet="2">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
InlineFunctionExpansion="1"
|
||||
AdditionalIncludeDirectories="..\..\..\intern;..\..\..\..\..\..\build\msvc_7\intern\string\include;..\..\..\..\..\..\build\msvc_7\intern\soundsystem\include;..\..\..\..\..\..\build\msvc_7\intern\moto\include"
|
||||
PreprocessorDefinitions="WIN32,NDEBUG,_LIB"
|
||||
StringPooling="TRUE"
|
||||
RuntimeLibrary="2"
|
||||
EnableFunctionLevelLinking="TRUE"
|
||||
DefaultCharIsUnsigned="TRUE"
|
||||
UsePrecompiledHeader="2"
|
||||
PrecompiledHeaderFile="..\..\..\..\..\..\build\msvc_7\intern\soundsystem\dummy\mtdll\DummySoundSystem.pch"
|
||||
AssemblerListingLocation="..\..\..\..\..\..\build\msvc_7\intern\soundsystem\dummy\mtdll\"
|
||||
ObjectFile="..\..\..\..\..\..\build\msvc_7\intern\soundsystem\dummy\mtdll\"
|
||||
ProgramDataBaseFileName="..\..\..\..\..\..\build\msvc_7\intern\soundsystem\dummy\mtdll\"
|
||||
WarningLevel="2"
|
||||
SuppressStartupBanner="TRUE"
|
||||
CompileAs="0"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
Name="VCLibrarianTool"
|
||||
OutputFile="..\..\..\..\..\..\build\msvc_7\libs\intern\mtdll\libDummySoundSystem.lib"
|
||||
SuppressStartupBanner="TRUE"/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions="NDEBUG"
|
||||
Culture="1033"/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCManagedWrapperGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="3DPlugin Debug|Win32"
|
||||
OutputDirectory="..\..\..\..\..\..\build\msvc_7\intern\soundsystem\dummy\mtdll\debug"
|
||||
IntermediateDirectory="..\..\..\..\..\..\build\msvc_7\intern\soundsystem\dummy\mtdll\debug"
|
||||
ConfigurationType="4"
|
||||
UseOfMFC="0"
|
||||
ATLMinimizesCRunTimeLibraryUsage="FALSE"
|
||||
CharacterSet="2">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..\..\..\intern;..\..\..\..\..\..\build\msvc_7\intern\string\include;..\..\..\..\..\..\build\msvc_7\intern\soundsystem\include;..\..\..\..\..\..\build\msvc_7\intern\moto\include"
|
||||
PreprocessorDefinitions="WIN32,_DEBUG,_LIB"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="3"
|
||||
DefaultCharIsUnsigned="TRUE"
|
||||
UsePrecompiledHeader="2"
|
||||
PrecompiledHeaderFile="..\..\..\..\..\..\build\msvc_7\intern\soundsystem\dummy\mtdll\debug\DummySoundSystem.pch"
|
||||
AssemblerListingLocation="..\..\..\..\..\..\build\msvc_7\intern\soundsystem\dummy\mtdll\debug\"
|
||||
ObjectFile="..\..\..\..\..\..\build\msvc_7\intern\soundsystem\dummy\mtdll\debug\"
|
||||
ProgramDataBaseFileName="..\..\..\..\..\..\build\msvc_7\intern\soundsystem\dummy\mtdll\debug\"
|
||||
WarningLevel="2"
|
||||
SuppressStartupBanner="TRUE"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="0"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
Name="VCLibrarianTool"
|
||||
OutputFile="..\..\..\..\..\..\build\msvc_7\libs\intern\mtdll\debug\libDummySoundSystem.lib"
|
||||
SuppressStartupBanner="TRUE"/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions="_DEBUG"
|
||||
Culture="1033"/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCManagedWrapperGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
|
||||
</Configuration>
|
||||
</Configurations>
|
||||
<References>
|
||||
</References>
|
||||
<Files>
|
||||
<Filter
|
||||
Name="Source Files"
|
||||
Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat">
|
||||
<File
|
||||
RelativePath="..\..\..\dummy\SND_DummyDevice.cpp">
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="Header Files"
|
||||
Filter="h;hpp;hxx;hm;inl">
|
||||
<File
|
||||
RelativePath="..\..\..\dummy\SND_DummyDevice.h">
|
||||
</File>
|
||||
</Filter>
|
||||
</Files>
|
||||
<Globals>
|
||||
</Globals>
|
||||
</VisualStudioProject>
|
|
@ -1,249 +0,0 @@
|
|||
<?xml version="1.0" encoding="Windows-1252"?>
|
||||
<VisualStudioProject
|
||||
ProjectType="Visual C++"
|
||||
Version="7.10"
|
||||
Name="OpenALSoundSystem"
|
||||
ProjectGUID="{213356A9-3A1F-41DA-9819-1297BCD17DEE}"
|
||||
SccProjectName=""
|
||||
SccLocalPath="">
|
||||
<Platforms>
|
||||
<Platform
|
||||
Name="Win32"/>
|
||||
</Platforms>
|
||||
<Configurations>
|
||||
<Configuration
|
||||
Name="Blender Debug|Win32"
|
||||
OutputDirectory="..\..\..\..\..\..\build\msvc_7\intern\soundsystem\openal\debug"
|
||||
IntermediateDirectory="..\..\..\..\..\..\build\msvc_7\intern\soundsystem\openal\debug"
|
||||
ConfigurationType="4"
|
||||
UseOfMFC="0"
|
||||
ATLMinimizesCRunTimeLibraryUsage="FALSE"
|
||||
CharacterSet="2">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..\..\..\sdl;..\..\..\intern;..\..\..\..\..\..\lib\windows\sdl\include;..\..\..\..\..\..\lib\windows\openal\include;..\..\..\..\..\..\build\msvc_7\intern\soundsystem\include;..\..\..\..\..\..\build\msvc_7\intern\moto\include;..\..\..\..\..\..\build\msvc_7\intern\string\include"
|
||||
PreprocessorDefinitions="_DEBUG,WIN32,_LIB"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="1"
|
||||
DefaultCharIsUnsigned="TRUE"
|
||||
UsePrecompiledHeader="2"
|
||||
PrecompiledHeaderFile="..\..\..\..\..\..\build\msvc_7\intern\soundsystem\openal\debug\OpenALSoundSystem.pch"
|
||||
AssemblerListingLocation="..\..\..\..\..\..\build\msvc_7\intern\soundsystem\openal\debug\"
|
||||
ObjectFile="..\..\..\..\..\..\build\msvc_7\intern\soundsystem\openal\debug\"
|
||||
ProgramDataBaseFileName="..\..\..\..\..\..\build\msvc_7\intern\soundsystem\openal\debug\"
|
||||
WarningLevel="2"
|
||||
SuppressStartupBanner="TRUE"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="0"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
Name="VCLibrarianTool"
|
||||
OutputFile="..\..\..\..\..\..\build\msvc_7\libs\intern\debug\libOpenALSoundSystem.lib"
|
||||
SuppressStartupBanner="TRUE"/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions="_DEBUG"
|
||||
Culture="1033"/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCManagedWrapperGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Blender Release|Win32"
|
||||
OutputDirectory="..\..\..\..\..\..\build\msvc_7\intern\soundsystem\openal"
|
||||
IntermediateDirectory="..\..\..\..\..\..\build\msvc_7\intern\soundsystem\openal"
|
||||
ConfigurationType="4"
|
||||
UseOfMFC="0"
|
||||
ATLMinimizesCRunTimeLibraryUsage="FALSE"
|
||||
CharacterSet="2">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
InlineFunctionExpansion="1"
|
||||
AdditionalIncludeDirectories="..\..\..\sdl;..\..\..\intern;..\..\..\..\..\..\lib\windows\sdl\include;..\..\..\..\..\..\lib\windows\openal\include;..\..\..\..\..\..\build\msvc_7\intern\soundsystem\include;..\..\..\..\..\..\build\msvc_7\intern\moto\include;..\..\..\..\..\..\build\msvc_7\intern\string\include"
|
||||
PreprocessorDefinitions="NDEBUG,WIN32,_LIB"
|
||||
StringPooling="TRUE"
|
||||
RuntimeLibrary="0"
|
||||
EnableFunctionLevelLinking="TRUE"
|
||||
DefaultCharIsUnsigned="TRUE"
|
||||
UsePrecompiledHeader="2"
|
||||
PrecompiledHeaderFile="..\..\..\..\..\..\build\msvc_7\intern\soundsystem\openal\OpenALSoundSystem.pch"
|
||||
AssemblerListingLocation="..\..\..\..\..\..\build\msvc_7\intern\soundsystem\openal\"
|
||||
ObjectFile="..\..\..\..\..\..\build\msvc_7\intern\soundsystem\openal\"
|
||||
ProgramDataBaseFileName="..\..\..\..\..\..\build\msvc_7\intern\soundsystem\openal\"
|
||||
WarningLevel="2"
|
||||
SuppressStartupBanner="TRUE"
|
||||
CompileAs="0"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
Name="VCLibrarianTool"
|
||||
OutputFile="..\..\..\..\..\..\build\msvc_7\libs\intern\libOpenALSoundSystem.lib"
|
||||
SuppressStartupBanner="TRUE"/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions="NDEBUG"
|
||||
Culture="1033"/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCManagedWrapperGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="3DPlugin Release|Win32"
|
||||
OutputDirectory="..\..\..\..\..\..\build\msvc_7\intern\soundsystem\openal\mtdll"
|
||||
IntermediateDirectory="..\..\..\..\..\..\build\msvc_7\intern\soundsystem\openal\mtdll"
|
||||
ConfigurationType="4"
|
||||
UseOfMFC="0"
|
||||
ATLMinimizesCRunTimeLibraryUsage="FALSE"
|
||||
CharacterSet="2">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
InlineFunctionExpansion="1"
|
||||
AdditionalIncludeDirectories="..\..\..\sdl;..\..\..\intern;..\..\..\..\..\..\lib\windows\sdl\include;..\..\..\..\..\..\lib\windows\openal\include;..\..\..\..\..\..\build\msvc_7\intern\soundsystem\include;..\..\..\..\..\..\build\msvc_7\intern\moto\include;..\..\..\..\..\..\build\msvc_7\intern\string\include"
|
||||
PreprocessorDefinitions="NDEBUG,WIN32,_LIB"
|
||||
StringPooling="TRUE"
|
||||
RuntimeLibrary="2"
|
||||
EnableFunctionLevelLinking="TRUE"
|
||||
DefaultCharIsUnsigned="TRUE"
|
||||
UsePrecompiledHeader="2"
|
||||
PrecompiledHeaderFile="..\..\..\..\..\..\build\msvc_7\intern\soundsystem\openal\mtdll\OpenALSoundSystem.pch"
|
||||
AssemblerListingLocation="..\..\..\..\..\..\build\msvc_7\intern\soundsystem\openal\mtdll\"
|
||||
ObjectFile="..\..\..\..\..\..\build\msvc_7\intern\soundsystem\openal\mtdll\"
|
||||
ProgramDataBaseFileName="..\..\..\..\..\..\build\msvc_7\intern\soundsystem\openal\mtdll\"
|
||||
WarningLevel="2"
|
||||
SuppressStartupBanner="TRUE"
|
||||
CompileAs="0"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
Name="VCLibrarianTool"
|
||||
OutputFile="..\..\..\..\..\..\build\msvc_7\libs\intern\mtdll\libOpenALSoundSystem.lib"
|
||||
SuppressStartupBanner="TRUE"/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions="NDEBUG"
|
||||
Culture="1033"/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCManagedWrapperGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="3DPlugin Debug|Win32"
|
||||
OutputDirectory="..\..\..\..\..\..\build\msvc_7\intern\soundsystem\openal\mtdll\debug"
|
||||
IntermediateDirectory="..\..\..\..\..\..\build\msvc_7\intern\soundsystem\openal\mtdll\debug"
|
||||
ConfigurationType="4"
|
||||
UseOfMFC="0"
|
||||
ATLMinimizesCRunTimeLibraryUsage="FALSE"
|
||||
CharacterSet="2">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..\..\..\sdl;..\..\..\intern;..\..\..\..\..\..\lib\windows\sdl\include;..\..\..\..\..\..\lib\windows\openal\include;..\..\..\..\..\..\build\msvc_7\intern\soundsystem\include;..\..\..\..\..\..\build\msvc_7\intern\moto\include;..\..\..\..\..\..\build\msvc_7\intern\string\include"
|
||||
PreprocessorDefinitions="_DEBUG,WIN32,_LIB"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="3"
|
||||
DefaultCharIsUnsigned="TRUE"
|
||||
UsePrecompiledHeader="2"
|
||||
PrecompiledHeaderFile="..\..\..\..\..\..\build\msvc_7\intern\soundsystem\openal\mtdll\debug\OpenALSoundSystem.pch"
|
||||
AssemblerListingLocation="..\..\..\..\..\..\build\msvc_7\intern\soundsystem\openal\mtdll\debug\"
|
||||
ObjectFile="..\..\..\..\..\..\build\msvc_7\intern\soundsystem\openal\mtdll\debug\"
|
||||
ProgramDataBaseFileName="..\..\..\..\..\..\build\msvc_7\intern\soundsystem\openal\mtdll\debug\"
|
||||
WarningLevel="2"
|
||||
SuppressStartupBanner="TRUE"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="0"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
Name="VCLibrarianTool"
|
||||
OutputFile="..\..\..\..\..\..\build\msvc_7\libs\intern\mtdll\debug\libOpenALSoundSystem.lib"
|
||||
SuppressStartupBanner="TRUE"/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions="_DEBUG"
|
||||
Culture="1033"/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCManagedWrapperGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
|
||||
</Configuration>
|
||||
</Configurations>
|
||||
<References>
|
||||
</References>
|
||||
<Files>
|
||||
<Filter
|
||||
Name="Source Files"
|
||||
Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat">
|
||||
<File
|
||||
RelativePath="..\..\..\openal\SND_OpenALDevice.cpp">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\sdl\SND_SDLCDDevice.cpp">
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="Header Files"
|
||||
Filter="h;hpp;hxx;hm;inl">
|
||||
<File
|
||||
RelativePath="..\..\..\openal\SND_OpenALDevice.h">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\sdl\SND_SDLCDDevice.h">
|
||||
</File>
|
||||
</Filter>
|
||||
</Files>
|
||||
<Globals>
|
||||
</Globals>
|
||||
</VisualStudioProject>
|
|
@ -1,447 +0,0 @@
|
|||
<?xml version="1.0" encoding="Windows-1252"?>
|
||||
<VisualStudioProject
|
||||
ProjectType="Visual C++"
|
||||
Version="9,00"
|
||||
Name="INT_SoundSystem"
|
||||
ProjectGUID="{98330220-47A6-42E0-9DE4-AD0FF5D204D6}"
|
||||
RootNamespace="SoundSystem"
|
||||
TargetFrameworkVersion="131072"
|
||||
>
|
||||
<Platforms>
|
||||
<Platform
|
||||
Name="Win32"
|
||||
/>
|
||||
</Platforms>
|
||||
<ToolFiles>
|
||||
</ToolFiles>
|
||||
<Configurations>
|
||||
<Configuration
|
||||
Name="Blender Debug|Win32"
|
||||
OutputDirectory="..\..\..\..\..\build\msvc_9\intern\soundsystem\debug"
|
||||
IntermediateDirectory="..\..\..\..\..\build\msvc_9\intern\soundsystem\debug"
|
||||
ConfigurationType="4"
|
||||
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
|
||||
UseOfMFC="0"
|
||||
ATLMinimizesCRunTimeLibraryUsage="false"
|
||||
CharacterSet="2"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..\..;..\..\dummy;..\..\openal;..\..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\..\build\msvc_9\intern\moto\include"
|
||||
PreprocessorDefinitions="_DEBUG,WIN32,_LIB"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="1"
|
||||
DefaultCharIsUnsigned="true"
|
||||
UsePrecompiledHeader="0"
|
||||
PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\intern\soundsystem\debug\SoundSystem.pch"
|
||||
AssemblerListingLocation="..\..\..\..\..\build\msvc_9\intern\soundsystem\debug\"
|
||||
ObjectFile="..\..\..\..\..\build\msvc_9\intern\soundsystem\debug\"
|
||||
ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\intern\soundsystem\debug\"
|
||||
WarningLevel="2"
|
||||
SuppressStartupBanner="true"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="0"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions="_DEBUG"
|
||||
Culture="1033"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLibrarianTool"
|
||||
OutputFile="..\..\..\..\..\build\msvc_9\libs\intern\debug\libSoundSystem.lib"
|
||||
SuppressStartupBanner="true"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
Description="Copying SND SoundSystem files library (debug target) to lib tree."
|
||||
CommandLine="ECHO Copying header files
IF NOT EXIST ..\..\..\..\..\build\msvc_9\intern\SoundSystem\include MKDIR ..\..\..\..\..\build\msvc_9\intern\SoundSystem\include
XCOPY /Y ..\..\*.h ..\..\..\..\..\build\msvc_9\intern\SoundSystem\include
ECHO Done
"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Blender Release|Win32"
|
||||
OutputDirectory="..\..\..\..\..\build\msvc_9\intern\soundsystem"
|
||||
IntermediateDirectory="..\..\..\..\..\build\msvc_9\intern\soundsystem"
|
||||
ConfigurationType="4"
|
||||
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
|
||||
UseOfMFC="0"
|
||||
ATLMinimizesCRunTimeLibraryUsage="false"
|
||||
CharacterSet="2"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
InlineFunctionExpansion="1"
|
||||
AdditionalIncludeDirectories="..\..;..\..\dummy;..\..\openal;..\..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\..\build\msvc_9\intern\moto\include"
|
||||
PreprocessorDefinitions="NDEBUG,WIN32,_LIB"
|
||||
StringPooling="true"
|
||||
RuntimeLibrary="0"
|
||||
EnableFunctionLevelLinking="true"
|
||||
DefaultCharIsUnsigned="true"
|
||||
UsePrecompiledHeader="0"
|
||||
PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\intern\soundsystem\SoundSystem.pch"
|
||||
AssemblerListingLocation="..\..\..\..\..\build\msvc_9\intern\soundsystem\"
|
||||
ObjectFile="..\..\..\..\..\build\msvc_9\intern\soundsystem\"
|
||||
ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\intern\soundsystem\"
|
||||
WarningLevel="2"
|
||||
SuppressStartupBanner="true"
|
||||
CompileAs="0"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions="NDEBUG"
|
||||
Culture="1033"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLibrarianTool"
|
||||
OutputFile="..\..\..\..\..\build\msvc_9\libs\intern\libSoundSystem.lib"
|
||||
SuppressStartupBanner="true"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
Description="Copying SND SoundSystem files library to lib tree."
|
||||
CommandLine="ECHO Copying header files
IF NOT EXIST ..\..\..\..\..\build\msvc_9\intern\SoundSystem\include MKDIR ..\..\..\..\..\build\msvc_9\intern\SoundSystem\include
XCOPY /Y ..\..\*.h ..\..\..\..\..\build\msvc_9\intern\SoundSystem\include
ECHO Done
"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="3DPlugin Release|Win32"
|
||||
OutputDirectory="..\..\..\..\..\build\msvc_9\intern\soundsystem\mtdll"
|
||||
IntermediateDirectory="..\..\..\..\..\build\msvc_9\intern\soundsystem\mtdll"
|
||||
ConfigurationType="4"
|
||||
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
|
||||
UseOfMFC="0"
|
||||
ATLMinimizesCRunTimeLibraryUsage="false"
|
||||
CharacterSet="2"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
InlineFunctionExpansion="1"
|
||||
AdditionalIncludeDirectories="..\..;..\..\dummy;..\..\openal;..\..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\..\build\msvc_9\intern\moto\include"
|
||||
PreprocessorDefinitions="NDEBUG,WIN32,_LIB"
|
||||
StringPooling="true"
|
||||
RuntimeLibrary="2"
|
||||
EnableFunctionLevelLinking="true"
|
||||
DefaultCharIsUnsigned="true"
|
||||
UsePrecompiledHeader="0"
|
||||
PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\intern\soundsystem\mtdll\SoundSystem.pch"
|
||||
AssemblerListingLocation="..\..\..\..\..\build\msvc_9\intern\soundsystem\mtdll\"
|
||||
ObjectFile="..\..\..\..\..\build\msvc_9\intern\soundsystem\mtdll\"
|
||||
ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\intern\soundsystem\mtdll\"
|
||||
WarningLevel="2"
|
||||
SuppressStartupBanner="true"
|
||||
CompileAs="0"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions="NDEBUG"
|
||||
Culture="1033"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLibrarianTool"
|
||||
OutputFile="..\..\..\..\..\build\msvc_9\libs\intern\mtdll\libSoundSystem.lib"
|
||||
SuppressStartupBanner="true"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
Description="Copying SND SoundSystem files library to lib tree."
|
||||
CommandLine="ECHO Copying header files
IF NOT EXIST ..\..\..\..\..\build\msvc_9\intern\SoundSystem\include MKDIR ..\..\..\..\..\build\msvc_9\intern\SoundSystem\include
XCOPY /Y ..\..\*.h ..\..\..\..\..\build\msvc_9\intern\SoundSystem\include
ECHO Done
"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="3DPlugin Debug|Win32"
|
||||
OutputDirectory="..\..\..\..\..\build\msvc_9\intern\soundsystem\mtdll\debug"
|
||||
IntermediateDirectory="..\..\..\..\..\build\msvc_9\intern\soundsystem\mtdll\debug"
|
||||
ConfigurationType="4"
|
||||
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
|
||||
UseOfMFC="0"
|
||||
ATLMinimizesCRunTimeLibraryUsage="false"
|
||||
CharacterSet="2"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..\..;..\..\dummy;..\..\openal;..\..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\..\build\msvc_9\intern\moto\include"
|
||||
PreprocessorDefinitions="_DEBUG,WIN32,_LIB"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="3"
|
||||
DefaultCharIsUnsigned="true"
|
||||
UsePrecompiledHeader="0"
|
||||
PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\intern\soundsystem\mtdll\debug\SoundSystem.pch"
|
||||
AssemblerListingLocation="..\..\..\..\..\build\msvc_9\intern\soundsystem\mtdll\debug\"
|
||||
ObjectFile="..\..\..\..\..\build\msvc_9\intern\soundsystem\mtdll\debug\"
|
||||
ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\intern\soundsystem\mtdll\debug\"
|
||||
WarningLevel="2"
|
||||
SuppressStartupBanner="true"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="0"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions="_DEBUG"
|
||||
Culture="1033"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLibrarianTool"
|
||||
OutputFile="..\..\..\..\..\build\msvc_9\libs\intern\mtdll\debug\libSoundSystem.lib"
|
||||
SuppressStartupBanner="true"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
Description="Copying SND SoundSystem files library (debug target) to lib tree."
|
||||
CommandLine="ECHO Copying header files
IF NOT EXIST ..\..\..\..\..\build\msvc_9\intern\SoundSystem\include MKDIR ..\..\..\..\..\build\msvc_9\intern\SoundSystem\include
XCOPY /Y ..\..\*.h ..\..\..\..\..\build\msvc_9\intern\SoundSystem\include
ECHO Done
"
|
||||
/>
|
||||
</Configuration>
|
||||
</Configurations>
|
||||
<References>
|
||||
</References>
|
||||
<Files>
|
||||
<Filter
|
||||
Name="Source Files"
|
||||
Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
||||
>
|
||||
<File
|
||||
RelativePath="..\..\intern\SND_AudioDevice.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\intern\SND_C-api.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\intern\SND_CDObject.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\intern\SND_DeviceManager.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\intern\SND_IdObject.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\intern\SND_Scene.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\intern\SND_SoundListener.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\intern\SND_SoundObject.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\intern\SND_Utils.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\intern\SND_WaveCache.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\intern\SND_WaveSlot.cpp"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="Header Files"
|
||||
Filter="h;hpp;hxx;hm;inl"
|
||||
>
|
||||
<File
|
||||
RelativePath="..\..\intern\SND_AudioDevice.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\SND_C-api.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\SND_CDObject.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\SND_DependKludge.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\SND_DeviceManager.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\SND_IAudioDevice.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\intern\SND_IdObject.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\SND_Object.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\SND_Scene.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\SND_SoundListener.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\SND_SoundObject.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\SND_Utils.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\SND_WaveCache.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\SND_WaveSlot.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\SoundDefines.h"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
</Files>
|
||||
<Globals>
|
||||
</Globals>
|
||||
</VisualStudioProject>
|
|
@ -1,343 +0,0 @@
|
|||
<?xml version="1.0" encoding="Windows-1252"?>
|
||||
<VisualStudioProject
|
||||
ProjectType="Visual C++"
|
||||
Version="9,00"
|
||||
Name="INT_DummySoundSystem"
|
||||
ProjectGUID="{FAF46346-65CC-4DB2-85C4-B99826F79D0C}"
|
||||
RootNamespace="DummySoundSystem"
|
||||
TargetFrameworkVersion="131072"
|
||||
>
|
||||
<Platforms>
|
||||
<Platform
|
||||
Name="Win32"
|
||||
/>
|
||||
</Platforms>
|
||||
<ToolFiles>
|
||||
</ToolFiles>
|
||||
<Configurations>
|
||||
<Configuration
|
||||
Name="Blender Release|Win32"
|
||||
OutputDirectory="..\..\..\..\..\..\build\msvc_9\intern\soundsystem\dummy"
|
||||
IntermediateDirectory="..\..\..\..\..\..\build\msvc_9\intern\soundsystem\dummy"
|
||||
ConfigurationType="4"
|
||||
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
|
||||
UseOfMFC="0"
|
||||
ATLMinimizesCRunTimeLibraryUsage="false"
|
||||
CharacterSet="2"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
InlineFunctionExpansion="1"
|
||||
AdditionalIncludeDirectories="..\..\..\intern;..\..\..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\..\..\build\msvc_9\intern\soundsystem\include;..\..\..\..\..\..\build\msvc_9\intern\moto\include"
|
||||
PreprocessorDefinitions="WIN32,NDEBUG,_LIB"
|
||||
StringPooling="true"
|
||||
RuntimeLibrary="0"
|
||||
EnableFunctionLevelLinking="true"
|
||||
DefaultCharIsUnsigned="true"
|
||||
UsePrecompiledHeader="0"
|
||||
PrecompiledHeaderFile="..\..\..\..\..\..\build\msvc_9\intern\soundsystem\dummy\DummySoundSystem.pch"
|
||||
AssemblerListingLocation="..\..\..\..\..\..\build\msvc_9\intern\soundsystem\dummy\"
|
||||
ObjectFile="..\..\..\..\..\..\build\msvc_9\intern\soundsystem\dummy\"
|
||||
ProgramDataBaseFileName="..\..\..\..\..\..\build\msvc_9\intern\soundsystem\dummy\"
|
||||
WarningLevel="2"
|
||||
SuppressStartupBanner="true"
|
||||
CompileAs="0"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions="NDEBUG"
|
||||
Culture="1033"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLibrarianTool"
|
||||
OutputFile="..\..\..\..\..\..\build\msvc_9\libs\intern\libDummySoundSystem.lib"
|
||||
SuppressStartupBanner="true"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Blender Debug|Win32"
|
||||
OutputDirectory="..\..\..\..\..\..\build\msvc_9\intern\soundsystem\dummy\debug"
|
||||
IntermediateDirectory="..\..\..\..\..\..\build\msvc_9\intern\soundsystem\dummy\debug"
|
||||
ConfigurationType="4"
|
||||
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
|
||||
UseOfMFC="0"
|
||||
ATLMinimizesCRunTimeLibraryUsage="false"
|
||||
CharacterSet="2"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..\..\..\intern;..\..\..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\..\..\build\msvc_9\intern\soundsystem\include;..\..\..\..\..\..\build\msvc_9\intern\moto\include"
|
||||
PreprocessorDefinitions="WIN32,_DEBUG,_LIB"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="1"
|
||||
DefaultCharIsUnsigned="true"
|
||||
UsePrecompiledHeader="0"
|
||||
PrecompiledHeaderFile="..\..\..\..\..\..\build\msvc_9\intern\soundsystem\dummy\debug\DummySoundSystem.pch"
|
||||
AssemblerListingLocation="..\..\..\..\..\..\build\msvc_9\intern\soundsystem\dummy\debug\"
|
||||
ObjectFile="..\..\..\..\..\..\build\msvc_9\intern\soundsystem\dummy\debug\"
|
||||
ProgramDataBaseFileName="..\..\..\..\..\..\build\msvc_9\intern\soundsystem\dummy\debug\"
|
||||
WarningLevel="2"
|
||||
SuppressStartupBanner="true"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="0"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions="_DEBUG"
|
||||
Culture="1033"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLibrarianTool"
|
||||
OutputFile="..\..\..\..\..\..\build\msvc_9\libs\intern\debug\libDummySoundSystem.lib"
|
||||
SuppressStartupBanner="true"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="3DPlugin Release|Win32"
|
||||
OutputDirectory="..\..\..\..\..\..\build\msvc_9\intern\soundsystem\dummy\mtdll"
|
||||
IntermediateDirectory="..\..\..\..\..\..\build\msvc_9\intern\soundsystem\dummy\mtdll"
|
||||
ConfigurationType="4"
|
||||
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
|
||||
UseOfMFC="0"
|
||||
ATLMinimizesCRunTimeLibraryUsage="false"
|
||||
CharacterSet="2"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
InlineFunctionExpansion="1"
|
||||
AdditionalIncludeDirectories="..\..\..\intern;..\..\..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\..\..\build\msvc_9\intern\soundsystem\include;..\..\..\..\..\..\build\msvc_9\intern\moto\include"
|
||||
PreprocessorDefinitions="WIN32,NDEBUG,_LIB"
|
||||
StringPooling="true"
|
||||
RuntimeLibrary="2"
|
||||
EnableFunctionLevelLinking="true"
|
||||
DefaultCharIsUnsigned="true"
|
||||
UsePrecompiledHeader="0"
|
||||
PrecompiledHeaderFile="..\..\..\..\..\..\build\msvc_9\intern\soundsystem\dummy\mtdll\DummySoundSystem.pch"
|
||||
AssemblerListingLocation="..\..\..\..\..\..\build\msvc_9\intern\soundsystem\dummy\mtdll\"
|
||||
ObjectFile="..\..\..\..\..\..\build\msvc_9\intern\soundsystem\dummy\mtdll\"
|
||||
ProgramDataBaseFileName="..\..\..\..\..\..\build\msvc_9\intern\soundsystem\dummy\mtdll\"
|
||||
WarningLevel="2"
|
||||
SuppressStartupBanner="true"
|
||||
CompileAs="0"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions="NDEBUG"
|
||||
Culture="1033"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLibrarianTool"
|
||||
OutputFile="..\..\..\..\..\..\build\msvc_9\libs\intern\mtdll\libDummySoundSystem.lib"
|
||||
SuppressStartupBanner="true"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="3DPlugin Debug|Win32"
|
||||
OutputDirectory="..\..\..\..\..\..\build\msvc_9\intern\soundsystem\dummy\mtdll\debug"
|
||||
IntermediateDirectory="..\..\..\..\..\..\build\msvc_9\intern\soundsystem\dummy\mtdll\debug"
|
||||
ConfigurationType="4"
|
||||
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
|
||||
UseOfMFC="0"
|
||||
ATLMinimizesCRunTimeLibraryUsage="false"
|
||||
CharacterSet="2"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..\..\..\intern;..\..\..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\..\..\build\msvc_9\intern\soundsystem\include;..\..\..\..\..\..\build\msvc_9\intern\moto\include"
|
||||
PreprocessorDefinitions="WIN32,_DEBUG,_LIB"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="3"
|
||||
DefaultCharIsUnsigned="true"
|
||||
UsePrecompiledHeader="0"
|
||||
PrecompiledHeaderFile="..\..\..\..\..\..\build\msvc_9\intern\soundsystem\dummy\mtdll\debug\DummySoundSystem.pch"
|
||||
AssemblerListingLocation="..\..\..\..\..\..\build\msvc_9\intern\soundsystem\dummy\mtdll\debug\"
|
||||
ObjectFile="..\..\..\..\..\..\build\msvc_9\intern\soundsystem\dummy\mtdll\debug\"
|
||||
ProgramDataBaseFileName="..\..\..\..\..\..\build\msvc_9\intern\soundsystem\dummy\mtdll\debug\"
|
||||
WarningLevel="2"
|
||||
SuppressStartupBanner="true"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="0"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions="_DEBUG"
|
||||
Culture="1033"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLibrarianTool"
|
||||
OutputFile="..\..\..\..\..\..\build\msvc_9\libs\intern\mtdll\debug\libDummySoundSystem.lib"
|
||||
SuppressStartupBanner="true"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
</Configurations>
|
||||
<References>
|
||||
</References>
|
||||
<Files>
|
||||
<Filter
|
||||
Name="Source Files"
|
||||
Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
||||
>
|
||||
<File
|
||||
RelativePath="..\..\..\dummy\SND_DummyDevice.cpp"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="Header Files"
|
||||
Filter="h;hpp;hxx;hm;inl"
|
||||
>
|
||||
<File
|
||||
RelativePath="..\..\..\dummy\SND_DummyDevice.h"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
</Files>
|
||||
<Globals>
|
||||
</Globals>
|
||||
</VisualStudioProject>
|
|
@ -1,351 +0,0 @@
|
|||
<?xml version="1.0" encoding="Windows-1252"?>
|
||||
<VisualStudioProject
|
||||
ProjectType="Visual C++"
|
||||
Version="9,00"
|
||||
Name="INT_OpenALSoundSystem"
|
||||
ProjectGUID="{213356A9-3A1F-41DA-9819-1297BCD17DEE}"
|
||||
RootNamespace="OpenALSoundSystem"
|
||||
TargetFrameworkVersion="131072"
|
||||
>
|
||||
<Platforms>
|
||||
<Platform
|
||||
Name="Win32"
|
||||
/>
|
||||
</Platforms>
|
||||
<ToolFiles>
|
||||
</ToolFiles>
|
||||
<Configurations>
|
||||
<Configuration
|
||||
Name="Blender Debug|Win32"
|
||||
OutputDirectory="..\..\..\..\..\..\build\msvc_9\intern\soundsystem\openal\debug"
|
||||
IntermediateDirectory="..\..\..\..\..\..\build\msvc_9\intern\soundsystem\openal\debug"
|
||||
ConfigurationType="4"
|
||||
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
|
||||
UseOfMFC="0"
|
||||
ATLMinimizesCRunTimeLibraryUsage="false"
|
||||
CharacterSet="2"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..\..\..\sdl;..\..\..\intern;..\..\..\..\..\..\lib\windows\sdl\include;..\..\..\..\..\..\lib\windows\openal\include;..\..\..\..\..\..\build\msvc_9\intern\soundsystem\include;..\..\..\..\..\..\build\msvc_9\intern\moto\include;..\..\..\..\..\..\build\msvc_9\intern\string\include"
|
||||
PreprocessorDefinitions="_DEBUG,WIN32,_LIB"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="1"
|
||||
DefaultCharIsUnsigned="true"
|
||||
UsePrecompiledHeader="0"
|
||||
PrecompiledHeaderFile="..\..\..\..\..\..\build\msvc_9\intern\soundsystem\openal\debug\OpenALSoundSystem.pch"
|
||||
AssemblerListingLocation="..\..\..\..\..\..\build\msvc_9\intern\soundsystem\openal\debug\"
|
||||
ObjectFile="..\..\..\..\..\..\build\msvc_9\intern\soundsystem\openal\debug\"
|
||||
ProgramDataBaseFileName="..\..\..\..\..\..\build\msvc_9\intern\soundsystem\openal\debug\"
|
||||
WarningLevel="2"
|
||||
SuppressStartupBanner="true"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="0"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions="_DEBUG"
|
||||
Culture="1033"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLibrarianTool"
|
||||
OutputFile="..\..\..\..\..\..\build\msvc_9\libs\intern\debug\libOpenALSoundSystem.lib"
|
||||
SuppressStartupBanner="true"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Blender Release|Win32"
|
||||
OutputDirectory="..\..\..\..\..\..\build\msvc_9\intern\soundsystem\openal"
|
||||
IntermediateDirectory="..\..\..\..\..\..\build\msvc_9\intern\soundsystem\openal"
|
||||
ConfigurationType="4"
|
||||
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
|
||||
UseOfMFC="0"
|
||||
ATLMinimizesCRunTimeLibraryUsage="false"
|
||||
CharacterSet="2"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
InlineFunctionExpansion="1"
|
||||
AdditionalIncludeDirectories="..\..\..\sdl;..\..\..\intern;..\..\..\..\..\..\lib\windows\sdl\include;..\..\..\..\..\..\lib\windows\openal\include;..\..\..\..\..\..\build\msvc_9\intern\soundsystem\include;..\..\..\..\..\..\build\msvc_9\intern\moto\include;..\..\..\..\..\..\build\msvc_9\intern\string\include"
|
||||
PreprocessorDefinitions="NDEBUG,WIN32,_LIB"
|
||||
StringPooling="true"
|
||||
RuntimeLibrary="0"
|
||||
EnableFunctionLevelLinking="true"
|
||||
DefaultCharIsUnsigned="true"
|
||||
UsePrecompiledHeader="0"
|
||||
PrecompiledHeaderFile="..\..\..\..\..\..\build\msvc_9\intern\soundsystem\openal\OpenALSoundSystem.pch"
|
||||
AssemblerListingLocation="..\..\..\..\..\..\build\msvc_9\intern\soundsystem\openal\"
|
||||
ObjectFile="..\..\..\..\..\..\build\msvc_9\intern\soundsystem\openal\"
|
||||
ProgramDataBaseFileName="..\..\..\..\..\..\build\msvc_9\intern\soundsystem\openal\"
|
||||
WarningLevel="2"
|
||||
SuppressStartupBanner="true"
|
||||
CompileAs="0"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions="NDEBUG"
|
||||
Culture="1033"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLibrarianTool"
|
||||
OutputFile="..\..\..\..\..\..\build\msvc_9\libs\intern\libOpenALSoundSystem.lib"
|
||||
SuppressStartupBanner="true"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="3DPlugin Release|Win32"
|
||||
OutputDirectory="..\..\..\..\..\..\build\msvc_9\intern\soundsystem\openal\mtdll"
|
||||
IntermediateDirectory="..\..\..\..\..\..\build\msvc_9\intern\soundsystem\openal\mtdll"
|
||||
ConfigurationType="4"
|
||||
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
|
||||
UseOfMFC="0"
|
||||
ATLMinimizesCRunTimeLibraryUsage="false"
|
||||
CharacterSet="2"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
InlineFunctionExpansion="1"
|
||||
AdditionalIncludeDirectories="..\..\..\sdl;..\..\..\intern;..\..\..\..\..\..\lib\windows\sdl\include;..\..\..\..\..\..\lib\windows\openal\include;..\..\..\..\..\..\build\msvc_9\intern\soundsystem\include;..\..\..\..\..\..\build\msvc_9\intern\moto\include;..\..\..\..\..\..\build\msvc_9\intern\string\include"
|
||||
PreprocessorDefinitions="NDEBUG,WIN32,_LIB"
|
||||
StringPooling="true"
|
||||
RuntimeLibrary="2"
|
||||
EnableFunctionLevelLinking="true"
|
||||
DefaultCharIsUnsigned="true"
|
||||
UsePrecompiledHeader="0"
|
||||
PrecompiledHeaderFile="..\..\..\..\..\..\build\msvc_9\intern\soundsystem\openal\mtdll\OpenALSoundSystem.pch"
|
||||
AssemblerListingLocation="..\..\..\..\..\..\build\msvc_9\intern\soundsystem\openal\mtdll\"
|
||||
ObjectFile="..\..\..\..\..\..\build\msvc_9\intern\soundsystem\openal\mtdll\"
|
||||
ProgramDataBaseFileName="..\..\..\..\..\..\build\msvc_9\intern\soundsystem\openal\mtdll\"
|
||||
WarningLevel="2"
|
||||
SuppressStartupBanner="true"
|
||||
CompileAs="0"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions="NDEBUG"
|
||||
Culture="1033"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLibrarianTool"
|
||||
OutputFile="..\..\..\..\..\..\build\msvc_9\libs\intern\mtdll\libOpenALSoundSystem.lib"
|
||||
SuppressStartupBanner="true"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="3DPlugin Debug|Win32"
|
||||
OutputDirectory="..\..\..\..\..\..\build\msvc_9\intern\soundsystem\openal\mtdll\debug"
|
||||
IntermediateDirectory="..\..\..\..\..\..\build\msvc_9\intern\soundsystem\openal\mtdll\debug"
|
||||
ConfigurationType="4"
|
||||
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
|
||||
UseOfMFC="0"
|
||||
ATLMinimizesCRunTimeLibraryUsage="false"
|
||||
CharacterSet="2"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..\..\..\sdl;..\..\..\intern;..\..\..\..\..\..\lib\windows\sdl\include;..\..\..\..\..\..\lib\windows\openal\include;..\..\..\..\..\..\build\msvc_9\intern\soundsystem\include;..\..\..\..\..\..\build\msvc_9\intern\moto\include;..\..\..\..\..\..\build\msvc_9\intern\string\include"
|
||||
PreprocessorDefinitions="_DEBUG,WIN32,_LIB"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="3"
|
||||
DefaultCharIsUnsigned="true"
|
||||
UsePrecompiledHeader="0"
|
||||
PrecompiledHeaderFile="..\..\..\..\..\..\build\msvc_9\intern\soundsystem\openal\mtdll\debug\OpenALSoundSystem.pch"
|
||||
AssemblerListingLocation="..\..\..\..\..\..\build\msvc_9\intern\soundsystem\openal\mtdll\debug\"
|
||||
ObjectFile="..\..\..\..\..\..\build\msvc_9\intern\soundsystem\openal\mtdll\debug\"
|
||||
ProgramDataBaseFileName="..\..\..\..\..\..\build\msvc_9\intern\soundsystem\openal\mtdll\debug\"
|
||||
WarningLevel="2"
|
||||
SuppressStartupBanner="true"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="0"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions="_DEBUG"
|
||||
Culture="1033"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLibrarianTool"
|
||||
OutputFile="..\..\..\..\..\..\build\msvc_9\libs\intern\mtdll\debug\libOpenALSoundSystem.lib"
|
||||
SuppressStartupBanner="true"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
</Configurations>
|
||||
<References>
|
||||
</References>
|
||||
<Files>
|
||||
<Filter
|
||||
Name="Source Files"
|
||||
Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
||||
>
|
||||
<File
|
||||
RelativePath="..\..\..\openal\SND_OpenALDevice.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\sdl\SND_SDLCDDevice.cpp"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="Header Files"
|
||||
Filter="h;hpp;hxx;hm;inl"
|
||||
>
|
||||
<File
|
||||
RelativePath="..\..\..\openal\SND_OpenALDevice.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\sdl\SND_SDLCDDevice.h"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
</Files>
|
||||
<Globals>
|
||||
</Globals>
|
||||
</VisualStudioProject>
|
|
@ -1,44 +0,0 @@
|
|||
#
|
||||
# $Id$
|
||||
#
|
||||
# ***** BEGIN GPL LICENSE BLOCK *****
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU General Public License
|
||||
# as published by the Free Software Foundation; either version 2
|
||||
# of the License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software Foundation,
|
||||
# Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
#
|
||||
# The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
|
||||
# All rights reserved.
|
||||
#
|
||||
# The Original Code is: all of this file.
|
||||
#
|
||||
# Contributor(s): none yet.
|
||||
#
|
||||
# ***** END GPL LICENSE BLOCK *****
|
||||
#
|
||||
#
|
||||
|
||||
LIBNAME = OpenALSoundSystem
|
||||
DIR = $(OCGDIR)/intern/$(LIBNAME)
|
||||
|
||||
include nan_compile.mk
|
||||
|
||||
CCFLAGS += $(LEVEL_1_CPP_WARNINGS)
|
||||
|
||||
CPPFLAGS += -I$(NAN_OPENAL)/include
|
||||
CPPFLAGS += -I$(NAN_STRING)/include
|
||||
CPPFLAGS += -I$(NAN_MOTO)/include
|
||||
CPPFLAGS += -I../intern
|
||||
CPPFLAGS += -I..
|
||||
CPPFLAGS += -I.
|
||||
CPPFLAGS += -I../sdl
|
|
@ -1,854 +0,0 @@
|
|||
/*
|
||||
* $Id$
|
||||
*
|
||||
* ***** BEGIN GPL LICENSE BLOCK *****
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software Foundation,
|
||||
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
|
||||
* All rights reserved.
|
||||
*
|
||||
* The Original Code is: all of this file.
|
||||
*
|
||||
* Contributor(s): none yet.
|
||||
*
|
||||
* ***** END GPL LICENSE BLOCK *****
|
||||
* SND_OpenALDevice derived from SND_IAudioDevice
|
||||
*/
|
||||
|
||||
#ifdef WIN32
|
||||
#pragma warning (disable:4786) // get rid of stupid stl-visual compiler debug warning
|
||||
#endif //WIN32
|
||||
|
||||
#include "SND_OpenALDevice.h"
|
||||
#ifndef __APPLE__
|
||||
#include "SND_SDLCDDevice.h"
|
||||
#endif
|
||||
#include "SoundDefines.h"
|
||||
|
||||
#include "SND_Utils.h"
|
||||
|
||||
#ifdef APPLE_FRAMEWORK_FIX
|
||||
#include <al.h>
|
||||
#include <alc.h>
|
||||
#else
|
||||
#include <AL/al.h>
|
||||
#include <AL/alc.h>
|
||||
#endif
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#if defined(WIN32)
|
||||
#include <io.h>
|
||||
#else
|
||||
#include <unistd.h>
|
||||
#endif
|
||||
#include <fcntl.h>
|
||||
|
||||
#include <signal.h>
|
||||
|
||||
/*************************** ALUT replacement *****************************/
|
||||
|
||||
/* instead of relying on alut, we just implement our own
|
||||
* WAV loading functions, hopefully more reliable */
|
||||
|
||||
#include <stdlib.h>
|
||||
|
||||
typedef struct /* WAV File-header */
|
||||
{
|
||||
ALubyte Id[4];
|
||||
ALsizei Size;
|
||||
ALubyte Type[4];
|
||||
} WAVFileHdr_Struct;
|
||||
|
||||
typedef struct /* WAV Fmt-header */
|
||||
{
|
||||
ALushort Format;
|
||||
ALushort Channels;
|
||||
ALuint SamplesPerSec;
|
||||
ALuint BytesPerSec;
|
||||
ALushort BlockAlign;
|
||||
ALushort BitsPerSample;
|
||||
} WAVFmtHdr_Struct;
|
||||
|
||||
typedef struct /* WAV FmtEx-header */
|
||||
{
|
||||
ALushort Size;
|
||||
ALushort SamplesPerBlock;
|
||||
} WAVFmtExHdr_Struct;
|
||||
|
||||
typedef struct /* WAV Smpl-header */
|
||||
{
|
||||
ALuint Manufacturer;
|
||||
ALuint Product;
|
||||
ALuint SamplePeriod;
|
||||
ALuint Note;
|
||||
ALuint FineTune;
|
||||
ALuint SMPTEFormat;
|
||||
ALuint SMPTEOffest;
|
||||
ALuint Loops;
|
||||
ALuint SamplerData;
|
||||
struct
|
||||
{
|
||||
ALuint Identifier;
|
||||
ALuint Type;
|
||||
ALuint Start;
|
||||
ALuint End;
|
||||
ALuint Fraction;
|
||||
ALuint Count;
|
||||
} Loop[1];
|
||||
} WAVSmplHdr_Struct;
|
||||
|
||||
typedef struct /* WAV Chunk-header */
|
||||
{
|
||||
ALubyte Id[4];
|
||||
ALuint Size;
|
||||
} WAVChunkHdr_Struct;
|
||||
|
||||
static void *SND_loadFileIntoMemory(const char *filename, int *len_r)
|
||||
{
|
||||
FILE *fp= fopen(filename, "rb");
|
||||
void *data;
|
||||
|
||||
if (!fp) {
|
||||
*len_r= -1;
|
||||
return NULL;
|
||||
}
|
||||
|
||||
fseek(fp, 0L, SEEK_END);
|
||||
*len_r= ftell(fp);
|
||||
fseek(fp, 0L, SEEK_SET);
|
||||
|
||||
data= malloc(*len_r);
|
||||
if (!data) {
|
||||
*len_r= -1;
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if (fread(data, *len_r, 1, fp)!=1) {
|
||||
*len_r= -1;
|
||||
free(data);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
return data;
|
||||
}
|
||||
|
||||
#define TEST_SWITCH_INT(a) if(big_endian) { \
|
||||
char s_i, *p_i; \
|
||||
p_i= (char *)&(a); \
|
||||
s_i=p_i[0]; p_i[0]=p_i[3]; p_i[3]=s_i; \
|
||||
s_i=p_i[1]; p_i[1]=p_i[2]; p_i[2]=s_i; }
|
||||
|
||||
#define TEST_SWITCH_SHORT(a) if(big_endian) { \
|
||||
char s_i, *p_i; \
|
||||
p_i= (char *)&(a); \
|
||||
s_i=p_i[0]; p_i[0]=p_i[1]; p_i[1]=s_i; }
|
||||
|
||||
static int stream_read(void *out, ALbyte **stream, ALsizei size, ALsizei *memsize)
|
||||
{
|
||||
if(size <= *memsize) {
|
||||
memcpy(out, *stream, size);
|
||||
return 1;
|
||||
}
|
||||
else {
|
||||
memset(out, 0, size);
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
static int stream_skip(ALbyte **stream, ALsizei size, ALsizei *memsize)
|
||||
{
|
||||
if(size <= *memsize) {
|
||||
*stream += size;
|
||||
*memsize -= size;
|
||||
return 1;
|
||||
}
|
||||
else
|
||||
return 0;
|
||||
}
|
||||
|
||||
ALvoid SND_alutLoadWAVMemory(ALbyte *memory,ALsizei memsize,ALenum *format,ALvoid **data,ALsizei *size,ALsizei *freq,ALboolean *loop)
|
||||
{
|
||||
WAVChunkHdr_Struct ChunkHdr;
|
||||
WAVFmtExHdr_Struct FmtExHdr;
|
||||
WAVFileHdr_Struct FileHdr;
|
||||
WAVSmplHdr_Struct SmplHdr;
|
||||
WAVFmtHdr_Struct FmtHdr;
|
||||
ALbyte *Stream= memory;
|
||||
int test_endian= 1;
|
||||
int big_endian= !((char*)&test_endian)[0];
|
||||
|
||||
*format=AL_FORMAT_MONO16;
|
||||
*data=NULL;
|
||||
*size=0;
|
||||
*freq=22050;
|
||||
*loop=AL_FALSE;
|
||||
|
||||
if(!Stream)
|
||||
return;
|
||||
|
||||
stream_read(&FileHdr,&Stream,sizeof(WAVFileHdr_Struct),&memsize);
|
||||
stream_skip(&Stream,sizeof(WAVFileHdr_Struct),&memsize);
|
||||
|
||||
TEST_SWITCH_INT(FileHdr.Size);
|
||||
FileHdr.Size=((FileHdr.Size+1)&~1)-4;
|
||||
|
||||
while((FileHdr.Size!=0) && stream_read(&ChunkHdr,&Stream,sizeof(WAVChunkHdr_Struct),&memsize))
|
||||
{
|
||||
TEST_SWITCH_INT(ChunkHdr.Size);
|
||||
stream_skip(&Stream,sizeof(WAVChunkHdr_Struct),&memsize);
|
||||
|
||||
if (!memcmp(ChunkHdr.Id,"fmt ",4))
|
||||
{
|
||||
stream_read(&FmtHdr,&Stream,sizeof(WAVFmtHdr_Struct),&memsize);
|
||||
|
||||
TEST_SWITCH_SHORT(FmtHdr.Format);
|
||||
TEST_SWITCH_SHORT(FmtHdr.Channels);
|
||||
TEST_SWITCH_INT(FmtHdr.SamplesPerSec);
|
||||
TEST_SWITCH_INT(FmtHdr.BytesPerSec);
|
||||
TEST_SWITCH_SHORT(FmtHdr.BlockAlign);
|
||||
TEST_SWITCH_SHORT(FmtHdr.BitsPerSample);
|
||||
|
||||
if (FmtHdr.Format==0x0001)
|
||||
{
|
||||
*format=(FmtHdr.Channels==1?
|
||||
(FmtHdr.BitsPerSample==8?AL_FORMAT_MONO8:AL_FORMAT_MONO16):
|
||||
(FmtHdr.BitsPerSample==8?AL_FORMAT_STEREO8:AL_FORMAT_STEREO16));
|
||||
*freq=FmtHdr.SamplesPerSec;
|
||||
}
|
||||
else
|
||||
{
|
||||
stream_read(&FmtExHdr,&Stream,sizeof(WAVFmtExHdr_Struct),&memsize);
|
||||
TEST_SWITCH_SHORT(FmtExHdr.Size);
|
||||
TEST_SWITCH_SHORT(FmtExHdr.SamplesPerBlock);
|
||||
}
|
||||
}
|
||||
else if (!memcmp(ChunkHdr.Id,"data",4))
|
||||
{
|
||||
if (FmtHdr.Format==0x0001)
|
||||
{
|
||||
if((ALsizei)ChunkHdr.Size <= memsize)
|
||||
{
|
||||
*size=ChunkHdr.Size;
|
||||
*data=malloc(ChunkHdr.Size+31);
|
||||
|
||||
if (*data) {
|
||||
stream_read(*data,&Stream,ChunkHdr.Size,&memsize);
|
||||
memset(((char *)*data)+ChunkHdr.Size,0,31);
|
||||
|
||||
if(FmtHdr.BitsPerSample == 16 && big_endian) {
|
||||
int a, len= *size/2;
|
||||
short *samples= (short*)*data;
|
||||
|
||||
for(a=0; a<len; a++) {
|
||||
TEST_SWITCH_SHORT(samples[a])
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (FmtHdr.Format==0x0011)
|
||||
{
|
||||
//IMA ADPCM
|
||||
}
|
||||
else if (FmtHdr.Format==0x0055)
|
||||
{
|
||||
//MP3 WAVE
|
||||
}
|
||||
}
|
||||
else if (!memcmp(ChunkHdr.Id,"smpl",4))
|
||||
{
|
||||
stream_read(&SmplHdr,&Stream,sizeof(WAVSmplHdr_Struct),&memsize);
|
||||
|
||||
TEST_SWITCH_INT(SmplHdr.Manufacturer);
|
||||
TEST_SWITCH_INT(SmplHdr.Product);
|
||||
TEST_SWITCH_INT(SmplHdr.SamplePeriod);
|
||||
TEST_SWITCH_INT(SmplHdr.Note);
|
||||
TEST_SWITCH_INT(SmplHdr.FineTune);
|
||||
TEST_SWITCH_INT(SmplHdr.SMPTEFormat);
|
||||
TEST_SWITCH_INT(SmplHdr.SMPTEOffest);
|
||||
TEST_SWITCH_INT(SmplHdr.Loops);
|
||||
TEST_SWITCH_INT(SmplHdr.SamplerData);
|
||||
|
||||
*loop = (SmplHdr.Loops ? AL_TRUE : AL_FALSE);
|
||||
}
|
||||
|
||||
if(!stream_skip(&Stream, ChunkHdr.Size + (ChunkHdr.Size&1), &memsize))
|
||||
break;
|
||||
|
||||
FileHdr.Size-=(((ChunkHdr.Size+1)&~1)+8);
|
||||
}
|
||||
}
|
||||
|
||||
ALvoid SND_alutUnloadWAV(ALenum format,ALvoid *data,ALsizei size,ALsizei freq)
|
||||
{
|
||||
if (data)
|
||||
free(data);
|
||||
}
|
||||
|
||||
/************************ Device Implementation ****************************/
|
||||
|
||||
SND_OpenALDevice::SND_OpenALDevice()
|
||||
: SND_AudioDevice(),
|
||||
m_context(NULL),
|
||||
m_device(NULL)
|
||||
{
|
||||
/* Removed the functionality for checking if noaudio was provided on */
|
||||
/* the commandline. */
|
||||
m_audio = true;
|
||||
m_context = NULL;
|
||||
m_buffersinitialized = false;
|
||||
m_sourcesinitialized = false;
|
||||
|
||||
// let's check if we can get openal to initialize...
|
||||
if (m_audio)
|
||||
{
|
||||
m_audio = false;
|
||||
|
||||
ALCdevice *dev = alcOpenDevice(NULL);
|
||||
if (dev) {
|
||||
m_context = alcCreateContext(dev, NULL);
|
||||
|
||||
if (m_context) {
|
||||
#ifdef AL_VERSION_1_1
|
||||
alcMakeContextCurrent((ALCcontext*)m_context);
|
||||
#else
|
||||
alcMakeContextCurrent(m_context);
|
||||
#endif
|
||||
m_audio = true;
|
||||
m_device = dev;
|
||||
#ifdef __linux__
|
||||
/*
|
||||
* SIGHUP Hack:
|
||||
*
|
||||
* On Linux, alcDestroyContext generates a SIGHUP (Hangup) when killing the OpenAL
|
||||
* mixer thread, which kills Blender.
|
||||
*
|
||||
* So we set the signal to ignore....
|
||||
*
|
||||
* TODO: check if this applies to other platforms.
|
||||
*
|
||||
*/
|
||||
signal(SIGHUP, SIG_IGN);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// then try to generate some buffers
|
||||
if (m_audio)
|
||||
{
|
||||
// let openal generate its buffers
|
||||
alGenBuffers(NUM_BUFFERS, m_buffers);
|
||||
m_buffersinitialized = true;
|
||||
|
||||
for (int i = 0; i < NUM_BUFFERS; i++)
|
||||
{
|
||||
if (!alIsBuffer(m_buffers[i]))
|
||||
{
|
||||
//printf("\n\n WARNING: OpenAL returned with an error. Continuing without audio.\n\n");
|
||||
m_audio = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// next: the sources
|
||||
if (m_audio)
|
||||
{
|
||||
#ifdef __APPLE__
|
||||
ALenum alc_error = ALC_NO_ERROR; // openal_2.12
|
||||
#else
|
||||
ALenum alc_error = alcGetError(NULL); // openal_2.14+
|
||||
#endif
|
||||
|
||||
// let openal generate its sources
|
||||
if (alc_error == ALC_NO_ERROR)
|
||||
{
|
||||
int i;
|
||||
|
||||
for (i=0;i<NUM_SOURCES;i++)
|
||||
m_sources[i] = 0;
|
||||
alGenSources(NUM_SOURCES, m_sources);
|
||||
m_sourcesinitialized = true;
|
||||
}
|
||||
}
|
||||
|
||||
// let's get us a wavecache
|
||||
if (m_audio)
|
||||
{
|
||||
m_wavecache = new SND_WaveCache();
|
||||
}
|
||||
#ifndef __APPLE__
|
||||
m_cdrom = new SND_SDLCDDevice();
|
||||
#endif
|
||||
}
|
||||
|
||||
void SND_OpenALDevice::UseCD(void) const
|
||||
{
|
||||
// we use SDL for CD, so we create the system
|
||||
SND_CDObject::CreateSystem();
|
||||
|
||||
}
|
||||
|
||||
void SND_OpenALDevice::MakeCurrent() const
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
|
||||
SND_OpenALDevice::~SND_OpenALDevice()
|
||||
{
|
||||
MakeCurrent();
|
||||
|
||||
if (m_sourcesinitialized)
|
||||
{
|
||||
for (int i = 0; i < NUM_SOURCES; i++)
|
||||
alSourceStop(m_sources[i]);
|
||||
|
||||
alDeleteSources(NUM_SOURCES, m_sources);
|
||||
m_sourcesinitialized = false;
|
||||
}
|
||||
|
||||
if (m_buffersinitialized)
|
||||
{
|
||||
alDeleteBuffers(NUM_BUFFERS, m_buffers);
|
||||
m_buffersinitialized = false;
|
||||
}
|
||||
|
||||
if (m_context) {
|
||||
MakeCurrent();
|
||||
#ifdef AL_VERSION_1_1
|
||||
alcDestroyContext((ALCcontext*)m_context);
|
||||
#else
|
||||
alcDestroyContext(m_context);
|
||||
#endif
|
||||
m_context = NULL;
|
||||
}
|
||||
|
||||
#ifdef __linux__
|
||||
// restore the signal state above.
|
||||
signal(SIGHUP, SIG_DFL);
|
||||
#endif
|
||||
// let's see if we used the cd. if not, just leave it alone
|
||||
SND_CDObject* pCD = SND_CDObject::Instance();
|
||||
|
||||
if (pCD)
|
||||
{
|
||||
this->StopCD();
|
||||
SND_CDObject::DisposeSystem();
|
||||
}
|
||||
#ifndef __APPLE__
|
||||
if (m_cdrom)
|
||||
delete m_cdrom;
|
||||
#endif
|
||||
if (m_device)
|
||||
alcCloseDevice((ALCdevice*) m_device);
|
||||
}
|
||||
|
||||
|
||||
SND_WaveSlot* SND_OpenALDevice::LoadSample(const STR_String& name,
|
||||
void* memlocation,
|
||||
int size)
|
||||
{
|
||||
SND_WaveSlot* waveslot = NULL;
|
||||
STR_String samplename = name;
|
||||
|
||||
if (m_audio)
|
||||
{
|
||||
/* create the waveslot */
|
||||
waveslot = m_wavecache->GetWaveSlot(samplename);
|
||||
|
||||
/* do we support this sample? */
|
||||
if (SND_IsSampleValid(name, memlocation))
|
||||
{
|
||||
if (waveslot)
|
||||
{
|
||||
bool freemem = false;
|
||||
int buffer = waveslot->GetBuffer();
|
||||
void* data = NULL;
|
||||
char loop = 'a';
|
||||
int sampleformat, bitrate, numberofchannels;
|
||||
ALenum al_error = alGetError();
|
||||
ALsizei samplerate, numberofsamples; // openal_2.14+
|
||||
|
||||
/* Give them some safe defaults just incase */
|
||||
bitrate = numberofchannels = 0;
|
||||
|
||||
if (!(size && memlocation)) {
|
||||
memlocation = SND_loadFileIntoMemory(samplename.Ptr(), &size);
|
||||
freemem = true;
|
||||
}
|
||||
|
||||
/* load the sample from memory? */
|
||||
if (size && memlocation)
|
||||
{
|
||||
waveslot->SetFileSize(size);
|
||||
|
||||
/* what was (our) buffer? */
|
||||
int buffer = waveslot->GetBuffer();
|
||||
|
||||
/* get some info out of the sample */
|
||||
SND_GetSampleInfo((signed char*)memlocation, waveslot);
|
||||
numberofchannels = SND_GetNumberOfChannels(memlocation);
|
||||
bitrate = SND_GetBitRate(memlocation);
|
||||
|
||||
/* load the sample into openal */
|
||||
SND_alutLoadWAVMemory((ALbyte*)memlocation, size, &sampleformat, &data, &numberofsamples, &samplerate, &loop);
|
||||
/* put it in the buffer */
|
||||
alBufferData(m_buffers[buffer], sampleformat, data, numberofsamples, samplerate);
|
||||
}
|
||||
|
||||
if(freemem)
|
||||
free(memlocation);
|
||||
|
||||
/* fill the waveslot with info */
|
||||
al_error = alGetError();
|
||||
if (al_error == AL_NO_ERROR && m_buffers[buffer])
|
||||
{
|
||||
waveslot->SetData(data);
|
||||
waveslot->SetSampleFormat(sampleformat);
|
||||
waveslot->SetNumberOfChannels(numberofchannels);
|
||||
waveslot->SetSampleRate(samplerate);
|
||||
waveslot->SetBitRate(bitrate);
|
||||
waveslot->SetNumberOfSamples(numberofsamples);
|
||||
|
||||
/* if the loading succeeded, mark the waveslot */
|
||||
waveslot->SetLoaded(true);
|
||||
}
|
||||
else
|
||||
{
|
||||
/* or when it failed, free the waveslot */
|
||||
m_wavecache->RemoveSample(waveslot->GetSampleName(), waveslot->GetBuffer());
|
||||
waveslot = NULL;
|
||||
}
|
||||
|
||||
/* and free the original stuff (copy was made in openal) */
|
||||
SND_alutUnloadWAV(sampleformat, data, numberofsamples, samplerate);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
/* sample not supported, remove waveslot */
|
||||
m_wavecache->RemoveSample(waveslot->GetSampleName(), waveslot->GetBuffer());
|
||||
waveslot = NULL;
|
||||
}
|
||||
}
|
||||
return waveslot;
|
||||
}
|
||||
|
||||
|
||||
|
||||
// listener's and general stuff //////////////////////////////////////////////////////
|
||||
|
||||
|
||||
|
||||
/* sets the global dopplervelocity */
|
||||
void SND_OpenALDevice::SetDopplerVelocity(MT_Scalar dopplervelocity) const
|
||||
{
|
||||
alDopplerVelocity ((float)dopplervelocity);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* sets the global dopplerfactor */
|
||||
void SND_OpenALDevice::SetDopplerFactor(MT_Scalar dopplerfactor) const
|
||||
{
|
||||
alDopplerFactor ((float)dopplerfactor);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* sets the global rolloff factor */
|
||||
void SND_OpenALDevice::SetListenerRollOffFactor(MT_Scalar rollofffactor) const
|
||||
{
|
||||
// not implemented in openal
|
||||
}
|
||||
|
||||
|
||||
|
||||
void SND_OpenALDevice::NextFrame() const
|
||||
{
|
||||
// CD
|
||||
#ifndef __APPLE__
|
||||
m_cdrom->NextFrame();
|
||||
#endif
|
||||
// not needed by openal
|
||||
}
|
||||
|
||||
|
||||
|
||||
// set the gain for the listener
|
||||
void SND_OpenALDevice::SetListenerGain(float gain) const
|
||||
{
|
||||
alListenerf (AL_GAIN, gain);
|
||||
}
|
||||
|
||||
|
||||
|
||||
void SND_OpenALDevice::InitListener()
|
||||
{
|
||||
// initialize the listener with these values that won't change
|
||||
// (as long as we can have only one listener)
|
||||
// now we can superimpose all listeners on each other (for they
|
||||
// have the same settings)
|
||||
float lispos[3] = {0,0,0};
|
||||
float lisvel[3] = {0,0,0};
|
||||
float lisori[6] = {0,0,1,0,-1,0};
|
||||
|
||||
alListenerfv(AL_POSITION, lispos);
|
||||
alListenerfv(AL_VELOCITY, lisvel);
|
||||
alListenerfv(AL_ORIENTATION, lisori);
|
||||
}
|
||||
|
||||
|
||||
|
||||
// source playstate stuff ////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
|
||||
/* sets the buffer */
|
||||
void SND_OpenALDevice::SetObjectBuffer(int id, unsigned int buffer)
|
||||
{
|
||||
alSourcei (m_sources[id], AL_BUFFER, m_buffers[buffer]);
|
||||
}
|
||||
|
||||
|
||||
|
||||
// check if the sound's still playing
|
||||
int SND_OpenALDevice::GetPlayState(int id)
|
||||
{
|
||||
int alstate = 0;
|
||||
int result = 0;
|
||||
|
||||
#ifdef __APPLE__
|
||||
alGetSourcei(m_sources[id], AL_SOURCE_STATE, &alstate);
|
||||
#else
|
||||
alGetSourceiv(m_sources[id], AL_SOURCE_STATE, &alstate);
|
||||
#endif
|
||||
|
||||
switch(alstate)
|
||||
{
|
||||
case AL_INITIAL:
|
||||
{
|
||||
result = SND_INITIAL;
|
||||
break;
|
||||
}
|
||||
case AL_PLAYING:
|
||||
{
|
||||
result = SND_PLAYING;
|
||||
break;
|
||||
}
|
||||
case AL_PAUSED:
|
||||
{
|
||||
result = SND_PAUSED;
|
||||
break;
|
||||
}
|
||||
case AL_STOPPED:
|
||||
{
|
||||
result = SND_STOPPED;
|
||||
break;
|
||||
}
|
||||
default:
|
||||
result = SND_UNKNOWN;
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
|
||||
// make the source play
|
||||
void SND_OpenALDevice::PlayObject(int id)
|
||||
{
|
||||
alSourcePlay(m_sources[id]);
|
||||
}
|
||||
|
||||
|
||||
|
||||
// make the source stop
|
||||
void SND_OpenALDevice::StopObject(int id) const
|
||||
{
|
||||
float obpos[3] = {0,0,0};
|
||||
float obvel[3] = {0,0,0};
|
||||
|
||||
alSourcefv(m_sources[id], AL_POSITION, obpos);
|
||||
alSourcefv(m_sources[id], AL_VELOCITY, obvel);
|
||||
|
||||
alSourcef(m_sources[id], AL_GAIN, 1.0);
|
||||
alSourcef(m_sources[id], AL_PITCH, 1.0);
|
||||
alSourcei(m_sources[id], AL_LOOPING, AL_FALSE);
|
||||
alSourceStop(m_sources[id]);
|
||||
}
|
||||
|
||||
|
||||
|
||||
// stop all sources
|
||||
void SND_OpenALDevice::StopAllObjects()
|
||||
{
|
||||
alSourceStopv(NUM_SOURCES, m_sources);
|
||||
}
|
||||
|
||||
|
||||
|
||||
// pause the source
|
||||
void SND_OpenALDevice::PauseObject(int id) const
|
||||
{
|
||||
alSourcePause(m_sources[id]);
|
||||
}
|
||||
|
||||
|
||||
|
||||
// source properties stuff ////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
|
||||
// give openal the object's pitch
|
||||
void SND_OpenALDevice::SetObjectPitch(int id, MT_Scalar pitch) const
|
||||
{
|
||||
alSourcef (m_sources[id], AL_PITCH, (float)pitch);
|
||||
}
|
||||
|
||||
|
||||
|
||||
// give openal the object's gain
|
||||
void SND_OpenALDevice::SetObjectGain(int id, MT_Scalar gain) const
|
||||
{
|
||||
alSourcef (m_sources[id], AL_GAIN, (float)gain);
|
||||
}
|
||||
|
||||
|
||||
|
||||
// give openal the object's looping
|
||||
void SND_OpenALDevice::SetObjectLoop(int id, unsigned int loopmode) const
|
||||
{
|
||||
if (loopmode == SND_LOOP_OFF)
|
||||
{
|
||||
//printf("%d - ", id);
|
||||
alSourcei (m_sources[id], AL_LOOPING, AL_FALSE);
|
||||
}
|
||||
else
|
||||
alSourcei (m_sources[id], AL_LOOPING, AL_TRUE);
|
||||
}
|
||||
|
||||
void SND_OpenALDevice::SetObjectLoopPoints(int id, unsigned int loopstart, unsigned int loopend) const
|
||||
{
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
void SND_OpenALDevice::SetObjectMinGain(int id, MT_Scalar mingain) const
|
||||
{
|
||||
alSourcef (m_sources[id], AL_MIN_GAIN, (float)mingain);
|
||||
}
|
||||
|
||||
|
||||
|
||||
void SND_OpenALDevice::SetObjectMaxGain(int id, MT_Scalar maxgain) const
|
||||
{
|
||||
alSourcef (m_sources[id], AL_MAX_GAIN, (float)maxgain);
|
||||
}
|
||||
|
||||
|
||||
|
||||
void SND_OpenALDevice::SetObjectRollOffFactor(int id, MT_Scalar rollofffactor) const
|
||||
{
|
||||
alSourcef (m_sources[id], AL_ROLLOFF_FACTOR, (float)rollofffactor);
|
||||
}
|
||||
|
||||
|
||||
|
||||
void SND_OpenALDevice::SetObjectReferenceDistance(int id, MT_Scalar referencedistance) const
|
||||
{
|
||||
alSourcef (m_sources[id], AL_REFERENCE_DISTANCE, (float)referencedistance);
|
||||
}
|
||||
|
||||
|
||||
|
||||
// give openal the object's position
|
||||
void SND_OpenALDevice::ObjectIs2D(int id) const
|
||||
{
|
||||
float obpos[3] = {0,0,0};
|
||||
float obvel[3] = {0,0,0};
|
||||
|
||||
alSourcefv(m_sources[id], AL_POSITION, obpos);
|
||||
alSourcefv(m_sources[id], AL_VELOCITY, obvel);
|
||||
}
|
||||
|
||||
|
||||
|
||||
void SND_OpenALDevice::SetObjectTransform(int id,
|
||||
const MT_Vector3& position,
|
||||
const MT_Vector3& velocity,
|
||||
const MT_Matrix3x3& orientation,
|
||||
const MT_Vector3& lisposition,
|
||||
const MT_Scalar& rollofffactor) const
|
||||
{
|
||||
float obpos[3];
|
||||
float obvel[3];
|
||||
|
||||
obpos[0] = (float)position[0] * (float)rollofffactor; //x (l/r)
|
||||
obpos[1] = (float)position[1] * (float)rollofffactor;
|
||||
obpos[2] = (float)position[2] * (float)rollofffactor;
|
||||
|
||||
alSourcefv(m_sources[id], AL_POSITION, obpos);
|
||||
|
||||
velocity.getValue(obvel);
|
||||
alSourcefv(m_sources[id], AL_VELOCITY, obvel);
|
||||
}
|
||||
|
||||
void SND_OpenALDevice::PlayCD(int track) const
|
||||
{
|
||||
#ifndef __APPLE__
|
||||
m_cdrom->PlayCD(track);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
void SND_OpenALDevice::PauseCD(bool pause) const
|
||||
{
|
||||
#ifndef __APPLE__
|
||||
m_cdrom->PauseCD(pause);
|
||||
#endif
|
||||
}
|
||||
|
||||
void SND_OpenALDevice::StopCD() const
|
||||
{
|
||||
#ifndef __APPLE__
|
||||
SND_CDObject* pCD = SND_CDObject::Instance();
|
||||
|
||||
if (pCD && pCD->GetUsed())
|
||||
{
|
||||
m_cdrom->StopCD();
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
void SND_OpenALDevice::SetCDPlaymode(int playmode) const
|
||||
{
|
||||
#ifndef __APPLE__
|
||||
m_cdrom->SetCDPlaymode(playmode);
|
||||
#endif
|
||||
}
|
||||
|
||||
void SND_OpenALDevice::SetCDGain(MT_Scalar gain) const
|
||||
{
|
||||
#ifndef __APPLE__
|
||||
m_cdrom->SetCDGain(gain);
|
||||
#endif
|
||||
}
|
|
@ -1,107 +0,0 @@
|
|||
/**
|
||||
* $Id$
|
||||
*
|
||||
* ***** BEGIN GPL LICENSE BLOCK *****
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software Foundation,
|
||||
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
|
||||
* All rights reserved.
|
||||
*
|
||||
* The Original Code is: all of this file.
|
||||
*
|
||||
* Contributor(s): none yet.
|
||||
*
|
||||
* ***** END GPL LICENSE BLOCK *****
|
||||
*/
|
||||
#ifndef SND_OPENALDEVICE
|
||||
#define SND_OPENALDEVICE
|
||||
|
||||
#include "SND_AudioDevice.h"
|
||||
#include "SoundDefines.h"
|
||||
|
||||
struct SDL_CD;
|
||||
|
||||
class SND_OpenALDevice : public SND_AudioDevice
|
||||
{
|
||||
public:
|
||||
SND_OpenALDevice();
|
||||
virtual ~SND_OpenALDevice();
|
||||
|
||||
SND_WaveSlot* LoadSample(const STR_String& samplename,
|
||||
void* memlocation,
|
||||
int size);
|
||||
|
||||
void InitListener();
|
||||
void SetListenerGain(float gain) const;
|
||||
void SetDopplerVelocity(MT_Scalar dopplervelocity) const;
|
||||
void SetDopplerFactor(MT_Scalar dopplerfactor) const;
|
||||
void SetListenerRollOffFactor(MT_Scalar rollofffactor) const;
|
||||
|
||||
void MakeCurrent() const;
|
||||
|
||||
void NextFrame() const;
|
||||
void UseCD() const;
|
||||
|
||||
void SetObjectBuffer(int id, unsigned int buffer);
|
||||
|
||||
int GetPlayState(int id);
|
||||
void PlayObject(int id);
|
||||
void StopObject(int id) const;
|
||||
void StopAllObjects();
|
||||
void PauseObject(int id) const;
|
||||
|
||||
void SetObjectLoop(int id, unsigned int loopmode) const;
|
||||
void SetObjectLoopPoints(int id, unsigned int loopstart, unsigned int loopend) const;
|
||||
void SetObjectPitch(int id, MT_Scalar pitch) const;
|
||||
void SetObjectGain(int id, MT_Scalar gain) const;
|
||||
void SetObjectMinGain(int id, MT_Scalar mingain) const;
|
||||
void SetObjectMaxGain(int id, MT_Scalar maxgain) const;
|
||||
void SetObjectRollOffFactor(int id, MT_Scalar rolloff) const;
|
||||
void SetObjectReferenceDistance(int id, MT_Scalar distance) const;
|
||||
|
||||
void SetObjectTransform(int id,
|
||||
const MT_Vector3& position,
|
||||
const MT_Vector3& velocity,
|
||||
const MT_Matrix3x3& orientation,
|
||||
const MT_Vector3& lisposition,
|
||||
const MT_Scalar& rollofffactor) const;
|
||||
void ObjectIs2D(int id) const;
|
||||
|
||||
void PlayCD(int track) const;
|
||||
void PauseCD(bool pause) const;
|
||||
void StopCD() const;
|
||||
void SetCDPlaymode(int playmode) const;
|
||||
void SetCDGain(MT_Scalar gain) const;
|
||||
|
||||
void StartUsingDSP() {};
|
||||
float* GetSpectrum() { return NULL; }
|
||||
void StopUsingDSP() {};
|
||||
|
||||
private:
|
||||
void* m_context;
|
||||
void* m_device;
|
||||
|
||||
unsigned int m_buffers[NUM_BUFFERS];
|
||||
unsigned int m_sources[NUM_SOURCES];
|
||||
bool m_buffersinitialized;
|
||||
bool m_sourcesinitialized;
|
||||
#ifndef __APPLE__
|
||||
class SND_SDLCDDevice* m_cdrom;
|
||||
#endif
|
||||
};
|
||||
|
||||
#endif //SND_OPENALDEVICE
|
||||
|
|
@ -1,67 +0,0 @@
|
|||
/* $Id$
|
||||
*
|
||||
* ***** BEGIN GPL LICENSE BLOCK *****
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software Foundation,
|
||||
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
|
||||
* All rights reserved.
|
||||
*
|
||||
* The Original Code is: all of this file.
|
||||
*
|
||||
* Contributor(s): none yet.
|
||||
*
|
||||
* ***** END GPL LICENSE BLOCK *****
|
||||
* FreeBSD 3.4 does not yet have pthread_cancel (3.5 and above do)
|
||||
*/
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include <config.h>
|
||||
#endif
|
||||
|
||||
#ifdef __FreeBSD__
|
||||
|
||||
#include <osreldate.h>
|
||||
|
||||
#if (__FreeBSD_version < 350000)
|
||||
#include <pthread.h>
|
||||
|
||||
#define FD_READ 0x1
|
||||
#define _FD_LOCK(_fd,_type,_ts) _thread_fd_lock(_fd, _type, _ts)
|
||||
#define _FD_UNLOCK(_fd,_type) _thread_fd_unlock(_fd, _type)
|
||||
|
||||
int pthread_cancel(pthread_t pthread) {
|
||||
pthread_exit(NULL);
|
||||
return 0;
|
||||
}
|
||||
|
||||
long fpathconf(int fd, int name)
|
||||
{
|
||||
long ret;
|
||||
|
||||
if ((ret = _FD_LOCK(fd, FD_READ, NULL)) == 0) {
|
||||
ret = _thread_sys_fpathconf(fd, name);
|
||||
_FD_UNLOCK(fd, FD_READ);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
int pthread_atfork(void *a, void *b, void *c) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
#endif
|
|
@ -1,43 +0,0 @@
|
|||
#
|
||||
# $Id$
|
||||
#
|
||||
# ***** BEGIN GPL LICENSE BLOCK *****
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU General Public License
|
||||
# as published by the Free Software Foundation; either version 2
|
||||
# of the License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software Foundation,
|
||||
# Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
#
|
||||
# The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
|
||||
# All rights reserved.
|
||||
#
|
||||
# The Original Code is: all of this file.
|
||||
#
|
||||
# Contributor(s): none yet.
|
||||
#
|
||||
# ***** END GPL LICENSE BLOCK *****
|
||||
#
|
||||
#
|
||||
|
||||
LIBNAME = SDLSoundSystem
|
||||
DIR = $(OCGDIR)/intern/$(LIBNAME)
|
||||
|
||||
include nan_compile.mk
|
||||
|
||||
CCFLAGS += $(LEVEL_1_CPP_WARNINGS)
|
||||
|
||||
CPPFLAGS += $(NAN_SDLCFLAGS)
|
||||
CPPFLAGS += -I$(NAN_STRING)/include
|
||||
CPPFLAGS += -I$(NAN_MOTO)/include
|
||||
CPPFLAGS += -I../intern
|
||||
CPPFLAGS += -I..
|
||||
CPPFLAGS += -I.
|
|
@ -1,171 +0,0 @@
|
|||
/*
|
||||
* $Id$
|
||||
*
|
||||
* ***** BEGIN GPL LICENSE BLOCK *****
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software Foundation,
|
||||
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
|
||||
* All rights reserved.
|
||||
*
|
||||
* The Original Code is: all of this file.
|
||||
*
|
||||
* Contributor(s): none yet.
|
||||
*
|
||||
* ***** END GPL LICENSE BLOCK *****
|
||||
* SND_SDLCDDevice
|
||||
*/
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include <config.h>
|
||||
#endif
|
||||
|
||||
#ifdef WIN32
|
||||
#pragma warning (disable:4786) // get rid of stupid stl-visual compiler debug warning
|
||||
#endif //WIN32
|
||||
|
||||
#include "MT_Scalar.h"
|
||||
|
||||
#include "SND_SDLCDDevice.h"
|
||||
#include "SoundDefines.h"
|
||||
|
||||
#ifndef DISABLE_SDL
|
||||
#include <SDL.h>
|
||||
#else
|
||||
#include <stdio.h>
|
||||
#endif
|
||||
|
||||
SND_SDLCDDevice::SND_SDLCDDevice() :
|
||||
m_cdrom(NULL),
|
||||
m_cdplaying(false),
|
||||
m_cdtrack(0),
|
||||
m_cdplaymode(SND_CD_TRACK),
|
||||
m_frame(0)
|
||||
{
|
||||
init();
|
||||
}
|
||||
|
||||
void SND_SDLCDDevice::init()
|
||||
{
|
||||
#ifdef DISABLE_SDL
|
||||
fprintf(stderr, "Blender compiled without SDL, no CDROM support\n");
|
||||
return;
|
||||
#else
|
||||
if (SDL_InitSubSystem(SDL_INIT_CDROM))
|
||||
{
|
||||
fprintf(stderr, "Error initializing CDROM\n");
|
||||
return;
|
||||
}
|
||||
|
||||
/* Check for CD drives */
|
||||
if(!SDL_CDNumDrives())
|
||||
{
|
||||
/* None found */
|
||||
fprintf(stderr, "No CDROM devices available\n");
|
||||
return;
|
||||
}
|
||||
|
||||
/* Open the default drive */
|
||||
m_cdrom = SDL_CDOpen(0);
|
||||
|
||||
/* Did if open? Check if cdrom is NULL */
|
||||
if(!m_cdrom)
|
||||
{
|
||||
fprintf(stderr, "Couldn't open drive: %s\n", SDL_GetError());
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
SND_SDLCDDevice::~SND_SDLCDDevice()
|
||||
{
|
||||
#ifndef DISABLE_SDL
|
||||
StopCD();
|
||||
SDL_CDClose(m_cdrom);
|
||||
#endif
|
||||
}
|
||||
|
||||
void SND_SDLCDDevice::NextFrame()
|
||||
{
|
||||
#ifndef DISABLE_SDL
|
||||
m_frame++;
|
||||
m_frame &= 127;
|
||||
|
||||
if (!m_frame && m_cdrom && m_cdplaying && SDL_CDStatus(m_cdrom) == CD_STOPPED)
|
||||
{
|
||||
switch (m_cdplaymode)
|
||||
{
|
||||
case SND_CD_ALL:
|
||||
if (m_cdtrack < m_cdrom->numtracks)
|
||||
PlayCD(m_cdtrack + 1);
|
||||
else
|
||||
m_cdplaying = false;
|
||||
break;
|
||||
default:
|
||||
case SND_CD_TRACK:
|
||||
m_cdplaying = false;
|
||||
break;
|
||||
case SND_CD_TRACKLOOP:
|
||||
PlayCD(m_cdtrack);
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
void SND_SDLCDDevice::PlayCD(int track)
|
||||
{
|
||||
#ifndef DISABLE_SDL
|
||||
if ( m_cdrom && CD_INDRIVE(SDL_CDStatus(m_cdrom)) ) {
|
||||
SDL_CDPlayTracks(m_cdrom, track-1, 0, track, 0);
|
||||
m_cdplaying = true;
|
||||
m_cdtrack = track;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
void SND_SDLCDDevice::PauseCD(bool pause)
|
||||
{
|
||||
#ifndef DISABLE_SDL
|
||||
if (!m_cdrom)
|
||||
return;
|
||||
|
||||
if (pause)
|
||||
SDL_CDPause(m_cdrom);
|
||||
else
|
||||
SDL_CDResume(m_cdrom);
|
||||
#endif
|
||||
}
|
||||
|
||||
void SND_SDLCDDevice::StopCD()
|
||||
{
|
||||
#ifndef DISABLE_SDL
|
||||
if (m_cdrom)
|
||||
SDL_CDStop(m_cdrom);
|
||||
m_cdplaying = false;
|
||||
#endif
|
||||
}
|
||||
|
||||
void SND_SDLCDDevice::SetCDPlaymode(int playmode)
|
||||
{
|
||||
m_cdplaymode = playmode;
|
||||
}
|
||||
|
||||
void SND_SDLCDDevice::SetCDGain(MT_Scalar gain)
|
||||
{
|
||||
|
||||
}
|
|
@ -1,58 +0,0 @@
|
|||
/**
|
||||
* $Id$
|
||||
*
|
||||
* ***** BEGIN GPL LICENSE BLOCK *****
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software Foundation,
|
||||
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
|
||||
* All rights reserved.
|
||||
*
|
||||
* The Original Code is: all of this file.
|
||||
*
|
||||
* Contributor(s): none yet.
|
||||
*
|
||||
* ***** END GPL LICENSE BLOCK *****
|
||||
*/
|
||||
#ifndef SND_SDLCDDEVICE
|
||||
#define SND_SDLCDDEVICE
|
||||
|
||||
struct SDL_CD;
|
||||
|
||||
class SND_SDLCDDevice
|
||||
{
|
||||
public:
|
||||
SND_SDLCDDevice();
|
||||
~SND_SDLCDDevice();
|
||||
|
||||
void NextFrame();
|
||||
|
||||
void PlayCD(int track);
|
||||
void PauseCD(bool pause);
|
||||
void StopCD();
|
||||
void SetCDPlaymode(int playmode);
|
||||
void SetCDGain(MT_Scalar gain);
|
||||
|
||||
private:
|
||||
void init();
|
||||
/* CD Audio */
|
||||
SDL_CD* m_cdrom;
|
||||
bool m_cdplaying;
|
||||
int m_cdtrack;
|
||||
unsigned char m_cdplaymode;
|
||||
unsigned char m_frame;
|
||||
};
|
||||
|
||||
#endif
|
|
@ -26,6 +26,8 @@
|
|||
#include "AUD_SDLMixerFactory.h"
|
||||
#include "AUD_SDLMixerReader.h"
|
||||
|
||||
#include <cstring>
|
||||
|
||||
AUD_SDLMixerFactory::AUD_SDLMixerFactory(AUD_IReader* reader, AUD_Specs specs) :
|
||||
AUD_MixerFactory(reader, specs) {}
|
||||
|
||||
|
|
|
@ -26,6 +26,8 @@
|
|||
#include "AUD_SDLMixerReader.h"
|
||||
#include "AUD_Buffer.h"
|
||||
|
||||
#include <cstring>
|
||||
|
||||
inline Uint16 AUD_TO_SDL(AUD_SampleFormat format)
|
||||
{
|
||||
// SDL only supports 8 and 16 bit audio
|
||||
|
|
|
@ -537,7 +537,7 @@ attributeRenameDict = {
|
|||
'getFrameMessageCount': (replaceSimpleGetter, 'frameMessageCount'), # KX_NetworkMessageSensor
|
||||
'getFrameProperty': (replaceSimpleGetter, 'framePropName'), # BL_ShapeActionActuator, BL_ActionActuator
|
||||
'getFrequency': (replaceSimpleGetter, 'frequency'), # SCA_ISensor
|
||||
'getGain': (replaceSimpleGetter, 'volume'), # KX_SoundActuator, KX_CDActuator
|
||||
'getGain': (replaceSimpleGetter, 'volume'), # KX_SoundActuator
|
||||
'getHat': (replaceSimpleGetter, 'hat'), # SCA_JoystickSensor
|
||||
'getHeight': (replaceSimpleGetter, 'height'), # KX_CameraActuator
|
||||
'getHitNormal': (replaceSimpleGetter, 'hitNormal'), # KX_MouseFocusSensor, KX_RaySensor
|
||||
|
@ -620,7 +620,7 @@ attributeRenameDict = {
|
|||
'setFrame': (replaceSimpleSetter, 'frame'), # BL_ShapeActionActuator, BL_ActionActuator
|
||||
'setFrameProperty': (replaceSimpleSetter, 'framePropName'), # BL_ShapeActionActuator, BL_ActionActuator
|
||||
'setFrequency': (replaceSimpleSetter, 'frequency'), # SCA_ISensor
|
||||
'setGain': (replaceSimpleSetter, 'volume'), # KX_SoundActuator, KX_CDActuator
|
||||
'setGain': (replaceSimpleSetter, 'volume'), # KX_SoundActuator
|
||||
'setHeight': (replaceSimpleSetter, 'height'), # KX_CameraActuator
|
||||
'setHold1': (replaceSimpleSetter, 'hold1'), # SCA_KeyboardSensor
|
||||
'setHold2': (replaceSimpleSetter, 'hold2'), # SCA_KeyboardSensor
|
||||
|
|
|
@ -79,7 +79,6 @@ GRPLIB = $(OCGDIR)/creator/$(DEBUG_DIR)libcreator.a
|
|||
GRPLIB += $(OCGDIR)/blender/windowmanager/$(DEBUG_DIR)libwindowmanager.a
|
||||
GRPLIB += $(NAN_BSP)/lib/$(DEBUG_DIR)libbsp.a
|
||||
GRPLIB += $(NAN_BOOLOP)/lib/$(DEBUG_DIR)libboolop.a
|
||||
GRPLIB += $(NAN_SOUNDSYSTEM)/lib/$(DEBUG_DIR)libSoundSystem.a
|
||||
GRPLIB += $(NAN_GHOST)/lib/$(DEBUG_DIR)libghost.a
|
||||
GRPLIB += $(NAN_STRING)/lib/$(DEBUG_DIR)libstring.a
|
||||
GRPLIB += $(OCGDIR)/blender/render/$(DEBUG_DIR)librender.a
|
||||
|
@ -353,67 +352,24 @@ endif
|
|||
|
||||
# OpenAL libs are already compiled as shared code!
|
||||
|
||||
# Some vars to keep the rest of this section mostly readable
|
||||
# in an 80 char term
|
||||
SOUNDSYSTEM = $(OCGDIR)/intern/SoundSystem/$(DEBUG_DIR)libSoundSystem.a
|
||||
DUMMYSOUND = $(OCGDIR)/intern/DummySoundSystem/$(DEBUG_DIR)libDummySoundSystem.a
|
||||
OPENALSOUND = $(OCGDIR)/intern/OpenALSoundSystem/$(DEBUG_DIR)libOpenALSoundSystem.a
|
||||
SDLSOUND = $(OCGDIR)/intern/SDLSoundSystem/$(DEBUG_DIR)libSDLSoundSystem.a
|
||||
|
||||
# Some kooky logic going on here ...
|
||||
ifeq ($(NAN_NO_OPENAL), true)
|
||||
NAN_SND_LIBS = $(SOUNDSYSTEM)
|
||||
NAN_SND_LIBS += $(DUMMYSOUND)
|
||||
NAN_SND_LIBS += $(SOUNDSYSTEM)
|
||||
# NAN_SND_LIBS =
|
||||
else
|
||||
ifeq ($(OS),$(findstring $(OS), "freebsd linux windows"))
|
||||
ifeq ($(CPU),$(findstring $(CPU), "i386 powerpc x86_64 parisc64"))
|
||||
NAN_SND_LIBS = $(SOUNDSYSTEM)
|
||||
NAN_SND_LIBS += $(DUMMYSOUND)
|
||||
NAN_SND_LIBS += $(OPENALSOUND)
|
||||
NAN_SND_LIBS += $(SDLSOUND)
|
||||
NAN_SND_LIBS += $(NAN_OPENAL)/lib/libopenal.a
|
||||
NAN_SND_LIBS += $(SOUNDSYSTEM)
|
||||
else
|
||||
ifeq ($(OS),windows)
|
||||
NAN_SND_LIBS = $(SOUNDSYSTEM)
|
||||
NAN_SND_LIBS += $(DUMMYSOUND)
|
||||
NAN_SND_LIBS += $(OPENALSOUND)
|
||||
NAN_SND_LIBS += $(SDLSOUND)
|
||||
NAN_SND_LIBS += $(NAN_OPENAL)/lib/openal_static.lib
|
||||
NAN_SND_LIBS += $(SOUNDSYSTEM)
|
||||
else
|
||||
NAN_SND_LIBS = $(SOUNDSYSTEM)
|
||||
NAN_SND_LIBS += $(DUMMYSOUND)
|
||||
NAN_SND_LIBS += $(SOUNDSYSTEM)
|
||||
endif
|
||||
endif
|
||||
else
|
||||
ifeq ($(OS),darwin)
|
||||
NAN_SND_LIBS = $(SOUNDSYSTEM)
|
||||
NAN_SND_LIBS += $(DUMMYSOUND)
|
||||
NAN_SND_LIBS += $(OPENALSOUND)
|
||||
NAN_SND_LIBS += $(NAN_OPENAL)/lib/libopenal.a
|
||||
NAN_SND_LIBS += $(SOUNDSYSTEM)
|
||||
else
|
||||
ifeq ($(OS), solaris)
|
||||
NAN_SND_LIBS = $(SOUNDSYSTEM)
|
||||
NAN_SND_LIBS += $(DUMMYSOUND)
|
||||
NAN_SND_LIBS += $(OPENALSOUND)
|
||||
NAN_SND_LIBS += $(SDLSOUND)
|
||||
NAN_SND_LIBS += $(NAN_OPENAL)/lib/libopenal.a
|
||||
NAN_SND_LIBS += $(SOUNDSYSTEM)
|
||||
else
|
||||
ifeq ($(OS), irix)
|
||||
NAN_SND_LIBS = $(SOUNDSYSTEM)
|
||||
NAN_SND_LIBS += $(DUMMYSOUND)
|
||||
NAN_SND_LIBS += $(SDLSOUND)
|
||||
NAN_SND_LIBS += $(SOUNDSYSTEM)
|
||||
else
|
||||
NAN_SND_LIBS = $(SOUNDSYSTEM)
|
||||
NAN_SND_LIBS += $(DUMMYSOUND)
|
||||
NAN_SND_LIBS += $(SOUNDSYSTEM)
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
|
|
@ -44,7 +44,6 @@ extern "C" {
|
|||
/* forwards */
|
||||
struct Main;
|
||||
struct Object;
|
||||
struct bSoundListener;
|
||||
struct BME_Glob;
|
||||
|
||||
typedef struct Global {
|
||||
|
@ -93,9 +92,6 @@ typedef struct Global {
|
|||
/* save the allowed windowstate of blender when using -W or -w */
|
||||
int windowstate;
|
||||
|
||||
/* Janco's playing ground */
|
||||
struct bSoundListener* listener;
|
||||
|
||||
/* ndof device found ? */
|
||||
int ndofdevice;
|
||||
|
||||
|
|
|
@ -434,9 +434,6 @@ void init_actuator(bActuator *act)
|
|||
sa->sound3D.cone_outer_angle = 360.0f;
|
||||
sa->sound3D.max_distance = FLT_MAX;
|
||||
break;
|
||||
case ACT_CD:
|
||||
act->data= MEM_callocN(sizeof(bCDActuator), "cdact");
|
||||
break;
|
||||
case ACT_OBJECT:
|
||||
act->data= MEM_callocN(sizeof(bObjectActuator), "objectact");
|
||||
oa= act->data;
|
||||
|
|
|
@ -3467,9 +3467,6 @@ static void lib_link_object(FileData *fd, Main *main)
|
|||
bSoundActuator *sa= act->data;
|
||||
sa->sound= newlibadr_us(fd, ob->id.lib, sa->sound);
|
||||
}
|
||||
else if(act->type==ACT_CD) {
|
||||
/* bCDActuator *cda= act->data; */
|
||||
}
|
||||
else if(act->type==ACT_GAME) {
|
||||
/* bGameActuator *ga= act->data; */
|
||||
}
|
||||
|
@ -5030,7 +5027,6 @@ static void fix_relpaths_library(const char *basepath, Main *main)
|
|||
|
||||
static void direct_link_sound(FileData *fd, bSound *sound)
|
||||
{
|
||||
sound->sample = NULL;
|
||||
sound->snd_sound = NULL;
|
||||
|
||||
sound->packedfile = direct_link_packedfile(fd, sound->packedfile);
|
||||
|
|
|
@ -771,9 +771,6 @@ static void write_actuators(WriteData *wd, ListBase *lb)
|
|||
case ACT_SOUND:
|
||||
writestruct(wd, DATA, "bSoundActuator", 1, act->data);
|
||||
break;
|
||||
case ACT_CD:
|
||||
writestruct(wd, DATA, "bCDActuator", 1, act->data);
|
||||
break;
|
||||
case ACT_OBJECT:
|
||||
writestruct(wd, DATA, "bObjectActuator", 1, act->data);
|
||||
break;
|
||||
|
|
|
@ -33,7 +33,7 @@ SET(INC ../windowmanager
|
|||
../include ../imbuf ../render/extern/include
|
||||
../../../intern/bsp/extern ../radiosity/extern/include
|
||||
../../../intern/decimation/extern ../blenloader ../python
|
||||
../../kernel/gen_system ../../../intern/SoundSystem ../readstreamglue
|
||||
../../kernel/gen_system ../readstreamglue
|
||||
../quicktime ../../../intern/elbeem/extern
|
||||
../../../intern/ghost ../../../intern/opennl/extern ../../../extern/glew/include ../../../intern/smoke/extern
|
||||
../../../intern/audaspace
|
||||
|
|
|
@ -37,7 +37,7 @@ SET(INC ../../windowmanager
|
|||
../../render/extern/include ../../../../intern/bsp/extern
|
||||
../../radiosity/extern/include
|
||||
../../../intern/decimation/extern ../../blenloader
|
||||
../../../kernel/gen_system ../../../../intern/SoundSystem ../../readstreamglue
|
||||
../../../kernel/gen_system ../../readstreamglue
|
||||
../../quicktime ../../../../intern/elbeem/extern
|
||||
../../../../intern/ghost ../../../../intern/opennl/extern
|
||||
../../nodes
|
||||
|
|
|
@ -1503,7 +1503,6 @@ unsigned int ED_screen_view3d_layers(bScreen *screen)
|
|||
|
||||
|
||||
/* results in fully updated anim system */
|
||||
/* in future sound should be on WM level, only 1 sound can play! */
|
||||
void ED_update_for_newframe(const bContext *C, int mute)
|
||||
{
|
||||
bScreen *screen= CTX_wm_screen(C);
|
||||
|
|
|
@ -708,8 +708,6 @@ static char *actuator_name(int type)
|
|||
return "Material";
|
||||
case ACT_SOUND:
|
||||
return "Sound";
|
||||
case ACT_CD:
|
||||
return "CD";
|
||||
case ACT_PROPERTY:
|
||||
return "Property";
|
||||
case ACT_EDIT_OBJECT:
|
||||
|
@ -748,21 +746,21 @@ static char *actuator_pup(Object *owner)
|
|||
case OB_ARMATURE:
|
||||
return "Actuators %t|Action %x15|Motion %x0|Constraint %x9|Ipo %x1"
|
||||
"|Camera %x3|Sound %x5|Property %x6|Edit Object %x10"
|
||||
"|Scene %x11|Random %x13|Message %x14|CD %x16|Game %x17"
|
||||
"|Scene %x11|Random %x13|Message %x14|Game %x17"
|
||||
"|Visibility %x18|2D Filter %x19|Parent %x20|State %x22";
|
||||
break;
|
||||
|
||||
case OB_MESH:
|
||||
return "Actuators %t|Shape Action %x21|Motion %x0|Constraint %x9|Ipo %x1"
|
||||
"|Camera %x3|Sound %x5|Property %x6|Edit Object %x10"
|
||||
"|Scene %x11|Random %x13|Message %x14|CD %x16|Game %x17"
|
||||
"|Scene %x11|Random %x13|Message %x14|Game %x17"
|
||||
"|Visibility %x18|2D Filter %x19|Parent %x20|State %x22";
|
||||
break;
|
||||
|
||||
default:
|
||||
return "Actuators %t|Motion %x0|Constraint %x9|Ipo %x1"
|
||||
"|Camera %x3|Sound %x5|Property %x6|Edit Object %x10"
|
||||
"|Scene %x11|Random %x13|Message %x14|CD %x16|Game %x17"
|
||||
"|Scene %x11|Random %x13|Message %x14|Game %x17"
|
||||
"|Visibility %x18|2D Filter %x19|Parent %x20|State %x22";
|
||||
}
|
||||
}
|
||||
|
@ -1581,7 +1579,6 @@ static int get_col_actuator(int type)
|
|||
case ACT_IPO: return TH_PANEL;
|
||||
case ACT_PROPERTY: return TH_PANEL;
|
||||
case ACT_SOUND: return TH_PANEL;
|
||||
case ACT_CD: return TH_PANEL;
|
||||
case ACT_CAMERA: return TH_PANEL;
|
||||
case ACT_EDIT_OBJECT: return TH_PANEL;
|
||||
case ACT_GROUP: return TH_PANEL;
|
||||
|
@ -1674,7 +1671,6 @@ static void check_state_mask(bContext *C, void *arg1_but, void *arg2_mask)
|
|||
static short draw_actuatorbuttons(Object *ob, bActuator *act, uiBlock *block, short xco, short yco, short width)
|
||||
{
|
||||
bSoundActuator *sa = NULL;
|
||||
bCDActuator *cda = NULL;
|
||||
bObjectActuator *oa = NULL;
|
||||
bIpoActuator *ia = NULL;
|
||||
bPropertyActuator *pa = NULL;
|
||||
|
@ -2023,41 +2019,6 @@ static short draw_actuatorbuttons(Object *ob, bActuator *act, uiBlock *block, sh
|
|||
|
||||
yco-= ysize;
|
||||
|
||||
break;
|
||||
}
|
||||
case ACT_CD:
|
||||
{
|
||||
char cd_type_str[] = "Sound mode %t|Play all tracks %x0|Play one track %x1|"
|
||||
"Volume %x3|Stop %x4|Pause %x5|Resume %x6";
|
||||
cda = act->data;
|
||||
|
||||
if (cda) {
|
||||
if (cda->track == 0) {
|
||||
cda->track = 1;
|
||||
cda->volume = 1;
|
||||
cda->type = ACT_CD_PLAY_ALL;
|
||||
}
|
||||
|
||||
if (cda->type == ACT_CD_PLAY_TRACK || cda->type == ACT_CD_LOOP_TRACK) {
|
||||
ysize = 48;
|
||||
glRects(xco, yco-ysize, xco+width, yco);
|
||||
uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
|
||||
uiDefButS(block, NUM, 0, "Track:", xco+10,yco-44,width-20, 19, &cda->track, 1, 99, 0, 0, "Select the track to be played");
|
||||
}
|
||||
else if (cda->type == ACT_CD_VOLUME) {
|
||||
ysize = 48;
|
||||
glRects(xco, yco-ysize, xco+width, yco);
|
||||
uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
|
||||
uiDefButF(block, NUM, 0, "Volume:", xco+10,yco-44,width-20, 19, &cda->volume, 0, 1, 0, 0, "Set the volume for CD playback");
|
||||
}
|
||||
else {
|
||||
ysize = 28;
|
||||
glRects(xco, yco-ysize, xco+width, yco);
|
||||
uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
|
||||
}
|
||||
uiDefButS(block, MENU, B_REDR, cd_type_str,xco+10,yco-22,width-20, 19, &cda->type, 0.0, 0.0, 0, 0, "");
|
||||
}
|
||||
yco-= ysize;
|
||||
break;
|
||||
}
|
||||
case ACT_CAMERA:
|
||||
|
|
|
@ -75,10 +75,6 @@
|
|||
|
||||
/* ***************** generic undo system ********************* */
|
||||
|
||||
/* ********* XXX **************** */
|
||||
static void sound_initialize_sounds() {}
|
||||
/* ********* XXX **************** */
|
||||
|
||||
void ED_undo_push(bContext *C, char *str)
|
||||
{
|
||||
wmWindowManager *wm= CTX_wm_manager(C);
|
||||
|
@ -167,7 +163,6 @@ static int ed_undo_step(bContext *C, int step, const char *undoname)
|
|||
BKE_undo_name(C, undoname);
|
||||
else
|
||||
BKE_undo_step(C, step);
|
||||
sound_initialize_sounds();
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -229,7 +224,6 @@ void ED_undo_menu(bContext *C)
|
|||
MEM_freeN(menu);
|
||||
if(event>0) {
|
||||
BKE_undo_number(C, event);
|
||||
sound_initialize_sounds();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -72,13 +72,6 @@ typedef struct bSoundActuator {
|
|||
short copymade, pad2[1];
|
||||
} bSoundActuator;
|
||||
|
||||
typedef struct bCDActuator {
|
||||
short flag, sndnr;
|
||||
int sta, end;
|
||||
short type, track;
|
||||
float volume;
|
||||
} bCDActuator;
|
||||
|
||||
typedef struct bEditObjectActuator {
|
||||
int time;
|
||||
short type, flag;
|
||||
|
@ -296,7 +289,6 @@ typedef struct FreeCamera {
|
|||
#define ACT_RANDOM 13
|
||||
#define ACT_MESSAGE 14
|
||||
#define ACT_ACTION 15 /* __ NLA */
|
||||
#define ACT_CD 16
|
||||
#define ACT_GAME 17
|
||||
#define ACT_VISIBILITY 18
|
||||
#define ACT_2DFILTER 19
|
||||
|
@ -452,15 +444,6 @@ typedef struct FreeCamera {
|
|||
#define ACT_MESG_MESG 0
|
||||
#define ACT_MESG_PROP 1
|
||||
|
||||
/* cdactuator->type */
|
||||
#define ACT_CD_PLAY_ALL 0
|
||||
#define ACT_CD_PLAY_TRACK 1
|
||||
#define ACT_CD_LOOP_TRACK 2
|
||||
#define ACT_CD_VOLUME 3
|
||||
#define ACT_CD_STOP 4
|
||||
#define ACT_CD_PAUSE 5
|
||||
#define ACT_CD_RESUME 6
|
||||
|
||||
/* gameactuator->type */
|
||||
#define ACT_GAME_LOAD 0
|
||||
#define ACT_GAME_START 1
|
||||
|
|
|
@ -37,33 +37,10 @@
|
|||
/* stupid... could easily be solved */
|
||||
#include "DNA_view2d_types.h"
|
||||
|
||||
/* extern int noaudio; * defined in sound.c . also not very nice */
|
||||
/* extern ListBase *samples; don't do this in DNA, but in BKE_... instead */
|
||||
|
||||
struct bSample;
|
||||
struct Ipo;
|
||||
struct PackedFile;
|
||||
struct SpaceLink;
|
||||
|
||||
/* should not be here! */
|
||||
#
|
||||
#
|
||||
typedef struct bSample {
|
||||
ID id;
|
||||
void *data;
|
||||
void *snd_sample;
|
||||
short type, bits;
|
||||
short channels;
|
||||
int len, rate;
|
||||
// int buffer;
|
||||
int alindex;
|
||||
char fakedata[16];
|
||||
int flags;
|
||||
char name[160];
|
||||
struct PackedFile * packedfile;
|
||||
short us;
|
||||
} bSample;
|
||||
|
||||
// runtime only - no saving
|
||||
typedef struct SoundHandle {
|
||||
struct SoundHandle *next, *prev;
|
||||
|
@ -94,7 +71,6 @@ typedef struct Sound3D
|
|||
typedef struct bSound {
|
||||
ID id;
|
||||
char name[160];
|
||||
struct bSample *sample; // AUD_XXX deprecated
|
||||
void *stream; // AUD_XXX deprecated
|
||||
struct PackedFile *packedfile;
|
||||
struct PackedFile *newpackedfile; // AUD_XXX deprecated
|
||||
|
@ -146,27 +122,6 @@ typedef enum eSound_Type {
|
|||
SOUND_TYPE_LIMITER
|
||||
} eSound_Type;
|
||||
|
||||
typedef struct bSoundListener {
|
||||
ID id;
|
||||
/**
|
||||
* Overall gain
|
||||
*/
|
||||
float gain;
|
||||
/**
|
||||
* Sets a scaling to exaggerate or deemphasize the Doppler (pitch) shift
|
||||
* resulting from the calculation.
|
||||
*/
|
||||
float dopplerfactor;
|
||||
/**
|
||||
* Sets the value of the propagation speed relative to which the source
|
||||
* velocities are interpreted.
|
||||
*/
|
||||
float dopplervelocity;
|
||||
short numsoundsblender;
|
||||
short numsoundsgameengine;
|
||||
|
||||
} bSoundListener;
|
||||
|
||||
/* spacesound->flag */
|
||||
#define SND_DRAWFRAMES 1
|
||||
#define SND_CFRA_NUM 2
|
||||
|
@ -188,20 +143,6 @@ typedef struct SpaceSound {
|
|||
} SpaceSound;
|
||||
|
||||
|
||||
enum SAMPLE_FileTypes {
|
||||
SAMPLE_INVALID = -1, // must be negative
|
||||
SAMPLE_UNKNOWN = 0,
|
||||
SAMPLE_RAW,
|
||||
SAMPLE_WAV,
|
||||
SAMPLE_MP2,
|
||||
SAMPLE_MP3,
|
||||
SAMPLE_OGG_VORBIS,
|
||||
SAMPLE_WMA,
|
||||
SAMPLE_ASF,
|
||||
SAMPLE_AIFF
|
||||
};
|
||||
|
||||
|
||||
#define SOUND_CHANNELS_STEREO 0
|
||||
#define SOUND_CHANNELS_LEFT 1
|
||||
#define SOUND_CHANNELS_RIGHT 2
|
||||
|
@ -214,8 +155,6 @@ enum SAMPLE_FileTypes {
|
|||
#define SOUND_FLAGS_PRIORITY (1 << 5)
|
||||
#define SOUND_FLAGS_SEQUENCE (1 << 6)
|
||||
|
||||
#define SAMPLE_NEEDS_SAVE (1 << 0)
|
||||
|
||||
/* to DNA_sound_types.h*/
|
||||
|
||||
#endif
|
||||
|
|
|
@ -51,8 +51,7 @@ void RNA_def_actuator(BlenderRNA *brna)
|
|||
{ACT_SCENE, "SCENE", 0, "Scene", ""},
|
||||
{ACT_RANDOM, "RANDOM", 0, "Random", ""},
|
||||
{ACT_MESSAGE, "MESSAGE", 0, "Message", ""},
|
||||
{ACT_ACTION, "ACTION", 0, "Action", ""},
|
||||
{ACT_CD, "CD", 0, "CD", ""},
|
||||
{ACT_ACTION, "ACTION", 0, "Action", ""},
|
||||
{ACT_GAME, "GAME", 0, "Game", ""},
|
||||
{ACT_VISIBILITY, "VISIBILITY", 0, "Visibility", ""},
|
||||
{ACT_2DFILTER, "FILTER_2D", 0, "2D Filter", ""},
|
||||
|
|
|
@ -36,96 +36,6 @@
|
|||
|
||||
#else
|
||||
|
||||
/* sample and listener are internal .. */
|
||||
|
||||
#if 0
|
||||
static void rna_def_sample(BlenderRNA *brna)
|
||||
{
|
||||
StructRNA *srna;
|
||||
PropertyRNA *prop;
|
||||
|
||||
/* sound types */
|
||||
static EnumPropertyItem prop_sample_type_items[] = {
|
||||
{SAMPLE_INVALID, "INVALID", 0, "Invalid", ""},
|
||||
{SAMPLE_UNKNOWN, "UNKNOWN", 0, "Unknown", ""},
|
||||
{SAMPLE_RAW, "RAW", 0, "Raw", ""},
|
||||
{SAMPLE_WAV, "WAV", 0, "WAV", "Uncompressed"},
|
||||
{SAMPLE_MP2, "MP2", 0, "MP2", "MPEG-1 Audio Layer 2"},
|
||||
{SAMPLE_MP3, "MP3", 0, "MP3", "MPEG-1 Audio Layer 3"},
|
||||
{SAMPLE_OGG_VORBIS, "OGG_VORBIS", 0, "Ogg Vorbis", ""},
|
||||
{SAMPLE_WMA, "WMA", 0, "WMA", "Windows Media Audio"},
|
||||
{SAMPLE_ASF, "ASF", 0, "ASF", "Windows Advanced Systems Format"},
|
||||
{SAMPLE_AIFF, "AIFF", 0, "AIFF", "Audio Interchange File Format"},
|
||||
{0, NULL, 0, NULL, NULL}};
|
||||
|
||||
srna= RNA_def_struct(brna, "SoundSample", "ID");
|
||||
RNA_def_struct_sdna(srna, "bSample");
|
||||
RNA_def_struct_ui_text(srna, "SoundSample", "Sound data loaded from a sound datablock.");
|
||||
|
||||
prop= RNA_def_property(srna, "type", PROP_ENUM, PROP_NONE);
|
||||
RNA_def_property_enum_items(prop, prop_sample_type_items);
|
||||
RNA_def_property_clear_flag(prop, PROP_EDITABLE);
|
||||
RNA_def_property_ui_text(prop, "Types", "");
|
||||
|
||||
prop= RNA_def_property(srna, "filename", PROP_STRING, PROP_FILEPATH);
|
||||
RNA_def_property_string_sdna(prop, NULL, "name");
|
||||
RNA_def_property_clear_flag(prop, PROP_EDITABLE);
|
||||
RNA_def_property_ui_text(prop, "Filename", "Full path filename of the sample");
|
||||
|
||||
prop= RNA_def_property(srna, "length", PROP_INT, PROP_UNSIGNED);
|
||||
RNA_def_property_int_sdna(prop, NULL, "len");
|
||||
RNA_def_property_ui_text(prop, "Length", "The length of sample in seconds");
|
||||
RNA_def_property_clear_flag(prop, PROP_EDITABLE);
|
||||
|
||||
prop= RNA_def_property(srna, "rate", PROP_INT, PROP_UNSIGNED);
|
||||
RNA_def_property_ui_text(prop, "Rate", "Sample rate in kHz");
|
||||
RNA_def_property_clear_flag(prop, PROP_EDITABLE);
|
||||
|
||||
prop= RNA_def_property(srna, "bits", PROP_INT, PROP_UNSIGNED);
|
||||
RNA_def_property_ui_text(prop, "Bits", "Bit-depth of sample");
|
||||
RNA_def_property_clear_flag(prop, PROP_EDITABLE);
|
||||
|
||||
prop= RNA_def_property(srna, "channels", PROP_INT, PROP_UNSIGNED);
|
||||
RNA_def_property_ui_text(prop, "Channels", "Number of channels (mono=1; stereo=2)");
|
||||
RNA_def_property_clear_flag(prop, PROP_EDITABLE);
|
||||
}
|
||||
|
||||
static void rna_def_soundlistener(BlenderRNA *brna)
|
||||
{
|
||||
|
||||
StructRNA *srna;
|
||||
PropertyRNA *prop;
|
||||
|
||||
srna= RNA_def_struct(brna, "SoundListener", "ID");
|
||||
RNA_def_struct_sdna(srna, "bSoundListener");
|
||||
RNA_def_struct_ui_text(srna, "Sound Listener", "Sound listener defining parameters about how sounds are played.");
|
||||
|
||||
prop= RNA_def_property(srna, "gain", PROP_FLOAT, PROP_NONE);
|
||||
RNA_def_property_ui_text(prop, "Gain", "Overall volume for Game Engine sound.");
|
||||
RNA_def_property_ui_range(prop, 0.0, 1.0, 10, 4);
|
||||
|
||||
prop= RNA_def_property(srna, "doppler_factor", PROP_FLOAT, PROP_NONE);
|
||||
RNA_def_property_float_sdna(prop, NULL, "dopplerfactor");
|
||||
RNA_def_property_ui_text(prop, "Doppler Factor", "Amount of Doppler effect in Game Engine sound.");
|
||||
RNA_def_property_ui_range(prop, 0.0, 10.0, 1, 4);
|
||||
|
||||
prop= RNA_def_property(srna, "doppler_velocity", PROP_FLOAT, PROP_NONE);
|
||||
RNA_def_property_float_sdna(prop, NULL, "dopplervelocity");
|
||||
RNA_def_property_ui_text(prop, "Doppler Velocity", "The speed of sound in the Game Engine.");
|
||||
RNA_def_property_ui_range(prop, 0.0, 10000.0, 0.1, 4);
|
||||
|
||||
prop= RNA_def_property(srna, "num_sounds_blender", PROP_INT, PROP_UNSIGNED);
|
||||
RNA_def_property_int_sdna(prop, NULL, "numsoundsblender");
|
||||
RNA_def_property_ui_text(prop, "Total Sounds in Blender", "The total number of sounds currently linked and available.");
|
||||
RNA_def_property_clear_flag(prop, PROP_EDITABLE);
|
||||
|
||||
prop= RNA_def_property(srna, "num_sounds_gameengine", PROP_INT, PROP_UNSIGNED);
|
||||
RNA_def_property_int_sdna(prop, NULL, "numsoundsgameengine");
|
||||
RNA_def_property_ui_text(prop, "Total Sounds in Game Engine", "The total number of sounds in the Game Engine.");
|
||||
RNA_def_property_clear_flag(prop, PROP_EDITABLE);
|
||||
}
|
||||
#endif
|
||||
|
||||
static void rna_def_sound(BlenderRNA *brna)
|
||||
{
|
||||
StructRNA *srna;
|
||||
|
@ -138,10 +48,6 @@ static void rna_def_sound(BlenderRNA *brna)
|
|||
|
||||
//rna_def_ipo_common(srna);
|
||||
|
||||
/*prop= RNA_def_property(srna, "sample", PROP_POINTER, PROP_NONE);
|
||||
RNA_def_property_struct_type(prop, "SoundSample");
|
||||
RNA_def_property_ui_text(prop, "Sample", "Sound sample.");*/
|
||||
|
||||
prop= RNA_def_property(srna, "filename", PROP_STRING, PROP_FILEPATH);
|
||||
RNA_def_property_string_sdna(prop, NULL, "name");
|
||||
RNA_def_property_ui_text(prop, "Filename", "Sound sample file used by this Sound datablock.");
|
||||
|
@ -153,8 +59,6 @@ static void rna_def_sound(BlenderRNA *brna)
|
|||
|
||||
void RNA_def_sound(BlenderRNA *brna)
|
||||
{
|
||||
//rna_def_sample(brna);
|
||||
//rna_def_soundlistener(brna);
|
||||
rna_def_sound(brna);
|
||||
}
|
||||
|
||||
|
|
|
@ -43,7 +43,7 @@ CPPFLAGS += -I$(NAN_PYTHON)/include/python$(NAN_PYTHON_VERSION)
|
|||
# PreProcessor stuff
|
||||
|
||||
CPPFLAGS += -I$(NAN_GHOST)/include
|
||||
CPPFLAGS += -I$(NAN_SOUNDSYSTEM)/include $(NAN_SDLCFLAGS)
|
||||
CPPFLAGS += $(NAN_SDLCFLAGS)
|
||||
|
||||
# modules
|
||||
CPPFLAGS += -I../../editors/include
|
||||
|
|
|
@ -43,7 +43,7 @@ CPPFLAGS += -I$(NAN_PYTHON)/include/python$(NAN_PYTHON_VERSION)
|
|||
# PreProcessor stuff
|
||||
|
||||
CPPFLAGS += -I$(NAN_GHOST)/include
|
||||
CPPFLAGS += -I$(NAN_SOUNDSYSTEM)/include $(NAN_SDLCFLAGS)
|
||||
CPPFLAGS += $(NAN_SDLCFLAGS)
|
||||
|
||||
# modules
|
||||
CPPFLAGS += -I../../editors/include
|
||||
|
|
|
@ -33,7 +33,7 @@ SET(INC .
|
|||
../include ../imbuf ../render/extern/include
|
||||
../../../intern/bsp/extern ../radiosity/extern/include
|
||||
../../../intern/decimation/extern ../blenloader
|
||||
../../kernel/gen_system ../../../intern/SoundSystem ../readstreamglue
|
||||
../../kernel/gen_system ../readstreamglue
|
||||
../quicktime ../../../intern/elbeem/extern
|
||||
../../../intern/ghost ../../../intern/opennl/extern ../../../extern/glew/include
|
||||
../nodes
|
||||
|
|
|
@ -44,7 +44,7 @@ CPPFLAGS += -I$(NAN_PYTHON)/include/python$(NAN_PYTHON_VERSION)
|
|||
|
||||
CPPFLAGS += -I$(NAN_GHOST)/include
|
||||
CPPFLAGS += -I$(NAN_ELBEEM)/include
|
||||
CPPFLAGS += -I$(NAN_SOUNDSYSTEM)/include $(NAN_SDLCFLAGS)
|
||||
CPPFLAGS += $(NAN_SDLCFLAGS)
|
||||
|
||||
# modules
|
||||
CPPFLAGS += -I../../editors/include
|
||||
|
|
|
@ -38,7 +38,6 @@
|
|||
|
||||
#include "DNA_object_types.h"
|
||||
#include "DNA_scene_types.h"
|
||||
#include "DNA_sound_types.h"
|
||||
#include "DNA_userdef_types.h"
|
||||
#include "DNA_windowmanager_types.h"
|
||||
|
||||
|
@ -92,16 +91,6 @@
|
|||
|
||||
#include "BKE_sound.h"
|
||||
|
||||
/* XXX */
|
||||
static void sound_init_listener(void)
|
||||
{
|
||||
G.listener = MEM_callocN(sizeof(bSoundListener), "soundlistener");
|
||||
G.listener->gain = 1.0;
|
||||
G.listener->dopplerfactor = 1.0;
|
||||
G.listener->dopplervelocity = 340.29f;
|
||||
}
|
||||
|
||||
|
||||
static void wm_init_reports(bContext *C)
|
||||
{
|
||||
BKE_reports_init(CTX_wm_reports(C), RPT_STORE);
|
||||
|
@ -145,7 +134,6 @@ void WM_init(bContext *C)
|
|||
|
||||
// glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA);
|
||||
|
||||
sound_init_listener();
|
||||
// init_node_butfuncs();
|
||||
|
||||
ED_preview_init_dbase();
|
||||
|
@ -220,10 +208,6 @@ void WM_exit(bContext *C)
|
|||
|
||||
BKE_freecubetable();
|
||||
|
||||
// if (G.background == 0)
|
||||
// sound_end_all_sounds();
|
||||
|
||||
|
||||
/* before free_blender so py's gc happens while library still exists */
|
||||
/* needed at least for a rare sigsegv that can happen in pydrivers */
|
||||
#ifndef DISABLE_PYTHON
|
||||
|
@ -249,10 +233,6 @@ void WM_exit(bContext *C)
|
|||
|
||||
// free_txt_data();
|
||||
|
||||
// sound_exit_audio();
|
||||
if(G.listener) MEM_freeN(G.listener);
|
||||
|
||||
|
||||
libtiff_exit();
|
||||
|
||||
#ifdef WITH_QUICKTIME
|
||||
|
|
|
@ -285,7 +285,6 @@ IF(UNIX)
|
|||
bf_rna
|
||||
bf_dna
|
||||
bf_blenfont
|
||||
bf_soundsystem
|
||||
bf_audaspace
|
||||
)
|
||||
|
||||
|
|
|
@ -201,13 +201,11 @@ static void print_help(void)
|
|||
printf ("\nGame Engine specific options:\n");
|
||||
printf (" -g fixedtime\t\tRun on 50 hertz without dropping frames\n");
|
||||
printf (" -g vertexarrays\tUse Vertex Arrays for rendering (usually faster)\n");
|
||||
printf (" -g noaudio\t\tNo audio in Game Engine\n");
|
||||
printf (" -g nomipmap\t\tNo Texture Mipmapping\n");
|
||||
printf (" -g linearmipmap\tLinear Texture Mipmapping instead of Nearest (default)\n");
|
||||
|
||||
printf ("\nMisc options:\n");
|
||||
printf (" -d\t\tTurn debugging on\n");
|
||||
printf (" -noaudio\tDisable audio on systems that support audio\n");
|
||||
printf (" -nojoystick\tDisable joystick support\n");
|
||||
printf (" -noglsl\tDisable GLSL shading\n");
|
||||
printf (" -h\t\tPrint this help text\n");
|
||||
|
@ -267,13 +265,6 @@ int main(int argc, char **argv)
|
|||
bContext *C= CTX_create();
|
||||
int a, i, stax, stay, sizx, sizy /*XXX, scr_init = 0*/;
|
||||
|
||||
#if defined(WIN32) || defined (__linux__)
|
||||
int audio = 1;
|
||||
#else
|
||||
int audio = 0;
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef WITH_BINRELOC
|
||||
br_init( NULL );
|
||||
#endif
|
||||
|
@ -462,16 +453,6 @@ int main(int argc, char **argv)
|
|||
break;
|
||||
case 'n':
|
||||
case 'N':
|
||||
if (BLI_strcasecmp(argv[a], "-noaudio") == 0|| BLI_strcasecmp(argv[a], "-nosound") == 0) {
|
||||
/**
|
||||
notify the gameengine that no audio is wanted, even if the user didn't give
|
||||
the flag -g noaudio.
|
||||
*/
|
||||
|
||||
SYS_WriteCommandLineInt(syshandle,"noaudio",1);
|
||||
audio = 0;
|
||||
if (G.f & G_DEBUG) printf("setting audio to: %d\n", audio);
|
||||
}
|
||||
if (BLI_strcasecmp(argv[a], "-nojoystick") == 0) {
|
||||
/**
|
||||
don't initialize joysticks if user doesn't want to use joysticks
|
||||
|
@ -490,11 +471,6 @@ int main(int argc, char **argv)
|
|||
#ifndef DISABLE_PYTHON
|
||||
BPY_start_python(argc, argv);
|
||||
#endif
|
||||
/**
|
||||
* NOTE: sound_init_audio() *must be* after start_python,
|
||||
* at least on FreeBSD.
|
||||
* added note (ton): i removed it altogether
|
||||
*/
|
||||
|
||||
WM_init(C);
|
||||
|
||||
|
@ -515,12 +491,6 @@ int main(int argc, char **argv)
|
|||
BPY_start_python(argc, argv);
|
||||
#endif
|
||||
BLI_where_is_temp( btempdir, 0 ); /* call after loading the .B.blend so we can read U.tempdir */
|
||||
|
||||
// (ton) Commented out. I have no idea whats thisfor... will mail around!
|
||||
// SYS_WriteCommandLineInt(syshandle,"noaudio",1);
|
||||
// audio = 0;
|
||||
// sound_init_audio();
|
||||
// if (G.f & G_DEBUG) printf("setting audio to: %d\n", audio);
|
||||
}
|
||||
#ifndef DISABLE_PYTHON
|
||||
/**
|
||||
|
|
|
@ -61,7 +61,6 @@
|
|||
#include "RAS_ListRasterizer.h"
|
||||
|
||||
#include "NG_LoopBackNetworkDeviceInterface.h"
|
||||
#include "SND_DeviceManager.h"
|
||||
|
||||
#include "SYS_System.h"
|
||||
|
||||
|
@ -545,8 +544,7 @@ extern "C" void StartKetsjiShell(struct bContext *C, struct ARegion *ar, int alw
|
|||
{
|
||||
delete canvas;
|
||||
canvas = NULL;
|
||||
}
|
||||
SND_DeviceManager::Unsubscribe();
|
||||
}
|
||||
|
||||
} while (exitrequested == KX_EXIT_REQUEST_RESTART_GAME || exitrequested == KX_EXIT_REQUEST_START_OTHER_GAME);
|
||||
|
||||
|
@ -769,8 +767,7 @@ extern "C" void StartKetsjiShellSimulation(struct wmWindow *win,
|
|||
{
|
||||
delete rendertools;
|
||||
rendertools = NULL;
|
||||
}
|
||||
SND_DeviceManager::Unsubscribe();
|
||||
}
|
||||
|
||||
} while (exitrequested == KX_EXIT_REQUEST_RESTART_GAME || exitrequested == KX_EXIT_REQUEST_START_OTHER_GAME);
|
||||
|
||||
|
|
|
@ -31,7 +31,6 @@ SET(INC
|
|||
../../../source/gameengine/Physics/Sumo
|
||||
../../../source/gameengine/Physics/Sumo/Fuzzics/include
|
||||
../../../source/gameengine/Network/LoopBackNetwork
|
||||
../../../intern/SoundSystem
|
||||
../../../source/blender/misc
|
||||
../../../source/blender/blenloader
|
||||
../../../source/blender/gpu
|
||||
|
|
|
@ -38,7 +38,6 @@ CCFLAGS += $(LEVEL_1_CPP_WARNINGS)
|
|||
CPPFLAGS += -I$(NAN_GLEW)/include
|
||||
CPPFLAGS += -I$(NAN_STRING)/include
|
||||
CPPFLAGS += -I$(NAN_MOTO)/include
|
||||
CPPFLAGS += -I$(NAN_SOUNDSYSTEM)/include
|
||||
CPPFLAGS += -I$(NAN_GLEW)/include
|
||||
CPPFLAGS += -I$(OPENGL_HEADERS)
|
||||
# because of kernel dependency on makesdna
|
||||
|
|
|
@ -17,7 +17,7 @@ incs += ' #source/gameengine/Expressions #source/gameengine/Network'
|
|||
incs += ' #source/gameengine/SceneGraph #source/gameengine/Physics/common'
|
||||
incs += ' #source/gameengine/Physics/Bullet'
|
||||
incs += ' #source/gameengine/Network/LoopBackNetwork'
|
||||
incs += ' #intern/SoundSystem #source/blender/misc #source/blender/blenloader'
|
||||
incs += ' #source/blender/misc #source/blender/blenloader'
|
||||
incs += ' #extern/glew/include #source/blender/gpu'
|
||||
incs += ' #source/blender/windowmanager'
|
||||
|
||||
|
|
|
@ -33,11 +33,6 @@ SET(INC
|
|||
../../../intern/guardedalloc
|
||||
../../../source/gameengine/Rasterizer/RAS_OpenGLRasterizer
|
||||
../../../intern/audaspace
|
||||
../../../intern/SoundSystem
|
||||
../../../intern/SoundSystem/include
|
||||
../../../intern/SoundSystem/openal
|
||||
../../../intern/SoundSystem/dummy
|
||||
../../../intern/SoundSystem/intern
|
||||
../../../source/gameengine/Converter
|
||||
../../../source/gameengine/BlenderRoutines
|
||||
../../../source/blender/imbuf
|
||||
|
|
|
@ -50,7 +50,6 @@
|
|||
#include "KX_SceneActuator.h"
|
||||
#include "KX_IpoActuator.h"
|
||||
#include "KX_SoundActuator.h"
|
||||
#include "KX_CDActuator.h"
|
||||
#include "KX_ObjectActuator.h"
|
||||
#include "KX_TrackToActuator.h"
|
||||
#include "KX_ConstraintActuator.h"
|
||||
|
@ -412,44 +411,6 @@ void BL_ConvertActuators(char* maggiename,
|
|||
}
|
||||
break;
|
||||
}
|
||||
case ACT_CD:
|
||||
{
|
||||
bCDActuator* cdact = (bCDActuator*) bact->data;
|
||||
/* get type, and possibly a start and end frame */
|
||||
short startFrame = cdact->sta, stopFrame = cdact->end;
|
||||
KX_CDActuator::KX_CDACT_TYPE
|
||||
cdActuatorType = KX_CDActuator::KX_CDACT_NODEF;
|
||||
|
||||
switch(cdact->type)
|
||||
{
|
||||
case ACT_CD_PLAY_ALL:
|
||||
cdActuatorType = KX_CDActuator::KX_CDACT_PLAY_ALL;
|
||||
break;
|
||||
case ACT_CD_PLAY_TRACK:
|
||||
cdActuatorType = KX_CDActuator::KX_CDACT_PLAY_TRACK;
|
||||
break;
|
||||
case ACT_CD_LOOP_TRACK:
|
||||
cdActuatorType = KX_CDActuator::KX_CDACT_LOOP_TRACK;
|
||||
break;
|
||||
case ACT_CD_VOLUME:
|
||||
cdActuatorType = KX_CDActuator::KX_CDACT_VOLUME;
|
||||
break;
|
||||
case ACT_CD_STOP:
|
||||
cdActuatorType = KX_CDActuator::KX_CDACT_STOP;
|
||||
break;
|
||||
case ACT_CD_PAUSE:
|
||||
cdActuatorType = KX_CDActuator::KX_CDACT_PAUSE;
|
||||
break;
|
||||
case ACT_CD_RESUME:
|
||||
cdActuatorType = KX_CDActuator::KX_CDACT_RESUME;
|
||||
break;
|
||||
|
||||
default:
|
||||
/* This is an error!!! */
|
||||
cdActuatorType = KX_CDActuator::KX_CDACT_NODEF;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case ACT_PROPERTY:
|
||||
{
|
||||
bPropertyActuator* propact = (bPropertyActuator*) bact->data;
|
||||
|
|
|
@ -37,7 +37,6 @@ CCFLAGS += $(LEVEL_1_CPP_WARNINGS)
|
|||
|
||||
CPPFLAGS += -I$(OPENGL_HEADERS)
|
||||
CPPFLAGS += -I$(NAN_STRING)/include
|
||||
CPPFLAGS += -I$(NAN_SOUNDSYSTEM)/include
|
||||
CPPFLAGS += -I$(NAN_PYTHON)/include/python$(NAN_PYTHON_VERSION)
|
||||
CPPFLAGS += -I$(NAN_MOTO)/include
|
||||
CPPFLAGS += -I$(NAN_BULLET2)/include
|
||||
|
|
|
@ -6,9 +6,7 @@ defs = []
|
|||
|
||||
incs = '. #source/kernel/gen_system #intern/string #intern/guardedalloc'
|
||||
incs += ' #source/gameengine/Rasterizer/RAS_OpenGLRasterizer'
|
||||
incs += ' #intern/audaspace'
|
||||
incs += ' #intern/SoundSystem #intern/SoundSystem/include #intern/SoundSystem/openal'
|
||||
incs += ' #intern/SoundSystem/dummy #intern/SoundSystem/intern #source/gameengine/Converter'
|
||||
incs += ' #intern/audaspace #source/gameengine/Converter'
|
||||
incs += ' #source/gameengine/BlenderRoutines #source/blender/imbuf'
|
||||
incs += ' #intern/moto/include #source/gameengine/Ketsji #source/gameengine/Ketsji/KXNetwork'
|
||||
incs += ' #source/blender/blenlib #source/blender/blenkernel #source/blender'
|
||||
|
|
|
@ -43,7 +43,6 @@ SET(INC
|
|||
../../../../intern/ghost
|
||||
../../../../intern/guardedalloc
|
||||
../../../../intern/moto/include
|
||||
../../../../intern/SoundSystem
|
||||
../../../../source/gameengine/Rasterizer/RAS_OpenGLRasterizer
|
||||
../../../../source/kernel/gen_system
|
||||
../../../../source/kernel/gen_messaging
|
||||
|
|
|
@ -53,7 +53,6 @@ CPPFLAGS += -I$(NAN_PNG)/include
|
|||
CPPFLAGS += -I$(NAN_ZLIB)/include
|
||||
CPPFLAGS += -I$(NAN_PYTHON)/include/python$(NAN_PYTHON_VERSION)
|
||||
|
||||
CPPFLAGS += -I$(NAN_SOUNDSYSTEM)/include
|
||||
CPPFLAGS += -I../../../gameengine/Converter
|
||||
CPPFLAGS += -I../../../gameengine/Expressions
|
||||
CPPFLAGS += -I../../../gameengine/GameLogic
|
||||
|
|
|
@ -19,7 +19,6 @@ incs = ['.',
|
|||
'#intern/ghost',
|
||||
'#intern/guardedalloc',
|
||||
'#intern/moto/include',
|
||||
'#intern/SoundSystem',
|
||||
'#source/gameengine/Rasterizer/RAS_OpenGLRasterizer',
|
||||
'#source/kernel/gen_system',
|
||||
'#source/kernel/gen_messaging',
|
||||
|
|
|
@ -56,7 +56,6 @@ CPPFLAGS += -I../../../../gameengine/Rasterizer
|
|||
CPPFLAGS += -I../../../../gameengine/Rasterizer/RAS_OpenGLRasterizer
|
||||
CPPFLAGS += -I../../../../gameengine/SceneGraph
|
||||
|
||||
CPPFLAGS += -I$(NAN_SOUNDSYSTEM)/include
|
||||
CPPFLAGS += -I$(NAN_MOTO)/include
|
||||
|
||||
# Blender stuff
|
||||
|
|
|
@ -48,7 +48,6 @@ CPPFLAGS += -I$(SRCHOME)/gameengine/Physics/Sumo/include
|
|||
|
||||
CPPFLAGS += -I$(NAN_MOTO)/include
|
||||
CPPFLAGS += -I$(NAN_STRING)/include
|
||||
CPPFLAGS += -I$(NAN_SOUNDSYSTEM)/include
|
||||
CPPFLAGS += -I$(NAN_GLEW)/include
|
||||
|
||||
# Blender stuff
|
||||
|
|
|
@ -38,7 +38,6 @@ SET(INC
|
|||
../../../../intern/ghost
|
||||
../../../../intern/guardedalloc
|
||||
../../../../intern/moto/include
|
||||
../../../../intern/SoundSystem
|
||||
../../../../source/gameengine/Rasterizer/RAS_OpenGLRasterizer
|
||||
../../../../source/kernel/gen_system
|
||||
../../../../source/kernel/gen_messaging
|
||||
|
|
|
@ -39,7 +39,6 @@ CCFLAGS += $(LEVEL_1_CPP_WARNINGS)
|
|||
CPPFLAGS += -I$(NAN_GLEW)/include
|
||||
CPPFLAGS += -I$(OPENGL_HEADERS)
|
||||
CPPFLAGS += -I$(NAN_STRING)/include
|
||||
CPPFLAGS += -I$(NAN_SOUNDSYSTEM)/include
|
||||
CPPFLAGS += -I$(NAN_GUARDEDALLOC)/include
|
||||
|
||||
CPPFLAGS += -I../../GamePlayer/common
|
||||
|
|
|
@ -13,7 +13,6 @@ incs = ['.',
|
|||
'#intern/ghost',
|
||||
'#intern/guardedalloc',
|
||||
'#intern/moto/include',
|
||||
'#intern/SoundSystem',
|
||||
'#source/gameengine/Rasterizer/RAS_OpenGLRasterizer',
|
||||
'#source/kernel/gen_system',
|
||||
'#source/kernel/gen_messaging',
|
||||
|
|
|
@ -56,7 +56,6 @@ SET(INC
|
|||
../../../source/gameengine/Physics/Sumo/Fuzzics/include
|
||||
../../../source/gameengine/Network/LoopBackNetwork
|
||||
../../../intern/audaspace
|
||||
../../../intern/SoundSystem
|
||||
../../../source/blender/misc
|
||||
../../../source/blender/blenloader
|
||||
../../../source/blender/gpu
|
||||
|
|
|
@ -1,223 +0,0 @@
|
|||
/**
|
||||
* KX_CDActuator.cpp
|
||||
*
|
||||
* $Id$
|
||||
*
|
||||
* ***** BEGIN GPL LICENSE BLOCK *****
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software Foundation,
|
||||
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
|
||||
* All rights reserved.
|
||||
*
|
||||
* The Original Code is: all of this file.
|
||||
*
|
||||
* Contributor(s): none yet.
|
||||
*
|
||||
* ***** END GPL LICENSE BLOCK *****
|
||||
*
|
||||
*/
|
||||
|
||||
#include "KX_CDActuator.h"
|
||||
#include "KX_GameObject.h"
|
||||
#include <iostream>
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include <config.h>
|
||||
#endif
|
||||
|
||||
/* ------------------------------------------------------------------------- */
|
||||
/* Native functions */
|
||||
/* ------------------------------------------------------------------------- */
|
||||
KX_CDActuator::KX_CDActuator(SCA_IObject* gameobject,
|
||||
KX_CDACT_TYPE type,
|
||||
int track,
|
||||
short start,
|
||||
short end)
|
||||
: SCA_IActuator(gameobject)
|
||||
{
|
||||
m_type = type;
|
||||
m_track = track;
|
||||
m_lastEvent = true;
|
||||
m_isplaying = false;
|
||||
m_startFrame = start;
|
||||
m_endFrame = end;
|
||||
}
|
||||
|
||||
|
||||
|
||||
KX_CDActuator::~KX_CDActuator()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
/* hmmm, do we want this? */
|
||||
CValue* KX_CDActuator::GetReplica()
|
||||
{
|
||||
KX_CDActuator* replica = new KX_CDActuator(*this);
|
||||
replica->ProcessReplica();
|
||||
return replica;
|
||||
};
|
||||
|
||||
|
||||
|
||||
bool KX_CDActuator::Update()
|
||||
{
|
||||
bool result = false;
|
||||
bool bNegativeEvent = IsNegativeEvent();
|
||||
|
||||
RemoveAllEvents();
|
||||
|
||||
if (!bNegativeEvent)
|
||||
{
|
||||
switch (m_type)
|
||||
{
|
||||
default:
|
||||
// implement me !!
|
||||
break;
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* ------------------------------------------------------------------------- */
|
||||
/* Python functions */
|
||||
/* ------------------------------------------------------------------------- */
|
||||
|
||||
|
||||
|
||||
/* Integration hooks ------------------------------------------------------- */
|
||||
PyTypeObject KX_CDActuator::Type = {
|
||||
PyVarObject_HEAD_INIT(NULL, 0)
|
||||
"KX_SoundActuator",
|
||||
sizeof(PyObjectPlus_Proxy),
|
||||
0,
|
||||
py_base_dealloc,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
py_base_repr,
|
||||
0,0,0,0,0,0,0,0,0,
|
||||
Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
|
||||
0,0,0,0,0,0,0,
|
||||
Methods,
|
||||
0,
|
||||
0,
|
||||
&SCA_IActuator::Type,
|
||||
0,0,0,0,0,0,
|
||||
py_base_new
|
||||
};
|
||||
|
||||
PyMethodDef KX_CDActuator::Methods[] = {
|
||||
// Deprecated ----->
|
||||
{"setGain",(PyCFunction) KX_CDActuator::sPySetGain,METH_VARARGS,NULL},
|
||||
{"getGain",(PyCFunction) KX_CDActuator::sPyGetGain,METH_VARARGS,NULL},
|
||||
// <-----
|
||||
KX_PYMETHODTABLE_NOARGS(KX_CDActuator, startCD),
|
||||
KX_PYMETHODTABLE_NOARGS(KX_CDActuator, pauseCD),
|
||||
KX_PYMETHODTABLE_NOARGS(KX_CDActuator, resumeCD),
|
||||
KX_PYMETHODTABLE_NOARGS(KX_CDActuator, stopCD),
|
||||
KX_PYMETHODTABLE_NOARGS(KX_CDActuator, playAll),
|
||||
KX_PYMETHODTABLE_O(KX_CDActuator, playTrack),
|
||||
{NULL,NULL,NULL,NULL} //Sentinel
|
||||
};
|
||||
|
||||
PyAttributeDef KX_CDActuator::Attributes[] = {
|
||||
KX_PYATTRIBUTE_INT_RW("track", 1, 99, false, KX_CDActuator, m_track),
|
||||
{ NULL } //Sentinel
|
||||
};
|
||||
|
||||
int KX_CDActuator::pyattr_setGain(void *self, const struct KX_PYATTRIBUTE_DEF *attrdef)
|
||||
{
|
||||
KX_CDActuator* act = static_cast<KX_CDActuator*>(self);
|
||||
return PY_SET_ATTR_SUCCESS;
|
||||
}
|
||||
|
||||
KX_PYMETHODDEF_DOC_NOARGS(KX_CDActuator, startCD,
|
||||
"startCD()\n"
|
||||
"\tStarts the CD playing.\n")
|
||||
{
|
||||
Py_RETURN_NONE;
|
||||
}
|
||||
|
||||
|
||||
KX_PYMETHODDEF_DOC_NOARGS(KX_CDActuator, pauseCD,
|
||||
"pauseCD()\n"
|
||||
"\tPauses the CD playing.\n")
|
||||
{
|
||||
Py_RETURN_NONE;
|
||||
}
|
||||
|
||||
|
||||
KX_PYMETHODDEF_DOC_NOARGS(KX_CDActuator, resumeCD,
|
||||
"resumeCD()\n"
|
||||
"\tResumes the CD playing.\n")
|
||||
{
|
||||
Py_RETURN_NONE;
|
||||
}
|
||||
|
||||
|
||||
KX_PYMETHODDEF_DOC_NOARGS(KX_CDActuator, stopCD,
|
||||
"stopCD()\n"
|
||||
"\tStops the CD playing.\n")
|
||||
{
|
||||
Py_RETURN_NONE;
|
||||
}
|
||||
|
||||
|
||||
KX_PYMETHODDEF_DOC_O(KX_CDActuator, playTrack,
|
||||
"playTrack(trackNumber)\n"
|
||||
"\tPlays the track selected.\n")
|
||||
{
|
||||
if (PyLong_Check(value)) {
|
||||
int track = PyLong_AsSsize_t(value);
|
||||
}
|
||||
Py_RETURN_NONE;
|
||||
}
|
||||
|
||||
|
||||
|
||||
KX_PYMETHODDEF_DOC_NOARGS(KX_CDActuator, playAll,
|
||||
"playAll()\n"
|
||||
"\tPlays the CD from the beginning.\n")
|
||||
{
|
||||
Py_RETURN_NONE;
|
||||
}
|
||||
|
||||
// Deprecated ----->
|
||||
PyObject* KX_CDActuator::PySetGain(PyObject* args)
|
||||
{
|
||||
float gain = 1.0;
|
||||
ShowDeprecationWarning("setGain()", "the volume property");
|
||||
if (!PyArg_ParseTuple(args, "f:setGain", &gain))
|
||||
return NULL;
|
||||
|
||||
Py_RETURN_NONE;
|
||||
}
|
||||
|
||||
|
||||
|
||||
PyObject* KX_CDActuator::PyGetGain(PyObject* args)
|
||||
{
|
||||
float gain = 1.0;
|
||||
ShowDeprecationWarning("getGain()", "the volume property");
|
||||
PyObject* result = PyFloat_FromDouble(gain);
|
||||
|
||||
return result;
|
||||
}
|
||||
// <-----
|
|
@ -1,97 +0,0 @@
|
|||
/**
|
||||
* KX_CDActuator.h
|
||||
*
|
||||
* $Id$
|
||||
*
|
||||
* ***** BEGIN GPL LICENSE BLOCK *****
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software Foundation,
|
||||
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
|
||||
* All rights reserved.
|
||||
*
|
||||
* The Original Code is: all of this file.
|
||||
*
|
||||
* Contributor(s): none yet.
|
||||
*
|
||||
* ***** END GPL LICENSE BLOCK *****
|
||||
*/
|
||||
|
||||
#ifndef __KX_CDACTUATOR
|
||||
#define __KX_CDACTUATOR
|
||||
|
||||
#include "SCA_IActuator.h"
|
||||
|
||||
class KX_CDActuator : public SCA_IActuator
|
||||
{
|
||||
Py_Header;
|
||||
bool m_lastEvent;
|
||||
bool m_isplaying;
|
||||
/* just some handles to the audio-data... */
|
||||
int m_track;
|
||||
short m_startFrame;
|
||||
short m_endFrame;
|
||||
|
||||
public:
|
||||
enum KX_CDACT_TYPE
|
||||
{
|
||||
KX_CDACT_NODEF = 0,
|
||||
KX_CDACT_PLAY_ALL,
|
||||
KX_CDACT_PLAY_TRACK,
|
||||
KX_CDACT_LOOP_TRACK,
|
||||
KX_CDACT_VOLUME,
|
||||
KX_CDACT_STOP,
|
||||
KX_CDACT_PAUSE,
|
||||
KX_CDACT_RESUME,
|
||||
KX_SOUNDACT_MAX
|
||||
};
|
||||
|
||||
KX_CDACT_TYPE m_type;
|
||||
|
||||
KX_CDActuator(SCA_IObject* gameobject,
|
||||
KX_CDACT_TYPE type,
|
||||
int track,
|
||||
short start,
|
||||
short end);
|
||||
|
||||
~KX_CDActuator();
|
||||
|
||||
virtual bool Update();
|
||||
|
||||
CValue* GetReplica();
|
||||
|
||||
/* -------------------------------------------------------------------- */
|
||||
/* Python interface --------------------------------------------------- */
|
||||
/* -------------------------------------------------------------------- */
|
||||
|
||||
// Deprecated ----->
|
||||
KX_PYMETHOD_VARARGS(KX_CDActuator,SetGain);
|
||||
KX_PYMETHOD_VARARGS(KX_CDActuator,GetGain);
|
||||
// <-----
|
||||
|
||||
KX_PYMETHOD_DOC_NOARGS(KX_CDActuator, startCD);
|
||||
KX_PYMETHOD_DOC_NOARGS(KX_CDActuator, pauseCD);
|
||||
KX_PYMETHOD_DOC_NOARGS(KX_CDActuator, resumeCD);
|
||||
KX_PYMETHOD_DOC_NOARGS(KX_CDActuator, stopCD);
|
||||
KX_PYMETHOD_DOC_NOARGS(KX_CDActuator, playAll);
|
||||
KX_PYMETHOD_DOC_O(KX_CDActuator, playTrack);
|
||||
|
||||
static int pyattr_setGain(void *self, const struct KX_PYATTRIBUTE_DEF *attrdef);
|
||||
|
||||
|
||||
};
|
||||
|
||||
#endif //__KX_CDACTUATOR
|
||||
|
|
@ -79,7 +79,6 @@ extern "C" {
|
|||
#include "ListValue.h"
|
||||
#include "InputParser.h"
|
||||
#include "KX_Scene.h"
|
||||
#include "SND_DeviceManager.h"
|
||||
|
||||
#include "NG_NetworkScene.h" //Needed for sendMessage()
|
||||
|
||||
|
@ -212,69 +211,21 @@ static bool usedsp = false;
|
|||
// this gets a pointer to an array filled with floats
|
||||
static PyObject* gPyGetSpectrum(PyObject*)
|
||||
{
|
||||
SND_IAudioDevice* audiodevice = SND_DeviceManager::Instance();
|
||||
|
||||
PyObject* resultlist = PyList_New(512);
|
||||
|
||||
if (audiodevice)
|
||||
{
|
||||
if (!usedsp)
|
||||
{
|
||||
audiodevice->StartUsingDSP();
|
||||
usedsp = true;
|
||||
}
|
||||
|
||||
float* spectrum = audiodevice->GetSpectrum();
|
||||
|
||||
for (int index = 0; index < 512; index++)
|
||||
{
|
||||
PyList_SET_ITEM(resultlist, index, PyFloat_FromDouble(spectrum[index]));
|
||||
}
|
||||
}
|
||||
else {
|
||||
for (int index = 0; index < 512; index++)
|
||||
{
|
||||
PyList_SET_ITEM(resultlist, index, PyFloat_FromDouble(0.0));
|
||||
}
|
||||
}
|
||||
for (int index = 0; index < 512; index++)
|
||||
{
|
||||
PyList_SET_ITEM(resultlist, index, PyFloat_FromDouble(0.0));
|
||||
}
|
||||
|
||||
return resultlist;
|
||||
}
|
||||
|
||||
|
||||
#if 0 // unused
|
||||
static PyObject* gPyStartDSP(PyObject*, PyObject* args)
|
||||
{
|
||||
SND_IAudioDevice* audiodevice = SND_DeviceManager::Instance();
|
||||
|
||||
if (!audiodevice) {
|
||||
PyErr_SetString(PyExc_RuntimeError, "no audio device available");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if (!usedsp) {
|
||||
audiodevice->StartUsingDSP();
|
||||
usedsp = true;
|
||||
}
|
||||
|
||||
Py_RETURN_NONE;
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
static PyObject* gPyStopDSP(PyObject*, PyObject* args)
|
||||
{
|
||||
SND_IAudioDevice* audiodevice = SND_DeviceManager::Instance();
|
||||
|
||||
if (!audiodevice) {
|
||||
PyErr_SetString(PyExc_RuntimeError, "no audio device available");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if (usedsp) {
|
||||
audiodevice->StopUsingDSP();
|
||||
usedsp = true;
|
||||
}
|
||||
PyErr_SetString(PyExc_RuntimeError, "no audio device available");
|
||||
return NULL;
|
||||
|
||||
Py_RETURN_NONE;
|
||||
}
|
||||
|
|
|
@ -36,7 +36,6 @@
|
|||
#include "BL_BlenderShader.h"
|
||||
#include "BL_ShapeActionActuator.h"
|
||||
#include "KX_BlenderMaterial.h"
|
||||
#include "KX_CDActuator.h"
|
||||
#include "KX_CameraActuator.h"
|
||||
#include "KX_ConstraintActuator.h"
|
||||
#include "KX_ConstraintWrapper.h"
|
||||
|
@ -158,7 +157,6 @@ void initPyTypes(void)
|
|||
PyType_Ready_Attr(dict, CListValue, init_getset);
|
||||
PyType_Ready_Attr(dict, CValue, init_getset);
|
||||
PyType_Ready_Attr(dict, KX_BlenderMaterial, init_getset);
|
||||
PyType_Ready_Attr(dict, KX_CDActuator, init_getset);
|
||||
PyType_Ready_Attr(dict, KX_Camera, init_getset);
|
||||
PyType_Ready_Attr(dict, KX_CameraActuator, init_getset);
|
||||
PyType_Ready_Attr(dict, KX_ConstraintActuator, init_getset);
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue