[hpsdr] iPhone/iPad

Jeremy McDermond mcdermj at xenotropic.com
Sun Jan 30 13:51:15 PST 2011


On Jan 30, 2011, at 1:21 PM, John James wrote:

> And it is a very cool language!

Not a huge fan, but to each their own.

Basically, what you have to do right now to make a plugin for Heterodyne (the work isn't completely done yet.  There's no current way to select between multiple modules it finds.  Again, not fully baked.) is:

1)  You have to make a bundle file that contains your plugin.  You place this in either /Library/Application Support/Heterodyne/PlugIns or ~/Library/Application Support/PlugIns.  The bundle's main class must load up and conform to a formal protocol, XTHeterodyneHardwareDriver.  The protocol is shipped in the Heterodyne executable bundle's Headers directory, so you don't necessarily need the full source.

2)  In your module, your init function must take a parameter for sample rate, and an XTDTTSP object which you use to send your samples back to the main program.  I'm not really very happy with this way of doing it, and it will surely change eventually as I move over to my own DSP functions written in Objective C.

3)  Your module also must provide a configuration GUI that is returned as an NSView by a method on your driver object.  It will be displayed in the Preferences dialog as appropriate.

Again, I know I've been beating this like a dead horse, but it's not at all finished yet, and modules written today probably won't work two months from now.  It's very much a work in progress and it's not ready for prime time yet.  It does function, and it will be included with the initial shipping of Heterodyne to support the Metis folks, but it probably will have the Metis driver statically selected.

Looking at the MacRuby site, you might be able to do this stuff in Ruby if you wanted.  The big thing that seems to be missing is signaling to Objective C that you conform to the protocol.  If you don't signal that conformance, Heterodyne will ignore the bundle.  See http://www.mail-archive.com/macruby-devel@lists.macosforge.org/msg05745.html.  You're more than welcome to play around with it, as always, but I'm not really accepting a lot of feedback regarding it until I have it in a position where I think it's more solidly baked.

--
Jeremy McDermond (NH6Z)
Xenotropic Systems
mcdermj at xenotropic.com




 1296424275.0


More information about the Hpsdr mailing list