/** * \brief Eject a disk, unmount a drive, open a tray * * If the Media Monitor is enabled, we use its fully-featured routine. * Otherwise, we guess a drive and use a primitive OS-specific command */ void MediaMonitor::ejectOpticalDisc() { MediaMonitor *mon = MediaMonitor::GetMediaMonitor(); if (mon) mon->ChooseAndEjectMedia(); else { VERBOSE(VB_MEDIA, "CD/DVD Monitor isn't enabled."); #ifdef __linux__ VERBOSE(VB_MEDIA, "Trying Linux 'eject -T' command"); myth_system("eject -T"); #elif CONFIG_DARWIN VERBOSE(VB_MEDIA, "Trying 'disktool -e disk1"); myth_system("disktool -e disk1"); #endif } }
/** * \brief Eject a disk, unmount a drive, open a tray * * If the Media Monitor is enabled, we use its fully-featured routine. * Otherwise, we guess a drive and use a primitive OS-specific command */ void MediaMonitor::ejectOpticalDisc() { MediaMonitor *mon = MediaMonitor::GetMediaMonitor(); if (mon) mon->ChooseAndEjectMedia(); else { LOG(VB_MEDIA, LOG_INFO, "CD/DVD Monitor isn't enabled."); #ifdef __linux__ LOG(VB_MEDIA, LOG_INFO, "Trying Linux 'eject -T' command"); myth_system("eject -T"); #elif CONFIG_DARWIN QString def = DEFAULT_CD; LOG(VB_MEDIA, LOG_INFO, "Trying 'disktool -e " + def); myth_system("disktool -e " + def); #endif } }