[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [39010] branches/soc-2011-pepper/source/ blender: 3D Audio GSoC:

Joerg Mueller nexyon at gmail.com
Thu Aug 4 09:12:03 CEST 2011


Revision: 39010
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=39010
Author:   nexyon
Date:     2011-08-04 07:12:03 +0000 (Thu, 04 Aug 2011)
Log Message:
-----------
3D Audio GSoC:
* versioning stuff for btheme->tv3d.speaker
* separating object.c speaker functions in own source file

Thanks Brecht for the suggestions.

Modified Paths:
--------------
    branches/soc-2011-pepper/source/blender/blenkernel/BKE_object.h
    branches/soc-2011-pepper/source/blender/blenkernel/CMakeLists.txt
    branches/soc-2011-pepper/source/blender/blenkernel/intern/library.c
    branches/soc-2011-pepper/source/blender/blenkernel/intern/object.c
    branches/soc-2011-pepper/source/blender/editors/interface/resources.c
    branches/soc-2011-pepper/source/blender/editors/object/object_add.c
    branches/soc-2011-pepper/source/blender/editors/object/object_relations.c
    branches/soc-2011-pepper/source/blender/makesrna/intern/rna_main_api.c

Added Paths:
-----------
    branches/soc-2011-pepper/source/blender/blenkernel/BKE_speaker.h
    branches/soc-2011-pepper/source/blender/blenkernel/intern/speaker.c

Modified: branches/soc-2011-pepper/source/blender/blenkernel/BKE_object.h
===================================================================
--- branches/soc-2011-pepper/source/blender/blenkernel/BKE_object.h	2011-08-04 07:09:21 UTC (rev 39009)
+++ branches/soc-2011-pepper/source/blender/blenkernel/BKE_object.h	2011-08-04 07:12:03 UTC (rev 39010)
@@ -88,11 +88,6 @@
 void free_camera(struct Camera *ca);
 void free_lamp(struct Lamp *la);
 
-void *add_speaker(const char *name);
-struct Speaker *copy_speaker(struct Speaker *spk);
-void make_local_speaker(struct Speaker *spk);
-void free_speaker(struct Speaker *spk);
-
 struct Object *add_only_object(int type, const char *name);
 struct Object *add_object(struct Scene *scene, int type);
 

Added: branches/soc-2011-pepper/source/blender/blenkernel/BKE_speaker.h
===================================================================
--- branches/soc-2011-pepper/source/blender/blenkernel/BKE_speaker.h	                        (rev 0)
+++ branches/soc-2011-pepper/source/blender/blenkernel/BKE_speaker.h	2011-08-04 07:12:03 UTC (rev 39010)
@@ -0,0 +1,43 @@
+/*
+ * $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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, 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): Jörg Müller.
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+#ifndef BKE_SPEAKER_H
+#define BKE_SPEAKER_H
+
+/** \file BKE_speaker.h
+ *  \ingroup bke
+ *  \brief General operations for speakers.
+ */
+
+void *add_speaker(const char *name);
+struct Speaker *copy_speaker(struct Speaker *spk);
+void make_local_speaker(struct Speaker *spk);
+void free_speaker(struct Speaker *spk);
+
+#endif


Property changes on: branches/soc-2011-pepper/source/blender/blenkernel/BKE_speaker.h
___________________________________________________________________
Added: svn:keywords
   + Author Date Id Revision
Added: svn:eol-style
   + native

Modified: branches/soc-2011-pepper/source/blender/blenkernel/CMakeLists.txt
===================================================================
--- branches/soc-2011-pepper/source/blender/blenkernel/CMakeLists.txt	2011-08-04 07:09:21 UTC (rev 39009)
+++ branches/soc-2011-pepper/source/blender/blenkernel/CMakeLists.txt	2011-08-04 07:12:03 UTC (rev 39010)
@@ -140,6 +140,7 @@
 	intern/smoke.c
 	intern/softbody.c
 	intern/sound.c
+	intern/speaker.c
 	intern/subsurf_ccg.c
 	intern/suggestions.c
 	intern/text.c
@@ -220,6 +221,7 @@
 	BKE_smoke.h
 	BKE_softbody.h
 	BKE_sound.h
+	BKE_speaker.h
 	BKE_subsurf.h
 	BKE_suggestions.h
 	BKE_text.h

Modified: branches/soc-2011-pepper/source/blender/blenkernel/intern/library.c
===================================================================
--- branches/soc-2011-pepper/source/blender/blenkernel/intern/library.c	2011-08-04 07:09:21 UTC (rev 39009)
+++ branches/soc-2011-pepper/source/blender/blenkernel/intern/library.c	2011-08-04 07:12:03 UTC (rev 39010)
@@ -109,6 +109,7 @@
 #include "BKE_particle.h"
 #include "BKE_gpencil.h"
 #include "BKE_fcurve.h"
+#include "BKE_speaker.h"
 
 #include "RNA_access.h"
 

Modified: branches/soc-2011-pepper/source/blender/blenkernel/intern/object.c
===================================================================
--- branches/soc-2011-pepper/source/blender/blenkernel/intern/object.c	2011-08-04 07:09:21 UTC (rev 39009)
+++ branches/soc-2011-pepper/source/blender/blenkernel/intern/object.c	2011-08-04 07:12:03 UTC (rev 39010)
@@ -56,7 +56,6 @@
 #include "DNA_sequence_types.h"
 #include "DNA_sound_types.h"
 #include "DNA_space_types.h"
-#include "DNA_speaker_types.h"
 #include "DNA_view3d_types.h"
 #include "DNA_world_types.h"
 
@@ -98,6 +97,7 @@
 #include "BKE_sca.h"
 #include "BKE_scene.h"
 #include "BKE_sequencer.h"
+#include "BKE_speaker.h"
 #include "BKE_softbody.h"
 #include "BKE_material.h"
 
@@ -977,99 +977,6 @@
 	la->id.icon_id = 0;
 }
 
-void *add_speaker(const char *name)
-{
-	Speaker *spk;
-
-	spk=  alloc_libblock(&G.main->speaker, ID_SPK, name);
-
-	spk->attenuation = 1.0f;
-	spk->cone_angle_inner = 360.0f;
-	spk->cone_angle_outer = 360.0f;
-	spk->cone_volume_outer = 1.0f;
-	spk->distance_max = FLT_MAX;
-	spk->distance_reference = 1.0f;
-	spk->flag = 0;
-	spk->pitch = 1.0f;
-	spk->sound = NULL;
-	spk->volume = 1.0f;
-	spk->volume_max = 1.0f;
-	spk->volume_min = 0.0f;
-
-	return spk;
-}
-
-Speaker *copy_speaker(Speaker *spk)
-{
-	Speaker *spkn;
-
-	spkn= copy_libblock(spk);
-	if(spkn->sound)
-		spkn->sound->id.us++;
-
-	return spkn;
-}
-
-void make_local_speaker(Speaker *spk)
-{
-	Main *bmain= G.main;
-	Object *ob;
-	int local=0, lib=0;
-
-	/* - only lib users: do nothing
-		* - only local users: set flag
-		* - mixed: make copy
-		*/
-
-	if(spk->id.lib==NULL) return;
-	if(spk->id.us==1) {
-		spk->id.lib= NULL;
-		spk->id.flag= LIB_LOCAL;
-		new_id(&bmain->speaker, (ID *)spk, NULL);
-		return;
-	}
-
-	ob= bmain->object.first;
-	while(ob) {
-		if(ob->data==spk) {
-			if(ob->id.lib) lib= 1;
-			else local= 1;
-		}
-		ob= ob->id.next;
-	}
-
-	if(local && lib==0) {
-		spk->id.lib= NULL;
-		spk->id.flag= LIB_LOCAL;
-		new_id(&bmain->speaker, (ID *)spk, NULL);
-	}
-	else if(local && lib) {
-		Speaker *spkn= copy_speaker(spk);
-		spkn->id.us= 0;
-
-		ob= bmain->object.first;
-		while(ob) {
-			if(ob->data==spk) {
-
-				if(ob->id.lib==NULL) {
-					ob->data= spkn;
-					spkn->id.us++;
-					spk->id.us--;
-				}
-			}
-			ob= ob->id.next;
-		}
-	}
-}
-
-void free_speaker(Speaker *spk)
-{
-	if(spk->sound)
-		spk->sound->id.us--;
-
-	BKE_free_animdata((ID *)spk);
-}
-
 /* *************************************************** */
 
 static void *add_obdata_from_type(int type)

