Private Sub Get_DiscID
Dim sh As Shell
Dim PathToDiscID As String = File.Combine(File.DirApp, "discid.exe")
sh.Initialize("DiscID", PathToDiscID, Null)
sh.run(-1)
End Sub
public Sub DiscID_ProcessCompleted (Success As Boolean, ExitCode As Int, StdOut As String, StdErr As String)
Log($"Success: ${Success}, Exit Code: ${ExitCode}, StdOut: ${StdOut}, StdErr: ${StdErr}"$)
If Success Then
' DiscID is first group
DiscID = StdOut.SubString2(0,8)
Dim NewStdOut As String
NewStdOut = StdOut.SubString(StdOut.IndexOf(" ")+1)
' Last loop is not a track, so start at 0 instead of 1
DiscTracks = 0
Do While NewStdOut.Contains(" ")
NewStdOut = NewStdOut.SubString((NewStdOut.IndexOf(" ")+1))
DiscTracks = DiscTracks + 1
Loop
' Remaining string is the length
DiscLengthSecs = NewStdOut
' discid returns Discid, TrackStartFrames, Disc Length in seconds
Log($"Disc ID is: ${DiscID}, No of Tracks: ${DiscTracks}, Length in Seconds: ${DiscLengthSecs}"$)
Else
Log("Error: " & StdErr)
End If
End Sub