Quantcast
Channel: Squeezebox : Community : Forums - 3rd Party Software
Viewing all 2059 articles
Browse latest View live

Spotty/Spotify Drops outs

$
0
0
> Well both my SB Classic and Transporter are having the same issues with
> Spotify continually dropping out. No buffering notice.
> Not sure what's going on they used to play with out issues.


Did you check your server.log or the Spotty settings? Are there hints
about "status 429"? If so, follow the instructions on the Spotty
settings page about how to get your own Client ID from Spotify.



--

Michael

DSD on squeezelite

$
0
0
Hi,

I have dsd native and DoP cabable dac (using xmos chip).

Until now, I have been using Marco Curti's squeezelite-R2 in DoP mode from a Pine64 SoC that was stuck at kernel 3.10, because of slow mainlining progress.

However, a full mainline kernel is now available and I am rebuilding the system to use it. This should make native DSD playback possible, as the snd_usb_audio code was updated to include it after kernel 3.10.

Here's the output from cat /proc/asound/card1/stream0:
Code:

# cat /proc/asound/card1/stream0
XMOS HIFI-Ref at usb-1c1a000.usb-1, high speed : USB Audio

Playback:
  Status: Stop
  Interface 1
    Altset 1
    Format: S32_LE
    Channels: 2
    Endpoint: 1 OUT (ASYNC)
    Rates: 44100, 48000, 88200, 96000, 176400, 192000, 352800, 384000
    Data packet interval: 125 us
    Bits: 24
    Channel map: FL FR
  Interface 1
    Altset 2
    Format: SPECIAL DSD_U32_BE
    Channels: 2
    Endpoint: 1 OUT (ASYNC)
    Rates: 44100, 48000, 88200, 96000, 176400, 192000, 352800, 384000
    Data packet interval: 125 us
    Bits: 32
    DSD raw: DOP=0, bitrev=0
    Channel map: FL FR
  Interface 1
    Altset 3
    Format: S32_LE
    Channels: 2
    Endpoint: 1 OUT (ASYNC)
    Rates: 44100, 48000, 88200, 96000, 176400, 192000, 352800, 384000
    Data packet interval: 125 us
    Bits: 32
    Channel map: FL FR

As Marco Curti's work was included in Daphile and later added by Ralphy into the main squeezelite code, I have not compiled squeezelite-R2 this time round, but installed the deb package maintainer's squeezelite.


I load squeezelite with the -D parameter:
Code:

/usr/bin/squeezelite -n squeezebox -o default:CARD=HIFIRef -D -d all=info -f /var/log/squeezelite/squeezelite.log
[13:55:38.481833] stream_init:290 init stream
[13:55:38.484804] output_init_alsa:817 init output
[13:55:38.484894] output_init_alsa:845 requested alsa_buffer: 40 alsa_period: 4 format: any mmap: 1
[13:55:38.522857] output_init_common:410 supported rates: 384000 352800 192000 176400 96000 88200 48000 44100 32000 24000 22500 16000 12000 11025 8000
[13:55:38.641093] output_init_alsa:862 memory locked
[13:55:38.641938] output_thread:638 open output device: default:CARD=HIFIRef
[13:55:38.641976] decode_init:129 init decode, include codecs:  exclude codecs:
[13:55:38.644530] alsa_open:355 opening device at: 44100
[13:55:38.644715] register_dsd:624 using dsd to decode dsf,dff
[13:55:38.644791] register_ff:731 using ffmpeg to decode alc
[13:55:38.644823] register_ff:715 using ffmpeg to decode wma,wmap,wmal
[13:55:38.644855] register_faad:640 using faad to decode aac
[13:55:38.644886] register_vorbis:329 using vorbis to decode ogg
[13:55:38.644916] register_flac:286 using flac to decode flc
[13:55:38.644946] register_pcm:384 using pcm to decode aif,pcm
[13:55:38.644978] register_mad:412 using mad to decode mp3
[13:55:38.645619] discover_server:756 sending discovery
[13:55:38.646196] discover_server:767 got response from: 192.168.253.85:3483
[13:55:38.651239] alsa_open:406 opened device default:CARD=HIFIRef using format: S32_LE sample rate: 44100 mmap: 1
[13:55:38.651477] alsa_open:485 buffer: 40 period: 4 -> buffer size: 3763 period size: 940
[13:55:38.652509] slimproto:848 connecting to 192.168.253.85:3483
[13:55:38.652994] slimproto:881 connected
[13:55:38.653084] sendHELO:124 mac: 02:ba:5e:66:94:26
[13:55:38.653120] sendHELO:126 cap: Model=squeezelite,AccuratePlayPoints=1,HasDigitalOut=1,HasPolarityInversion=1,Firmware=v1.8,ModelName=SqueezeLite,MaxSampleRate=384000,dsf,dff,alc,wma,wmap,wmal,aac,ogg,flc,aif,pcm,mp3

but the player -> dsdplayer config screen on LMS (8.0) doesn't show any options:

Name:  squeezebox-dsd.png
Views: 192
Size:  36.4 KB

squeezelite-R2 on the same LMS looks as it should:
Name:  pine64-dsd.png
Views: 182
Size:  49.6 KB

I even tried recompiling the squeezelite package from source deb in case the build parameter was disabled, but same result.

squeezelite --help lists:

Build options: LINUX ALSA EVENTFD RESAMPLE FFMPEG VISEXPORT IR DSD LINKALL

What am I doing wrong?
Attached Images
  

Pandora 45 min timeout

$
0
0
> I've repeated this at least five times, so I'm confident it's not just a
> one-off problem. After the music stops, if I push play, it will only
> play one track and then stop again, showing the message that I'm over my
> daily limit for "skips". At that point, I've not done any skips, so,
> that message isn't reflective of anything I've done overtly. This
> happens whether I start playing from the LMS interface or from iPeng.


Please enable debug level logging for plugin.pandora
(Settings/Advanced/Logging) and reproduce again. Once it has happened,
check your server.log for any sign about Pandora failure.

--

Michael

Spotty "albums" takes 8+ seconds? Normal?

