Main Page | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members | File Members

Song Class Reference

#include <song.h>

Collaboration diagram for Song:

Collaboration graph
[legend]
List of all members.

Public Types

enum  SelectionDisplay { SHOW_ALWAYS, SHOW_ROULETTE, SHOW_NEVER }
enum  { DISPLAY_ACTUAL, DISPLAY_SPECIFIED, DISPLAY_RANDOM }

Public Member Functions

 Song ()
 ~Song ()
void Reset ()
NotesLoaderMakeLoader (CString sDir) const
bool LoadFromSongDir (CString sDir)
void TidyUpData ()
void ReCalculateRadarValuesAndLastBeat ()
void TranslateTitles ()
void SaveToSMFile (CString sPath, bool bSavingCache)
void Save ()
void SaveToCacheFile ()
void SaveToDWIFile ()
const CString & GetSongFilePath () const
CString GetCacheFilePath () const
void AddAutoGenNotes ()
void AutoGen (StepsType ntTo, StepsType ntFrom)
void RemoveAutoGenNotes ()
const CString & GetSongDir () const
CString GetDisplayMainTitle () const
CString GetDisplaySubTitle () const
CString GetDisplayArtist () const
CString GetTranslitMainTitle () const
CString GetTranslitSubTitle () const
CString GetTranslitArtist () const
CString GetFullDisplayTitle () const
CString GetFullTranslitTitle () const
CString GetMusicPath () const
CString GetBannerPath () const
CString GetLyricsPath () const
CString GetBackgroundPath () const
CString GetCDTitlePath () const
bool HasMusic () const
bool HasBanner () const
bool HasBackground () const
bool HasCDTitle () const
bool HasMovieBackground () const
bool HasBGChanges () const
bool HasLyrics () const
bool Matches (CString sGroup, CString sSong) const
void AddBPMSegment (const BPMSegment &seg)
void AddStopSegment (const StopSegment &seg)
void AddBackgroundChange (BackgroundChange seg)
void AddForegroundChange (BackgroundChange seg)
void AddLyricSegment (LyricSegment seg)
void GetDisplayBpms (DisplayBpms &AddTo) const
CString GetBackgroundAtBeat (float fBeat) const
float GetBPMAtBeat (float fBeat) const
void SetBPMAtBeat (float fBeat, float fBPM)
BPMSegmentGetBPMSegmentAtBeat (float fBeat)
void GetBeatAndBPSFromElapsedTime (float fElapsedTime, float &fBeatOut, float &fBPSOut, bool &bFreezeOut) const
float GetBeatFromElapsedTime (float fElapsedTime) const
float GetElapsedTimeFromBeat (float fBeat) const
bool HasSignificantBpmChangesOrStops () const
bool SongCompleteForStyle (const Style *st) const
bool HasStepsType (StepsType st) const
bool HasStepsTypeAndDifficulty (StepsType st, Difficulty dc) const
const vector< Steps * > & GetAllSteps (StepsType st=STEPS_TYPE_INVALID) const
void GetSteps (vector< Steps * > &arrayAddTo, StepsType st=STEPS_TYPE_INVALID, Difficulty dc=DIFFICULTY_INVALID, int iMeterLow=-1, int iMeterHigh=-1, const CString &sDescription="", bool bIncludeAutoGen=true, unsigned uHash=0, int iMaxToGet=-1) const
StepsGetSteps (StepsType st=STEPS_TYPE_INVALID, Difficulty dc=DIFFICULTY_INVALID, int iMeterLow=-1, int iMeterHigh=-1, const CString &sDescription="", unsigned uHash=0, bool bIncludeAutoGen=true) const
StepsGetStepsByDifficulty (StepsType st, Difficulty dc, bool bIncludeAutoGen=true) const
StepsGetStepsByMeter (StepsType st, int iMeterLow, int iMeterHigh) const
StepsGetStepsByDescription (StepsType st, CString sDescription) const
StepsGetClosestNotes (StepsType st, Difficulty dc) const
bool IsEasy (StepsType st) const
bool IsTutorial () const
bool HasEdits (StepsType st) const
SelectionDisplay GetDisplayed () const
bool NormallyDisplayed () const
bool NeverDisplayed () const
bool RouletteDisplayed () const
bool ShowInDemonstrationAndRanking () const
void AddSteps (Steps *pSteps)
void RemoveSteps (const Steps *pSteps)
void FreeAllLoadedFromProfiles ()
bool WasLoadedFromProfile () const
int GetNumStepsLoadedFromProfile (ProfileSlot slot) const
bool IsEditAlreadyLoaded (Steps *pSteps) const

Public Attributes

