[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