$
0
0
Hi,
I was wondering if anyone (@mherger?) knows why spotty takes so long to build the results for "albums". Not sure if they're all using jsonrpc but I see this issue with different apps like the open source Squeezer or just Postman. Here is my query. Note that another odd thing is if I limit the item count from 199 to 9 (there are 94 actual results...) it doesn't change the timing at all.

Name:  Screen Shot 2020-12-18 at 3.12.40 PM.jpg
Views: 21
Size:  146.3 KB
Attached Images
 

Squeezelite/piCorePlayer power to Tasmota/MQTT/HA

$
0
0
I am trying to control a smart power outlet so that a squeezeplayer state controls it.
The idea is to power the amp when the player is in use, but not otherwise.

I thought it would be easy but can't seem to find how...




I have Home Assistant and LMS integration. I can tell a player to turn on or off from HA.
But what I need is for HA to do an action when the player goes on or off, and it doesn't seem to have this option.


My power outlet runs Tasmota. Therefore, I can change its power state with MQTT or directly by http like so

http://192.168.x.x/cm?cmnd=Power%20Off

The plug is also using MQTT trough a broker, but I don't think the player will be MQTT compatible.

I thought about just running a script from the player on state change, but what's available on piCorePlayer is a script execution trigerred by gpio... Which won't do the same.

Anyone knows of a working path? Am I not seeing something that would make this work?

Any ideas of what next to try?

Thanks a lot.

Dropouts - Is it BBC Sounds or Airbridge ?

$
0
0
First up - I do really like the Picore Player/LMS and plug-ins. Wonderful work to all those who make it happen.

Thats said I am getting a bit fed up of "dropouts" in a stream - particularly using BBC Sounds. It can also happen using Bandscampout plug in.
Basically, at different times in a programme the audio is lost - sometimes it returns a while later - other times it needs a restart of the programme or track.
I have the latest versions of LMS/BBC Sounds/Airbridge. I have an Airport Express that I stream to.
I also use the Reliable plug in - to try and get a consistent stream.

Any ideas ?

Should I work out how to post a log file ? If so which log file should I look for ?

Much appreciated - Julian

[Announce] Community Firmware for Squeezebox Radio/Touch/Controller and LMS 8

$
0
0
I applaud the effort to get new firmwares out! It's something I tried to
build a few years back when Spotify pulled support for our hardware. And
I failed badly...

As Ralphy said I've been running this firmware on all hardware types.
Radio has been using a version of the Community firmware for months. My
kids actually installed the firmware when prompted without asking me.
Because it was in the way. And they haven't complaint about the results ;-).

Great job, guys!

--

Michael

Spotty can't connect

$
0
0
Hello All,

I am running LMS with picore player on a pi4 with one pi client and a squeeze radio.

After my initial installation of the system with the spotty plugin, i was able to play spotify via all our mobile devices to all players. All was working good via the smart authorization on the web interface.

Now i cant past the autorisation in the spotify app, the message i get is 'Can't play this right now'

Initially i thought this was due to not running the players on a fixed ip address. So i set them all up un a fixed wireless address. This did not change the behavior.

The i tried to setup via direct input of my username and password. This did not resolve the issue.

Here with a recent log file :

[70-01-01 01:00:55.2518] main::init (387) Starting Logitech Media Server (v7.9.3, 1597753178, Sun Aug 23 19:27:27 CEST 2020) perl 5.028002 - arm-linux-gnueabihf-thread-multi-64int
[70-01-01 01:00:58.2597] Slim::Web::Cometd::handler (421) errorNeedsClient: 00:04:20:28:6d:06, status, -, 10, menu:menu, useContextMenu:1, subscribe:600
[70-01-01 01:01:10.2632] Slim::Utils::Firmware::downloadAsyncError (580) Warning: Firmware: Failed to download http://update.slimdevices.com/update...3/baby.version (Couldn't resolve IP address for: update.slimdevices.com), will try again in 10 minutes.
[70-01-01 01:01:38.0094] Slim::Utils::Update::checkVersionError (185) There was an error while checking for updates to Logitech Media Server:
Couldn't resolve IP address for: www.mysqueezebox.com
[70-01-01 01:11:22.9854] Slim::Utils::Firmware::downloadAsyncError (580) Warning: Firmware: Failed to download http://update.slimdevices.com/update...3/baby.version (Couldn't resolve IP address for: update.slimdevices.com), will try again in 20 minutes.
[70-01-01 01:31:34.0038] Slim::Utils::Firmware::downloadAsyncError (580) Warning: Firmware: Failed to download http://update.slimdevices.com/update...3/baby.version (Couldn't resolve IP address for: update.slimdevices.com), will try again in 40 minutes.
[70-01-01 02:11:46.0053] Slim::Utils::Firmware::downloadAsyncError (580) Warning: Firmware: Failed to download http://update.slimdevices.com/update...3/baby.version (Couldn't resolve IP address for: update.slimdevices.com), will try again in 80 minutes.
[70-01-01 03:31:58.0051] Slim::Utils::Firmware::downloadAsyncError (580) Warning: Firmware: Failed to download http://update.slimdevices.com/update...3/baby.version (Couldn't resolve IP address for: update.slimdevices.com), will try again in 160 minutes.
[70-01-01 03:43:37.6697] Slim::Player::Song::open (409) Error: Couldn't create command line for wma playback for [file:///mnt/volume1/Music/Alfabetisch%20met%20coverart/Bruce%20Springsteen/Bruce%20Springsteen%20-%201978%20-%20Darkness%20on%20the%20Edge%20of%20Town/10%20Darkness%20on%20the%20Edge%20of%20Town.wma]
[70-01-01 04:10:23.5588] Plugins::Spotty::API::__ANON__ (1424) API call: browse/featured-playlists?country=FR&limit=50&locale=en_US×tamp=1 970-01-01T04%3A10%3A00
[70-01-01 04:10:23.5592] Plugins::Spotty::API::__ANON__ (1428) error: Couldn't resolve IP address for: api.spotify.com
[70-01-01 04:10:23.5596] Plugins::Spotty::OPML::__ANON__ (191) Failed to get featured playlists and/or token - do not continue
[70-01-01 04:10:23.5809] Plugins::Spotty::API::__ANON__ (1424) API call: browse/featured-playlists?country=FR&limit=50&locale=en_US×tamp=1 970-01-01T04%3A10%3A00
[70-01-01 04:10:23.5812] Plugins::Spotty::API::__ANON__ (1428) error: Couldn't resolve IP address for: api.spotify.com
[70-01-01 04:10:23.5814] Plugins::Spotty::OPML::__ANON__ (191) Failed to get featured playlists and/or token - do not continue
[70-01-01 04:13:25.6904] Plugins::Spotty::Settings::Auth::handler (76) Authorization failed: called `Result::unwrap()` on an `Err` value: Custom { kind: Other, error: StringError("failed to lookup address information: Temporary failure in name resolution") }: thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Custom { kind: Other, error: StringError("failed to lookup address information: Temporary failure in name resolution") }', src/libcore/result.rs:997:5
note: Run with `RUST_BACKTRACE=1` environment variable to display a backtrace.
[70-01-01 04:13:45.8417] Plugins::Spotty::Settings::Auth::handler (76) Authorization failed: called `Result::unwrap()` on an `Err` value: Custom { kind: Other, error: StringError("failed to lookup address information: Temporary failure in name resolution") }: thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Custom { kind: Other, error: StringError("failed to lookup address information: Temporary failure in name resolution") }', src/libcore/result.rs:997:5
note: Run with `RUST_BACKTRACE=1` environment variable to display a backtrace.
[70-01-01 04:14:36.7685] Plugins::Spotty::Settings::Auth::handler (76) Authorization failed: called `Result::unwrap()` on an `Err` value: Custom { kind: Other, error: StringError("failed to lookup address information: Temporary failure in name resolution") }: thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Custom { kind: Other, error: StringError("failed to lookup address information: Temporary failure in name resolution") }', src/libcore/result.rs:997:5
note: Run with `RUST_BACKTRACE=1` environment variable to display a backtrace.

