[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    Re: extragear/multimedia/amarok/src
From:       "Maximilian Kossick" <maximilian.kossick () googlemail ! com>
Date:       2008-05-07 10:47:35
Message-ID: c3d78d90805070347k5250b36en47334422f842259 () mail ! gmail ! com
[Download RAW message or body]

the MetaStream class should disconnect from engineController in
finishedPlaying...not sure if it already does, but that should assure
that only one MetaStream class is listening to new metadata
On Tue, May 6, 2008 at 5:30 PM, Mark Kretschmann <kretschmann@kde.org> wrote:
> SVN commit 804606 by markey:
> 
> Only apply new metadata to MetaStreams with the correct URL. Not sure if it was \
> meant to work this way, but meh. 
> 
> M  +2 -0      EngineController.cpp
> M  +10 -8     meta/stream/Stream_p.h
> 
> 
> --- trunk/extragear/multimedia/amarok/src/EngineController.cpp #804605:804606
> @@ -541,6 +541,8 @@
> 
> QHash<qint64, QString> meta;
> 
> +    meta.insert( Meta::valUrl, m_media->currentSource().url() );
> +
> QStringList artist = m_media->metaData( "ARTIST" );
> debug() << "Artist     : " << artist;
> if( !artist.isEmpty() )
> --- trunk/extragear/multimedia/amarok/src/meta/stream/Stream_p.h #804605:804606
> @@ -48,15 +48,17 @@
> void engineNewMetaData( const QHash<qint64, QString> &metaData, bool trackChanged )
> {
> Q_UNUSED( trackChanged )
> -                    DEBUG_BLOCK
> 
> -                    if( metaData.contains( Meta::valArtist ) )
> -                        artist = metaData.value( Meta::valArtist );
> -                    if( metaData.contains( Meta::valTitle ) )
> -                        title = metaData.value( Meta::valTitle );
> -                    if( metaData.contains( Meta::valAlbum ) )
> -                        album = metaData.value( Meta::valAlbum );
> -                    notify();
> +                    if( metaData.value( Meta::valUrl ) == url.url() ) {
> +                        debug() << "Applying new Metadata.";
> +                        if( metaData.contains( Meta::valArtist ) )
> +                            artist = metaData.value( Meta::valArtist );
> +                        if( metaData.contains( Meta::valTitle ) )
> +                            title = metaData.value( Meta::valTitle );
> +                        if( metaData.contains( Meta::valAlbum ) )
> +                            album = metaData.value( Meta::valAlbum );
> +                        notify();
> +                    }
> }
> 
> public:
> 


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic