Magnatune context menu
This commit is contained in:
parent
8b76cfa19d
commit
8d3353520a
@ -27,6 +27,8 @@
|
|||||||
#include <QXmlStreamReader>
|
#include <QXmlStreamReader>
|
||||||
#include <QtIOCompressor>
|
#include <QtIOCompressor>
|
||||||
#include <QSortFilterProxyModel>
|
#include <QSortFilterProxyModel>
|
||||||
|
#include <QMenu>
|
||||||
|
#include <QDesktopServices>
|
||||||
|
|
||||||
#include <QtDebug>
|
#include <QtDebug>
|
||||||
|
|
||||||
@ -34,10 +36,12 @@ const char* MagnatuneService::kServiceName = "Magnatune";
|
|||||||
const char* MagnatuneService::kDatabaseUrl =
|
const char* MagnatuneService::kDatabaseUrl =
|
||||||
"http://magnatune.com/info/song_info2_xml.gz";
|
"http://magnatune.com/info/song_info2_xml.gz";
|
||||||
const char* MagnatuneService::kSongsTable = "magnatune_songs";
|
const char* MagnatuneService::kSongsTable = "magnatune_songs";
|
||||||
|
const char* MagnatuneService::kHomepage = "http://magnatune.com";
|
||||||
|
|
||||||
MagnatuneService::MagnatuneService(RadioModel* parent)
|
MagnatuneService::MagnatuneService(RadioModel* parent)
|
||||||
: RadioService(kServiceName, parent),
|
: RadioService(kServiceName, parent),
|
||||||
root_(NULL),
|
root_(NULL),
|
||||||
|
context_menu_(new QMenu),
|
||||||
library_backend_(new LibraryBackend(parent->db(), kSongsTable,
|
library_backend_(new LibraryBackend(parent->db(), kSongsTable,
|
||||||
QString::null, QString::null, this)),
|
QString::null, QString::null, this)),
|
||||||
library_model_(new LibraryModel(library_backend_, this)),
|
library_model_(new LibraryModel(library_backend_, this)),
|
||||||
@ -53,9 +57,19 @@ MagnatuneService::MagnatuneService(RadioModel* parent)
|
|||||||
library_sort_model_->setDynamicSortFilter(true);
|
library_sort_model_->setDynamicSortFilter(true);
|
||||||
library_sort_model_->sort(0);
|
library_sort_model_->sort(0);
|
||||||
|
|
||||||
|
add_to_playlist_ = context_menu_->addAction(
|
||||||
|
QIcon(":media-playback-start.png"), tr("Add to playlist"), this, SLOT(AddToPlaylist()));
|
||||||
|
context_menu_->addSeparator();
|
||||||
|
context_menu_->addAction(QIcon(":web.png"), tr("Open magnatune.com in browser"), this, SLOT(Homepage()));
|
||||||
|
context_menu_->addAction(QIcon(":refresh.png"), tr("Refresh catalogue"), this, SLOT(ReloadDatabase()));
|
||||||
|
|
||||||
library_model_->Init();
|
library_model_->Init();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
MagnatuneService::~MagnatuneService() {
|
||||||
|
delete context_menu_;
|
||||||
|
}
|
||||||
|
|
||||||
RadioItem* MagnatuneService::CreateRootItem(RadioItem *parent) {
|
RadioItem* MagnatuneService::CreateRootItem(RadioItem *parent) {
|
||||||
root_ = new RadioItem(this, RadioItem::Type_Service, kServiceName, parent);
|
root_ = new RadioItem(this, RadioItem::Type_Service, kServiceName, parent);
|
||||||
root_->icon = QIcon(":magnatune.png");
|
root_->icon = QIcon(":magnatune.png");
|
||||||
@ -154,7 +168,22 @@ Song MagnatuneService::ReadTrack(QXmlStreamReader& reader) {
|
|||||||
return song;
|
return song;
|
||||||
}
|
}
|
||||||
|
|
||||||
void MagnatuneService::ShowContextMenu(RadioItem* item, const QModelIndex& index,
|
void MagnatuneService::ShowContextMenu(RadioItem*, const QModelIndex& index,
|
||||||
const QPoint& global_pos) {
|
const QPoint& global_pos) {
|
||||||
|
if (index.model() == library_sort_model_)
|
||||||
|
context_item_ = index;
|
||||||
|
else
|
||||||
|
context_item_ = QModelIndex();
|
||||||
|
|
||||||
|
add_to_playlist_->setEnabled(context_item_.isValid());
|
||||||
|
context_menu_->popup(global_pos);
|
||||||
|
}
|
||||||
|
|
||||||
|
void MagnatuneService::AddToPlaylist() {
|
||||||
|
emit AddItemsToPlaylist(library_model_->GetChildSongs(
|
||||||
|
library_sort_model_->mapToSource(context_item_)));
|
||||||
|
}
|
||||||
|
|
||||||
|
void MagnatuneService::Homepage() {
|
||||||
|
QDesktopServices::openUrl(QUrl(kHomepage));
|
||||||
}
|
}
|
||||||
|
@ -32,10 +32,12 @@ class MagnatuneService : public RadioService {
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
MagnatuneService(RadioModel* parent);
|
MagnatuneService(RadioModel* parent);
|
||||||
|
~MagnatuneService();
|
||||||
|
|
||||||
static const char* kServiceName;
|
static const char* kServiceName;
|
||||||
static const char* kDatabaseUrl;
|
static const char* kDatabaseUrl;
|
||||||
static const char* kSongsTable;
|
static const char* kSongsTable;
|
||||||
|
static const char* kHomepage;
|
||||||
|
|
||||||
RadioItem* CreateRootItem(RadioItem* parent);
|
RadioItem* CreateRootItem(RadioItem* parent);
|
||||||
void LazyPopulate(RadioItem* item);
|
void LazyPopulate(RadioItem* item);
|
||||||
@ -50,11 +52,19 @@ class MagnatuneService : public RadioService {
|
|||||||
void ReloadDatabase();
|
void ReloadDatabase();
|
||||||
void ReloadDatabaseFinished();
|
void ReloadDatabaseFinished();
|
||||||
|
|
||||||
|
void AddToPlaylist();
|
||||||
|
void Homepage();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Song ReadTrack(QXmlStreamReader& reader);
|
Song ReadTrack(QXmlStreamReader& reader);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
RadioItem* root_;
|
RadioItem* root_;
|
||||||
|
QMenu* context_menu_;
|
||||||
|
QModelIndex context_item_;
|
||||||
|
|
||||||
|
QAction* add_to_playlist_;
|
||||||
|
|
||||||
LibraryBackend* library_backend_;
|
LibraryBackend* library_backend_;
|
||||||
LibraryModel* library_model_;
|
LibraryModel* library_model_;
|
||||||
QSortFilterProxyModel* library_sort_model_;
|
QSortFilterProxyModel* library_sort_model_;
|
||||||
|
@ -347,6 +347,7 @@ MainWindow::MainWindow(QNetworkAccessManager* network, Engine::Type engine, QWid
|
|||||||
connect(radio_model_, SIGNAL(StreamReady(QUrl,QUrl)), player_, SLOT(StreamReady(QUrl,QUrl)));
|
connect(radio_model_, SIGNAL(StreamReady(QUrl,QUrl)), player_, SLOT(StreamReady(QUrl,QUrl)));
|
||||||
connect(radio_model_, SIGNAL(StreamMetadataFound(QUrl,Song)), playlist_, SLOT(SetStreamMetadata(QUrl,Song)));
|
connect(radio_model_, SIGNAL(StreamMetadataFound(QUrl,Song)), playlist_, SLOT(SetStreamMetadata(QUrl,Song)));
|
||||||
connect(radio_model_, SIGNAL(AddItemToPlaylist(RadioItem*)), SLOT(InsertRadioItem(RadioItem*)));
|
connect(radio_model_, SIGNAL(AddItemToPlaylist(RadioItem*)), SLOT(InsertRadioItem(RadioItem*)));
|
||||||
|
connect(radio_model_, SIGNAL(AddItemsToPlaylist(SongList)), SLOT(InsertRadioItems(SongList)));
|
||||||
connect(radio_model_->GetLastFMService(), SIGNAL(ScrobblingEnabledChanged(bool)), SLOT(ScrobblingEnabledChanged(bool)));
|
connect(radio_model_->GetLastFMService(), SIGNAL(ScrobblingEnabledChanged(bool)), SLOT(ScrobblingEnabledChanged(bool)));
|
||||||
connect(radio_model_->GetLastFMService(), SIGNAL(ButtonVisibilityChanged(bool)), SLOT(LastFMButtonVisibilityChanged(bool)));
|
connect(radio_model_->GetLastFMService(), SIGNAL(ButtonVisibilityChanged(bool)), SLOT(LastFMButtonVisibilityChanged(bool)));
|
||||||
connect(ui_.radio_view, SIGNAL(doubleClicked(QModelIndex)), SLOT(RadioDoubleClick(QModelIndex)));
|
connect(ui_.radio_view, SIGNAL(doubleClicked(QModelIndex)), SLOT(RadioDoubleClick(QModelIndex)));
|
||||||
@ -705,6 +706,13 @@ void MainWindow::InsertRadioItem(RadioItem* item) {
|
|||||||
player_->PlayAt(first_song.row(), Engine::First, true);
|
player_->PlayAt(first_song.row(), Engine::First, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void MainWindow::InsertRadioItems(const SongList& items) {
|
||||||
|
QModelIndex first_song = playlist_->InsertSongs(items);
|
||||||
|
|
||||||
|
if (first_song.isValid() && player_->GetState() != Engine::Playing)
|
||||||
|
player_->PlayAt(first_song.row(), Engine::First, true);
|
||||||
|
}
|
||||||
|
|
||||||
void MainWindow::PlaylistRightClick(const QPoint& global_pos, const QModelIndex& index) {
|
void MainWindow::PlaylistRightClick(const QPoint& global_pos, const QModelIndex& index) {
|
||||||
playlist_menu_index_ = index;
|
playlist_menu_index_ = index;
|
||||||
|
|
||||||
|
@ -119,6 +119,7 @@ class MainWindow : public QMainWindow {
|
|||||||
|
|
||||||
void RadioDoubleClick(const QModelIndex& index);
|
void RadioDoubleClick(const QModelIndex& index);
|
||||||
void InsertRadioItem(RadioItem*);
|
void InsertRadioItem(RadioItem*);
|
||||||
|
void InsertRadioItems(const SongList& songs);
|
||||||
void ScrobblingEnabledChanged(bool value);
|
void ScrobblingEnabledChanged(bool value);
|
||||||
void LastFMButtonVisibilityChanged(bool value);
|
void LastFMButtonVisibilityChanged(bool value);
|
||||||
void Love();
|
void Love();
|
||||||
|
@ -307,5 +307,5 @@ QModelIndex MergedProxyModel::FindSourceParent(const QModelIndex& proxy_index) c
|
|||||||
QModelIndex source_index = mapToSource(proxy_index);
|
QModelIndex source_index = mapToSource(proxy_index);
|
||||||
if (source_index.model() == sourceModel())
|
if (source_index.model() == sourceModel())
|
||||||
return source_index;
|
return source_index;
|
||||||
return merge_points_.value(proxy_index.model());
|
return merge_points_.value(source_index.model());
|
||||||
}
|
}
|
||||||
|
@ -63,7 +63,7 @@ QString MultiLoadingIndicator::TaskTypeToString(TaskType type) {
|
|||||||
case GettingChannels: return tr("Getting channels");
|
case GettingChannels: return tr("Getting channels");
|
||||||
case LoadingStream: return tr("Loading stream");
|
case LoadingStream: return tr("Loading stream");
|
||||||
case LoadingLastFM: return tr("Loading Last.fm radio");
|
case LoadingLastFM: return tr("Loading Last.fm radio");
|
||||||
case LoadingMagnatune: return tr("Downloading Magnatune database");
|
case LoadingMagnatune: return tr("Downloading Magnatune catalogue");
|
||||||
|
|
||||||
default: return QString::null;
|
default: return QString::null;
|
||||||
}
|
}
|
||||||
|
@ -55,6 +55,7 @@ void RadioModel::AddService(RadioService *service) {
|
|||||||
connect(service, SIGNAL(StreamError(QString)), SIGNAL(StreamError(QString)));
|
connect(service, SIGNAL(StreamError(QString)), SIGNAL(StreamError(QString)));
|
||||||
connect(service, SIGNAL(StreamMetadataFound(QUrl,Song)), SIGNAL(StreamMetadataFound(QUrl,Song)));
|
connect(service, SIGNAL(StreamMetadataFound(QUrl,Song)), SIGNAL(StreamMetadataFound(QUrl,Song)));
|
||||||
connect(service, SIGNAL(AddItemToPlaylist(RadioItem*)), SIGNAL(AddItemToPlaylist(RadioItem*)));
|
connect(service, SIGNAL(AddItemToPlaylist(RadioItem*)), SIGNAL(AddItemToPlaylist(RadioItem*)));
|
||||||
|
connect(service, SIGNAL(AddItemsToPlaylist(SongList)), SIGNAL(AddItemsToPlaylist(SongList)));
|
||||||
}
|
}
|
||||||
|
|
||||||
RadioService* RadioModel::ServiceByName(const QString& name) {
|
RadioService* RadioModel::ServiceByName(const QString& name) {
|
||||||
|
@ -20,10 +20,10 @@
|
|||||||
#include "radioitem.h"
|
#include "radioitem.h"
|
||||||
#include "simpletreemodel.h"
|
#include "simpletreemodel.h"
|
||||||
#include "multiloadingindicator.h"
|
#include "multiloadingindicator.h"
|
||||||
|
#include "song.h"
|
||||||
|
|
||||||
class RadioService;
|
class RadioService;
|
||||||
class LastFMService;
|
class LastFMService;
|
||||||
class Song;
|
|
||||||
class MergedProxyModel;
|
class MergedProxyModel;
|
||||||
class Database;
|
class Database;
|
||||||
|
|
||||||
@ -67,6 +67,7 @@ class RadioModel : public SimpleTreeModel<RadioItem> {
|
|||||||
void StreamMetadataFound(const QUrl& original_url, const Song& song);
|
void StreamMetadataFound(const QUrl& original_url, const Song& song);
|
||||||
|
|
||||||
void AddItemToPlaylist(RadioItem* item);
|
void AddItemToPlaylist(RadioItem* item);
|
||||||
|
void AddItemsToPlaylist(const SongList& items);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
void LazyPopulate(RadioItem* parent);
|
void LazyPopulate(RadioItem* parent);
|
||||||
|
@ -23,8 +23,8 @@
|
|||||||
|
|
||||||
#include "radioitem.h"
|
#include "radioitem.h"
|
||||||
#include "multiloadingindicator.h"
|
#include "multiloadingindicator.h"
|
||||||
|
#include "song.h"
|
||||||
|
|
||||||
class Song;
|
|
||||||
class RadioModel;
|
class RadioModel;
|
||||||
|
|
||||||
class RadioService : public QObject {
|
class RadioService : public QObject {
|
||||||
@ -68,6 +68,7 @@ class RadioService : public QObject {
|
|||||||
void StreamMetadataFound(const QUrl& original_url, const Song& song);
|
void StreamMetadataFound(const QUrl& original_url, const Song& song);
|
||||||
|
|
||||||
void AddItemToPlaylist(RadioItem* item);
|
void AddItemToPlaylist(RadioItem* item);
|
||||||
|
void AddItemsToPlaylist(const SongList& items);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
RadioModel* model_;
|
RadioModel* model_;
|
||||||
|
@ -329,7 +329,7 @@ msgstr "Načítám kanál"
|
|||||||
msgid "Loading Last.fm radio"
|
msgid "Loading Last.fm radio"
|
||||||
msgstr "Načítám rádio Last.fm"
|
msgstr "Načítám rádio Last.fm"
|
||||||
|
|
||||||
msgid "Downloading Magnatune database"
|
msgid "Downloading Magnatune catalogue"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Open somafm.com in browser"
|
msgid "Open somafm.com in browser"
|
||||||
@ -623,6 +623,12 @@ msgstr ""
|
|||||||
msgid "Add files to transcode"
|
msgid "Add files to transcode"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Open magnatune.com in browser"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Refresh catalogue"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Various Artists"
|
msgid "Various Artists"
|
||||||
msgstr "Různí umělci"
|
msgstr "Různí umělci"
|
||||||
|
|
||||||
|
@ -329,7 +329,7 @@ msgstr "Indlæser stream"
|
|||||||
msgid "Loading Last.fm radio"
|
msgid "Loading Last.fm radio"
|
||||||
msgstr "Indlæser Last.fm-radio"
|
msgstr "Indlæser Last.fm-radio"
|
||||||
|
|
||||||
msgid "Downloading Magnatune database"
|
msgid "Downloading Magnatune catalogue"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Open somafm.com in browser"
|
msgid "Open somafm.com in browser"
|
||||||
@ -626,6 +626,12 @@ msgstr ""
|
|||||||
msgid "Add files to transcode"
|
msgid "Add files to transcode"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Open magnatune.com in browser"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Refresh catalogue"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Various Artists"
|
msgid "Various Artists"
|
||||||
msgstr "Diverse kunstnere"
|
msgstr "Diverse kunstnere"
|
||||||
|
|
||||||
|
@ -328,7 +328,7 @@ msgstr "Lade Stream"
|
|||||||
msgid "Loading Last.fm radio"
|
msgid "Loading Last.fm radio"
|
||||||
msgstr "Last.fm Radio wird geladen"
|
msgstr "Last.fm Radio wird geladen"
|
||||||
|
|
||||||
msgid "Downloading Magnatune database"
|
msgid "Downloading Magnatune catalogue"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Open somafm.com in browser"
|
msgid "Open somafm.com in browser"
|
||||||
@ -622,6 +622,12 @@ msgstr ""
|
|||||||
msgid "Add files to transcode"
|
msgid "Add files to transcode"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Open magnatune.com in browser"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Refresh catalogue"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Various Artists"
|
msgid "Various Artists"
|
||||||
msgstr "Verschiedene Interpreten"
|
msgstr "Verschiedene Interpreten"
|
||||||
|
|
||||||
|
@ -330,7 +330,7 @@ msgstr "Φόρτωμα ροής (stream)"
|
|||||||
msgid "Loading Last.fm radio"
|
msgid "Loading Last.fm radio"
|
||||||
msgstr "Φόρτωμα Last.fm"
|
msgstr "Φόρτωμα Last.fm"
|
||||||
|
|
||||||
msgid "Downloading Magnatune database"
|
msgid "Downloading Magnatune catalogue"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Open somafm.com in browser"
|
msgid "Open somafm.com in browser"
|
||||||
@ -624,6 +624,12 @@ msgstr ""
|
|||||||
msgid "Add files to transcode"
|
msgid "Add files to transcode"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Open magnatune.com in browser"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Refresh catalogue"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Various Artists"
|
msgid "Various Artists"
|
||||||
msgstr "Διάφοροι καλλιτέχνες"
|
msgstr "Διάφοροι καλλιτέχνες"
|
||||||
|
|
||||||
|
@ -328,7 +328,7 @@ msgstr "Loading stream"
|
|||||||
msgid "Loading Last.fm radio"
|
msgid "Loading Last.fm radio"
|
||||||
msgstr "Loading Last.fm radio"
|
msgstr "Loading Last.fm radio"
|
||||||
|
|
||||||
msgid "Downloading Magnatune database"
|
msgid "Downloading Magnatune catalogue"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Open somafm.com in browser"
|
msgid "Open somafm.com in browser"
|
||||||
@ -622,6 +622,12 @@ msgstr ""
|
|||||||
msgid "Add files to transcode"
|
msgid "Add files to transcode"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Open magnatune.com in browser"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Refresh catalogue"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Various Artists"
|
msgid "Various Artists"
|
||||||
msgstr "Various Artists"
|
msgstr "Various Artists"
|
||||||
|
|
||||||
|
@ -329,7 +329,7 @@ msgstr "Cargando flujo"
|
|||||||
msgid "Loading Last.fm radio"
|
msgid "Loading Last.fm radio"
|
||||||
msgstr "Cargando radio de Last.fm"
|
msgstr "Cargando radio de Last.fm"
|
||||||
|
|
||||||
msgid "Downloading Magnatune database"
|
msgid "Downloading Magnatune catalogue"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Open somafm.com in browser"
|
msgid "Open somafm.com in browser"
|
||||||
@ -624,6 +624,12 @@ msgstr ""
|
|||||||
msgid "Add files to transcode"
|
msgid "Add files to transcode"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Open magnatune.com in browser"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Refresh catalogue"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Various Artists"
|
msgid "Various Artists"
|
||||||
msgstr "Varios Artistas"
|
msgstr "Varios Artistas"
|
||||||
|
|
||||||
|
@ -328,7 +328,7 @@ msgstr ""
|
|||||||
msgid "Loading Last.fm radio"
|
msgid "Loading Last.fm radio"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Downloading Magnatune database"
|
msgid "Downloading Magnatune catalogue"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Open somafm.com in browser"
|
msgid "Open somafm.com in browser"
|
||||||
@ -621,6 +621,12 @@ msgstr ""
|
|||||||
msgid "Add files to transcode"
|
msgid "Add files to transcode"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Open magnatune.com in browser"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Refresh catalogue"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Various Artists"
|
msgid "Various Artists"
|
||||||
msgstr "Useita artisteja"
|
msgstr "Useita artisteja"
|
||||||
|
|
||||||
|
@ -331,7 +331,7 @@ msgstr "Chargement du flux"
|
|||||||
msgid "Loading Last.fm radio"
|
msgid "Loading Last.fm radio"
|
||||||
msgstr "Chargement de la radio Last.fm"
|
msgstr "Chargement de la radio Last.fm"
|
||||||
|
|
||||||
msgid "Downloading Magnatune database"
|
msgid "Downloading Magnatune catalogue"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Open somafm.com in browser"
|
msgid "Open somafm.com in browser"
|
||||||
@ -625,6 +625,12 @@ msgstr ""
|
|||||||
msgid "Add files to transcode"
|
msgid "Add files to transcode"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Open magnatune.com in browser"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Refresh catalogue"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Various Artists"
|
msgid "Various Artists"
|
||||||
msgstr "Compilations d'artistes"
|
msgstr "Compilations d'artistes"
|
||||||
|
|
||||||
|
@ -329,7 +329,7 @@ msgstr "A carregar a stream"
|
|||||||
msgid "Loading Last.fm radio"
|
msgid "Loading Last.fm radio"
|
||||||
msgstr "Carregando a rádio da Last.fm"
|
msgstr "Carregando a rádio da Last.fm"
|
||||||
|
|
||||||
msgid "Downloading Magnatune database"
|
msgid "Downloading Magnatune catalogue"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Open somafm.com in browser"
|
msgid "Open somafm.com in browser"
|
||||||
@ -623,6 +623,12 @@ msgstr ""
|
|||||||
msgid "Add files to transcode"
|
msgid "Add files to transcode"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Open magnatune.com in browser"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Refresh catalogue"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Various Artists"
|
msgid "Various Artists"
|
||||||
msgstr "Vários Artistas"
|
msgstr "Vários Artistas"
|
||||||
|
|
||||||
|
@ -329,7 +329,7 @@ msgstr "Caricamento flusso"
|
|||||||
msgid "Loading Last.fm radio"
|
msgid "Loading Last.fm radio"
|
||||||
msgstr "Caricamento radio Last.fm"
|
msgstr "Caricamento radio Last.fm"
|
||||||
|
|
||||||
msgid "Downloading Magnatune database"
|
msgid "Downloading Magnatune catalogue"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Open somafm.com in browser"
|
msgid "Open somafm.com in browser"
|
||||||
@ -624,6 +624,12 @@ msgstr ""
|
|||||||
msgid "Add files to transcode"
|
msgid "Add files to transcode"
|
||||||
msgstr "Aggiungi file da convertire"
|
msgstr "Aggiungi file da convertire"
|
||||||
|
|
||||||
|
msgid "Open magnatune.com in browser"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Refresh catalogue"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Various Artists"
|
msgid "Various Artists"
|
||||||
msgstr "Artisti vari"
|
msgstr "Artisti vari"
|
||||||
|
|
||||||
|
@ -328,7 +328,7 @@ msgstr ""
|
|||||||
msgid "Loading Last.fm radio"
|
msgid "Loading Last.fm radio"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Downloading Magnatune database"
|
msgid "Downloading Magnatune catalogue"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Open somafm.com in browser"
|
msgid "Open somafm.com in browser"
|
||||||
@ -623,6 +623,12 @@ msgstr ""
|
|||||||
msgid "Add files to transcode"
|
msgid "Add files to transcode"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Open magnatune.com in browser"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Refresh catalogue"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Various Artists"
|
msgid "Various Artists"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -328,7 +328,7 @@ msgstr "Lader lydstrøm"
|
|||||||
msgid "Loading Last.fm radio"
|
msgid "Loading Last.fm radio"
|
||||||
msgstr "Laster inn Last.fm radio"
|
msgstr "Laster inn Last.fm radio"
|
||||||
|
|
||||||
msgid "Downloading Magnatune database"
|
msgid "Downloading Magnatune catalogue"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Open somafm.com in browser"
|
msgid "Open somafm.com in browser"
|
||||||
@ -623,6 +623,12 @@ msgstr ""
|
|||||||
msgid "Add files to transcode"
|
msgid "Add files to transcode"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Open magnatune.com in browser"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Refresh catalogue"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Various Artists"
|
msgid "Various Artists"
|
||||||
msgstr "Diverse artister"
|
msgstr "Diverse artister"
|
||||||
|
|
||||||
|
@ -329,7 +329,7 @@ msgstr "Ładowanie strumienia"
|
|||||||
msgid "Loading Last.fm radio"
|
msgid "Loading Last.fm radio"
|
||||||
msgstr "Ładowanie radia Last.fm"
|
msgstr "Ładowanie radia Last.fm"
|
||||||
|
|
||||||
msgid "Downloading Magnatune database"
|
msgid "Downloading Magnatune catalogue"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Open somafm.com in browser"
|
msgid "Open somafm.com in browser"
|
||||||
@ -623,6 +623,12 @@ msgstr ""
|
|||||||
msgid "Add files to transcode"
|
msgid "Add files to transcode"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Open magnatune.com in browser"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Refresh catalogue"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Various Artists"
|
msgid "Various Artists"
|
||||||
msgstr "Różni wykonawcy"
|
msgstr "Różni wykonawcy"
|
||||||
|
|
||||||
|
@ -330,7 +330,7 @@ msgstr "A carregar a stream"
|
|||||||
msgid "Loading Last.fm radio"
|
msgid "Loading Last.fm radio"
|
||||||
msgstr "Carregando a rádio da Last.fm"
|
msgstr "Carregando a rádio da Last.fm"
|
||||||
|
|
||||||
msgid "Downloading Magnatune database"
|
msgid "Downloading Magnatune catalogue"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Open somafm.com in browser"
|
msgid "Open somafm.com in browser"
|
||||||
@ -624,6 +624,12 @@ msgstr ""
|
|||||||
msgid "Add files to transcode"
|
msgid "Add files to transcode"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Open magnatune.com in browser"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Refresh catalogue"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Various Artists"
|
msgid "Various Artists"
|
||||||
msgstr "Vários Artistas"
|
msgstr "Vários Artistas"
|
||||||
|
|
||||||
|
@ -328,7 +328,7 @@ msgstr ""
|
|||||||
msgid "Loading Last.fm radio"
|
msgid "Loading Last.fm radio"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Downloading Magnatune database"
|
msgid "Downloading Magnatune catalogue"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Open somafm.com in browser"
|
msgid "Open somafm.com in browser"
|
||||||
@ -621,6 +621,12 @@ msgstr ""
|
|||||||
msgid "Add files to transcode"
|
msgid "Add files to transcode"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Open magnatune.com in browser"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Refresh catalogue"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Various Artists"
|
msgid "Various Artists"
|
||||||
msgstr "Vários artistas"
|
msgstr "Vários artistas"
|
||||||
|
|
||||||
|
@ -328,7 +328,7 @@ msgstr "Se încarcă fluxul"
|
|||||||
msgid "Loading Last.fm radio"
|
msgid "Loading Last.fm radio"
|
||||||
msgstr "Se încarcă radio Last.fm"
|
msgstr "Se încarcă radio Last.fm"
|
||||||
|
|
||||||
msgid "Downloading Magnatune database"
|
msgid "Downloading Magnatune catalogue"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Open somafm.com in browser"
|
msgid "Open somafm.com in browser"
|
||||||
@ -622,6 +622,12 @@ msgstr ""
|
|||||||
msgid "Add files to transcode"
|
msgid "Add files to transcode"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Open magnatune.com in browser"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Refresh catalogue"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Various Artists"
|
msgid "Various Artists"
|
||||||
msgstr "Diferiți artiști"
|
msgstr "Diferiți artiști"
|
||||||
|
|
||||||
|
@ -327,7 +327,7 @@ msgstr "Загрузка потока"
|
|||||||
msgid "Loading Last.fm radio"
|
msgid "Loading Last.fm radio"
|
||||||
msgstr "Загрузка радио Last.fm"
|
msgstr "Загрузка радио Last.fm"
|
||||||
|
|
||||||
msgid "Downloading Magnatune database"
|
msgid "Downloading Magnatune catalogue"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Open somafm.com in browser"
|
msgid "Open somafm.com in browser"
|
||||||
@ -622,6 +622,12 @@ msgstr ""
|
|||||||
msgid "Add files to transcode"
|
msgid "Add files to transcode"
|
||||||
msgstr "Добавить файлы для перекодирования"
|
msgstr "Добавить файлы для перекодирования"
|
||||||
|
|
||||||
|
msgid "Open magnatune.com in browser"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Refresh catalogue"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Various Artists"
|
msgid "Various Artists"
|
||||||
msgstr "Разные исполнители"
|
msgstr "Разные исполнители"
|
||||||
|
|
||||||
|
@ -329,7 +329,7 @@ msgstr "Načítava sa stream"
|
|||||||
msgid "Loading Last.fm radio"
|
msgid "Loading Last.fm radio"
|
||||||
msgstr "Načítava sa Last.fm rádio"
|
msgstr "Načítava sa Last.fm rádio"
|
||||||
|
|
||||||
msgid "Downloading Magnatune database"
|
msgid "Downloading Magnatune catalogue"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Open somafm.com in browser"
|
msgid "Open somafm.com in browser"
|
||||||
@ -623,6 +623,12 @@ msgstr ""
|
|||||||
msgid "Add files to transcode"
|
msgid "Add files to transcode"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Open magnatune.com in browser"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Refresh catalogue"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Various Artists"
|
msgid "Various Artists"
|
||||||
msgstr "Rôzni interpréti"
|
msgstr "Rôzni interpréti"
|
||||||
|
|
||||||
|
@ -328,7 +328,7 @@ msgstr "Laddar ström"
|
|||||||
msgid "Loading Last.fm radio"
|
msgid "Loading Last.fm radio"
|
||||||
msgstr "Laddar Last.fm radio"
|
msgstr "Laddar Last.fm radio"
|
||||||
|
|
||||||
msgid "Downloading Magnatune database"
|
msgid "Downloading Magnatune catalogue"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Open somafm.com in browser"
|
msgid "Open somafm.com in browser"
|
||||||
@ -622,6 +622,12 @@ msgstr ""
|
|||||||
msgid "Add files to transcode"
|
msgid "Add files to transcode"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Open magnatune.com in browser"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Refresh catalogue"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Various Artists"
|
msgid "Various Artists"
|
||||||
msgstr "Diverse artister"
|
msgstr "Diverse artister"
|
||||||
|
|
||||||
|
@ -328,7 +328,7 @@ msgstr ""
|
|||||||
msgid "Loading Last.fm radio"
|
msgid "Loading Last.fm radio"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Downloading Magnatune database"
|
msgid "Downloading Magnatune catalogue"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Open somafm.com in browser"
|
msgid "Open somafm.com in browser"
|
||||||
@ -621,6 +621,12 @@ msgstr ""
|
|||||||
msgid "Add files to transcode"
|
msgid "Add files to transcode"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Open magnatune.com in browser"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Refresh catalogue"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Various Artists"
|
msgid "Various Artists"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -319,7 +319,7 @@ msgstr ""
|
|||||||
msgid "Loading Last.fm radio"
|
msgid "Loading Last.fm radio"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Downloading Magnatune database"
|
msgid "Downloading Magnatune catalogue"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Open somafm.com in browser"
|
msgid "Open somafm.com in browser"
|
||||||
@ -612,6 +612,12 @@ msgstr ""
|
|||||||
msgid "Add files to transcode"
|
msgid "Add files to transcode"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Open magnatune.com in browser"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Refresh catalogue"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Various Artists"
|
msgid "Various Artists"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user