Library, new features

Hi there,
Just some words to show some new features I’m developing for the library :
Screenshot - 14112014.png

As you can see, a toolbar has appeared at the top, with several features:

  • Search feature (full-text search, with any terms or exact terms, + some advanced search patterns. I’ve written some in-app help dialog since it’s not obvious)
  • A “force reload” button that will be necessary since the library is now loaded from cache, to speed up the loading
  • Play all / add all button are now in this toolbar
  • Some “smart playlist” management that allows you to save and restore your custom filters. For instance, you can save a playlist that is dynamically defined by a pattern “all rock songs rated more than 4”.
  • Each song can be individually rated 1-5 stars

I hope you’ll like it… Of course every comment is welcomed, better now than after release!

********** BETA TESTING *************
For Beta-testers who would like to install it:
Installation steps:

  • I recommend you make a backup of your current image. At minima, backup folder /var/www
  • Remove everything in /var/www
  • Clone my git repo (it’s a fork from official Volumio):
git clone git@github.com:jotak/Volumio-WebUI.git /var/www

(if that doesn’ work, try git clone github.com/jotak/Volumio-WebUI /var/www)

  • From /var/www, checkout branch 1.6
git checkout -b 1.6 origin/1.6
  • Copy your backuped db back
cp <where you put backup>/db/player.db /var/www/db/player.db
  • Install nodejs
sudo apt-get install nodejs
  • Since debian has a package conflict with “node”, you’ll have to symlink it
sudo ln -s /usr/bin/nodejs /usr/bin/node
  • Install npm

sudo apt-get install npm This one installs tons of stuff. NPM is node’s package manager, so it should not be required for the end users when released, but for now it’s necessary. If you’re done with beta-testing and want to revert that, just type ‘sudo apt-get remove npm’

  • Navigate in /var/www/node and run command:
npm install
  • Copy nginx config file
sudo cp /var/www/_OS_SETTINGS/etc/nginx/nginx.conf /etc/nginx
  • Reboot
  • Run node (since this step must be done after each reboot, you may want to put it as @reboot in crontab)
node /var/www/node/server.js
  • Open webui and clear browser’s cache

The first run will be quite slow, but subsequent runs will be faster

I’ve run it from a Volumio 1.4 install, but it should also work from 1.5… and actually, it should work better because nginx in 1.5 supports websockets, not in 1.4. Anyway, please report me any problem you would have. It would also be nice if you can open a javascript console and tell me if everything is ok.

What I’m especially interested to know is:

  • If it works, obviously
  • If it’s faster than before
  • If 10K limit is bad dream
  • If it runs well with websocket in 1.5
  • Also, it would be nice to check memory consumption. A cache is used to increase speed, but it implies more memory used.

If you want to quickly jump back to Volumio main branch, just go in /var/www and type

git checkout master sudo /etc/init.d/php-fmp5 restart (clear browser cache)
Back again to lib beta-test:

git checkout act_nodelib sudo /etc/init.d/php-fmp5 restart (clear browser cache)

This looks absolutely great !!!

how can I “install or get it” ? (I’m using volumio 1.51)

Some comment

  • having an album view ?
  • Does you manage to solve the 10k limit ?

after the release, it should be available over the “check for updates” function (should!)

@jotak looks great! when can we download it?

Well it’s not ready for download since you’d need to install some stuff before, in particular nodejs. And because some recent features of Volumio are now broken (sorry spotify!), so it’s not ready for release! But of course if some of you guys want to beta-test in spite of some known regressions, it would be great!

Arginine, I couldn’t verify if the 10K limit is solved because I’m not affected, but I have good hope for this, since the client/server communications have been entirely reworked.

About the album view, I guess you mean a view with album covers? Sorry, it’s not for this time! But definitely it would be a nice feature.

Hi!

I would like to join the beta test. At the moment I directly use the github repo
and have 25k files on my NAS.
On the library tab I get a swirling arrow. Sometime it stops and I have empty
screen (only the headers) or it swirls forever (Are there any logs? where
i can see what happen)

regards

Sven

Hi all!

My Volumio is running on RPI B with the Geekroo DAC Hi-Fi Picobber, and it sounds great.

I have been using MediaMonkey(MM for short) for over a decade now, just stumbled over Volumio a month ago and I like what I see, and hear.
I love the library features in MM and would love to have something similar in Volumio, like in Your WinAmp pic Jotak, I saw that in another thread.
What also would be nice is to see file type/extension and bitrate next to the trackname in the library tab.

