RobynsVeil opened this issue on May 30, 2008 · 267 posts
renderdog2000 posted Tue, 03 June 2008 at 3:32 AM
Quote - As for FAST, I'd like EVERYTHING to be scriptable. Python is a very good way to go when it comes to scripting applications.
One of the things I sorely miss about Poser is the possibility to use it as a Python library.There's a lot of things that MS doesn't do as they should, but there's also a couple of things they're very good at. One of those things is the programmability of their applications. Everything you can do from the user interface of an Office app, you can do using script too, both from inside the application itself, and from the outside - every Office app is a COM server.
They separated user interface from functionality (MVC pattern), which makes it easy to completely replace the user interface by something totally different.This kind of programmability would be a great asset to FAST. As far as I'm concerned the main reason Poser doesn't live up to its Pro name is its lack of programmability. I don't know how D|S does in this regard (the last version I tested didn't have scripting support at all), but my expectations aren't that high.
Make FAST programmable, make it do at least one thing very well, and you have a pro level application.
Well, I'm shooting for a TCP server built in that will allow you to access every feature and command in FAST from any external programming language you'd care to, anything that can connect to, send and recieve info from a TCP/IP socket will be able to use it.
At first it will just be a simple SDK with a list of commands you send in and the format of the responses you'll recieve. Commands that actually cause the program do to something (like for example save a file) will return a 0 or a 1, basically a true or false, indicating the command was recieved and whether it executed properly or not.
Commands that query information, like a list of actors in a current scene, will probably just return information either in XML or comma delimited format (I'm leaning toward XML here).
That way any most any language you'd care to use can be used, and since it won't be embedded you can add whatever libraries you'd like to your language of preference. Eventually I'll get around to coding full blown API's for some of the more popular languages like Python and Java that will handle all the TCP/IP stuff for you, so that all you'll need to worry about is adding the right header/include file and your good to go, but that will probably be a little bit later down the road.
Either way this will be about as programmable as it gets :)
-Never fear, RenderDog is near! Oh wait, is that a chew toy? Yup. ok, nevermind.. go back to fearing...