Suggestions to get the Spotty plugin running are most welcome!

Cheers,

Maarten

Picore player and Pandora issues with replaygain?

$
0
0
Hi,
I have many picore players working fine, but one in particular seems to fail at playing anything with Pandora. I checked pandora logging and when I try to play on the bad picore player it just spews out replaygain applications. If I then try a working picore player it prints just one out each song. See the time stamps here. The last few are the good ones. Just one per song. The top shows the spewing. But with logging on pandora set to "info" nothing more comes out. Not sure if there is a way to compare picore players to see why one works and one fails with same pandora plugin on same LMS?

Code:

[20-12-21 16:24:34.2699] Slim::Plugin::Pandora::ProtocolHandler::trackGain (390) Using replaygain value of -4.5 for Pandora track
[20-12-21 16:24:35.2446] Slim::Plugin::Pandora::ProtocolHandler::trackGain (390) Using replaygain value of -4.5 for Pandora track
[20-12-21 16:24:35.2682] Slim::Plugin::Pandora::ProtocolHandler::trackGain (390) Using replaygain value of -4.5 for Pandora track
[20-12-21 16:24:36.2513] Slim::Plugin::Pandora::ProtocolHandler::trackGain (390) Using replaygain value of -4.5 for Pandora track
[20-12-21 16:24:36.2735] Slim::Plugin::Pandora::ProtocolHandler::trackGain (390) Using replaygain value of -4.5 for Pandora track
[20-12-21 16:24:37.7967] Slim::Plugin::Pandora::ProtocolHandler::trackGain (390) Using replaygain value of -4.5 for Pandora track
[20-12-21 16:24:37.8248] Slim::Plugin::Pandora::ProtocolHandler::trackGain (390) Using replaygain value of -4.5 for Pandora track
[20-12-21 16:24:38.7667] Slim::Plugin::Pandora::ProtocolHandler::trackGain (390) Using replaygain value of -4.5 for Pandora track
[20-12-21 16:24:38.7871] Slim::Plugin::Pandora::ProtocolHandler::trackGain (390) Using replaygain value of -4.5 for Pandora track
[20-12-21 16:24:39.7726] Slim::Plugin::Pandora::ProtocolHandler::trackGain (390) Using replaygain value of -4.5 for Pandora track
[20-12-21 16:24:39.8379] Slim::Plugin::Pandora::ProtocolHandler::trackGain (390) Using replaygain value of -4.5 for Pandora track
[20-12-21 16:24:40.7527] Slim::Plugin::Pandora::ProtocolHandler::trackGain (390) Using replaygain value of -4.5 for Pandora track
[20-12-21 16:24:40.7755] Slim::Plugin::Pandora::ProtocolHandler::trackGain (390) Using replaygain value of -4.5 for Pandora track
[20-12-21 16:24:41.7754] Slim::Plugin::Pandora::ProtocolHandler::trackGain (390) Using replaygain value of -4.5 for Pandora track
[20-12-21 16:24:41.8003] Slim::Plugin::Pandora::ProtocolHandler::trackGain (390) Using replaygain value of -4.5 for Pandora track
[20-12-21 16:24:42.7871] Slim::Plugin::Pandora::ProtocolHandler::trackGain (390) Using replaygain value of -4.5 for Pandora track
[20-12-21 16:24:42.8135] Slim::Plugin::Pandora::ProtocolHandler::trackGain (390) Using replaygain value of -4.5 for Pandora track
[20-12-21 16:24:43.7608] Slim::Plugin::Pandora::ProtocolHandler::trackGain (390) Using replaygain value of -4.5 for Pandora track
[20-12-21 16:24:43.7898] Slim::Plugin::Pandora::ProtocolHandler::trackGain (390) Using replaygain value of -4.5 for Pandora track
[20-12-21 16:24:44.7730] Slim::Plugin::Pandora::ProtocolHandler::trackGain (390) Using replaygain value of -4.5 for Pandora track
[20-12-21 16:24:44.8014] Slim::Plugin::Pandora::ProtocolHandler::trackGain (390) Using replaygain value of -4.5 for Pandora track
[20-12-21 16:24:45.7992] Slim::Plugin::Pandora::ProtocolHandler::trackGain (390) Using replaygain value of -4.5 for Pandora track
[20-12-21 16:24:45.8203] Slim::Plugin::Pandora::ProtocolHandler::trackGain (390) Using replaygain value of -4.5 for Pandora track
[20-12-21 16:24:46.7724] Slim::Plugin::Pandora::ProtocolHandler::trackGain (390) Using replaygain value of -4.5 for Pandora track
[20-12-21 16:24:46.7969] Slim::Plugin::Pandora::ProtocolHandler::trackGain (390) Using replaygain value of -4.5 for Pandora track
[20-12-21 16:24:47.7795] Slim::Plugin::Pandora::ProtocolHandler::trackGain (390) Using replaygain value of -4.5 for Pandora track
[20-12-21 16:24:47.8102] Slim::Plugin::Pandora::ProtocolHandler::trackGain (390) Using replaygain value of -4.5 for Pandora track
[20-12-21 16:24:48.7688] Slim::Plugin::Pandora::ProtocolHandler::trackGain (390) Using replaygain value of -4.5 for Pandora track
[20-12-21 16:24:48.8332] Slim::Plugin::Pandora::ProtocolHandler::trackGain (390) Using replaygain value of -4.5 for Pandora track
[20-12-21 16:24:49.8735] Slim::Plugin::Pandora::ProtocolHandler::trackGain (390) Using replaygain value of -4.5 for Pandora track
[20-12-21 16:24:49.8959] Slim::Plugin::Pandora::ProtocolHandler::trackGain (390) Using replaygain value of -4.5 for Pandora track
[20-12-21 16:24:50.8565] Slim::Plugin::Pandora::ProtocolHandler::trackGain (390) Using replaygain value of -4.5 for Pandora track
[20-12-21 16:24:50.8779] Slim::Plugin::Pandora::ProtocolHandler::trackGain (390) Using replaygain value of -4.5 for Pandora track
[20-12-21 16:24:51.8897] Slim::Plugin::Pandora::ProtocolHandler::trackGain (390) Using replaygain value of -4.5 for Pandora track
[20-12-21 16:24:52.8469] Slim::Plugin::Pandora::ProtocolHandler::trackGain (390) Using replaygain value of -4.5 for Pandora track
[20-12-21 16:24:53.9977] Slim::Plugin::Pandora::ProtocolHandler::trackGain (390) Using replaygain value of -4.5 for Pandora track
[20-12-21 16:24:54.9755] Slim::Plugin::Pandora::ProtocolHandler::trackGain (390) Using replaygain value of -4.5 for Pandora track
[20-12-21 16:24:56.1674] Slim::Plugin::Pandora::ProtocolHandler::trackGain (390) Using replaygain value of -4.5 for Pandora track
[20-12-21 16:24:58.0196] Slim::Plugin::Pandora::ProtocolHandler::trackGain (390) Using replaygain value of -4.5 for Pandora track
[20-12-21 16:24:58.9890] Slim::Plugin::Pandora::ProtocolHandler::trackGain (390) Using replaygain value of -4.5 for Pandora track
[20-12-21 16:24:59.9938] Slim::Plugin::Pandora::ProtocolHandler::trackGain (390) Using replaygain value of -4.5 for Pandora track
[20-12-21 16:25:01.0710] Slim::Plugin::Pandora::ProtocolHandler::trackGain (390) Using replaygain value of -4.5 for Pandora track
[20-12-21 16:25:02.0761] Slim::Plugin::Pandora::ProtocolHandler::trackGain (390) Using replaygain value of -4.5 for Pandora track
[20-12-21 16:25:03.0806] Slim::Plugin::Pandora::ProtocolHandler::trackGain (390) Using replaygain value of -4.5 for Pandora track
[20-12-21 16:25:04.0814] Slim::Plugin::Pandora::ProtocolHandler::trackGain (390) Using replaygain value of -4.5 for Pandora track
[20-12-21 16:25:05.0647] Slim::Plugin::Pandora::ProtocolHandler::trackGain (390) Using replaygain value of -4.5 for Pandora track
[20-12-21 16:26:50.1097] Slim::Plugin::Pandora::ProtocolHandler::trackGain (390) Using replaygain value of -5.3 for Pandora track
[20-12-21 16:27:47.3636] Slim::Plugin::Pandora::ProtocolHandler::trackGain (390) Using replaygain value of -0.55 for Pandora track
[20-12-21 16:29:42.5443] Slim::Plugin::Pandora::ProtocolHandler::trackGain (390) Using replaygain value of -0.41 for Pandora track
[20-12-21 16:34:28.6814] Slim::Plugin::Pandora::ProtocolHandler::trackGain (390) Using replaygain value of 3.3 for Pandora track

