diff options
Diffstat (limited to 'src/base_media_base.h')
-rw-r--r-- | src/base_media_base.h | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/src/base_media_base.h b/src/base_media_base.h index 7614118b7..15f4372fb 100644 --- a/src/base_media_base.h +++ b/src/base_media_base.h @@ -285,11 +285,23 @@ static const uint NUM_SONGS_AVAILABLE = 1 + NUM_SONG_CLASSES * NUM_SONGS_CLASS; /** Maximum number of songs in the (custom) playlist */ static const uint NUM_SONGS_PLAYLIST = 32; +enum MusicTrackType { + MTT_STANDARDMIDI, ///< Standard MIDI file +}; + +/** Metadata about a music track. */ +struct MusicSongInfo { + char songname[32]; ///< name of song displayed in UI + byte tracknr; ///< track number of song displayed in UI + const char *filename; ///< file on disk containing song (when used in MusicSet class, this pointer is owned by MD5File object for the file) + MusicTrackType filetype; ///< decoder required for song file +}; + /** All data of a music set. */ struct MusicSet : BaseSet<MusicSet, NUM_SONGS_AVAILABLE, false> { - /** The name of the different songs. */ - char song_name[NUM_SONGS_AVAILABLE][32]; - byte track_nr[NUM_SONGS_AVAILABLE]; + /** Data about individual songs in set. */ + MusicSongInfo songinfo[NUM_SONGS_AVAILABLE]; + /** Number of valid songs in set. */ byte num_available; bool FillSetDetails(struct IniFile *ini, const char *path, const char *full_filename); |