From 1acc49b21d850e035a2517930e6738b873953047 Mon Sep 17 00:00:00 2001 From: Benjamin Chausse Date: Tue, 21 Mar 2023 02:32:05 -0400 Subject: Manual merge of chartFile branch --- song.h | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 song.h (limited to 'song.h') diff --git a/song.h b/song.h new file mode 100644 index 0000000..9e05564 --- /dev/null +++ b/song.h @@ -0,0 +1,59 @@ +#ifndef SONG_H +#define SONG_H + +#include +#include + +#include "chordNote.h" +#include "timestamp.h" + +#define DIFFICULTY_EASY 0 +#define DIFFICULTY_MEDIUM 1 +#define DIFFICULTY_HARD 2 +#define DIFFICULTY_EXPERT 3 + +class Song{ + public: + Song(std::string chartFile); + ~Song(); + + void parseInfo(); // info from "Song" section + void parseSync(); // timestamps from "SyncTrack" section + bool parseChords(int difficulty); // chords from "Events" section + + void print(); + void printTimestamps(); + void printChords(int difficulty); + + void consolidateChords(int difficulty); // Merge chords with same start/end times + + std::string getChartFile(); + std::string getTitle(); + std::string getArtist(); + std::string getCharter(); + std::string getAlbum(); + std::string getYear(); + std::string getGenre(); + std::string getAudioFile(); + + private: + const std::string chartFile; + std::string title; + std::string artist; + std::string charter; + std::string album; + std::string year; + std::string genre; + std::string audioFile; + bool difficulty[4]; // Which difficulties are available + int resolution; + std::vector timestamps; + std::vector easy; + std::vector medium; + std::vector hard; + std::vector expert; +}; + +#include "song.cpp" +#endif // SONG_H +// vim: syntax=cpp.doxygen -- cgit v1.2.3