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 );
|
GetApplicableFiles( sPath, list );
|
||||||
return list.GetSize() != 0;
|
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 {
|
class NotesLoader {
|
||||||
protected:
|
protected:
|
||||||
virtual void GetApplicableFiles( CString sPath, CStringArray &out )=0;
|
virtual void GetApplicableFiles( CString sPath, CStringArray &out )=0;
|
||||||
|
void GetMainAndSubTitlesFromFullTitle( const CString sFullTitle, CString &sMainTitleOut, CString &sSubTitleOut );
|
||||||
|
|
||||||
public:
|
public:
|
||||||
virtual bool LoadFromDir( CString sPath, Song &out ) = 0;
|
virtual bool LoadFromDir( CString sPath, Song &out ) = 0;
|
||||||
|
|||||||
@@ -329,7 +329,7 @@ bool BMSLoader::LoadFromDir( CString sDir, Song &out )
|
|||||||
if( iIndex != -1 )
|
if( iIndex != -1 )
|
||||||
{
|
{
|
||||||
value_data = value_data.Left( iIndex );
|
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
|
else
|
||||||
out.m_sMainTitle = value_data;
|
out.m_sMainTitle = value_data;
|
||||||
|
|||||||
@@ -263,7 +263,7 @@ bool DWILoader::LoadFromDWIFile( CString sPath, Song &out )
|
|||||||
out.m_sMusicFile = sParams[1];
|
out.m_sMusicFile = sParams[1];
|
||||||
|
|
||||||
else if( 0==stricmp(sValueName,"TITLE") )
|
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") )
|
else if( 0==stricmp(sValueName,"ARTIST") )
|
||||||
out.m_sArtist = sParams[1];
|
out.m_sArtist = sParams[1];
|
||||||
|
|||||||
@@ -69,7 +69,7 @@ bool SMLoader::LoadFromSMFile( CString sPath, Song &out )
|
|||||||
|
|
||||||
// handle the data
|
// handle the data
|
||||||
if( 0==stricmp(sValueName,"TITLE") )
|
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") )
|
else if( 0==stricmp(sValueName,"SUBTITLE") )
|
||||||
out.m_sSubTitle = sParams[1];
|
out.m_sSubTitle = sParams[1];
|
||||||
|
|||||||
@@ -249,23 +249,6 @@ float Song::GetElapsedTimeFromBeat( float fBeat ) const
|
|||||||
return fElapsedTimeBestGuess;
|
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
|
CString Song::GetCacheFilePath() const
|
||||||
{
|
{
|
||||||
return ssprintf( "Cache\\%u", GetHashForString(m_sSongDir) );
|
return ssprintf( "Cache\\%u", GetHashForString(m_sSongDir) );
|
||||||
|
|||||||
@@ -93,8 +93,6 @@ public:
|
|||||||
CString m_sCredit;
|
CString m_sCredit;
|
||||||
|
|
||||||
CString GetFullTitle() const { return m_sMainTitle + (m_sSubTitle.GetLength()? (" " + m_sSubTitle):""); }
|
CString GetFullTitle() const { return m_sMainTitle + (m_sSubTitle.GetLength()? (" " + m_sSubTitle):""); }
|
||||||
static void GetMainAndSubTitlesFromFullTitle( const CString sFullTitle, CString &sMainTitleOut, CString &sSubTitleOut );
|
|
||||||
|
|
||||||
|
|
||||||
CString m_sMusicFile;
|
CString m_sMusicFile;
|
||||||
DWORD m_iMusicBytes;
|
DWORD m_iMusicBytes;
|
||||||
|
|||||||
Reference in New Issue
Block a user