I added gstreamer to the Nim GTK bindings once because someone asked for it, but he never came back
Indeed gstreamer is not that easy for gobject-introspection.
gst_structure_take() does currently not work for the Nim bindings, I guess the problem is that first parameter is a pointer to pointer (**) that can be NULL. Have never seen that for the other GTK bindings. For Nim we generally make parameters of type ** var ptr, as we have var parameters as known from Pascal. But var parameters can not be NULL.
Well I think I will make the bindings just ignore these function, then it compiles again.
But I still wonder: Makes passing NULL for the first parameter makes sense at all?
From my previous post the core message was that I assume that the nullable tag is wrong. I compared with some other GTK functions which seems to support my feelings.
But maybe I am still wrong, in that case I would have to modify the code which generates the bindings. In latest version 0.8.2 I just skip this function.
I think that’s the correct approach here. This is really just C API, I’m sure Nim already has something better than that. It’s similar to g_clear_object(), gst_object_replace(), etc.
What was the use-case someone was asking for it in Nim?
Not really, I never saw it used like that and wouldn’t know why one would want that
nullableT** pointers nonetheless make sense and I’m sure you already handle that in other cases for optional out parameters and GError **.