enum Song::SelectionDisplay m_SelectionDisplay
CString m_sSongFileName
CString m_sGroupName
ProfileSlot m_LoadedFromProfile
bool m_bIsSymLink
CString m_sMainTitle
CString m_sSubTitle
CString m_sArtist
CString m_sMainTitleTranslit
CString m_sSubTitleTranslit
CString m_sArtistTranslit
CString m_sCredit
CString m_sMusicFile
float m_fMusicLengthSeconds
float m_fFirstBeat
float m_fLastBeat
float m_fMusicSampleStartSeconds
float m_fMusicSampleLengthSeconds
enum Song:: { ... }  m_DisplayBPMType
float m_fSpecifiedBPMMin
float m_fSpecifiedBPMMax
CString m_sBannerFile
CString m_sLyricsFile
CString m_sBackgroundFile
CString m_sCDTitleFile
bool m_bHasMusic
bool m_bHasBanner
TimingData m_Timing
vector< BackgroundChangem_BackgroundChanges
vector< BackgroundChangem_ForegroundChanges
vector< LyricSegmentm_LyricSegments
vector< CString > m_vsKeysoundFile

Private Member Functions

void AdjustDuplicateSteps ()
void DeleteDuplicateSteps (vector< Steps * > &vSteps)

Private Attributes

CString m_sSongDir
vector< Steps * > m_vpSteps
vector< Steps * > m_vpStepsByType [NUM_STEPS_TYPES]

Member Enumeration Documentation

anonymous enum
 

Enumeration values:
DISPLAY_ACTUAL 
DISPLAY_SPECIFIED 
DISPLAY_RANDOM 

enum Song::SelectionDisplay
 

Enumeration values:
SHOW_ALWAYS 
SHOW_ROULETTE 
SHOW_NEVER 


Constructor & Destructor Documentation

Song::Song  ) 
 

Song::~Song  ) 
 


Member Function Documentation

void Song::AddAutoGenNotes  ) 
 

void Song::AddBackgroundChange BackgroundChange  seg  ) 
 

void Song::AddBPMSegment const BPMSegment seg  )  [inline]
 

void Song::AddForegroundChange BackgroundChange  seg  ) 
 

void Song::AddLyricSegment LyricSegment  seg  ) 
 

void Song::AddSteps Steps pSteps  ) 
 

void Song::AddStopSegment const StopSegment seg  )  [inline]
 

void Song::AdjustDuplicateSteps  )  [private]
 

void Song::AutoGen StepsType  ntTo,
StepsType  ntFrom
 

void Song::DeleteDuplicateSteps vector< Steps * > &  vSteps  )  [private]
 

void Song::FreeAllLoadedFromProfiles  ) 
 

const vector<Steps*>& Song::GetAllSteps StepsType  st = STEPS_TYPE_INVALID  )  const [inline]
 

CString Song::GetBackgroundAtBeat float  fBeat  )  const
 

CString Song::GetBackgroundPath  )  const
 

CString Song::GetBannerPath  )  const
 

void Song::GetBeatAndBPSFromElapsedTime float  fElapsedTime,
float &  fBeatOut,
float &  fBPSOut,
bool &  bFreezeOut
const [inline]
 

float Song::GetBeatFromElapsedTime float  fElapsedTime  )  const [inline]
 

float Song::GetBPMAtBeat float  fBeat  )  const [inline]
 

BPMSegment& Song::GetBPMSegmentAtBeat float  fBeat  )  [inline]
 

CString Song::GetCacheFilePath  )  const
 

CString Song::GetCDTitlePath  )  const
 

Steps * Song::GetClosestNotes StepsType  st,
Difficulty  dc
const
 

CString Song::GetDisplayArtist  )  const
 

void Song::GetDisplayBpms DisplayBpms AddTo  )  const
 

Song::SelectionDisplay Song::GetDisplayed  )  const
 

CString Song::GetDisplayMainTitle  )  const
 

CString Song::GetDisplaySubTitle  )  const
 

float Song::GetElapsedTimeFromBeat float  fBeat  )  const [inline]
 

CString Song::GetFullDisplayTitle  )  const
 

CString Song::GetFullTranslitTitle  )  const
 

CString Song::GetLyricsPath  )  const
 

CString Song::GetMusicPath  )  const
 

int Song::GetNumStepsLoadedFromProfile ProfileSlot  slot  )  const
 

const CString& Song::GetSongDir  )  const [inline]
 

const CString & Song::GetSongFilePath  )  const
 

Steps * Song::GetSteps StepsType  st = STEPS_TYPE_INVALID,
Difficulty  dc = DIFFICULTY_INVALID,
int  iMeterLow = -1,
int  iMeterHigh = -1,
const CString &  sDescription = "",
unsigned  uHash = 0,
bool  bIncludeAutoGen = true
const
 

