[Bf-blender-cvs] [014f78b5b5a] master: Cleanup: Speaker: Move to IDTypeInfo and remove unused BKE API.

Bastien Montagne noreply at git.blender.org
Sun Mar 8 20:46:02 CET 2020


Commit: 014f78b5b5a49c133ff95b3c9d973744de6eec2d
Author: Bastien Montagne
Date:   Sun Mar 8 20:10:07 2020 +0100
Branches: master
https://developer.blender.org/rB014f78b5b5a49c133ff95b3c9d973744de6eec2d

Cleanup: Speaker: Move to IDTypeInfo and remove unused BKE API.

===================================================================

M	source/blender/blenkernel/BKE_idtype.h
M	source/blender/blenkernel/BKE_speaker.h
M	source/blender/blenkernel/intern/idtype.c
M	source/blender/blenkernel/intern/lib_id.c
M	source/blender/blenkernel/intern/lib_id_delete.c
M	source/blender/blenkernel/intern/speaker.c

===================================================================

diff --git a/source/blender/blenkernel/BKE_idtype.h b/source/blender/blenkernel/BKE_idtype.h
index 77e9580a9fd..6795d91ba96 100644
--- a/source/blender/blenkernel/BKE_idtype.h
+++ b/source/blender/blenkernel/BKE_idtype.h
@@ -142,7 +142,7 @@ extern IDTypeInfo IDType_ID_WO;
 extern IDTypeInfo IDType_ID_SCR;
 extern IDTypeInfo IDType_ID_VF;
 extern IDTypeInfo IDType_ID_TXT;
-// extern IDTypeInfo IDType_ID_SPK;
+extern IDTypeInfo IDType_ID_SPK;
 // extern IDTypeInfo IDType_ID_SO;
 extern IDTypeInfo IDType_ID_GR;
 extern IDTypeInfo IDType_ID_AR;
diff --git a/source/blender/blenkernel/BKE_speaker.h b/source/blender/blenkernel/BKE_speaker.h
index a80a8062d39..54bb7274e4b 100644
--- a/source/blender/blenkernel/BKE_speaker.h
+++ b/source/blender/blenkernel/BKE_speaker.h
@@ -29,15 +29,8 @@ extern "C" {
 struct Main;
 struct Speaker;
 
-void BKE_speaker_init(struct Speaker *spk);
 void *BKE_speaker_add(struct Main *bmain, const char *name);
-void BKE_speaker_copy_data(struct Main *bmain,
-                           struct Speaker *spk_dst,
-                           const struct Speaker *spk_src,
-                           const int flag);
 struct Speaker *BKE_speaker_copy(struct Main *bmain, const struct Speaker *spk);
-void BKE_speaker_make_local(struct Main *bmain, struct Speaker *spk, const int flags);
-void BKE_speaker_free(struct Speaker *spk);
 
 #ifdef __cplusplus
 }
diff --git a/source/blender/blenkernel/intern/idtype.c b/source/blender/blenkernel/intern/idtype.c
index 222c201a50e..94adf5e3456 100644
--- a/source/blender/blenkernel/intern/idtype.c
+++ b/source/blender/blenkernel/intern/idtype.c
@@ -67,9 +67,9 @@ static void id_type_init(void)
   INIT_TYPE(ID_KE);
   INIT_TYPE(ID_WO);
   INIT_TYPE(ID_SCR);
-   INIT_TYPE(ID_VF);
+  INIT_TYPE(ID_VF);
   INIT_TYPE(ID_TXT);
-  // INIT_TYPE(ID_SPK);
+  INIT_TYPE(ID_SPK);
   // INIT_TYPE(ID_SO);
   INIT_TYPE(ID_GR);
   INIT_TYPE(ID_AR);
