[Amarok] b0503f5 Move Playlists back into Meta.

Bart Cerneels bart.cerneels at kde.org
Sun Mar 28 17:03:06 CEST 2010


commit b0503f586e184aaa8762e0abda3312a3275f0c4b
Author: Bart Cerneels <bart.cerneels at kde.org>
Date:   Sun Mar 28 17:09:27 2010 +0200

    Move Playlists back into Meta.
    
    Despite arguments being ignored by deaf ears: Playlist is a fundamental Meta type.
    
    Want to discuss it, do it here.
    
    CCMAIL:amarok-devel at kde.org

diff --git a/src/AmarokMimeData.cpp b/src/AmarokMimeData.cpp
index eaa5fb6..0a51682 100644
--- a/src/AmarokMimeData.cpp
+++ b/src/AmarokMimeData.cpp
@@ -45,13 +45,13 @@ public:
     }
 
     Meta::TrackList tracks;
-    Playlists::PlaylistList playlists;
+    Meta::PlaylistList playlists;
     QStringList playlistGroups;
     Podcasts::PodcastChannelList m_podcastChannels;
     Podcasts::PodcastEpisodeList m_podcastEpisodes;
     QList<QueryMaker*> queryMakers;
     QMap<QueryMaker*, Meta::TrackList> trackMap;
-    QMap<QueryMaker*, Playlists::PlaylistList> playlistMap;
+    QMap<QueryMaker*, Meta::PlaylistList> playlistMap;
     BookmarkList bookmarks;
     BookmarkGroupList bookmarkGroups;
 
@@ -168,25 +168,25 @@ AmarokMimeData::getTrackListSignal() const
     }
 }
 
-Playlists::PlaylistList
+Meta::PlaylistList
 AmarokMimeData::playlists() const
 {
     while( d->completedQueries < d->queryMakers.count() )
     {
         QCoreApplication::instance()->processEvents( QEventLoop::AllEvents );
     }
-    Playlists::PlaylistList result = d->playlists;
+    Meta::PlaylistList result = d->playlists;
     return result;
 }
 
 void
-AmarokMimeData::setPlaylists( const Playlists::PlaylistList &playlists )
+AmarokMimeData::setPlaylists( const Meta::PlaylistList &playlists )
 {
     d->playlists = playlists;
 }
 
 void
-AmarokMimeData::addPlaylists( const Playlists::PlaylistList &playlists )
+AmarokMimeData::addPlaylists( const Meta::PlaylistList &playlists )
 {
     d->playlists << playlists;
 }
@@ -298,7 +298,7 @@ QVariant
 AmarokMimeData::retrieveData( const QString &mimeType, QVariant::Type type ) const
 {
     Meta::TrackList tracks = this->tracks();
-    Playlists::PlaylistList playlists = this->playlists();
+    Meta::PlaylistList playlists = this->playlists();
     Podcasts::PodcastChannelList channels = this->podcastChannels();
     Podcasts::PodcastEpisodeList episodes = this->podcastEpisodes();
     if( !tracks.isEmpty() )
@@ -314,7 +314,7 @@ AmarokMimeData::retrieveData( const QString &mimeType, QVariant::Type type ) con
             {
                 list.append( QVariant( QUrl( episode->playableUrl() ) ) );
             }
-            foreach( Playlists::PlaylistPtr playlist, playlists )
+            foreach( Meta::PlaylistPtr playlist, playlists )
             {
                 list.append( QVariant( QUrl( playlist->retrievableUrl() ) ) );
             }
@@ -343,7 +343,7 @@ AmarokMimeData::retrieveData( const QString &mimeType, QVariant::Type type ) con
                 result += " - ";
                 result += episode->channel()->prettyName();
             }
