[beast: 12/26] BSE: bseapi.idl: introduce WaveRepo



commit 0054e91ba09daee98142d872aa6e3d4150c7d9b3
Author: Tim Janik <timj gnu org>
Date:   Wed Jul 1 23:18:03 2015 +0200

    BSE: bseapi.idl: introduce WaveRepo

 bse/bseapi.idl     |    4 ++++
 bse/bseobject.cc   |    3 +++
 bse/bsewaverepo.cc |   14 ++++++++++++++
 bse/bsewaverepo.hh |   11 +++++++++++
 4 files changed, 32 insertions(+), 0 deletions(-)
---
diff --git a/bse/bseapi.idl b/bse/bseapi.idl
index 79c5760..da8b766 100644
--- a/bse/bseapi.idl
+++ b/bse/bseapi.idl
@@ -524,6 +524,10 @@ interface Song : SNet {
   // int32 tick_pointer  = Range ("Tick Pointer", "", STORAGE, -1, MAXINT31, 384, -1);
 };
 
+/// Container for Wave objects.
+interface WaveRepo : Super {
+};
+
 /// Projects support loading, saving, playback and act as containers for all other sound objects.
 interface Project : Container {
   void  change_name (String name); ///< Change a project name without recording undo steps.
diff --git a/bse/bseobject.cc b/bse/bseobject.cc
index 8e5121f..87e75b2 100644
--- a/bse/bseobject.cc
+++ b/bse/bseobject.cc
@@ -921,6 +921,7 @@ bse_object_new (GType object_type, const gchar *first_property_name, ...)
 #include "bsecsynth.hh"
 #include "bsetrack.hh"
 #include "bsecontextmerger.hh"
+#include "bsewaverepo.hh"
 #include "bsebus.hh"
 #include "bsesnet.hh"
 #include "bsepart.hh"
@@ -943,6 +944,8 @@ bse_object_new_valist (GType object_type, const gchar *first_property_name, va_l
     cxxo = new Bse::ProjectImpl (object);
   else if (g_type_is_a (object_type, BSE_TYPE_SONG))
     cxxo = new Bse::SongImpl (object);
+  else if (g_type_is_a (object_type, BSE_TYPE_WAVE_REPO))
+    cxxo = new Bse::WaveRepoImpl (object);
   else if (g_type_is_a (object_type, BSE_TYPE_CSYNTH))
     cxxo = new Bse::CSynthImpl (object);
   else if (g_type_is_a (object_type, BSE_TYPE_SNET))
diff --git a/bse/bsewaverepo.cc b/bse/bsewaverepo.cc
index 3afdd76..8071586 100644
--- a/bse/bsewaverepo.cc
+++ b/bse/bsewaverepo.cc
@@ -189,3 +189,17 @@ bse_wave_repo_remove_item (BseContainer *container,
   /* chain parent class' remove_item handler */
   BSE_CONTAINER_CLASS (parent_class)->remove_item (container, item);
 }
+
+namespace Bse {
+
+WaveRepoImpl::WaveRepoImpl (BseObject *bobj) :
+  SuperImpl (bobj)
+{}
+
+WaveRepoImpl::~WaveRepoImpl ()
+{}
+
+// BseWaveRepo *self = as<BseWaveRepo*>();
+// other->as<WaveRepoIfaceP>();
+
+} // Bse
diff --git a/bse/bsewaverepo.hh b/bse/bsewaverepo.hh
index 9835e69..6bbf878 100644
--- a/bse/bsewaverepo.hh
+++ b/bse/bsewaverepo.hh
@@ -24,4 +24,15 @@ struct BseWaveRepoClass : BseSuperClass
 
 G_END_DECLS
 
+namespace Bse {
+
+class WaveRepoImpl : public SuperImpl, public virtual WaveRepoIface {
+protected:
+  virtual  ~WaveRepoImpl ();
+public:
+  explicit  WaveRepoImpl (BseObject*);
+};
+
+} // Bse
+
 #endif /* __BSE_WAVE_REPO_H__ */


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]