[beast/devel: 19/26] PLUGINS: compile DavXtalStrings as C++ resident type
- From: Tim Janik <timj src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [beast/devel: 19/26] PLUGINS: compile DavXtalStrings as C++ resident type
- Date: Tue, 18 Dec 2012 02:45:35 +0000 (UTC)
commit f04f1e3dc2efe2931e10f288ee7723fbdf2b3d69
Author: Tim Janik <timj gnu org>
Date: Tue Dec 18 03:01:47 2012 +0100
PLUGINS: compile DavXtalStrings as C++ resident type
plugins/Makefile.am | 5 +-
plugins/Makefile.plugins | 15 -------
plugins/{davxtalstrings.c => davxtalstrings.cc} | 46 ++++++++++-------------
plugins/davxtalstrings.h | 2 +-
po/POTSCAN | 2 +-
5 files changed, 24 insertions(+), 46 deletions(-)
---
diff --git a/plugins/Makefile.am b/plugins/Makefile.am
index 7b6e245..debe05a 100644
--- a/plugins/Makefile.am
+++ b/plugins/Makefile.am
@@ -36,9 +36,9 @@ SFIDL_INC = --nostdinc -I$(top_srcdir) -I$(top_builddir)
# == C++ Plugins ==
cxx_plugin_headers = bseadder.h bseatandistort.h bsesimpleadsr.h bsemixer.h bsemult.h bsesequencer.h bseiirfilter.h \
- davcanyondelay.h davsyndrum.h
+ davcanyondelay.h davsyndrum.h davxtalstrings.h
cxx_plugin_sources = bseadder.cc bseatandistort.cc bsesimpleadsr.cc bsemixer.cc bsemult.cc bsesequencer.cc bseiirfilter.cc \
- davcanyondelay.cc davsyndrum.cc
+ davcanyondelay.cc davsyndrum.cc davxtalstrings.cc
cxx_plugin_extra = bsesimpleadsr-aux.cc
EXTRA_DIST += $(cxx_plugin_headers) $(cxx_plugin_extra)
cxxplugins_FPU_la_SOURCES = $(cxx_plugin_sources)
@@ -58,7 +58,6 @@ UNPORTED = $(strip \
davguitar.[hc] \
)
cglob_plugins = $(strip \
- davxtalstrings.[hc] \
)
EXTRA_DIST += $(strip \
$(EXTRA_HEADERS) \
diff --git a/plugins/Makefile.plugins b/plugins/Makefile.plugins
index 655a531..11441cd 100644
--- a/plugins/Makefile.plugins
+++ b/plugins/Makefile.plugins
@@ -111,18 +111,3 @@ davplugins_FPU_la_SOURCES += davchorus.cc
$(srcdir)/davorgan.cc: davorgan.genidl.hh # davplugins
plugins_built_sources += davorgan.genidl.hh
davplugins_FPU_la_SOURCES += davorgan.cc
-
-
-## C Plugin davxtalstrings
-EXTRA_HEADERS += davxtalstrings.h
-$(srcdir)/davxtalstrings.c: davxtalstrings.h
-plugin_FPU_ltlibs += davxtalstrings.FPU.la
-davxtalstrings_FPU_la_SOURCES = davxtalstrings.c
-davxtalstrings_FPU_la_LDFLAGS = -module $(plugins_ldflags)
-davxtalstrings_FPU_la_LIBADD = $(plugins_libs)
-davxtalstrings_FPU_la_CFLAGS = $(FPU_PLUGIN_CFLAGS)
-plugin_SSE_ltlibs += davxtalstrings.SSE.la
-davxtalstrings_SSE_la_SOURCES = $(davxtalstrings_FPU_la_SOURCES)
-davxtalstrings_SSE_la_LDFLAGS = $(davxtalstrings_FPU_la_LDFLAGS)
-davxtalstrings_SSE_la_LIBADD = $(davxtalstrings_FPU_la_LIBADD)
-davxtalstrings_SSE_la_CFLAGS = $(SSE_PLUGIN_CFLAGS)
diff --git a/plugins/davxtalstrings.c b/plugins/davxtalstrings.cc
similarity index 94%
rename from plugins/davxtalstrings.c
rename to plugins/davxtalstrings.cc
index 0560e29..591a363 100644
--- a/plugins/davxtalstrings.c
+++ b/plugins/davxtalstrings.cc
@@ -23,7 +23,7 @@
* expired in May of 2004.
*/
#include "davxtalstrings.h"
-
+#include <bse/bsecxxplugin.hh>
#include <bse/bseengine.h>
#include <bse/bsemathsignal.h>
#include <bse/bsemain.h>
@@ -49,7 +49,7 @@ enum
/* --- prototypes --- */
static void dav_xtal_strings_init (DavXtalStrings *self);
-static void dav_xtal_strings_class_init (DavXtalStringsClass *class);
+static void dav_xtal_strings_class_init (DavXtalStringsClass *klass);
static void dav_xtal_strings_set_property (GObject *object,
guint param_id,
const GValue *value,
@@ -65,17 +65,13 @@ static void dav_xtal_strings_context_create (BseSource *source,
static void dav_xtal_strings_update_modules (DavXtalStrings *self,
gboolean trigger_now);
-
-/* --- Export to BSE --- */
+// == Type Registration ==
#include "./icons/strings.c"
-BSE_REGISTER_OBJECT (DavXtalStrings, BseSource, "/Modules/Audio Sources/XtalStrings", "",
- "DavXtalStrings is a plucked string synthesizer, using the "
- "Karplus-Strong Algorithm. Commercial use of this module "
- "until 2004 requires a license from Stanford University.",
- strings_icon,
- dav_xtal_strings_class_init, NULL, dav_xtal_strings_init);
-BSE_DEFINE_EXPORTS ();
-
+BSE_RESIDENT_TYPE_DEF (DavXtalStrings, dav_xtal_strings, N_("Audio Sources/XtalStrings"),
+ "DavXtalStrings is a plucked string synthesizer, using the "
+ "Karplus-Strong Algorithm. Commercial use of this module "
+ "until 2004 requires a license from Stanford University.",
+ strings_icon);
/* --- variables --- */
static gpointer parent_class = NULL;
@@ -83,14 +79,14 @@ static gpointer parent_class = NULL;
/* --- functions --- */
static void
-dav_xtal_strings_class_init (DavXtalStringsClass *class)
+dav_xtal_strings_class_init (DavXtalStringsClass *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_id;
- parent_class = g_type_class_peek_parent (class);
+ parent_class = g_type_class_peek_parent (klass);
gobject_class->set_property = dav_xtal_strings_set_property;
gobject_class->get_property = dav_xtal_strings_get_property;
@@ -352,9 +348,6 @@ static inline void
xmod_trigger (XtalStringsModule *xmod,
gdouble untransposed_trigger_freq)
{
- guint i;
- guint pivot;
-
/* calculate transposed trigger frequency; the "real frequency" that will
* be played, including detuning and transpose operations
*/
@@ -372,7 +365,8 @@ xmod_trigger (XtalStringsModule *xmod,
xmod->damping_factor = calc_factor (trigger_freq, xmod->tparams.note_decay);
/* Create envelope. */
- pivot = xmod->size / 5;
+ int pivot = xmod->size / 5;
+ int i;
for (i = 0; i <= pivot; i++)
xmod->string[i] = ((float) i) / pivot;
for (; i < xmod->size; i++)
@@ -397,7 +391,7 @@ static void
xmod_process (BseModule *module,
guint n_values)
{
- XtalStringsModule *xmod = module->user_data;
+ XtalStringsModule *xmod = (XtalStringsModule*) module->user_data;
const gfloat *freq_in, *trigger_in = BSE_MODULE_IBUFFER (module, DAV_XTAL_STRINGS_ICHANNEL_TRIGGER);
gfloat *wave_out = BSE_MODULE_OBUFFER (module, DAV_XTAL_STRINGS_OCHANNEL_MONO);
gint32 pos2;
@@ -460,7 +454,7 @@ xmod_process (BseModule *module,
static void
xmod_reset (BseModule *module)
{
- XtalStringsModule *xmod = module->user_data;
+ XtalStringsModule *xmod = (XtalStringsModule*) module->user_data;
/* this function is called whenever we need to start from scratch */
memset (xmod->string, 0, STRING_LENGTH () * sizeof (xmod->string[0]));
@@ -477,7 +471,7 @@ static void
xmod_free (gpointer data,
const BseModuleClass *klass)
{
- XtalStringsModule *xmod = data;
+ XtalStringsModule *xmod = (XtalStringsModule*) data;
g_free (xmod->string);
g_free (xmod);
@@ -523,8 +517,8 @@ static void
xmod_access (BseModule *module,
gpointer data)
{
- XtalStringsModule *xmod = module->user_data;
- DavXtalStringsParams *params = data;
+ XtalStringsModule *xmod = (XtalStringsModule*) module->user_data;
+ DavXtalStringsParams *params = (DavXtalStringsParams*) data;
xmod->tparams = *params;
if (params->trigger_now)
diff --git a/plugins/davxtalstrings.h b/plugins/davxtalstrings.h
index 54397b4..23a6033 100644
--- a/plugins/davxtalstrings.h
+++ b/plugins/davxtalstrings.h
@@ -25,7 +25,7 @@ extern "C" {
#endif /* __cplusplus */
/* --- object type macros --- */
-#define DAV_TYPE_XTAL_STRINGS (BSE_EXPORT_TYPE_ID (DavXtalStrings))
+#define DAV_TYPE_XTAL_STRINGS (dav_xtal_strings_get_type())
#define DAV_XTAL_STRINGS(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), DAV_TYPE_XTAL_STRINGS, DavXtalStrings))
#define DAV_XTAL_STRINGS_CLASS(class) (G_TYPE_CHECK_CLASS_CAST ((class), DAV_TYPE_XTAL_STRINGS, DavXtalStringsClass))
#define DAV_IS_XTAL_STRINGS(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), DAV_TYPE_XTAL_STRINGS))
diff --git a/po/POTSCAN b/po/POTSCAN
index a0a4728..ed82cb5 100644
--- a/po/POTSCAN
+++ b/po/POTSCAN
@@ -135,7 +135,7 @@ plugins/davchorus.idl
# plugins/davguitar.c
plugins/davorgan.idl
plugins/davsyndrum.cc
-plugins/davxtalstrings.c
+plugins/davxtalstrings.cc
plugins/freeverb/bsefreeverb.c
plugins/standardguspatchenvelope.idl
plugins/standardsaturator.idl
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]