Exemple #1
0
int __stdcall TagFileSimple(const str_ansi * pFilename, const char * pArtist, const char * pAlbum, const char * pTitle, const char * pComment, const char * pGenre, const char * pYear, const char * pTrack, BOOL bClearFirst, BOOL bUseOldID3)
{
	CSmartPtr<wchar_t> spFilename(GetUTF16FromANSI(pFilename), TRUE);

	IO_CLASS_NAME FileIO;
	if (FileIO.Open(spFilename) != 0)
		return -1;
	
	CAPETag APETag(&FileIO, TRUE);

	if (bClearFirst)
		APETag.ClearFields();	
	
	APETag.SetFieldString(APE_TAG_FIELD_ARTIST, pArtist, TRUE);
	APETag.SetFieldString(APE_TAG_FIELD_ALBUM, pAlbum, TRUE);
	APETag.SetFieldString(APE_TAG_FIELD_TITLE, pTitle, TRUE);
	APETag.SetFieldString(APE_TAG_FIELD_GENRE, pGenre, TRUE);
	APETag.SetFieldString(APE_TAG_FIELD_YEAR, pYear, TRUE);
	APETag.SetFieldString(APE_TAG_FIELD_COMMENT, pComment, TRUE);
	APETag.SetFieldString(APE_TAG_FIELD_TRACK, pTrack, TRUE);
	
	if (APETag.Save(bUseOldID3) != 0)
	{
		return -1;
	}
	
	return 0;
}
Exemple #2
0
int __stdcall GetID3Tag(const str_ansi * pFilename, ID3_TAG * pID3Tag)
{
	CSmartPtr<wchar_t> spFilename(GetUTF16FromANSI(pFilename), TRUE);

	IO_CLASS_NAME FileIO;
	if (FileIO.Open(spFilename) != 0)
		return -1;
	
	CAPETag APETag(&FileIO, TRUE);
	
	return APETag.CreateID3Tag(pID3Tag);
}
Exemple #3
0
IAPETag* __stdcall c_GetAPETag(const str_ansi * pFilename, bool bCheckID3Tag)
{
	CSmartPtr<wchar_t> spFilename(GetUTF16FromANSI(pFilename), TRUE);

	IO_CLASS_NAME FileIO;
	if (FileIO.Open(spFilename) != 0)
		return NULL;
		
	CAPETag *pAPETag = new CAPETag(&FileIO, TRUE);
	printf("CREATED tag: %p\n", pAPETag);
	return pAPETag;
}
Exemple #4
0
CAPELink::CAPELink(const str_utf16 * pFilename)
{
    // empty
    m_bIsLinkFile = FALSE;
    m_nStartBlock = 0;
    m_nFinishBlock = 0;
    m_cImageFilename[0] = 0;

    // open the file
    IO_CLASS_NAME ioLinkFile;
    if (ioLinkFile.Open(pFilename) == ERROR_SUCCESS)
    {
        // create a buffer
        CSmartPtr<char> spBuffer(new char [1024], TRUE);
        
        // fill the buffer from the file and null terminate it
        unsigned int nBytesRead = 0;
        ioLinkFile.Read(spBuffer.GetPtr(), 1023, &nBytesRead);
        spBuffer[nBytesRead] = 0;

        // call the other constructor (uses a buffer instead of opening the file)
        ParseData(spBuffer, pFilename);
    }
}