I've made a small baby step here, a new instance of the "RipJob" class is created in a member called Disk_Drive::CMD_Rip_Disk, which can be found in LinuxMCE-1.1-SRC/src/Disk_Drive/Disk_Drive.cpp
/** @brief COMMAND: #337 - Rip Disk */
/** This will try to RIP a DVD to the HDD. */
/** @param #2 PK_Device */
/** The ID of the disk drive or jukebox */
/** @param #13 Filename */
/** The target disk name, or for cd's, a comma-delimited list of names for each track. */
/** @param #17 PK_Users */
/** The user who needs this rip in his private area. */
/** @param #20 Format */
/** wav, flac, ogg, etc. */
/** @param #121 Tracks */
/** For CD's, this must be a comma-delimted list of tracks (1 based) to rip. */
/** @param #131 EK_Disc */
/** The ID of the disc to rip. If not specified this will be whatever disc is currently playing the entertainment area. */
/** @param #151 Slot Number */
/** The slot if this is a jukebox */
/** @param #233 DriveID */
/** The PK_Device ID of the storage drive that will be ripped to. Can be the ID of the core to store in /home */
/** @param #234 Directory */
/** The relative directory for the file to rip */
void Disk_Drive::CMD_Rip_Disk(int iPK_Device,string sFilename,int iPK_Users,string sFormat,string sTracks,int iEK_Disc,int iSlot_Number,int iDriveID,string sDirectory,string &sCMD_Result,Message *pMessage)
//<-dceag-c337-e->
{
RipJob *pRipJob = new RipJob(m_pDatabase_pluto_media,m_pJobHandler,m_pDisk_Drive_Functions,NULL,iPK_Users,iEK_Disc,
pMessage ? pMessage->m_dwPK_Device_From : 0,sFormat,sFilename,sDirectory,sTracks,true,this);
m_pJobHandler->AddJob(pRipJob);
}
I suppose this is getting called after a DCE (command) message? Maybe to the Media_Plugin?