jishi / node-sonos-http-api

An HTTP API bridge for Sonos easing automation. Hostable on any node.js capable device, like a raspberry pi or similar.
http://jishi.github.io/node-sonos-http-api/
MIT License
1.84k stars 462 forks source link

Cannot read property of 'startsWith' of undefined #322

Closed RugoseCone closed 8 years ago

RugoseCone commented 8 years ago

Just installed last night from the latest codebase. Used "npm install --production" to install. Then "npm start" to start the server. I get the following:

2016-10-02T09:30:16.585Z INFO Presets loaded: {} 2016-10-02T09:30:16.671Z INFO http server listening on port 5115 2016-10-02T09:30:19.441Z ERROR TypeError: Cannot read property 'startsWith' of undefined at /**/sonos-auto-bookmarker/node-sonos-http-api-master/node_modules/sonos-discovery/lib/models/Player.js:249:51 at process._tickCallback (node.js:368:9)2016-10-02T09:40:51.613Z INFO Presets loaded: {}

What am I missing?

jishi commented 8 years ago

Sounds like a bug. What sources are playing on you system when this error occur? Line-in?

RugoseCone commented 8 years ago

Music library from a Synology server. I seem to be able to issue play, pause and playpause commands from a browser window, but I don't see any output in the console used to start the server.

It looks like state.currentTrack.albumArtUri must be null

When I look at the metadata for the track in mp3tag, I see that Album is null for this track and although the track has artwork, there is no AlbumArt.

This used to work in an older version of node-sonos-http-api, but it was deleted (unintentionally) by a disk station upgrade, so I had to reinstall.

jishi commented 8 years ago

The code that breaks is a fairly new addition, obviously I didn't think it through. I'll look at it tonight and will issue a fix.

jishi commented 8 years ago

This one should be fixed now