[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [15813] branches/sound-branch/intern/ soundsystem: added game sound files

Robert Holcomb bob_holcomb at hotmail.com
Sun Jul 27 18:44:24 CEST 2008


Revision: 15813
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=15813
Author:   scourage
Date:     2008-07-27 18:44:12 +0200 (Sun, 27 Jul 2008)

Log Message:
-----------
added game sound files

Modified Paths:
--------------
    branches/sound-branch/intern/soundsystem/SND_internal.h

Added Paths:
-----------
    branches/sound-branch/intern/soundsystem/SND_GameCDObject.cpp
    branches/sound-branch/intern/soundsystem/SND_GameCDObject.h
    branches/sound-branch/intern/soundsystem/SND_GameIdObject.cpp
    branches/sound-branch/intern/soundsystem/SND_GameIdObject.h
    branches/sound-branch/intern/soundsystem/SND_GameObject.h
    branches/sound-branch/intern/soundsystem/SND_GameScene.cpp
    branches/sound-branch/intern/soundsystem/SND_GameScene.h
    branches/sound-branch/intern/soundsystem/SND_GameSoundListener.cpp
    branches/sound-branch/intern/soundsystem/SND_GameSoundListener.h
    branches/sound-branch/intern/soundsystem/SND_GameSoundObject.cpp
    branches/sound-branch/intern/soundsystem/SND_GameSoundObject.h
    branches/sound-branch/intern/soundsystem/SND_GameUtils.cpp
    branches/sound-branch/intern/soundsystem/SND_GameUtils.h
    branches/sound-branch/intern/soundsystem/SND_GameWaveCache.cpp
    branches/sound-branch/intern/soundsystem/SND_GameWaveCache.h
    branches/sound-branch/intern/soundsystem/SND_GameWaveSlot.cpp
    branches/sound-branch/intern/soundsystem/SND_GameWaveSlot.h

Added: branches/sound-branch/intern/soundsystem/SND_GameCDObject.cpp
===================================================================
--- branches/sound-branch/intern/soundsystem/SND_GameCDObject.cpp	                        (rev 0)
+++ branches/sound-branch/intern/soundsystem/SND_GameCDObject.cpp	2008-07-27 16:44:12 UTC (rev 15813)
@@ -0,0 +1,183 @@
+/*
+ * SND_CDObject.cpp
+ *
+ * Implementation for CD playback
+ *
+ * $Id: SND_CDObject.cpp 14444 2008-04-16 22:40:48Z hos $
+ *
+ * ***** 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_GameCDObject.h"
+#include "SND_internal.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;
+}
+

Added: branches/sound-branch/intern/soundsystem/SND_GameCDObject.h
===================================================================
--- branches/sound-branch/intern/soundsystem/SND_GameCDObject.h	                        (rev 0)
+++ branches/sound-branch/intern/soundsystem/SND_GameCDObject.h	2008-07-27 16:44:12 UTC (rev 15813)
@@ -0,0 +1,83 @@
+/*
+ * SND_CDObject.h
+ *
+ * Implementation for CD playback
+ *
+ * $Id: SND_CDObject.h 14444 2008-04-16 22:40:48Z hos $
+ *
+ * ***** 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_GameObject.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
+

Added: branches/sound-branch/intern/soundsystem/SND_GameIdObject.cpp
===================================================================
--- branches/sound-branch/intern/soundsystem/SND_GameIdObject.cpp	                        (rev 0)
+++ branches/sound-branch/intern/soundsystem/SND_GameIdObject.cpp	2008-07-27 16:44:12 UTC (rev 15813)
@@ -0,0 +1,76 @@
+/*
+ * SND_IdObject.cpp
+ *
+ * Object for storing runtime data, like id's, soundobjects etc
+ *
+ * $Id: SND_IdObject.cpp 14444 2008-04-16 22:40:48Z hos $
+ *
+ * ***** 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_GameIdObject.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;
+}

Added: branches/sound-branch/intern/soundsystem/SND_GameIdObject.h
===================================================================
--- branches/sound-branch/intern/soundsystem/SND_GameIdObject.h	                        (rev 0)
+++ branches/sound-branch/intern/soundsystem/SND_GameIdObject.h	2008-07-27 16:44:12 UTC (rev 15813)
@@ -0,0 +1,58 @@
+/*
+ * SND_IdObject.h
+ *
+ * Object for storing runtime data, like id's, soundobjects etc
+ *
+ * $Id: SND_IdObject.h 14444 2008-04-16 22:40:48Z hos $
+ *
+ * ***** 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_GameSoundObject.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
+

Added: branches/sound-branch/intern/soundsystem/SND_GameObject.h
===================================================================
--- branches/sound-branch/intern/soundsystem/SND_GameObject.h	                        (rev 0)
+++ branches/sound-branch/intern/soundsystem/SND_GameObject.h	2008-07-27 16:44:12 UTC (rev 15813)
@@ -0,0 +1,54 @@
+/*
+ * SND_Object.h
+ *
+ * Abstract sound object
+ *
+ * $Id: SND_Object.h 14444 2008-04-16 22:40:48Z hos $
+ *
+ * ***** 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.
+ *

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list