Squeezelite: How to get the sample rate of the stream ???

$
0
0
Hello,

Probably very basic, but I spent hours looking all around and couldn't find the info.

LMS is displaying the stream bitrate so the information should be easy to get
Squeezelite with the resmple option also know the original sample rate as it can resample in sync mode

I can get the hardware sample rate info from alsa but what I want to know is the stream sample rate before it is upsampled
What is the command line ?

Thank you.
Jean:confused:

Squeezelite: slimproto_run error reading from socket: closed

$
0
0
Hi,

First post here!

I'm just getting started with LMS, and have managed to get most things up and running. My question is about Squeezelite - when I run it with debug options,

Code:

./squeezelite -d all=debug -n server_player
it seems to constantly loop with the following:

Code:

[11:47:09.228303] slimproto:926 connected
[11:47:09.228338] slimproto:937 local player
[11:47:09.228349] sendHELO:142 mac: 70:85:c2:31:39:e9
[11:47:09.228358] sendHELO:144 cap: CanHTTPS=1,Model=squeezelite,AccuratePlayPoints=1,HasDigitalOut=1,HasPolarityInversion=1,Firmware=v1.9.8-1287,ModelName=SqueezeLite,MaxSampleRate=44100,dsf,dff,alc,aac,ogg,ops,ogf,flc,aif,pcm,mp3,loc
[11:47:09.641476] process:521 setd
[11:47:09.641499] sendSETDName:248 set playername: server_player
[11:47:09.641565] process:521 setd
[11:47:09.641581] process:521 aude
[11:47:09.641588] process_aude:415 enable spdif: 1 dac: 1
[11:47:09.641653] process:521 audg
[11:47:09.641675] process_audg:433 audg gainL: 0 gainR: 0 adjust: 1
[11:47:09.743553] slimproto_run:572 error reading from socket: closed