My music collection has over 105k :open_mouth: tracks, mostly Flac and Mp3 320kbps, and the library tab in Volumio never display anything or is just stuck reloading.

I somehow fear that this little Pi might be underpowered for the task… :cry:

Andy

If you post instructions I can test the same way as I did before.

I currently away but have some time Thursday/Friday this week.

/Palle

Hello!
Thank you all for proposing beta-testing :slight_smile:
I’ve updated my first post, you’ll see the instructions! Tell me if something’s doesn’t work in this instructions

It’s a known bug with large libraries on current version.

Ouch :confused: You can try beta-testing this upcoming version, but it will still be quite slow. In your case particularly, it’s interesting to track memory consumption. It should grow linearly depeding on the size of the library.

I’ve just installed the beta library, and I’ve noticed a bug.
When i click the enqueue button, nothing gets added to the queue…
MPC doesn’t show it, and the complete play list on the webui doesn’t update at all.

Besides that I see two design choices, the ? for unknown albums its a bit to small as in maybe - ? - would be better, just to make it fit in and stand out at the same time.

The other is the bar line between the genres and artists columns, this could be a little bit bigger or more solid that its easier to see that there both different columns.

Keep up the good work :smiley:
Let me know if there is any thing you want to know about the bug

-edit-
Oh and about your installation guide I had to use:

git clone https://github.com/jotak/Volumio-WebUI /var/www

instead of

git clone git@github.com:jotak/Volumio-WebUI.git /var/www

The 2nd one didn’t work

Thanks! :slight_smile:

Yes, I’ve seen this as well and fixed it. I’ll provide an update soon, but if you can’t wait you can modify the javascript:

  • connect to device, go under /var/www/js
  • edit file volumio.mpd.js
  • replace occurrences of “add” (with double quotes) by “add-entry”:
function mpdAdd(path) {
    socket.emit("add-entry", {entry: path});
}
socket.on("add-entry", logSockErr);
  • save file, clear browser cache and refresh the page

I can do it. I can also write it the same way as before: “Unknown”. I’m open to any suggestion!

Here again I’m open to suggestions. If columns are not clearly distinguishable I could also make their background having different variation of greys.

Thanks for feedback!

I’ll write it down, even the second works well for me - don’t know why it doesn’t for you

Tried update but fail on the second step

/Palle

Note - git clone worked fine.

sorry, my fault, I’ve reorganized my branches. You should now checkout branch 1.6:

git checkout -b 1.6 origin/1.6

That helped…

But last step I get :

What’s wrong? Sudo makes no difference.

/Palle

did you install another server on your device?
node listens on port 8081

You can find if other processes already listen on this port, cf cyberciti.biz/faq/what-proce … inux-port/

netstat -tulpn | grep :8081

If you need to change the port where node listens to, you need to modify two files:
/etc/nginx/nginx.conf

and /var/www/node/server.js

Change “8081” in these files with whatever you want

Did not install anything.

Fresh image of 1.5 on pi B+ followed youre guide after that.

sudo netstat -tulpn | grep :8081

“tcp 0 0 0.0.0.0:8081 0.0.0.0:* LISTEN 1871/node”

Hmmm I did edit crontab — may that’s why. GUI does show up so … Stupid me … Command already issued

Is this correct for crontab “@reboot node /var/www/node/server.js &” or should it be without the “&”

/Palle

Good :slight_smile:

I’m not sure if “&” is required actually. I use another way to start automatically node, but the way you did looks good

PS: let me know if the library can display all your music!

I dont know if this came from your edits or not…

But when I change a setting in the playback / MPD Configuration, mpd doesn’t start.
Manually starting MPD gives an error on line 30

config_file: unrecognized parameter in config file at line 30: dop

Line 30 shows

dop     "no"

dop isnt a known setting for mpd so it cant start

When you out comment / remove this line theres an error on dsd_usb

 dsd_usb        ""

so the dsd_usb setting is empty, there should be a yes or 1 or no or 0 between the “”

Changing these and mpd starts again.

Although this warning stays

WARNING: Ignoring invalid value 'share' for parameter 'security'

But thats also in the main release

Do you run it over a 1.4 or 1.5 volumio image? Maybe it comes from a different version of MPD betwwen those 2 images.