Embedded Scilab

The recently started forum topic on embedded Python raises the question as to whether something similar might be done for Scilab, an open-source program that is similar to Matlab and its toolboxes. One area where Scilab is very strong (and Igor relatively weak) is linear-systems analysis, particularly for control theory. On the other hand, Scilab's graphics are not as good as Igor's.

There is also precedent for being able to run Scilab inside a commercial program. See the Scilab-LabVIEW gateway and also this link .

I'm not enough of a programmer to do this, but perhaps one of the many pros on this site will take an interest? I think the payoff would be similar to being able to embed Python: easy access to added functionality (plus a fair bit of user-code) while still retaining the advantages of Igor. I'm willing to help out in the design and testing.

John
I am not really sure what the best way to embed it is, but maybe something like this:

http://forge.scilab.org/index.php/p/NET-COMponent/

With this you would have Igor and Scilab communicate and exchange data via automation, i.e. Scilab would act as a COM server. Or maybe it is better to have Igor act as the COM server, since that functionality is probably better written (and well documented) by Wavemetrics, and has existed for more than 2 months. Looking through the help files (DisplayHelpTopic "Automation Server Overview"), I'm surprised this hasn't been used in more Igor projects. It seems like a good way to circumvent writing an XOP when what you really want to do is build a bridge between two programs, rather than just extend Igor with a few pieces of code.
This is an interesting suggestion. If I understand correctly, this is something that will be added to the next version of Scilab, 5.3. There must be a way to do this currently, but the com/net method sounds like it may be simpler and worth waiting for.

John
ActiveX is the Windows inter-application automation technology built on top of Microsoft's COM (Component Object Model).

Igor can act as an ActiveX server but not an ActiveX client. For details, see "Igor Pro Folder\Miscellaneous\Windows Automation".