[beast: 12/26] BSE: bseapi.idl: introduce WaveRepo
- From: Tim Janik <timj src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [beast: 12/26] BSE: bseapi.idl: introduce WaveRepo
- Date: Mon, 13 Jul 2015 02:27:28 +0000 (UTC)
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]