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

List:       kde-commits
Subject:    [libechonest] /: Add playlist artist year start/before etc
From:       Leo Franchi <lfranchi () kde ! org>
Date:       2013-06-30 14:37:51
Message-ID: E1UtIlD-0001c0-I1 () scm ! kde ! org
[Download RAW message or body]

Git commit 92d00b57ad0c86330a4112998da64d6877f1721a by Leo Franchi.
Committed on 30/06/2013 at 14:34.
Pushed by lfranchi into branch 'master'.

Add playlist artist year start/before etc

M  +8    -0    src/Playlist.cpp
M  +4    -0    src/Playlist.h
M  +1    -1    src/Song.cpp
M  +28   -0    tests/PlaylistTest.cpp
M  +1    -0    tests/PlaylistTest.h

http://commits.kde.org/libechonest/92d00b57ad0c86330a4112998da64d6877f1721a

diff --git a/src/Playlist.cpp b/src/Playlist.cpp
index 6ea5980..4e1c5d6 100644
--- a/src/Playlist.cpp
+++ b/src/Playlist.cpp
@@ -442,6 +442,14 @@ QByteArray \
Echonest::DynamicPlaylist::playlistParamToString(Echonest::DynamicPla  return \
"song_type";  case Echonest::DynamicPlaylist::Genre :
             return "genre";
+        case Echonest::DynamicPlaylist::ArtistStartYearBefore:
+            return "artist_start_year_before";
+        case Echonest::DynamicPlaylist::ArtistStartYearAfter:
+            return "artist_start_year_after";
+        case Echonest::DynamicPlaylist::ArtistEndYearBefore:
+            return "artist_end_year_before";
+        case Echonest::DynamicPlaylist::ArtistEndYearAfter:
+            return "artist_end_year_after";
     }
     return QByteArray();
 }
diff --git a/src/Playlist.h b/src/Playlist.h
index e01ef91..960ccc7 100644
--- a/src/Playlist.h
+++ b/src/Playlist.h
@@ -176,6 +176,10 @@ namespace Echonest{
             TargetArtistFamiliarity, /// When steering: 0.0 < artist_familiarity < \
1.Target a desired energy for the artist_familiarity in this dynamic playlist session \
SongType, /// Type of Song (atm: Live, Studio, Christmas)  Genre, /// Genre Parameter \
needed for GenreRadio Playlist +            ArtistStartYearBefore,
+            ArtistStartYearAfter,
+            ArtistEndYearBefore,
+            ArtistEndYearAfter
         };
 
         /**
diff --git a/src/Song.cpp b/src/Song.cpp
index c13c0a2..e5474ef 100644
--- a/src/Song.cpp
+++ b/src/Song.cpp
@@ -393,7 +393,7 @@ QByteArray Echonest::Song::searchParamToString( \
Echonest::Song::SearchParam para  case Echonest::Song::ArtistStartYearAfter:
             return "artist_start_year_after";
         case Echonest::Song::ArtistEndYearBefore:
-            return "artist_endt_year_before";
+            return "artist_end_year_before";
         case Echonest::Song::ArtistEndYearAfter:
             return "artist_end_year_after";
     }
diff --git a/tests/PlaylistTest.cpp b/tests/PlaylistTest.cpp
index 1f0646e..abfa79a 100644
--- a/tests/PlaylistTest.cpp
+++ b/tests/PlaylistTest.cpp
@@ -116,6 +116,34 @@ void PlaylistTest::testStatic2()
 
 }
 
+
+void PlaylistTest::testStaticArtistYears()
+{
+    DynamicPlaylist::PlaylistParams p;
+    p.append( DynamicPlaylist::PlaylistParamData( DynamicPlaylist::Type, \
DynamicPlaylist::ArtistDescriptionType ) ); +    p.append( \
DynamicPlaylist::PlaylistParamData( DynamicPlaylist::Description, QLatin1String( \
"rock" ) ) ); +    p.append( DynamicPlaylist::PlaylistParamData( \
DynamicPlaylist::ArtistStartYearBefore, 1970 ) ); +    p.append( \
DynamicPlaylist::PlaylistParamData( DynamicPlaylist::ArtistEndYearBefore, 1980 ) ); + \
p.append( DynamicPlaylist::PlaylistParamData( DynamicPlaylist::SongInformation, \
QVariant::fromValue( Echonest::SongInformation( Echonest::SongInformation::Hotttnesss \
| Echonest::SongInformation::ArtistHotttnesss | \
Echonest::SongInformation::ArtistFamiliarity ) ) ) ); +    p.append( \
DynamicPlaylist::PlaylistParamData( DynamicPlaylist::Results, 4 ) ); +
+    QNetworkReply* reply = DynamicPlaylist::staticPlaylist( p );
+
+    qDebug() << reply->url().toEncoded();
+    QCOMPARE( QLatin1String( reply->url().toEncoded() ), QLatin1String( \
"http://developer.echonest.com/api/v4/playlist/static?api_key=JGJCRKWLXLBZIFAZB&format \
=xml&type=artist-description&description=rock&artist_start_year_before=1970&artist_end \
_year_before=1980&bucket=song_hotttnesss&bucket=artist_hotttnesss&bucket=artist_familiarity&results=4" \
) ); +    QEventLoop loop;
+    loop.connect( reply, SIGNAL(finished()), SLOT(quit()) );
+    loop.exec();
+    SongList songs = DynamicPlaylist::parseStaticPlaylist( reply );
+
+//     qDebug() << "Got songs;" << songs;
+    QCOMPARE( songs.size(), 4 );
+    Q_FOREACH( const Song& song, songs ) {
+        QVERIFY( !song.id().isEmpty() );
+    }
+
+}
+
 void PlaylistTest::testStaticWithSongType()
 {
     DynamicPlaylist::PlaylistParams p;
diff --git a/tests/PlaylistTest.h b/tests/PlaylistTest.h
index 929e274..959256b 100644
--- a/tests/PlaylistTest.h
+++ b/tests/PlaylistTest.h
@@ -27,6 +27,7 @@ private slots:
 
     void testStatic1();
     void testStatic2();
+    void testStaticArtistYears();
     void testStaticWithSongType();
     void testStaticXSPF();
     void testDynamic1();


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

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