Should not that be (Descriptor instance, ulong port, double? dataLocation)
instead? Using asterisk in Vala seems unnatural to me…

On Sun, Sep 11, 2016, 18:09 Victor Aurélio Santos <
victoraur.san...@gmail.com> wrote:

> What I've tried:
>
>     [CCode (copy_function="", destroy_function="")]
>     public struct Descriptor
>     {
>         public ulong UniqueID;
>         public const char[] Label;
>         public Properties Properties;
>         public const char[] Name;
>         public const char[] Maker;
>         public const char[] Copyright;
>         public ulong PortCount;
>         public const PortDescriptor[] PortDescriptors;
>         public const char[,] PortNames;
>         public const PortRangeHint[] PortRangeHints;
>         public void[] ImplementationData;
>
>         public Descriptor instantiate(Descriptor* descriptor, ulong
> sampleRate);
>
>         [CCode (has_target = false)]
>         public delegate void connect_port(Descriptor* instance, ulong
> port, double* dataLocation);
>
>         public void activate(Descriptor* instance);
>
>         public void run(Descriptor* instance, ulong sampleCount);
>
>         public void run_adding(Descriptor* instance, ulong sampleCount);
>
>         public void set_run_adding_gain(Descriptor* instance, Data gain);
>
>         public void deactivate(Descriptor* instance);
>
>         public void cleanup(Descriptor* instance);
>     }
>
> The valac complaints:
>
> LADSPA.vapi:52.9-52.41: error: unexpected declaration
>         public delegate void connect_port(Descriptor* instance, ulong
> port, double* dataLocation);
>
> 2016-09-10 20:18 GMT-03:00 Al Thomas <astav...@yahoo.co.uk>:
> >> From: Victor Aurélio Santos <victoraur.san...@gmail.com>
> >> Sent: Saturday, 10 September 2016, 23:57
> >> Subject: Re: [Vala] LADSPA bindings
> >
> >> I'm trying to use plugins from vala, not to write!
> >> I'm stuck at writing the vapi file, most specifically at the Descriptor
> struct.
> >
> >
> > Take a look at
> https://wiki.gnome.org/Projects/Vala/LegacyBindings#Binding_a_C_Struct.27s_Fields
> > The function pointers are targetless delegates. There is no
> >
> > memory handling for the struct so I don't think it should be
> >
> > bound as a compact class.
>
>
>
> --
> Victor Aurélio Santos
> _______________________________________________
> vala-list mailing list
> vala-list@gnome.org
> https://mail.gnome.org/mailman/listinfo/vala-list
>
_______________________________________________
vala-list mailing list
vala-list@gnome.org
https://mail.gnome.org/mailman/listinfo/vala-list

Reply via email to