1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- #ifndef RADIO_H
- #define RADIO_H
-
- #include <QObject>
- #include <QColor>
- #include <QUrl>
- #include <QPixmap>
- #include <QNetworkAccessManager>
- #include <QNetworkReply>
- #include <QMediaPlayer>
- #include <QList>
- #include <QTimer>
- #include "song.h"
-
- class Radio : public QObject
- {
- Q_OBJECT
- public:
- explicit Radio(QObject *parent = 0);
-
- QString getName();
- QString getClaim();
- QColor getTextColor();
- QUrl getLogoUrl();
- QUrl getStreamUrl();
- int getId();
- QUrl getApiBase();
- QUrl getCoverBase();
-
- Song* getCurrentSong();
-
- signals:
- void logoDownloaded(QPixmap);
- void songChanged(Song*);
- void nextSongsUpdated();
-
- public slots:
- void setName(QString n);
- void setClaim(QString c);
- void setTextColor(QColor c);
- void setLogoUrl(QUrl u);
- void setStreamUrl(QUrl u);
- void setId(int i);
- void setApiBase(QUrl u);
- void setCoverBase(QUrl u);
-
- void setCurrentSong(Song* s);
- void updateNextSongs();
- void downloadLogo();
- void startStream();
- void stopStream();
-
- void setNetworkManager(QNetworkAccessManager* m);
-
- private slots:
- void logoFinished();
- void logoError(QNetworkReply::NetworkError);
-
- void songsFinished();
- void songsError(QNetworkReply::NetworkError);
-
- void streamError();
-
- void songEnded();
-
- private:
- QString name;
- QString claim;
- QColor textColor;
- QUrl logoUrl;
- QUrl streamUrl;
- int id;
- QPixmap logo;
- QUrl apiBase;
- QUrl coverBase;
-
- QList<Song*> nextSongs;
- Song* currentSong;
- QTimer* songTimer;
-
- QNetworkAccessManager* mgr;
- QMediaPlayer* player;
- int logoTries;
- int songsTries;
- int streamTries;
-
- };
-
- #endif // RADIO_H
|