[beast/devel: 17/26] PLUGINS: compile DavCanyonDelay as C++ resident type
- From: Tim Janik <timj src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [beast/devel: 17/26] PLUGINS: compile DavCanyonDelay as C++ resident type
- Date: Tue, 18 Dec 2012 02:45:25 +0000 (UTC)
commit fc193ae330babb2dea17ce4dbee57af57968a372
Author: Tim Janik <timj gnu org>
Date: Tue Dec 18 02:48:10 2012 +0100
PLUGINS: compile DavCanyonDelay as C++ resident type
plugins/Makefile.am | 7 ++--
plugins/Makefile.plugins | 15 ---------
plugins/{davcanyondelay.c => davcanyondelay.cc} | 39 ++++++++++------------
plugins/davcanyondelay.h | 2 +-
po/POTSCAN | 2 +-
5 files changed, 24 insertions(+), 41 deletions(-)
---
diff --git a/plugins/Makefile.am b/plugins/Makefile.am
index d0a427e..857a414 100644
--- a/plugins/Makefile.am
+++ b/plugins/Makefile.am
@@ -35,8 +35,10 @@ SFIDL_INC = --nostdinc -I$(top_srcdir) -I$(top_builddir)
$(SFIDL) --plugin --macro $(<F) $(SFIDL_INC) -I$(top_builddir) $< > $@ || (rm $@ ; exit 1 )
# == C++ Plugins ==
-cxx_plugin_headers = bseadder.h bseatandistort.h bsesimpleadsr.h bsemixer.h bsemult.h bsesequencer.h bseiirfilter.h
-cxx_plugin_sources = bseadder.cc bseatandistort.cc bsesimpleadsr.cc bsemixer.cc bsemult.cc bsesequencer.cc bseiirfilter.cc
+cxx_plugin_headers = bseadder.h bseatandistort.h bsesimpleadsr.h bsemixer.h bsemult.h bsesequencer.h bseiirfilter.h \
+ davcanyondelay.h
+cxx_plugin_sources = bseadder.cc bseatandistort.cc bsesimpleadsr.cc bsemixer.cc bsemult.cc bsesequencer.cc bseiirfilter.cc \
+ davcanyondelay.cc
cxx_plugin_extra = bsesimpleadsr-aux.cc
EXTRA_DIST += $(cxx_plugin_headers) $(cxx_plugin_extra)
cxxplugins_FPU_la_SOURCES = $(cxx_plugin_sources)
@@ -58,7 +60,6 @@ UNPORTED = $(strip \
cglob_plugins = $(strip \
davxtalstrings.[hc] \
davsyndrum.[hc] \
- davcanyondelay.[hc] \
)
EXTRA_DIST += $(strip \
$(EXTRA_HEADERS) \
diff --git a/plugins/Makefile.plugins b/plugins/Makefile.plugins
index 681a7f1..e812ae5 100644
--- a/plugins/Makefile.plugins
+++ b/plugins/Makefile.plugins
@@ -141,18 +141,3 @@ davsyndrum_SSE_la_SOURCES = $(davsyndrum_FPU_la_SOURCES)
davsyndrum_SSE_la_LDFLAGS = $(davsyndrum_FPU_la_LDFLAGS)
davsyndrum_SSE_la_LIBADD = $(davsyndrum_FPU_la_LIBADD)
davsyndrum_SSE_la_CFLAGS = $(SSE_PLUGIN_CFLAGS)
-
-
-## C Plugin davcanyondelay
-EXTRA_HEADERS += davcanyondelay.h
-$(srcdir)/davcanyondelay.c: davcanyondelay.h
-plugin_FPU_ltlibs += davcanyondelay.FPU.la
-davcanyondelay_FPU_la_SOURCES = davcanyondelay.c
-davcanyondelay_FPU_la_LDFLAGS = -module $(plugins_ldflags)
-davcanyondelay_FPU_la_LIBADD = $(plugins_libs)
-davcanyondelay_FPU_la_CFLAGS = $(FPU_PLUGIN_CFLAGS)
-plugin_SSE_ltlibs += davcanyondelay.SSE.la
-davcanyondelay_SSE_la_SOURCES = $(davcanyondelay_FPU_la_SOURCES)
-davcanyondelay_SSE_la_LDFLAGS = $(davcanyondelay_FPU_la_LDFLAGS)
-davcanyondelay_SSE_la_LIBADD = $(davcanyondelay_FPU_la_LIBADD)
-davcanyondelay_SSE_la_CFLAGS = $(SSE_PLUGIN_CFLAGS)
diff --git a/plugins/davcanyondelay.c b/plugins/davcanyondelay.cc
similarity index 93%
rename from plugins/davcanyondelay.c
rename to plugins/davcanyondelay.cc
index cc6fbd2..046be31 100644
--- a/plugins/davcanyondelay.c
+++ b/plugins/davcanyondelay.cc
@@ -18,6 +18,7 @@
#include "davcanyondelay.h"
#include <bse/bseengine.h>
+#include <bse/bsecxxplugin.hh>
#include <bse/bsemathsignal.h>
#include <string.h>
@@ -37,7 +38,7 @@ enum
/* --- prototypes --- */
static void dav_canyon_delay_init (DavCanyonDelay *self);
-static void dav_canyon_delay_class_init (DavCanyonDelayClass *class);
+static void dav_canyon_delay_class_init (DavCanyonDelayClass *klass);
static void dav_canyon_delay_set_property (GObject *object,
guint param_id,
const GValue *value,
@@ -52,15 +53,11 @@ static void dav_canyon_delay_context_create (BseSource *source,
BseTrans *trans);
static void dav_canyon_delay_update_modules (DavCanyonDelay *self);
-
-/* --- Export to DAV --- */
+// == Type Registration ==
#include "./icons/canyon.c"
-BSE_REGISTER_OBJECT (DavCanyonDelay, BseSource, "/Modules/Enhance/CanyonDelay", "",
- "DavCanyonDelay adds deep and long canyon-alike echos to stereo signals.",
- canyon_icon,
- dav_canyon_delay_class_init, NULL, dav_canyon_delay_init);
-BSE_DEFINE_EXPORTS ();
-
+BSE_RESIDENT_TYPE_DEF (DavCanyonDelay, dav_canyon_delay, N_("Enhance/CanyonDelay"),
+ "DavCanyonDelay adds deep and long canyon-alike echos to stereo signals.",
+ canyon_icon);
/* --- variables --- */
static gpointer parent_class = NULL;
@@ -68,14 +65,14 @@ static gpointer parent_class = NULL;
/* --- functions --- */
static void
-dav_canyon_delay_class_init (DavCanyonDelayClass *class)
+dav_canyon_delay_class_init (DavCanyonDelayClass *klass)
{
- GObjectClass *gobject_class = G_OBJECT_CLASS (class);
- BseObjectClass *object_class = BSE_OBJECT_CLASS (class);
- BseSourceClass *source_class = BSE_SOURCE_CLASS (class);
+ GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
+ BseObjectClass *object_class = BSE_OBJECT_CLASS (klass);
+ BseSourceClass *source_class = BSE_SOURCE_CLASS (klass);
guint channel;
- parent_class = g_type_class_peek_parent (class);
+ parent_class = g_type_class_peek_parent (klass);
gobject_class->set_property = dav_canyon_delay_set_property;
gobject_class->get_property = dav_canyon_delay_get_property;
@@ -158,11 +155,11 @@ dav_canyon_delay_set_property (GObject *object,
break;
case PROP_FILTER_FREQ:
self->filter_freq = sfi_value_get_real (value);
- g_object_notify (self, "filter-note");
+ g_object_notify ((GObject*) self, "filter-note");
break;
case PROP_FILTER_NOTE:
self->filter_freq = bse_note_to_freq (bse_item_current_musical_tuning (BSE_ITEM (self)), sfi_value_get_note (value));
- g_object_notify (self, "filter-freq");
+ g_object_notify ((GObject*) self, "filter-freq");
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (self, param_id, pspec);
@@ -220,7 +217,7 @@ static void
canyon_delay_process (BseModule *module,
guint n_values)
{
- DavCanyonDelayModule *cmod = module->user_data;
+ DavCanyonDelayModule *cmod = (DavCanyonDelayModule*) module->user_data;
const gfloat *left_in = BSE_MODULE_IBUFFER (module, DAV_CANYON_DELAY_ICHANNEL_LEFT);
const gfloat *right_in = BSE_MODULE_IBUFFER (module, DAV_CANYON_DELAY_ICHANNEL_RIGHT);
gfloat *left_out = BSE_MODULE_OBUFFER (module, DAV_CANYON_DELAY_OCHANNEL_LEFT);
@@ -272,7 +269,7 @@ canyon_delay_process (BseModule *module,
static void
canyon_delay_reset (BseModule *module)
{
- DavCanyonDelayModule *cmod = module->user_data;
+ DavCanyonDelayModule *cmod = (DavCanyonDelayModule*) module->user_data;
cmod->pos = 0;
cmod->accum_l = 0;
cmod->accum_r = 0;
@@ -284,7 +281,7 @@ static void
canyon_delay_free (gpointer data,
const BseModuleClass *klass)
{
- DavCanyonDelayModule *cmod = data;
+ DavCanyonDelayModule *cmod = (DavCanyonDelayModule*) data;
/* Free tables */
g_free (cmod->data_l);
g_free (cmod->data_r);
@@ -331,8 +328,8 @@ static void
canyon_delay_access (BseModule *module,
gpointer data)
{
- DavCanyonDelayModule *cmod = module->user_data;
- DavCanyonDelayParams *params = data;
+ DavCanyonDelayModule *cmod = (DavCanyonDelayModule*) module->user_data;
+ DavCanyonDelayParams *params = (DavCanyonDelayParams*) data;
cmod->params = *params;
}
diff --git a/plugins/davcanyondelay.h b/plugins/davcanyondelay.h
index 7b2a26a..a15211e 100644
--- a/plugins/davcanyondelay.h
+++ b/plugins/davcanyondelay.h
@@ -23,7 +23,7 @@
G_BEGIN_DECLS
/* --- object type macros --- */
-#define DAV_TYPE_CANYON_DELAY (BSE_EXPORT_TYPE_ID (DavCanyonDelay))
+#define DAV_TYPE_CANYON_DELAY (dav_canyon_delay_get_type())
#define DAV_CANYON_DELAY(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), DAV_TYPE_CANYON_DELAY, DavCanyonDelay))
#define DAV_CANYON_DELAY_CLASS(class) (G_TYPE_CHECK_CLASS_CAST ((class), DAV_TYPE_CANYON_DELAY, DavCanyonDelayClass))
#define DAV_IS_CANYON_DELAY(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), DAV_TYPE_CANYON_DELAY))
diff --git a/po/POTSCAN b/po/POTSCAN
index 35d82e2..4073915 100644
--- a/po/POTSCAN
+++ b/po/POTSCAN
@@ -130,7 +130,7 @@ plugins/bsesequencer.cc
plugins/bsesimpleadsr.cc
plugins/bsesummation.idl
plugins/davbassfilter.idl
-plugins/davcanyondelay.c
+plugins/davcanyondelay.cc
plugins/davchorus.idl
# plugins/davguitar.c
plugins/davorgan.idl
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]