[beast: 73/95] PLUGINS: use C++ inheritance instead of nesting for GObject struct derivation
- From: Tim Janik <timj src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [beast: 73/95] PLUGINS: use C++ inheritance instead of nesting for GObject struct derivation
- Date: Mon, 25 Mar 2013 00:42:38 +0000 (UTC)
commit 1367dd3bdfee64689ebad2829709bc27d34b32aa
Author: Tim Janik <timj gnu org>
Date: Fri Mar 22 15:40:27 2013 +0100
PLUGINS: use C++ inheritance instead of nesting for GObject struct derivation
plugins/bseadder.hh | 14 ++++----------
plugins/bseatandistort.hh | 20 +++++++-------------
plugins/bsefirfilter.hh | 18 ++++++------------
plugins/bseiirfilter.hh | 24 +++++++++---------------
plugins/bsemixer.hh | 20 +++++++-------------
plugins/bsemult.hh | 19 +++++++------------
plugins/bsesimpleadsr.hh | 38 ++++++++++++++++----------------------
plugins/davcanyondelay.hh | 25 +++++++++++--------------
plugins/davguitar.hh | 21 +++++++--------------
plugins/davsyndrum.hh | 22 ++++++++++------------
plugins/davxtalstrings.hh | 23 +++++++++--------------
plugins/freeverb/bsefreeverb.hh | 18 +++++++-----------
12 files changed, 100 insertions(+), 162 deletions(-)
---
diff --git a/plugins/bseadder.hh b/plugins/bseadder.hh
index 1bfa3a2..dd59657 100644
--- a/plugins/bseadder.hh
+++ b/plugins/bseadder.hh
@@ -13,20 +13,14 @@ extern "C" {
#define BSE_IS_ADDER(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), BSE_TYPE_ADDER))
#define BSE_IS_ADDER_CLASS(class) (G_TYPE_CHECK_CLASS_TYPE ((class), BSE_TYPE_ADDER))
#define BSE_ADDER_GET_CLASS(object) (G_TYPE_INSTANCE_GET_CLASS ((object), BSE_TYPE_ADDER, BseAdderClass))
-/* --- BseAdder source --- */
-typedef struct _BseAdder BseAdder;
-typedef struct _BseAdderClass BseAdderClass;
-struct _BseAdder
-{
- BseSource parent_object;
+
+struct BseAdder : BseSource {
gboolean subtract;
};
-struct _BseAdderClass
-{
- BseSourceClass parent_class;
+struct BseAdderClass : BseSourceClass {
BseIcon *sub_icon;
};
-/* --- channels --- */
+
enum
{
BSE_ADDER_JCHANNEL_AUDIO1,
diff --git a/plugins/bseatandistort.hh b/plugins/bseatandistort.hh
index a08ea11..eaa0590 100644
--- a/plugins/bseatandistort.hh
+++ b/plugins/bseatandistort.hh
@@ -13,20 +13,14 @@ extern "C" {
#define BSE_IS_ATAN_DISTORT(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), BSE_TYPE_ATAN_DISTORT))
#define BSE_IS_ATAN_DISTORT_CLASS(class) (G_TYPE_CHECK_CLASS_TYPE ((class), BSE_TYPE_ATAN_DISTORT))
#define BSE_ATAN_DISTORT_GET_CLASS(object) (G_TYPE_INSTANCE_GET_CLASS ((object), BSE_TYPE_ATAN_DISTORT,
BseAtanDistortClass))
-/* --- BseAtanDistort source --- */
-typedef struct _BseAtanDistort BseAtanDistort;
-typedef struct _BseAtanDistortClass BseAtanDistortClass;
-struct _BseAtanDistort
-{
- BseSource parent_object;
- gfloat boost_amount;
- gdouble prescale;
-};
-struct _BseAtanDistortClass
-{
- BseSourceClass parent_class;
+
+struct BseAtanDistort : BseSource {
+ float boost_amount;
+ double prescale;
};
-/* --- channels --- */
+struct BseAtanDistortClass : BseSourceClass
+{};
+
enum
{
BSE_ATAN_DISTORT_ICHANNEL_MONO1,
diff --git a/plugins/bsefirfilter.hh b/plugins/bsefirfilter.hh
index 01c0785..9f039ae 100644
--- a/plugins/bsefirfilter.hh
+++ b/plugins/bsefirfilter.hh
@@ -13,12 +13,8 @@ extern "C" {
#define BSE_IS_FIR_FILTER(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), BSE_TYPE_FIR_FILTER))
#define BSE_IS_FIR_FILTER_CLASS(class) (G_TYPE_CHECK_CLASS_TYPE ((class), BSE_TYPE_FIR_FILTER))
#define BSE_FIR_FILTER_GET_CLASS(object) (G_TYPE_INSTANCE_GET_CLASS ((object), BSE_TYPE_FIR_FILTER,
BseFIRFilterClass))
-/* --- BseFIRFilter source --- */
-typedef struct _BseFIRFilter BseFIRFilter;
-typedef struct _BseFIRFilterClass BseFIRFilterClass;
-struct _BseFIRFilter
-{
- BseSource parent_object;
+
+struct BseFIRFilter : BseSource {
guint16 degree;
guint filter_type : 8;
guint lanczos_smoothing : 1;
@@ -29,18 +25,16 @@ struct _BseFIRFilter
guint history_pos;
BseSampleValue *history;
};
-struct _BseFIRFilterClass
-{
- BseSourceClass parent_class;
-};
-/* --- enums --- */
+struct BseFIRFilterClass : BseSourceClass
+{};
+
typedef enum
{
BSE_FIR_FILTER_ALLPASS,
BSE_FIR_FILTER_LOWPASS,
BSE_FIR_FILTER_HIGHPASS
} BseFIRFilterType;
-/* --- channels --- */
+
enum
{
BSE_FIR_FILTER_OCHANNEL_NONE,
diff --git a/plugins/bseiirfilter.hh b/plugins/bseiirfilter.hh
index c9aa844..3796431 100644
--- a/plugins/bseiirfilter.hh
+++ b/plugins/bseiirfilter.hh
@@ -5,7 +5,7 @@
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
-/* --- type macros --- */
+
#define BSE_TYPE_IIR_FILTER (bse_iir_filter_get_type())
#define BSE_IIR_FILTER(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), BSE_TYPE_IIR_FILTER,
BseIIRFilter))
#define BSE_IIR_FILTER_CLASS(class) (G_TYPE_CHECK_CLASS_CAST ((class), BSE_TYPE_IIR_FILTER,
BseIIRFilterClass))
@@ -13,17 +13,12 @@ extern "C" {
#define BSE_IS_IIR_FILTER_CLASS(class) (G_TYPE_CHECK_CLASS_TYPE ((class), BSE_TYPE_IIR_FILTER))
#define BSE_IIR_FILTER_GET_CLASS(object) (G_TYPE_INSTANCE_GET_CLASS ((object), BSE_TYPE_IIR_FILTER,
BseIIRFilterClass))
#define BSE_IIR_FILTER_MAX_ORDER (18)
-/* --- BseIIRFilter source --- */
-typedef struct _BseIIRFilter BseIIRFilter;
-typedef struct _BseIIRFilterClass BseIIRFilterClass;
-typedef struct
-{
+
+struct BseIIRFilterVars {
gdouble a[BSE_IIR_FILTER_MAX_ORDER];
gdouble b[BSE_IIR_FILTER_MAX_ORDER];
-} BseIIRFilterVars;
-struct _BseIIRFilter
-{
- BseSource parent_object;
+};
+struct BseIIRFilter : BseSource {
BseIIRFilterAlgorithm filter_algo;
BseIIRFilterType filter_type;
guint algo_type_change : 1;
@@ -34,11 +29,9 @@ struct _BseIIRFilter
gdouble a[BSE_IIR_FILTER_MAX_ORDER + 1];
gdouble b[BSE_IIR_FILTER_MAX_ORDER + 1];
};
-struct _BseIIRFilterClass
-{
- BseSourceClass parent_class;
-};
-/* --- channels --- */
+struct BseIIRFilterClass : BseSourceClass
+{};
+
enum
{
BSE_IIR_FILTER_ICHANNEL_MONO,
@@ -49,6 +42,7 @@ enum
BSE_IIR_FILTER_OCHANNEL_MONO,
BSE_IIR_FILTER_N_OCHANNELS
};
+
#ifdef __cplusplus
}
#endif /* __cplusplus */
diff --git a/plugins/bsemixer.hh b/plugins/bsemixer.hh
index 8066633..a71f715 100644
--- a/plugins/bsemixer.hh
+++ b/plugins/bsemixer.hh
@@ -14,20 +14,14 @@ extern "C" {
#define BSE_IS_MIXER_CLASS(class) (G_TYPE_CHECK_CLASS_TYPE ((class), BSE_TYPE_MIXER))
#define BSE_MIXER_GET_CLASS(object) (G_TYPE_INSTANCE_GET_CLASS ((object), BSE_TYPE_MIXER, BseMixerClass))
#define BSE_MIXER_N_INPUTS (4)
-/* --- BseMixer source --- */
-typedef struct _BseMixer BseMixer;
-typedef struct _BseMixerClass BseMixerClass;
-struct _BseMixer
-{
- BseSource parent_object;
- gfloat master_volume_factor;
- gfloat volume_factors[BSE_MIXER_N_INPUTS];
-};
-struct _BseMixerClass
-{
- BseSourceClass parent_class;
+
+struct BseMixer : BseSource {
+ float master_volume_factor;
+ float volume_factors[BSE_MIXER_N_INPUTS];
};
-/* --- channels --- */
+struct BseMixerClass : BseSourceClass
+{};
+
enum
{
BSE_MIXER_OCHANNEL_MONO
diff --git a/plugins/bsemult.hh b/plugins/bsemult.hh
index 43f596e..0d0a3dd 100644
--- a/plugins/bsemult.hh
+++ b/plugins/bsemult.hh
@@ -13,18 +13,13 @@ extern "C" {
#define BSE_IS_MULT(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), BSE_TYPE_MULT))
#define BSE_IS_MULT_CLASS(class) (G_TYPE_CHECK_CLASS_TYPE ((class), BSE_TYPE_MULT))
#define BSE_MULT_GET_CLASS(object) (G_TYPE_INSTANCE_GET_CLASS ((object), BSE_TYPE_MULT, BseMultClass))
-/* --- BseMult source --- */
-typedef struct _BseMult BseMult;
-typedef struct _BseMultClass BseMultClass;
-struct _BseMult
-{
- BseSource parent_object;
-};
-struct _BseMultClass
-{
- BseSourceClass parent_class;
-};
-/* --- channels --- */
+
+struct BseMult : BseSource
+{};
+
+struct BseMultClass : BseSourceClass
+{};
+
enum
{
BSE_MULT_ICHANNEL_MONO1,
diff --git a/plugins/bsesimpleadsr.hh b/plugins/bsesimpleadsr.hh
index b4e707b..b2258fa 100644
--- a/plugins/bsesimpleadsr.hh
+++ b/plugins/bsesimpleadsr.hh
@@ -11,30 +11,24 @@ G_BEGIN_DECLS
#define BSE_IS_SIMPLE_ADSR(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), BSE_TYPE_SIMPLE_ADSR))
#define BSE_IS_SIMPLE_ADSR_CLASS(class) (G_TYPE_CHECK_CLASS_TYPE ((class), BSE_TYPE_SIMPLE_ADSR))
#define BSE_SIMPLE_ADSR_GET_CLASS(object) (G_TYPE_INSTANCE_GET_CLASS ((object), BSE_TYPE_SIMPLE_ADSR,
BseSimpleADSRClass))
-/* --- BseSimpleADSR source --- */
-typedef struct _BseSimpleADSR BseSimpleADSR;
-typedef struct _BseSimpleADSRClass BseSimpleADSRClass;
-typedef struct {
- gfloat attack_level;
- gfloat attack_inc;
- gfloat decay_dec;
- gfloat sustain_level;
- gfloat release_dec;
-} BseSimpleADSRVars;
-struct _BseSimpleADSR
-{
- BseSource parent_object;
- gfloat attack_time;
- gfloat decay_time;
- gfloat sustain_level;
- gfloat release_time;
- BseTimeRangeType time_range;
+
+struct BseSimpleADSRVars {
+ float attack_level;
+ float attack_inc;
+ float decay_dec;
+ float sustain_level;
+ float release_dec;
};
-struct _BseSimpleADSRClass
-{
- BseSourceClass parent_class;
+struct BseSimpleADSR : BseSource {
+ float attack_time;
+ float decay_time;
+ float sustain_level;
+ float release_time;
+ BseTimeRangeType time_range;
};
-/* --- channels --- */
+struct BseSimpleADSRClass : BseSourceClass
+{};
+
enum
{
BSE_SIMPLE_ADSR_ICHANNEL_GATE,
diff --git a/plugins/davcanyondelay.hh b/plugins/davcanyondelay.hh
index e8d9967..d878ed5 100644
--- a/plugins/davcanyondelay.hh
+++ b/plugins/davcanyondelay.hh
@@ -4,15 +4,15 @@
#include <bse/bseplugin.hh>
#include <bse/bsesource.hh>
G_BEGIN_DECLS
-/* --- object type macros --- */
+
#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))
#define DAV_IS_CANYON_DELAY_CLASS(class) (G_TYPE_CHECK_CLASS_TYPE ((class), DAV_TYPE_CANYON_DELAY))
#define DAV_CANYON_DELAY_GET_CLASS(object) (G_TYPE_INSTANCE_GET_CLASS ((object), DAV_TYPE_CANYON_DELAY,
DavCanyonDelayClass))
-/* --- DavCanyonDelay source --- */
-typedef struct {
+
+struct DavCanyonDelayParams {
gdouble l_to_r_mag;
gdouble l_to_r_invmag;
gdouble r_to_l_mag;
@@ -21,18 +21,16 @@ typedef struct {
gint32 r_to_l_pos;
gdouble filter_mag;
gdouble filter_invmag;
-} DavCanyonDelayParams;
-typedef struct
-{
- BseSource parent_object;
+};
+struct DavCanyonDelay : BseSource {
gdouble l_to_r_seconds;
gdouble l_to_r_feedback;
gdouble r_to_l_seconds;
gdouble r_to_l_feedback;
gdouble filter_freq;
DavCanyonDelayParams params;
-} DavCanyonDelay;
-typedef struct {
+};
+struct DavCanyonDelayModule {
gint32 pos;
gint32 datasize;
gdouble accum_l;
@@ -40,11 +38,10 @@ typedef struct {
gdouble *data_l;
gdouble *data_r;
DavCanyonDelayParams params;
-} DavCanyonDelayModule;
-typedef struct {
- BseSourceClass parent_class;
-} DavCanyonDelayClass;
-/* --- channels --- */
+};
+struct DavCanyonDelayClass : BseSourceClass
+{};
+
enum
{
DAV_CANYON_DELAY_ICHANNEL_LEFT,
diff --git a/plugins/davguitar.hh b/plugins/davguitar.hh
index d6ff7b4..9ee6c8e 100644
--- a/plugins/davguitar.hh
+++ b/plugins/davguitar.hh
@@ -13,21 +13,15 @@ extern "C" {
#define DAV_IS_GUITAR(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), DAV_TYPE_GUITAR))
#define DAV_IS_GUITAR_CLASS(class) (G_TYPE_CHECK_CLASS_TYPE ((class), DAV_TYPE_GUITAR))
#define DAV_GUITAR_GET_CLASS(object) (G_TYPE_INSTANCE_GET_CLASS ((object), DAV_TYPE_GUITAR, DavGuitarClass))
-/* --- DavGuitar source --- */
-typedef struct _DavGuitar DavGuitar;
-typedef struct _DavGuitarClass DavGuitarClass;
-typedef struct _WaveGuide WaveGuide;
-struct _WaveGuide
-{
+
+struct WaveGuide {
gfloat freq;
gfloat lowpass_data, lowpass_coeff;
gint wavelen;
gint pos;
gfloat *data;
};
-struct _DavGuitar
-{
- BseSource parent_object;
+struct DavGuitar : BseSource {
gfloat hipass_data, hipass_coeff;
gint body_taps[6];
WaveGuide strings[6];
@@ -36,16 +30,15 @@ struct _DavGuitar
gfloat metallic_factor;
gfloat snap_factor;
};
-struct _DavGuitarClass
-{
- BseSourceClass parent_class;
-};
-/* --- channels --- */
+struct DavGuitarClass : BseSourceClass
+{};
+
enum
{
DAV_GUITAR_OCHANNEL_NONE,
DAV_GUITAR_OCHANNEL_MONO
};
+
#ifdef __cplusplus
}
#endif /* __cplusplus */
diff --git a/plugins/davsyndrum.hh b/plugins/davsyndrum.hh
index 16b84a5..82466e3 100644
--- a/plugins/davsyndrum.hh
+++ b/plugins/davsyndrum.hh
@@ -11,23 +11,21 @@ G_BEGIN_DECLS
#define DAV_IS_SYN_DRUM(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), DAV_TYPE_SYN_DRUM))
#define DAV_IS_SYN_DRUM_CLASS(class) (G_TYPE_CHECK_CLASS_TYPE ((class), DAV_TYPE_SYN_DRUM))
#define DAV_SYN_DRUM_GET_CLASS(object) (G_TYPE_INSTANCE_GET_CLASS ((object), DAV_TYPE_SYN_DRUM,
DavSynDrumClass))
-/* --- DavSynDrum source --- */
-typedef struct {
+
+struct DavSynDrumParams {
gfloat freq;
gfloat trigger_vel;
gfloat ratio;
gfloat res; /* sample rate specific */
-} DavSynDrumParams;
-typedef struct {
- BseSource parent_object;
+};
+struct DavSynDrum : BseSource {
DavSynDrumParams params; /* .res is unused (due to its sample rate dependency) */
gfloat half;
gboolean force_trigger;
-} DavSynDrum;
-typedef struct {
- BseSourceClass parent_class;
-} DavSynDrumClass;
-typedef struct {
+};
+struct DavSynDrumClass : BseSourceClass
+{};
+struct DavSynDrumModule {
DavSynDrumParams params;
gfloat last_trigger_level;
gfloat spring_vel;
@@ -35,8 +33,8 @@ typedef struct {
gfloat env;
gfloat freq_rad;
gfloat freq_shift;
-} DavSynDrumModule;
-/* --- channels --- */
+};
+
enum
{
DAV_SYN_DRUM_ICHANNEL_FREQ,
diff --git a/plugins/davxtalstrings.hh b/plugins/davxtalstrings.hh
index f86647d..f2128ea 100644
--- a/plugins/davxtalstrings.hh
+++ b/plugins/davxtalstrings.hh
@@ -6,17 +6,15 @@
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
-/* --- object type macros --- */
+
#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))
#define DAV_IS_XTAL_STRINGS_CLASS(class) (G_TYPE_CHECK_CLASS_TYPE ((class), DAV_TYPE_XTAL_STRINGS))
#define DAV_XTAL_STRINGS_GET_CLASS(object) (G_TYPE_INSTANCE_GET_CLASS ((object), DAV_TYPE_XTAL_STRINGS,
DavXtalStringsClass))
-/* --- DavXtalStrings source --- */
-typedef struct _DavXtalStrings DavXtalStrings;
-typedef struct _DavXtalStringsClass DavXtalStringsClass;
-typedef struct {
+
+struct DavXtalStringsParams {
double transpose_factor;
gfloat freq;
gfloat trigger_vel;
@@ -26,18 +24,15 @@ typedef struct {
gfloat snap_factor;
gint fine_tune;
guint trigger_now : 1;
-} DavXtalStringsParams;
-struct _DavXtalStrings
-{
- BseSource parent_object;
+};
+
+struct DavXtalStrings : BseSource {
DavXtalStringsParams params;
int transpose;
};
-struct _DavXtalStringsClass
-{
- BseSourceClass parent_class;
-};
-/* --- channels --- */
+struct DavXtalStringsClass : BseSourceClass
+{};
+
enum
{
DAV_XTAL_STRINGS_ICHANNEL_FREQ,
diff --git a/plugins/freeverb/bsefreeverb.hh b/plugins/freeverb/bsefreeverb.hh
index 0e12d67..12d4354 100644
--- a/plugins/freeverb/bsefreeverb.hh
+++ b/plugins/freeverb/bsefreeverb.hh
@@ -6,25 +6,21 @@
#include <bse/bsesource.hh>
#include "bsefreeverbcpp.hh"
G_BEGIN_DECLS
-/* --- type macros --- */
+
#define BSE_TYPE_FREE_VERB (bse_free_verb_get_type())
#define BSE_FREE_VERB(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), BSE_TYPE_FREE_VERB,
BseFreeVerb))
#define BSE_FREE_VERB_CLASS(class) (G_TYPE_CHECK_CLASS_CAST ((class), BSE_TYPE_FREE_VERB,
BseFreeVerbClass))
#define BSE_IS_FREE_VERB(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), BSE_TYPE_FREE_VERB))
#define BSE_IS_FREE_VERB_CLASS(class) (G_TYPE_CHECK_CLASS_TYPE ((class), BSE_TYPE_FREE_VERB))
#define BSE_FREE_VERB_GET_CLASS(object) (G_TYPE_INSTANCE_GET_CLASS ((object), BSE_TYPE_FREE_VERB,
BseFreeVerbClass))
-/* --- BseFreeVerb --- */
-typedef struct
-{
- BseSource parent_object;
+
+struct BseFreeVerb : BseSource {
BseFreeVerbConfig config;
-} BseFreeVerb;
-typedef struct
-{
- BseSourceClass parent_class;
+};
+struct BseFreeVerbClass : BseSourceClass {
BseFreeVerbConstants constants;
-} BseFreeVerbClass;
-/* --- channels --- */
+};
+
enum /*< skip >*/
{
BSE_FREE_VERB_ICHANNEL_LEFT,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]