[PD-dev] help coding an object, I need it cause I don't know better

Alexandre Torres Porres porres at gmail.com
Mon Oct 9 18:24:22 CEST 2023


here's the full code by the way
https://github.com/porres/pd-else/blob/master/Code_source/Compiled/control/var.c

And here's an older version that was compiling and running
https://github.com/porres/pd-else/blob/cd1406cff28baf1eb056d1500fb0d62694171306/Code_source/Compiled/control/var.c

cheers

Em seg., 9 de out. de 2023 às 13:22, Alexandre Torres Porres <
porres at gmail.com> escreveu:

> Hi, I'm working on a new object that is kinda like [value], but much
> simplified and you can set multiple variable names and output them all as a
> list (only floats now). It's been fun and it was working, compiling with
> some weird bugs. I then started revising it and when I thought I could be
> fixing the last bug, code does not compile now.
>
> What I'm doing is storing multiple variable values and variable names,
> just like I'm doing with some float values for my new multichannel aware
> audio objects (one value per channel).
>
> So I have.
>
> *typedef* *struct* _var{
>
>     t_object    x_obj;
>
>     t_int       x_n;    // number of given vars as arguments
>
>     t_symbol  **x_sym;  // variable name
>
>     *float*      *x_fval; // var value
>
> }t_var;
>
> Now, when initializing the variable, in "new", I am trying to get the
> value of an existing variable name (which is created if it doesn't exist
> yet). This is done in the same as in [value] by the way
>
> In [value] you have     x->x_floatstar = value_get(s);
>
> I got x->x_fval[i] = var_get(x->x_sym[i] = atom_getsymbol(av+i));
>
> But this gives me the error
>
>                        *
>
> *var.c:80:22: **error: **assigning to 'float' from incompatible type
> 't_float *'*
>
> *      (aka 'float *'); dereference with **
>
>         x->x_fval[i] = var_get(x->x_sym[i] = atom_getsymbol(av+i));
>
> *                     ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*
>
>
>
> Funny enough, I had an older version that would compile and work very well
> despite some crashes, that initialized x_fval as
>
> *float*      **x_fval; // var value
>
>
>
> Instead of just "*x_fval", which doesn't seem right.
>
> Please help, and also, at this time, I could take suggestions of some nice
> and free online C course that would make me intelligent to the point I
> would have a minimum idea of what I am doing.
>
> thanks
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puredata.info/pipermail/pd-dev/attachments/20231009/f9e7c9e1/attachment-0001.htm>


More information about the Pd-dev mailing list