Giter Site home page Giter Site logo

groovebasin's Introduction

Groove Basin

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

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

  • Fast and responsive. It feels like a desktop app, not a web app.

  • Dynamic Mode which automatically queues random songs, favoring songs that have not been queued recently.

  • Drag and drop upload. Drag and drop playlist editing. Keyboard shortcuts galore.

  • 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 in real time.

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 Node.js v0.10.x. Note that on Debian and Ubuntu, you also need the nodejs-dev and nodejs-legacy packages. You may also choose to use Chris Lea's PPA or compile from source.
  2. Install libgroove.
  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.js in the current directory. If not found it creates one for you with default values.

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

Screenshots

Search + drag/drop support Multi-select and context menu Keyboard shortcuts Last.fm Scrobbling

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. Tag Editing
  2. Music library organization
  3. Accoustid Integration
  4. Playlists
  5. User accounts / permissions rehaul
  6. Event history / chat
  7. Finalize GrooveBasin protocol spec

Release Notes

See CHANGELOG.md

groovebasin's People

Contributors

andrewrk avatar thejoshwolfe avatar yoasif avatar calebmorris avatar davidbanham avatar toofar avatar jepler avatar rbuch avatar jeffrom avatar jprjr avatar seansaleh avatar

Watchers

James Cloos avatar JingsLunt avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.