a couple of times per second. This is when nothing is playing, and LMS is running. It seems to successfully play music that is streamed to it from LMS, but I'm wondering if these constant disconnects are completely normal, or whether something is going wrong.

Google searches for this error seem to show that it appears in other logs.

For reference, I'm using the binary distribution squeezelite-pulse-1.9.8.1287-x86_64, and LMS in Docker (lmscommunity/logitechmediaserver:8.1.0-dev) running on the same host.

USB DAC not recognized with AlloUSBridge on PiCorePlayer v7

$
0
0
Source: Allo USBridge Signature running PiCorePlayer v7
DAC: Audio-Gd R8HE with 2021 USB Amanero upgrade

Since the Amanero USB board upgrade of my DAC, it is no more recognized by PiCorePlayer v7 as it was before the board upgrade.
The upgraded DAC works well from MacOS, iOS and even PiCorePlayer v7 running on a Pi3 (just tested), but doesn’t anymore from the USBridge Signature.

I noticed there are new USB drivers for Linux on the Allo site (3.230.113.73:9011/Allocom/USBridgeSig/rpi-usbs-5.4.79-v8+) which may perhaps solve my issue, but I can’t figure out how to configure it on PiCorePlayer, could anyone help me forward there?

Squeezelite playing to bluetooth device; connect on demand

$
0
0
I have a bluetooth soundbar attached to my TV. I'd like to use squeezelite running on my server (Linux) to play to this soundbar over bluetooth occasionally. Obviously, since the soundbar is used by the TV, I don't want to have the bluetooth connection permanently up; instead, I would like to initially pair the speaker, and then have the speaker "connected" over bluetooth whenever audio is sent from squeezelite, and to automatically disconnect when the audio stops.

After extensive searching, I've not been able to find a way to do this. Some possibilities would be to modify squeezelite itself to run a shell command (bluetoothctl connect XXX) whenever audio was streamed to it, or to somehow create a virtual pulseaudio device for the speaker, detect that audio is sent to it, run the connect command, and then send that audio on to the real bluetooth device. This might require some coding, and I'm not really very familiar with pulseaudio. It looks like there used to be an "autoconnect" option in /etc/bluetooth/audio.conf, but this no longer exists, as far as I can tell, and I'm not even sure that this would do what I want (it might be more about reconnecting to previously connected devices automatically, which isn't really what I want).

Any ideas or thoughts?

SqueezeLite on Windows pausing, interruption, dropout of audio every 5 minutes

$
0
0
I really need help to solve my problem. Hopefully someone out there can provide some insight.

I've been running Squeezebox for years, and my server is a Synology DS918+ running DSM 6.x.
I was running LMS 7.9.1 and recently upgraded to 8.0.1. My issue exists on either version of LMS.
I have used Squeezebox Duet without any issues, but now I no longer use the Squeezebox unit, and I listen on a couple of clients: SqueezeLite on Windows, and also piCorePlayer on Raspberry Pi. My issue is that when running a windows client (SqueezeLite-X and also SqueezeLite command line) the audio will stop for about a minute, and then resume.

Here is what I observe: (client side)
* SqueezeLite version 1.9.8 is run like this:
squeezelite-win.exe -d all=debug -s 192.168.0.60 -o 0
* With the 'debug' level, you see some activity in the console, which doesn't show much, but is helpful.

* I see some activity like this:
[18:59:29.781] connect_socket:158 connecting to 192.168.0.60:9002
[18:59:29.811] stream_sock:591 header: GET /stream.mp3?player=70:85:c2:a8:ce:68 HTTP/1.0
* This shows that it is getting an mp3 stream from the NAS server.

* I see activity about every 5 minutes:
[18:40:36.290] mad_decode:247 setting track_start
[18:40:36.290] _checkfade:287 fade mode: 1 duration: 3 track-start
[18:40:36.292] _checkfade:327 CROSSFADE: 132300 frames
[18:40:44.375] _output_frames:152 track start sample rate: 44100 replay_gain: 0
[18:40:44.375] _output_frames:180 fade start reached
[18:40:47.365] _output_frames:203 crossfade complete
[18:40:47.365] _output_frames:206 skipped crossfaded start
[18:45:38.698] decode_flush:236 decode flush
[18:45:38.698] output_flush:438 flush output buffer
[18:45:38.783] codec_open:264 codec open: 'm'
[18:45:38.783] connect_socket:158 connecting to 192.168.0.60:9002
[18:45:38.823] stream_sock:591 header: GET /stream.mp3?player=70:85:c2:a8:ce:68 HTTP/1.0
[18:45:38.908] stream_thread:325 headers: len: 116
HTTP/1.1 200 OK
Server: Logitech Media Server (7.9.1 - 1504317335)
Connection: close
Content-Type: audio/mpeg
[18:45:38.973] mad_decode:247 setting track_start
[18:45:38.973] _checkfade:287 fade mode: 1 duration: 3 track-start
[18:45:38.983] _output_frames:64 start buffer frames: 13295
[18:45:38.983] _output_frames:152 track start sample rate: 44100 replay_gain: 0
[18:45:39.324] stream_thread:398 end of stream

* From this we see that it is buffering the stream, and it appears that the client is getting music in chunks every 5 minutes.

* When the music stops, it is usually 5 minutes after the last logging activity seen. Then the music stops for about 1 minute, and the music resumes, and I immediately see some logging activity, similar to above. The activity is normal, and there are no errors, it just STOPs, and resumes again after 1 minutes.

* During this stoppage, I see on the browser-based page, the playback counter is looping. Let's say playback is at the 2:15 mark. The sound stops, and I see it count forward 5 seconds: 2:15, 2:16, 2:17, 2:18, 2:19, 2:20 then back to 2:15 again. It always goes forward 4 or 5 seconds, before looping back, and it always resumes at the place it stopped. This suggests it's some kind of 'buffering' issue. Due to some network-related delay, it just stops, but can resume when it is able to buffer more audio and continue.

* Looking around for some clues about what went wrong - first I look at the windows client machine - CPU, memory, disk, network - everything normal.
* Looking at the LMS running on Synology - CPU, memory, disk, network - everything normal.
* Looking at the Log files for LMS in /volume1/@appstore/SqueezeCenter/Logs but there is no server-side logging activity when this issue comes up.

