Esempio n. 1
0
wstring
ITunesTrack::albumArtist() const
{
    if ( m_comTrack == 0 )
        return L"";  // empty track case

    BSTR bstrAlbumArtist = 0;

    IITFileOrCDTrack* fileTrack = static_cast<IITFileOrCDTrack*>(m_comTrack);
    HRESULT res = m_comTrack->QueryInterface(IID_IITFileOrCDTrack, (void**)&fileTrack);

    if ( res != S_OK || fileTrack == 0 )
    {
        ITunesComWrapper::logComError( res, L"Casting IITrack to IITFileOrCDTrack failed" );
    }
    else
    {
        res = fileTrack->get_AlbumArtist( &bstrAlbumArtist );
        fileTrack->Release();
    }

    ITunesComWrapper::handleComResult( res, L"Failed to read album artist of track" );

    return ITunesComWrapper::bstrToWString( bstrAlbumArtist );
}