Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2008-12-26 19:50:05 +0300
committerCampbell Barton <ideasman42@gmail.com>2008-12-26 19:50:05 +0300
commit2431c6667cf838901bb5dbec3f211416c112f648 (patch)
tree0698b1a93dcb24aea05c065d30f2db12f0d57b63
parent21b45f3b00c5a82e30c0144a47bdd19f6e0d647d (diff)
* Added bSound to rna (still need to do bSample and bSoundListener structs)
* rna epy doc-gen was failing when trying to sort None
-rw-r--r--source/blender/makesrna/RNA_access.h1
-rw-r--r--source/blender/makesrna/intern/makesrna.c1
-rw-r--r--source/blender/makesrna/intern/rna_ID.c1
-rw-r--r--source/blender/makesrna/intern/rna_internal.h1
-rw-r--r--source/blender/makesrna/intern/rna_object.c20
-rw-r--r--source/blender/makesrna/intern/rna_sound.c129
-rw-r--r--source/blender/python/epy_doc_gen.py2
7 files changed, 146 insertions, 9 deletions
diff --git a/source/blender/makesrna/RNA_access.h b/source/blender/makesrna/RNA_access.h
index 927da6dc641..56325079ad2 100644
--- a/source/blender/makesrna/RNA_access.h
+++ b/source/blender/makesrna/RNA_access.h
@@ -151,6 +151,7 @@ extern StructRNA RNA_ShapeKey;
extern StructRNA RNA_ShapeKeyBezierPoint;
extern StructRNA RNA_ShapeKeyCurvePoint;
extern StructRNA RNA_ShapeKeyPoint;
+extern StructRNA RNA_Sound;
extern StructRNA RNA_SoundSequence;
extern StructRNA RNA_SpeedControlSequence;
extern StructRNA RNA_StringProperty;
diff --git a/source/blender/makesrna/intern/makesrna.c b/source/blender/makesrna/intern/makesrna.c
index c367963b06d..ed408a26c9a 100644
--- a/source/blender/makesrna/intern/makesrna.c
+++ b/source/blender/makesrna/intern/makesrna.c
@@ -925,6 +925,7 @@ RNAProcessItem PROCESS_ITEMS[]= {
{"rna_screen.c", RNA_def_screen},
{"rna_sensor.c", RNA_def_sensor},
{"rna_sequence.c", RNA_def_sequence},
+ {"rna_sound.c", RNA_def_sound},
{"rna_vfont.c", RNA_def_vfont},
{"rna_wm.c", RNA_def_wm},
{"rna_world.c", RNA_def_world},
diff --git a/source/blender/makesrna/intern/rna_ID.c b/source/blender/makesrna/intern/rna_ID.c
index dc36349e19b..0d927f332dc 100644
--- a/source/blender/makesrna/intern/rna_ID.c
+++ b/source/blender/makesrna/intern/rna_ID.c
@@ -76,6 +76,7 @@ static StructRNA *rna_ID_refine(PointerRNA *ptr)
case ID_OB: return &RNA_Object;
case ID_SCE: return &RNA_Scene;
case ID_SCR: return &RNA_Screen;
+ case ID_SO: return &RNA_Sound;
case ID_VF: return &RNA_VectorFont;
case ID_WO: return &RNA_World;
case ID_WM: return &RNA_WindowManager;
diff --git a/source/blender/makesrna/intern/rna_internal.h b/source/blender/makesrna/intern/rna_internal.h
index 090f5b6317e..d296238edae 100644
--- a/source/blender/makesrna/intern/rna_internal.h
+++ b/source/blender/makesrna/intern/rna_internal.h
@@ -124,6 +124,7 @@ void RNA_def_scene(struct BlenderRNA *brna);
void RNA_def_screen(struct BlenderRNA *brna);
void RNA_def_sensor(struct BlenderRNA *brna);
void RNA_def_sequence(struct BlenderRNA *brna);
+void RNA_def_sound(struct BlenderRNA *brna);
void RNA_def_vfont(struct BlenderRNA *brna);
void RNA_def_wm(struct BlenderRNA *brna);
void RNA_def_world(struct BlenderRNA *brna);
diff --git a/source/blender/makesrna/intern/rna_object.c b/source/blender/makesrna/intern/rna_object.c
index e49227305f1..032dcebae42 100644
--- a/source/blender/makesrna/intern/rna_object.c
+++ b/source/blender/makesrna/intern/rna_object.c
@@ -56,7 +56,7 @@ void RNA_def_object(BlenderRNA *brna)
RNA_def_property_ui_text(prop, "Track", "Object being tracked to define the rotation (Old Track).");
prop= RNA_def_property(srna, "loc", PROP_FLOAT, PROP_VECTOR);
- RNA_def_property_ui_text(prop, "Location", "");
+ RNA_def_property_ui_text(prop, "Location", "DOC_BROKEN");
//prop= RNA_def_property(srna, "rot", PROP_FLOAT, PROP_ROTATION);
//RNA_def_property_ui_text(prop, "Rotation", "");
@@ -64,27 +64,31 @@ void RNA_def_object(BlenderRNA *brna)
RNA_def_property_ui_text(prop, "Rotation", "");
prop= RNA_def_property(srna, "size", PROP_FLOAT, PROP_VECTOR);
- RNA_def_property_ui_text(prop, "Scale", "");
-
+ RNA_def_property_ui_text(prop, "Scale", "DOC_BROKEN");
+
+ prop= RNA_def_property(srna, "ipo", PROP_POINTER, PROP_NONE);
+ RNA_def_property_struct_type(prop, "Ipo");
+ RNA_def_property_ui_text(prop, "Ipo", "DOC_BROKEN");
+
prop= RNA_def_property(srna, "constraints", PROP_COLLECTION, PROP_NONE);
RNA_def_property_struct_type(prop, "Constraint");
- RNA_def_property_ui_text(prop, "Constraints", "");
+ RNA_def_property_ui_text(prop, "Constraints", "DOC_BROKEN");
prop= RNA_def_property(srna, "modifiers", PROP_COLLECTION, PROP_NONE);
RNA_def_property_struct_type(prop, "Modifier");
- RNA_def_property_ui_text(prop, "Modifiers", "");
+ RNA_def_property_ui_text(prop, "Modifiers", "DOC_BROKEN");
prop= RNA_def_property(srna, "sensors", PROP_COLLECTION, PROP_NONE);
RNA_def_property_struct_type(prop, "Sensor");
- RNA_def_property_ui_text(prop, "Sensors", "");
+ RNA_def_property_ui_text(prop, "Sensors", "DOC_BROKEN");
prop= RNA_def_property(srna, "controllers", PROP_COLLECTION, PROP_NONE);
RNA_def_property_struct_type(prop, "Controller");
- RNA_def_property_ui_text(prop, "Controllers", "");
+ RNA_def_property_ui_text(prop, "Controllers", "DOC_BROKEN");
prop= RNA_def_property(srna, "actuators", PROP_COLLECTION, PROP_NONE);
RNA_def_property_struct_type(prop, "Actuator");
- RNA_def_property_ui_text(prop, "Actuators", "");
+ RNA_def_property_ui_text(prop, "Actuators", "DOC_BROKEN");
prop= RNA_def_property(srna, "game_properties", PROP_COLLECTION, PROP_NONE);
RNA_def_property_collection_sdna(prop, NULL, "prop", NULL);
diff --git a/source/blender/makesrna/intern/rna_sound.c b/source/blender/makesrna/intern/rna_sound.c
new file mode 100644
index 00000000000..4c55c938d8d
--- /dev/null
+++ b/source/blender/makesrna/intern/rna_sound.c
@@ -0,0 +1,129 @@
+/**
+ * $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.
+ *
+ * Contributor(s): Campbell Barton
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+#include <stdlib.h>
+
+#include "RNA_define.h"
+#include "RNA_types.h"
+
+#include "rna_internal.h"
+
+#include "DNA_sound_types.h"
+
+#ifdef RNA_RUNTIME
+
+#else
+
+void RNA_def_sound(BlenderRNA *brna)
+{
+ /* TODO - bSample and bSoundListener structs */
+
+ StructRNA *srna;
+ PropertyRNA *prop;
+
+ srna= RNA_def_struct(brna, "Sound", "ID");
+ RNA_def_struct_sdna(srna, "bSound");
+ RNA_def_struct_ui_text(srna, "Sound", "DOC_BROKEN");
+
+ prop= RNA_def_property(srna, "filename", PROP_STRING, PROP_FILEPATH);
+ RNA_def_property_string_sdna(prop, NULL, "name");
+ RNA_def_property_flag(prop, PROP_NOT_EDITABLE); /* ? */
+ RNA_def_property_ui_text(prop, "Filename", "DOC_BROKEN");
+
+ /* floats */
+ prop= RNA_def_property(srna, "volume", PROP_FLOAT, PROP_NONE);
+ RNA_def_property_float_sdna(prop, NULL, "volume");
+ RNA_def_property_ui_text(prop, "Volume", "the volume for this sound in the game engine only");
+ RNA_def_property_ui_range(prop, 0.0, 1.0, 10, 4);
+
+ prop= RNA_def_property(srna, "panning", PROP_FLOAT, PROP_NONE);
+ RNA_def_property_float_sdna(prop, NULL, "panning");
+ RNA_def_property_ui_text(prop, "Panning", "Pan the sound from left to right");
+ RNA_def_property_ui_range(prop, -1.0, 1.0, 10, 4); /* TODO - this isnt used anywhere :/ */
+
+ prop= RNA_def_property(srna, "attenuation", PROP_FLOAT, PROP_NONE);
+ RNA_def_property_float_sdna(prop, NULL, "attenuation");
+ RNA_def_property_ui_text(prop, "Attenuation", "DOC_BROKEN");
+ RNA_def_property_ui_range(prop, 0.0, 100.0, 10, 4); /* TODO check limits */
+
+ prop= RNA_def_property(srna, "pitch", PROP_FLOAT, PROP_NONE);
+ RNA_def_property_float_sdna(prop, NULL, "pitch");
+ RNA_def_property_ui_text(prop, "Pitch", "Set the pitch of this sound for the game engine only");
+ RNA_def_property_ui_range(prop, -12.0, 12.0, 10, 4);
+
+ prop= RNA_def_property(srna, "min_gain", PROP_FLOAT, PROP_NONE);
+ RNA_def_property_float_sdna(prop, NULL, "min_gain");
+ RNA_def_property_ui_text(prop, "Min Gain", "DOC_BROKEN");
+ RNA_def_property_ui_range(prop, 0.0, 1.0, 10, 4); /* NOT used anywhere */
+
+ prop= RNA_def_property(srna, "max_gain", PROP_FLOAT, PROP_NONE);
+ RNA_def_property_float_sdna(prop, NULL, "max_gain");
+ RNA_def_property_ui_text(prop, "Max Gain", "DOC_BROKEN");
+ RNA_def_property_ui_range(prop, 0.0, 1.0, 10, 4); /* NOT used anywhere */
+
+ prop= RNA_def_property(srna, "distance", PROP_FLOAT, PROP_NONE);
+ RNA_def_property_float_sdna(prop, NULL, "distance");
+ RNA_def_property_ui_text(prop, "Distance", "reference distance at which the listener will experience gain");
+ RNA_def_property_ui_range(prop, 0.0, 1000.0, 10, 4); /* NOT used anywhere */
+
+ prop= RNA_def_property(srna, "ipo", PROP_POINTER, PROP_NONE);
+ RNA_def_property_struct_type(prop, "Ipo");
+ RNA_def_property_ui_text(prop, "Ipo", "DOC_BROKEN");
+
+
+ /* flags */
+ prop= RNA_def_property(srna, "loop", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "flags", SOUND_FLAGS_LOOP); /* use bitflags */
+ RNA_def_property_ui_text(prop, "Sound Loop", "DOC_BROKEN");
+
+ prop= RNA_def_property(srna, "fixed_volume", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "flags", SOUND_FLAGS_FIXED_VOLUME); /* use bitflags */
+ RNA_def_property_ui_text(prop, "Fixed Volume", "DOC_BROKEN");
+
+ prop= RNA_def_property(srna, "fixed_panning", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "flags", SOUND_FLAGS_FIXED_PANNING); /* use bitflags */
+ RNA_def_property_ui_text(prop, "Fixed Panning", "DOC_BROKEN");
+
+ prop= RNA_def_property(srna, "spacial", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "flags", SOUND_FLAGS_3D); /* use bitflags */
+ RNA_def_property_ui_text(prop, "3D", "DOC_BROKEN");
+
+ prop= RNA_def_property(srna, "bidirectional_loop", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "flags", SOUND_FLAGS_BIDIRECTIONAL_LOOP); /* use bitflags */
+ RNA_def_property_ui_text(prop, "Bidirectional Loop", "DOC_BROKEN");
+
+ prop= RNA_def_property(srna, "priority", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "flags", SOUND_FLAGS_PRIORITY); /* use bitflags */
+ RNA_def_property_ui_text(prop, "Priority", "DOC_BROKEN");
+
+ prop= RNA_def_property(srna, "sequence", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "flags", SOUND_FLAGS_SEQUENCE); /* use bitflags */
+ RNA_def_property_ui_text(prop, "Priority", "DOC_BROKEN");
+ RNA_def_property_flag(prop, PROP_NOT_EDITABLE);
+
+}
+
+#endif
+
+
diff --git a/source/blender/python/epy_doc_gen.py b/source/blender/python/epy_doc_gen.py
index 6ed3dc0950b..6808a691e20 100644
--- a/source/blender/python/epy_doc_gen.py
+++ b/source/blender/python/epy_doc_gen.py
@@ -111,7 +111,7 @@ def rna2epy(target_path):
def base_id(rna_struct):
try: return rna_struct.base.identifier
- except: return None
+ except: return '' # invalid id
structs = [(base_id(rna_struct), rna_struct.identifier, rna_struct) for rna_struct in bpydoc.structs.values()]
structs.sort() # not needed but speeds up sort below, setting items without an inheritance first