-            foreach( Playlists::PlaylistPtr playlist, playlists )
+            foreach( Meta::PlaylistPtr playlist, playlists )
             {
                 if( !result.isEmpty() )
                     result += '\n';
diff --git a/src/AmarokMimeData.h b/src/AmarokMimeData.h
index 59460f4..3a8d114 100644
--- a/src/AmarokMimeData.h
+++ b/src/AmarokMimeData.h
@@ -53,9 +53,9 @@ class AMAROK_EXPORT AmarokMimeData : public QMimeData
         void setTracks( const Meta::TrackList &tracks );
         void addTracks( const Meta::TrackList &tracks );
 
-        Playlists::PlaylistList playlists() const;
-        void setPlaylists( const Playlists::PlaylistList &playlists );
-        void addPlaylists( const Playlists::PlaylistList &playlists );
+        Meta::PlaylistList playlists() const;
+        void setPlaylists( const Meta::PlaylistList &playlists );
+        void addPlaylists( const Meta::PlaylistList &playlists );
 
         QStringList playlistGroups() const;
         void setPlaylistGroups( const QStringList &groups );
diff --git a/src/App.cpp b/src/App.cpp
index 7677f9b..48e9339 100644
--- a/src/App.cpp
+++ b/src/App.cpp
@@ -886,10 +886,10 @@ bool App::event( QEvent *event )
             QString file = static_cast<QFileOpenEvent*>( event )->file();
             //we are only going to receive local files here
             KUrl url( file );
-            if( Playlists::isPlaylist( url ) )
+            if( Meta::isPlaylist( url ) )
             {
-                Playlists::PlaylistPtr playlist =
-                        Playlists::PlaylistPtr::dynamicCast( Playlists::loadPlaylistFile( url ) );
+                Meta::PlaylistPtr playlist =
+                        Meta::PlaylistPtr::dynamicCast( Meta::loadPlaylistFile( url ) );
                 The::playlistController()->insertOptioned( playlist, Playlist::AppendAndPlay );
             }
             else
diff --git a/src/DirectoryLoader.cpp b/src/DirectoryLoader.cpp
index 65ef695..f775441 100644
--- a/src/DirectoryLoader.cpp
+++ b/src/DirectoryLoader.cpp
@@ -83,9 +83,9 @@ DirectoryLoader::init( const QList<KUrl>& urls )
         }
         else
         {
-            if( Playlists::isPlaylist( kurl ) )
+            if( Meta::isPlaylist( kurl ) )
             {
-                Playlists::PlaylistFilePtr playlist = Playlists::loadPlaylistFile( kurl );
+                Meta::PlaylistFilePtr playlist = Meta::loadPlaylistFile( kurl );
                 if( playlist )
                     m_tracks << playlist->tracks();
             }
diff --git a/src/EngineController.cpp b/src/EngineController.cpp
index 3d57dad..3cb3e30 100644
--- a/src/EngineController.cpp
+++ b/src/EngineController.cpp
@@ -196,7 +196,7 @@ EngineController::canDecode( const KUrl &url ) //static
    //NOTE this function must be thread-safe
 
     // We can't use playlists in the engine
-    if( Playlists::isPlaylist( url ) )
+    if( Meta::isPlaylist( url ) )
         return false;
 
     KFileItem item( KFileItem::Unknown, KFileItem::Unknown, url );
diff --git a/src/browsers/filebrowser/FileView.cpp b/src/browsers/filebrowser/FileView.cpp
index f941beb..0c77936 100644
--- a/src/browsers/filebrowser/FileView.cpp
+++ b/src/browsers/filebrowser/FileView.cpp
@@ -345,7 +345,7 @@ FileView::addSelectionToPlaylist( bool replace )
     {
         KFileItem file = index.data( KDirModel::FileItemRole ).value<KFileItem>();
         debug() << "file path: " << file.url();
-        if( EngineController::canDecode( file.url() ) || Playlists::isPlaylist( file.url() ) || file.isDir() )
+        if( EngineController::canDecode( file.url() ) || Meta::isPlaylist( file.url() ) || file.isDir() )
         {
             urls << file.url();
         }
diff --git a/src/browsers/playlistbrowser/PlaylistsInGroupsProxy.cpp b/src/browsers/playlistbrowser/PlaylistsInGroupsProxy.cpp
index 668442e..a1c489e 100644
--- a/src/browsers/playlistbrowser/PlaylistsInGroupsProxy.cpp
+++ b/src/browsers/playlistbrowser/PlaylistsInGroupsProxy.cpp
@@ -181,8 +181,8 @@ PlaylistsInGroupsProxy::dropMimeData( const QMimeData *data, Qt::DropAction acti
         if( !parent.isValid() )
         {
             debug() << "dropped on the root";
-            Playlists::PlaylistList playlists = amarokMime->playlists();
-            foreach( Playlists::PlaylistPtr playlist, playlists )
+            Meta::PlaylistList playlists = amarokMime->playlists();
+            foreach( Meta::PlaylistPtr playlist, playlists )
                 playlist->setGroups( QStringList() );
             buildTree();
             return true;
@@ -202,8 +202,8 @@ PlaylistsInGroupsProxy::dropMimeData( const QMimeData *data, Qt::DropAction acti
                 //apply the new groupname to the source index
                 QString groupName = parent.data( Qt::DisplayRole ).toString();
                 //TODO: apply the new groupname to the source index
-                Playlists::PlaylistList playlists = amarokMime->playlists();
-                foreach( Playlists::PlaylistPtr playlist, playlists )
+                Meta::PlaylistList playlists = amarokMime->playlists();
+                foreach( Meta::PlaylistPtr playlist, playlists )
                     playlist->setGroups( QStringList( groupName ) );
                 buildTree();
                 return true;
diff --git a/src/browsers/playlistbrowser/PodcastModel.cpp b/src/browsers/playlistbrowser/PodcastModel.cpp
index 7d79e5f..b64df10 100644
--- a/src/browsers/playlistbrowser/PodcastModel.cpp
+++ b/src/browsers/playlistbrowser/PodcastModel.cpp
@@ -75,9 +75,9 @@ PlaylistBrowserNS::PodcastModel::PodcastModel()
  , m_setNewAction( 0 )
 {
     s_instance = this;
-    QList<Playlists::PlaylistPtr> playlists =
+    QList<Meta::PlaylistPtr> playlists =
             The::playlistManager()->playlistsOfCategory( PlaylistManager::PodcastChannel );
-    QListIterator<Playlists::PlaylistPtr> i(playlists);
+    QListIterator<Meta::PlaylistPtr> i(playlists);
     while (i.hasNext())
         m_channels << Podcasts::PodcastChannelPtr::staticCast( i.next() );
 
@@ -198,7 +198,7 @@ PlaylistBrowserNS::PodcastModel::data( const QModelIndex &index, int role ) cons
         //get data from empty providers
         PlaylistProviderList providerList =
                 The::playlistManager()->providersForCategory( PlaylistManager::PodcastChannel );
-        foreach( Playlists::PlaylistProvider *provider, providerList )
+        foreach( PlaylistProvider *provider, providerList )
         {
             if( provider->playlistCount() > 0 || provider->playlists().count() > 0 )
                 continue;
@@ -312,9 +312,8 @@ PlaylistBrowserNS::PodcastModel::data( const QModelIndex &index, int role ) cons
                     return icon( pmc );
                 case ProviderColumn:
                 {
-                    Playlists::PlaylistProvider *provider = providerForPmc(
+                    PlaylistProvider *provider = providerForPmc(
                             static_cast<Podcasts::PodcastMetaCommon *>( index.internalPointer() ) );
-
                     if( !provider )
                         return KIcon( "server-database" );
 
@@ -328,9 +327,8 @@ PlaylistBrowserNS::PodcastModel::data( const QModelIndex &index, int role ) cons
         {
             if( index.column() == ProviderColumn )
             {
-                Playlists::PlaylistProvider *provider = providerForPmc(
+                PlaylistProvider *provider = providerForPmc(
                         static_cast<Podcasts::PodcastMetaCommon *>( index.internalPointer() ) );
-
                 if( !provider )
                     return QString();
 
@@ -347,7 +345,7 @@ PlaylistBrowserNS::PodcastModel::data( const QModelIndex &index, int role ) cons
         {
             if( index.column() == ProviderColumn )
             {
-                Playlists::PlaylistProvider *provider = providerForPmc(
+                PlaylistProvider *provider = providerForPmc(
                         static_cast<Podcasts::PodcastMetaCommon *>( index.internalPointer() ) );
                 if( provider )
                     return provider->providerActions().count();
@@ -356,7 +354,7 @@ PlaylistBrowserNS::PodcastModel::data( const QModelIndex &index, int role ) cons
 
         case PlaylistBrowserNS::MetaPlaylistModel::ActionRole:
         {
-            Playlists::PlaylistProvider *provider = providerForPmc(
+            PlaylistProvider *provider = providerForPmc(
                     static_cast<Podcasts::PodcastMetaCommon *>( index.internalPointer() ) );
             if( !provider )
                 return QVariant();
@@ -403,7 +401,7 @@ PlaylistBrowserNS::PodcastModel::setData( const QModelIndex &idx, const QVariant
     {
         if( role == Qt::DisplayRole )
         {
-            Playlists::PlaylistProvider *provider = getProviderByName( value.toString() );
+            PlaylistProvider *provider = getProviderByName( value.toString() );
             if( !provider )
                 return false;
             Podcasts::PodcastProvider *podcastProvider = dynamic_cast<Podcasts::PodcastProvider *>( provider );
@@ -726,9 +724,9 @@ PlaylistBrowserNS::PodcastModel::slotUpdate()
 {
     //TODO: emit dataChanged( QModelIndex(),  QModelIndex() );
 
-    QList<Playlists::PlaylistPtr> playlists =
+    QList<Meta::PlaylistPtr> playlists =
     The::playlistManager()->playlistsOfCategory( PlaylistManager::PodcastChannel );
-    QListIterator<Playlists::PlaylistPtr> i(playlists);
+    QListIterator<Meta::PlaylistPtr> i(playlists);
     m_channels.clear();
     while( i.hasNext() )
     {
@@ -781,7 +779,7 @@ void
 PlaylistBrowserNS::PodcastModel::loadItems( QModelIndexList list, Playlist::AddOptions insertMode )
 {
     Meta::TrackList episodes;
-    Playlists::PlaylistList channels;
+    Meta::PlaylistList channels;
     foreach( const QModelIndex &item, list )
     {
         Podcasts::PodcastMetaCommon *pmc =
@@ -792,10 +790,11 @@ PlaylistBrowserNS::PodcastModel::loadItems( QModelIndexList list, Playlist::AddO
         switch( pmc->podcastType() )
         {
             case Podcasts::ChannelType:
-                channels << Playlists::PlaylistPtr( reinterpret_cast<Podcasts::PodcastChannel *>(pmc) );
+                channels << Meta::PlaylistPtr( reinterpret_cast<Podcasts::PodcastChannel *>(pmc) );
                 break;
             case Podcasts::EpisodeType:
-                episodes << Meta::TrackPtr( reinterpret_cast<Podcasts::PodcastEpisode *>(pmc) ); break;
+                episodes <<
+                        Meta::TrackPtr( reinterpret_cast<Podcasts::PodcastEpisode *>(pmc) ); break;
                 default: debug() << "error, neither Channel nor Episode";
         }
     }
@@ -804,7 +803,7 @@ PlaylistBrowserNS::PodcastModel::loadItems( QModelIndexList list, Playlist::AddO
 }
 
 void
-PlaylistBrowserNS::PodcastModel::trackAdded( Playlists::PlaylistPtr playlist, Meta::TrackPtr track,
+PlaylistBrowserNS::PodcastModel::trackAdded( Meta::PlaylistPtr playlist, Meta::TrackPtr track,
                                  int position )
 {
     DEBUG_BLOCK
@@ -814,7 +813,7 @@ PlaylistBrowserNS::PodcastModel::trackAdded( Playlists::PlaylistPtr playlist, Me
 }
 
 void
-PlaylistBrowserNS::PodcastModel::trackRemoved( Playlists::PlaylistPtr playlist, int position )
+PlaylistBrowserNS::PodcastModel::trackRemoved( Meta::PlaylistPtr playlist, int position )
 {
     DEBUG_BLOCK
     debug() << "From playlist: " << playlist->prettyName();
@@ -868,7 +867,7 @@ PlaylistBrowserNS::PodcastModel::removeSubscription( Podcasts::PodcastChannelPtr
 {
     debug() << "remove Podcast subscription for " << channel->title();
     //HACK: since we only have one PodcastProvider implementation
-    Playlists::PlaylistProvider *provider = The::playlistManager()->defaultPodcasts();
+    PlaylistProvider *provider = The::playlistManager()->defaultPodcasts();
     if( provider )
     {
         Podcasts::PodcastProvider *podcastProvider = dynamic_cast<Podcasts::PodcastProvider *>(provider);
@@ -896,7 +895,7 @@ PlaylistBrowserNS::PodcastModel::refreshPodcast( Podcasts::PodcastChannelPtr cha
 {
     debug() << "refresh Podcast " << channel->title();
     //HACK: since we only have one PodcastProvider implementation
-    Playlists::PlaylistProvider *provider = The::playlistManager()->defaultPodcasts();
+    PlaylistProvider *provider = The::playlistManager()->defaultPodcasts();
     if( provider )
     {
         Podcasts::PodcastProvider * podcastProvider = dynamic_cast<Podcasts::PodcastProvider *>(provider);
@@ -969,7 +968,7 @@ PlaylistBrowserNS::PodcastModel::downloadEpisode( Podcasts::PodcastEpisodePtr ep
     DEBUG_BLOCK
     debug() << "downloading " << episode->title();
     //HACK: since we only have one PodcastProvider implementation
-    Playlists::PlaylistProvider *provider = The::playlistManager()->defaultPodcasts();
+    PlaylistProvider *provider = The::playlistManager()->defaultPodcasts();
     if( provider )
     {
         Podcasts::PodcastProvider *podcastProvider = dynamic_cast<Podcasts::PodcastProvider *>(provider);
@@ -989,7 +988,7 @@ PlaylistBrowserNS::PodcastModel::deleteDownloadedEpisode( Podcasts::PodcastEpiso
     DEBUG_BLOCK
     debug() << "deleting " << episode->title();
     //HACK: since we only have one PodcastProvider implementation
-    Playlists::PlaylistProvider *provider = The::playlistManager()->playlistProvider(
+    PlaylistProvider *provider = The::playlistManager()->playlistProvider(
     PlaylistManager::PodcastChannel, i18n( "Local Podcasts" ) );
     if( provider )
     {
@@ -1011,7 +1010,7 @@ PlaylistBrowserNS::PodcastModel::configureChannel( Podcasts::PodcastChannelPtr c
     DEBUG_BLOCK
     debug() << "configuring " << channel->title();
     //HACK: since we only have one PodcastProvider implementation
-    Playlists::PlaylistProvider *provider = The::playlistManager()->defaultPodcasts();
+    PlaylistProvider *provider = The::playlistManager()->defaultPodcasts();
     if( provider )
     {
         Podcasts::PodcastProvider *podcastProvider = dynamic_cast<Podcasts::PodcastProvider *>(provider);
@@ -1215,12 +1214,12 @@ PlaylistBrowserNS::PodcastModel::slotSetNew( bool newState )
     }
 }
 
-Playlists::PlaylistProvider *
+PlaylistProvider *
 PlaylistBrowserNS::PodcastModel::getProviderByName( const QString &name )
 {
-    QList<Playlists::PlaylistProvider *> providers =
+    QList<PlaylistProvider *> providers =
             The::playlistManager()->providersForCategory( PlaylistManager::PodcastChannel );
-    foreach( Playlists::PlaylistProvider *provider, providers )
+    foreach( PlaylistProvider *provider, providers )
     {
         if( provider->prettyName() == name )
             return provider;
@@ -1344,7 +1343,7 @@ PlaylistBrowserNS::PodcastModel::podcastEpisodesToTracks( Podcasts::PodcastEpiso
 Podcasts::PodcastProvider *
 PlaylistBrowserNS::PodcastModel::providerForPmc( Podcasts::PodcastMetaCommon *pmc ) const
 {
-    Playlists::PlaylistProvider *provider = 0;
+    PlaylistProvider *provider = 0;
     if( pmc->podcastType() == Podcasts::ChannelType )
     {
         Podcasts::PodcastChannel *pc =
diff --git a/src/browsers/playlistbrowser/PodcastModel.h b/src/browsers/playlistbrowser/PodcastModel.h
index 7a1dd55..cac3a9f 100644
--- a/src/browsers/playlistbrowser/PodcastModel.h
+++ b/src/browsers/playlistbrowser/PodcastModel.h
@@ -29,7 +29,8 @@
 #include <QVariant>
 
 class OpmlOutline;
-class PodcastProvider;
+
+using namespace Podcasts;
 
 namespace PlaylistBrowserNS {
 
@@ -57,7 +58,7 @@ enum
     @author Bart Cerneels
 */
 class PodcastModel : public QAbstractItemModel, public MetaPlaylistModel,
-                     public Playlists::PlaylistObserver
+                     public Meta::PlaylistObserver
 {
     Q_OBJECT
     public:
@@ -86,9 +87,9 @@ class PodcastModel : public QAbstractItemModel, public MetaPlaylistModel,
         virtual void loadItems( QModelIndexList list, Playlist::AddOptions insertMode );
 
         /* Meta::PlaylistObserver methods */
-        virtual void trackAdded( Playlists::PlaylistPtr playlist, Meta::TrackPtr track,
+        virtual void trackAdded( Meta::PlaylistPtr playlist, Meta::TrackPtr track,
                                  int position );
-        virtual void trackRemoved( Playlists::PlaylistPtr playlist, int position );
+        virtual void trackRemoved( Meta::PlaylistPtr playlist, int position );
 
         //Own methods
         void downloadItems(  QModelIndexList list );
@@ -134,16 +135,17 @@ class PodcastModel : public QAbstractItemModel, public MetaPlaylistModel,
 
         Q_DISABLE_COPY( PodcastModel )
 
-        Playlists::PlaylistProvider *getProviderByName( const QString &name );
-        Podcasts::PodcastChannelList selectedChannels( const QModelIndexList &indices );
-        Podcasts::PodcastEpisodeList selectedEpisodes( const QModelIndexList &indices );
+        PlaylistProvider *getProviderByName( const QString &name );
+        PodcastChannelList selectedChannels( const QModelIndexList &indices );
+        PodcastEpisodeList selectedEpisodes( const QModelIndexList &indices );
+
         QList<QAction *> createCommonActions( QModelIndexList indices );
         QList< QAction * > createEpisodeActions( Podcasts::PodcastEpisodeList epsiodes );
         QAction * m_appendAction;
         QAction * m_loadAction;
         QAction *m_setNewAction;
-        Podcasts::PodcastEpisodeList m_selectedEpisodes;
-        Podcasts::PodcastChannelList m_selectedChannels;
+        PodcastEpisodeList m_selectedEpisodes;
+        PodcastChannelList m_selectedChannels;
 
         /** A convenience function to convert a PodcastEpisodeList into a TrackList.
         **/
diff --git a/src/browsers/playlistbrowser/UserPlaylistCategory.cpp b/src/browsers/playlistbrowser/UserPlaylistCategory.cpp
index eae21a2..e7de5a0 100644
--- a/src/browsers/playlistbrowser/UserPlaylistCategory.cpp
+++ b/src/browsers/playlistbrowser/UserPlaylistCategory.cpp
@@ -121,8 +121,8 @@ UserPlaylistCategory::UserPlaylistCategory( QWidget * parent )
 
     m_playlistView->setAlternatingRowColors( true );
 
-    foreach( const Playlists::PlaylistProvider *provider,
-             The::playlistManager()->providersForCategory( Playlists::UserPlaylist ) )
+    foreach( const PlaylistProvider *provider,
+             The::playlistManager()->providersForCategory( Meta::UserPlaylist ) )
     {
         createProviderButton( provider );
     }
@@ -163,7 +163,7 @@ UserPlaylistCategory::toggleView( bool merged )
 }
 
 void
-UserPlaylistCategory::slotProviderAdded( Playlists::PlaylistProvider *provider, int category )
+UserPlaylistCategory::slotProviderAdded( PlaylistProvider *provider, int category )
 {
     Q_UNUSED( category )
 
@@ -172,7 +172,7 @@ UserPlaylistCategory::slotProviderAdded( Playlists::PlaylistProvider *provider,
 }
 
 void
-UserPlaylistCategory::slotProviderRemoved( Playlists::PlaylistProvider *provider, int category )
+UserPlaylistCategory::slotProviderRemoved( PlaylistProvider *provider, int category )
 {
     Q_UNUSED( category )
 
@@ -184,7 +184,7 @@ UserPlaylistCategory::slotProviderRemoved( Playlists::PlaylistProvider *provider
 }
 
 void
-UserPlaylistCategory::createProviderButton( const Playlists::PlaylistProvider *provider )
+UserPlaylistCategory::createProviderButton( const PlaylistProvider *provider )
 {
     QAction *providerToggle = new QAction( provider->icon(), provider->prettyName(), this );
     providerToggle->setCheckable( true );
@@ -202,12 +202,12 @@ UserPlaylistCategory::slotToggleProviderButton( bool enabled )
     DEBUG_BLOCK
 
     QAction * const action = qobject_cast<QAction *>( QObject::sender() );
-    const Playlists::PlaylistProvider *provider = action->data().value<const Playlists::PlaylistProvider *>();
+    const PlaylistProvider *provider = action->data().value<const PlaylistProvider *>();
     if( !m_providerActions.keys().contains( provider ) )
         return;
 
     QString filter;
-    foreach( const Playlists::PlaylistProvider *p, m_providerActions.keys() )
+    foreach( const PlaylistProvider *p, m_providerActions.keys() )
     {
         QAction *action = m_providerActions.value( p );
         if( action->isChecked() )
diff --git a/src/browsers/playlistbrowser/UserPlaylistCategory.h b/src/browsers/playlistbrowser/UserPlaylistCategory.h
index 23a1054..2c870e2 100644
--- a/src/browsers/playlistbrowser/UserPlaylistCategory.h
+++ b/src/browsers/playlistbrowser/UserPlaylistCategory.h
@@ -33,9 +33,7 @@ class KAction;
 class KActionMenu;
 class KLineEdit;
 
-namespace Playlists {
-    class PlaylistProvider;
-}
+class PlaylistProvider;
 
 class PlaylistsInGroupsProxy;
 class PlaylistsByProviderProxy;
@@ -62,20 +60,20 @@ public:
 private slots:
     void newPalette( const QPalette &palette );
     void toggleView( bool );
-    void slotProviderAdded( Playlists::PlaylistProvider *provider, int category );
-    void slotProviderRemoved( Playlists::PlaylistProvider *provider, int category );
+    void slotProviderAdded( PlaylistProvider *provider, int category );
+    void slotProviderRemoved( PlaylistProvider *provider, int category );
     void slotToggleProviderButton( bool enabled );
 
     void createNewGroup();
 
 private:
-    void createProviderButton( const Playlists::PlaylistProvider *provider );
+    void createProviderButton( const PlaylistProvider *provider );
 
     UserPlaylistTreeView *m_playlistView;
 
     KAction *m_addGroupAction;
     KActionMenu *m_providerMenu;
-    QMap<const Playlists::PlaylistProvider *, QAction *> m_providerActions;
+    QMap<const PlaylistProvider *, QAction *> m_providerActions;
     
     PlaylistTreeItemDelegate *m_byProviderDelegate;
     QAbstractItemDelegate *m_defaultItemView;
@@ -88,6 +86,6 @@ private:
 }
 
 //for saving it in a QVariant
-Q_DECLARE_METATYPE( const Playlists::PlaylistProvider * );
+Q_DECLARE_METATYPE( const PlaylistProvider * );
 
 #endif
diff --git a/src/browsers/playlistbrowser/UserPlaylistModel.cpp b/src/browsers/playlistbrowser/UserPlaylistModel.cpp
index 984eadf..c23d05e 100644
--- a/src/browsers/playlistbrowser/UserPlaylistModel.cpp
+++ b/src/browsers/playlistbrowser/UserPlaylistModel.cpp
@@ -87,8 +87,8 @@ PlaylistBrowserNS::UserModel::UserModel()
     connect( m_loadAction, SIGNAL( triggered() ), this, SLOT( slotLoad() ) );
 
     connect( The::playlistManager(), SIGNAL(updated()), SLOT(slotUpdate()) );
-    connect( The::playlistManager(), SIGNAL(renamePlaylist( Playlists::PlaylistPtr )),
-             SLOT(slotRenamePlaylist( Playlists::PlaylistPtr )) );
+    connect( The::playlistManager(), SIGNAL(renamePlaylist( Meta::PlaylistPtr )),
+             SLOT(slotRenamePlaylist( Meta::PlaylistPtr )) );
 }
 
 PlaylistBrowserNS::UserModel::~UserModel()
@@ -105,13 +105,13 @@ PlaylistBrowserNS::UserModel::slotUpdate()
 }
 
 void
-PlaylistBrowserNS::UserModel::slotRenamePlaylist( Playlists::PlaylistPtr playlist )
+PlaylistBrowserNS::UserModel::slotRenamePlaylist( Meta::PlaylistPtr playlist )
 {
     //search index of this Playlist
     // HACK: matches first to match same name, but there could be
     // several playlists with the same name
     int row = -1;
-    foreach( const Playlists::PlaylistPtr p, m_playlists )
+    foreach( const Meta::PlaylistPtr p, m_playlists )
     {
         row++;
         if( p->name() == playlist->name() )
@@ -127,13 +127,13 @@ PlaylistBrowserNS::UserModel::slotRenamePlaylist( Playlists::PlaylistPtr playlis
 void
 PlaylistBrowserNS::UserModel::loadPlaylists()
 {
-    QList<Playlists::PlaylistPtr> playlists =
-            The::playlistManager()->playlistsOfCategory( Playlists::UserPlaylist );
-    QListIterator<Playlists::PlaylistPtr> i( playlists );
+    QList<Meta::PlaylistPtr> playlists =
+            The::playlistManager()->playlistsOfCategory( Meta::UserPlaylist );
+    QListIterator<Meta::PlaylistPtr> i( playlists );
     m_playlists.clear();
     while( i.hasNext() )
     {
-        Playlists::PlaylistPtr playlist = Playlists::PlaylistPtr::dynamicCast( i.next() );
+        Meta::PlaylistPtr playlist = Meta::PlaylistPtr::dynamicCast( i.next() );
         if( playlist.isNull() )
         {
           error() << "Playlist was NULL!";
@@ -160,8 +160,8 @@ PlaylistBrowserNS::UserModel::data( const QModelIndex &index, int role ) const
 
             //get data from empty providers
             PlaylistProviderList providerList =
-                    The::playlistManager()->providersForCategory( Playlists::UserPlaylist );
-            foreach( Playlists::PlaylistProvider *provider, providerList )
+                    The::playlistManager()->providersForCategory( Meta::UserPlaylist );
+            foreach( PlaylistProvider *provider, providerList )
             {
                 if( provider->playlistCount() > 0 || provider->playlists().count() > 0 )
                     continue;
@@ -194,7 +194,7 @@ PlaylistBrowserNS::UserModel::data( const QModelIndex &index, int role ) const
         return QVariant();
 
     int row = REMOVE_TRACK_MASK(index.internalId());
-    Playlists::PlaylistPtr playlist = m_playlists.value( row );
+    Meta::PlaylistPtr playlist = m_playlists.value( row );
 
     QVariant food = QVariant();
     QString name;
@@ -236,7 +236,7 @@ PlaylistBrowserNS::UserModel::data( const QModelIndex &index, int role ) const
 
             case MetaPlaylistModel::ProviderColumn: //source
             {
-                Playlists::PlaylistProvider *provider =
+                PlaylistProvider *provider =
                         The::playlistManager()->getProviderForPlaylist( playlist );
                 //if provider is 0 there is something seriously wrong.
                 if( provider )
@@ -290,7 +290,7 @@ PlaylistBrowserNS::UserModel::index( int row, int column, const QModelIndex &par
     else //if it has a parent it is a track
     {
         //but check if the playlist indeed has that track
-        Playlists::PlaylistPtr playlist = m_playlists.value( parent.row() );
+        Meta::PlaylistPtr playlist = m_playlists.value( parent.row() );
         if( row < playlist->tracks().count() )
             return createIndex( row, column, SET_TRACK_MASK(parent.row()) );
     }
@@ -322,7 +322,7 @@ PlaylistBrowserNS::UserModel::rowCount( const QModelIndex &parent ) const
     }
     else if( !IS_TRACK(parent) )
     {
-        Playlists::PlaylistPtr playlist = m_playlists.value( parent.internalId() );
+        Meta::PlaylistPtr playlist = m_playlists.value( parent.internalId() );
         return playlist->tracks().count();
     }
 
@@ -388,14 +388,14 @@ PlaylistBrowserNS::UserModel::setData( const QModelIndex &idx, const QVariant &v
         case MetaPlaylistModel::PlaylistColumn:
         {
             debug() << "setting name of item " << idx.internalId() << " to " << value.toString();
-            Playlists::PlaylistPtr item = m_playlists.value( idx.internalId() );
+            Meta::PlaylistPtr item = m_playlists.value( idx.internalId() );
             item->setName( value.toString() );
             break;
         }
         case MetaPlaylistModel::LabelColumn:
         {
             debug() << "changing group of item " << idx.internalId() << " to " << value.toString();
-            Playlists::PlaylistPtr item = m_playlists.value( idx.internalId() );
+            Meta::PlaylistPtr item = m_playlists.value( idx.internalId() );
             item->setGroups( value.toStringList() );
             break;
         }
@@ -414,12 +414,12 @@ PlaylistBrowserNS::UserModel::removeRows( int row, int count, const QModelIndex
 
     if( !parent.isValid() )
     {
-      Playlists::PlaylistList playlistToRemove;
+      Meta::PlaylistList playlistToRemove;
       for( int i = row; i < row + count; i++ )
       {
         if( m_playlists.count() > i )
         {
-            Playlists::PlaylistPtr playlist = m_playlists[i];
+            Meta::PlaylistPtr playlist = m_playlists[i];
             debug() << "Removing " << playlist->name();
             playlistToRemove << playlist;
         }
@@ -440,7 +440,7 @@ PlaylistBrowserNS::UserModel::removeRows( int row, int count, const QModelIndex
         return false;
     }
 
-    Playlists::PlaylistPtr playlist = m_playlists.value( playlistRow );
+    Meta::PlaylistPtr playlist = m_playlists.value( playlistRow );
 
     //if we are trying to delete more tracks then what the playlist has, return.
     //count will be at least 1 to delete one track
@@ -479,7 +479,7 @@ PlaylistBrowserNS::UserModel::mimeData( const QModelIndexList &indices ) const
 {
     AmarokMimeData* mime = new AmarokMimeData();
 
-    Playlists::PlaylistList playlists;
+    Meta::PlaylistList playlists;
     Meta::TrackList tracks;
 
     foreach( const QModelIndex &index, indices )
@@ -515,7 +515,7 @@ PlaylistBrowserNS::UserModel::dropMimeData ( const QMimeData *data, Qt::DropActi
 
         emit layoutAboutToBeChanged();
         int playlistRow = REMOVE_TRACK_MASK(parent.internalId());
-        Playlists::PlaylistPtr playlist = m_playlists.value( playlistRow );
+        Meta::PlaylistPtr playlist = m_playlists.value( playlistRow );
         if( playlist )
         {
             int insertAt = (row == -1) ? playlist->tracks().count() : row;
@@ -554,14 +554,14 @@ PlaylistBrowserNS::UserModel::actionsFor( const QModelIndex &idx ) const
     // It's a playlist, we return playlist actions
     if( !IS_TRACK(idx) )
     {
-        Playlists::PlaylistPtr playlist = m_playlists.value( idx.internalId() );
+        Meta::PlaylistPtr playlist = m_playlists.value( idx.internalId() );
         if( playlist->provider() )
             actions << playlist->provider()->playlistActions( playlist );
     }
     // Otherwise, tracks are selected, so we bring up track actions
     else
     {
-        Playlists::PlaylistPtr playlist = m_playlists.value( idx.parent().internalId() );
+        Meta::PlaylistPtr playlist = m_playlists.value( idx.parent().internalId() );
         if( playlist->provider() )
             actions << playlist->provider()->trackActions( playlist, idx.row() );
     }
@@ -573,10 +573,10 @@ void
 PlaylistBrowserNS::UserModel::loadItems( QModelIndexList list, Playlist::AddOptions insertMode )
 {
     DEBUG_BLOCK
-    Playlists::PlaylistList playlists;
+    Meta::PlaylistList playlists;
     foreach( const QModelIndex &index, list )
     {
-        Playlists::PlaylistPtr playlist =
+        Meta::PlaylistPtr playlist =
                 m_playlists.value( index.internalId() );
         if( playlist )
             playlists << playlist;
@@ -621,7 +621,7 @@ PlaylistBrowserNS::UserModel::tracksFromIndexes( const QModelIndexList &list ) c
     {
         if( IS_TRACK(index) )
             tracks << trackFromIndex( index );
-        else if( Playlists::PlaylistPtr playlist = playlistFromIndex( index ) )
+        else if( Meta::PlaylistPtr playlist = playlistFromIndex( index ) )
             tracks << playlist->tracks();
     }
     return tracks;
@@ -633,24 +633,24 @@ PlaylistBrowserNS::UserModel::trackFromIndex( const QModelIndex &index ) const
     if( !index.isValid() )
         return Meta::TrackPtr();
 
-    Playlists::PlaylistPtr playlist = m_playlists.value( REMOVE_TRACK_MASK(index.internalId()) );
+    Meta::PlaylistPtr playlist = m_playlists.value( REMOVE_TRACK_MASK(index.internalId()) );
     if( playlist.isNull() || playlist->tracks().count() <= index.row() )
         return Meta::TrackPtr();
 
     return playlist->tracks()[index.row()];
 }
 
-Playlists::PlaylistPtr
+Meta::PlaylistPtr
 PlaylistBrowserNS::UserModel::playlistFromIndex( const QModelIndex &index ) const
 {
     if( !index.isValid() )
-        return Playlists::PlaylistPtr();
+        return Meta::PlaylistPtr();
 
     return m_playlists.value( index.internalId() );
 }
 
 void
-PlaylistBrowserNS::UserModel::trackAdded( Playlists::PlaylistPtr playlist, Meta::TrackPtr track,
+PlaylistBrowserNS::UserModel::trackAdded( Meta::PlaylistPtr playlist, Meta::TrackPtr track,
                                           int position )
 {
     int indexNumber = m_playlists.indexOf( playlist );
@@ -664,7 +664,7 @@ PlaylistBrowserNS::UserModel::trackAdded( Playlists::PlaylistPtr playlist, Meta:
 }
 
 void
-PlaylistBrowserNS::UserModel::trackRemoved( Playlists::PlaylistPtr playlist, int position )
+PlaylistBrowserNS::UserModel::trackRemoved( Meta::PlaylistPtr playlist, int position )
 {
     int indexNumber = m_playlists.indexOf( playlist );
     if( indexNumber == -1 )
diff --git a/src/browsers/playlistbrowser/UserPlaylistModel.h b/src/browsers/playlistbrowser/UserPlaylistModel.h
index c5c9b4d..8d4de98 100644
--- a/src/browsers/playlistbrowser/UserPlaylistModel.h
+++ b/src/browsers/playlistbrowser/UserPlaylistModel.h
@@ -34,7 +34,7 @@ namespace PlaylistBrowserNS {
         @author Nikolaj Hald Nielsen <nhn at kde.org>
 */
 class UserModel : public QAbstractItemModel, public MetaPlaylistModel,
-                  public Playlists::PlaylistObserver
+                  public Meta::PlaylistObserver
 {
     Q_OBJECT
     public:
@@ -70,16 +70,16 @@ class UserModel : public QAbstractItemModel, public MetaPlaylistModel,
         void loadItems( QModelIndexList list, Playlist::AddOptions insertMode );
 
         /* Meta::PlaylistObserver methods */
-        virtual void trackAdded( Playlists::PlaylistPtr playlist, Meta::TrackPtr track,
+        virtual void trackAdded( Meta::PlaylistPtr playlist, Meta::TrackPtr track,
                                  int position );
-        virtual void trackRemoved( Playlists::PlaylistPtr playlist, int position );
+        virtual void trackRemoved( Meta::PlaylistPtr playlist, int position );
 
     public slots:
         void slotLoad();
         void slotAppend();
 
         void slotUpdate();
-        void slotRenamePlaylist( Playlists::PlaylistPtr playlist );
+        void slotRenamePlaylist( Meta::PlaylistPtr playlist );
 
     signals:
         void renameIndex( const QModelIndex &index );
@@ -89,14 +89,14 @@ class UserModel : public QAbstractItemModel, public MetaPlaylistModel,
         UserModel();
         QList<QAction *> actionsFor( const QModelIndex &idx ) const;
         Meta::TrackPtr trackFromIndex( const QModelIndex &index ) const;
-        Playlists::PlaylistPtr playlistFromIndex( const QModelIndex &index ) const;
+        Meta::PlaylistPtr playlistFromIndex( const QModelIndex &index ) const;
         Meta::TrackList tracksFromIndexes( const QModelIndexList &list ) const;
 
         void loadPlaylists();
 
         static UserModel * s_instance;
 
-        Playlists::PlaylistList m_playlists;
+        Meta::PlaylistList m_playlists;
         QAction *m_appendAction;
         QAction *m_loadAction;
 };
diff --git a/src/collection/ipodcollection/handler/IpodHandler.cpp b/src/collection/ipodcollection/handler/IpodHandler.cpp
index f6a5b26..bb3d138 100644
--- a/src/collection/ipodcollection/handler/IpodHandler.cpp
+++ b/src/collection/ipodcollection/handler/IpodHandler.cpp
@@ -1976,13 +1976,13 @@ IpodHandler::libGetPlaylistName()
 }
 
 void
-IpodHandler::setAssociatePlaylist( const Playlists::MediaDevicePlaylistPtr &playlist )
+IpodHandler::setAssociatePlaylist( const Meta::MediaDevicePlaylistPtr &playlist )
 {
     m_itdbplaylisthash[ playlist ] = m_currplaylist;
 }
 
 void
-IpodHandler::libSavePlaylist( const Playlists::MediaDevicePlaylistPtr &playlist, const QString& name )
+IpodHandler::libSavePlaylist( const Meta::MediaDevicePlaylistPtr &playlist, const QString& name )
 {
     DEBUG_BLOCK
     // Make new playlist
@@ -1990,7 +1990,7 @@ IpodHandler::libSavePlaylist( const Playlists::MediaDevicePlaylistPtr &playlist,
     Itdb_Playlist *pl = itdb_playlist_new( name.toUtf8(), 0 );
     itdb_playlist_add( m_itdb, pl, -1 );
 
-    Meta::TrackList tracks = const_cast<Playlists::MediaDevicePlaylistPtr&> ( playlist )->tracks();
+    Meta::TrackList tracks = const_cast<Meta::MediaDevicePlaylistPtr&> ( playlist )->tracks();
 
     foreach( const Meta::TrackPtr track, tracks )
     {
@@ -2003,7 +2003,7 @@ IpodHandler::libSavePlaylist( const Playlists::MediaDevicePlaylistPtr &playlist,
 }
 
 void
-IpodHandler::deletePlaylist( const Playlists::MediaDevicePlaylistPtr &playlist )
+IpodHandler::deletePlaylist( const Meta::MediaDevicePlaylistPtr &playlist )
 {
     DEBUG_BLOCK
     Itdb_Playlist *pl = m_itdbplaylisthash.value( playlist );
@@ -2018,7 +2018,7 @@ IpodHandler::deletePlaylist( const Playlists::MediaDevicePlaylistPtr &playlist )
 }
 
 void
-IpodHandler::renamePlaylist( const Playlists::MediaDevicePlaylistPtr &playlist )
+IpodHandler::renamePlaylist( const Meta::MediaDevicePlaylistPtr &playlist )
 {
     DEBUG_BLOCK
     Itdb_Playlist *pl = m_itdbplaylisthash[ playlist ];
diff --git a/src/collection/ipodcollection/handler/IpodHandler.h b/src/collection/ipodcollection/handler/IpodHandler.h
index 3792bed..70a7094 100644
--- a/src/collection/ipodcollection/handler/IpodHandler.h
+++ b/src/collection/ipodcollection/handler/IpodHandler.h
@@ -168,10 +168,10 @@ class IpodHandler : public Meta::MediaDeviceHandler
         virtual Meta::MediaDeviceTrackPtr libGetTrackPtrForTrackStruct();
 
         virtual QString libGetPlaylistName();
-        void setAssociatePlaylist( const Playlists::MediaDevicePlaylistPtr &playlist );
-        void libSavePlaylist( const Playlists::MediaDevicePlaylistPtr &playlist, const QString& name );
-        void deletePlaylist( const Playlists::MediaDevicePlaylistPtr &playlist );
-        void renamePlaylist( const Playlists::MediaDevicePlaylistPtr &playlist );
+        void setAssociatePlaylist( const Meta::MediaDevicePlaylistPtr &playlist );
+        void libSavePlaylist( const Meta::MediaDevicePlaylistPtr &playlist, const QString& name );
+        void deletePlaylist( const Meta::MediaDevicePlaylistPtr &playlist );
+        void renamePlaylist( const Meta::MediaDevicePlaylistPtr &playlist );
 
         virtual void addTrackInDB( const Meta::MediaDeviceTrackPtr &track );
         virtual void removeTrackFromDB( const Meta::MediaDeviceTrackPtr &track );
@@ -362,7 +362,7 @@ class IpodHandler : public Meta::MediaDeviceHandler
         QHash<Meta::MediaDeviceTrackPtr, Itdb_Track*> m_itdbtrackhash;
 
         // Hash that associates an Itdb_Playlist* to every PlaylistPtr
-        QHash<Playlists::MediaDevicePlaylistPtr, Itdb_Playlist*> m_itdbplaylisthash;
+        QHash<Meta::MediaDevicePlaylistPtr, Itdb_Playlist*> m_itdbplaylisthash;
 
         // tracks that failed to copy
         QMap<Meta::TrackPtr, QString> m_tracksFailed;
diff --git a/src/collection/ipodcollection/handler/capabilities/IpodPlaylistCapability.cpp b/src/collection/ipodcollection/handler/capabilities/IpodPlaylistCapability.cpp
index 36264be..afd5f62 100644
--- a/src/collection/ipodcollection/handler/capabilities/IpodPlaylistCapability.cpp
+++ b/src/collection/ipodcollection/handler/capabilities/IpodPlaylistCapability.cpp
@@ -92,25 +92,25 @@ IpodPlaylistCapability::libGetPlaylistName()
 }
 
 void
-IpodPlaylistCapability::savePlaylist( const Playlists::MediaDevicePlaylistPtr &playlist, const QString& name )
+IpodPlaylistCapability::savePlaylist( const Meta::MediaDevicePlaylistPtr &playlist, const QString& name )
 {
     m_handler->libSavePlaylist( playlist, name );
 }
 
 void
-IpodPlaylistCapability::deletePlaylist( const Playlists::MediaDevicePlaylistPtr &playlist )
+IpodPlaylistCapability::deletePlaylist( const Meta::MediaDevicePlaylistPtr &playlist )
 {
     m_handler->deletePlaylist( playlist );
 }
 
 void
-IpodPlaylistCapability::renamePlaylist( const Playlists::MediaDevicePlaylistPtr &playlist )
+IpodPlaylistCapability::renamePlaylist( const Meta::MediaDevicePlaylistPtr &playlist )
 {
     m_handler->renamePlaylist( playlist );
 }
 
 void
-IpodPlaylistCapability::setAssociatePlaylist( const Playlists::MediaDevicePlaylistPtr &playlist )
+IpodPlaylistCapability::setAssociatePlaylist( const Meta::MediaDevicePlaylistPtr &playlist )
 {
     m_handler->setAssociatePlaylist( playlist );
 }
diff --git a/src/collection/ipodcollection/handler/capabilities/IpodPlaylistCapability.h b/src/collection/ipodcollection/handler/capabilities/IpodPlaylistCapability.h
index ab9e445..2a12859 100644
--- a/src/collection/ipodcollection/handler/capabilities/IpodPlaylistCapability.h
+++ b/src/collection/ipodcollection/handler/capabilities/IpodPlaylistCapability.h
@@ -46,11 +46,11 @@ class IpodPlaylistCapability : public PlaylistCapability
         virtual Meta::MediaDeviceTrackPtr libGetTrackPtrForTrackStruct();
         virtual QString libGetPlaylistName();
 
-        virtual void savePlaylist( const Playlists::MediaDevicePlaylistPtr &playlist, const QString& name );
-        virtual void deletePlaylist( const Playlists::MediaDevicePlaylistPtr &playlist );
-        virtual void renamePlaylist( const Playlists::MediaDevicePlaylistPtr &playlist );
+        virtual void savePlaylist( const Meta::MediaDevicePlaylistPtr &playlist, const QString& name );
+        virtual void deletePlaylist( const Meta::MediaDevicePlaylistPtr &playlist );
+        virtual void renamePlaylist( const Meta::MediaDevicePlaylistPtr &playlist );
 
-        virtual void setAssociatePlaylist( const Playlists::MediaDevicePlaylistPtr &playlist );
+        virtual void setAssociatePlaylist( const Meta::MediaDevicePlaylistPtr &playlist );
 
     private:
         Meta::IpodHandler *m_handler;
diff --git a/src/collection/mediadevicecollection/MediaDeviceCollection.cpp b/src/collection/mediadevicecollection/MediaDeviceCollection.cpp
index 8fa22a7..13aecf0 100644
--- a/src/collection/mediadevicecollection/MediaDeviceCollection.cpp
+++ b/src/collection/mediadevicecollection/MediaDeviceCollection.cpp
@@ -137,7 +137,7 @@ MediaDeviceCollection::queryMaker()
     return new MemoryQueryMaker( m_mc.toWeakRef(), collectionId() );
 }
 
-Playlists::UserPlaylistProvider*
+UserPlaylistProvider*
 MediaDeviceCollection::userPlaylistProvider()
 {
     return m_handler->provider();
diff --git a/src/collection/mediadevicecollection/MediaDeviceCollection.h b/src/collection/mediadevicecollection/MediaDeviceCollection.h
index fa4b47d..1be9d21 100644
--- a/src/collection/mediadevicecollection/MediaDeviceCollection.h
+++ b/src/collection/mediadevicecollection/MediaDeviceCollection.h
@@ -97,7 +97,7 @@ class MEDIADEVICECOLLECTION_EXPORT MediaDeviceCollection : public Collections::C
         virtual Meta::TrackPtr trackForUrl( const KUrl &url ) { Q_UNUSED(url); return Meta::TrackPtr();  } // TODO: NYI
 
         virtual QueryMaker* queryMaker();
-        virtual Playlists::UserPlaylistProvider* userPlaylistProvider();
+        virtual UserPlaylistProvider* userPlaylistProvider();
         virtual void startFullScan(); // TODO: this will replace connectDevice() call to parsetracks in handler
         virtual void startFullScanDevice();
 
diff --git a/src/collection/mediadevicecollection/handler/MediaDeviceHandler.cpp b/src/collection/mediadevicecollection/handler/MediaDeviceHandler.cpp
index 2d08eae..c8f7fc5 100644
--- a/src/collection/mediadevicecollection/handler/MediaDeviceHandler.cpp
+++ b/src/collection/mediadevicecollection/handler/MediaDeviceHandler.cpp
@@ -878,10 +878,10 @@ MediaDeviceHandler::privateParseTracks()
         // Register the playlist provider with the playlistmanager
 
         // register a playlist provider for this type of device
-        m_provider = new Playlists::MediaDeviceUserPlaylistProvider( m_memColl );
+        m_provider = new MediaDeviceUserPlaylistProvider( m_memColl );
 
         // Begin parsing the playlists
-        Playlists::MediaDevicePlaylistList playlists;
+        Meta::MediaDevicePlaylistList playlists;
 
         for( m_pc->prepareToParsePlaylists(); !m_pc->isEndOfParsePlaylistsList(); m_pc->prepareToParseNextPlaylist() )
         {
@@ -908,7 +908,7 @@ MediaDeviceHandler::privateParseTracks()
             }
 
             // Make a playlist out of this tracklist
-            Playlists::MediaDevicePlaylistPtr playlist( new Playlists::MediaDevicePlaylist( m_pc->libGetPlaylistName(), tracklist ) );
+            Meta::MediaDevicePlaylistPtr playlist( new Meta::MediaDevicePlaylist( m_pc->libGetPlaylistName(), tracklist ) );
 
             m_pc->setAssociatePlaylist( playlist );
 
@@ -920,12 +920,12 @@ MediaDeviceHandler::privateParseTracks()
         }
 
         // When the provider saves a playlist, the handler should save it internally
-        connect( m_provider, SIGNAL( playlistSaved( const Playlists::MediaDevicePlaylistPtr &, const QString& ) ),
-                 SLOT( savePlaylist( const Playlists::MediaDevicePlaylistPtr &, const QString& ) ) );
-        connect( m_provider, SIGNAL( playlistRenamed( const Playlists::MediaDevicePlaylistPtr &) ),
-                 SLOT( renamePlaylist( const Playlists::MediaDevicePlaylistPtr & ) ) );
-        connect( m_provider, SIGNAL( playlistsDeleted( const Playlists::MediaDevicePlaylistList & ) ),
-                 SLOT( deletePlaylists( const Playlists::MediaDevicePlaylistList &  ) ) );
+        connect( m_provider, SIGNAL( playlistSaved( const Meta::MediaDevicePlaylistPtr &, const QString& ) ),
+                 SLOT( savePlaylist( const Meta::MediaDevicePlaylistPtr &, const QString& ) ) );
+        connect( m_provider, SIGNAL( playlistRenamed( const Meta::MediaDevicePlaylistPtr &) ),
+                 SLOT( renamePlaylist( const Meta::MediaDevicePlaylistPtr & ) ) );
+        connect( m_provider, SIGNAL( playlistsDeleted( const Meta::MediaDevicePlaylistList & ) ),
+                 SLOT( deletePlaylists( const Meta::MediaDevicePlaylistList &  ) ) );
 
         The::playlistManager()->addProvider(  m_provider,  m_provider->category() );
         m_provider->sendUpdated();
@@ -1050,15 +1050,15 @@ MediaDeviceHandler::setDestinations( const QMap<Meta::TrackPtr, QString> &destin
     m_destinations = destinations;
 }
 
-Playlists::UserPlaylistProvider*
+UserPlaylistProvider*
 MediaDeviceHandler::provider()
 {
     DEBUG_BLOCK
-    return (qobject_cast<Playlists::UserPlaylistProvider *>( m_provider ) );
+    return (qobject_cast<UserPlaylistProvider *>( m_provider ) );
 }
 
 void
-MediaDeviceHandler::savePlaylist( const Playlists::MediaDevicePlaylistPtr &playlist, const QString& name )
+MediaDeviceHandler::savePlaylist( const Meta::MediaDevicePlaylistPtr &playlist, const QString& name )
 {
     DEBUG_BLOCK
     if( !m_pc )
@@ -1081,7 +1081,7 @@ MediaDeviceHandler::savePlaylist( const Playlists::MediaDevicePlaylistPtr &playl
 }
 
 void
-MediaDeviceHandler::renamePlaylist( const Playlists::MediaDevicePlaylistPtr &playlist )
+MediaDeviceHandler::renamePlaylist( const Meta::MediaDevicePlaylistPtr &playlist )
 {
     DEBUG_BLOCK
     if( !m_pc )
@@ -1105,7 +1105,7 @@ MediaDeviceHandler::renamePlaylist( const Playlists::MediaDevicePlaylistPtr &pla
 }
 
 void
-MediaDeviceHandler::deletePlaylists( const Playlists::MediaDevicePlaylistList &playlistlist )
+MediaDeviceHandler::deletePlaylists( const Meta::MediaDevicePlaylistList &playlistlist )
 {
     DEBUG_BLOCK
     if( !m_pc )
@@ -1123,7 +1123,7 @@ MediaDeviceHandler::deletePlaylists( const Playlists::MediaDevicePlaylistList &p
     if( m_pc )
     {
         debug() << "Deleting playlists";
-        foreach( Playlists::MediaDevicePlaylistPtr playlist, playlistlist )
+        foreach( Meta::MediaDevicePlaylistPtr playlist, playlistlist )
         {
             m_pc->deletePlaylist( playlist );
         }
diff --git a/src/collection/mediadevicecollection/handler/MediaDeviceHandler.h b/src/collection/mediadevicecollection/handler/MediaDeviceHandler.h
index 0325f0a..204cdd2 100644
--- a/src/collection/mediadevicecollection/handler/MediaDeviceHandler.h
+++ b/src/collection/mediadevicecollection/handler/MediaDeviceHandler.h
@@ -28,7 +28,6 @@
 
 #include "MediaDeviceMeta.h"
 #include "MemoryCollection.h"
-#include "playlist/MediaDeviceUserPlaylistProvider.h"
 #include "core/meta/Meta.h"
 #include "statusbar/StatusBar.h"
 
@@ -47,6 +46,8 @@ class QString;
 class QMutex;
 
 class MediaDeviceCollection;
+class MediaDevicePlaylistPtr;
+class MediaDeviceUserPlaylistProvider;
 
 namespace Meta
 {
@@ -190,7 +191,7 @@ public:
     virtual float usedcapacity() const;
     virtual float totalcapacity() const;
 
-    Playlists::UserPlaylistProvider* provider();
+    UserPlaylistProvider* provider();
 
     // HACK: Used for device-specific actions, such as initialize for iPod
     virtual QList<QAction *> collectionActions() { return QList<QAction*> (); }
@@ -226,9 +227,9 @@ public slots:
 
     virtual void writeDatabase() { slotDatabaseWritten( true ); }
 
-    void savePlaylist( const Playlists::MediaDevicePlaylistPtr &playlist, const QString& name );
-    void renamePlaylist( const Playlists::MediaDevicePlaylistPtr &playlist );
-    void deletePlaylists( const Playlists::MediaDevicePlaylistList &playlistlist );
+    void savePlaylist( const Meta::MediaDevicePlaylistPtr &playlist, const QString& name );
+    void renamePlaylist( const Meta::MediaDevicePlaylistPtr &playlist );
+    void deletePlaylists( const Meta::MediaDevicePlaylistList &playlistlist );
 
     bool privateParseTracks();
     
@@ -354,7 +355,7 @@ private:
     * Handler Variables
     */
 
-    Playlists::MediaDeviceUserPlaylistProvider *m_provider; /// Associated playlist provider
+    MediaDeviceUserPlaylistProvider *m_provider; /// Associated playlist provider
 
     bool m_copyFailed; /// Indicates whether a copy failed or not
     bool m_isCopying;
diff --git a/src/collection/mediadevicecollection/handler/capabilities/PlaylistCapability.h b/src/collection/mediadevicecollection/handler/capabilities/PlaylistCapability.h
index e78b64e..43269e6 100644
--- a/src/collection/mediadevicecollection/handler/capabilities/PlaylistCapability.h
+++ b/src/collection/mediadevicecollection/handler/capabilities/PlaylistCapability.h
@@ -118,19 +118,19 @@ namespace Handler
              * @param tracks the tracks that make up the playlist to be made
              * @param name the name of the playlist
              */
-            virtual void savePlaylist( const Playlists::MediaDevicePlaylistPtr &playlist, const QString& name ) = 0;
+            virtual void savePlaylist( const Meta::MediaDevicePlaylistPtr &playlist, const QString& name ) = 0;
             
             /**
              * Deletes a particular playlist from the device
              * @param playlist the playlist to remove
              */
-            virtual void deletePlaylist( const Playlists::MediaDevicePlaylistPtr &playlist ) = 0;
+            virtual void deletePlaylist( const Meta::MediaDevicePlaylistPtr &playlist ) = 0;
 
             /**
              * Renames a particular playlist on the device
              * @param playlist the playlist to rename
              */
-            virtual void renamePlaylist( const Playlists::MediaDevicePlaylistPtr &playlist ) = 0;
+            virtual void renamePlaylist( const Meta::MediaDevicePlaylistPtr &playlist ) = 0;
 
             /** 
              * This method must create a two-way association of the current Meta::Playlist
@@ -140,7 +140,7 @@ namespace Handler
              * does not matter.
              * @param playlist The list to two-way associate with a library list struct
              */
-            virtual void setAssociatePlaylist( const Playlists::MediaDevicePlaylistPtr &playlist ) { Q_UNUSED( playlist ) }
+            virtual void setAssociatePlaylist( const Meta::MediaDevicePlaylistPtr &playlist ) { Q_UNUSED( playlist ) }
 
             static Type capabilityInterfaceType() { return Handler::Capability::Playlist; }
     };
diff --git a/src/collection/mediadevicecollection/playlist/MediaDevicePlaylist.cpp b/src/collection/mediadevicecollection/playlist/MediaDevicePlaylist.cpp
index 4512b70..5ff7e37 100644
--- a/src/collection/mediadevicecollection/playlist/MediaDevicePlaylist.cpp
+++ b/src/collection/mediadevicecollection/playlist/MediaDevicePlaylist.cpp
@@ -25,7 +25,7 @@
 
 #include <typeinfo>
 
-Playlists::MediaDevicePlaylist::MediaDevicePlaylist( const QString & name, const Meta::TrackList
+Meta::MediaDevicePlaylist::MediaDevicePlaylist( const QString & name, const Meta::TrackList
         &tracks )
     : m_tracks( tracks )
     , m_description( QString() )
@@ -34,18 +34,18 @@ Playlists::MediaDevicePlaylist::MediaDevicePlaylist( const QString & name, const
     // Tell the handler to save it
 }
 
-Playlists::MediaDevicePlaylist::~MediaDevicePlaylist()
+Meta::MediaDevicePlaylist::~MediaDevicePlaylist()
 {
 }
 
 Meta::TrackList
-Playlists::MediaDevicePlaylist::tracks()
+Meta::MediaDevicePlaylist::tracks()
 {
     return m_tracks;
 }
 
 void
-Playlists::MediaDevicePlaylist::addTrack( Meta::TrackPtr track, int position )
+Meta::MediaDevicePlaylist::addTrack( Meta::TrackPtr track, int position )
 {
     DEBUG_BLOCK
     int insertAt = (position == -1) ? m_tracks.count() : position;
@@ -53,14 +53,14 @@ Playlists::MediaDevicePlaylist::addTrack( Meta::TrackPtr track, int position )
 }
 
 void
-Playlists::MediaDevicePlaylist::removeTrack( int position )
+Meta::MediaDevicePlaylist::removeTrack( int position )
 {
     DEBUG_BLOCK
     m_tracks.removeAt( position );
 }
 
 void
-Playlists::MediaDevicePlaylist::setName( const QString & name )
+Meta::MediaDevicePlaylist::setName( const QString & name )
 {
     m_name = name;
 }
diff --git a/src/collection/mediadevicecollection/playlist/MediaDevicePlaylist.h b/src/collection/mediadevicecollection/playlist/MediaDevicePlaylist.h
index ef613af..7bbc79a 100644
--- a/src/collection/mediadevicecollection/playlist/MediaDevicePlaylist.h
+++ b/src/collection/mediadevicecollection/playlist/MediaDevicePlaylist.h
@@ -22,7 +22,7 @@
 
 #include "core/support/Debug.h"
 
-namespace Playlists
+namespace Meta
 {
 
     class MediaDevicePlaylist;
@@ -33,7 +33,7 @@ namespace Playlists
     class MediaDevicePlaylist : public Playlist
     {
         public:
-	MediaDevicePlaylist( const QString &name, const Meta::TrackList &tracks );
+	MediaDevicePlaylist( const QString &name, const TrackList &tracks );
 	~MediaDevicePlaylist();
 
 	// Playlist Functions
@@ -45,7 +45,7 @@ namespace Playlists
             virtual void setName( const QString &name );
 
             /** returns all tracks in this playlist */
-            virtual Meta::TrackList tracks();
+            virtual TrackList tracks();
             virtual void addTrack( Meta::TrackPtr track, int position = -1 );
 
             virtual void removeTrack( int position );
@@ -61,7 +61,7 @@ namespace Playlists
 
 }
 
-Q_DECLARE_METATYPE( Playlists::MediaDevicePlaylistPtr )
-Q_DECLARE_METATYPE( Playlists::MediaDevicePlaylistList )
+Q_DECLARE_METATYPE( Meta::MediaDevicePlaylistPtr )
+Q_DECLARE_METATYPE( Meta::MediaDevicePlaylistList )
 
 #endif
diff --git a/src/collection/mediadevicecollection/playlist/MediaDeviceUserPlaylistProvider.cpp b/src/collection/mediadevicecollection/playlist/MediaDeviceUserPlaylistProvider.cpp
index 25c8f70..38af73d 100644
--- a/src/collection/mediadevicecollection/playlist/MediaDeviceUserPlaylistProvider.cpp
+++ b/src/collection/mediadevicecollection/playlist/MediaDeviceUserPlaylistProvider.cpp
@@ -40,24 +40,22 @@
 static const int USERPLAYLIST_DB_VERSION = 2;
 static const QString key("AMAROK_USERPLAYLIST");
 
-namespace Playlists {
-
 MediaDeviceUserPlaylistProvider::MediaDeviceUserPlaylistProvider( MediaDeviceCollection *collection )
-    : Playlists::UserPlaylistProvider()
+    : UserPlaylistProvider()
     , m_renameAction( 0 )
     , m_collection( collection )
 {
     DEBUG_BLOCK
 //    checkTables();
-//    m_root = Playlists::MediaDevicePlaylistGroupPtr( new Playlists::MediaDevicePlaylistGroup( "",
-//            Playlists::MediaDevicePlaylistGroupPtr() ) );
+//    m_root = Meta::MediaDevicePlaylistGroupPtr( new Meta::MediaDevicePlaylistGroup( "",
+//            Meta::MediaDevicePlaylistGroupPtr() ) );
 //    The::playlistManager()->addProvider( this, category() );
 }
 
 MediaDeviceUserPlaylistProvider::~MediaDeviceUserPlaylistProvider()
 {
     DEBUG_BLOCK
-//     foreach( Playlists::MediaDevicePlaylistPtr playlist, m_playlists )
+//     foreach( Meta::MediaDevicePlaylistPtr playlist, m_playlists )
 //     {
 //         playlist->saveToDb( true );
 //     }
@@ -67,27 +65,27 @@ MediaDeviceUserPlaylistProvider::~MediaDeviceUserPlaylistProvider()
 
 }
 
-Playlists::PlaylistList
+Meta::PlaylistList
 MediaDeviceUserPlaylistProvider::playlists()
 {
     DEBUG_BLOCK
-    Playlists::PlaylistList playlists;
+    Meta::PlaylistList playlists;
 
-    foreach( Playlists::MediaDevicePlaylistPtr mediadevicePlaylist, m_playlists )
+    foreach( Meta::MediaDevicePlaylistPtr mediadevicePlaylist, m_playlists )
     {
-        playlists << Playlists::PlaylistPtr::staticCast( mediadevicePlaylist );
+        playlists << Meta::PlaylistPtr::staticCast( mediadevicePlaylist );
     }
 
     return playlists;
 }
 #if 0
 void
-SqlPlaylists::UserPlaylistProvider::slotDelete()
+SqlUserPlaylistProvider::slotDelete()
 {
     DEBUG_BLOCK
 
     //TODO FIXME Confirmation of delete
-    foreach( Playlists::PlaylistPtr playlist, The::userPlaylistModel()->selectedPlaylists() )
+    foreach( Meta::PlaylistPtr playlist, The::userPlaylistModel()->selectedPlaylists() )
     {
         Meta::SqlPlaylistPtr sqlPlaylist =
                 Meta::SqlPlaylistPtr::dynamicCast( playlist );
@@ -107,7 +105,7 @@ MediaDeviceUserPlaylistProvider::slotRename()
 {
     DEBUG_BLOCK
     //only one playlist can be selected at this point
-    Playlists::MediaDevicePlaylistPtr playlist = selectedPlaylists().first();
+    Meta::MediaDevicePlaylistPtr playlist = selectedPlaylists().first();
     if( playlist.isNull() )
         return;
 
@@ -124,14 +122,14 @@ MediaDeviceUserPlaylistProvider::slotRename()
 #endif
 #if 0
 void
-SqlPlaylists::UserPlaylistProvider::slotRemove()
+SqlUserPlaylistProvider::slotRemove()
 {
     QAction *action = qobject_cast<QAction *>( QObject::sender() );
     if( action == 0 )
         return;
 
     PlaylistTrackMap playlistMap = action->data().value<PlaylistTrackMap>();
-    foreach( Playlists::PlaylistPtr playlist, playlistMap.keys() )
+    foreach( Meta::PlaylistPtr playlist, playlistMap.keys() )
         foreach( Meta::TrackPtr track, playlistMap.values( playlist ) )
             playlist->removeTrack( playlist->tracks().indexOf( track ) );
 
@@ -139,7 +137,7 @@ SqlPlaylists::UserPlaylistProvider::slotRemove()
     action->setData( QVariant() );
 }
 #endif
-Playlists::PlaylistPtr
+Meta::PlaylistPtr
 MediaDeviceUserPlaylistProvider::save( const Meta::TrackList &tracks )
 {
     DEBUG_BLOCK
@@ -153,27 +151,27 @@ MediaDeviceUserPlaylistProvider::save( const Meta::TrackList &tracks )
                  QDateTime::currentDateTime().toString( "ddd MMMM d yy hh:mm" ) );
 }
 
-Playlists::PlaylistPtr
+Meta::PlaylistPtr
 MediaDeviceUserPlaylistProvider::save( const Meta::TrackList &tracks, const QString& name )
 {
     DEBUG_BLOCK
     debug() << "saving " << tracks.count() << " tracks to device with name" << name;
     // NOTE: the playlist constructor tells the handler to make the playlist, save to db etc.
-    Playlists::MediaDevicePlaylistPtr pl = Playlists::MediaDevicePlaylistPtr( new Playlists::MediaDevicePlaylist( name, tracks ) );
+    Meta::MediaDevicePlaylistPtr pl = Meta::MediaDevicePlaylistPtr( new Meta::MediaDevicePlaylist( name, tracks ) );
     //pl = 0;
 
     emit playlistSaved( pl, name ); // inform handler of new playlist
 
     addPlaylist( pl );
 
-    return Playlists::PlaylistPtr::dynamicCast( pl );
+    return Meta::PlaylistPtr::dynamicCast( pl );
 }
 
 void
-MediaDeviceUserPlaylistProvider::rename( Playlists::PlaylistPtr playlist, const QString &newName )
+MediaDeviceUserPlaylistProvider::rename( Meta::PlaylistPtr playlist, const QString &newName )
 {
     DEBUG_BLOCK
-    Playlists::MediaDevicePlaylistPtr pl = Playlists::MediaDevicePlaylistPtr::staticCast( playlist );
+    Meta::MediaDevicePlaylistPtr pl = Meta::MediaDevicePlaylistPtr::staticCast( playlist );
     if( pl )
     {
         debug() << "Setting name of playlist";
@@ -184,12 +182,12 @@ MediaDeviceUserPlaylistProvider::rename( Playlists::PlaylistPtr playlist, const
 }
 
 void
-MediaDeviceUserPlaylistProvider::deletePlaylists( Playlists::PlaylistList playlistlist )
+MediaDeviceUserPlaylistProvider::deletePlaylists( Meta::PlaylistList playlistlist )
 {
-    Playlists::MediaDevicePlaylistList pllist;
-    foreach( Playlists::PlaylistPtr playlist, playlistlist )
+    Meta::MediaDevicePlaylistList pllist;
+    foreach( Meta::PlaylistPtr playlist, playlistlist )
     {
-        Playlists::MediaDevicePlaylistPtr pl = Playlists::MediaDevicePlaylistPtr::staticCast( playlist );
+        Meta::MediaDevicePlaylistPtr pl = Meta::MediaDevicePlaylistPtr::staticCast( playlist );
 
         if( pl )
         {
@@ -203,19 +201,17 @@ MediaDeviceUserPlaylistProvider::deletePlaylists( Playlists::PlaylistList playli
 }
 
 void
-MediaDeviceUserPlaylistProvider::addPlaylist( Playlists::MediaDevicePlaylistPtr &playlist )
+MediaDeviceUserPlaylistProvider::addPlaylist( Meta::MediaDevicePlaylistPtr &playlist )
 {
     m_playlists << playlist;
     emit updated();
 }
 
 void
-MediaDeviceUserPlaylistProvider::removePlaylist( Playlists::MediaDevicePlaylistPtr &playlist )
+MediaDeviceUserPlaylistProvider::removePlaylist( Meta::MediaDevicePlaylistPtr &playlist )
 {
     m_playlists.removeOne( playlist );
     emit updated();
 }
 
-} //namespace Playlists
-
 #include "MediaDeviceUserPlaylistProvider.moc"
diff --git a/src/collection/mediadevicecollection/playlist/MediaDeviceUserPlaylistProvider.h b/src/collection/mediadevicecollection/playlist/MediaDeviceUserPlaylistProvider.h
index 0e8f0d7..4ca67ec 100644
--- a/src/collection/mediadevicecollection/playlist/MediaDeviceUserPlaylistProvider.h
+++ b/src/collection/mediadevicecollection/playlist/MediaDeviceUserPlaylistProvider.h
@@ -27,9 +27,7 @@ class QAction;
 
 class MediaDeviceCollection;
 
-namespace Playlists {
-
-class AMAROK_EXPORT MediaDeviceUserPlaylistProvider : public Playlists::UserPlaylistProvider
+class AMAROK_EXPORT MediaDeviceUserPlaylistProvider : public UserPlaylistProvider
 {
     Q_OBJECT
     public:
@@ -40,12 +38,12 @@ class AMAROK_EXPORT MediaDeviceUserPlaylistProvider : public Playlists::UserPlay
         virtual QString prettyName() const { return i18n("Media Device playlists"); };
         virtual KIcon icon() const { return KIcon( "multimedia-player" ); }
 
-        /* Playlists::UserPlaylistProvider functions */
-        virtual Playlists::PlaylistList playlists();
+        /* UserPlaylistProvider functions */
+        virtual Meta::PlaylistList playlists();
 
         virtual bool canSavePlaylists() { return true; };
-        virtual Playlists::PlaylistPtr save( const Meta::TrackList &tracks );
-        virtual Playlists::PlaylistPtr save( const Meta::TrackList &tracks, const QString& name );
+        virtual Meta::PlaylistPtr save( const Meta::TrackList &tracks );
+        virtual Meta::PlaylistPtr save( const Meta::TrackList &tracks, const QString& name );
 
         //      virtual bool supportsEmptyGroups() { return true; }
 
@@ -53,22 +51,22 @@ class AMAROK_EXPORT MediaDeviceUserPlaylistProvider : public Playlists::UserPlay
 
         virtual bool isWritable() { return true; }
 
-        virtual void rename( Playlists::PlaylistPtr playlist, const QString &newName );
+        virtual void rename( Meta::PlaylistPtr playlist, const QString &newName );
 
-        virtual void deletePlaylists( Playlists::PlaylistList playlistlist );
+        virtual void deletePlaylists( Meta::PlaylistList playlistlist );
 
         /// MediaDevice-specific Functions
 
-        void addPlaylist( Playlists::MediaDevicePlaylistPtr &playlist );
-        void removePlaylist( Playlists::MediaDevicePlaylistPtr &playlist );
+        void addPlaylist( Meta::MediaDevicePlaylistPtr &playlist );
+        void removePlaylist( Meta::MediaDevicePlaylistPtr &playlist );
 
         public slots:
             void sendUpdated() { emit updated(); }
 
         signals:
-            void playlistSaved( const MediaDevicePlaylistPtr &playlist, const QString& name );
-            void playlistRenamed( const MediaDevicePlaylistPtr &playlist );
-            void playlistsDeleted( const MediaDevicePlaylistList &playlistlist );
+            void playlistSaved( const Meta::MediaDevicePlaylistPtr &playlist, const QString& name );
+            void playlistRenamed( const Meta::MediaDevicePlaylistPtr &playlist );
+            void playlistsDeleted( const Meta::MediaDevicePlaylistList &playlistlist );
 
         private slots:
         //void slotDelete();
@@ -77,12 +75,10 @@ class AMAROK_EXPORT MediaDeviceUserPlaylistProvider : public Playlists::UserPlay
 
  private:
 
-    MediaDevicePlaylistList m_playlists;
+    Meta::MediaDevicePlaylistList m_playlists;
 
     QAction *m_renameAction;
     MediaDeviceCollection *m_collection;
 };
 
-} //namespace Playlists
-
 #endif
diff --git a/src/collection/mediadevicecollection/podcast/MediaDevicePodcastProvider.cpp b/src/collection/mediadevicecollection/podcast/MediaDevicePodcastProvider.cpp
index 9212dd0..16bdc1d 100644
--- a/src/collection/mediadevicecollection/podcast/MediaDevicePodcastProvider.cpp
+++ b/src/collection/mediadevicecollection/podcast/MediaDevicePodcastProvider.cpp
@@ -59,13 +59,13 @@ MediaDevicePodcastProvider::prettyName() const
             .arg(  m_handler->prettyName() );
 }
 
-Playlists::PlaylistList
+Meta::PlaylistList
 MediaDevicePodcastProvider::playlists()
 {
-    Playlists::PlaylistList playlists;
+    Meta::PlaylistList playlists;
 
     foreach( PodcastChannelPtr channel, channels() )
-        playlists << Playlists::PlaylistPtr::dynamicCast( channel );
+        playlists << Meta::PlaylistPtr::dynamicCast( channel );
 
     return playlists;
 }
diff --git a/src/collection/mediadevicecollection/podcast/MediaDevicePodcastProvider.h b/src/collection/mediadevicecollection/podcast/MediaDevicePodcastProvider.h
index 1e9a113..e78f45f 100644
--- a/src/collection/mediadevicecollection/podcast/MediaDevicePodcastProvider.h
+++ b/src/collection/mediadevicecollection/podcast/MediaDevicePodcastProvider.h
@@ -29,9 +29,9 @@ class MediaDevicePodcastProvider : public Podcasts::PodcastProvider
 
         // PlaylistProvider methods
         virtual QString prettyName() const;
-        virtual int category() const { return (int)Playlists::PodcastChannelPlaylist; }
+        virtual int category() const { return (int)Meta::PodcastChannelPlaylist; }
 
-        virtual Playlists::PlaylistList playlists();
+        virtual Meta::PlaylistList playlists();
 
     private:
         Meta::MediaDeviceHandler *m_handler;
diff --git a/src/collection/mtpcollection/handler/MtpHandler.cpp b/src/collection/mtpcollection/handler/MtpHandler.cpp
index c395ec6..c40dbd3 100644
--- a/src/collection/mtpcollection/handler/MtpHandler.cpp
+++ b/src/collection/mtpcollection/handler/MtpHandler.cpp
@@ -860,16 +860,16 @@ MtpHandler::libGetPlaylistName()
 }
 
 void
-MtpHandler::setAssociatePlaylist( const Playlists::MediaDevicePlaylistPtr &playlist )
+MtpHandler::setAssociatePlaylist( const Meta::MediaDevicePlaylistPtr &playlist )
 {
     m_mtpPlaylisthash[ playlist ] = m_currentPlaylist;
 }
 
 void
-MtpHandler::libSavePlaylist( const Playlists::MediaDevicePlaylistPtr &playlist, const QString& name )
+MtpHandler::libSavePlaylist( const Meta::MediaDevicePlaylistPtr &playlist, const QString& name )
 {
     DEBUG_BLOCK
-    Meta::TrackList tracklist = const_cast<Playlists::MediaDevicePlaylistPtr&> ( playlist )->tracks();
+    Meta::TrackList tracklist = const_cast<Meta::MediaDevicePlaylistPtr&> ( playlist )->tracks();
     // Make new playlist
 
     LIBMTP_playlist_t *metadata = LIBMTP_new_playlist_t();
@@ -907,7 +907,7 @@ MtpHandler::libSavePlaylist( const Playlists::MediaDevicePlaylistPtr &playlist,
 }
 
 void
-MtpHandler::deletePlaylist( const Playlists::MediaDevicePlaylistPtr &playlist )
+MtpHandler::deletePlaylist( const Meta::MediaDevicePlaylistPtr &playlist )
 {
     DEBUG_BLOCK
 
@@ -936,7 +936,7 @@ MtpHandler::deletePlaylist( const Playlists::MediaDevicePlaylistPtr &playlist )
 }
 
 void
-MtpHandler::renamePlaylist( const Playlists::MediaDevicePlaylistPtr &playlist )
+MtpHandler::renamePlaylist( const Meta::MediaDevicePlaylistPtr &playlist )
 {
     DEBUG_BLOCK
     LIBMTP_playlist_t *pl = m_mtpPlaylisthash.value( playlist );
diff --git a/src/collection/mtpcollection/handler/MtpHandler.h b/src/collection/mtpcollection/handler/MtpHandler.h
index 936d4cf..e4aa1f4 100644
--- a/src/collection/mtpcollection/handler/MtpHandler.h
+++ b/src/collection/mtpcollection/handler/MtpHandler.h
@@ -115,10 +115,10 @@ class MtpHandler : public MediaDeviceHandler
         virtual Meta::MediaDeviceTrackPtr libGetTrackPtrForTrackStruct();
 
         virtual QString libGetPlaylistName();
-        virtual void setAssociatePlaylist( const Playlists::MediaDevicePlaylistPtr &playlist );
-        virtual void libSavePlaylist( const Playlists::MediaDevicePlaylistPtr &playlist, const QString& name );
-        virtual void deletePlaylist( const Playlists::MediaDevicePlaylistPtr &playlist );
-        virtual void renamePlaylist( const Playlists::MediaDevicePlaylistPtr &playlist );
+        virtual void setAssociatePlaylist( const Meta::MediaDevicePlaylistPtr &playlist );
+        virtual void libSavePlaylist( const Meta::MediaDevicePlaylistPtr &playlist, const QString& name );
+        virtual void deletePlaylist( const Meta::MediaDevicePlaylistPtr &playlist );
+        virtual void renamePlaylist( const Meta::MediaDevicePlaylistPtr &playlist );
 
         virtual void addTrackInDB( const Meta::MediaDeviceTrackPtr &track ) { Q_UNUSED( track ) }
         virtual void removeTrackFromDB( const Meta::MediaDeviceTrackPtr &track ) { Q_UNUSED( track ) }
@@ -224,7 +224,7 @@ class MtpHandler : public MediaDeviceHandler
         LIBMTP_playlist_t* m_currentPlaylistList;
         LIBMTP_playlist_t* m_currentPlaylist;
 
-        QHash<Playlists::MediaDevicePlaylistPtr, LIBMTP_playlist_t*> m_mtpPlaylisthash;
+        QHash<Meta::MediaDevicePlaylistPtr, LIBMTP_playlist_t*> m_mtpPlaylisthash;
 
         uint32_t m_trackcounter;
 
diff --git a/src/collection/mtpcollection/handler/capabilities/MtpPlaylistCapability.cpp b/src/collection/mtpcollection/handler/capabilities/MtpPlaylistCapability.cpp
index b627b32..d8ad3ce 100644
--- a/src/collection/mtpcollection/handler/capabilities/MtpPlaylistCapability.cpp
+++ b/src/collection/mtpcollection/handler/capabilities/MtpPlaylistCapability.cpp
@@ -92,19 +92,19 @@ MtpPlaylistCapability::libGetPlaylistName()
 }
 
 void
-MtpPlaylistCapability::savePlaylist( const Playlists::MediaDevicePlaylistPtr &playlist, const QString& name )
+MtpPlaylistCapability::savePlaylist( const Meta::MediaDevicePlaylistPtr &playlist, const QString& name )
 {
     m_handler->libSavePlaylist( playlist, name );
 }
 
 void
-MtpPlaylistCapability::deletePlaylist( const Playlists::MediaDevicePlaylistPtr &playlist )
+MtpPlaylistCapability::deletePlaylist( const Meta::MediaDevicePlaylistPtr &playlist )
 {
     m_handler->deletePlaylist( playlist );
 }
 
 void
-MtpPlaylistCapability::renamePlaylist( const Playlists::MediaDevicePlaylistPtr &playlist )
+MtpPlaylistCapability::renamePlaylist( const Meta::MediaDevicePlaylistPtr &playlist )
 {
     m_handler->renamePlaylist( playlist );
 }
diff --git a/src/collection/mtpcollection/handler/capabilities/MtpPlaylistCapability.h b/src/collection/mtpcollection/handler/capabilities/MtpPlaylistCapability.h
index 2204ee7..6b799dc 100644
--- a/src/collection/mtpcollection/handler/capabilities/MtpPlaylistCapability.h
+++ b/src/collection/mtpcollection/handler/capabilities/MtpPlaylistCapability.h
@@ -44,9 +44,9 @@ class MtpPlaylistCapability : public PlaylistCapability
         virtual void prepareToParseNextPlaylistTrack();
         virtual void nextPlaylistTrackToParse();
         
-        virtual void savePlaylist( const Playlists::MediaDevicePlaylistPtr &playlist, const QString& name );
-        virtual void deletePlaylist( const Playlists::MediaDevicePlaylistPtr &playlist );
-        virtual void renamePlaylist( const Playlists::MediaDevicePlaylistPtr &playlist );
+        virtual void savePlaylist( const Meta::MediaDevicePlaylistPtr &playlist, const QString& name );
+        virtual void deletePlaylist( const Meta::MediaDevicePlaylistPtr &playlist );
+        virtual void renamePlaylist( const Meta::MediaDevicePlaylistPtr &playlist );
 
         virtual Meta::MediaDeviceTrackPtr libGetTrackPtrForTrackStruct();
         virtual QString libGetPlaylistName();
diff --git a/src/collection/support/PlaylistCollection.cpp b/src/collection/support/PlaylistCollection.cpp
index d9c4106..53b18f7 100644
--- a/src/collection/support/PlaylistCollection.cpp
+++ b/src/collection/support/PlaylistCollection.cpp
@@ -20,9 +20,9 @@
 #include "PlaylistCollectionLocation.h"
 #include "core/playlists/PlaylistProvider.h"
 
-PlaylistCollection::PlaylistCollection( const Playlists::PlaylistPtr &playlist )
+PlaylistCollection::PlaylistCollection( const Meta::PlaylistPtr &playlist )
         : Collections::Collection()
-        , Playlists::PlaylistObserver()
+        , Meta::PlaylistObserver()
         , m_playlist( playlist )
         , m_mc( new MemoryCollection() )
 {
@@ -74,7 +74,7 @@ PlaylistCollection::icon() const
 }
 
 void
-PlaylistCollection::trackAdded( Playlists::PlaylistPtr playlist, Meta::TrackPtr track, int position )
+PlaylistCollection::trackAdded( Meta::PlaylistPtr playlist, Meta::TrackPtr track, int position )
 {
     Q_UNUSED( position );
     if( playlist != m_playlist )
@@ -89,7 +89,7 @@ PlaylistCollection::trackAdded( Playlists::PlaylistPtr playlist, Meta::TrackPtr
 }
 
 void
-PlaylistCollection::trackRemoved( Playlists::PlaylistPtr playlist, int position )
+PlaylistCollection::trackRemoved( Meta::PlaylistPtr playlist, int position )
 {
     Q_UNUSED( position )
 
@@ -127,7 +127,7 @@ PlaylistCollection::insertTrack( const Meta::TrackPtr &track )
         m_mc->addYear( track->year() );
 }
 
-Playlists::PlaylistPtr
+Meta::PlaylistPtr
 PlaylistCollection::playlist() const
 {
     return m_playlist;
diff --git a/src/collection/support/PlaylistCollection.h b/src/collection/support/PlaylistCollection.h
index 1d41cbe..c5a77b6 100644
--- a/src/collection/support/PlaylistCollection.h
+++ b/src/collection/support/PlaylistCollection.h
@@ -27,10 +27,10 @@
   * Utility class that wraps a playlist as collection and makes it possible to
   * query the content of the playlist using QueryMaker.
   */
-class PlaylistCollection : public Collections::Collection, public Playlists::PlaylistObserver
+class PlaylistCollection : public Collections::Collection, public Meta::PlaylistObserver
 {
 public:
-    PlaylistCollection( const Playlists::PlaylistPtr &playlist );
+    PlaylistCollection( const Meta::PlaylistPtr &playlist );
     virtual ~PlaylistCollection();
 
     virtual QString collectionId() const;
@@ -40,14 +40,14 @@ public:
 
     KIcon icon() const; //why is this pure virtual?
 
-    virtual void trackAdded( Playlists::PlaylistPtr playlist, Meta::TrackPtr track, int position ) = 0;
-    virtual void trackRemoved( Playlists::PlaylistPtr playlist, int position ) = 0;
+    virtual void trackAdded( Meta::PlaylistPtr playlist, Meta::TrackPtr track, int position ) = 0;
+    virtual void trackRemoved( Meta::PlaylistPtr playlist, int position ) = 0;
 
-    Playlists::PlaylistPtr playlist() const;
+    Meta::PlaylistPtr playlist() const;
 private:
     void insertTrack( const Meta::TrackPtr &track );
 
-    Playlists::PlaylistPtr m_playlist;
+    Meta::PlaylistPtr m_playlist;
 
     QSharedPointer<MemoryCollection> m_mc;
 };
diff --git a/src/collection/support/PlaylistCollectionLocation.cpp b/src/collection/support/PlaylistCollectionLocation.cpp
index c404f8a..ee9d53a 100644
--- a/src/collection/support/PlaylistCollectionLocation.cpp
+++ b/src/collection/support/PlaylistCollectionLocation.cpp
@@ -41,7 +41,7 @@ PlaylistCollectionLocation::isWritable() const
 bool
 PlaylistCollectionLocation::remove( const Meta::TrackPtr &track )
 {
-    Playlists::PlaylistPtr playlist = m_collection->playlist();
+    Meta::PlaylistPtr playlist = m_collection->playlist();
     int index = playlist->tracks().indexOf( track );
     if( index != -1 )
     {
@@ -54,7 +54,7 @@ PlaylistCollectionLocation::remove( const Meta::TrackPtr &track )
 void
 PlaylistCollectionLocation::copyUrlsToCollection( const QMap<Meta::TrackPtr, KUrl> &sources )
 {
-    Playlists::PlaylistPtr playlist = m_collection->playlist();
+    Meta::PlaylistPtr playlist = m_collection->playlist();
     foreach( const Meta::TrackPtr &track, sources.keys() )
     {
         playlist->addTrack( track );
diff --git a/src/collection/umscollection/handler/UmsHandler.cpp b/src/collection/umscollection/handler/UmsHandler.cpp
index c652694..1ebfa79 100644
--- a/src/collection/umscollection/handler/UmsHandler.cpp
+++ b/src/collection/umscollection/handler/UmsHandler.cpp
@@ -175,7 +175,7 @@ UmsHandler::init()
                 //HACK initialize a real PodcastProvider since I failed to add it to the MD framework
                 m_podcastProvider = new Podcasts::UmsPodcastProvider( this, m_podcastPath );
                 The::playlistManager()->addProvider( m_podcastProvider,
-                                                     Playlists::PodcastChannelPlaylist );
+                                                     Meta::PodcastChannelPlaylist );
             }
             else if( line.startsWith( s_autoConnectKey + "=" ) )
             {
@@ -978,13 +978,13 @@ UmsHandler::libGetPlaylistName()
 }
 
 void
-UmsHandler::setAssociatePlaylist( const Playlists::MediaDevicePlaylistPtr &playlist )
+UmsHandler::setAssociatePlaylist( const Meta::MediaDevicePlaylistPtr &playlist )
 {
     m_itdbplaylisthash[ playlist ] = m_currplaylist;
 }
 
 void
-UmsHandler::libSavePlaylist( const Playlists::MediaDevicePlaylistPtr &playlist, const QString& name )
+UmsHandler::libSavePlaylist( const Meta::MediaDevicePlaylistPtr &playlist, const QString& name )
 {
     DEBUG_BLOCK
     // Make new playlist
@@ -992,7 +992,7 @@ UmsHandler::libSavePlaylist( const Playlists::MediaDevicePlaylistPtr &playlist,
     Itdb_Playlist *pl = itdb_playlist_new( name.toUtf8(), 0 );
     itdb_playlist_add( m_itdb, pl, -1 );
 
-    Meta::TrackList tracks = const_cast<Playlists::MediaDevicePlaylistPtr&> ( playlist )->tracks();
+    Meta::TrackList tracks = const_cast<Meta::MediaDevicePlaylistPtr&> ( playlist )->tracks();
 
     foreach( const Meta::TrackPtr track, tracks )
     {
@@ -1005,7 +1005,7 @@ UmsHandler::libSavePlaylist( const Playlists::MediaDevicePlaylistPtr &playlist,
 }
 
 void
-UmsHandler::deletePlaylist( const Playlists::MediaDevicePlaylistPtr &playlist )
+UmsHandler::deletePlaylist( const Meta::MediaDevicePlaylistPtr &playlist )
 {
     DEBUG_BLOCK
     Itdb_Playlist *pl = m_itdbplaylisthash.value( playlist );
@@ -1020,7 +1020,7 @@ UmsHandler::deletePlaylist( const Playlists::MediaDevicePlaylistPtr &playlist )
 }
 
 void
-UmsHandler::renamePlaylist( const Playlists::MediaDevicePlaylistPtr &playlist )
+UmsHandler::renamePlaylist( const Meta::MediaDevicePlaylistPtr &playlist )
 {
     DEBUG_BLOCK
     Itdb_Playlist *pl = m_itdbplaylisthash[ playlist ];
diff --git a/src/collection/umscollection/handler/UmsHandler.h b/src/collection/umscollection/handler/UmsHandler.h
index 0f24633..4104b17 100644
--- a/src/collection/umscollection/handler/UmsHandler.h
+++ b/src/collection/umscollection/handler/UmsHandler.h
@@ -153,10 +153,10 @@ class UmsHandler : public Meta::MediaDeviceHandler
 #if 0
 
         virtual QString libGetPlaylistName();
-        void setAssociatePlaylist( const Playlists::MediaDevicePlaylistPtr &playlist );
-        void libSavePlaylist( const Playlists::MediaDevicePlaylistPtr &playlist, const QString& name );
-        void deletePlaylist( const Playlists::MediaDevicePlaylistPtr &playlist );
-        void renamePlaylist( const Playlists::MediaDevicePlaylistPtr &playlist );
+        void setAssociatePlaylist( const Meta::MediaDevicePlaylistPtr &playlist );
+        void libSavePlaylist( const Meta::MediaDevicePlaylistPtr &playlist, const QString& name );
+        void deletePlaylist( const Meta::MediaDevicePlaylistPtr &playlist );
+        void renamePlaylist( const Meta::MediaDevicePlaylistPtr &playlist );
 
         // TODO: MediaDeviceTrackPtr
         virtual void libSetCoverArt( Itdb_Track *umstrack, const QPixmap &image );
@@ -269,7 +269,7 @@ class UmsHandler : public Meta::MediaDeviceHandler
         QHash<QString,Meta::MediaDeviceTrackPtr> m_files; // path, MDTrackPtr
 
         // Hash that associates an Itdb_Playlist* to every PlaylistPtr
-        //QHash<Playlists::MediaDevicePlaylistPtr, Itdb_Playlist*> m_itdbplaylisthash;
+        //QHash<Meta::MediaDevicePlaylistPtr, Itdb_Playlist*> m_itdbplaylisthash;
 
         // tracks that failed to copy
         QMap<Meta::TrackPtr, QString> m_tracksFailed;
diff --git a/src/collection/umscollection/handler/capabilities/UmsPlaylistCapability.cpp b/src/collection/umscollection/handler/capabilities/UmsPlaylistCapability.cpp
index 36264be..afd5f62 100644
--- a/src/collection/umscollection/handler/capabilities/UmsPlaylistCapability.cpp
+++ b/src/collection/umscollection/handler/capabilities/UmsPlaylistCapability.cpp
@@ -92,25 +92,25 @@ IpodPlaylistCapability::libGetPlaylistName()
 }
 
 void
-IpodPlaylistCapability::savePlaylist( const Playlists::MediaDevicePlaylistPtr &playlist, const QString& name )
+IpodPlaylistCapability::savePlaylist( const Meta::MediaDevicePlaylistPtr &playlist, const QString& name )
 {
     m_handler->libSavePlaylist( playlist, name );
 }
 
 void
-IpodPlaylistCapability::deletePlaylist( const Playlists::MediaDevicePlaylistPtr &playlist )
+IpodPlaylistCapability::deletePlaylist( const Meta::MediaDevicePlaylistPtr &playlist )
 {
     m_handler->deletePlaylist( playlist );
 }
 
 void
-IpodPlaylistCapability::renamePlaylist( const Playlists::MediaDevicePlaylistPtr &playlist )
+IpodPlaylistCapability::renamePlaylist( const Meta::MediaDevicePlaylistPtr &playlist )
 {
     m_handler->renamePlaylist( playlist );
 }
 
 void
-IpodPlaylistCapability::setAssociatePlaylist( const Playlists::MediaDevicePlaylistPtr &playlist )
+IpodPlaylistCapability::setAssociatePlaylist( const Meta::MediaDevicePlaylistPtr &playlist )
 {
     m_handler->setAssociatePlaylist( playlist );
 }
diff --git a/src/collection/umscollection/handler/capabilities/UmsPlaylistCapability.h b/src/collection/umscollection/handler/capabilities/UmsPlaylistCapability.h
index 7f2ff4c..3277dd0 100644
--- a/src/collection/umscollection/handler/capabilities/UmsPlaylistCapability.h
+++ b/src/collection/umscollection/handler/capabilities/UmsPlaylistCapability.h
@@ -46,11 +46,11 @@ class IpodPlaylistCapability : public PlaylistCapability
         virtual Meta::MediaDeviceTrackPtr libGetTrackPtrForTrackStruct();
         virtual QString libGetPlaylistName();
 
-        virtual void savePlaylist( const Playlists::MediaDevicePlaylistPtr &playlist, const QString& name );
-        virtual void deletePlaylist( const Playlists::MediaDevicePlaylistPtr &playlist );
-        virtual void renamePlaylist( const Playlists::MediaDevicePlaylistPtr &playlist );
+        virtual void savePlaylist( const Meta::MediaDevicePlaylistPtr &playlist, const QString& name );
+        virtual void deletePlaylist( const Meta::MediaDevicePlaylistPtr &playlist );
+        virtual void renamePlaylist( const Meta::MediaDevicePlaylistPtr &playlist );
 
-        virtual void setAssociatePlaylist( const Playlists::MediaDevicePlaylistPtr &playlist );
+        virtual void setAssociatePlaylist( const Meta::MediaDevicePlaylistPtr &playlist );
 
     private:
         Meta::IpodHandler *m_handler;
diff --git a/src/collection/umscollection/podcasts/UmsPodcastMeta.cpp b/src/collection/umscollection/podcasts/UmsPodcastMeta.cpp
index a24fdd6..6cbc6de 100644
--- a/src/collection/umscollection/podcasts/UmsPodcastMeta.cpp
+++ b/src/collection/umscollection/podcasts/UmsPodcastMeta.cpp
@@ -231,15 +231,15 @@ void
 UmsPodcastChannel::setPlaylistFileSource( const KUrl &playlistFilePath )
 {
     m_playlistFilePath = playlistFilePath;
-    m_playlistFile = Playlists::loadPlaylistFile( playlistFilePath );
+    m_playlistFile = Meta::loadPlaylistFile( playlistFilePath );
 
     //now parse the playlist and use it to create out episode list
 }
 
-Playlists::PlaylistProvider *
+PlaylistProvider *
 UmsPodcastChannel::provider() const
 {
-     return dynamic_cast<Playlists::PlaylistProvider *>( m_provider );
+     return dynamic_cast<PlaylistProvider *>( m_provider );
 }
 
 void
diff --git a/src/collection/umscollection/podcasts/UmsPodcastMeta.h b/src/collection/umscollection/podcasts/UmsPodcastMeta.h
index 320879d..06b24c2 100644
--- a/src/collection/umscollection/podcasts/UmsPodcastMeta.h
+++ b/src/collection/umscollection/podcasts/UmsPodcastMeta.h
@@ -98,7 +98,7 @@ class UmsPodcastChannel : public Podcasts::PodcastChannel
 
         virtual Podcasts::PodcastEpisodeList episodes()
                 { return UmsPodcastEpisode::toPodcastEpisodeList( m_umsEpisodes ); }
-        virtual Playlists::PlaylistProvider *provider() const;
+        virtual PlaylistProvider *provider() const;
 
     protected:
         void removeEpisode( UmsPodcastEpisodePtr episode );
@@ -106,7 +106,7 @@ class UmsPodcastChannel : public Podcasts::PodcastChannel
     private:
         UmsPodcastProvider *m_provider;
         KUrl m_playlistFilePath;
-        Playlists::PlaylistFilePtr m_playlistFile; //used to keep track of episodes.
+        Meta::PlaylistFilePtr m_playlistFile; //used to keep track of episodes.
 
         UmsPodcastEpisodeList m_umsEpisodes;
 };
diff --git a/src/collection/umscollection/podcasts/UmsPodcastProvider.cpp b/src/collection/umscollection/podcasts/UmsPodcastProvider.cpp
index ca64ee6..ffaa9b1 100644
--- a/src/collection/umscollection/podcasts/UmsPodcastProvider.cpp
+++ b/src/collection/umscollection/podcasts/UmsPodcastProvider.cpp
@@ -161,13 +161,12 @@ UmsPodcastProvider::icon() const
     return KIcon("drive-removable-media-usb-pendrive");
 }
 
-Playlists::PlaylistList
+Meta::PlaylistList
 UmsPodcastProvider::playlists()
 {
-    Playlists::PlaylistList playlists;
+    Meta::PlaylistList playlists;
     foreach( UmsPodcastChannelPtr channel, m_umsChannels )
-        playlists << Playlists::PlaylistPtr::dynamicCast( channel );
-    debug() << "there are " << playlists.count() << " channels";
+        playlists << Meta::PlaylistPtr::dynamicCast( channel );
     return playlists;
 }
 
@@ -370,14 +369,14 @@ UmsPodcastProvider::slotDeleteChannels()
 }
 
 QList<QAction *>
-UmsPodcastProvider::playlistActions( Playlists::PlaylistPtr playlist )
+UmsPodcastProvider::playlistActions( Meta::PlaylistPtr playlist )
 {
     Q_UNUSED( playlist )
     return channelActions( PodcastChannelList() );
 }
 
 QList<QAction *>
-UmsPodcastProvider::trackActions( Playlists::PlaylistPtr playlist, int trackIndex )
+UmsPodcastProvider::trackActions( Meta::PlaylistPtr playlist, int trackIndex )
 {
     Q_UNUSED( playlist)
     Q_UNUSED( trackIndex )
diff --git a/src/collection/umscollection/podcasts/UmsPodcastProvider.h b/src/collection/umscollection/podcasts/UmsPodcastProvider.h
index 8d764d3..b2122b2 100644
--- a/src/collection/umscollection/podcasts/UmsPodcastProvider.h
+++ b/src/collection/umscollection/podcasts/UmsPodcastProvider.h
@@ -56,13 +56,13 @@ class UmsPodcastProvider : public PodcastProvider
         virtual QString prettyName() const;
         virtual KIcon icon() const;
 
-        virtual Playlists::PlaylistList playlists();
+        virtual Meta::PlaylistList playlists();
 
         virtual QList<QAction *> episodeActions( Podcasts::PodcastEpisodeList );
         virtual QList<QAction *> channelActions( Podcasts::PodcastChannelList );
 
-        virtual QList<QAction *> playlistActions( Playlists::PlaylistPtr playlist );
-        virtual QList<QAction *> trackActions( Playlists::PlaylistPtr playlist,
+        virtual QList<QAction *> playlistActions( Meta::PlaylistPtr playlist );
+        virtual QList<QAction *> trackActions( Meta::PlaylistPtr playlist,
                                                   int trackIndex );
 
         virtual void completePodcastDownloads();
diff --git a/src/context/applets/info/InfoApplet.cpp b/src/context/applets/info/InfoApplet.cpp
index 8b48f39..abd1d2e 100644
--- a/src/context/applets/info/InfoApplet.cpp
+++ b/src/context/applets/info/InfoApplet.cpp
@@ -157,7 +157,7 @@ void InfoApplet::linkClicked( const QUrl & url )
     }
     else if ( url.toString().contains( ".xspf", Qt::CaseInsensitive ) )
     {
-        new Playlists::XSPFPlaylist( url, true );
+        new Meta::XSPFPlaylist( url, true );
     }
     else
         QDesktopServices::openUrl( url.toString() );
diff --git a/src/context/applets/info/InfoApplet.h b/src/context/applets/info/InfoApplet.h
index 5b40e7a..eccdffb 100644
--- a/src/context/applets/info/InfoApplet.h
+++ b/src/context/applets/info/InfoApplet.h
@@ -62,7 +62,7 @@ private slots:
 private:
     AmarokWebView * m_webView;
     bool m_initialized;
-    Playlists::XSPFPlaylist * m_currentPlaylist;
+    Meta::XSPFPlaylist * m_currentPlaylist;
 
     static QString s_defaultHtml;
 };
diff --git a/src/core-implementations/playlists/file/PlaylistFile.h b/src/core-implementations/playlists/file/PlaylistFile.h
index 51b2db0..a1722ca 100644
--- a/src/core-implementations/playlists/file/PlaylistFile.h
+++ b/src/core-implementations/playlists/file/PlaylistFile.h
@@ -21,7 +21,7 @@
 
 class PlaylistProvider;
 
-namespace Playlists
+namespace Meta
 {
 
     class PlaylistFile;
@@ -62,7 +62,7 @@ namespace Playlists
 
 }
 
-Q_DECLARE_METATYPE( Playlists::PlaylistFilePtr )
-Q_DECLARE_METATYPE( Playlists::PlaylistFileList )
+Q_DECLARE_METATYPE( Meta::PlaylistFilePtr )
+Q_DECLARE_METATYPE( Meta::PlaylistFileList )
 
 #endif
diff --git a/src/core-implementations/playlists/file/PlaylistFileSupport.cpp b/src/core-implementations/playlists/file/PlaylistFileSupport.cpp
index 48103b4..c01297c 100644
--- a/src/core-implementations/playlists/file/PlaylistFileSupport.cpp
+++ b/src/core-implementations/playlists/file/PlaylistFileSupport.cpp
@@ -32,7 +32,7 @@
 #include <QFile>
 #include <QFileInfo>
 
-namespace Playlists {
+namespace Meta {
 
 PlaylistFormat
 getFormat( const KUrl &path )
@@ -92,7 +92,7 @@ loadPlaylistFile( const KUrl &url )
             if( The::statusBar() )
                 The::statusBar()->longMessage( i18n( "Cannot read playlist (%1).", url.url() ) );
 
-            return Playlists::PlaylistFilePtr( 0 );
+            return Meta::PlaylistFilePtr( 0 );
         }
         fileToLoad = url;
     }
@@ -110,7 +110,7 @@ loadPlaylistFile( const KUrl &url )
             if( The::statusBar() )
                 The::statusBar()->longMessage( i18n( "Could not create a temporary file to download playlist.") );
 
-            return Playlists::PlaylistFilePtr( 0 ); //error
+            return Meta::PlaylistFilePtr( 0 ); //error
         }
 
 
@@ -128,7 +128,7 @@ loadPlaylistFile( const KUrl &url )
         if( !job->exec() ) //Job deletes itself after execution
         {
             error() << "error";
-            return Playlists::PlaylistFilePtr( 0 );
+            return Meta::PlaylistFilePtr( 0 );
         }
         else
         {
@@ -136,7 +136,7 @@ loadPlaylistFile( const KUrl &url )
             if( !file.open( QFile::ReadOnly ) )
             {
                 debug() << "error opening file: " << tempFileName;
-                return Playlists::PlaylistFilePtr( 0 );
+                return Meta::PlaylistFilePtr( 0 );
             }
             fileToLoad = KUrl::fromPath( file.fileName() );
         }
@@ -187,19 +187,19 @@ exportPlaylistFile( const Meta::TrackList &list, const KUrl &path )
 }
 
 bool
-canExpand( Meta::TrackPtr track )
+canExpand( TrackPtr track )
 {
     if( !track )
         return false;
 
-    return Playlists::getFormat( track->uidUrl() ) != Playlists::NotPlaylist;
+    return Meta::getFormat( track->uidUrl() ) != Meta::NotPlaylist;
 }
 
 PlaylistPtr
-expand( Meta::TrackPtr track )
+expand( TrackPtr track )
 {
    //this should really be made asyncrhonous
-   return Playlists::PlaylistPtr::dynamicCast( loadPlaylistFile( track->uidUrl() ) );
+   return Meta::PlaylistPtr::dynamicCast( loadPlaylistFile( track->uidUrl() ) );
 }
 
 KUrl
diff --git a/src/core-implementations/playlists/file/PlaylistFileSupport.h b/src/core-implementations/playlists/file/PlaylistFileSupport.h
index 24e1318..6ee39e9 100644
--- a/src/core-implementations/playlists/file/PlaylistFileSupport.h
+++ b/src/core-implementations/playlists/file/PlaylistFileSupport.h
@@ -30,7 +30,7 @@
 
 class QFile;
 
-namespace Playlists
+namespace Meta
 {
     enum PlaylistFormat
     {
diff --git a/src/core-implementations/playlists/file/m3u/M3UPlaylist.cpp b/src/core-implementations/playlists/file/m3u/M3UPlaylist.cpp
index 4e92a0a..f11842a 100644
--- a/src/core-implementations/playlists/file/m3u/M3UPlaylist.cpp
+++ b/src/core-implementations/playlists/file/m3u/M3UPlaylist.cpp
@@ -31,17 +31,17 @@
 #include <QFileInfo>
 #include <QTextStream>
 
-namespace Playlists {
+namespace Meta {
 
 M3UPlaylist::M3UPlaylist()
-    : m_url( Playlists::newPlaylistFilePath( "m3u" ) )
+    : m_url( Meta::newPlaylistFilePath( "m3u" ) )
     , m_tracksLoaded( false )
 {
     m_name = m_url.fileName();
 }
 
 M3UPlaylist::M3UPlaylist( Meta::TrackList tracks )
-    : m_url( Playlists::newPlaylistFilePath( "m3u" ) )
+    : m_url( Meta::newPlaylistFilePath( "m3u" ) )
     , m_tracksLoaded( true )
     , m_tracks( tracks )
 {
@@ -68,7 +68,7 @@ M3UPlaylist::description() const
     return QString( "%1 (%2)").arg( mimeType->name(), "m3u" );
 }
 
-Meta::TrackList
+TrackList
 M3UPlaylist::tracks()
 {
     if( m_tracksLoaded )
@@ -233,5 +233,5 @@ M3UPlaylist::setName( const QString &name )
     m_url.setFileName( name );
 }
 
-} //namespace Playlists
+} //namespace Meta
 
diff --git a/src/core-implementations/playlists/file/m3u/M3UPlaylist.h b/src/core-implementations/playlists/file/m3u/M3UPlaylist.h
index d3f6266..69d1fec 100644
--- a/src/core-implementations/playlists/file/m3u/M3UPlaylist.h
+++ b/src/core-implementations/playlists/file/m3u/M3UPlaylist.h
@@ -23,7 +23,7 @@ class QTextStream;
 class QString;
 class QFile;
 
-namespace Playlists {
+namespace Meta {
 
 class M3UPlaylist;
 
@@ -49,7 +49,7 @@ class AMAROK_EXPORT_TESTS M3UPlaylist : public PlaylistFile
 
         virtual int trackCount() const { return -1; }
         /** returns all tracks in this playlist */
-        virtual Meta::TrackList tracks();
+        virtual TrackList tracks();
 
        /* the following has been copied from Meta.h
         * it is my hope that we can integrate Playlists
@@ -75,12 +75,12 @@ class AMAROK_EXPORT_TESTS M3UPlaylist : public PlaylistFile
         KUrl m_url;
 
         bool m_tracksLoaded;
-        Meta::TrackList m_tracks;
+        TrackList m_tracks;
 };
 
 }
 
-Q_DECLARE_METATYPE( Playlists::M3UPlaylistPtr )
-Q_DECLARE_METATYPE( Playlists::M3UPlaylistList )
+Q_DECLARE_METATYPE( Meta::M3UPlaylistPtr )
+Q_DECLARE_METATYPE( Meta::M3UPlaylistList )
 
 #endif
diff --git a/src/core-implementations/playlists/file/pls/PLSPlaylist.cpp b/src/core-implementations/playlists/file/pls/PLSPlaylist.cpp
index e6fd7dc..41ae8da 100644
--- a/src/core-implementations/playlists/file/pls/PLSPlaylist.cpp
+++ b/src/core-implementations/playlists/file/pls/PLSPlaylist.cpp
@@ -31,17 +31,17 @@
 #include <QString>
 #include <QFile>
 
-namespace Playlists {
+namespace Meta {
 
 PLSPlaylist::PLSPlaylist()
-    : m_url( Playlists::newPlaylistFilePath( "pls" ) )
+    : m_url( Meta::newPlaylistFilePath( "pls" ) )
 {
     m_name = m_url.fileName();
 }
 
-PLSPlaylist::PLSPlaylist( Meta::TrackList tracks )
+PLSPlaylist::PLSPlaylist( TrackList tracks )
     : m_tracks( tracks )
-    , m_url( Playlists::newPlaylistFilePath( "pls" ) )
+    , m_url( Meta::newPlaylistFilePath( "pls" ) )
 {
     m_name = m_url.fileName();
 }
diff --git a/src/core-implementations/playlists/file/pls/PLSPlaylist.h b/src/core-implementations/playlists/file/pls/PLSPlaylist.h
index 38d052b..a88a919 100644
--- a/src/core-implementations/playlists/file/pls/PLSPlaylist.h
+++ b/src/core-implementations/playlists/file/pls/PLSPlaylist.h
@@ -22,7 +22,7 @@
 class QTextStream;
 class QFile;
 
-namespace Playlists {
+namespace Meta {
 
 class PLSPlaylist;
 
@@ -36,7 +36,7 @@ class AMAROK_EXPORT_TESTS PLSPlaylist : public PlaylistFile
 {
     public:
         PLSPlaylist();
-        PLSPlaylist( Meta::TrackList tracks );
+        PLSPlaylist( TrackList tracks );
         PLSPlaylist( const KUrl &url );
 
         ~PLSPlaylist();
@@ -47,7 +47,7 @@ class AMAROK_EXPORT_TESTS PLSPlaylist : public PlaylistFile
         virtual QString description() const;
 
         /** returns all tracks in this playlist */
-        Meta::TrackList tracks() { return m_tracks; }
+        TrackList tracks() { return m_tracks; }
 
         bool hasCapabilityInterface( Capabilities::Capability::Type type ) const { Q_UNUSED( type ); return false; }
 
@@ -71,7 +71,7 @@ class AMAROK_EXPORT_TESTS PLSPlaylist : public PlaylistFile
 
 }
 
-Q_DECLARE_METATYPE( Playlists::PLSPlaylistPtr )
-Q_DECLARE_METATYPE( Playlists::PLSPlaylistList )
+Q_DECLARE_METATYPE( Meta::PLSPlaylistPtr )
+Q_DECLARE_METATYPE( Meta::PLSPlaylistList )
 
 #endif
diff --git a/src/core-implementations/playlists/file/xspf/XSPFPlaylist.cpp b/src/core-implementations/playlists/file/xspf/XSPFPlaylist.cpp
index 89e6a0d..45872c0 100644
--- a/src/core-implementations/playlists/file/xspf/XSPFPlaylist.cpp
+++ b/src/core-implementations/playlists/file/xspf/XSPFPlaylist.cpp
@@ -42,7 +42,7 @@
 
 #include <typeinfo>
 
-namespace Playlists
+namespace Meta
 {
 
 XSPFPlaylist::XSPFPlaylist()
@@ -176,23 +176,23 @@ XSPFPlaylist::loadXSPF( QTextStream &stream )
 
     //FIXME: this needs to be moved to whatever is creating the XSPFPlaylist
     if( m_autoAppendAfterLoad )
-        The::playlistController()->insertPlaylist( ::Playlist::ModelStack::instance()->bottom()->rowCount(), Playlists::PlaylistPtr( this ) );
+        The::playlistController()->insertPlaylist( ::Playlist::ModelStack::instance()->bottom()->rowCount(), Meta::PlaylistPtr( this ) );
 
     return true;
 }
 
-Meta::TrackList
+TrackList
 XSPFPlaylist::tracks()
 {
     if( m_tracksLoaded )
         return m_tracks;
 
     XSPFTrackList xspfTracks = trackList();
-    Meta::TrackList tracks;
+    TrackList tracks;
 
     foreach( const XSPFTrack &track, xspfTracks )
     {
-        Meta::TrackPtr trackPtr;
+        TrackPtr trackPtr;
         if( !track.identifier.isEmpty() )
             trackPtr = CollectionManager::instance()->trackForUrl( track.identifier );
         else
@@ -263,7 +263,7 @@ XSPFPlaylist::tracks()
 void
 XSPFPlaylist::addTrack( Meta::TrackPtr track, int position )
 {
-    Meta::TrackList trackList = tracks();
+    TrackList trackList = tracks();
     int trackPos = position < 0 ? trackList.count() : position;
     if( trackPos > trackList.count() )
         trackPos = trackList.count();
@@ -278,7 +278,7 @@ XSPFPlaylist::addTrack( Meta::TrackPtr track, int position )
 void
 XSPFPlaylist::removeTrack( int position )
 {
-    Meta::TrackList trackList = tracks();
+    TrackList trackList = tracks();
     if( position < 0  || position > trackList.count() )
         return;
 
@@ -798,4 +798,4 @@ XSPFPlaylist::setName( const QString &name )
     setTitle( name );
 }
 
-} //namespace Playlists
+} //namespace Meta
diff --git a/src/core-implementations/playlists/file/xspf/XSPFPlaylist.h b/src/core-implementations/playlists/file/xspf/XSPFPlaylist.h
index 26bc9fb..9ca0be7 100644
--- a/src/core-implementations/playlists/file/xspf/XSPFPlaylist.h
+++ b/src/core-implementations/playlists/file/xspf/XSPFPlaylist.h
@@ -27,7 +27,7 @@
 class QTextStream;
 class KUrl;
 
-namespace Playlists
+namespace Meta
 {
 class XSPFPlaylist;
 
@@ -76,7 +76,7 @@ public:
     virtual QString description() const;
 
     /** returns all tracks in this playlist */
-    Meta::TrackList tracks();
+    TrackList tracks();
     virtual void addTrack( Meta::TrackPtr track, int position = -1 );
     virtual void removeTrack( int position );
 
@@ -105,7 +105,7 @@ public:
     void setLicense( const KUrl &license );
     void setAttribution( const KUrl &attribution, bool append = true );
     void setLink( const KUrl &link );
-    void setTrackList( Meta::TrackList trackList, bool append = false );
+    void setTrackList( TrackList trackList, bool append = false );
 
     //TODO: implement these
     void beginMetaDataUpdate() {}
@@ -134,7 +134,7 @@ private:
     bool loadXSPF( QTextStream& );
     bool m_tracksLoaded;
     //cache for the tracklist since a tracks() is a called *a lot*.
-    Meta::TrackList m_tracks;
+    TrackList m_tracks;
 
     KUrl m_url;
     bool m_autoAppendAfterLoad;
@@ -142,7 +142,7 @@ private:
 
 }
 
-Q_DECLARE_METATYPE( Playlists::XSPFPlaylistPtr )
-Q_DECLARE_METATYPE( Playlists::XSPFPlaylistList )
+Q_DECLARE_METATYPE( Meta::XSPFPlaylistPtr )
+Q_DECLARE_METATYPE( Meta::XSPFPlaylistList )
 
 #endif
diff --git a/src/core-implementations/podcasts/sql/SqlPodcastMeta.cpp b/src/core-implementations/podcasts/sql/SqlPodcastMeta.cpp
index 24b8ad2..7f85c3c 100644
--- a/src/core-implementations/podcasts/sql/SqlPodcastMeta.cpp
+++ b/src/core-implementations/podcasts/sql/SqlPodcastMeta.cpp
@@ -471,15 +471,15 @@ SqlPodcastEpisode::deleteFromDb()
         QString( "DELETE FROM podcastepisodes WHERE id = %1;" ).arg( dbId() ) );
 }
 
-Playlists::PlaylistPtr
-SqlPodcastChannel::toPlaylistPtr( SqlPodcastChannelPtr sqlChannel )
+Meta::PlaylistPtr
+Podcasts::SqlPodcastChannel::toPlaylistPtr( SqlPodcastChannelPtr sqlChannel )
 {
-    Playlists::PlaylistPtr playlist = Playlists::PlaylistPtr::dynamicCast( sqlChannel );
+    Meta::PlaylistPtr playlist = Meta::PlaylistPtr::dynamicCast( sqlChannel );
     return playlist;
 }
 
-SqlPodcastChannelPtr
-SqlPodcastChannel::fromPlaylistPtr( Playlists::PlaylistPtr playlist )
+Podcasts::SqlPodcastChannelPtr
+Podcasts::SqlPodcastChannel::fromPlaylistPtr( Meta::PlaylistPtr playlist )
 {
     SqlPodcastChannelPtr sqlChannel = SqlPodcastChannelPtr::dynamicCast( playlist );
     return sqlChannel;
@@ -556,10 +556,10 @@ SqlPodcastChannel::SqlPodcastChannel( Podcasts::SqlPodcastProvider *provider,
     }
 }
 
-Playlists::PlaylistProvider *
-SqlPodcastChannel::provider() const
+PlaylistProvider *
+Podcasts::SqlPodcastChannel::provider() const
 {
-    return dynamic_cast<Playlists::PlaylistProvider *>( m_provider );
+    return dynamic_cast<PlaylistProvider *>( m_provider );
 }
 
 SqlPodcastChannel::~SqlPodcastChannel()
@@ -740,4 +740,3 @@ SqlPodcastChannel::loadEpisodes()
         m_episodes << SqlPodcastEpisodePtr( episode );
     }
 }
-
diff --git a/src/core-implementations/podcasts/sql/SqlPodcastMeta.h b/src/core-implementations/podcasts/sql/SqlPodcastMeta.h
index 3ced6ad..4a41b8d 100644
--- a/src/core-implementations/podcasts/sql/SqlPodcastMeta.h
+++ b/src/core-implementations/podcasts/sql/SqlPodcastMeta.h
@@ -89,8 +89,8 @@ class SqlPodcastEpisode : public Podcasts::PodcastEpisode
 class SqlPodcastChannel : public Podcasts::PodcastChannel
 {
     public:
-        static Playlists::PlaylistPtr toPlaylistPtr( SqlPodcastChannelPtr sqlChannel );
-        static SqlPodcastChannelPtr fromPlaylistPtr( Playlists::PlaylistPtr playlist );
+        static Meta::PlaylistPtr toPlaylistPtr( SqlPodcastChannelPtr sqlChannel );
+        static SqlPodcastChannelPtr fromPlaylistPtr( Meta::PlaylistPtr playlist );
 
         SqlPodcastChannel( SqlPodcastProvider *provider, const QStringList &queryResult );
 
@@ -99,9 +99,9 @@ class SqlPodcastChannel : public Podcasts::PodcastChannel
         SqlPodcastChannel( SqlPodcastProvider *provider, PodcastChannelPtr channel );
 
         ~SqlPodcastChannel();
-        // Playlists::Playlist methods
-        virtual Meta::TrackList tracks() { return Podcasts::SqlPodcastEpisode::toTrackList( m_episodes ); }
-        virtual Playlists::PlaylistProvider *provider() const;
+        // Meta::Playlist methods
+        virtual Meta::TrackList tracks() { return SqlPodcastEpisode::toTrackList( m_episodes ); }
+        virtual PlaylistProvider *provider() const;
 
         //Podcasts::PodcastChannel methods
         virtual void setTitle( const QString &title );
diff --git a/src/core-implementations/podcasts/sql/SqlPodcastProvider.cpp b/src/core-implementations/podcasts/sql/SqlPodcastProvider.cpp
index 037fac1..d401395 100644
--- a/src/core-implementations/podcasts/sql/SqlPodcastProvider.cpp
+++ b/src/core-implementations/podcasts/sql/SqlPodcastProvider.cpp
@@ -247,15 +247,15 @@ SqlPodcastProvider::trackForUrl( const KUrl &url )
     return Meta::TrackPtr::dynamicCast( episode );
 }
 
-Playlists::PlaylistList
+Meta::PlaylistList
 SqlPodcastProvider::playlists()
 {
-    Playlists::PlaylistList playlistList;
+    Meta::PlaylistList playlistList;
 
     QListIterator<Podcasts::SqlPodcastChannelPtr> i( m_channels );
     while( i.hasNext() )
     {
-        playlistList << Playlists::PlaylistPtr::staticCast( i.next() );
+        playlistList << Meta::PlaylistPtr::staticCast( i.next() );
     }
     return playlistList;
 }
diff --git a/src/core-implementations/podcasts/sql/SqlPodcastProvider.h b/src/core-implementations/podcasts/sql/SqlPodcastProvider.h
index b588aed..54a0b0d 100644
--- a/src/core-implementations/podcasts/sql/SqlPodcastProvider.h
+++ b/src/core-implementations/podcasts/sql/SqlPodcastProvider.h
@@ -50,7 +50,7 @@ class SqlPodcastProvider : public Podcasts::PodcastProvider
         QString prettyName() const { return i18n("Local Podcasts"); }
         KIcon icon() const { return KIcon( "server-database" ); }
 
-        Playlists::PlaylistList playlists();
+        Meta::PlaylistList playlists();
 
         //PodcastProvider methods
         virtual Podcasts::PodcastEpisodePtr episodeForGuid( const QString &guid );
diff --git a/src/core/collections/Collection.h b/src/core/collections/Collection.h
index 3cd9ac6..749d19a 100644
--- a/src/core/collections/Collection.h
+++ b/src/core/collections/Collection.h
@@ -130,7 +130,7 @@ class AMAROK_EXPORT Collection : public QObject, public TrackProvider, public Co
            @return The UserPlaylistProvider that belongs to this collection.
 
         */
-        virtual Playlists::UserPlaylistProvider* userPlaylistProvider() { return 0; }
+        virtual UserPlaylistProvider* userPlaylistProvider() { return 0; }
         /**
             Begin a full scan on the collection.  This is not valid for all collections.
         */
diff --git a/src/core/meta/impl/multi/MultiTrack.cpp b/src/core/meta/impl/multi/MultiTrack.cpp
index 0e5d0aa..3241f87 100644
--- a/src/core/meta/impl/multi/MultiTrack.cpp
+++ b/src/core/meta/impl/multi/MultiTrack.cpp
@@ -21,7 +21,7 @@
 
 namespace Meta {
 
-MultiTrack::MultiTrack( Playlists::PlaylistPtr playlist )
+MultiTrack::MultiTrack( PlaylistPtr playlist )
     : QObject()
     , Track()
     , m_playlist( playlist )
diff --git a/src/core/meta/impl/multi/MultiTrack.h b/src/core/meta/impl/multi/MultiTrack.h
index 5963aa8..282fb97 100644
--- a/src/core/meta/impl/multi/MultiTrack.h
+++ b/src/core/meta/impl/multi/MultiTrack.h
@@ -33,7 +33,7 @@ class MultiTrack : public QObject, public Track, public Meta::Observer
 {
     Q_OBJECT
 public:
-    MultiTrack( Playlists::PlaylistPtr playlist );
+    MultiTrack( PlaylistPtr playlist );
     ~MultiTrack();
 
     KUrl first();
@@ -88,7 +88,7 @@ signals:
     void urlChanged( const KUrl &url );
 
 private:
-    Playlists::PlaylistPtr m_playlist;
+    PlaylistPtr m_playlist;
     TrackPtr m_currentTrack;
     int m_index;
 
diff --git a/src/core/playlists/Playlist.cpp b/src/core/playlists/Playlist.cpp
index 180f95c..32b7bb2 100644
--- a/src/core/playlists/Playlist.cpp
+++ b/src/core/playlists/Playlist.cpp
@@ -17,16 +17,16 @@
 #include "core/playlists/Playlist.h"
 
 
-Playlists::PlaylistObserver::~PlaylistObserver()
+Meta::PlaylistObserver::~PlaylistObserver()
 {
-    foreach( Playlists::PlaylistPtr playlist, m_playlistSubscriptions )
+    foreach( Meta::PlaylistPtr playlist, m_playlistSubscriptions )
     {
         playlist->unsubscribe( this );
     }
 }
 
 void
-Playlists::PlaylistObserver::subscribeTo( Playlists::PlaylistPtr playlist )
+Meta::PlaylistObserver::subscribeTo( Meta::PlaylistPtr playlist )
 {
     if( playlist )
     {
@@ -36,7 +36,7 @@ Playlists::PlaylistObserver::subscribeTo( Playlists::PlaylistPtr playlist )
 }
 
 void
-Playlists::PlaylistObserver::unsubscribeFrom( Playlists::PlaylistPtr playlist )
+Meta::PlaylistObserver::unsubscribeFrom( Meta::PlaylistPtr playlist )
 {
     if( playlist )
     {
diff --git a/src/core/playlists/Playlist.h b/src/core/playlists/Playlist.h
index 460fec3..9abc814 100644
--- a/src/core/playlists/Playlist.h
+++ b/src/core/playlists/Playlist.h
@@ -32,12 +32,12 @@
 #include <KSharedPtr>
 #include <KUrl>
 
+class PlaylistProvider;
 class QTextStream;
 
-namespace Playlists
+namespace Meta
 {
     class Playlist;
-    class PlaylistProvider;
 
     typedef KSharedPtr<Playlist> PlaylistPtr;
     typedef QList<PlaylistPtr> PlaylistList;
@@ -56,7 +56,7 @@ namespace Playlists
 
             /** This method is called when a track has been added to the playlist.
              */
-            virtual void trackAdded( PlaylistPtr playlist, Meta::TrackPtr track, int position ) = 0;
+            virtual void trackAdded( PlaylistPtr playlist, TrackPtr track, int position ) = 0;
             /** This method is called when a track is removed from to the playlist.
              */
             virtual void trackRemoved( PlaylistPtr playlist, int position ) = 0;
@@ -85,7 +85,7 @@ namespace Playlists
               */
             virtual int trackCount() const { return -1; }
             /** returns all tracks in this playlist */
-            virtual Meta::TrackList tracks() = 0;
+            virtual TrackList tracks() = 0;
             virtual void addTrack( Meta::TrackPtr track, int position = -1 )
                     { Q_UNUSED(track); Q_UNUSED(position); }
             virtual void removeTrack( int position ) { Q_UNUSED(position); }
@@ -141,29 +141,29 @@ namespace Playlists
         protected:
             inline void notifyObserversTrackAdded( Meta::TrackPtr track, int position )
             {
-                foreach( Playlists::PlaylistObserver *observer, m_observers )
+                foreach( Meta::PlaylistObserver *observer, m_observers )
                 {
                     if( m_observers.contains( observer ) ) // guard against observers removing themselves in destructors
-                        observer->trackAdded( Playlists::PlaylistPtr( this ), track, position );
+                        observer->trackAdded( Meta::PlaylistPtr( this ), track, position );
                 }
             }
 
             inline void notifyObserversTrackRemoved( int position )
             {
-                foreach( Playlists::PlaylistObserver *observer, m_observers )
+                foreach( Meta::PlaylistObserver *observer, m_observers )
                 {
                     if( m_observers.contains( observer ) ) // guard against observers removing themselves in destructors
-                        observer->trackRemoved( Playlists::PlaylistPtr( this ), position );
+                        observer->trackRemoved( Meta::PlaylistPtr( this ), position );
                 }
             }
 
-            QSet<Playlists::PlaylistObserver*> m_observers;
+            QSet<Meta::PlaylistObserver*> m_observers;
             QString m_name;
     };
 
 }
 
-Q_DECLARE_METATYPE( Playlists::PlaylistPtr )
-Q_DECLARE_METATYPE( Playlists::PlaylistList )
+Q_DECLARE_METATYPE( Meta::PlaylistPtr )
+Q_DECLARE_METATYPE( Meta::PlaylistList )
 
 #endif
diff --git a/src/core/playlists/PlaylistProvider.h b/src/core/playlists/PlaylistProvider.h
index ac77191..2bba72a 100644
--- a/src/core/playlists/PlaylistProvider.h
+++ b/src/core/playlists/PlaylistProvider.h
@@ -26,8 +26,6 @@
 class QAction;
 class KIcon;
 
-namespace Playlists {
-
 class AMAROK_EXPORT PlaylistProvider : public QObject, public Plugins::Plugin
 {
     Q_OBJECT
@@ -52,11 +50,11 @@ class AMAROK_EXPORT PlaylistProvider : public QObject, public Plugins::Plugin
          * can not determine that before loading them all.
          */
         virtual int playlistCount() const { return -1; }
-        virtual Playlists::PlaylistList playlists() = 0;
+        virtual Meta::PlaylistList playlists() = 0;
 
         virtual QList<QAction *> providerActions() { return QList<QAction *>(); }
-        virtual QList<QAction *> playlistActions( Playlists::PlaylistPtr playlist ) = 0;
-        virtual QList<QAction *> trackActions( Playlists::PlaylistPtr playlist,
+        virtual QList<QAction *> playlistActions( Meta::PlaylistPtr playlist ) = 0;
+        virtual QList<QAction *> trackActions( Meta::PlaylistPtr playlist,
                                                   int trackIndex ) = 0;
 
     signals:
@@ -64,6 +62,4 @@ class AMAROK_EXPORT PlaylistProvider : public QObject, public Plugins::Plugin
 
 };
 
-} //namespace Playlists
-
 #endif // AMAROK_PLAYLISTPROVIDER_H
diff --git a/src/core/playlists/impl/dynamic/DynamicPlaylist.cpp b/src/core/playlists/impl/dynamic/DynamicPlaylist.cpp
index f8fdfed..08f6a93 100644
--- a/src/core/playlists/impl/dynamic/DynamicPlaylist.cpp
+++ b/src/core/playlists/impl/dynamic/DynamicPlaylist.cpp
@@ -18,7 +18,7 @@
 
 #include <KLocale>
 
-namespace Playlists {
+namespace Meta {
 
 DynamicPlaylist::DynamicPlaylist( PlaylistPtr playlist )
  : Playlist()
diff --git a/src/core/playlists/impl/dynamic/DynamicPlaylist.h b/src/core/playlists/impl/dynamic/DynamicPlaylist.h
index 1e9c042..fea4ca0 100644
--- a/src/core/playlists/impl/dynamic/DynamicPlaylist.h
+++ b/src/core/playlists/impl/dynamic/DynamicPlaylist.h
@@ -19,7 +19,7 @@
 
 #include "core/playlists/Playlist.h"
 
-namespace Playlists {
+namespace Meta {
 
 /**
  * Base Class for all dynamic playlists.
@@ -32,7 +32,7 @@ class AMAROK_EXPORT DynamicPlaylist : public Playlist
 
         ~DynamicPlaylist();
 
-        /* Playlists::Playlist virtuals */
+        /* Meta::Playlist virtuals */
         virtual QString name() const { return prettyName(); };
         virtual QString prettyName() const;
 
diff --git a/src/core/playlists/providers/user/UserPlaylistProvider.cpp b/src/core/playlists/providers/user/UserPlaylistProvider.cpp
index fe9dd0b..21a914b 100644
--- a/src/core/playlists/providers/user/UserPlaylistProvider.cpp
+++ b/src/core/playlists/providers/user/UserPlaylistProvider.cpp
@@ -16,31 +16,32 @@
 
 #include "core/playlists/providers/user/UserPlaylistProvider.h"
 
-Playlists::UserPlaylistProvider::~UserPlaylistProvider()
+
+UserPlaylistProvider::~UserPlaylistProvider()
 {
 }
 
 int
-Playlists::UserPlaylistProvider::category() const
+UserPlaylistProvider::category() const
 {
-     return Playlists::UserPlaylist;
+     return Meta::UserPlaylist;
 }
 
 bool
-Playlists::UserPlaylistProvider::supportsEmptyGroups()
+UserPlaylistProvider::supportsEmptyGroups()
 {
     return false;
 }
 
 QList<QAction *>
-Playlists::UserPlaylistProvider::playlistActions( Playlists::PlaylistPtr playlist )
+UserPlaylistProvider::playlistActions( Meta::PlaylistPtr playlist )
 {
     Q_UNUSED( playlist );
     return QList<QAction *>();
 }
 
 QList<QAction *>
-Playlists::UserPlaylistProvider::trackActions( Playlists::PlaylistPtr playlist, int trackIndex )
+UserPlaylistProvider::trackActions( Meta::PlaylistPtr playlist, int trackIndex )
 {
     Q_UNUSED( playlist );
     Q_UNUSED( trackIndex );
diff --git a/src/core/playlists/providers/user/UserPlaylistProvider.h b/src/core/playlists/providers/user/UserPlaylistProvider.h
index 9ede4ad..e108a34 100644
--- a/src/core/playlists/providers/user/UserPlaylistProvider.h
+++ b/src/core/playlists/providers/user/UserPlaylistProvider.h
@@ -23,8 +23,6 @@
 
 class QAction;
 
-namespace Playlists {
-
 /**
     @author Bart Cerneels <bart.cerneels at kde.org>
 */
@@ -45,28 +43,26 @@ class AMAROK_EXPORT UserPlaylistProvider : public PlaylistProvider
 
         /**
             Save a list of tracks as a playlist in the database.
-            @returns a non-null Playlists::PlaylistPtr if successful
+            @returns a non-null Meta::PlaylistPtr if successful
         **/
-        virtual Playlists::PlaylistPtr save( const Meta::TrackList &tracks ) = 0;
+        virtual Meta::PlaylistPtr save( const Meta::TrackList &tracks ) = 0;
 
-        virtual Playlists::PlaylistPtr save( const Meta::TrackList &tracks, const QString& name ) = 0;
+        virtual Meta::PlaylistPtr save( const Meta::TrackList &tracks, const QString& name ) = 0;
 
         virtual bool supportsEmptyGroups();
 
-        virtual QList<QAction *> playlistActions( Playlists::PlaylistPtr playlist );
-        virtual QList<QAction *> trackActions( Playlists::PlaylistPtr playlist,
+        virtual QList<QAction *> playlistActions( Meta::PlaylistPtr playlist );
+        virtual QList<QAction *> trackActions( Meta::PlaylistPtr playlist,
                                                   int trackIndex );
 
         // UserPlaylistProvider-specific
 
         virtual bool isWritable() { return false; }
-        virtual void rename( Playlists::PlaylistPtr playlist, const QString &newName ) {Q_UNUSED( playlist ) Q_UNUSED(newName)}
-        virtual void deletePlaylists( Playlists::PlaylistList playlistlist ) { Q_UNUSED( playlistlist ) }
+        virtual void rename( Meta::PlaylistPtr playlist, const QString &newName ) {Q_UNUSED( playlist ) Q_UNUSED(newName)}
+        virtual void deletePlaylists( Meta::PlaylistList playlistlist ) { Q_UNUSED( playlistlist ) }
 
     signals:
             void updated();
 };
 
-} //namespace Playlists
-
 #endif
diff --git a/src/core/podcasts/PodcastMeta.h b/src/core/podcasts/PodcastMeta.h
index bde70f6..588755d 100644
--- a/src/core/podcasts/PodcastMeta.h
+++ b/src/core/podcasts/PodcastMeta.h
@@ -198,7 +198,7 @@ class AMAROK_EXPORT PodcastEpisode : public PodcastMetaCommon, public Meta::Trac
         Meta::YearPtr m_yearPtr;
 };
 
-class AMAROK_EXPORT PodcastChannel : public PodcastMetaCommon, public Playlists::Playlist
+class AMAROK_EXPORT PodcastChannel : public PodcastMetaCommon, public Meta::Playlist
 {
     public:
 
@@ -210,7 +210,7 @@ class AMAROK_EXPORT PodcastChannel : public PodcastMetaCommon, public Playlists:
 
         PodcastChannel()
             : PodcastMetaCommon()
-            , Playlist()
+            , Meta::Playlist()
             , m_image()
             , m_subscribeDate()
             , m_copyright()
diff --git a/src/core/podcasts/PodcastProvider.h b/src/core/podcasts/PodcastProvider.h
index db28e2b..03a4ac3 100644
--- a/src/core/podcasts/PodcastProvider.h
+++ b/src/core/podcasts/PodcastProvider.h
@@ -18,6 +18,7 @@
 #define PODCASTPROVIDER_H
 
 #include "core/collections/Collection.h"
+#include "core/playlists/PlaylistProvider.h"
 #include "core/podcasts/PodcastMeta.h"
 
 #include <kio/jobclasses.h>
@@ -31,7 +32,7 @@ namespace Podcasts {
 /**
 	@author Bart Cerneels <bart.cerneels at kde.org>
 */
-class AMAROK_EXPORT PodcastProvider : public Collections::TrackProvider, public Playlists::PlaylistProvider
+class AMAROK_EXPORT PodcastProvider : public Collections::TrackProvider, public PlaylistProvider
 {
     //Q_OBJECT
     public:
@@ -67,9 +68,9 @@ class AMAROK_EXPORT PodcastProvider : public Collections::TrackProvider, public
         virtual QString prettyName() const = 0;
         virtual KIcon icon() const = 0;
 
-        virtual int category() const { return (int)Playlists::PodcastChannelPlaylist; }
+        virtual int category() const { return (int)Meta::PodcastChannelPlaylist; }
 
-        virtual Playlists::PlaylistList playlists() = 0;
+        virtual Meta::PlaylistList playlists() = 0;
 
         virtual QList<QAction *> episodeActions( Podcasts::PodcastEpisodeList )
             { return QList<QAction *>(); }
@@ -77,9 +78,9 @@ class AMAROK_EXPORT PodcastProvider : public Collections::TrackProvider, public
             { return QList<QAction *>(); }
 
         virtual QList<QAction *> providerActions() { return QList<QAction *>(); }
-        virtual QList<QAction *> playlistActions( Playlists::PlaylistPtr playlist )
+        virtual QList<QAction *> playlistActions( Meta::PlaylistPtr playlist )
                 { Q_UNUSED( playlist ) return QList<QAction *>(); }
-        virtual QList<QAction *> trackActions( Playlists::PlaylistPtr playlist,
+        virtual QList<QAction *> trackActions( Meta::PlaylistPtr playlist,
                                                   int trackIndex )
                 { Q_UNUSED( playlist) Q_UNUSED( trackIndex ) return QList<QAction *>(); }
 
diff --git a/src/core/support/Amarok.cpp b/src/core/support/Amarok.cpp
index cf27d08..e80b1e6 100644
--- a/src/core/support/Amarok.cpp
+++ b/src/core/support/Amarok.cpp
@@ -375,7 +375,7 @@ namespace Amarok
         // users often have playlist files that reflect directories
         // higher up, or stuff in this directory. Don't add them as
         // it produces double entries
-        if ( !Playlists::isPlaylist( ( *it ).fileName() ) )
+        if ( !Meta::isPlaylist( ( *it ).fileName() ) )
             urls += *it;
         return urls;
     }
diff --git a/src/playlist/PlaylistController.cpp b/src/playlist/PlaylistController.cpp
index 10e4da3..67b5a2f 100644
--- a/src/playlist/PlaylistController.cpp
+++ b/src/playlist/PlaylistController.cpp
@@ -157,7 +157,7 @@ Playlist::Controller::insertOptioned( Meta::TrackList list, int options )
 }
 
 void
-Playlist::Controller::insertOptioned( Playlists::PlaylistPtr playlist, int options )
+Playlist::Controller::insertOptioned( Meta::PlaylistPtr playlist, int options )
 {
     DEBUG_BLOCK
     if( !playlist )
@@ -167,11 +167,11 @@ Playlist::Controller::insertOptioned( Playlists::PlaylistPtr playlist, int optio
 }
 
 void
-Playlist::Controller::insertOptioned( Playlists::PlaylistList list, int options )
+Playlist::Controller::insertOptioned( Meta::PlaylistList list, int options )
 {
     DEBUG_BLOCK
 
-    foreach( Playlists::PlaylistPtr playlist, list )
+    foreach( Meta::PlaylistPtr playlist, list )
         insertOptioned( playlist, options );
 }
 
@@ -217,7 +217,7 @@ Playlist::Controller::insertTracks( int topModelRow, Meta::TrackList tl )
 }
 
 void
-Playlist::Controller::insertPlaylist( int topModelRow, Playlists::PlaylistPtr playlist )
+Playlist::Controller::insertPlaylist( int topModelRow, Meta::PlaylistPtr playlist )
 {
     DEBUG_BLOCK
     Meta::TrackList tl( playlist->tracks() );
@@ -225,11 +225,11 @@ Playlist::Controller::insertPlaylist( int topModelRow, Playlists::PlaylistPtr pl
 }
 
 void
-Playlist::Controller::insertPlaylists( int topModelRow, Playlists::PlaylistList playlists )
+Playlist::Controller::insertPlaylists( int topModelRow, Meta::PlaylistList playlists )
 {
     DEBUG_BLOCK
     Meta::TrackList tl;
-    foreach( Playlists::PlaylistPtr playlist, playlists )
+    foreach( Meta::PlaylistPtr playlist, playlists )
     {
         tl += playlist->tracks();
     }
@@ -578,9 +578,9 @@ Playlist::Controller::insertionHelper( int bottomModelRow, Meta::TrackList& tl )
         if ( track == Meta::TrackPtr() )
         { /*ignore*/ }
 
-        else if( Playlists::canExpand( track ) )
+        else if( Meta::canExpand( track ) )
         {
-            Playlists::PlaylistPtr playlist = Playlists::expand( track ); //expand() can return 0 if the KIO job times out
+            Meta::PlaylistPtr playlist = Meta::expand( track ); //expand() can return 0 if the KIO job times out
             if( playlist )
             {
                 //since this is a playlist masqueurading as a single track, make a MultiTrack out of it:
diff --git a/src/playlist/PlaylistController.h b/src/playlist/PlaylistController.h
index 5dad9a4..7a84e4e 100644
--- a/src/playlist/PlaylistController.h
+++ b/src/playlist/PlaylistController.h
@@ -74,8 +74,8 @@ public slots:
      * @see enum AddOptions.
      */
     void insertOptioned( Meta::TrackList list, int options );
-    void insertOptioned( Playlists::PlaylistPtr playlist, int options );
-    void insertOptioned( Playlists::PlaylistList list, int options );
+    void insertOptioned( Meta::PlaylistPtr playlist, int options );
+    void insertOptioned( Meta::PlaylistList list, int options );
     void insertOptioned( QueryMaker *qm, int options );
     void insertOptioned( QList<KUrl>& urls, int options );
 
@@ -87,8 +87,8 @@ public slots:
      */
     void insertTrack( int topModelRow, Meta::TrackPtr track );
     void insertTracks( int topModelRow, Meta::TrackList list );
-    void insertPlaylist( int topModelRow, Playlists::PlaylistPtr playlist );
-    void insertPlaylists( int topModelRow, Playlists::PlaylistList playlists );
+    void insertPlaylist( int topModelRow, Meta::PlaylistPtr playlist );
+    void insertPlaylists( int topModelRow, Meta::PlaylistList playlists );
     void insertTracks( int topModelRow, QueryMaker *qm );
     void insertUrls( int topModelRow, const QList<KUrl>& urls );
 
diff --git a/src/playlist/PlaylistModel.cpp b/src/playlist/PlaylistModel.cpp
index 1915d80..76379a1 100644
--- a/src/playlist/PlaylistModel.cpp
+++ b/src/playlist/PlaylistModel.cpp
@@ -66,7 +66,7 @@ Playlist::Model::Model( QObject *parent )
      */
     The::playlistManager();
 
-    Playlists::PlaylistFilePtr playlist = Playlists::loadPlaylistFile( defaultPlaylistPath() );
+    Meta::PlaylistFilePtr playlist = Meta::loadPlaylistFile( defaultPlaylistPath() );
     if ( playlist )
     {
         Meta::TrackList tracks = playlist->tracks();
@@ -78,9 +78,9 @@ Playlist::Model::Model( QObject *parent )
             Meta::TrackPtr track = i.value();
             if ( ! track )
                 i.remove();
-            else if( Playlists::canExpand( track ) )
+            else if( Meta::canExpand( track ) )
             {
-                Playlists::PlaylistPtr playlist = Playlists::expand( track );
+                Meta::PlaylistPtr playlist = Meta::expand( track );
                 //expand() can return 0 if the KIO job errors out
                 if( playlist )
                 {
@@ -674,7 +674,7 @@ Playlist::Model::metadataChanged( Meta::AlbumPtr album )
 bool
 Playlist::Model::exportPlaylist( const QString &path ) const
 {
-    return Playlists::exportPlaylistFile( tracks(), path );
+    return Meta::exportPlaylistFile( tracks(), path );
 }
 
 Meta::TrackList
diff --git a/src/playlist/PlaylistWidget.cpp b/src/playlist/PlaylistWidget.cpp
index ac278ed..aea6cc3 100644
--- a/src/playlist/PlaylistWidget.cpp
+++ b/src/playlist/PlaylistWidget.cpp
@@ -122,19 +122,19 @@ Playlist::Widget::Widget( QWidget* parent )
         m_saveActions = new KActionCollection( this );
         connect( m_savePlaylistMenu, SIGNAL( triggered( bool ) ),
                  SLOT( slotSaveCurrentPlaylist() ) );
-        foreach( Playlists::PlaylistProvider *provider, The::playlistManager()->providersForCategory(
+        foreach( PlaylistProvider *provider, The::playlistManager()->providersForCategory(
                             PlaylistManager::UserPlaylist ) )
         {
             playlistProviderAdded( provider, PlaylistManager::UserPlaylist );
         }
 
         connect( The::playlistManager(),
-                 SIGNAL( providerAdded( Playlists::PlaylistProvider *, int ) ),
-                 SLOT( playlistProviderAdded( Playlists::PlaylistProvider *, int ) )
+                 SIGNAL( providerAdded( PlaylistProvider *, int ) ),
+                 SLOT( playlistProviderAdded( PlaylistProvider *, int ) )
                  );
         connect( The::playlistManager(),
-                 SIGNAL( providerRemoved( Playlists::PlaylistProvider *, int ) ),
-                 SLOT( playlistProviderRemoved( Playlists::PlaylistProvider *, int ) )
+                 SIGNAL( providerRemoved( PlaylistProvider *, int ) ),
+                 SLOT( playlistProviderRemoved( PlaylistProvider *, int ) )
                  );
 
         plBar->addAction( m_savePlaylistMenu );
@@ -179,18 +179,18 @@ Playlist::Widget::paletteChanged( const QPalette& palette )
 }
 
 void
-Playlist::Widget::playlistProviderAdded( Playlists::PlaylistProvider *provider, int category )
+Playlist::Widget::playlistProviderAdded( PlaylistProvider *provider, int category )
 {
     if( category != PlaylistManager::UserPlaylist )
         return;
 
     debug() << "Adding provider: " << provider->objectName();
-    Playlists::UserPlaylistProvider *userProvider =
-            dynamic_cast<Playlists::UserPlaylistProvider *>(provider);
+    UserPlaylistProvider *userProvider =
+            dynamic_cast<UserPlaylistProvider *>(provider);
     if( userProvider == 0 )
         return;
     QAction *action = new KAction( userProvider->icon(), i18n("&Save playlist to \"%1\"", provider->prettyName() ), this );
-    action->setData( QVariant::fromValue( QPointer<Playlists::UserPlaylistProvider>( userProvider ) ) );
+    action->setData( QVariant::fromValue( QPointer<UserPlaylistProvider>( userProvider ) ) );
     m_saveActions->addAction( provider->objectName(), action );
 
     m_savePlaylistMenu->addAction( action );
@@ -198,7 +198,7 @@ Playlist::Widget::playlistProviderAdded( Playlists::PlaylistProvider *provider,
 }
 
 void
-Playlist::Widget::playlistProviderRemoved( Playlists::PlaylistProvider *provider, int category )
+Playlist::Widget::playlistProviderRemoved( PlaylistProvider *provider, int category )
 {
     if( category != PlaylistManager::UserPlaylist )
         return;
@@ -217,8 +217,8 @@ Playlist::Widget::slotSaveCurrentPlaylist()
     if( action == 0 )
         return;
 
-    Playlists::UserPlaylistProvider *provider =
-            action->data().value< QPointer<Playlists::UserPlaylistProvider> >();
+    UserPlaylistProvider *provider =
+            action->data().value< QPointer<UserPlaylistProvider> >();
 
     The::playlistManager()->save( The::playlist()->tracks(), QString(), provider );
 }
diff --git a/src/playlist/PlaylistWidget.h b/src/playlist/PlaylistWidget.h
index 249d462..6f93ac2 100644
--- a/src/playlist/PlaylistWidget.h
+++ b/src/playlist/PlaylistWidget.h
@@ -30,13 +30,10 @@
 
 class KActionCollection;
 class KActionMenu;
+class PlaylistProvider;
+class UserPlaylistProvider;
 class QWidget;
 
-namespace Playlists {
-    class PlaylistProvider;
-    class UserPlaylistProvider;
-}
-
 namespace Playlist
 {
 
@@ -63,8 +60,8 @@ protected:
 
 private slots:
     void paletteChanged( const QPalette& palette );
-    void playlistProviderAdded( Playlists::PlaylistProvider *provider, int category );
-    void playlistProviderRemoved( Playlists::PlaylistProvider *provider, int category );
+    void playlistProviderAdded( PlaylistProvider *provider, int category );
+    void playlistProviderRemoved( PlaylistProvider *provider, int category );
     void slotSaveCurrentPlaylist();
 
 private:
@@ -79,5 +76,5 @@ private:
 };
 }
 
-Q_DECLARE_METATYPE( QPointer<Playlists::UserPlaylistProvider> )
+Q_DECLARE_METATYPE( QPointer<UserPlaylistProvider> )
 #endif
diff --git a/src/playlist/proxymodels/ProxyBase.cpp b/src/playlist/proxymodels/ProxyBase.cpp
index a7361a7..3068937 100644
--- a/src/playlist/proxymodels/ProxyBase.cpp
+++ b/src/playlist/proxymodels/ProxyBase.cpp
@@ -104,7 +104,7 @@ ProxyBase::currentSearchTerm()
 bool
 ProxyBase::exportPlaylist( const QString &path ) const
 {
-    return Playlists::exportPlaylistFile( tracks(), path );
+    return Meta::exportPlaylistFile( tracks(), path );
 }
 
 void
diff --git a/src/playlistmanager/PlaylistManager.cpp b/src/playlistmanager/PlaylistManager.cpp
index 5fd2185..be4ca12 100644
--- a/src/playlistmanager/PlaylistManager.cpp
+++ b/src/playlistmanager/PlaylistManager.cpp
@@ -71,10 +71,10 @@ PlaylistManager::PlaylistManager()
     addProvider( m_defaultPodcastProvider, PlaylistManager::PodcastChannel );
     CollectionManager::instance()->addTrackProvider( m_defaultPodcastProvider );
 
-    m_defaultUserPlaylistProvider = new Playlists::SqlUserPlaylistProvider();
+    m_defaultUserPlaylistProvider = new SqlUserPlaylistProvider();
     addProvider( m_defaultUserPlaylistProvider, UserPlaylist );
 
-    m_playlistFileProvider = new Playlists::PlaylistFileProvider();
+    m_playlistFileProvider = new PlaylistFileProvider();
     addProvider( m_playlistFileProvider, UserPlaylist );
 }
 
@@ -86,7 +86,7 @@ PlaylistManager::~PlaylistManager()
 }
 
 void
-PlaylistManager::addProvider( Playlists::PlaylistProvider * provider, int category )
+PlaylistManager::addProvider( PlaylistProvider * provider, int category )
 {
     DEBUG_BLOCK
 
@@ -105,7 +105,7 @@ PlaylistManager::addProvider( Playlists::PlaylistProvider * provider, int catego
 }
 
 void
-PlaylistManager::removeProvider( Playlists::PlaylistProvider *provider )
+PlaylistManager::removeProvider( PlaylistProvider *provider )
 {
     DEBUG_BLOCK
 
@@ -136,14 +136,14 @@ PlaylistManager::slotUpdated( /*PlaylistProvider * provider*/ )
     emit(updated());
 }
 
-Playlists::PlaylistList
+Meta::PlaylistList
 PlaylistManager::playlistsOfCategory( int playlistCategory )
 {
     DEBUG_BLOCK
-    QList<Playlists::PlaylistProvider *> providers = m_providerMap.values( playlistCategory );
-    QListIterator<Playlists::PlaylistProvider *> i( providers );
+    QList<PlaylistProvider *> providers = m_providerMap.values( playlistCategory );
+    QListIterator<PlaylistProvider *> i( providers );
 
-    Playlists::PlaylistList list;
+    Meta::PlaylistList list;
     while ( i.hasNext() )
     {
         list << i.next()->playlists();
@@ -158,15 +158,15 @@ PlaylistManager::providersForCategory( int playlistCategory )
     return m_providerMap.values( playlistCategory );
 }
 
-Playlists::PlaylistProvider *
+PlaylistProvider *
 PlaylistManager::playlistProvider(int category, QString name)
 {
-    QList<Playlists::PlaylistProvider *> providers( m_providerMap.values( category ) );
+    QList<PlaylistProvider *> providers( m_providerMap.values( category ) );
 
-    QListIterator<Playlists::PlaylistProvider *> i(providers);
+    QListIterator<PlaylistProvider *> i(providers);
     while( i.hasNext() )
     {
-        Playlists::PlaylistProvider * p = static_cast<Playlists::PlaylistProvider *>( i.next() );
+        PlaylistProvider * p = static_cast<PlaylistProvider *>( i.next() );
         if( p->prettyName() == name )
             return p;
     }
@@ -175,7 +175,7 @@ PlaylistManager::playlistProvider(int category, QString name)
 }
 
 void
-PlaylistManager::downloadPlaylist( const KUrl &path, const Playlists::PlaylistFilePtr playlist )
+PlaylistManager::downloadPlaylist( const KUrl &path, const Meta::PlaylistFilePtr playlist )
 {
     DEBUG_BLOCK
 
@@ -200,7 +200,7 @@ PlaylistManager::downloadComplete( KJob * job )
         return ;
     }
 
-    Playlists::PlaylistFilePtr playlist = m_downloadJobMap.take( job );
+    Meta::PlaylistFilePtr playlist = m_downloadJobMap.take( job );
 
     QString contents = static_cast<KIO::StoredTransferJob *>(job)->data();
     QTextStream stream;
@@ -211,13 +211,13 @@ PlaylistManager::downloadComplete( KJob * job )
 
 bool
 PlaylistManager::save( Meta::TrackList tracks, const QString &name,
-                       Playlists::UserPlaylistProvider *toProvider )
+                       UserPlaylistProvider *toProvider )
 {
     AMAROK_DEPRECATED
     // used by: Playlist::Widget::slotSaveCurrentPlaylist()
-    //if toProvider is 0 use the default Playlists::UserPlaylistProvider (SQL)
-    Playlists::UserPlaylistProvider *prov = toProvider ? toProvider : m_defaultUserPlaylistProvider;
-    Playlists::PlaylistPtr playlist = Playlists::PlaylistPtr();
+    //if toProvider is 0 use the default UserPlaylistProvider (SQL)
+    UserPlaylistProvider *prov = toProvider ? toProvider : m_defaultUserPlaylistProvider;
+    Meta::PlaylistPtr playlist = Meta::PlaylistPtr();
     if( name.isEmpty() )
     {
         debug() << "Empty name of playlist, or editing now";
@@ -252,15 +252,15 @@ PlaylistManager::import( const QString& fromLocation )
 }
 
 void
-PlaylistManager::rename( Playlists::PlaylistPtr playlist )
+PlaylistManager::rename( Meta::PlaylistPtr playlist )
 {
     DEBUG_BLOCK
 
     if( playlist.isNull() )
         return;
 
-    Playlists::UserPlaylistProvider *prov;
-    prov = qobject_cast<Playlists::UserPlaylistProvider *>( getProviderForPlaylist( playlist ) );
+    UserPlaylistProvider *prov;
+    prov = qobject_cast<UserPlaylistProvider *>( getProviderForPlaylist( playlist ) );
 
     if( !prov )
         return;
@@ -278,20 +278,20 @@ PlaylistManager::rename( Playlists::PlaylistPtr playlist )
 }
 
 void
-PlaylistManager::deletePlaylists( Playlists::PlaylistList playlistlist )
+PlaylistManager::deletePlaylists( Meta::PlaylistList playlistlist )
 {
     // Map the playlists to their respective providers
 
-    QHash<Playlists::UserPlaylistProvider*, Playlists::PlaylistList> provLists;
-    foreach( Playlists::PlaylistPtr playlist, playlistlist )
+    QHash<UserPlaylistProvider*, Meta::PlaylistList> provLists;
+    foreach( Meta::PlaylistPtr playlist, playlistlist )
     {
         // Get the providers of the respective playlists
 
-        Playlists::UserPlaylistProvider *prov = qobject_cast<Playlists::UserPlaylistProvider *>( getProviderForPlaylist( playlist ) );
+        UserPlaylistProvider *prov = qobject_cast<UserPlaylistProvider *>( getProviderForPlaylist( playlist ) );
 
         if( prov )
         {
-            Playlists::PlaylistList pllist;
+            Meta::PlaylistList pllist;
             pllist << playlist;
             // If the provider already has at least one playlist to delete, add another to its list
             if( provLists.contains( prov ) )
@@ -307,25 +307,25 @@ PlaylistManager::deletePlaylists( Playlists::PlaylistList playlistlist )
 
     // Pass each list of playlists to the respective provider for deletion
 
-    foreach( Playlists::UserPlaylistProvider* prov, provLists.keys() )
+    foreach( UserPlaylistProvider* prov, provLists.keys() )
     {
         prov->deletePlaylists( provLists.value( prov ) ); //TODO: test
     }
 }
 
-Playlists::PlaylistProvider*
-PlaylistManager::getProviderForPlaylist( const Playlists::PlaylistPtr playlist )
+PlaylistProvider*
+PlaylistManager::getProviderForPlaylist( const Meta::PlaylistPtr playlist )
 {
     if( !playlist )
         return 0;
 
-    Playlists::PlaylistProvider* provider = playlist->provider();
+    PlaylistProvider* provider = playlist->provider();
     if( provider )
         return provider;
 
     // Iteratively check all providers' playlists for ownership
-    QList< Playlists::PlaylistProvider* > userPlaylists = m_providerMap.values( UserPlaylist );
-    foreach( Playlists::PlaylistProvider* provider, userPlaylists )
+    QList< PlaylistProvider* > userPlaylists = m_providerMap.values( UserPlaylist );
+    foreach( PlaylistProvider* provider, userPlaylists )
     {
         if( provider->playlists().contains( playlist ) )
                 return provider;
@@ -335,10 +335,10 @@ PlaylistManager::getProviderForPlaylist( const Playlists::PlaylistPtr playlist )
 
 
 bool
-PlaylistManager::isWritable( const Playlists::PlaylistPtr &playlist )
+PlaylistManager::isWritable( const Meta::PlaylistPtr &playlist )
 {
-    Playlists::UserPlaylistProvider *prov;
-    prov = qobject_cast<Playlists::UserPlaylistProvider *>( getProviderForPlaylist( playlist ) );
+    UserPlaylistProvider *prov;
+    prov = qobject_cast<UserPlaylistProvider *>( getProviderForPlaylist( playlist ) );
 
     if( prov )
         return prov->isWritable();
@@ -347,12 +347,12 @@ PlaylistManager::isWritable( const Playlists::PlaylistPtr &playlist )
 }
 
 QList<QAction *>
-PlaylistManager::playlistActions( const Playlists::PlaylistList playlists )
+PlaylistManager::playlistActions( const Meta::PlaylistList playlists )
 {
     QList<QAction *> actions;
-    foreach( const Playlists::PlaylistPtr playlist, playlists )
+    foreach( const Meta::PlaylistPtr playlist, playlists )
     {
-        Playlists::PlaylistProvider *provider = getProviderForPlaylist( playlist );
+        PlaylistProvider *provider = getProviderForPlaylist( playlist );
         if( !provider )
             continue;
 
@@ -369,10 +369,10 @@ PlaylistManager::playlistActions( const Playlists::PlaylistList playlists )
 }
 
 QList<QAction *>
-PlaylistManager::trackActions( const Playlists::PlaylistPtr playlist, int trackIndex )
+PlaylistManager::trackActions( const Meta::PlaylistPtr playlist, int trackIndex )
 {
     QList<QAction *> actions;
-    Playlists::PlaylistProvider *provider = getProviderForPlaylist( playlist );
+    PlaylistProvider *provider = getProviderForPlaylist( playlist );
     if( provider )
         actions << provider->trackActions( playlist, trackIndex );
 
@@ -382,7 +382,7 @@ PlaylistManager::trackActions( const Playlists::PlaylistPtr playlist, int trackI
 void
 PlaylistManager::completePodcastDownloads()
 {
-    foreach( Playlists::PlaylistProvider *prov, providersForCategory( PodcastChannel ) )
+    foreach( PlaylistProvider *prov, providersForCategory( PodcastChannel ) )
     {
         Podcasts::PodcastProvider *podcastProvider = dynamic_cast<Podcasts::PodcastProvider *>( prov );
         if( !podcastProvider )
diff --git a/src/playlistmanager/PlaylistManager.h b/src/playlistmanager/PlaylistManager.h
index e0a2120..0c4dacd 100644
--- a/src/playlistmanager/PlaylistManager.h
+++ b/src/playlistmanager/PlaylistManager.h
@@ -27,13 +27,14 @@
 
 class KJob;
 class PlaylistManager;
+class PlaylistProvider;
+typedef QList<PlaylistProvider *> PlaylistProviderList;
 class QAction;
+class UserPlaylistProvider;
+class PlaylistFileProvider;
 
-namespace Playlists {
+namespace Meta {
     class PlaylistFile;
-    class PlaylistFileProvider;
-    class PlaylistProvider;
-    class UserPlaylistProvider;
     typedef KSharedPtr<PlaylistFile> PlaylistFilePtr;
 }
 
@@ -45,8 +46,6 @@ namespace The {
     AMAROK_EXPORT PlaylistManager* playlistManager();
 }
 
-typedef QList<Playlists::PlaylistProvider *> PlaylistProviderList;
-
 /**
  * Facility for managing PlaylistProviders registered by other
  * parts of the application, plugins and scripts.
@@ -73,7 +72,7 @@ class AMAROK_EXPORT PlaylistManager : public QObject
         /**
          * returns playlists of a certain category from all registered PlaylistProviders
          */
-        Playlists::PlaylistList playlistsOfCategory( int playlistCategory );
+        Meta::PlaylistList playlistsOfCategory( int playlistCategory );
 
         /**
         * returns all PlaylistProviders that provider a certain playlist category.
@@ -86,18 +85,18 @@ class AMAROK_EXPORT PlaylistManager : public QObject
          * @arg provider a PlaylistProvider
          * @arg category a default Category from the PlaylistManager::PlaylistCategory enum or a custom one registered before with registerCustomCategory.
          */
-        void addProvider( Playlists::PlaylistProvider * provider, int category );
+        void addProvider( PlaylistProvider * provider, int category );
 
         /**
          * Remove a PlaylistProvider.
          * @arg provider a PlaylistProvider
          */
 
-        void removeProvider( Playlists::PlaylistProvider * provider );
+        void removeProvider( PlaylistProvider * provider );
 
-        Playlists::PlaylistProvider * playlistProvider( int category, QString name );
+        PlaylistProvider * playlistProvider( int category, QString name );
 
-        void downloadPlaylist( const KUrl & path, const Playlists::PlaylistFilePtr playlist );
+        void downloadPlaylist( const KUrl & path, const Meta::PlaylistFilePtr playlist );
 
         /**
         *   Saves a list of tracks to a new SQL playlist. Used in the Playlist save button.
@@ -105,7 +104,7 @@ class AMAROK_EXPORT PlaylistManager : public QObject
         *   @arg name name of playlist to save
         */
         bool save( Meta::TrackList tracks, const QString &name = QString(),
-                   Playlists::UserPlaylistProvider *toProvider = 0 );
+                   UserPlaylistProvider *toProvider = 0 );
 
         /**
          *  Saves a playlist from a file to the database.
@@ -113,18 +112,18 @@ class AMAROK_EXPORT PlaylistManager : public QObject
          */
          bool import( const QString &fromLocation );
 
-        void rename( Playlists::PlaylistPtr playlist );
+        void rename( Meta::PlaylistPtr playlist );
 
-        void deletePlaylists( Playlists::PlaylistList playlistlist );
+        void deletePlaylists( Meta::PlaylistList playlistlist );
 
         Podcasts::PodcastProvider *defaultPodcasts() { return m_defaultPodcastProvider; }
-        Playlists::UserPlaylistProvider *defaultUserPlaylists() { return m_defaultUserPlaylistProvider; }
+        UserPlaylistProvider *defaultUserPlaylists() { return m_defaultUserPlaylistProvider; }
 
         /**
          *  Retrieves the provider owning the given playlist
          *  @arg playlist the playlist whose provider we want
          */
-        Playlists::PlaylistProvider* getProviderForPlaylist( const Playlists::PlaylistPtr playlist );
+        PlaylistProvider* getProviderForPlaylist( const Meta::PlaylistPtr playlist );
 
         /**
          *  Checks if the provider to whom this playlist belongs supports writing
@@ -132,10 +131,10 @@ class AMAROK_EXPORT PlaylistManager : public QObject
          *  @return whether or not the playlist is writable
          */
 
-        bool isWritable( const Playlists::PlaylistPtr &playlist );
+        bool isWritable( const Meta::PlaylistPtr &playlist );
 
-        QList<QAction *> playlistActions( const Playlists::PlaylistList lists );
-        QList<QAction *> trackActions( const Playlists::PlaylistPtr playlist,
+        QList<QAction *> playlistActions( const Meta::PlaylistList lists );
+        QList<QAction *> trackActions( const Meta::PlaylistPtr playlist,
                                                   int trackIndex );
 
         void completePodcastDownloads();
@@ -143,10 +142,10 @@ class AMAROK_EXPORT PlaylistManager : public QObject
     signals:
         void updated();
         void categoryAdded( int category );
-        void providerAdded( Playlists::PlaylistProvider *provider, int category );
-        void providerRemoved( Playlists::PlaylistProvider *provider, int category );
+        void providerAdded( PlaylistProvider *provider, int category );
+        void providerRemoved( PlaylistProvider *provider, int category );
 
-        void renamePlaylist( Playlists::PlaylistPtr playlist );
+        void renamePlaylist( Meta::PlaylistPtr playlist );
 
     private slots:
         void slotUpdated( /*PlaylistProvider * provider*/ );
@@ -158,13 +157,13 @@ class AMAROK_EXPORT PlaylistManager : public QObject
         ~PlaylistManager();
 
         Podcasts::PodcastProvider *m_defaultPodcastProvider;
-        Playlists::UserPlaylistProvider *m_defaultUserPlaylistProvider;
-        Playlists::PlaylistFileProvider *m_playlistFileProvider;
+        UserPlaylistProvider *m_defaultUserPlaylistProvider;
+        PlaylistFileProvider *m_playlistFileProvider;
 
-        QMultiMap<int, Playlists::PlaylistProvider*> m_providerMap; //Map PlaylistCategories to providers
+        QMultiMap<int, PlaylistProvider*> m_providerMap; //Map PlaylistCategories to providers
         QMap<int, QString> m_customCategories;
 
-        QMap<KJob *, Playlists::PlaylistFilePtr> m_downloadJobMap;
+        QMap<KJob *, Meta::PlaylistFilePtr> m_downloadJobMap;
 };
 
 #endif
diff --git a/src/playlistmanager/file/PlaylistFileProvider.cpp b/src/playlistmanager/file/PlaylistFileProvider.cpp
index 99d442b..d2996bd 100644
--- a/src/playlistmanager/file/PlaylistFileProvider.cpp
+++ b/src/playlistmanager/file/PlaylistFileProvider.cpp
@@ -35,17 +35,13 @@
 #include <QString>
 
 //For removing multiple tracks from different playlists with one QAction
-typedef QMultiMap<Playlists::PlaylistPtr, Meta::TrackPtr> PlaylistTrackMap;
+typedef QMultiMap<Meta::PlaylistPtr, Meta::TrackPtr> PlaylistTrackMap;
 Q_DECLARE_METATYPE( PlaylistTrackMap )
 
-using Playlist::ModelStack;
-
-namespace Playlists {
-
 PlaylistFileProvider::PlaylistFileProvider()
  : UserPlaylistProvider()
  , m_playlistsLoaded( false )
- , m_defaultFormat( Playlists::XSPF )
+ , m_defaultFormat( Meta::XSPF )
  , m_removeTrackAction( 0 )
 {
     //playlists are lazy loaded
@@ -58,7 +54,7 @@ PlaylistFileProvider::~PlaylistFileProvider()
     loadedPlaylistsConfig().deleteGroup();
     //Write loaded playlists to config file
     debug() << m_playlists.size()  << " Playlists loaded";
-    foreach( Playlists::PlaylistPtr playlist, m_playlists )
+    foreach( Meta::PlaylistPtr playlist, m_playlists )
     {
         KUrl url = playlist->retrievableUrl();
         //only save files NOT in "playlists", those are automatically loaded.
@@ -87,7 +83,7 @@ PlaylistFileProvider::playlistCount() const
     return loadedPlaylistsConfig().keyList().count();
 }
 
-Playlists::PlaylistList
+Meta::PlaylistList
 PlaylistFileProvider::playlists()
 {
     if( !m_playlistsLoaded )
@@ -96,7 +92,7 @@ PlaylistFileProvider::playlists()
 }
 
 QList<QAction *>
-PlaylistFileProvider::playlistActions( Playlists::PlaylistPtr playlist )
+PlaylistFileProvider::playlistActions( Meta::PlaylistPtr playlist )
 {
     Q_UNUSED( playlist );
     QList<QAction *> actions;
@@ -105,7 +101,7 @@ PlaylistFileProvider::playlistActions( Playlists::PlaylistPtr playlist )
 }
 
 QList<QAction *>
-PlaylistFileProvider::trackActions( Playlists::PlaylistPtr playlist, int trackIndex )
+PlaylistFileProvider::trackActions( Meta::PlaylistPtr playlist, int trackIndex )
 {
     Q_UNUSED( trackIndex );
     QList<QAction *> actions;
@@ -162,13 +158,13 @@ PlaylistFileProvider::trackActions( Playlists::PlaylistPtr playlist, int trackIn
 }
 
 
-Playlists::PlaylistPtr
+Meta::PlaylistPtr
 PlaylistFileProvider::save( const Meta::TrackList &tracks )
 {
     return save( tracks, QDateTime::currentDateTime().toString( "ddd MMMM d yy hh:mm") + ".xspf" );
 }
 
-Playlists::PlaylistPtr
+Meta::PlaylistPtr
 PlaylistFileProvider::save( const Meta::TrackList &tracks, const QString &name )
 {
     DEBUG_BLOCK
@@ -177,34 +173,34 @@ PlaylistFileProvider::save( const Meta::TrackList &tracks, const QString &name )
     if( QFileInfo( path.toLocalFile() ).exists() )
     {
         //TODO:request overwrite
-        return Playlists::PlaylistPtr();
+        return Meta::PlaylistPtr();
     }
     QString ext = Amarok::extension( path.fileName() );
-    Playlists::PlaylistFormat format = m_defaultFormat;
+    Meta::PlaylistFormat format = m_defaultFormat;
     if( !name.isNull() && !ext.isEmpty() )
-        format = Playlists::getFormat( path );
+        format = Meta::getFormat( path );
 
-    Playlists::PlaylistFile *playlistFile = 0;
+    Meta::PlaylistFile *playlistFile = 0;
     switch( format )
     {
-        case Playlists::PLS:
-            playlistFile = new Playlists::PLSPlaylist( tracks );
+        case Meta::PLS:
+            playlistFile = new Meta::PLSPlaylist( tracks );
             break;
-        case Playlists::M3U:
-            playlistFile = new Playlists::M3UPlaylist( tracks );
+        case Meta::M3U:
+            playlistFile = new Meta::M3UPlaylist( tracks );
             break;
-        case Playlists::XSPF:
-            playlistFile = new Playlists::XSPFPlaylist( tracks );
+        case Meta::XSPF:
+            playlistFile = new Meta::XSPFPlaylist( tracks );
             break;
         default:
             debug() << QString("Do not support filetype with extension \"%1!\"").arg( ext );
-            return Playlists::PlaylistPtr();
+            return Meta::PlaylistPtr();
     }
     playlistFile->setName( name );
     debug() << "Forcing save of playlist!";
     playlistFile->save( path, true );
 
-    Playlists::PlaylistPtr playlistPtr( playlistFile );
+    Meta::PlaylistPtr playlistPtr( playlistFile );
     m_playlists << playlistPtr;
     //just in case there wasn't one loaded before.
     m_playlistsLoaded = true;
@@ -223,10 +219,10 @@ PlaylistFileProvider::import( const KUrl &path )
         return false;
     }
 
-    foreach( const Playlists::PlaylistPtr playlist, m_playlists )
+    foreach( const Meta::PlaylistPtr playlist, m_playlists )
     {
-        Playlists::PlaylistFilePtr playlistFile =
-                Playlists::PlaylistFilePtr::dynamicCast( playlist );
+        Meta::PlaylistFilePtr playlistFile =
+                Meta::PlaylistFilePtr::dynamicCast( playlist );
         if( !playlistFile )
         {
             error() << "Could not cast down.";
@@ -241,16 +237,16 @@ PlaylistFileProvider::import( const KUrl &path )
     }
 
     debug() << "Importing playlist file " << path;
-    if( path == ModelStack::instance()->bottom()->defaultPlaylistPath() )
+    if( path == Playlist::ModelStack::instance()->bottom()->defaultPlaylistPath() )
     {
         error() << "trying to load saved session playlist at %s" << path.path();
         return false;
     }
 
-    Playlists::PlaylistFilePtr playlist = Playlists::loadPlaylistFile( path );
+    Meta::PlaylistFilePtr playlist = Meta::loadPlaylistFile( path );
     if( !playlist )
         return false;
-    m_playlists << Playlists::PlaylistPtr::dynamicCast( playlist );
+    m_playlists << Meta::PlaylistPtr::dynamicCast( playlist );
     //just in case there wasn't one loaded before.
     m_playlistsLoaded = true;
     emit updated();
@@ -258,14 +254,14 @@ PlaylistFileProvider::import( const KUrl &path )
 }
 
 void
-PlaylistFileProvider::rename( Playlists::PlaylistPtr playlist, const QString &newName )
+PlaylistFileProvider::rename( Meta::PlaylistPtr playlist, const QString &newName )
 {
     DEBUG_BLOCK
     playlist->setName( newName );
 }
 
 void
-PlaylistFileProvider::deletePlaylists( Playlists::PlaylistList playlistList )
+PlaylistFileProvider::deletePlaylists( Meta::PlaylistList playlistList )
 {
     DEBUG_BLOCK
     KDialog dialog( The::mainWindow() );
@@ -281,9 +277,9 @@ PlaylistFileProvider::deletePlaylists( Playlists::PlaylistList playlistList )
     if( dialog.exec() != QDialog::Accepted )
         return;
 
-    foreach( Playlists::PlaylistPtr playlist, playlistList )
+    foreach( Meta::PlaylistPtr playlist, playlistList )
     {
-        Playlists::PlaylistFilePtr playlistFile = Playlists::PlaylistFilePtr::dynamicCast( playlist );
+        Meta::PlaylistFilePtr playlistFile = Meta::PlaylistFilePtr::dynamicCast( playlist );
         if( playlistFile.isNull() )
         {
             error() << "Could not cast to playlistFilePtr at " << __FILE__ << ":" << __LINE__;
@@ -314,7 +310,7 @@ PlaylistFileProvider::loadPlaylists()
             continue;
 
         QString groups = loadedPlaylistsConfig().readEntry( key );
-        Playlists::PlaylistFilePtr playlist = Playlists::loadPlaylistFile( url );
+        Meta::PlaylistFilePtr playlist = Meta::loadPlaylistFile( url );
         if( playlist.isNull() )
         {
             The::statusBar()->longMessage(
@@ -328,7 +324,7 @@ PlaylistFileProvider::loadPlaylists()
         if( !groups.isEmpty() && playlist->isWritable() )
             playlist->setGroups( groups.split( ',',  QString::SkipEmptyParts ) );
 
-        m_playlists << Playlists::PlaylistPtr::dynamicCast( playlist );
+        m_playlists << Meta::PlaylistPtr::dynamicCast( playlist );
     }
 
     //also add all files in the $KDEHOME/share/apps/amarok/playlists
@@ -340,7 +336,7 @@ PlaylistFileProvider::loadPlaylists()
         KUrl url( playlistDir.path() );
         url.addPath( file );
         debug() << QString( "Trying to open %1 as a playlist file" ).arg( url.url() );
-        Playlists::PlaylistFilePtr playlist = Playlists::loadPlaylistFile( url );
+        Meta::PlaylistFilePtr playlist = Meta::loadPlaylistFile( url );
         if( playlist.isNull() )
         {
             The::statusBar()->longMessage(
@@ -351,7 +347,7 @@ PlaylistFileProvider::loadPlaylists()
         }
         playlist->setProvider( this );
 
-        m_playlists << Playlists::PlaylistPtr::dynamicCast( playlist );
+        m_playlists << Meta::PlaylistPtr::dynamicCast( playlist );
     }
 
     m_playlistsLoaded = true;
@@ -365,9 +361,9 @@ PlaylistFileProvider::slotRemove()
         return;
 
     PlaylistTrackMap playlistMap = action->data().value<PlaylistTrackMap>();
-    QList< Playlists::PlaylistPtr > uniquePlaylists = playlistMap.uniqueKeys();
+    QList< Meta::PlaylistPtr > uniquePlaylists = playlistMap.uniqueKeys();
 
-    foreach( Playlists::PlaylistPtr playlist, uniquePlaylists )
+    foreach( Meta::PlaylistPtr playlist, uniquePlaylists )
     {
         QList< Meta::TrackPtr > tracks = playlistMap.values( playlist );
         foreach( Meta::TrackPtr track, tracks )
@@ -383,6 +379,3 @@ PlaylistFileProvider::loadedPlaylistsConfig() const
 {
     return Amarok::config( "Loaded Playlist Files" );
 }
-
-} //namespace Playlists
-
diff --git a/src/playlistmanager/file/PlaylistFileProvider.h b/src/playlistmanager/file/PlaylistFileProvider.h
index aa2768f..9daabfb 100644
--- a/src/playlistmanager/file/PlaylistFileProvider.h
+++ b/src/playlistmanager/file/PlaylistFileProvider.h
@@ -28,12 +28,10 @@ class KUrl;
 
 class QAction;
 
-namespace Playlists {
-
 /**
     @author Bart Cerneels <bart.cerneels at kde.org>
 */
-class PlaylistFileProvider : public Playlists::UserPlaylistProvider
+class PlaylistFileProvider : public UserPlaylistProvider
 {
     Q_OBJECT
 
@@ -44,26 +42,26 @@ class PlaylistFileProvider : public Playlists::UserPlaylistProvider
         virtual QString prettyName() const;
         virtual KIcon icon() const { return KIcon( "folder-documents" ); }
 
-        virtual int category() const { return Playlists::UserPlaylist; }
+        virtual int category() const { return Meta::UserPlaylist; }
 
         virtual int playlistCount() const;
-        virtual Playlists::PlaylistList playlists();
+        virtual Meta::PlaylistList playlists();
 
-        virtual QList<QAction *> playlistActions( Playlists::PlaylistPtr playlist );
-        virtual QList<QAction *> trackActions( Playlists::PlaylistPtr playlist,
+        virtual QList<QAction *> playlistActions( Meta::PlaylistPtr playlist );
+        virtual QList<QAction *> trackActions( Meta::PlaylistPtr playlist,
                                                   int trackIndex );
 
         virtual bool canSavePlaylists() { return true; }
 
-        virtual Playlists::PlaylistPtr save( const Meta::TrackList &tracks );
-        virtual Playlists::PlaylistPtr save( const Meta::TrackList &tracks,
+        virtual Meta::PlaylistPtr save( const Meta::TrackList &tracks );
+        virtual Meta::PlaylistPtr save( const Meta::TrackList &tracks,
                                         const QString &name );
 
         virtual bool import( const KUrl &path );
 
         virtual bool isWritable() { return true; }
-        virtual void rename( Playlists::PlaylistPtr playlist, const QString &newName );
-        virtual void deletePlaylists( Playlists::PlaylistList playlistList );
+        virtual void rename( Meta::PlaylistPtr playlist, const QString &newName );
+        virtual void deletePlaylists( Meta::PlaylistList playlistList );
 
         virtual void loadPlaylists();
 
@@ -77,13 +75,11 @@ class PlaylistFileProvider : public Playlists::UserPlaylistProvider
         KConfigGroup loadedPlaylistsConfig() const;
 
         bool m_playlistsLoaded;
-        Playlists::PlaylistList m_playlists;
-        Playlists::PlaylistFormat m_defaultFormat;
-        QMultiMap<QString, Playlists::PlaylistPtr> m_groupMap;
+        Meta::PlaylistList m_playlists;
+        Meta::PlaylistFormat m_defaultFormat;
+        QMultiMap<QString, Meta::PlaylistPtr> m_groupMap;
 
         QAction *m_removeTrackAction;
 };
 
-} //namespace Playlists
-
 #endif
diff --git a/src/playlistmanager/sql/SqlPlaylist.cpp b/src/playlistmanager/sql/SqlPlaylist.cpp
index e9fb64b..6485880 100644
--- a/src/playlistmanager/sql/SqlPlaylist.cpp
+++ b/src/playlistmanager/sql/SqlPlaylist.cpp
@@ -27,10 +27,8 @@
 
 #include <typeinfo>
 
-namespace Playlists {
-
-SqlPlaylist::SqlPlaylist( const QString & name, const Meta::TrackList
-        &tracks, SqlPlaylistGroupPtr parent, PlaylistProvider *provider,
+Meta::SqlPlaylist::SqlPlaylist( const QString & name, const Meta::TrackList
+        &tracks, Meta::SqlPlaylistGroupPtr parent, PlaylistProvider *provider,
         const QString &urlId )
     : m_dbId( -1 )
     , m_parent( parent )
@@ -44,8 +42,8 @@ SqlPlaylist::SqlPlaylist( const QString & name, const Meta::TrackList
     saveToDb();
 }
 
-SqlPlaylist::SqlPlaylist( const QStringList & resultRow,
-                                SqlPlaylistGroupPtr parent,
+Meta::SqlPlaylist::SqlPlaylist( const QStringList & resultRow,
+                                Meta::SqlPlaylistGroupPtr parent,
                                 PlaylistProvider *provider )
     : m_parent( parent )
     , m_provider( provider)
@@ -58,18 +56,18 @@ SqlPlaylist::SqlPlaylist( const QStringList & resultRow,
 }
 
 
-SqlPlaylist::~SqlPlaylist()
+Meta::SqlPlaylist::~SqlPlaylist()
 {
 }
 
-SqlPlaylistGroupPtr
-SqlPlaylist::parent() const
+Meta::SqlPlaylistGroupPtr
+Meta::SqlPlaylist::parent() const
 {
     return m_parent;
 }
 
 QStringList
-SqlPlaylist::groups()
+Meta::SqlPlaylist::groups()
 {
     QStringList groups;
     if( m_parent && !m_parent->name().isNull() )
@@ -78,7 +76,7 @@ SqlPlaylist::groups()
 }
 
 void
-SqlPlaylist::setGroups( const QStringList &groups )
+Meta::SqlPlaylist::setGroups( const QStringList &groups )
 {
     SqlUserPlaylistProvider *userPlaylistProvider =
             dynamic_cast<SqlUserPlaylistProvider *>( m_provider );
@@ -89,7 +87,7 @@ SqlPlaylist::setGroups( const QStringList &groups )
     }
 
     if( groups.isEmpty() )
-        m_parent = SqlPlaylistGroupPtr();
+        m_parent = Meta::SqlPlaylistGroupPtr();
     else
         m_parent = userPlaylistProvider->group( groups.first() );
 
@@ -97,7 +95,7 @@ SqlPlaylist::setGroups( const QStringList &groups )
 }
 
 bool
-SqlPlaylist::saveToDb( bool tracks )
+Meta::SqlPlaylist::saveToDb( bool tracks )
 {
     int parentId = -1;
     if( m_parent )
@@ -173,7 +171,7 @@ SqlPlaylist::saveToDb( bool tracks )
 }
 
 void
-SqlPlaylist::saveTracks()
+Meta::SqlPlaylist::saveTracks()
 {
     int trackNum = 1;
     SqlStorage * sql =  CollectionManager::instance()->sqlStorage();
@@ -201,7 +199,7 @@ SqlPlaylist::saveTracks()
 }
 
 Meta::TrackList
-SqlPlaylist::tracks()
+Meta::SqlPlaylist::tracks()
 {
     if ( !m_tracksLoaded )
         loadTracks();
@@ -210,7 +208,7 @@ SqlPlaylist::tracks()
 }
 
 void
-SqlPlaylist::addTrack( Meta::TrackPtr track, int position )
+Meta::SqlPlaylist::addTrack( Meta::TrackPtr track, int position )
 {
     int insertAt = (position == -1) ? m_tracks.count() : position;
     subscribeTo( track ); //keep track of metadata changes.
@@ -220,7 +218,7 @@ SqlPlaylist::addTrack( Meta::TrackPtr track, int position )
 }
 
 void
-SqlPlaylist::removeTrack( int position )
+Meta::SqlPlaylist::removeTrack( int position )
 {
     if( position < 0 || position >= m_tracks.size() )
         return;
@@ -231,7 +229,7 @@ SqlPlaylist::removeTrack( int position )
 }
 
 void
-SqlPlaylist::metadataChanged( Meta::TrackPtr track )
+Meta::SqlPlaylist::metadataChanged( TrackPtr track )
 {
     //When AFT detects a moved file it will update the track and make it signal it's observers.
     if( !m_tracks.contains( track ) )
@@ -245,7 +243,7 @@ SqlPlaylist::metadataChanged( Meta::TrackPtr track )
 }
 
 void
-SqlPlaylist::loadTracks()
+Meta::SqlPlaylist::loadTracks()
 {
     QString query = "SELECT playlist_id, track_num, url, title, album, artist, length FROM "
                     "playlist_tracks WHERE playlist_id=%1 ORDER BY track_num";
@@ -303,14 +301,14 @@ SqlPlaylist::loadTracks()
 }
 
 void
-SqlPlaylist::setName( const QString &name )
+Meta::SqlPlaylist::setName( const QString &name )
 {
     m_name = name;
     saveToDb( false ); //no need to resave all tracks
 }
 
 void
-SqlPlaylist::removeFromDb()
+Meta::SqlPlaylist::removeFromDb()
 {
     QString query = "DELETE FROM playlist_tracks WHERE playlist_id=%1";
     query = query.arg( QString::number( m_dbId ) );
@@ -322,10 +320,7 @@ SqlPlaylist::removeFromDb()
 }
 
 int
-SqlPlaylist::id()
+Meta::SqlPlaylist::id()
 {
     return m_dbId;
 }
-
-} //namespace Playlists
-
diff --git a/src/playlistmanager/sql/SqlPlaylist.h b/src/playlistmanager/sql/SqlPlaylist.h
index ac80f94..964efdb 100644
--- a/src/playlistmanager/sql/SqlPlaylist.h
+++ b/src/playlistmanager/sql/SqlPlaylist.h
@@ -14,15 +14,15 @@
  * this program.  If not, see <http://www.gnu.org/licenses/>.                           *
  ****************************************************************************************/
 
-#ifndef PLAYLISTSSQLPLAYLIST_H
-#define PLAYLISTSSQLPLAYLIST_H
+#ifndef METASQLPLAYLIST_H
+#define METASQLPLAYLIST_H
 
 #include "core/playlists/Playlist.h"
 
+class PlaylistProvider;
 
-namespace Playlists
+namespace Meta
 {
-class PlaylistProvider;
 class SqlPlaylist;
 typedef KSharedPtr<SqlPlaylist> SqlPlaylistPtr;
 typedef QList<SqlPlaylistPtr> SqlPlaylistList;
@@ -36,10 +36,10 @@ typedef QList<SqlPlaylistGroupPtr> SqlPlaylistGroupList;
 
     @author Nikolaj Hald Nielsen <nhn at kde.org>
 */
-class SqlPlaylist : public Playlist, public Meta::Observer
+class SqlPlaylist : public Playlist, public Observer
 {
     public:
-        SqlPlaylist( const QString &name, const Meta::TrackList &tracks,
+        SqlPlaylist( const QString &name, const TrackList &tracks,
                 SqlPlaylistGroupPtr parent, PlaylistProvider *provider,
                 const QString &urlId = QString() );
         SqlPlaylist( const QStringList & resultRow, SqlPlaylistGroupPtr parent,
@@ -62,12 +62,12 @@ class SqlPlaylist : public Playlist, public Meta::Observer
         bool saveToDb( bool tracks = true );
         void setDescription( const QString &description ) { m_description = description; }
 
-        void setParent( SqlPlaylistGroupPtr parent );
+        void setParent( Meta::SqlPlaylistGroupPtr parent );
 
         int id();
 
         /** returns all tracks in this playlist */
-        virtual Meta::TrackList tracks();
+        virtual TrackList tracks();
         virtual void addTrack( Meta::TrackPtr track, int position = -1 );
         virtual void removeTrack( int position );
 
@@ -77,14 +77,9 @@ class SqlPlaylist : public Playlist, public Meta::Observer
                 { Q_UNUSED( type ); return 0; }
 
         /* Meta::Observer methods */
-        virtual void metadataChanged( Meta::TrackPtr track );
-        virtual void metadataChanged( Meta::ArtistPtr artist ) { Q_UNUSED( artist ) }
-        virtual void metadataChanged( Meta::AlbumPtr album ) { Q_UNUSED( album ) }
-        virtual void metadataChanged( Meta::GenrePtr genre ) { Q_UNUSED( genre ) }
-        virtual void metadataChanged( Meta::ComposerPtr composer ) { Q_UNUSED( composer ) }
-        virtual void metadataChanged( Meta::YearPtr year ) { Q_UNUSED( year ) }
+        virtual void metadataChanged( TrackPtr track );
 
-        SqlPlaylistGroupPtr parent() const;
+        Meta::SqlPlaylistGroupPtr parent() const;
 
         void removeFromDb();
 
@@ -93,7 +88,7 @@ class SqlPlaylist : public Playlist, public Meta::Observer
         void saveTracks();
 
         int m_dbId;
-        SqlPlaylistGroupPtr m_parent;
+        Meta::SqlPlaylistGroupPtr m_parent;
         Meta::TrackList m_tracks;
         PlaylistProvider *m_provider;
         QString m_name;
@@ -105,7 +100,7 @@ class SqlPlaylist : public Playlist, public Meta::Observer
 
 }
 
-Q_DECLARE_METATYPE( Playlists::SqlPlaylistPtr )
-Q_DECLARE_METATYPE( Playlists::SqlPlaylistList )
+Q_DECLARE_METATYPE( Meta::SqlPlaylistPtr )
+Q_DECLARE_METATYPE( Meta::SqlPlaylistList )
 
 #endif
diff --git a/src/playlistmanager/sql/SqlPlaylistGroup.cpp b/src/playlistmanager/sql/SqlPlaylistGroup.cpp
index 6d3eb4a..c7e41c7 100644
--- a/src/playlistmanager/sql/SqlPlaylistGroup.cpp
+++ b/src/playlistmanager/sql/SqlPlaylistGroup.cpp
@@ -22,10 +22,8 @@
 
 #include <typeinfo>
 
-namespace Playlists {
-
-SqlPlaylistGroup::SqlPlaylistGroup( const QStringList & dbResultRow,
-                                          SqlPlaylistGroupPtr parent,
+Meta::SqlPlaylistGroup::SqlPlaylistGroup( const QStringList & dbResultRow,
+                                          Meta::SqlPlaylistGroupPtr parent,
                                           PlaylistProvider *provider )
     : m_hasFetchedChildGroups( false )
     , m_hasFetchedChildPlaylists( false )
@@ -37,8 +35,8 @@ SqlPlaylistGroup::SqlPlaylistGroup( const QStringList & dbResultRow,
     m_description = dbResultRow[3];
 }
 
-SqlPlaylistGroup::SqlPlaylistGroup( const QString & name,
-                                          SqlPlaylistGroupPtr parent,
+Meta::SqlPlaylistGroup::SqlPlaylistGroup( const QString & name,
+                                          Meta::SqlPlaylistGroupPtr parent,
                                           PlaylistProvider *provider )
     : m_dbId( -1 )
     , m_hasFetchedChildGroups( false )
@@ -49,14 +47,14 @@ SqlPlaylistGroup::SqlPlaylistGroup( const QString & name,
     , m_provider( provider )
 {}
 
-SqlPlaylistGroup::~SqlPlaylistGroup()
+Meta::SqlPlaylistGroup::~SqlPlaylistGroup()
 {
     //DEBUG_BLOCK
     //debug() << "deleting " << m_name;
 }
 
 void
-SqlPlaylistGroup::save()
+Meta::SqlPlaylistGroup::save()
 {
     int parentId = 0;
     if ( m_parent )
@@ -87,21 +85,21 @@ SqlPlaylistGroup::save()
 }
 
 void
-SqlPlaylistGroup::setName( const QString & name )
+Meta::SqlPlaylistGroup::setName( const QString & name )
 {
     m_name = name;
     save();
 }
 
 void
-SqlPlaylistGroup::setDescription( const QString &description )
+Meta::SqlPlaylistGroup::setDescription( const QString &description )
 {
     m_description = description;
     save();
 }
 
 void
-SqlPlaylistGroup::removeFromDb()
+Meta::SqlPlaylistGroup::removeFromDb()
 {
     SqlStorage* sqlStorage = CollectionManager::instance()->sqlStorage();
     if( !sqlStorage )
@@ -114,7 +112,7 @@ SqlPlaylistGroup::removeFromDb()
 }
 
 void
-SqlPlaylistGroup::clear()
+Meta::SqlPlaylistGroup::clear()
 {
     /* m_childPlaylists, m_childGroups are KSharedPtrs, so we should be able to
        just clear the list and the playlistptrs will delete themselves
@@ -127,22 +125,22 @@ SqlPlaylistGroup::clear()
 }
 
 void
-SqlPlaylistGroup::setParent( SqlPlaylistGroupPtr parent )
+Meta::SqlPlaylistGroup::setParent( Meta::SqlPlaylistGroupPtr parent )
 {
     if( parent )
-        m_parent = SqlPlaylistGroupPtr::staticCast( parent );
+        m_parent = Meta::SqlPlaylistGroupPtr::staticCast( parent );
     else
         debug() << "You have to create the parent first before " << name() <<
             " can be added to it";
     save();
 }
 
-SqlPlaylistGroupList
-SqlPlaylistGroup::childSqlGroups() const
+Meta::SqlPlaylistGroupList
+Meta::SqlPlaylistGroup::childSqlGroups() const
 {
     SqlStorage* sqlStorage = CollectionManager::instance()->sqlStorage();
     if( !sqlStorage )
-        return SqlPlaylistGroupList();
+        return Meta::SqlPlaylistGroupList();
 
     if ( !m_hasFetchedChildGroups )
     {
@@ -169,12 +167,12 @@ SqlPlaylistGroup::childSqlGroups() const
     return m_childGroups;
 }
 
-SqlPlaylistList
-SqlPlaylistGroup::childSqlPlaylists() const
+Meta::SqlPlaylistList
+Meta::SqlPlaylistGroup::childSqlPlaylists() const
 {
     SqlStorage* sqlStorage = CollectionManager::instance()->sqlStorage();
     if( !sqlStorage )
-        return SqlPlaylistList();
+        return Meta::SqlPlaylistList();
 
     if ( !m_hasFetchedChildPlaylists )
     {
@@ -191,8 +189,8 @@ SqlPlaylistGroup::childSqlPlaylists() const
             QStringList row = result.mid( i*5, 5 );
             SqlPlaylistGroup* mutableThis =
                     const_cast<SqlPlaylistGroup*>( this );
-            m_childPlaylists << SqlPlaylistPtr(
-                    new SqlPlaylist(
+            m_childPlaylists << Meta::SqlPlaylistPtr(
+                    new Meta::SqlPlaylist(
                                 row,
                                 SqlPlaylistGroupPtr( mutableThis ),
                                 m_provider
@@ -204,29 +202,26 @@ SqlPlaylistGroup::childSqlPlaylists() const
     return m_childPlaylists;
 }
 
-SqlPlaylistGroupList
-SqlPlaylistGroup::allChildGroups() const
+Meta::SqlPlaylistGroupList
+Meta::SqlPlaylistGroup::allChildGroups() const
 {
-    SqlPlaylistGroupList groups;
+    Meta::SqlPlaylistGroupList groups;
     groups << childSqlGroups();
-    foreach( SqlPlaylistGroupPtr childGroup, groups )
+    foreach( Meta::SqlPlaylistGroupPtr childGroup, groups )
     {
         groups << childGroup->allChildGroups();
     }
     return groups;
 }
 
-SqlPlaylistList
-SqlPlaylistGroup::allChildPlaylists() const
+Meta::SqlPlaylistList
+Meta::SqlPlaylistGroup::allChildPlaylists() const
 {
-    SqlPlaylistList playlists;
+    Meta::SqlPlaylistList playlists;
     playlists << childSqlPlaylists();
-    foreach( SqlPlaylistGroupPtr childGroup, childSqlGroups() )
+    foreach( Meta::SqlPlaylistGroupPtr childGroup, childSqlGroups() )
     {
         playlists << childGroup->allChildPlaylists();
     }
     return playlists;
 }
-
-} //namespace Playlists
-
diff --git a/src/playlistmanager/sql/SqlPlaylistGroup.h b/src/playlistmanager/sql/SqlPlaylistGroup.h
index d93e683..3b359bd 100644
--- a/src/playlistmanager/sql/SqlPlaylistGroup.h
+++ b/src/playlistmanager/sql/SqlPlaylistGroup.h
@@ -24,7 +24,7 @@
 #include <QStringList>
 
 #include <KSharedPtr>
-namespace Playlists
+namespace Meta
 {
     class SqlPlaylistGroup;
     typedef KSharedPtr<SqlPlaylistGroup> SqlPlaylistGroupPtr;
@@ -39,46 +39,46 @@ namespace Playlists
     {
         public:
             SqlPlaylistGroup( const QStringList &dbResultRow,
-                    SqlPlaylistGroupPtr parent, PlaylistProvider *provider );
+                    Meta::SqlPlaylistGroupPtr parent, PlaylistProvider *provider );
             SqlPlaylistGroup( const QString &name,
-                    SqlPlaylistGroupPtr parent, PlaylistProvider *provider );
+                    Meta::SqlPlaylistGroupPtr parent, PlaylistProvider *provider );
 
             ~SqlPlaylistGroup();
 
             QString name() const { return m_name; }
             QString description() const { return m_description; }
 
-            SqlPlaylistGroupPtr parent() const { return m_parent; }
+            Meta::SqlPlaylistGroupPtr parent() const { return m_parent; }
 
             void setName( const QString &name );
-            void setParent( Playlists::SqlPlaylistGroupPtr parent );
+            void setParent( Meta::SqlPlaylistGroupPtr parent );
             void setDescription( const QString &description );
 
             int id() const { return m_dbId; }
             void save();
             void removeFromDb();
             void clear();
-            SqlPlaylistGroupList allChildGroups() const;
-            SqlPlaylistList allChildPlaylists() const;
+            Meta::SqlPlaylistGroupList allChildGroups() const;
+            Meta::SqlPlaylistList allChildPlaylists() const;
 
         private:
-            SqlPlaylistGroupList childSqlGroups() const;
-            SqlPlaylistList childSqlPlaylists() const;
+            Meta::SqlPlaylistGroupList childSqlGroups() const;
+            Meta::SqlPlaylistList childSqlPlaylists() const;
 
             int m_dbId;
             mutable bool m_hasFetchedChildGroups;
             mutable bool m_hasFetchedChildPlaylists;
-            mutable SqlPlaylistGroupList m_childGroups;
-            mutable SqlPlaylistList m_childPlaylists;
+            mutable Meta::SqlPlaylistGroupList m_childGroups;
+            mutable Meta::SqlPlaylistList m_childPlaylists;
             QString m_name;
             QString m_description;
-            SqlPlaylistGroupPtr m_parent;
+            Meta::SqlPlaylistGroupPtr m_parent;
 
             PlaylistProvider *m_provider;
     };
 }
 
-Q_DECLARE_METATYPE( Playlists::SqlPlaylistGroupPtr )
-Q_DECLARE_METATYPE( Playlists::SqlPlaylistGroupList )
+Q_DECLARE_METATYPE( Meta::SqlPlaylistGroupPtr )
+Q_DECLARE_METATYPE( Meta::SqlPlaylistGroupList )
 
 #endif
diff --git a/src/playlistmanager/sql/SqlUserPlaylistProvider.cpp b/src/playlistmanager/sql/SqlUserPlaylistProvider.cpp
index 819830f..64af664 100644
--- a/src/playlistmanager/sql/SqlUserPlaylistProvider.cpp
+++ b/src/playlistmanager/sql/SqlUserPlaylistProvider.cpp
@@ -41,11 +41,9 @@
 static const int USERPLAYLIST_DB_VERSION = 2;
 static const QString key("AMAROK_USERPLAYLIST");
 
-typedef QMultiMap<Playlists::PlaylistPtr, Meta::TrackPtr> PlaylistTrackMap;
+typedef QMultiMap<Meta::PlaylistPtr, Meta::TrackPtr> PlaylistTrackMap;
 Q_DECLARE_METATYPE( PlaylistTrackMap )
 
-namespace Playlists {
-
 SqlUserPlaylistProvider::SqlUserPlaylistProvider( bool debug )
     : UserPlaylistProvider()
     , m_renameAction( 0 )
@@ -54,27 +52,27 @@ SqlUserPlaylistProvider::SqlUserPlaylistProvider( bool debug )
     , m_debug( debug )
 {
     checkTables();
-    m_root = Playlists::SqlPlaylistGroupPtr( new Playlists::SqlPlaylistGroup( QString(),
-            Playlists::SqlPlaylistGroupPtr(), this ) );
+    m_root = Meta::SqlPlaylistGroupPtr( new Meta::SqlPlaylistGroup( QString(),
+            Meta::SqlPlaylistGroupPtr(), this ) );
 }
 
 SqlUserPlaylistProvider::~SqlUserPlaylistProvider()
 {
 }
 
-Playlists::PlaylistList
+Meta::PlaylistList
 SqlUserPlaylistProvider::playlists()
 {
-    Playlists::PlaylistList playlists;
-    foreach( Playlists::SqlPlaylistPtr sqlPlaylist, m_root->allChildPlaylists() )
+    Meta::PlaylistList playlists;
+    foreach( Meta::SqlPlaylistPtr sqlPlaylist, m_root->allChildPlaylists() )
     {
-        playlists << Playlists::PlaylistPtr::staticCast( sqlPlaylist );
+        playlists << Meta::PlaylistPtr::staticCast( sqlPlaylist );
     }
     return playlists;
 }
 
 void
-SqlUserPlaylistProvider::rename( Playlists::PlaylistPtr playlist, const QString &newName )
+SqlUserPlaylistProvider::rename( Meta::PlaylistPtr playlist, const QString &newName )
 {
     if( !m_debug )
     {
@@ -98,7 +96,7 @@ SqlUserPlaylistProvider::slotDelete()
         return;
 
     //only one playlist can be selected at this point
-    Playlists::SqlPlaylistList playlists = action->data().value<Playlists::SqlPlaylistList>();
+    Meta::SqlPlaylistList playlists = action->data().value<Meta::SqlPlaylistList>();
 
     if( playlists.count() > 0 )
         deleteSqlPlaylists( playlists );
@@ -112,7 +110,7 @@ SqlUserPlaylistProvider::slotRename()
         return;
 
     //only one playlist can be renamed at a time.
-    Playlists::SqlPlaylistPtr playlist = action->data().value<Playlists::SqlPlaylistPtr>();
+    Meta::SqlPlaylistPtr playlist = action->data().value<Meta::SqlPlaylistPtr>();
     if( playlist.isNull() )
         return;
 
@@ -133,9 +131,9 @@ SqlUserPlaylistProvider::slotRemove()
         return;
 
     PlaylistTrackMap playlistMap = action->data().value<PlaylistTrackMap>();
-    QList< Playlists::PlaylistPtr > uniquePlaylists = playlistMap.uniqueKeys();
+    QList< Meta::PlaylistPtr > uniquePlaylists = playlistMap.uniqueKeys();
 
-    foreach( Playlists::PlaylistPtr playlist, uniquePlaylists )
+    foreach( Meta::PlaylistPtr playlist, uniquePlaylists )
     {
         QList< Meta::TrackPtr > tracks = playlistMap.values( playlist );
         foreach( Meta::TrackPtr track, tracks )
@@ -147,11 +145,11 @@ SqlUserPlaylistProvider::slotRemove()
 }
 
 QList<QAction *>
-SqlUserPlaylistProvider::playlistActions( Playlists::PlaylistPtr playlist )
+SqlUserPlaylistProvider::playlistActions( Meta::PlaylistPtr playlist )
 {
     QList<QAction *> actions;
 
-    Playlists::SqlPlaylistPtr sqlPlaylist = Playlists::SqlPlaylistPtr::dynamicCast( playlist );
+    Meta::SqlPlaylistPtr sqlPlaylist = Meta::SqlPlaylistPtr::dynamicCast( playlist );
     if( !sqlPlaylist )
     {
         error() << "Action requested for a non-SQL playlist";
@@ -177,7 +175,7 @@ SqlUserPlaylistProvider::playlistActions( Playlists::PlaylistPtr playlist )
         connect( m_deleteAction, SIGNAL( triggered() ), SLOT( slotDelete() ) );
     }
 
-    Playlists::SqlPlaylistList actionList = m_deleteAction->data().value<Playlists::SqlPlaylistList>();
+    Meta::SqlPlaylistList actionList = m_deleteAction->data().value<Meta::SqlPlaylistList>();
     actionList << sqlPlaylist;
     m_deleteAction->setData( QVariant::fromValue( actionList ) );
 
@@ -187,7 +185,7 @@ SqlUserPlaylistProvider::playlistActions( Playlists::PlaylistPtr playlist )
 }
 
 QList<QAction *>
-SqlUserPlaylistProvider::trackActions( Playlists::PlaylistPtr playlist, int trackIndex )
+SqlUserPlaylistProvider::trackActions( Meta::PlaylistPtr playlist, int trackIndex )
 {
     Q_UNUSED( trackIndex );
     QList<QAction *> actions;
@@ -222,16 +220,16 @@ SqlUserPlaylistProvider::trackActions( Playlists::PlaylistPtr playlist, int trac
 }
 
 void
-SqlUserPlaylistProvider::deletePlaylists( Playlists::PlaylistList playlistList )
+SqlUserPlaylistProvider::deletePlaylists( Meta::PlaylistList playlistList )
 {
-    Playlists::SqlPlaylistList sqlPlaylists;
-    foreach( Playlists::PlaylistPtr playlist, playlistList )
-        sqlPlaylists << Playlists::SqlPlaylistPtr::dynamicCast( playlist );
+    Meta::SqlPlaylistList sqlPlaylists;
+    foreach( Meta::PlaylistPtr playlist, playlistList )
+        sqlPlaylists << Meta::SqlPlaylistPtr::dynamicCast( playlist );
     deleteSqlPlaylists( sqlPlaylists );
 }
 
 void
-SqlUserPlaylistProvider::deleteSqlPlaylists( Playlists::SqlPlaylistList playlistList )
+SqlUserPlaylistProvider::deleteSqlPlaylists( Meta::SqlPlaylistList playlistList )
 {
     if( !m_debug )
     {
@@ -249,7 +247,7 @@ SqlUserPlaylistProvider::deleteSqlPlaylists( Playlists::SqlPlaylistList playlist
             return;
     }
 
-    foreach( Playlists::SqlPlaylistPtr sqlPlaylist, playlistList )
+    foreach( Meta::SqlPlaylistPtr sqlPlaylist, playlistList )
     {
         if( sqlPlaylist )
         {
@@ -260,7 +258,7 @@ SqlUserPlaylistProvider::deleteSqlPlaylists( Playlists::SqlPlaylistList playlist
     reloadFromDb();
 }
 
-Playlists::PlaylistPtr
+Meta::PlaylistPtr
 SqlUserPlaylistProvider::save( const Meta::TrackList &tracks )
 {
     DEBUG_BLOCK
@@ -268,19 +266,19 @@ SqlUserPlaylistProvider::save( const Meta::TrackList &tracks )
           QDateTime::currentDateTime().toString( "ddd MMMM d yy hh:mm") );
 }
 
-Playlists::PlaylistPtr
+Meta::PlaylistPtr
 SqlUserPlaylistProvider::save( const Meta::TrackList &tracks, const QString& name )
 {
     DEBUG_BLOCK
     debug() << "saving " << tracks.count() << " tracks to db with name" << name;
-    Playlists::SqlPlaylistPtr sqlPlaylist = Playlists::SqlPlaylistPtr(
-            new Playlists::SqlPlaylist( name, tracks,
-                Playlists::SqlPlaylistGroupPtr(),
+    Meta::SqlPlaylistPtr sqlPlaylist = Meta::SqlPlaylistPtr(
+            new Meta::SqlPlaylist( name, tracks,
+                Meta::SqlPlaylistGroupPtr(),
                 this )
             );
     reloadFromDb();
 
-    return Playlists::PlaylistPtr::dynamicCast( sqlPlaylist ); //assumes insertion in db was successful!
+    return Meta::PlaylistPtr::dynamicCast( sqlPlaylist ); //assumes insertion in db was successful!
 }
 
 bool
@@ -306,19 +304,19 @@ SqlUserPlaylistProvider::import( const QString& fromLocation )
 
 
     KUrl url( fromLocation );
-    Playlists::Playlist* playlist = 0;
-    Playlists::PlaylistFormat format = Playlists::getFormat( fromLocation );
+    Meta::Playlist* playlist = 0;
+    Meta::PlaylistFormat format = Meta::getFormat( fromLocation );
 
     switch( format )
     {
-        case Playlists::PLS:
-            playlist = new Playlists::PLSPlaylist( url );
+        case Meta::PLS:
+            playlist = new Meta::PLSPlaylist( url );
             break;
-        case Playlists::M3U:
-            playlist = new Playlists::M3UPlaylist( url );
+        case Meta::M3U:
+            playlist = new Meta::M3UPlaylist( url );
             break;
-        case Playlists::XSPF:
-            playlist = new Playlists::XSPFPlaylist( url );
+        case Meta::XSPF:
+            playlist = new Meta::XSPFPlaylist( url );
             break;
 
         default:
@@ -331,9 +329,9 @@ SqlUserPlaylistProvider::import( const QString& fromLocation )
     if( tracks.isEmpty() )
         return false;
 
-    Playlists::SqlPlaylistPtr sqlPlaylist =
-        Playlists::SqlPlaylistPtr( new Playlists::SqlPlaylist( playlist->name(), tracks,
-                                                     Playlists::SqlPlaylistGroupPtr(),
+    Meta::SqlPlaylistPtr sqlPlaylist =
+        Meta::SqlPlaylistPtr( new Meta::SqlPlaylist( playlist->name(), tracks,
+                                                     Meta::SqlPlaylistGroupPtr(),
                                                      this,
                                                      fromLocation )
                               );
@@ -351,11 +349,11 @@ SqlUserPlaylistProvider::reloadFromDb()
     emit updated();
 }
 
-Playlists::SqlPlaylistGroupPtr
+Meta::SqlPlaylistGroupPtr
 SqlUserPlaylistProvider::group( const QString &name )
 {
     DEBUG_BLOCK
-    Playlists::SqlPlaylistGroupPtr group;
+    Meta::SqlPlaylistGroupPtr group;
 
     if( name.isEmpty() )
         return m_root;
@@ -363,7 +361,7 @@ SqlUserPlaylistProvider::group( const QString &name )
     //clear the root first to force a reload.
     m_root->clear();
 
-    foreach( const Playlists::SqlPlaylistGroupPtr &group, m_root->allChildGroups() )
+    foreach( const Meta::SqlPlaylistGroupPtr &group, m_root->allChildGroups() )
     {
         debug() << group->name();
         if( group->name() == name )
@@ -374,7 +372,7 @@ SqlUserPlaylistProvider::group( const QString &name )
     }
 
     debug() << "Creating a new group " << name;
-    group = new Playlists::SqlPlaylistGroup( name, m_root, this );
+    group = new Meta::SqlPlaylistGroup( name, m_root, this );
     group->save();
 
     return group;
@@ -482,20 +480,18 @@ SqlUserPlaylistProvider::checkTables()
     }
 }
 
-Playlists::SqlPlaylistList
-SqlUserPlaylistProvider::toSqlPlaylists( Playlists::PlaylistList playlists )
+Meta::SqlPlaylistList
+SqlUserPlaylistProvider::toSqlPlaylists( Meta::PlaylistList playlists )
 {
-    Playlists::SqlPlaylistList sqlPlaylists;
-    foreach( Playlists::PlaylistPtr playlist, playlists )
+    Meta::SqlPlaylistList sqlPlaylists;
+    foreach( Meta::PlaylistPtr playlist, playlists )
     {
-        Playlists::SqlPlaylistPtr sqlPlaylist =
-            Playlists::SqlPlaylistPtr::dynamicCast( playlist );
+        Meta::SqlPlaylistPtr sqlPlaylist =
+            Meta::SqlPlaylistPtr::dynamicCast( playlist );
         if( !sqlPlaylist.isNull() )
             sqlPlaylists << sqlPlaylist;
     }
     return sqlPlaylists;
 }
 
-} //namespace Playlists
-
 #include "SqlUserPlaylistProvider.moc"
diff --git a/src/playlistmanager/sql/SqlUserPlaylistProvider.h b/src/playlistmanager/sql/SqlUserPlaylistProvider.h
index ca8bb65..0651a2a 100644
--- a/src/playlistmanager/sql/SqlUserPlaylistProvider.h
+++ b/src/playlistmanager/sql/SqlUserPlaylistProvider.h
@@ -26,8 +26,6 @@
 
 class QAction;
 
-namespace Playlists {
-
 class AMAROK_EXPORT SqlUserPlaylistProvider : public UserPlaylistProvider
 {
     Q_OBJECT
@@ -45,26 +43,26 @@ class AMAROK_EXPORT SqlUserPlaylistProvider : public UserPlaylistProvider
         virtual QString description() const { return i18n( "Local playlists stored in the database" ); }
         virtual KIcon icon() const { return KIcon( "server-database" ); }
 
-        virtual Playlists::PlaylistList playlists();
+        virtual Meta::PlaylistList playlists();
 
         virtual bool canSavePlaylists() { return true; }
-        virtual Playlists::PlaylistPtr save( const Meta::TrackList &tracks );
-        virtual Playlists::PlaylistPtr save( const Meta::TrackList &tracks, const QString& name );
+        virtual Meta::PlaylistPtr save( const Meta::TrackList &tracks );
+        virtual Meta::PlaylistPtr save( const Meta::TrackList &tracks, const QString& name );
 
         virtual bool supportsEmptyGroups() { return true; }
 
-        QList<QAction *> playlistActions( Playlists::PlaylistPtr playlist );
-        QList<QAction *> trackActions( Playlists::PlaylistPtr playlist,
+        QList<QAction *> playlistActions( Meta::PlaylistPtr playlist );
+        QList<QAction *> trackActions( Meta::PlaylistPtr playlist,
                                                   int trackIndex );
 
         /* UserPlaylistProvider functions */
-        virtual void deletePlaylists( Playlists::PlaylistList playlistlist );
-        virtual void rename( Playlists::PlaylistPtr playlist, const QString &newName );
+        virtual void deletePlaylists( Meta::PlaylistList playlistlist );
+        virtual void rename( Meta::PlaylistPtr playlist, const QString &newName );
 
-        Playlists::SqlPlaylistGroupPtr group( const QString &name );
+        Meta::SqlPlaylistGroupPtr group( const QString &name );
         bool import( const QString& fromLocation );
 
-        static Playlists::SqlPlaylistList toSqlPlaylists( Playlists::PlaylistList playlists );
+        static Meta::SqlPlaylistList toSqlPlaylists( Meta::PlaylistList playlists );
 
     signals:
         void updated();
@@ -76,18 +74,18 @@ class AMAROK_EXPORT SqlUserPlaylistProvider : public UserPlaylistProvider
 
     private:
         void reloadFromDb();
-        Playlists::SqlPlaylistGroupPtr m_root;
+        Meta::SqlPlaylistGroupPtr m_root;
 
         void createTables();
         void deleteTables();
         void checkTables();
         void loadFromDb();
 
-        void deleteSqlPlaylists( Playlists::SqlPlaylistList playlistlist );
+        void deleteSqlPlaylists( Meta::SqlPlaylistList playlistlist );
 
-        Playlists::SqlPlaylistList selectedPlaylists() const
+        Meta::SqlPlaylistList selectedPlaylists() const
             { return m_selectedPlaylists; }
-        Playlists::SqlPlaylistList m_selectedPlaylists;
+        Meta::SqlPlaylistList m_selectedPlaylists;
         QAction *m_renameAction;
         QAction *m_deleteAction;
         QAction *m_removeTrackAction;
@@ -95,6 +93,4 @@ class AMAROK_EXPORT SqlUserPlaylistProvider : public UserPlaylistProvider
         const bool m_debug;
 };
 
-} //namespace Playlists
-
 #endif
diff --git a/tests/meta/TestM3UPlaylist.cpp b/tests/meta/TestM3UPlaylist.cpp
index 1595f65..a9e6ebc 100644
--- a/tests/meta/TestM3UPlaylist.cpp
+++ b/tests/meta/TestM3UPlaylist.cpp
@@ -53,7 +53,7 @@ void TestM3UPlaylist::initTestCase()
     QFile playlistFile2( tmpFile );
     QVERIFY( playlistFile2.open( QFile::ReadOnly ) );
 
-    m_testPlaylist = new Playlists::M3UPlaylist( KUrl( tmpFile ) );
+    m_testPlaylist = new Meta::M3UPlaylist( KUrl( tmpFile ) );
     QVERIFY( m_testPlaylist );
 
     QTextStream playlistStream;
diff --git a/tests/meta/TestM3UPlaylist.h b/tests/meta/TestM3UPlaylist.h
index 11f027d..0976c69 100644
--- a/tests/meta/TestM3UPlaylist.h
+++ b/tests/meta/TestM3UPlaylist.h
@@ -23,7 +23,7 @@
 #include <QtCore/QObject>
 #include <QtCore/QString>
 
-namespace Playlists { class M3UPlaylist; }
+namespace Meta { class M3UPlaylist; }
 
 class TestM3UPlaylist : public QObject
 {
@@ -44,7 +44,7 @@ private slots:
     void testSave();
 
 private:
-    Playlists::M3UPlaylist *m_testPlaylist;
+    Meta::M3UPlaylist *m_testPlaylist;
     QString dataPath( const QString &relPath = QString() );
 };
 
diff --git a/tests/meta/TestPLSPlaylist.cpp b/tests/meta/TestPLSPlaylist.cpp
index a112139..c698841 100644
--- a/tests/meta/TestPLSPlaylist.cpp
+++ b/tests/meta/TestPLSPlaylist.cpp
@@ -55,7 +55,7 @@ void TestPLSPlaylist::initTestCase()
     playlistStream1.setDevice( &playlistFile1 );
     QVERIFY( playlistStream1.device() );
 
-    m_testPlaylist1 = new Playlists::PLSPlaylist( url );
+    m_testPlaylist1 = new Meta::PLSPlaylist( url );
     QVERIFY( m_testPlaylist1->load( playlistStream1 ) );
     playlistFile1.close();
 }
diff --git a/tests/meta/TestPLSPlaylist.h b/tests/meta/TestPLSPlaylist.h
index 1183599..a2ebc6e 100644
--- a/tests/meta/TestPLSPlaylist.h
+++ b/tests/meta/TestPLSPlaylist.h
@@ -23,7 +23,7 @@
 #include <QtCore/QObject>
 #include <QtCore/QString>
 
-namespace Playlists {
+namespace Meta {
 class PLSPlaylist;
 }
 
@@ -46,7 +46,7 @@ private slots:
     void testSave();
 
 private:
-    Playlists::PLSPlaylist *m_testPlaylist1;
+    Meta::PLSPlaylist *m_testPlaylist1;
     QString dataPath( const QString &relPath );
 };
 
diff --git a/tests/meta/TestPlaylistFileSupport.cpp b/tests/meta/TestPlaylistFileSupport.cpp
index fa08e91..61d2941 100644
--- a/tests/meta/TestPlaylistFileSupport.cpp
+++ b/tests/meta/TestPlaylistFileSupport.cpp
@@ -40,27 +40,27 @@ void TestPlaylistFileSupport::initTestCase()
 
 void TestPlaylistFileSupport::testGetFormat()
 {
-    QCOMPARE( Playlists::getFormat( m_testPlaylistPath + "test.asx" ), Playlists::ASX );
-    QCOMPARE( Playlists::getFormat( m_testPlaylistPath + "test.m3u" ), Playlists::M3U );
-    QCOMPARE( Playlists::getFormat( m_testPlaylistPath + "test.pls" ), Playlists::PLS );
-    QCOMPARE( Playlists::getFormat( m_testPlaylistPath + "test.ram" ), Playlists::RAM );
-    QCOMPARE( Playlists::getFormat( m_testPlaylistPath + "test.smil" ), Playlists::SMIL );
-    // TODO: Playlists::XML <- what kind of playlist format is that? example?
-    QCOMPARE( Playlists::getFormat( m_testPlaylistPath + "test.xspf" ), Playlists::XSPF );
-    QCOMPARE( Playlists::getFormat( m_testPlaylistPath + "no-playlist.png" ), Playlists::Unknown );
-    QCOMPARE( Playlists::getFormat( m_testPlaylistPath + "no-playlist.png" ), Playlists::NotPlaylist );
+    QCOMPARE( Meta::getFormat( m_testPlaylistPath + "test.asx" ), Meta::ASX );
+    QCOMPARE( Meta::getFormat( m_testPlaylistPath + "test.m3u" ), Meta::M3U );
+    QCOMPARE( Meta::getFormat( m_testPlaylistPath + "test.pls" ), Meta::PLS );
+    QCOMPARE( Meta::getFormat( m_testPlaylistPath + "test.ram" ), Meta::RAM );
+    QCOMPARE( Meta::getFormat( m_testPlaylistPath + "test.smil" ), Meta::SMIL );
+    // TODO: Meta::XML <- what kind of playlist format is that? example?
+    QCOMPARE( Meta::getFormat( m_testPlaylistPath + "test.xspf" ), Meta::XSPF );
+    QCOMPARE( Meta::getFormat( m_testPlaylistPath + "no-playlist.png" ), Meta::Unknown );
+    QCOMPARE( Meta::getFormat( m_testPlaylistPath + "no-playlist.png" ), Meta::NotPlaylist );
 }
 
 void TestPlaylistFileSupport::testIsPlaylist()
 {
-    QCOMPARE( Playlists::isPlaylist( m_testPlaylistPath + "test.asx" ), true );
-    QCOMPARE( Playlists::isPlaylist( m_testPlaylistPath + "test.m3u" ), true );
-    QCOMPARE( Playlists::isPlaylist( m_testPlaylistPath + "test.pls" ), true );
-    QCOMPARE( Playlists::isPlaylist( m_testPlaylistPath + "test.ram" ), true );
-    QCOMPARE( Playlists::isPlaylist( m_testPlaylistPath + "test.smil" ), true );
-    // TODO: Playlists::XML <- what kind of playlist format is that? example?
-    QCOMPARE( Playlists::isPlaylist( m_testPlaylistPath + "test.xspf" ), true );
-    QCOMPARE( Playlists::isPlaylist( m_testPlaylistPath + "no-playlist.png" ), false );
+    QCOMPARE( Meta::isPlaylist( m_testPlaylistPath + "test.asx" ), true );
+    QCOMPARE( Meta::isPlaylist( m_testPlaylistPath + "test.m3u" ), true );
+    QCOMPARE( Meta::isPlaylist( m_testPlaylistPath + "test.pls" ), true );
+    QCOMPARE( Meta::isPlaylist( m_testPlaylistPath + "test.ram" ), true );
+    QCOMPARE( Meta::isPlaylist( m_testPlaylistPath + "test.smil" ), true );
+    // TODO: Meta::XML <- what kind of playlist format is that? example?
+    QCOMPARE( Meta::isPlaylist( m_testPlaylistPath + "test.xspf" ), true );
+    QCOMPARE( Meta::isPlaylist( m_testPlaylistPath + "no-playlist.png" ), false );
 }
 
 #include "TestPlaylistFileSupport.moc"
diff --git a/tests/meta/TestXSPFPlaylist.cpp b/tests/meta/TestXSPFPlaylist.cpp
index a9c54e3..1669697 100644
--- a/tests/meta/TestXSPFPlaylist.cpp
+++ b/tests/meta/TestXSPFPlaylist.cpp
@@ -66,7 +66,7 @@ void TestXSPFPlaylist::initTestCase()
     QVERIFY( QFile::copy( url.toLocalFile(), tempPath ) );
     QVERIFY( QFile::exists( tempPath ) );
     
-    m_testPlaylist1 = new Playlists::XSPFPlaylist( tempPath, false );
+    m_testPlaylist1 = new Meta::XSPFPlaylist( tempPath, false );
     
 }
 
@@ -302,7 +302,7 @@ void TestXSPFPlaylist::testSetAndGetLink()
 
 void TestXSPFPlaylist::testHasCapabilityInterface()
 {
-    QVERIFY( m_testPlaylist1->hasCapabilityInterface( Playlists::XSPFPlaylist::Capability::EditablePlaylist ) );
+    QVERIFY( m_testPlaylist1->hasCapabilityInterface( Meta::XSPFPlaylist::Capability::EditablePlaylist ) );
 }
 
 void TestXSPFPlaylist::testRetrievableUrl()
diff --git a/tests/meta/TestXSPFPlaylist.h b/tests/meta/TestXSPFPlaylist.h
index 2a5a143..b713695 100644
--- a/tests/meta/TestXSPFPlaylist.h
+++ b/tests/meta/TestXSPFPlaylist.h
@@ -23,7 +23,7 @@
 #include <QtCore/QObject>
 #include <QtCore/QString>
 
-namespace Playlists {
+namespace Meta {
     class XSPFPlaylist;
 }
 
@@ -58,7 +58,7 @@ private slots:
     void testSave();
 
 private:
-    Playlists::XSPFPlaylist *m_testPlaylist1;
+    Meta::XSPFPlaylist *m_testPlaylist1;
     QString dataPath( const QString &relPath );
 };
 
diff --git a/tests/meta/multi/CMakeLists.txt b/tests/meta/multi/CMakeLists.txt
index db9d70c..67b9030 100644
--- a/tests/meta/multi/CMakeLists.txt
+++ b/tests/meta/multi/CMakeLists.txt
@@ -19,6 +19,7 @@ set( testmetamultitrack_SRCS
     ${AMAROK_SOURCE_TREE}/core/capabilities/BoundedPlaybackCapability.cpp
     ${AMAROK_SOURCE_TREE}/core/capabilities/MultiSourceCapability.cpp
     ${AMAROK_SOURCE_TREE}/core/meta/impl/multi/MultiTrack.cpp
+    ${AMAROK_SOURCE_TREE}/core/capabilities/MultiSourceCapability.cpp
     ${AMAROK_SOURCE_TREE}/core/capabilities/impl/multisource/MultiSourceCapabilityImpl.cpp )
 
 
diff --git a/tests/meta/multi/TestMetaMultiTrack.cpp b/tests/meta/multi/TestMetaMultiTrack.cpp
index 3520ce5..6359b9d 100644
--- a/tests/meta/multi/TestMetaMultiTrack.cpp
+++ b/tests/meta/multi/TestMetaMultiTrack.cpp
@@ -47,7 +47,7 @@ void TestMetaMultiTrack::initTestCase()
     const QFileInfo file( QDir::toNativeSeparators( path ) );
     QVERIFY( file.exists() );
     const QString filePath = file.absoluteFilePath();
-    Playlists::PlaylistPtr playlist = Playlists::PlaylistPtr::dynamicCast( Playlists::loadPlaylistFile( filePath ) );
+    Meta::PlaylistPtr playlist = Meta::PlaylistPtr::dynamicCast( Meta::loadPlaylistFile( filePath ) );
 
     if( !playlist )
         QVERIFY( false ); // no playlist -> no test. that's life ;)
diff --git a/tests/playlistmanager/file/TestPlaylistFileProvider.cpp b/tests/playlistmanager/file/TestPlaylistFileProvider.cpp
index 32c82e7..85dd38b 100644
--- a/tests/playlistmanager/file/TestPlaylistFileProvider.cpp
+++ b/tests/playlistmanager/file/TestPlaylistFileProvider.cpp
@@ -54,7 +54,7 @@ void TestPlaylistFileProvider::cleanupTestCase()
 
 void TestPlaylistFileProvider::testPlaylists()
 {
-    Playlists::PlaylistList tempList = m_testPlaylistFileProvider->playlists();
+    Meta::PlaylistList tempList = m_testPlaylistFileProvider->playlists();
     QCOMPARE( tempList.size(), 0 );
 }
 
@@ -64,7 +64,7 @@ void TestPlaylistFileProvider::testSave()
     const KUrl trackUrl = dataPath( "data/audio/Platz 01.mp3" );
     tempTrackList.append( CollectionManager::instance()->trackForUrl( trackUrl ) );
 
-    Playlists::PlaylistPtr testPlaylist = m_testPlaylistFileProvider->save( tempTrackList, "Amarok Test Playlist.m3u" );
+    Meta::PlaylistPtr testPlaylist = m_testPlaylistFileProvider->save( tempTrackList, "Amarok Test Playlist.m3u" );
 
     QCOMPARE( testPlaylist->name(), QString( "Amarok Test Playlist.m3u" ) );
     QCOMPARE( testPlaylist->tracks().size(), 1 );
@@ -75,7 +75,7 @@ void TestPlaylistFileProvider::testImportAndDeletePlaylists()
 {
     QVERIFY( m_testPlaylistFileProvider->import( dataPath( "data/playlists/test.m3u" ) ) );
 
-    Playlists::PlaylistList tempList = m_testPlaylistFileProvider->playlists();
+    Meta::PlaylistList tempList = m_testPlaylistFileProvider->playlists();
     QCOMPARE( tempList.size(), 1 ); // iow: use it with a clean profile
 
     // FIXME: deleting playlist causes a confirm dialog to appear
@@ -88,7 +88,7 @@ void TestPlaylistFileProvider::testRename()
 {
     QVERIFY( m_testPlaylistFileProvider->import( dataPath( "data/playlists/test.m3u" ) ) );
 
-    Playlists::PlaylistList tempList = m_testPlaylistFileProvider->playlists();
+    Meta::PlaylistList tempList = m_testPlaylistFileProvider->playlists();
     QCOMPARE( tempList.size(), 1 );
 
     m_testPlaylistFileProvider->rename( tempList.at( 0 ), "New Test Name" );
@@ -113,7 +113,7 @@ void TestPlaylistFileProvider::removeTestPlaylist()
 
 void TestPlaylistFileProvider::removeConfigPlaylistEntries()
 {
-    m_testPlaylistFileProvider = new Playlists::PlaylistFileProvider();
+    m_testPlaylistFileProvider = new PlaylistFileProvider();
     KConfigGroup config = Amarok::config( "Loaded Playlist Files" );
     config.deleteGroup();
 }
diff --git a/tests/playlistmanager/file/TestPlaylistFileProvider.h b/tests/playlistmanager/file/TestPlaylistFileProvider.h
index f5da86e..67b1fa8 100644
--- a/tests/playlistmanager/file/TestPlaylistFileProvider.h
+++ b/tests/playlistmanager/file/TestPlaylistFileProvider.h
@@ -23,9 +23,7 @@
 #include <QtCore/QObject>
 #include <QtCore/QString>
 
-namespace Playlists {
-    class PlaylistFileProvider;
-}
+class PlaylistFileProvider;
 
 class TestPlaylistFileProvider : public QObject
 {
@@ -46,7 +44,7 @@ private slots:
 private:
     void removeTestPlaylist();
     void removeConfigPlaylistEntries();
-    Playlists::PlaylistFileProvider *m_testPlaylistFileProvider;
+    PlaylistFileProvider *m_testPlaylistFileProvider;
     QString dataPath( const QString &relPath );
 };
 
diff --git a/tests/playlistmanager/sql/TestSqlUserPlaylistProvider.cpp b/tests/playlistmanager/sql/TestSqlUserPlaylistProvider.cpp
index 163d89c..6c3736d 100644
--- a/tests/playlistmanager/sql/TestSqlUserPlaylistProvider.cpp
+++ b/tests/playlistmanager/sql/TestSqlUserPlaylistProvider.cpp
@@ -46,7 +46,7 @@ void TestSqlUserPlaylistProvider::initTestCase()
     EngineController *controller = new EngineController();
     Amarok::Components::setEngineController( controller );
 
-    m_testSqlUserPlaylistProvider = new Playlists::SqlUserPlaylistProvider( true );
+    m_testSqlUserPlaylistProvider = new SqlUserPlaylistProvider( true );
     m_testSqlUserPlaylistProvider->deletePlaylists( m_testSqlUserPlaylistProvider->playlists() );
 }
 
@@ -57,7 +57,7 @@ void TestSqlUserPlaylistProvider::cleanupTestCase()
 
 void TestSqlUserPlaylistProvider::testPlaylists()
 {
-    Playlists::PlaylistList tempList = m_testSqlUserPlaylistProvider->playlists();
+    Meta::PlaylistList tempList = m_testSqlUserPlaylistProvider->playlists();
     QCOMPARE( tempList.size(), 0 );
 }
 
@@ -68,7 +68,7 @@ void TestSqlUserPlaylistProvider::testSave()
     trackUrl = dataPath( "data/audio/Platz 01.mp3" );
     tempTrackList.append( CollectionManager::instance()->trackForUrl( trackUrl ) );
 
-    Playlists::PlaylistPtr testPlaylist = m_testSqlUserPlaylistProvider->save( tempTrackList, "Amarok Test Playlist" );
+    Meta::PlaylistPtr testPlaylist = m_testSqlUserPlaylistProvider->save( tempTrackList, "Amarok Test Playlist" );
 
     QCOMPARE( testPlaylist->name(), QString( "Amarok Test Playlist" ) );
     QCOMPARE( testPlaylist->tracks().size(), 1 );
@@ -78,7 +78,7 @@ void TestSqlUserPlaylistProvider::testImportAndDeletePlaylists()
 {
     QVERIFY( m_testSqlUserPlaylistProvider->import( dataPath( "data/playlists/test.xspf" ) ) );
 
-    Playlists::PlaylistList tempList = m_testSqlUserPlaylistProvider->playlists();
+    Meta::PlaylistList tempList = m_testSqlUserPlaylistProvider->playlists();
     QCOMPARE( tempList.size(), 2 );
 
     QVERIFY( m_testSqlUserPlaylistProvider->import( dataPath( "data/playlists/test.pls" ) ) );
@@ -92,7 +92,7 @@ void TestSqlUserPlaylistProvider::testRename()
 {
     QVERIFY( m_testSqlUserPlaylistProvider->import( dataPath( "data/playlists/test.xspf" ) ) );
 
-    Playlists::PlaylistList tempList = m_testSqlUserPlaylistProvider->playlists();
+    Meta::PlaylistList tempList = m_testSqlUserPlaylistProvider->playlists();
     QCOMPARE( tempList.size(), 2 );
 
     m_testSqlUserPlaylistProvider->rename( tempList.at( 0 ), "New Test Name" );
diff --git a/tests/playlistmanager/sql/TestSqlUserPlaylistProvider.h b/tests/playlistmanager/sql/TestSqlUserPlaylistProvider.h
index 104a645..517ace4 100644
--- a/tests/playlistmanager/sql/TestSqlUserPlaylistProvider.h
+++ b/tests/playlistmanager/sql/TestSqlUserPlaylistProvider.h
@@ -23,9 +23,7 @@
 #include <QtCore/QObject>
 #include <QtCore/QString>
 
-namespace Playlists {
-    class SqlUserPlaylistProvider;
-}
+class SqlUserPlaylistProvider;
 
 class TestSqlUserPlaylistProvider : public QObject
 {
@@ -43,7 +41,7 @@ private slots:
     void testRename();
 
 private:
-    Playlists::SqlUserPlaylistProvider *m_testSqlUserPlaylistProvider;
+    SqlUserPlaylistProvider *m_testSqlUserPlaylistProvider;
     QString dataPath( const QString &relPath );
 };
 


More information about the Amarok-devel mailing list