diff --git a/source/blender/blenkernel/intern/lib_id.c b/source/blender/blenkernel/intern/lib_id.c
index 4843bd1bb2b..6db83434cc6 100644
--- a/source/blender/blenkernel/intern/lib_id.c
+++ b/source/blender/blenkernel/intern/lib_id.c
@@ -500,9 +500,7 @@ bool BKE_lib_id_make_local(Main *bmain, ID *id, const bool test, const int flags
       BLI_assert(0);
       return true;
     case ID_SPK:
-      if (!test) {
-        BKE_speaker_make_local(bmain, (Speaker *)id, flags);
-      }
+      BLI_assert(0);
       return true;
     case ID_LP:
       BLI_assert(0);
@@ -720,7 +718,7 @@ bool BKE_id_copy_ex(Main *bmain, const ID *id, ID **r_newid, const int flag)
         BLI_assert(0);
         break;
       case ID_SPK:
-        BKE_speaker_copy_data(bmain, (Speaker *)*r_newid, (Speaker *)id, flag);
+        BLI_assert(0);
         break;
       case ID_LP:
         BLI_assert(0);
@@ -1341,7 +1339,7 @@ void BKE_libblock_init_empty(ID *id)
       BLI_assert(0);
       break;
     case ID_SPK:
-      BKE_speaker_init((Speaker *)id);
+      BLI_assert(0);
       break;
     case ID_LP:
       BLI_assert(0);
diff --git a/source/blender/blenkernel/intern/lib_id_delete.c b/source/blender/blenkernel/intern/lib_id_delete.c
index 77323891b45..8ca660639c0 100644
--- a/source/blender/blenkernel/intern/lib_id_delete.c
+++ b/source/blender/blenkernel/intern/lib_id_delete.c
@@ -190,7 +190,7 @@ void BKE_libblock_free_datablock(ID *id, const int UNUSED(flag))
       BLI_assert(0);
       break;
     case ID_SPK:
-      BKE_speaker_free((Speaker *)id);
+      BLI_assert(0);
       break;
     case ID_LP:
       BLI_assert(0);
diff --git a/source/blender/blenkernel/intern/speaker.c b/source/blender/blenkernel/intern/speaker.c
index fb16cea093e..6c855db4ae9 100644
--- a/source/blender/blenkernel/intern/speaker.c
+++ b/source/blender/blenkernel/intern/speaker.c
@@ -26,60 +26,58 @@
 #include "BLI_math.h"
 #include "BLI_utildefines.h"
 
+#include "BLT_translation.h"
+
 #include "BKE_animsys.h"
+#include "BKE_idtype.h"
 #include "BKE_lib_id.h"
 #include "BKE_main.h"
 #include "BKE_speaker.h"
 
-void BKE_speaker_init(Speaker *spk)
+static void speaker_init_data(ID *id)
 {
-  BLI_assert(MEMCMP_STRUCT_AFTER_IS_ZERO(spk, id));
+  Speaker *speaker = (Speaker *)id;
+
+  BLI_assert(MEMCMP_STRUCT_AFTER_IS_ZERO(speaker, id));
 
-  MEMCPY_STRUCT_AFTER(spk, DNA_struct_default_get(Speaker), id);
+  MEMCPY_STRUCT_AFTER(speaker, DNA_struct_default_get(Speaker), id);
+}
+
+static void speaker_free_data(ID *id)
+{
+  BKE_animdata_free(id, false);
 }
 
+IDTypeInfo IDType_ID_SPK = {
+    .id_code = ID_SPK,
+    .id_filter = FILTER_ID_SPK,
+    .main_listbase_index = INDEX_ID_SPK,
+    .struct_size = sizeof(Speaker),
+    .name = "Speaker",
+    .name_plural = "speakers",
+    .translation_context = BLT_I18NCONTEXT_ID_SPEAKER,
+    .flags = 0,
+
+    .init_data = speaker_init_data,
+    .copy_data = NULL,
+    .free_data = speaker_free_data,
+    .make_local = NULL,
+};
+
 void *BKE_speaker_add(Main *bmain, const char *name)
 {
   Speaker *spk;
 
   spk = BKE_libblock_alloc(bmain, ID_SPK, name, 0);
 
-  BKE_speaker_init(spk);
+  speaker_init_data(&spk->id);
 
   return spk;
 }
 
-/**
- * Only copy internal data of Speaker ID from source
- * to already allocated/initialized destination.
- * You probably never want to use that directly,
- * use #BKE_id_copy or #BKE_id_copy_ex for typical needs.
- *
- * WARNING! This function will not handle ID user count!
- *
- * \param flag: Copying options (see BKE_lib_id.h's LIB_ID_COPY_... flags for more).
- */
-void BKE_speaker_copy_data(Main *UNUSED(bmain),
-                           Speaker *UNUSED(spk_dst),
-                           const Speaker *UNUSED(spk_src),
-                           const int UNUSED(flag))
-{
-  /* Nothing to do! */
-}
-
 Speaker *BKE_speaker_copy(Main *bmain, const Speaker *spk)
 {
   Speaker *spk_copy;
   BKE_id_copy(bmain, &spk->id, (ID **)&spk_copy);
   return spk_copy;
 }
-
-void BKE_speaker_make_local(Main *bmain, Speaker *spk, const int flags)
-{
-  BKE_lib_id_make_local_generic(bmain, &spk->id, flags);
-}
-
-void BKE_speaker_free(Speaker *spk)
-{
-  BKE_animdata_free((ID *)spk, false);
-}



More information about the Bf-blender-cvs mailing list