[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