`outlet_list(x->outlist, &s_list, 3, x->outlist)`;
You accidentally passed the outlet itself as the last argument (t_atom *) to outlet_list().

Unfortunately, C only offers minimal type checking and happily casts between unrelated pointer types. (With C++ this wouldn't compile in the first place.) However, although this is legal in C, all major compilers issue a warning ("-Wincompatible-pointer-types" on GCC/Clang resp. "warning C4133" with MSVC).

Always check the compiler outputs for warnings!

---

Now to your actual question:

I'm trying to output a list of values with a selector. For example, "foo 1 2".
The function you're looking for is outlet_anything().

BTW, this is covered in the externals-howto: https://github.com/pure-data/externals-howto#outlet-anything

Christof

On 21.09.2023 08:20, Alexandros Drymonitis wrote:
I'm trying to output a list of values with a selector. For example, "foo 1 2". I though of creating a vector of t_atom, where a_type of the first element would be A_SYMBOL, and the other two would be A_FLOAT, and after a list outlet is created in the new method like this:

`x->outlist = outlet_new(x->x_obj, &s_list);`

I can output the list with a bang like this:

`outlet_list(x->outlist, &s_list, 3, x->outlist)`;

But Pd complains with this error:

```
print: listconsistency check failed: atom_string
 consistency check failed: atom_string
 consistency check failed: atom_string
```

What I would like, is to get the output of the object and route it with [route foo]. How do I go about this?




_______________________________________________
Pd-dev mailing list
Pd-dev@lists.iem.at
https://lists.puredata.info/listinfo/pd-dev