* It only happens with the Windows client. It happens the same on 2 different windows computers. But I could not find any clues about why it is pausing, either on client-side or server-side. Everything seems 'normal' but of course, it's far from normal. This started happening more recently, like the last 1 year, but no issues before that.
* The Windows computer and Synology NAS are physically connected with wired ethernet via a router. I have not observed any network-related issues.

* I searched the web for some forum postings and discussions, but I could not find any discussion about this particular issue.

* I'm a technical user, I'm very familiar with administrator-level stuff on windows, and I can get around linux too. With all the technical knowledge I could muster, I simply cannot figure out what is going on with this Squeezebox. I realize all the tech is very old, and some is now end-of-life - Synology is no longer offering LMS, and I need to download it from Sourceforge, and even that is now no longer supported since 2015. The windows client is also old, and not updated since 2014. I get it. There might be no 'fix' and it might be time to retire the Squeezebox altogether.

Best wishes to all for a safe and happy new year.

BBC Sounds Dropping out

$
0
0
Hi
I am having a problems with the BBC Sounds in terms of dropping out fairly often.
My system includes a Pi 3 as PcP based LMS Server only hardwired and 3 Pi 2's all wifi various output options all using PcP have happily run for a number of years streaming music from my NAS, did use BBC Iplayer but got tired of the dropouts and other problems (for various reasons) and not used for several years.
Now trying out Sounds and getting some dropouts looking for advice on how trace the cause. To eliminate the router I have a Pi 4 on the wifi on which I have run BBC Sounds via the Chromium Browser to a bluetooth speaker for hours without a single dropout.
So thinking settings in LMS which I have forgotten/not found, which logs should I run to track the faults have completely forgotten.
Can anybody point me at a Wiki or similar on setup and fault finding

Regards
Phil

up to date list of repositories

$
0
0
Hi guys,
after slowly migrating to a pCp + NAS setup I also need to get my external plugins installed again.
Turns out not all repositories still exist.

Do we have a list of repositories that is kept up to date? Or did someone move all the plugins to a centralised location?

I did try to search for it but have not found anything but sometimes people seem to reference such a list in their posts.

One repository that is gone is that of Eric Koldinger - GRAB PLAYLIST and THE SYCHRONIZER were part of this one.

Or is there a way to export all settings from my current setup and apply them to the pCP?

Thanks,

Merc

playing lms on google home players

$
0
0
hello
is there ny way to play music stored in lms through google home players?

Unable to get Spotty to run

$
0
0
I have installed the Spotty plugin but get the error "There has been a problem running the Spotty helper application. Please make sure you have the Microsoft Visual C++ Runtime (32-bit!) installed on your system." I have installed C++ Runtime and tried restarting LMS (also restarted the PC and also tried disabling and re-enabling the plugin). Maybe I missed something in the setup but I thought all I needed to do was tick the "enable" box and, after seeing the C++ message, I then downloaded and installed this but even after the restarts the message remains.

I am sure it will be an oversight on my part but I can't figure out where I have gone wrong. Any suggestions?

Thanks


Running LMS 8.1.0 - 1608700893 on Windows 10 Pro
Installed apps on the PC includes "Microsoft Visual C++ 2015 Redistributable (x86)" and the version is 14.0.23026.0

Server log contains:

[21-01-03 11:21:01.5646] Plugins::Spotty::Connect::canSpotifyConnect (84) Cannot support Spotty Connect, need at least helper version 0.12.0
[21-01-03 11:33:19.6644] Plugins::Spotty::Helper::get (51) Didn't find Spotty helper application!
[21-01-03 11:33:19.9846] Plugins::Spotty::Helper::get (51) Didn't find Spotty helper application!
[21-01-03 11:33:20.1341] Plugins::Spotty::Helper::get (51) Didn't find Spotty helper application!
[21-01-03 11:33:20.1345] Plugins::Spotty::Connect::canSpotifyConnect (84) Cannot support Spotty Connect, need at least helper version 0.12.0

Sample recipes.xml for MusikIP SugarCube

$
0
0
Hello,

MusicIP Mixer can be finetuned by Recipes.xml. I found some nice examples on the Internet I like to share. Perhaps, you have some more:

Code:


