move GetMainAndSubTitlesFromFullTitle to NotesLoader (only
used by them)
This commit is contained in:
@@ -9,3 +9,21 @@ bool NotesLoader::Loadable( CString sPath )
|
||||
GetApplicableFiles( sPath, list );
|
||||
return list.GetSize() != 0;
|
||||
}
|
||||
|
||||
void NotesLoader::GetMainAndSubTitlesFromFullTitle( const CString sFullTitle, CString &sMainTitleOut, CString &sSubTitleOut )
|
||||
{
|
||||
const CString sLeftSeps[] = { " -", " ~", " (", " [" };
|
||||
int iNumSeps = sizeof(sLeftSeps)/sizeof(CString);
|
||||
for( int i=0; i<iNumSeps; i++ )
|
||||
{
|
||||
int iBeginIndex = sFullTitle.Find( sLeftSeps[i] );
|
||||
if( iBeginIndex == -1 )
|
||||
continue;
|
||||
sMainTitleOut = sFullTitle.Left( iBeginIndex );
|
||||
sSubTitleOut = sFullTitle.Mid( iBeginIndex+1, sFullTitle.GetLength()-iBeginIndex+1 );
|
||||
return;
|
||||
}
|
||||
sMainTitleOut = sFullTitle;
|
||||
sSubTitleOut = "";
|
||||
};
|
||||
|
||||
|
||||
@@ -23,6 +23,7 @@ enum {
|
||||
class NotesLoader {
|
||||
protected:
|
||||
virtual void GetApplicableFiles( CString sPath, CStringArray &out )=0;
|
||||
void GetMainAndSubTitlesFromFullTitle( const CString sFullTitle, CString &sMainTitleOut, CString &sSubTitleOut );
|
||||
|
||||
public:
|
||||
virtual bool LoadFromDir( CString sPath, Song &out ) = 0;
|
||||
|
||||
@@ -329,7 +329,7 @@ bool BMSLoader::LoadFromDir( CString sDir, Song &out )
|
||||
if( iIndex != -1 )
|
||||
{
|
||||
value_data = value_data.Left( iIndex );
|
||||
out.GetMainAndSubTitlesFromFullTitle( value_data, out.m_sMainTitle, out.m_sSubTitle );
|
||||
GetMainAndSubTitlesFromFullTitle( value_data, out.m_sMainTitle, out.m_sSubTitle );
|
||||
}
|
||||
else
|
||||
out.m_sMainTitle = value_data;
|
||||
|
||||
@@ -263,7 +263,7 @@ bool DWILoader::LoadFromDWIFile( CString sPath, Song &out )
|
||||
out.m_sMusicFile = sParams[1];
|
||||
|
||||
else if( 0==stricmp(sValueName,"TITLE") )
|
||||
out.GetMainAndSubTitlesFromFullTitle( sParams[1], out.m_sMainTitle, out.m_sSubTitle );
|
||||
GetMainAndSubTitlesFromFullTitle( sParams[1], out.m_sMainTitle, out.m_sSubTitle );
|
||||
|
||||
else if( 0==stricmp(sValueName,"ARTIST") )
|
||||
out.m_sArtist = sParams[1];
|
||||
|
||||
@@ -69,7 +69,7 @@ bool SMLoader::LoadFromSMFile( CString sPath, Song &out )
|
||||
|
||||
// handle the data
|
||||
if( 0==stricmp(sValueName,"TITLE") )
|
||||
out.GetMainAndSubTitlesFromFullTitle( sParams[1], out.m_sMainTitle, out.m_sSubTitle );
|
||||
GetMainAndSubTitlesFromFullTitle( sParams[1], out.m_sMainTitle, out.m_sSubTitle );
|
||||
|
||||
else if( 0==stricmp(sValueName,"SUBTITLE") )
|
||||
out.m_sSubTitle = sParams[1];
|
||||
|
||||
@@ -249,23 +249,6 @@ float Song::GetElapsedTimeFromBeat( float fBeat ) const
|
||||
return fElapsedTimeBestGuess;
|
||||
}
|
||||
|
||||
void Song::GetMainAndSubTitlesFromFullTitle( const CString sFullTitle, CString &sMainTitleOut, CString &sSubTitleOut )
|
||||
{
|
||||
const CString sLeftSeps[] = { " -", " ~", " (", " [" };
|
||||
int iNumSeps = sizeof(sLeftSeps)/sizeof(CString);
|
||||
for( int i=0; i<iNumSeps; i++ )
|
||||
{
|
||||
int iBeginIndex = sFullTitle.Find( sLeftSeps[i] );
|
||||
if( iBeginIndex == -1 )
|
||||
continue;
|
||||
sMainTitleOut = sFullTitle.Left( iBeginIndex );
|
||||
sSubTitleOut = sFullTitle.Mid( iBeginIndex+1, sFullTitle.GetLength()-iBeginIndex+1 );
|
||||
return;
|
||||
}
|
||||
sMainTitleOut = sFullTitle;
|
||||
sSubTitleOut = "";
|
||||
};
|
||||
|
||||
CString Song::GetCacheFilePath() const
|
||||
{
|
||||
return ssprintf( "Cache\\%u", GetHashForString(m_sSongDir) );
|
||||
|
||||
@@ -93,8 +93,6 @@ public:
|
||||
CString m_sCredit;
|
||||
|
||||
CString GetFullTitle() const { return m_sMainTitle + (m_sSubTitle.GetLength()? (" " + m_sSubTitle):""); }
|
||||
static void GetMainAndSubTitlesFromFullTitle( const CString sFullTitle, CString &sMainTitleOut, CString &sSubTitleOut );
|
||||
|
||||
|
||||
CString m_sMusicFile;
|
||||
DWORD m_iMusicBytes;
|
||||
|
||||
Reference in New Issue
Block a user