Okay, just a few things again on the Ruby bindings for Taglib’s C++ interface. M4 is really helping out, it has a quite steep learning curve but when you know how to use it, it’s really simple to let it write the code. Basically I just have to engineer the macros one time, and then I can reproduce it for the infinity.
I’m also trying to make it generic enough so that it can be easily used to write other kind of bindings.
What I have to do now is to allow defining classes inheriting from parent classes and then allow to reorder the classes in modules (miming the namespaces in TagLib). It’s giving me headaches to think how to do that from outside, but the same happened for the rest before I got into it to start coding it out. The C++ code I’ve been able to generate right now does not yet compile, also because I’m missing the functions that “bridges” the TagLib’s types with Ruby’s internal representations.
The road I have to follow is still long, but considering I started yesterday night, I can say I’m happy with it.