diff options
-rw-r--r-- | intern/audaspace/intern/AUD_Reference.h | 19 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/sound.c | 4 | ||||
-rw-r--r-- | source/blender/editors/sound/sound_ops.c | 7 | ||||
-rw-r--r-- | source/blender/makesdna/DNA_speaker_types.h | 7 |
4 files changed, 24 insertions, 13 deletions
diff --git a/intern/audaspace/intern/AUD_Reference.h b/intern/audaspace/intern/AUD_Reference.h index f78de40c3bb..4b878fc8d46 100644 --- a/intern/audaspace/intern/AUD_Reference.h +++ b/intern/audaspace/intern/AUD_Reference.h @@ -32,6 +32,7 @@ #define AUD_REFERENCE #include <map> +#include <cstddef> // #define MEM_DEBUG @@ -113,15 +114,15 @@ public: m_reference = dynamic_cast<T*>(reference); AUD_ReferenceHandler::incref(m_original); #ifdef MEM_DEBUG - if(m_reference != 0) + if(m_reference != NULL) std::cerr << "+" << typeid(*m_reference).name() << std::endl; #endif } AUD_Reference() { - m_original = 0; - m_reference = 0; + m_original = NULL; + m_reference = NULL; } /** @@ -134,7 +135,7 @@ public: m_reference = ref.m_reference; AUD_ReferenceHandler::incref(m_original); #ifdef MEM_DEBUG - if(m_reference != 0) + if(m_reference != NULL) std::cerr << "+" << typeid(*m_reference).name() << std::endl; #endif } @@ -146,7 +147,7 @@ public: m_reference = dynamic_cast<T*>(ref.get()); AUD_ReferenceHandler::incref(m_original); #ifdef MEM_DEBUG - if(m_reference != 0) + if(m_reference != NULL) std::cerr << "+" << typeid(*m_reference).name() << std::endl; #endif } @@ -158,7 +159,7 @@ public: ~AUD_Reference() { #ifdef MEM_DEBUG - if(m_reference != 0) + if(m_reference != NULL) std::cerr << "-" << typeid(*m_reference).name() << std::endl; #endif if(AUD_ReferenceHandler::decref(m_original)) @@ -175,7 +176,7 @@ public: return *this; #ifdef MEM_DEBUG - if(m_reference != 0) + if(m_reference != NULL) std::cerr << "-" << typeid(*m_reference).name() << std::endl; #endif if(AUD_ReferenceHandler::decref(m_original)) @@ -185,7 +186,7 @@ public: m_reference = ref.m_reference; AUD_ReferenceHandler::incref(m_original); #ifdef MEM_DEBUG - if(m_reference != 0) + if(m_reference != NULL) std::cerr << "+" << typeid(*m_reference).name() << std::endl; #endif @@ -197,7 +198,7 @@ public: */ inline bool isNull() const { - return m_reference == 0; + return m_reference == NULL; } /** diff --git a/source/blender/blenkernel/intern/sound.c b/source/blender/blenkernel/intern/sound.c index abead8d43dd..985fef974d3 100644 --- a/source/blender/blenkernel/intern/sound.c +++ b/source/blender/blenkernel/intern/sound.c @@ -37,6 +37,7 @@ #include "BKE_packedFile.h" #include "BKE_animsys.h" #include "BKE_sequencer.h" +#include "BKE_scene.h" // evil global ;-) static int sound_cfra; @@ -656,12 +657,13 @@ void sound_update_scene(struct Scene* scene) NlaTrack* track; NlaStrip* strip; Speaker* speaker; + Scene* sce_it; void* new_set = AUD_createSet(); void* handle; float quat[4]; - for(base = FIRSTBASE; base; base=base->next) + for(SETLOOPER(scene, sce_it, base)) { ob = base->object; if(ob->type == OB_SPEAKER) diff --git a/source/blender/editors/sound/sound_ops.c b/source/blender/editors/sound/sound_ops.c index fb4355d0df7..e66abffbfd1 100644 --- a/source/blender/editors/sound/sound_ops.c +++ b/source/blender/editors/sound/sound_ops.c @@ -648,6 +648,13 @@ static int update_animation_flags_exec(bContext *C, wmOperator *UNUSED(op)) void SOUND_OT_update_animation_flags(wmOperatorType *ot) { + /* + This operator is needed to set a correct state of the sound animation + System. Unfortunately there's no really correct place to call the exec + function, that's why I made it an operator that's only visible in the + search menu. Apart from that the bake animation operator calls it too. + */ + /* identifiers */ ot->name= "Update animation"; ot->description= "Update animation flags"; diff --git a/source/blender/makesdna/DNA_speaker_types.h b/source/blender/makesdna/DNA_speaker_types.h index 50cb62c79e5..fecc65885c5 100644 --- a/source/blender/makesdna/DNA_speaker_types.h +++ b/source/blender/makesdna/DNA_speaker_types.h @@ -39,9 +39,6 @@ typedef struct Speaker { struct bSound *sound; - short flag; - short pad1[3]; - // not animatable properties float volume_max; float volume_min; @@ -55,6 +52,10 @@ typedef struct Speaker { // animatable properties float volume; float pitch; + + // flag + short flag; + short pad1[3]; } Speaker; /* **************** SPEAKER ********************* */ |