Added: branches/soc-2011-pepper/source/blender/blenkernel/intern/speaker.c
===================================================================
--- branches/soc-2011-pepper/source/blender/blenkernel/intern/speaker.c	                        (rev 0)
+++ branches/soc-2011-pepper/source/blender/blenkernel/intern/speaker.c	2011-08-04 07:12:03 UTC (rev 39010)
@@ -0,0 +1,139 @@
+/* speaker.c
+ *
+ * 
+ * $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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, 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): Jörg Müller.
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file blender/blenkernel/intern/speaker.c
+ *  \ingroup bke
+ */
+
+#include "DNA_object_types.h"
+#include "DNA_sound_types.h"
+#include "DNA_speaker_types.h"
+
+#include "BLI_math.h"
+
+#include "BKE_animsys.h"
+#include "BKE_global.h"
+#include "BKE_library.h"
+#include "BKE_main.h"
+#include "BKE_speaker.h"
+
+void *add_speaker(const char *name)
+{
+	Speaker *spk;
+
+	spk=  alloc_libblock(&G.main->speaker, ID_SPK, name);
+
+	spk->attenuation = 1.0f;
+	spk->cone_angle_inner = 360.0f;
+	spk->cone_angle_outer = 360.0f;
+	spk->cone_volume_outer = 1.0f;
+	spk->distance_max = FLT_MAX;
+	spk->distance_reference = 1.0f;
+	spk->flag = 0;
+	spk->pitch = 1.0f;
+	spk->sound = NULL;
+	spk->volume = 1.0f;
+	spk->volume_max = 1.0f;
+	spk->volume_min = 0.0f;
+
+	return spk;
+}
+
+Speaker *copy_speaker(Speaker *spk)
+{
+	Speaker *spkn;
+
+	spkn= copy_libblock(spk);
+	if(spkn->sound)
+		spkn->sound->id.us++;
+
+	return spkn;
+}
+
+void make_local_speaker(Speaker *spk)
+{
+	Main *bmain= G.main;
+	Object *ob;
+	int local=0, lib=0;
+
+	/* - only lib users: do nothing
+		* - only local users: set flag
+		* - mixed: make copy
+		*/
+
+	if(spk->id.lib==NULL) return;
+	if(spk->id.us==1) {
+		spk->id.lib= NULL;
+		spk->id.flag= LIB_LOCAL;
+		new_id(&bmain->speaker, (ID *)spk, NULL);
+		return;
+	}
+
+	ob= bmain->object.first;
+	while(ob) {
+		if(ob->data==spk) {
+			if(ob->id.lib) lib= 1;
+			else local= 1;
+		}
+		ob= ob->id.next;
+	}
+
+	if(local && lib==0) {
+		spk->id.lib= NULL;
+		spk->id.flag= LIB_LOCAL;
+		new_id(&bmain->speaker, (ID *)spk, NULL);
+	}
+	else if(local && lib) {
+		Speaker *spkn= copy_speaker(spk);
+		spkn->id.us= 0;
+
+		ob= bmain->object.first;
+		while(ob) {
+			if(ob->data==spk) {
+
+				if(ob->id.lib==NULL) {
+					ob->data= spkn;
+					spkn->id.us++;
+					spk->id.us--;
+				}
+			}
+			ob= ob->id.next;
+		}
+	}
+}
+
+void free_speaker(Speaker *spk)
+{
+	if(spk->sound)
+		spk->sound->id.us--;
+
+	BKE_free_animdata((ID *)spk);
+}


Property changes on: branches/soc-2011-pepper/source/blender/blenkernel/intern/speaker.c
___________________________________________________________________
Added: svn:keywords
   + Author Date Id Revision
Added: svn:eol-style
   + native

Modified: branches/soc-2011-pepper/source/blender/editors/interface/resources.c
===================================================================
--- branches/soc-2011-pepper/source/blender/editors/interface/resources.c	2011-08-04 07:09:21 UTC (rev 39009)
+++ branches/soc-2011-pepper/source/blender/editors/interface/resources.c	2011-08-04 07:12:03 UTC (rev 39010)
@@ -1594,6 +1594,13 @@
 			NDOF_SHOULD_PAN | NDOF_SHOULD_ZOOM | NDOF_SHOULD_ROTATE;
 	}
 
+	{
+		bTheme *btheme;
+		for(btheme= U.themes.first; btheme; btheme= btheme->next) {
+			btheme->tv3d.speaker[3] = 255;
+		}
+	}
+

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list