Messages from Usenet group comp.lang.idl-pvwave, compiled by Paulo Penteado
external routines from MacOSX and how to get at 'em
Hello, I find myself on a very steep and slippery learning curve: learning MacOSX, IDL on MacOSX, IDLWAVE, and calling external routines (in this case C, of which I know zilch) all at once. Whew! I have a big bag of questions but I'll try to narrow it down a bit... to just those about calling external routines. We have installed a framegrabber (Scion LG-3) in our spiffy new mac G4 running OSX. Scion makes available the c libraries for accessing the frame grabber (as well as the documentation, but not the source code) in what is called, in OSX lingo, a framework. Question 1 Is the framework the equivalent to a compiled object, such as 'mylib.o'? Question 2 Should I be making a DLM or using CALL_EXTERNAL to access these c routines? Question 3 If the answer to 2 is that I should be using DLMs, then do I need to write a wrapper in C for each of the gazillion C routines that Scion has mushed into this framework? Question 4 If the answer to 2 is that I should be using CALL_EXTERNAL, then what in the world do I put in for the IMAGE argument? An example of a call to CALL_EXTERNAL might be ... result = CALL_EXTERNAL(image, targetFucntion, args, keywords =keywords) result = CALL_EXTERNAL('/usr/lib/mylib.o', 'foo', myarg1, arg2, arg3, /auto-glue) Under MACOSX, what does that look like since I don't have a mylib.o but have a sfglib.framework? Do I do this... result = CALL_EXTERNAL('/usr/applications/...blah.../scglib.framework ', 'thatScionFunction', arg1, arg2, arg3, /auto-glue) Question 5 Should I just throw in the towel? I have tried a number of steps - none of which worked. I hope that I can minimize the effort i need to put into learning C and maximize the effort I put into the IDL side of the code. Thanks for any and all assistance! Cheers, Ben
Re: external routines from MacOSX and how to get at 'em
Up to IDL 5.5.1, I used Applescript to shuttle data from and to IDL - which worked beautifully, very elegant, and under Classic in Mac OS X much faster than before. For example, you could have IDL spit out reconstructed image sequences and poke all data including vast image sequences into a relational Filemaker Pro database that linked to image folders that you created automatically in Finder - without having to move one finger. These reasons of mine to use Applescript have been documented and sent to RSINC and the German representative, Creaso, in order to support my request for a Mac OS X native version of IDL. They said my request was very good as such - but they needed many more applications like that in order to come up with the amount of work necessary to program a Mac OS X native version of IDL. The problem is, that 'a request for a Mac OS X native version of IDL' causes people to generally believe that Mac users are simple Aqua/Mac GUI-addicts that can't handle the Unix interface and therefore cause them to make the wrong business decisions. At the same time, Applescript is very powerful but unfortunately, criminally neglected. Wolf. Ben Tupper wrote: > Hello, > > I find myself on a very steep and slippery learning curve: learning > MacOSX, IDL on MacOSX, IDLWAVE, and calling external routines (in this > case C, of which I know zilch) all at once. Whew! I have a big bag > of questions but I'll try to narrow it down a bit... to just those > about calling external routines. > > We have installed a framegrabber (Scion LG-3) in our spiffy new mac G4 > running OSX. Scion makes available the c libraries for accessing the > frame grabber (as well as the documentation, but not the source code) > in what is called, in OSX lingo, a framework. > > Question 1 > Is the framework the equivalent to a compiled object, such as > 'mylib.o'? > > Question 2 > Should I be making a DLM or using CALL_EXTERNAL to access these c > routines? > > Question 3 > If the answer to 2 is that I should be using DLMs, then do I need to > write a wrapper in C for each of the gazillion C routines that Scion > has mushed into this framework? > > Question 4 > If the answer to 2 is that I should be using CALL_EXTERNAL, then what > in the world do I put in for the IMAGE argument? An example of a call > to CALL_EXTERNAL might be ... > result = CALL_EXTERNAL(image, targetFucntion, args, keywords > =keywords) > result = CALL_EXTERNAL('/usr/lib/mylib.o', 'foo', myarg1, arg2, arg3, > /auto-glue) > > Under MACOSX, what does that look like since I don't have a mylib.o > but have a sfglib.framework? Do I do this... > > result = CALL_EXTERNAL('/usr/applications/...blah.../scglib.framework ', > 'thatScionFunction', arg1, arg2, arg3, /auto-glue) > > Question 5 > Should I just throw in the towel? > > > I have tried a number of steps - none of which worked. I hope that I > can minimize the effort i need to put into learning C and maximize the > effort I put into the IDL side of the code. > > > Thanks for any and all assistance! > > Cheers, > Ben