<recipes>
        <recipe name="default ohne Klassik">
        <constraint max="0">genre contains 'Christmas'</constraint>
        <constraint max="0">genre contains 'Comedy'</constraint>
        <constraint max="0">genre contains 'Podcast'</constraint>
        <constraint max="0">genre contains 'classical'</constraint>
        <constraint max="0">genre contains 'Speech'</constraint>
        </recipe>
       
        <recipe name="Hits aus Zeit und Genre">
        <popularity type="hits"/>
        <genre weight="3"/>
        <era weight="2"/>
        </recipe>
       
        <recipe name="Nur Klassik like">
        <constraint max="1">genre contains 'classical'</constraint>
        </recipe>

    <recipe name="Decade Lock">
        <constraint cond="seed year != 0" cutoff="0">abs(year - seed year) &lt; 10</constraint>
    </recipe>

    <recipe name="Use Ratings">
        <modifiers>
            <modifier weight="2">rating = 5</modifier>
            <modifier weight="1.5">rating = 4</modifier>
            <modifier weight=".5">rating = 2</modifier>
        </modifiers>
        <constraint max="0">rating = 1</constraint>
    </recipe>

    <recipe name="Prefer Unplayed Tracks">
        <modifiers>
            <modifier weight="2">playcount = 0</modifier>
        </modifiers>
    </recipe>

    <recipe name="Minimize Repeated Tracks">
        <modifiers>
            <modifier weight=".5">lastplayed &gt; now - 7 days</modifier>
        </modifiers>
    </recipe>

    <recipe name="Prefer Artist Type">
        <modifiers>
            <modifier cond="strlen(seed artisttype) > 0" weight="2">seed artisttype = artisttype</modifier>
        </modifiers>
    </recipe>

    <recipe name="Prefer General Seed Genre">
        <modifiers>
            <modifier cond="seed genre != 'Miscellaneous'" weight="2">overlap(seed genre, genre) &gt; 0</modifier>
        </modifiers>
    </recipe>

    <recipe name="Prefer Similar Titles">
        <modifiers>
            <modifier weight="2">overlap(seed title, title) &gt; 0</modifier>
        </modifiers>
    </recipe>

    <recipe name="Betty Crocker">
        <input type="slider" min=".5" max="2" value="1" param="scale" label="Scale" minLabel=".5" maxLabel="2"/>
        <input param="era" label="Era" type="checkbox" value="off"/>
        <input param="ratings" label="Ratings" type="checkbox" value="off"/>
        <input param="prefunplayed" label="Favor Unplayed" type="checkbox" value="off"/>
        <input param="preflastplayed" label="Deprecate Recently Played" type="checkbox" value="off"/>
        <input param="prefgenre" label="Prefer Seed Genre" type="checkbox" value="off"/>
        <input param="preftype" label="Prefer Artist Type" type="checkbox" value="off"/>
        <input param="preftitle" label="Prefer Similar Titles" type="checkbox" value="off"/>

      <modifiers cond="param ratings = 1">
        <modifier weight="2">rating = 5</modifier>
        <modifier weight="1.5">rating = 4</modifier>
        <modifier weight=".5">rating = 2</modifier>
      </modifiers>
      <constraint cond="param ratings = 1" max="0">rating = 1</constraint>
      <modifiers>
        <modifier cond="param era = 1 and seed year != 0" weight="2">abs(year - seed year) &lt; 10</modifier>
        <modifier cond="param refunplayed = 1" weight="2">playcount = 0</modifier>
        <modifier cond="param preflastplayed = 1" weight=".5">lastplayed &gt; now - 7 days</modifier>
        <modifier cond="param preftype = 1 and strlen(seed artisttype) > 0" weight="2">seed artisttype = artisttype</modifier>
        <modifier cond="param prefgenre = 1 and seed genre != 'Miscellaneous'" weight="2">overlap(seed genre, genre) &gt; 0</modifier>
        <modifier cond="param preftitle = 1" weight="2">overlap(seed title, title) &gt; 0</modifier>
      </modifiers>
    </recipe>

    <recipe name="Conditional Exclusions">
        <input param="era" label="Restrict Era" type="checkbox" value="off"/>
        <input param="ratings" label="Rating Over 2" type="checkbox" value="off"/>
        <input param="prefunplayed" label="Only Unplayed" type="checkbox" value="off"/>
        <input param="preflastplayed" label="Remove Recently Played" type="checkbox" value="off"/>
        <input param="prefgenre" label="Prefer Seed Genre" type="checkbox" value="off"/>
        <input param="preftype" label="Prefer Artist Type" type="checkbox" value="off"/>
        <input param="preftitle" label="Prefer Similar Titles" type="checkbox" value="off"/>

        <constraint cond="param era = 1 and seed year != 0" cutoff="0">abs(year - seed year) &lt; 10</constraint>
        <constraint cond="param ratings = 1" cutoff="0">rating &gt; 2</constraint>
        <constraint cond="param refunplayed = 1" cutoff="0">playcount = 0</constraint>
        <constraint cond="param preflastplayed = 1" cutoff="0">lastplayed &lt; now - 7 days</constraint>
        <constraint cond="param preftype = 1 and strlen(seed artisttype) > 0" cutoff="0">seed artisttype = artisttype</constraint>
        <constraint cond="param prefgenre = 1 and seed genre != 'Miscellaneous'" cutoff="0">overlap(seed genre, genre) &gt; 0</constraint>
        <constraint cond="param preftitle = 1" cutoff="0">overlap(seed title, title) &gt; 0</constraint>
    </recipe>

</recipes>

Greetings and a happy New Year

Simple script for Radio News interruption for listening your music

$
0
0
Hello,

attached a simple Perl script, which plays your favoured Radio News Broadcast on a regular basis like every full hour. Your Music continues afterwards and plays like before. If you listen to a Internetstream already, the script will not interfere.

Main parts of the script are from the Webpage Domoticz https://www.domoticz.com/forum/viewtopic.php?t=15188:

The Perl script must be started via cron Deamon or Task Scheduler on Windows:

Code:

#!/usr/bin/perl -w
#
# radio.pl
#
# Guys: thanx for your work!

use IO::Socket;
use strict;
use Switch;

# --------- PLEASE SET YOUR PREFERENCES ---------#

# LMS Settings
my $serverAddress = '127.0.0.1';
my $serverPort = 9090;

my $szLine1                = "Radio Nachrichten";
my $szLine2                = "SR Info";
my $szSound                = "http://stream.srg-ssr.ch/drs4news/mp3_128.m3u";
my $iDuration = "20";
my $szSat = "0";
my $merker = "0";

my @iShuffle;
my @iIndex;
my @iPath;
my @iTime;
my @iTracks;
my @ihttp;
# Internal parameters
my $debug                = 0;        # 0 = off, 1 = on

my ($min, $hour) = (localtime(time))[1,2];
# print "MIN ,$min";
# print "Hour ,$hour";

  switch($hour) {
  case 8          { $szSound                = "http://192.168.178.4:8001/1:0:2:6F38:445:1:C00000:0:0:0:"; $szLine2 = "SWR Aktuell"; $iDuration = 300 }
  case 9            { $szSound                = "http://str0.creacast.com/sudtirol1a"; $szLine2 = "Südtirol 1"; $iDuration = 240 }
  case 10          { $szSound                = "http://opml.radiotime.com/Tune.ashx?id=s15051&amp;partnerId=16&amp;username=martwal"; $szLine2 = "BR 5"; $iDuration = 300 }
  case 11          { $szSound                = "http://opml.radiotime.com/Tune.ashx?id=s42828&amp;partnerId=16&amp;username=martwal"; $szLine2 = "DLF Nachrichten"; $iDuration = 300 }
  case 12          { $szSound                = "http://stream.srg-ssr.ch/drs4news/mp3_128.m3u"; $szLine2 = "SR Info"; $iDuration = 300 }
  case 13          { $szSound                = "http://www.wdr.de/wdrlive/media/wdr5.m3u"; $szLine2 = "WDR 5"; $iDuration = 300 }
  case 14          { $szSound                = "http://opml.radiotime.com/Tune.ashx?id=s176675&amp;partnerId=16&amp;username=martwal"; $szLine2 = "Hitradio Namibia"; $iDuration = 300 }
  case 15          { $szSound                = "http://streaming.brf.be/brf1-high.mp3"; $szLine2 = "Belgien 1"; $iDuration = 300 }
  case 16          { $szSound                = "http://opml.radiotime.com/Tune.ashx?id=s47781&amp;partnerId=16&amp;username=martwal"; $szLine2 = "News 89,4 Neuss"; $iDuration = 240 }
  case 17          { $szSound                = "http://opml.radiotime.com/Tune.ashx?id=s24885&amp;partnerId=16&amp;username=martwal"; $szLine2 = "NDR Info"; $iDuration = 240 }
  case 18          { $szSound                = "http://www.wdr.de/wdrlive/media/wdr5.m3u"; $szLine2 = "WDR 5"; $iDuration = 250 }
  case 19          { $szSound                = "http://www.wdr.de/wdrlive/media/wdr5.m3u"; $szLine2 = "WDR 5"; $iDuration = 300 }

  else              { $szSound                = "http://stream.srg-ssr.ch/drs4news/mp3_128.m3u"; $szLine2 = "SR Info"; $iDuration = 300 }
}
 $iDuration = "20" if ($debug eq 1) ;
