Ejemplo n.º 1
0
        public unsafe string?GetTrackISRC(byte track)
        {
            SubQDataFormat dataFormat = new SubQDataFormat()
            {
                Format = (byte)SubQDataFormatFormat.TrackISRC,
                Track  = track
            };

            var isrc = file.DeviceControlInputOutput <SubQDataFormat, SubQTrackISRC>(DeviceIoControlCode.CdRomReadQChannel, ref dataFormat);

            if ((isrc.ReservedTcVal & 128) == 0)
            {
                return(null);
            }

            return(new string((sbyte *)isrc.TrackIsrc));
        }
Ejemplo n.º 2
0
        public unsafe string?GetMediaCatalogNumber()
        {
            SubQDataFormat dataFormat = new SubQDataFormat()
            {
                Format = (byte)SubQDataFormatFormat.MediaCatalog,
                Track  = 0
            };

            var catNr = file.DeviceControlInputOutput <SubQDataFormat, SubQMediaCatalogNumber>(DeviceIoControlCode.CdRomReadQChannel, ref dataFormat);

            if ((catNr.ReservedMcVal & 128) == 0)
            {
                return(null);
            }


            return(new string((sbyte *)catNr.MediaCatalog));
        }