Custom routine

44 views
Skip to first unread message

Florian Franzen

unread,
May 18, 2012, 10:45:55 AM5/18/12
to expo-...@nyu.edu
Hello,

I used to be able to create my own plugins/routines for previous Expo versions by creating a bundle with the ending '.plugin' and implementing the 
"-(RINFO *)routineInfo" and "- (UInt32) expoPlugInVersion" in it. After the last changes to Expo this is no longer possible. 

I digged around in the new Expo.app and found "Expo.framework" which I can use to build my own EXRoutine bundles against. The problem is now, that I don't know what to do with the resulting bundles i.e. how to get the to run inside Expo. Also it is kind of unclear to me how EXRoutineParameter (and its flags) are used. Also the cases in which a routines "start", "step", "record", "stop" and "purge" functions are called and how those can be changed using flags are not described anywhere.

Is it possible to get access to the Expo source code, as it was before? It would simplify plugin development a lot.

Greetings
Florian Franzen

Robert Dotson

unread,
May 18, 2012, 11:18:41 AM5/18/12
to Expo Users, Florian Franzen
Florian,

You are correct, after the 1.5.13 build the RINFO based routine
plugins are no longer working. There is a new (evolving) API which
will allow you to create plugins that will reside in ~/Library/
Application Support/Expo/Plugins, /Library/Application Support/Expo/
Plugins, or /Network/Library/Application Support/Expo/Plugins.

However, you cannot subclass EXRoutine directly, as there is a whole
new suite of routine classes to use, which should simplify future
development: EXAnalysisRoutine, EXStateRoutine, EXDisplayStateRoutine,
EXConditionalRoutine. The API has not been finalized for inclusion
into this build, though most of the existing routines have been ported
to use the new private APIs.

Since you've been creating plugins, we should take this discussion
offline, and we can discuss pros/cons of the old system vs. the new,
and I'll give you an inside look at how routines should work in the
future.

Best,

Rob
Reply all
Reply to author
Forward
0 new messages