Well, I've been thinking about my scripting idea further. I've decided to experiment with ECL, too - Embedded Common Lisp. What's the big idea? Well, ECL provides a FFI. So, I could interface ECL with Cinelerra. But it goes further than that in 2 ways: * the FFI that you use with ECL could be combined with a back-end to generate the FFI for a different language. FICL interface code is hard-coded at the moment, for example. It would be interesting to see if I could use the ECL FFI to generate FICL glue code. Of course, you'd still have to write the back end in terms of specified primitives (as the joke goes: my car's an automatic, but I still have to be there). * if what I think is right, then it also means that one can generate pluggable language scripts - and generated in a way that's much much easier for the plugin programmer. How's that, you wonder? Well, the generated interface file could be compiled to fasl - which is a compiled Lisp code. Cinelerra, combined with ECL, could search the script plugin directory, and load those fasls. And those fasls, which were generated by ECL, contain the information required to interface with the scripting language.
So potentially, it's quite a powerful approach. And you get a separability between Cinelerra and the scripting language. People are free to write language extensions independently of the main development, and don't need to combine it with the source tree. What they will do is implement an API (they don't have to implement the whole gamut of functions that we want Cinelerra to export, just a base API), and use a binary (which will basically be some ECL proggy that needs to be written once) on their written API to produce a fasl. They then offer up this fasl to the world - pycine.fasl, for example. Someone sees the pycine.fasl, puts it in their scripting dir, starts Cinelerra, and as if by magic, python interface. A certain amount of ECL will need to be hard-coded in with Cinelerra, because it's the mechanism that will do the connecting. It's also why I'm trying to convince people to stop using C++ - C is just easier to interface with. ___________________________________________________________ Yahoo! Answers - Got a question? Someone out there knows the answer. Try it now. http://uk.answers.yahoo.com/