Esempio n. 1
0
/// create a MetaIO for the file to read/write any tags etc
MetaIO* Metadata::getTagger(void)
{
    static MetaIOID3 metaIOID3;
    static MetaIOOggVorbis metaIOOggVorbis;
    static MetaIOFLACVorbis metaIOFLACVorbis;
    static MetaIOMP4 metaIOMP4;
    static MetaIOWavPack metaIOWavPack;
    static MetaIOAVFComment metaIOAVFComment;

    QFileInfo fi(m_filename);
    QString extension = fi.suffix();

    if (extension == "mp3" || extension == "mp2")
        return &metaIOID3;
    else if (extension == "ogg" || extension == "oga")
        return &metaIOOggVorbis;
    else if (extension == "flac")
    {
        if (metaIOID3.TagExists(Filename(true)))
            return &metaIOID3;
        else
            return &metaIOFLACVorbis;
    }
    else if (extension == "m4a")
        return &metaIOMP4;
    else if (extension == "wv")
        return &metaIOWavPack;
    else
        return &metaIOAVFComment;
}
Esempio n. 2
0
// static
MetaIO* MetaIO::createTagger(const QString& filename)
{
    QFileInfo fi(filename);
    QString extension = fi.suffix().toLower();

    if (extension == "mp3" || extension == "mp2")
        return new MetaIOID3;
    else if (extension == "ogg" || extension == "oga")
        return new MetaIOOggVorbis;
    else if (extension == "flac")
    {
        MetaIOID3 *tagger = new MetaIOID3;
        if (tagger->TagExists(filename))
            return tagger;
        else
        {
            delete tagger;
            return new MetaIOFLACVorbis;
        }
    }
    else if (extension == "m4a")
        return new MetaIOMP4;
    else if (extension == "wv")
        return new MetaIOWavPack;
    else
        return new MetaIOAVFComment;
}
Esempio n. 3
0
MetaIO* avfDecoder::doCreateTagger(void)
{
    QString extension = filename.section('.', -1);

    if (extension == "mp3")
        return new MetaIOID3();
    else if (extension == "ogg" || extension == "oga")
        return new MetaIOOggVorbis();
    else if (extension == "flac")
    {
        MetaIOID3 *file = new MetaIOID3();
        if (file->TagExists(filename))
            return file;
        else
            return new MetaIOFLACVorbis();  
    }
    else if (extension == "m4a")
        return new MetaIOMP4();
    else if (extension == "wv")
        return new MetaIOWavPack();
    else
        return new MetaIOAVFComment();
}