Polysonic: Chrome packaged app html5 subsonic streamer

Announcements and discussion of new releases.

Moderator: moderators

Polysonic: Chrome packaged app html5 subsonic streamer

Postby dough10 » Sat Mar 28, 2015 4:03 am

PolySonic
HTML5 audio Subsonic client made with Polymer paper elements. bug reports can be posted here or on the project github https://github.com/dough10/PolySonic/issues

Any feedback would be very helpful and Thank You.

REQUIRES Subsonic version 5.1 and above.
Image
Image


Download from Chrome Web Store
https://chrome.google.com/webstore/detail/polysonic/dmijgonnbeadbncajpphnlidgjkgmblf?hl=en-US&gl=US

Recent Changes
0.2.9.3

- option to use "spacebar" to pause currently playing content if "Now Playing" page is selected and app has focus

0.2.9.2

- when finished playing playlist will not longer be automatically cleared

- previous track button will now restart the track if pressed while first song in a playlist is currently playing if not the first track will jump back 1 track

- fix multi disc sorting (tracks will now be displayed in the order they are intended to be played)

- fix for bookmark window not reopening after deleting a bookmark

- if downloaded artist header image is larger then 800 px will now be resized to 800 px width before saving

- if app is closed with files in the play queue user will get option to resume that queue

- minor bug fixes

0.2.9.1

- fixes

0.2.9

- change max # of albums returned by search to 200. up from 20

- if there is playing content the "mini player" will now show at bottom of settings page aswell

- "mini player" now has link to volume dialog

- album details dialog now has the link "more by this artist"

- updates to artists page styling (larger artist image recentered using SmartCrop.js, not perfect but better then allowing to crop the center)

- flushing image cache no longer requires app restart

- option to browse Subsonic library by folder index as opposed to ID3 info (changeable from a dropdown on settings page, image cache cleard and content refreshed on change) ** currently assumes the folowing folder structure imported-folder/artist/album ** I see this needing more work in the near future as it will not work for everyone

- ability to use multiple configs (new config UIs, image cache will be cleared on change)

- option to import / export config files as base64 encoded string saved as .cfg file

- fix for issue where playback would start more then one time on some playlist build tasks

0.2.8

- refactor code base / reduce line / more maintainable

- faster load of cached images by using HTML5 filesystem in place of indexeddb. 512MB quota setup on launch

- fixed a issue with media folder selecton

- option to sort albums by title / date when viewing a artists albums

- when artist has more then one album in the list a option will show to shuffle all that artists content

0.2.7.5

- add media key support

0.2.7.4

- fix for app not loading a second time if not using MD5 auth and api version higher then 1.13.0

0.2.7.3

- add option to disable md5 authentication

0.2.7.2

- fix issue keeping some users from loging in to server

- attempt to fix a issue that would cause audio to stop randomly if precache enabled and user has a podcast in playlist

- fix bug that would send password as plaing text when loging in on api version 1.13.0

0.2.7.1

- bug fix

0.2.7

bitrate is now a install specific setting (not synced between sessions)

fix endless loader if connecting to a subsonic server without content.

