コード例 #1
0
ファイル: soundsourceproxy.cpp プロジェクト: midzer/mixxx
void SoundSourceProxy::initSoundSource() {
    DEBUG_ASSERT(!m_pSoundSource);
    DEBUG_ASSERT(!m_pAudioSource);
    while (!m_pSoundSource) {
        mixxx::SoundSourceProviderPointer pProvider(getSoundSourceProvider());
        if (!pProvider) {
            if (!getUrl().isEmpty()) {
                kLogger.warning() << "No SoundSourceProvider for file"
                           << getUrl().toString();
            }
            // Failure
            return;
        }
        m_pSoundSource = pProvider->newSoundSource(m_url);
        if (!m_pSoundSource) {
            kLogger.warning() << "SoundSourceProvider"
                       << pProvider->getName()
                       << "failed to create a SoundSource for file"
                       << getUrl().toString();
            // Switch to next provider...
            nextSoundSourceProvider();
            // ...and continue loop
            DEBUG_ASSERT(!m_pSoundSource);
        } else {
            if (kLogger.debugEnabled()) {
                kLogger.debug() << "SoundSourceProvider"
                         << pProvider->getName()
                         << "created a SoundSource for file"
                         << getUrl().toString()
                         << "of type"
                         << m_pSoundSource->getType();
            }
        }
    }
}
コード例 #2
0
void SoundSourceProxy::initSoundSource() {
    DEBUG_ASSERT(m_pSoundSource.isNull());
    DEBUG_ASSERT(m_pAudioSource.isNull());
    while (m_pSoundSource.isNull()) {
        Mixxx::SoundSourceProviderPointer pProvider(getSoundSourceProvider());
        if (pProvider.isNull()) {
            qWarning() << "No SoundSourceProvider for file"
                    << getUrl();
            // Failure
            return;
        }
        m_pSoundSource = pProvider->newSoundSource(m_url);
        if (m_pSoundSource.isNull()) {
            qWarning() << "SoundSourceProvider"
                    << pProvider->getName()
                    << "failed to create a SoundSource for file"
                    << getUrl();
            // Switch to next provider...
            nextSoundSourceProvider();
            // ...and continue loop
            DEBUG_ASSERT(m_pSoundSource.isNull());
        } else {
            QString trackType(m_pSoundSource->getType());
            qDebug() << "SoundSourceProvider"
                    << pProvider->getName()
                    << "created a SoundSource for file"
                    << getUrl()
                    << "of type"
                    << trackType;
            if (!m_pTrack.isNull()) {
                m_pTrack->setType(trackType);
            }
        }
    }
}