Quick overview of the simpleplayer & how it runs.... ------------------------------------------------------- clinet main() method: create an engine. ppExContexts[] and ppPlayers[] for each nNumPlayers (initially 1) create a new ExampleClientContext(i) for each player. and then pEngine->CreatePlayer(ppPlayers[i]) then: init each context with its player, preferences and pszGUID then set the players context to its example context ------------------------- engine CreatePlayer() does: each player is init()d ... which gives the player an engine, which is used to init various player objects. createplayer associates an aduioplayer with the player. the player is then added to the engines player list. ------------------------- then for each player we init its context, and then call player->OpenURL(pszURL) and if that works, we call player->Begin() then while(1) DoEvents() note: client context is an IHXPreferences interface that sets the clients context. [i think?]