~ubuntu-branches/ubuntu/saucy/clementine/saucy

« back to all changes in this revision

Viewing changes to src/playlist/playlistitem.cpp

  • Committer: Package Import Robot
  • Author(s): Thomas PIERSON
  • Date: 2012-01-01 20:43:39 UTC
  • mfrom: (1.1.1)
  • Revision ID: package-import@ubuntu.com-20120101204339-lsb6nndwhfy05sde
Tags: 1.0.1+dfsg-1
New upstream release. (Closes: #653926, #651611, #657391)

Show diffs side-by-side

added added

removed removed

Lines of Context:
17
17
 
18
18
#include "playlistitem.h"
19
19
#include "songplaylistitem.h"
 
20
#include "core/logging.h"
 
21
#include "core/song.h"
 
22
#include "internet/jamendoplaylistitem.h"
 
23
#include "internet/jamendoservice.h"
 
24
#include "internet/magnatuneplaylistitem.h"
 
25
#include "internet/magnatuneservice.h"
 
26
#include "internet/internetplaylistitem.h"
20
27
#include "library/library.h"
21
28
#include "library/libraryplaylistitem.h"
22
 
#include "radio/jamendoplaylistitem.h"
23
 
#include "radio/jamendoservice.h"
24
 
#include "radio/magnatuneplaylistitem.h"
25
 
#include "radio/magnatuneservice.h"
26
 
#include "radio/radioplaylistitem.h"
27
29
 
 
30
#include <QSqlQuery>
28
31
#include <QtConcurrentRun>
29
32
#include <QtDebug>
30
33
 
31
 
PlaylistItem::SpecialLoadResult::SpecialLoadResult(
32
 
    Type type, const QUrl& original_url, const QUrl& media_url)
33
 
      : type_(type), original_url_(original_url), media_url_(media_url)
34
 
{
35
 
}
36
34
 
37
35
PlaylistItem* PlaylistItem::NewFromType(const QString& type) {
38
36
  if (type == "Library")
43
41
    return new JamendoPlaylistItem(type);
44
42
  if (type == "Stream" || type == "File")
45
43
    return new SongPlaylistItem(type);
46
 
  if (type == "Radio")
47
 
    return new RadioPlaylistItem(type);
 
44
  if (type == "Internet" || type == "Radio")
 
45
    return new InternetPlaylistItem("Internet");
48
46
 
49
 
  qWarning() << "Invalid PlaylistItem type:" << type;
 
47
  qLog(Warning) << "Invalid PlaylistItem type:" << type;
50
48
  return NULL;
51
49
}
52
50
 
58
56
  if (table == JamendoService::kSongsTable)
59
57
    return new JamendoPlaylistItem(song);
60
58
 
61
 
  qWarning() << "Invalid PlaylistItem songs table:" << table;
 
59
  qLog(Warning) << "Invalid PlaylistItem songs table:" << table;
62
60
  return NULL;
63
61
}
64
62
 
65
63
void PlaylistItem::BindToQuery(QSqlQuery* query) const {
66
 
  query->bindValue(1, type());
67
 
  query->bindValue(2, DatabaseValue(Column_LibraryId));
68
 
  query->bindValue(3, DatabaseValue(Column_Url));
69
 
  query->bindValue(4, DatabaseValue(Column_Title));
70
 
  query->bindValue(5, DatabaseValue(Column_Artist));
71
 
  query->bindValue(6, DatabaseValue(Column_Album));
72
 
  query->bindValue(7, DatabaseValue(Column_Length));
73
 
  query->bindValue(8, DatabaseValue(Column_RadioService));
74
 
  query->bindValue(9, DatabaseValue(Column_Beginning));
75
 
  query->bindValue(10, DatabaseValue(Column_CuePath));
 
64
  query->bindValue(":type", type());
 
65
  query->bindValue(":library_id", DatabaseValue(Column_LibraryId));
 
66
  query->bindValue(":radio_service", DatabaseValue(Column_InternetService));
 
67
 
 
68
  DatabaseSongMetadata().BindToQuery(query);
76
69
}
77
70
 
78
71
void PlaylistItem::SetTemporaryMetadata(const Song& metadata) {