namespace BinaryObjectScanner.Models.PlayJ { /// /// PlayJ audio header / CDS entry header /// /// V1 and V2 variants exist public abstract class AudioHeader { /// /// Signature (0x4B539DFF) /// public uint Signature; /// /// Version /// public uint Version; // Header-specific data goes here /// /// Length of the track name /// public ushort TrackLength; /// /// Track name (not null-terminated) /// public string Track; /// /// Length of the artist name /// public ushort ArtistLength; /// /// Artist name (not null-terminated) /// public string Artist; /// /// Length of the album name /// public ushort AlbumLength; /// /// Album name (not null-terminated) /// public string Album; /// /// Length of the writer name /// public ushort WriterLength; /// /// Writer name (not null-terminated) /// public string Writer; /// /// Length of the publisher name /// public ushort PublisherLength; /// /// Publisher name (not null-terminated) /// public string Publisher; /// /// Length of the label name /// public ushort LabelLength; /// /// Label name (not null-terminated) /// public string Label; /// /// Length of the comments /// /// Optional field only in some samples public ushort CommentsLength; /// /// Comments (not null-terminated) /// /// Optional field only in some samples public string Comments; } }