At this point in time, the actual 'OGM message audio' has to be pre-defined/loaded into the OGM properties window manually.
You can then use the SDK/API command-line argument "ogm" to specify which OGM to answer calls with (thus changing the audio on demand). See example below:
IVM.exe -ogm mysecondOGM
However there is also another solution...
Under: \Documents and Settings\All Users\Application Data\NCH Swift Sound\IVM\OGMs, You should find 3 files for each OGM you have.
1) An .ini file which contains configuration information for the OGM
2) A .wav file with the OGM message audio
3) A .txt file with the script/notes for that OGM
To dynamically change the OGM's audio during run time:
METHOD 1:
Add/replace this line in the .ini file (under the [iVR] category) to make the OGM play an audio file of your choice:
playexfile=C:\mysound.wav
*Note the OGM message should be blank (e.g. 1 second of silence) as this audio file will be played in addition to the normal OGM audio
METHOD 2:
Replace the .wav file in the "\Documents and Settings\All Users\Application Data\NCH Swift Sound\IVM\OGMs" directory with a new one
To add/modify the OGM's Text To Speech script at runtime:
Modify the .txt file with the new TTS script
*Make sure 'Text to Speech Voice Synthesis of Script' is checked in the Advanced tab of the OGM properties window before hand
For your second question, yes you can use a plug-in. Additionally you can use the built-in "Add Entry to Special Log" feature to enter log info every time a OGM runs. By having each OGM add a line to the log with the Caller ID / date & time you can track a call through each OGM and therefore see what options were selected.