Continuing down the path of "shouldn't" and "can't", I've run into a sourceforge project called IKVM. Bottom line is that with a bit of bytecode trickery it allows interoperability between java and .net.
It actually works and not terribly painfully. I'm currently running an ikvm app in the Eclipse java IDE and am able to access a variety of .net functionalty. the whole mscorlib.dll is available to me and I can create objects, show MessageBoxes, etc. Good stuff and useful in its own right.
Connecting to Vegas is not so good. Right now I can't instantiate any vegas object from the Sony.Vegas.dll. Its a "class not found error". Not sure what the issue is yet. Could be limitations in ikvm or could be some fundamental setup error of mine. I've googled hints of both but am still looking.
I notice there isn't a way to instantiate the Vegas object in the Sony.Vegas.dll. I'm too ignorant to know what that means. Is it that Vegas is now not intended to be launched; instead a running vegas launches a JScript and the script passes the vegas instance to the code?
As an alternative, I tried to connect to a running instanceof vegas.
cli.System.Runtime.InteropServices.Marshal.GetActiveObject("Word.Application");
answers an instance of Microsoft Word. I've tried "Sony Vegas", "Sony.Vegas" "Vegas 5.0" ad nauseum and searched the registry for the ProgID of Vegas, but struck out. Can't get past a "COMException: Invalid class string" here.
Anyway, kindof exciting over here, but I suspect I know where this going to (not) work out.
It actually works and not terribly painfully. I'm currently running an ikvm app in the Eclipse java IDE and am able to access a variety of .net functionalty. the whole mscorlib.dll is available to me and I can create objects, show MessageBoxes, etc. Good stuff and useful in its own right.
Connecting to Vegas is not so good. Right now I can't instantiate any vegas object from the Sony.Vegas.dll. Its a "class not found error". Not sure what the issue is yet. Could be limitations in ikvm or could be some fundamental setup error of mine. I've googled hints of both but am still looking.
I notice there isn't a way to instantiate the Vegas object in the Sony.Vegas.dll. I'm too ignorant to know what that means. Is it that Vegas is now not intended to be launched; instead a running vegas launches a JScript and the script passes the vegas instance to the code?
As an alternative, I tried to connect to a running instanceof vegas.
cli.System.Runtime.InteropServices.Marshal.GetActiveObject("Word.Application");
answers an instance of Microsoft Word. I've tried "Sony Vegas", "Sony.Vegas" "Vegas 5.0" ad nauseum and searched the registry for the ProgID of Vegas, but struck out. Can't get past a "COMException: Invalid class string" here.
Anyway, kindof exciting over here, but I suspect I know where this going to (not) work out.