testing browsing of TuneIn
This commit is contained in:
parent
8fa10cc548
commit
5dbe8ebf7d
@ -459,12 +459,18 @@ quint32 Heos::playStation(int playerId, const QString &sourceId, const QString &
|
|||||||
QByteArray cmd("heos://browse/play_stream?");
|
QByteArray cmd("heos://browse/play_stream?");
|
||||||
QUrlQuery queryParams;
|
QUrlQuery queryParams;
|
||||||
queryParams.addQueryItem("pid", QString::number(playerId));
|
queryParams.addQueryItem("pid", QString::number(playerId));
|
||||||
|
if (!sourceId.isEmpty()) {
|
||||||
queryParams.addQueryItem("sid", sourceId);
|
queryParams.addQueryItem("sid", sourceId);
|
||||||
|
}
|
||||||
if (!containerId.isEmpty()) {
|
if (!containerId.isEmpty()) {
|
||||||
queryParams.addQueryItem("cid", containerId);
|
queryParams.addQueryItem("cid", containerId);
|
||||||
}
|
}
|
||||||
|
if (!mediaId.isEmpty()) {
|
||||||
queryParams.addQueryItem("mid", mediaId);
|
queryParams.addQueryItem("mid", mediaId);
|
||||||
|
}
|
||||||
|
if (!stationName.isEmpty()) {
|
||||||
queryParams.addQueryItem("name", stationName);
|
queryParams.addQueryItem("name", stationName);
|
||||||
|
}
|
||||||
queryParams.addQueryItem("SEQUENCE", QString::number(sequence));
|
queryParams.addQueryItem("SEQUENCE", QString::number(sequence));
|
||||||
cmd.append(queryParams.toString());
|
cmd.append(queryParams.toString());
|
||||||
cmd.append("\r\n");
|
cmd.append("\r\n");
|
||||||
@ -643,7 +649,8 @@ void Heos::readData()
|
|||||||
* 4.2.2 Get Player Info
|
* 4.2.2 Get Player Info
|
||||||
* 4.2.3 Get Play State
|
* 4.2.3 Get Play State
|
||||||
* 4.2.4 Set Play State
|
* 4.2.4 Set Play State
|
||||||
* 4.2.5 Get Now Playing Media 4.2.6 Get Volume
|
* 4.2.5 Get Now Playing Media
|
||||||
|
* 4.2.6 Get Volume
|
||||||
* 4.2.7 Set Volume
|
* 4.2.7 Set Volume
|
||||||
* 4.2.8 Volume Up
|
* 4.2.8 Volume Up
|
||||||
* 4.2.9 Volume Down
|
* 4.2.9 Volume Down
|
||||||
@ -654,7 +661,9 @@ void Heos::readData()
|
|||||||
* 4.2.14 Set Play Mode
|
* 4.2.14 Set Play Mode
|
||||||
* 4.2.15 Get Queue
|
* 4.2.15 Get Queue
|
||||||
* 4.2.16 Play Queue Item
|
* 4.2.16 Play Queue Item
|
||||||
* 4.2.17 Remove Item(s) from Queue 4.2.18 Save Queue as Playlist 4.2.19 Clear Queue
|
* 4.2.17 Remove Item(s) from Queue
|
||||||
|
* 4.2.18 Save Queue as Playlist
|
||||||
|
* 4.2.19 Clear Queue
|
||||||
* 4.2.20 Move Queue
|
* 4.2.20 Move Queue
|
||||||
* 4.2.21 Play Next
|
* 4.2.21 Play Next
|
||||||
* 4.2.22 Play Previous
|
* 4.2.22 Play Previous
|
||||||
@ -900,8 +909,14 @@ void Heos::readData()
|
|||||||
} else if (command.contains("browse/browse")) {
|
} else if (command.contains("browse/browse")) {
|
||||||
qDebug(dcDenon()) << "Browse response:" << jsonDoc.toVariant().toMap().value("payload");
|
qDebug(dcDenon()) << "Browse response:" << jsonDoc.toVariant().toMap().value("payload");
|
||||||
QVariantList payloadVariantList = jsonDoc.toVariant().toMap().value("payload").toList();
|
QVariantList payloadVariantList = jsonDoc.toVariant().toMap().value("payload").toList();
|
||||||
QString sourceId = message.queryItemValue("sid");
|
QString sourceId;
|
||||||
QString containerId = message.queryItemValue("cid");
|
QString containerId;
|
||||||
|
if (message.hasQueryItem("sid")) {
|
||||||
|
sourceId = message.queryItemValue("sid");
|
||||||
|
}
|
||||||
|
if (message.hasQueryItem("cid")) {
|
||||||
|
containerId = message.queryItemValue("cid");
|
||||||
|
}
|
||||||
|
|
||||||
if (message.toString().contains("command under process")){
|
if (message.toString().contains("command under process")){
|
||||||
qDebug(dcDenon()) << "Browse command is beeing processed";
|
qDebug(dcDenon()) << "Browse command is beeing processed";
|
||||||
@ -962,6 +977,7 @@ void Heos::readData()
|
|||||||
} else if (command.contains("play_preset")) {
|
} else if (command.contains("play_preset")) {
|
||||||
|
|
||||||
} else if (command.contains("play_input")) {
|
} else if (command.contains("play_input")) {
|
||||||
|
qCDebug(dcDenon()) << "Command play input";
|
||||||
|
|
||||||
} else if (command.contains("add_to_queue")) {
|
} else if (command.contains("add_to_queue")) {
|
||||||
|
|
||||||
|
|||||||
@ -1032,6 +1032,8 @@ void DevicePluginDenon::onHeosMusicSourcesReceived(quint32 sequenceNumber, QList
|
|||||||
item.setMediaIcon(MediaBrowserItem::MediaBrowserIconTidal);
|
item.setMediaIcon(MediaBrowserItem::MediaBrowserIconTidal);
|
||||||
} else if (source.name == "TuneIn") {
|
} else if (source.name == "TuneIn") {
|
||||||
item.setMediaIcon(MediaBrowserItem::MediaBrowserIconTuneIn);
|
item.setMediaIcon(MediaBrowserItem::MediaBrowserIconTuneIn);
|
||||||
|
item.setBrowsable(true);
|
||||||
|
item.setDescription(source.serviceUsername);
|
||||||
} else if (source.name == "Local Music") {
|
} else if (source.name == "Local Music") {
|
||||||
item.setMediaIcon(MediaBrowserItem::MediaBrowserIconDisk);
|
item.setMediaIcon(MediaBrowserItem::MediaBrowserIconDisk);
|
||||||
} else if (source.name == "Playlists") {
|
} else if (source.name == "Playlists") {
|
||||||
@ -1306,7 +1308,7 @@ void IntegrationPluginDenon::browseDevice(BrowseResult *result)
|
|||||||
QString id = result->itemId().remove("source=");
|
QString id = result->itemId().remove("source=");
|
||||||
heos->browseSource(id);
|
heos->browseSource(id);
|
||||||
m_pendingBrowseResult.insert(id, result);
|
m_pendingBrowseResult.insert(id, result);
|
||||||
//connect(result, &QObject::destroyed, this, [this, result->itemId()](){ m_pendingBrowseResult.remove(result->itemId());});
|
connect(result, &QObject::destroyed, this, [this, id](){ m_pendingBrowseResult.remove(id);});
|
||||||
|
|
||||||
} else if (result->itemId().startsWith("container=")){
|
} else if (result->itemId().startsWith("container=")){
|
||||||
qDebug(dcDenon()) << "Browse container" << result->itemId();
|
qDebug(dcDenon()) << "Browse container" << result->itemId();
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user