mirror of
https://github.com/tomahawk-player/tomahawk.git
synced 2025-08-16 11:04:01 +02:00
add streaming operators for genre
This commit is contained in:
@@ -705,6 +705,7 @@ EchonestGenerator::loadGenres()
|
|||||||
{
|
{
|
||||||
if ( s_genres_lock.tryLockForRead() )
|
if ( s_genres_lock.tryLockForRead() )
|
||||||
{
|
{
|
||||||
|
qRegisterMetaTypeStreamOperators< Echonest::Genre >( "enGenre" );
|
||||||
QVariant genres = TomahawkUtils::Cache::instance()->getData( "EchonestGenerator", "genres" );
|
QVariant genres = TomahawkUtils::Cache::instance()->getData( "EchonestGenerator", "genres" );
|
||||||
s_genres_lock.unlock();
|
s_genres_lock.unlock();
|
||||||
if ( genres.isValid() && genres.canConvert< Echonest::Genres >() )
|
if ( genres.isValid() && genres.canConvert< Echonest::Genres >() )
|
||||||
@@ -808,9 +809,28 @@ EchonestGenerator::genresReceived()
|
|||||||
}
|
}
|
||||||
s_genresJob = 0;
|
s_genresJob = 0;
|
||||||
|
|
||||||
qRegisterMetaType< Echonest::Genre >( "enGenre" );
|
qRegisterMetaTypeStreamOperators< Echonest::Genre >( "enGenre" );
|
||||||
qRegisterMetaType< Echonest::Genres >( "enGenres" );
|
|
||||||
TomahawkUtils::Cache::instance()->putData( "EchonestGenerator", 1209600000 /* 2 weeks */, "genres", QVariant::fromValue< Echonest::Genres >( s_genres ) );
|
TomahawkUtils::Cache::instance()->putData( "EchonestGenerator", 1209600000 /* 2 weeks */, "genres", QVariant::fromValue< Echonest::Genres >( s_genres ) );
|
||||||
s_genres_lock.unlock();
|
s_genres_lock.unlock();
|
||||||
emit genresSaved();
|
emit genresSaved();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QDataStream&
|
||||||
|
operator<<(QDataStream& out, const Echonest::Genre &genre)
|
||||||
|
{
|
||||||
|
//TODO: this should be made more complete and be moved to libechonest
|
||||||
|
return out << genre.name() << genre.description();
|
||||||
|
}
|
||||||
|
|
||||||
|
QDataStream&
|
||||||
|
operator>>(QDataStream& in, Echonest::Genre& genre)
|
||||||
|
{
|
||||||
|
//TODO: this should be made more complete and be moved to libechonest
|
||||||
|
QString name;
|
||||||
|
QString description;
|
||||||
|
in >> name;
|
||||||
|
in >> description;
|
||||||
|
genre.setName( name );
|
||||||
|
genre.setDescription( description );
|
||||||
|
return in;
|
||||||
|
}
|
||||||
|
@@ -149,5 +149,10 @@ private:
|
|||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
//TODO: this code should be move to libechonest
|
||||||
|
//TODO: (delete this when libechonest 2.4 is out)
|
||||||
|
QDataStream& operator<<(QDataStream& out, const Echonest::Genre& genre);
|
||||||
|
QDataStream& operator>>(QDataStream& in, Echonest::Genre& genre);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user