john you really scare me, here is my script and is so similar, that i cut say something else, the only difference is that i use the cdplayer bat file from the cfx skin to save the playlist, and reload it back when the cd is ejected also mine is not running all the time(i dont use cd/dvd media that much).agree that sonic needs to make an official plug in.
Code:
Opt("WinTitleMatchMode", 3)
$cdrom = "Cdrom"
If WinExists($cdrom) Then Exit
AutoItWinSetTitle($cdrom)
$rr=ObjCreate("RoadRunner.sdk")
$rrpath=$rr.getinfo("RRPATH")
$rrdrive=$rr.getinfo("=$cddrive$")
$drive=IniRead($rrpath&'\cdrom.ini', 'SETTINGS', 'drive', $rrdrive)
if (DriveStatus($drive) == "READY") then
$type=DriveGetFileSystem($drive)
$cdin=IniRead($rrpath&'\cdrom.ini', 'SETTINGS', 'cdin','')
$dvdin=IniRead($rrpath&'\cdrom.ini', 'SETTINGS', 'dvdin','')
if $type="CDFS" then $rr.Execute($cdin)
if $type="UDF" then $rr.Execute($dvdin)
CDTray($drive, 'open')
Sleep(2000)
EndIf
While Not (DriveStatus($drive) == "READY")
Sleep(2000)
if (DriveStatus($drive) =="UNKNOWN") then
$blankcd=IniRead($rrpath&'\cdrom.ini', 'SETTINGS', 'blankcd','"MENU;popup_success.skin||SETLABEL;!SUCCESS;!!COMMAND IS EMPTY!!||WAIT;3||CLOSE"')
$rr.Execute($blankcd)
ExitLoop
EndIf
WEnd
$status=DriveStatus ($drive)
Sleep(1000)
if $status="READY" then
FileChangeDir ( $drive&"\" )
$search = FileFindFirstFile("*.*")
If $search = -1 Then
$cdempty=IniRead($rrpath&'\cdrom.ini', 'SETTINGS', 'cdempty','"MENU;popup_success.skin||SETLABEL;!SUCCESS;!!COMMAND IS EMPTY!!||WAIT;3||CLOSE"')
$rr.Execute($cdempty)
Exit
EndIf
$file = FileFindNextFile($search)
Sleep(1000)
$cd=FileExists($drive&"\*.cda")
$dvd=FileExists($drive&"\VIDEO_TS")
if $cd = 1 then
$cd=IniRead($rrpath&'\cdrom.ini', 'SETTINGS', 'cd','"MENU;popup_success.skin||SETLABEL;!SUCCESS;!!COMMAND IS EMPTY!!||WAIT;3||CLOSE"')
$rr.Execute($cd)
ElseIf $dvd = 1 Then
$dvd=IniRead($rrpath&'\cdrom.ini', 'SETTINGS', 'dvd','""MENU;popup_success.skin||SETLABEL;!SUCCESS;!!DVD IN 0 COMMANDS!!||WAIT;3||CLOSE"')
$rr.Execute($dvd)
Else
$other=IniRead($rrpath&'\cdrom.ini', 'SETTINGS', 'other','"MENU;popup_success.skin||SETLABEL;!SUCCESS;!!DATA DISK 0 COMMANDS!!||WAIT;3||CLOSE"')
$rr.Execute($other)
EndIf
FileClose($search)
Else
$cdempty=IniRead($rrpath&'\cdrom.ini', 'SETTINGS', 'cdempty','')
$rr.Execute($cdempty)
EndIf