#-------- NO USER SERVICABLE PARTS BELOW -------#

# Try to open a connection to the SLIMP3 CLI
my $LMS = IO::Socket::INET->new (PeerAddr => $serverAddress,
        PeerPort => $serverPort,
        Proto    => 'tcp',
        Timeout => 5,
        Type    => SOCK_STREAM)
                or die 'Couldn\'t connect to server';

    # Get the number of players
    my $playerCount = sendAndReceive('player count ?');
    $debug && print "$playerCount players found\n";

    for (my $i = 0; $i <  $playerCount; $i++) {
                          my $playerId = sendAndReceive("player id $i ?");
                        $ihttp[$i] = "0";
                          # Playermode
                          my $playerMode = sendAndReceive("$playerId mode ?");
                          $debug && print "$playerId playerMode: $playerMode\n";

                          if ($playerMode eq "play" ) {
                            #$debug && print "Mode\n";
                   
          # Get shuffle status (on, off)
          $iShuffle[$i] = sendAndReceive( "$playerId playlist shuffle ?");
          $debug && print "$playerId iShuffle: $iShuffle[$i]\n";

          # Get current song
          $iIndex[$i] = sendAndReceive( "$playerId playlist index ?");
          $debug && print "iIndex: $iIndex[$i]\n";
         
          # Get path and filename to current song
          $iPath[$i] = sendAndReceive( "$playerId playlist path $iIndex[$i] ?");
          $debug && print "iPath: $iPath[$i]\n";
         
          # Check if we are online (Radio Stream)
          $ihttp[$i] = "1" if( $iPath[$i] =~ /http/) || ( $iPath[$i] =~ /https/);
          $debug && print "ihttp: $ihttp[$i]\n";
         
          if( $ihttp[$i] eq "0"){
              # merken ob wir etwas zu tun haben
              $merker = "1";
             
              # Turn shuffle off
              sendAndReceive( "$playerId playlist shuffle 0");
             
              # Get the current position (in s)
              $iTime[$i] = sendAndReceive( "$playerId time ?");
              $debug && print "iTime: $iTime[$i]\n";
             
              # Stop the current song
              sendAndReceive( "$playerId stop");
             
              # Add the Radio Stream at the end of the playlist
              sendAndReceive( "$playerId playlist append $szSound");
              $debug && print "szSound: $szSound\n";
             
              # Get the number of tracks in the playlist
              $iTracks[$i] = sendAndReceive( "$playerId playlist tracks ?");
              $iTracks[$i] -= 1;
              $debug && print "iTracks: $iTracks[$i]\n";
              # Is now -1 if playlist was empty
              $iTracks[$i] = 0 if( $iTracks[$i] < 0);
             
              # Play the Radio stream
              sendAndReceive( "$playerId playlist index $iTracks[$i]");
             
              # Show the announcement message
              sendAndReceive( "$playerId display $szLine1 $szLine2 30");
          }
          }
          }
          if( $merker eq "1"){
         
          $debug && print "iDuration: $iDuration\n";
          sleep( $iDuration);
         
          for (my $i = 0; $i <  $playerCount; $i++) {
          my $playerId = sendAndReceive("player id $i ?");

          # Player Mode
          my $playerMode = sendAndReceive("$playerId mode ?");
          $debug && print "playerMode: $playerMode\n";
         
          $debug && print "ihttp: $ihttp[$i]\n";
          # Wiederherstellung des Startzustandes
          if ($playerMode eq "play" and $ihttp[$i] eq "0") {
 
              # Stop it
              sendAndReceive( "$playerId stop");
                   
              # Remove the radio stream from the playlist
              sendAndReceive( "$playerId playlist delete $iTracks[$i]");
              $debug && print "$playerId playlist delete $iTracks[$i]\n";
             
              # Reselect the old song
              sendAndReceive( "$playerId playlist index $iIndex[$i]");
              $debug && print "$playerId playlist index $iIndex[$i]\n";
             
              # Set the player in the old mode
              sendAndReceive( "$playerId play");
              sendAndReceive( "$playerId time $iTime[$i]");
               
              # Reinstate the shuffle mode
              sendAndReceive( "$playerId playlist shuffle $iShuffle[$i]");
                   
          }     
                }
    }
                close ($LMS);
    $debug && print "LMS Verbindung abgebaut\n";
   
  $debug && print "\n";
        # Send given cmd to $LMS and return answer with original command removed from
        # front if present.  Routine nicked from code by Felix Mueller. :-)
        sub sendAndReceive {
                my $cmd = shift;
                return if( $cmd eq "");
       
                print $LMS "$cmd\n";
                $debug > 1 && print "Sent $cmd to server\n";
                my $answer = <$LMS>;
                $debug > 1 && print "Server replied: $answer\n";
                $answer =~ s/$cmd //i;
                $answer =~ s/\n//;
       
                return $answer;
        }

Greetings
Viewing all 2059 articles
Browse latest View live