partial g++ support (fails to link)

This commit is contained in:
Connor Olding 2015-06-08 12:09:35 -07:00
parent 94ee72662b
commit 205ec7c035
4 changed files with 25 additions and 23 deletions

View File

@ -1,6 +1,6 @@
template<class Mixin> template<class Mixin>
struct Buffer2 : public virtual Mixin { struct Buffer2 : public virtual Mixin {
virtual inline void virtual void
process2(v2df *buf, ulong rem) = 0; process2(v2df *buf, ulong rem) = 0;
TEMPLATE void TEMPLATE void

View File

@ -1,6 +1,6 @@
template<class Mixin> template<class Mixin>
struct Buffer2OS2 : public virtual Mixin { struct Buffer2OS2 : public virtual Mixin {
virtual inline void virtual void
process2(v2df *buf, ulong rem) = 0; process2(v2df *buf, ulong rem) = 0;
halfband_t<v2df> hb_up, hb_down; halfband_t<v2df> hb_up, hb_down;

View File

@ -1,6 +1,6 @@
template<class Mixin> template<class Mixin>
struct Buffer4 : public virtual Mixin { struct Buffer4 : public virtual Mixin {
virtual inline void virtual void
process2(v4sf *buf_L, v4sf *buf_R, ulong rem) = 0; process2(v4sf *buf_L, v4sf *buf_R, ulong rem) = 0;
TEMPLATE void TEMPLATE void

View File

@ -181,27 +181,29 @@ TEMPLATE char P::name_buffer[P::portcount][PARAM_NAME_LEN];
TEMPLATE static TEMPLATE static
LADSPA_Descriptor gen_desc() { LADSPA_Descriptor gen_desc() {
T::init(); T::init();
return LADSPA_Descriptor { LADSPA_Descriptor d = {};
.UniqueID = T::id,
.Label = T::label,
.Properties = 0,
.Name = T::name,
.Maker = T::author,
.Copyright = T::copyright,
.PortCount = T::portcount,
.PortDescriptors = T::descs,
.PortRangeHints = T::hints,
.PortNames = (const char *const *) T::names,
.instantiate = T::plug_construct, d.UniqueID = T::id;
.cleanup = T::plug_destruct, d.Label = T::label;
.activate = T::plug_resume, d.Properties = 0;
.deactivate = T::plug_pause, d.Name = T::name;
.connect_port = T::plug_connect, d.Maker = T::author;
.run = T::plug_process, d.Copyright = T::copyright;
.run_adding = NULL, d.PortCount = T::portcount;
.set_run_adding_gain = NULL d.PortDescriptors = T::descs;
}; d.PortRangeHints = T::hints;
d.PortNames = (const char *const *) T::names;
d.instantiate = T::plug_construct;
d.cleanup = T::plug_destruct;
d.activate = T::plug_resume;
d.deactivate = T::plug_pause;
d.connect_port = T::plug_connect;
d.run = T::plug_process;
d.run_adding = NULL;
d.set_run_adding_gain = NULL;
return d;
} }
static LADSPA_Descriptor plug_descs[] = { static LADSPA_Descriptor plug_descs[] = {