npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

groovebasin

v1.5.1

Published

Music player server with a web-based interface inspired by Amarok 1.4

Downloads

39

Readme

Groove Basin

Music player server with a web-based user interface.

Run it on a server connected to some speakers in your home or office. Guests can control the music player by connecting with a laptop, tablet, or smart phone. Further, you can stream your music library remotely.

Groove Basin works with your personal music library; not an external music service. Groove Basin will never support DRM content.

Try out the live demo.

Feature Highlights

  • The web client feels like a desktop app, not a web app. It predicts what the server will do in order to hide network lag from the user.

  • Auto DJ which automatically queues random songs, favoring songs that have not been queued recently.

  • Drag and drop upload. Drag and drop playlist editing. Keyboard shortcuts for everything.

  • Lazy multi-core EBU R128 loudness scanning (tags compatible with ReplayGain) and automatic switching between track and album mode. "Loudness Zen"

  • Streaming support. You can listen to your music library - or share it with your friends - even when you are not physically near your home speakers.

  • MPD protocol support. This means you already have a selection of clients which integrate with Groove Basin. For example MPDroid. If you're writing a new client, upgrade to the Groove Basin Protocol with the protocolupgrade command.

  • Last.fm scrobbling.

  • File system monitoring. Add songs anywhere inside your music directory and they instantly appear in your library.

Install

Pre-Built Packages

Ubuntu

sudo apt-add-repository ppa:andrewrk/libgroove
sudo apt-get update
sudo apt-get install groovebasin
groovebasin

From Source

  1. Install one of these:
    • Node.js v0.10.36 or v0.12.x
    • io.js v1.x.x
    • On Debian and Ubuntu, sudo apt-get install nodejs-dev nodejs-legacy npm
  2. Install libgroove. libgroove is available in many package managers. See the libgroove README for more details.
  3. Clone the source and cd to it.
  4. npm run build
  5. npm start

Configuration

When Groove Basin starts it will look for config.json in the current directory. If not found it creates one for you with default values.

Use this to set your music library location and other settings.

It is recommended that you generate a self-signed certificate and use that instead of using the public one bundled with this source code.

Screenshots

Search + drag/drop support Multi-select and context menu Keyboard shortcuts Settings Import Events

Developing

$ npm run dev

This will install dependencies, build generated files, and then start the sever. It is up to you to restart it when you modify assets or server files.

Community

Pull requests, feature requests, and bug reports are welcome! Live discussion in #libgroove on Freenode.

Articles

Roadmap

  1. Labels
  2. Music library organization
  3. Accoustid Integration
  4. Finalize GrooveBasin protocol spec