app will now correctly check if md5 authentication method can be used (using a method taken from a discussion here. http://stackoverflow.com/a/6832721)

added option to precache the next song making playback near gapless (true gapless could take some time to implement)

app will now only scrobble to lastFM if more then half the song has been played

pressing enter while search box is focused will start the search query

genre list in shuffle options dialog now sorted alphabetically

after entering server address on first login when box loses focus app will attempt to connect to address given / valid response will set api version and help app determine if it should use md5 authentication (this method will help keep from sending account details insecurely)

greatly reduce the number of dom nodes generated for album wall (that content will now be conditionally loaded)

0.2.6

new icon (thanks William Kray)

fix bug when adding podcast to queue (caused app to hang @ loading spinner)

bookmark support (with a option in setting menu to enable autobookmarking of long files)

option to shuffle current play queue (icon will only show if 3 or more items in play queue)

when showing all albums by a artist (from artist list) page now contains a small bio and links to similar artist in your library

fix a bug where app would get stuck if there was a error connecting to the server while on loading screen.

0.2.5

- fix bug that caused app to display no albums if attempting to remove a folder filter to display all folders.

- timer for mini player on album wall to hide on paused music extended to 10 mins from 2 mins.

- repeat option on main player and also on playlist more options menu.

- album art more button goes directlly to the album details dialog (slider will no longer cover art)

- app is now resizable.

0.2.4
- now playing indicator has been removed and replaced with a mini player that slides in from bottom of page

- app now correctly hides options users do not have role for (podcast administration, downloads)

- license date now counts down days till expiration

- app now manages it's own downloads. no more launching a chrome window when downloading (uses xmlHttpRequest and chrome file system API)

- more secure authentication method in place for api version 1.13.0

- more animations

0.2.3

- redesigned search feature

- tooltips on buttons without labels

- other things (nothing exciting)

0.2.2

- UI enhancements

- bug fixes

- dynamic fab color now works for podcast. if art was downloaded before version 0.2.2 cache will have to be cleared. (in settings menu)
Last edited by dough10 on Wed Mar 23, 2016 4:16 pm, edited 25 times in total.
dough10
 
Posts: 38
Joined: Sat Mar 28, 2015 3:47 am

Re: Polysonic: Chrome packaged app html5 subsonic streamer

Postby alphawave7 » Sat Mar 28, 2015 4:16 am

VERY WELL DONE! I love it. Works great on my HP Chromebook, and can replace the web version already! The 'drop' animations are cool, the volume 'pop' slider...sweet. Only 2 niggles so far...when I click either the Now Playing or Back buttons, the music briefly cuts out...hope that's fixable. Second, is it possible to add a Chromecast-ability? Congrats.. Cheers! 8)
alphawave7
 
Posts: 1042
Joined: Thu Feb 11, 2010 9:54 am

Re: Polysonic: Chrome packaged app html5 subsonic streamer

Postby dough10 » Sat Mar 28, 2015 4:26 am

chromecast support is something i am working on but this is all a learning process. so it might take a little time before i get it working. as for the music skipping on hp chromebook. is the chromebook a hp 11? i have that issue from time to time on my chromebook as well. i am pretty sure it is just issue with the arm processor and the animations. chromebook is the only place i have seen / heard the music stop for a sec during animations. thank you for feedback.
dough10
 
Posts: 38
Joined: Sat Mar 28, 2015 3:47 am

Re: Polysonic: Chrome packaged app html5 subsonic streamer

Postby alphawave7 » Sat Mar 28, 2015 4:31 am

dough10 wrote:chromecast support is something i am working on but this is all a learning process. so it might take a little time before i get it working. as for the music skipping on hp chromebook. is the chromebook a hp 11? i have that issue from time to time on my chromebook as well. i am pretty sure it is just issue with the arm processor and the animations. chromebook is the only place i have seen / heard the music stop for a sec during animations. thank you for feedback.


I've got an 11 (office) and this one is a 14 inch w/4GB ram (really the only way to fly on ChromeOS, imho). I'd estimate its about 700ms of a skip..think it's the rewrite of the pages?
alphawave7
 
Posts: 1042
Joined: Thu Feb 11, 2010 9:54 am

Re: Polysonic: Chrome packaged app html5 subsonic streamer

Postby alphawave7 » Sat Mar 28, 2015 4:32 am

alphawave7 wrote:
dough10 wrote:chromecast support is something i am working on but this is all a learning process. so it might take a little time before i get it working. as for the music skipping on hp chromebook. is the chromebook a hp 11? i have that issue from time to time on my chromebook as well. i am pretty sure it is just issue with the arm processor and the animations. chromebook is the only place i have seen / heard the music stop for a sec during animations. thank you for feedback.


I've got an 11 (office) and this one is a 14 inch w/4GB ram (really the only way to fly on ChromeOS, imho). I'd estimate its about 700ms of a skip..think it's the rewrite of the pages?


Edit: This 14 has the Intel chip, the 11 Samsung has that Xynos chip, if that matters..
alphawave7
 
Posts: 1042
Joined: Thu Feb 11, 2010 9:54 am

Re: Polysonic: Chrome packaged app html5 subsonic streamer

Postby dough10 » Sat Mar 28, 2015 4:45 am

i am pretty sure it is just animations. if i remove the animation on my hp 11 i don't seem to get skips. i will experiment with other animations maybe i can find one that works better.
dough10
 
Posts: 38
Joined: Sat Mar 28, 2015 3:47 am

Re: Polysonic: Chrome packaged app html5 subsonic streamer

Postby acroyear » Sat Mar 28, 2015 2:39 pm

Checking it out now. (Disclaimer: I'm the author of SubFire, another html5 player which is also available for Chrome as well as Amazon's Fire platforms - SubFire uses JQueryMobile with some style changes, polymer's objserve-js for data change events, and stativus for state management).

First suggestion I have is that you should use feature-detection to determine if 5.2 v 5.1. I added this in mine: send the first ping with the 1.11.0 version or less (I support 5.0 as a minimum, so I send 1.10.2 first) and you'll get back the version of the server's api in the reply. If you get back 1.12.0, great, you know you have 5.2 features. Be sure to reset to 1.11.0 (or less) every time the user changes the server hostname or port since the different server may be on a different version. (in fact, since ping.view doesn't require a login, you could probably ping it after the url loses focus, while the user is still typing in the username/password).

Next suggestion is adding filtering by musicFolderId (which is the best improvement available in 5.2). My own collection is too large for the Artists or Albums views to be useful without that level of filtering. Of course, I built SubFire to handle my own collection, so there we are. I also focused on playlists first because that was the main way I use Subsonic at work.

Correction follows: One glaring bug: it appears to sort an album by trackId after loading. It should really rely on the sorting of an album's files as you get it from the API call, because otherwise it ignores the proper sorting of multi-disc albums. Double-live albums like King Crimson's Nightwatch are really odd when two tracks that should be together (the Improv that leads into Exiles) are split up by another track in between.

Update: this isn't your fault. It is the API. When in 'ID3' mode, the disc number is ignored by the API and that's just the order the tracks come in. This should be fixed on the server end. I offer both ID3 and 'traditional' album browsing calls, and tend to use traditional for my own stuff.

I think the material work is very nice (you should submit some screenshots to http://www.materialup.com/). I like that your slider includes currently-loaded as well as currentTime, something I'd like to add that to SubFire myself, but I've other things to finish first (the currently loaded feature isn't available on FireTV which is why it has been a lower priority).

Joe
--
Joe Shelby
http://subfiresuite.com/
http://subfireplayer.net/
User avatar
acroyear
 
Posts: 777
Joined: Wed Mar 27, 2013 8:05 pm
Location: Northern, VA

Re: Polysonic: Chrome packaged app html5 subsonic streamer

Postby dough10 » Sat Mar 28, 2015 3:23 pm

thank you for the feedback and suggestions. i will look into settings up api version detection and should be able to have that working without to much issue. mediaFolderId filter is a feature i was considering but haven't put much thought into it as my library is only 1 folder but i will work on implementing that soon. i will also look into setting up a option in settings to filter by ID3 or traditional. Thank You again for your input.
dough10
 
Posts: 38
Joined: Sat Mar 28, 2015 3:47 am

Re: Polysonic: Chrome packaged app html5 subsonic streamer

Postby acroyear » Sat Mar 28, 2015 3:34 pm

I'd also watch the size of the data you're locally storing. The metadata of a collection like mine (more than 600 meg of files, split across two servers) would blast through a typical 5-meg idb limit very quickly.

In SubFire, I pretty much only cache the server/credentials, the bit rate (this is another thing to watch for and probably provide an option for, as some networks like my work one don't play nice with variable-rate mp3s, so to fix that I had to switch my settings to force fixed-rate 192-128), and if they want to load the artist info. In addition, for playlists I cache the index of which track was playing so they don't require skipping N tracks to get back to where they were. At some point after my "1.0" (and pending vacation) I'll add support for the new play queue API. I'll also someday cache the settings on the album page (music folder, query type, id3 setting, and page).

Otherwise, I don't cache much since anything else would require me having to use the external storage API calls and features in Android and Chrome. That isn't the easiest stuff to work with.

Joe
--
Joe Shelby
http://subfiresuite.com/
http://subfireplayer.net/
User avatar
acroyear
 
Posts: 777
Joined: Wed Mar 27, 2013 8:05 pm
Location: Northern, VA

Re: Polysonic: Chrome packaged app html5 subsonic streamer

Postby acroyear » Sat Mar 28, 2015 3:35 pm

On the API users group, I filed a 'bug' about the ID3 and lack of disc/track sorting.
--
Joe Shelby
http://subfiresuite.com/
http://subfireplayer.net/
User avatar
acroyear
 
Posts: 777
Joined: Wed Mar 27, 2013 8:05 pm
Location: Northern, VA

Re: Polysonic: Chrome packaged app html5 subsonic streamer

Postby dough10 » Sat Mar 28, 2015 4:08 pm

on the indexeddb max size thing i am going to use the unlimitedStorage permission in manifest just didn't update the mainfest for build version after adding it. i do realize that storing large libraries metadata in local storage can get out of hand quickly and was looking into resize album art to a max of 600x600 px but when i do art with dark backgrounds have a blue tint to them. i though i would come back to that later as it is pretty easy to add back in.

thank you again Jimi
Last edited by dough10 on Sun Mar 29, 2015 12:05 am, edited 1 time in total.
dough10
 
Posts: 38
Joined: Sat Mar 28, 2015 3:47 am

Re: Polysonic: Chrome packaged app html5 subsonic streamer

Postby acroyear » Sat Mar 28, 2015 4:29 pm

No worries. In targeting the FireTV (while staying cross-platform), I had stronger limits on that sort of thing than Chrome does.

But on the whole, the look is very nice, and more comfortable than some of the IOS and other mobile apps I've seen.

Someday I might get a chromebook. :)
Joe
--
Joe Shelby
http://subfiresuite.com/
http://subfireplayer.net/
User avatar
acroyear
 
Posts: 777
Joined: Wed Mar 27, 2013 8:05 pm
Location: Northern, VA

Re: Polysonic: Chrome packaged app html5 subsonic streamer

Postby totschka » Sun Mar 29, 2015 11:15 am

Hi,
doesn´t work at all for me. It only says: "Add content by opening the official subsonic webapp. Found here http://[myAccount].subsonic.orgv(figured out my account correctly)" Well, that´s already set up, of course. On starting up I get an error message "Error connecting to Subsonic".

I´m on a Mac, OSX 10.9.5

Best regards, Kalle
totschka
 
Posts: 2
Joined: Sun Mar 29, 2015 11:07 am

Re: Polysonic: Chrome packaged app html5 subsonic streamer

Postby dough10 » Sun Mar 29, 2015 1:33 pm

Kalle thanks for letting me know. i pushed a update last night that changed how the app gets the api version # and musicFolderID support that could be the cause of this. if you click the link that has your server address on the add content page does it actually take you to your server webapp? i will look into it this and thank you for downloading my app.

edit: it looks like the issue might be coming from the musicFolderId filter i added in 0.1.1. if have more then 1 folder you can set the folder @ the top of the menu and app should work correctly. if using only 1 folder i should have a fix for this soon that will allow the app to work as expected.
dough10
 
Posts: 38
Joined: Sat Mar 28, 2015 3:47 am

Re: Polysonic: Chrome packaged app html5 subsonic streamer

Postby acroyear » Sun Mar 29, 2015 3:24 pm

I'm still able to connect to mine without issue. I'm using this in Chrome on a Mac 10.9 as well (5.2.1 server). I have some users (that is, wanted-to-be-users) who have connectivity problems with SubFire as well. I've asked the maintainer of Jamstash if he's got similar issues with his html5 app, but haven't gotten a reply yet. Naturally I can't replicate any of those issues, even when pointing to their server.

There are little hiccups with the new music folder feature (change the folder, but not the query type, and nothing refreshes...and if you click the link for the query type you are on already ("Newest"), there's still no change event and therefore the filter still doesn't apply yet. I always love those kind of change-detection dependency bugs...and yeah, I had that same bug briefly in SubFire a few weeks ago. :lol: Otherwise, the music folder stuff is working fine for my folders.

Vocabulary wise, I think you might replace "Add to Playlist" with "Add to Play Queue". Playlist has a distinct meaning in Subsonic as a persistent object type.

Stupid User Action bugs: if you scroll down the album grid, then quickly scroll back up or scroll up and down a lot before those images have finished loading, it can 'hiccup' and associate the wrong image to the albums at the top. They seem to reset properly after a restart.

*really* nit-picky testing mode: the play queue panel is fine in appearance/functionality, though if you could, better to keep the red 'x' persistent at the top of the white panel no matter the scrolling. Scrolling down 100 songs, clicking the one you want, then having to scroll all the way back up to get to the 'x' to close it can get tedious over time. With a scroll wheel it isn't so bad, but with trackpad, it is much harder to do, physically. (this is a limit on the trackpad's usability, in my opinion, but us devs are stuck with it and so need to be able to adapt - I keep both around on my macs.)

Transitioning back and forth between the album grid and the currently-playing page is much smoother. I'm not getting the audio hiccup I was yesterday similar to that which was described above. Volume control is working ok. As with the other feature above, I'm still debating adding that to the Chrome version of SubFire.

J
--
Joe Shelby
http://subfiresuite.com/
http://subfireplayer.net/
User avatar
acroyear
 
Posts: 777
Joined: Wed Mar 27, 2013 8:05 pm
Location: Northern, VA

Next

Return to Announcements

Who is online

Users browsing this forum: No registered users and 20 guests