void Song::GetSteps vector< Steps * > &  arrayAddTo,
StepsType  st = STEPS_TYPE_INVALID,
Difficulty  dc = DIFFICULTY_INVALID,
int  iMeterLow = -1,
int  iMeterHigh = -1,
const CString &  sDescription = "",
bool  bIncludeAutoGen = true,
unsigned  uHash = 0,
int  iMaxToGet = -1
const
 

Steps * Song::GetStepsByDescription StepsType  st,
CString  sDescription
const
 

Steps * Song::GetStepsByDifficulty StepsType  st,
Difficulty  dc,
bool  bIncludeAutoGen = true
const
 

Steps * Song::GetStepsByMeter StepsType  st,
int  iMeterLow,
int  iMeterHigh
const
 

CString Song::GetTranslitArtist  )  const [inline]
 

CString Song::GetTranslitMainTitle  )  const [inline]
 

CString Song::GetTranslitSubTitle  )  const [inline]
 

bool Song::HasBackground  )  const
 

bool Song::HasBanner  )  const
 

bool Song::HasBGChanges  )  const
 

bool Song::HasCDTitle  )  const
 

bool Song::HasEdits StepsType  st  )  const
 

bool Song::HasLyrics  )  const
 

bool Song::HasMovieBackground  )  const
 

bool Song::HasMusic  )  const
 

bool Song::HasSignificantBpmChangesOrStops  )  const
 

bool Song::HasStepsType StepsType  st  )  const
 

bool Song::HasStepsTypeAndDifficulty StepsType  st,
Difficulty  dc
const
 

bool Song::IsEasy StepsType  st  )  const
 

bool Song::IsEditAlreadyLoaded Steps pSteps  )  const
 

bool Song::IsTutorial  )  const
 

bool Song::LoadFromSongDir CString  sDir  ) 
 

NotesLoader * Song::MakeLoader CString  sDir  )  const
 

bool Song::Matches CString  sGroup,
CString  sSong
const
 

bool Song::NeverDisplayed  )  const
 

bool Song::NormallyDisplayed  )  const
 

void Song::ReCalculateRadarValuesAndLastBeat  ) 
 

void Song::RemoveAutoGenNotes  ) 
 

void Song::RemoveSteps const Steps pSteps  ) 
 

void Song::Reset  ) 
 

bool Song::RouletteDisplayed  )  const
 

void Song::Save  ) 
 

void Song::SaveToCacheFile  ) 
 

void Song::SaveToDWIFile  ) 
 

void Song::SaveToSMFile CString  sPath,
bool  bSavingCache
 

void Song::SetBPMAtBeat float  fBeat,
float  fBPM
[inline]
 

bool Song::ShowInDemonstrationAndRanking  )  const
 

bool Song::SongCompleteForStyle const Style st  )  const
 

void Song::TidyUpData  ) 
 

void Song::TranslateTitles  ) 
 

bool Song::WasLoadedFromProfile  )  const [inline]
 


Member Data Documentation

vector<BackgroundChange> Song::m_BackgroundChanges
 

bool Song::m_bHasBanner
 

bool Song::m_bHasMusic
 

bool Song::m_bIsSymLink
 

enum { ... } Song::m_DisplayBPMType
 

float Song::m_fFirstBeat
 

float Song::m_fLastBeat
 

float Song::m_fMusicLengthSeconds
 

float Song::m_fMusicSampleLengthSeconds
 

float Song::m_fMusicSampleStartSeconds
 

vector<BackgroundChange> Song::m_ForegroundChanges
 

float Song::m_fSpecifiedBPMMax
 

float Song::m_fSpecifiedBPMMin
 

ProfileSlot Song::m_LoadedFromProfile
 

vector<LyricSegment> Song::m_LyricSegments
 

CString Song::m_sArtist
 

CString Song::m_sArtistTranslit
 

CString Song::m_sBackgroundFile
 

CString Song::m_sBannerFile
 

CString Song::m_sCDTitleFile
 

CString Song::m_sCredit
 

enum Song::SelectionDisplay Song::m_SelectionDisplay
 

CString Song::m_sGroupName
 

CString Song::m_sLyricsFile
 

CString Song::m_sMainTitle
 

CString Song::m_sMainTitleTranslit
 

CString Song::m_sMusicFile
 

CString Song::m_sSongDir [private]
 

CString Song::m_sSongFileName
 

CString Song::m_sSubTitle
 

CString Song::m_sSubTitleTranslit
 

TimingData Song::m_Timing
 

vector<Steps*> Song::m_vpSteps [private]
 

vector<Steps*> Song::m_vpStepsByType[NUM_STEPS_TYPES] [private]
 

vector<CString> Song::m_vsKeysoundFile
 


The documentation for this class was generated from the following files:
Generated on Thu Jan 27 21:04:21 2005 for StepMania by doxygen 1.3.7