|
a/doc/upmpdcli-manual.txt |
|
b/doc/upmpdcli-manual.txt |
|
... |
|
... |
290 |
|
290 |
|
291 |
If set, +artUrl+ is a link to a static icon for the radio (displayed as
|
291 |
If set, +artUrl+ is a link to a static icon for the radio (displayed as
|
292 |
album art).
|
292 |
album art).
|
293 |
|
293 |
|
294 |
If set, +artScript+ is the path to an executable script which can retrieve
|
294 |
If set, +artScript+ is the path to an executable script which can retrieve
|
295 |
the image for the currently playing title.
|
295 |
the image URL for the currently playing title.
|
296 |
|
296 |
|
297 |
Some radios (e.g. link:https://www.radioparadise.com/rp_2.php?#[Radio
|
297 |
Some radios (e.g. link:https://www.radioparadise.com/rp_2.php?#[Radio
|
298 |
Paradise]) publish the album art for the currently playing title. The
|
298 |
Paradise]) publish the album art for the currently playing title. The
|
299 |
details vary. The +artScript+ parameter, if set, should point to an
|
299 |
details vary. The +artScript+ parameter, if set, should point to an
|
300 |
executable script which prints this dynamic art Uri to stdout. The image
|
300 |
executable script which prints this dynamic art Uri to stdout. The image
|
|
... |
|
... |
353 |
songs = JSON.parse(response)['steps'].values
|
353 |
songs = JSON.parse(response)['steps'].values
|
354 |
now = Time.now
|
354 |
now = Time.now
|
355 |
songs.each do |song|
|
355 |
songs.each do |song|
|
356 |
song_end = Time.at(song['end'])
|
356 |
song_end = Time.at(song['end'])
|
357 |
if (song['embedType'] == 'song' && song_end >= now && Time.at(song['start']) <= now)
|
357 |
if (song['embedType'] == 'song' && song_end >= now && Time.at(song['start']) <= now)
|
|
|
358 |
title = song['title'] ? song['title'] : ''
|
|
|
359 |
artist = song['performers'] ? song['performers'] : song['authors']
|
358 |
metadata = {'title' => song['title'].split.collect{|s| s.capitalize}.join(' '),
|
360 |
metadata = {'title' => title.split.collect{|s| s.capitalize}.join(' '),
|
359 |
'artist' => song['performers'].split.collect{|s| s.capitalize}.join(' '),
|
361 |
'artist' => artist.split.collect{|s| s.capitalize}.join(' '),
|
360 |
'artUrl' => song['visual'],
|
362 |
'artUrl' => song['visual'],
|
361 |
'reload' => (song_end - now + 1).to_i}
|
363 |
'reload' => (song_end - now + 1).to_i}
|
362 |
puts JSON.generate(metadata)
|
364 |
puts JSON.generate(metadata)
|
363 |
break
|
365 |
break
|
364 |
end
|
366 |
end
|
|
... |
|
... |
393 |
=== Upmpdcli Songcast Control Point compatibility
|
395 |
=== Upmpdcli Songcast Control Point compatibility
|
394 |
|
396 |
|
395 |
Upmpdcli Senders and Receivers can be mixed with Linn ones and controlled
|
397 |
Upmpdcli Senders and Receivers can be mixed with Linn ones and controlled
|
396 |
from Upplay or Bubble DS (an maybe other control points).
|
398 |
from Upplay or Bubble DS (an maybe other control points).
|
397 |
|
399 |
|
398 |
Upmpdcli Senders can't be used by Linn Kazoo (tested with release
|
400 |
Neither Linn nor upmpdcli receivers can be linked to an upmpdcli Sender using
|
399 |
4.11.226), the reason unknown, but neither Linn nor upmpdcli receivers can
|
401 |
Linn Kazoo (tested with release 4.11.226), the reason is unknown.
|
400 |
be linked to an upmpdcli Sender using Kazoo.
|
|
|
401 |
|
402 |
|
402 |
Upmpdcli Receivers before release 1.2.14 are not visible in Linn
|
403 |
Upmpdcli Receivers before release 1.2.14 are not visible in Linn
|
403 |
Kazoo. Later versions can be linked, and stream, from a Linn Sender.
|
404 |
Kazoo. Later versions can be linked, and stream, from a Linn Sender.
|
404 |
|
405 |
|
405 |
|
406 |
Linn Kazoo can control the playlist in an upmpdcli instance which has been
|
|
|
407 |
put in Sender mode by another CP (i.e. currently using the PL-To-Sender
|
|
|
408 |
source). The Lumin IOS app will reset the Source to Playlist when
|
|
|
409 |
connecting, so it is unusable in this context.
|
406 |
|
410 |
|
407 |
[[UPMPDCLI-RECEIVER]]
|
411 |
[[UPMPDCLI-RECEIVER]]
|
408 |
=== Upmpdcli Songcast Receiver
|
412 |
=== Upmpdcli Songcast Receiver
|
409 |
|
413 |
|
410 |
*sc2mpd* can play the *Songcast* audio stream in two modes:
|
414 |
*sc2mpd* can play the *Songcast* audio stream in two modes:
|