Detecting valid CDDA tracks

If you have any questions on programming, this is the place to ask them, whether you're a newbie or an experienced programmer. Discussion on programming in general is also welcome. We will help you with programming homework, but we will not do your work for you! Any porting requests must be made in Developmental Ideas.
Post Reply
User avatar
mankrip
DCEmu Ex-Mod
DCEmu Ex-Mod
Posts: 3712
https://www.artistsworkshop.eu/meble-kuchenne-na-wymiar-warszawa-gdzie-zamowic/
Joined: Sun Nov 04, 2001 5:12 pm
Has thanked: 0
Been thanked: 0
Contact:

Detecting valid CDDA tracks

Post by mankrip »

How can I do to detect the valid CDDA tracks on the disc? Well, what I want to do is to have an array, like int audiotrack[99], and set audiotrack[#-1] = true if it's a valid CDDA track, otherwise audiotrack[#-1] = false.

I've been looking into the KOS files, and I've found a struct containing an array of 99 elements (I guess it's the TOC struct, can't check right now because I'm not on my computer). I've also found a function to read the TOC from the disc, but this function needs the number of the session, and it seems there isn't any function to detect the number of sessions on the disc.

Resuming, I'm not sure what to do. Well, I don't even know what's stored in that array inside the TOC struct when we read the TOC.

What I need is something that works with multiple sessions, where each session can have just a data track, and/or some audio tracks. Like this:
session 1
track 1 - audio
track 2 - audio
session 2
track 3 - data
track 4 - audio
track 5 - audio
track 6 - audio
track 7 - audio
track 8 - audio
track 9 - audio
track 10 - audio
session 3
track 11 - data
track 12 - audio
session 4
track 13 - data
session 5
track 14 - audio
track 15 - audio
session 6
track 16 - data
Ph'nglui mglw'nafh mankrip Hell's end wgah'nagl fhtagn.
==-=-=-=-=-=-=-=-=-=-==
Dev blog / Twitter / YouTube
Image
Post Reply