2002-08-24 06:30:32 +00:00
|
|
|
#ifndef MUSICLIST_H
|
|
|
|
|
#define MUSICLIST_H
|
|
|
|
|
|
|
|
|
|
#include "ActorFrame.h"
|
|
|
|
|
#include "BitmapText.h"
|
2003-02-16 04:28:17 +00:00
|
|
|
#include "song.h"
|
2002-08-24 06:30:32 +00:00
|
|
|
|
|
|
|
|
const int MAX_MLIST_COLUMNS = 5;
|
|
|
|
|
|
2003-10-19 19:59:11 +00:00
|
|
|
class MusicList : public ActorFrame
|
|
|
|
|
{
|
2002-08-24 06:30:32 +00:00
|
|
|
BitmapText m_textTitles[MAX_MLIST_COLUMNS];
|
|
|
|
|
|
|
|
|
|
struct group {
|
|
|
|
|
CString ContentsText[MAX_MLIST_COLUMNS];
|
|
|
|
|
int m_iNumSongsInGroup;
|
|
|
|
|
};
|
|
|
|
|
|
2003-01-03 05:56:28 +00:00
|
|
|
vector<group> m_ContentsText;
|
2002-08-24 06:30:32 +00:00
|
|
|
|
|
|
|
|
int NumGroups, CurGroup;
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
MusicList();
|
2003-10-19 19:59:11 +00:00
|
|
|
void Load();
|
2002-08-24 06:30:32 +00:00
|
|
|
|
|
|
|
|
/* Add a new group. */
|
|
|
|
|
void AddGroup();
|
|
|
|
|
|
|
|
|
|
/* Add songs to the group that was just added. */
|
2003-01-03 05:56:28 +00:00
|
|
|
void AddSongsToGroup(const vector<Song*> &songs);
|
2002-08-24 06:30:32 +00:00
|
|
|
|
|
|
|
|
/* Set the displayed group number. */
|
|
|
|
|
void SetGroupNo(int group);
|
|
|
|
|
|
|
|
|
|
void TweenOnScreen();
|
|
|
|
|
void TweenOffScreen();
|
|
|
|
|
int GetNumSongs() const { return m_ContentsText[CurGroup].m_iNumSongsInGroup; }
|
|
|
|
|
};
|
|
|
|
|
|
2002-11-16 08:55:46 +00:00
|
|
|
#endif
|