5. Retrieve plugin information
Plugin information structure looks like below:
typedef struct { short int interfaceVersion; char date [12]; char fileExt1 [6]; char fileExt2 [6]; char fileExt3 [6]; char fileExt4 [6]; char fileExt5 [6]; char fileExt6 [6]; char fileExt71 [6]; char fileExt8 [6]; char pluginName [128]; char coderName [128]; char email [128]; char www [128]; char comment [128]; short int isDsp; short int support; long datastart; short int supportsNextSongHook; short int supportsName; short int supportsComposer; short int supportsSongCount; short int supportsPreselect; short int supportsComment; short int supportsFastram; } sJamPluginInfo;
As you see there is plenty of information that can be retrieved. We can get a pointer to currently loaded plugin by calling:
const sJamPluginInfo *plugiInfo=(const sJamPluginInfo *)sendJamCmd((void *)0L,(void *)0L,JAM_INFO,0);
Plugin info structure sJamPluginInfo provides few crucial informations like, is this plugin supporting Fast-Ram/TT-Ram memory. If yes, we can load our tune into the faster memory, if not we are forced to use ST-Ram. If plugin is marked as DSP one then it can't be used on anything else than Falcon030 and so on.
Information retrieved from sJamPluginInfo and our current machine setup will influence our next steps.