GStreamer MPEGTS plugin has a GIR file and so an automated D binding should be possible. Is there anyone wanting to collaborate on this?
Pages: 1 2
On 08-09-17 19:16, Russel Winder wrote:
GStreamer MPEGTS plugin has a GIR file and so an automated D binding should be possible. Is there anyone wanting to collaborate on this?
Running the generator on directly on the gir file seems to generate
something useful. There are some structs generated with nothing more
than a getType function which should probably be skipped.
On 11-09-17 23:07, Mike Wey wrote:
On 08-09-17 19:16, Russel Winder wrote:
GStreamer MPEGTS plugin has a GIR file and so an automated D binding
should be possible. Is there anyone wanting to collaborate on this?Running the generator on directly on the gir file seems to generate
something useful. There are some structs generated with nothing more
than a getType function which should probably be skipped.
Those structs or at least C structs are mainly used for their fields.
And some of them need to be newed and/or freed.
I'll have to investigate how to best wrap those. Maybe a final class
with properties for the fields that translate for C to D if necessary.
Apologies for the delay in replying, a knock on effect of a forum with no email push – at least as far as I understand this forum.
I am a total newbie to the GIR and API generation, so I am not sure I can be constructive in the abstract. Is there a way of me trying out what there is from a D program to try and create some constructive feedback?
On 23-09-17 10:46, Russel Winder wrote:
Apologies for the delay in replying, a knock on effect of a forum with no email push – at least as far as I understand this forum.
I am a total newbie to the GIR and API generation, so I am not sure I can be constructive in the abstract. Is there a way of me trying out what there is from a D program to try and create some constructive feedback?
The generator can be found here:
https://github.com/gtkd-developers/gir-to-d it now should generate
properties when needed.
To test thing out you could run the generator directly on the GIR file:
girtod -i /usr/share/gir-1.0/GstMpegts-1.0.gir
Splendid. I shall have a little play.
It seems the the girtod in the gir-to-d package on Debian Sid has a problem:
|> girtod -i /usr/share/
Display all 406 possibilities? (y or n)
|> girtod -i /usr/share/gir-1.0/GstMpegts-1.0.gir
Error: APILookup.txt not found, check '--help' for more information.
I built the Git repository, but:
|> which girtod
/home/users/russel/Built/bin/girtod
|> girtod -i /usr/share/gir-1.0/GstMpegts-1.0.gir
std.file.FileException@std/file.d(348): /usr/share/gir-1.0/GLib-2.0.gir: No such file or directory
----------------
??:? @trusted void[] std.file.readImpl(const(char)[], const(char)*, ulong) [0xc51ea62c]
??:? [0x1d214a86]
??:? [0x1d212753]
??:? [0x1d240edc]
??:? [0x1d2476cd]
??:? [0x1d247522]
??:? [0x1d247a31]
??:? [0x1d28b960]
??:? [0x1d286bef]
??:? [0x1d2485aa]
??:? [0x1d24855f]
??:? [0x1d248395]
??:? [0x1d2012ec]
??:? _aaApply [0xc4ca33b2]
??:? [0x1d200620]
??:? _D2rt6dmain211_d_run_mainUiPPaPUAAaZiZ6runAllMFZ9__lambda1MFZv [0xc4caf90e]
??:? void rt.dmain2._d_run_main(int, char**, extern (C) int function(char[][])*).tryExec(scope void delegate()) [0xc4caf84d]
??:? _d_run_main [0xc4caf744]
??:? [0x1d211e64]
??:? __libc_start_main [0xc3f4a2e0]
??:? [0x1d1fffe9]
On 23-09-17 17:04, Russel Winder wrote:
I built the Git repository, but:
|> which girtod /home/users/russel/Built/bin/girtod |> girtod -i /usr/share/gir-1.0/GstMpegts-1.0.gir std.file.FileException@std/file.d(348): /usr/share/gir-1.0/GLib-2.0.gir: No such file or directory ----------------
GLib-2.0.gir is usually part of the gobject-introspection
package. On
Debian it looks like there is a separate package for the gir files: libgirepository1.0-dev
.
The GIR files of dependencies are parsed to determine how certain types
should be handled.
I checked and saw:
libgirepository-1.0-1
and thought everything was fine. Of course I actually needed:
libgirepository1.0-dev
to be in place. Works now. :-)
Pages: 1 2