All Projects → zefer → mothership

zefer / mothership

Licence: MIT license
A music player interface

Programming Languages

go
31211 projects - #10 most used programming language
coffeescript
4710 projects
HTML
75241 projects
Less
1899 projects
shell
77523 projects
javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to mothership

Malp
M.A.L.P. - Android MPD client
Stars: ✭ 94 (+276%)
Mutual labels:  mpd
Deezer Downloader
Download music from Deezer with a nice front end
Stars: ✭ 127 (+408%)
Mutual labels:  mpd
Boombeastic
A Raspberry Pi based smart connected speaker with support for airplay, spotify, mpd and local playback
Stars: ✭ 195 (+680%)
Mutual labels:  mpd
Dots
A Repository For Config Files / Dotfiles / Themes / Color Schemes / Etc...
Stars: ✭ 100 (+300%)
Mutual labels:  mpd
Dotfiles
If there is a shell, there is a way!
Stars: ✭ 112 (+348%)
Mutual labels:  mpd
So Nice
Small Web interface to control iTunes, Spotify, Rdio, MPD, Rhythmbox, Amarok and XMMS2. ♫
Stars: ✭ 141 (+464%)
Mutual labels:  mpd
Hassio Addons
The repository for my Home Assistant Supervisor Add-ons.
Stars: ✭ 71 (+184%)
Mutual labels:  mpd
simple-mpc
A GNU Emacs frontend to mpc.
Stars: ✭ 38 (+52%)
Mutual labels:  mpd
Rompr
Web client for Mopidy and MPD
Stars: ✭ 115 (+360%)
Mutual labels:  mpd
Pms
Practical Music Search is an interactive Vim-like console client for the Music Player Daemon.
Stars: ✭ 182 (+628%)
Mutual labels:  mpd
Playerctl
🎧 mpris media player command-line controller for vlc, mpv, RhythmBox, web browsers, cmus, mpd, spotify and others.
Stars: ✭ 1,365 (+5360%)
Mutual labels:  mpd
Mpdas
MPD AudioScrobbler written in C++ using libcurl
Stars: ✭ 101 (+304%)
Mutual labels:  mpd
Fzf Scripts
a collection of scripts that rely on https://github.com/junegunn/fzf
Stars: ✭ 158 (+532%)
Mutual labels:  mpd
Dotfiles
My dotfiles managed by GNU Stow - Arch, i3-gaps, bspwm, ncmpcpp, (neo)vim, zsh etc.
Stars: ✭ 99 (+296%)
Mutual labels:  mpd
Dotfiles
My vim, zsh, tmux, and macOS dotfiles
Stars: ✭ 209 (+736%)
Mutual labels:  mpd
Fmui
fzf mpd user interface
Stars: ✭ 93 (+272%)
Mutual labels:  mpd
Vimus
An MPD client with vim-like key bindings, written in Haskell
Stars: ✭ 129 (+416%)
Mutual labels:  mpd
thirtytwopixels
🖼️ wireless LED album art display for spotify, mpd+ncmpcpp and other players.
Stars: ✭ 46 (+84%)
Mutual labels:  mpd
Kunst
Download and display album art or display embedded album art
Stars: ✭ 242 (+868%)
Mutual labels:  mpd
Clerk
clerk - mpd client, based on rofi/fzf
Stars: ✭ 180 (+620%)
Mutual labels:  mpd

Mothership

Build Status

Mothership is a music player interface for MPD, optimised for browsing your music collection in its original directory structure.

Mothership is built with Go, AngularJS & WebSockets providing a snappy, real-time user experience. All connected clients keep the UI in sync with the player state.

Mothership is cross-platform & extremely portable, building to a single, self-contained binary with no external dependencies other than an MPD server to point it to.

screenshots

Build

To build the Mothership binary, install the development prerequisites, then:

(cd frontend && grunt build)
go-bindata frontend.go -prefix "frontend/dist/" frontend/dist/...
go build

Cross-compilation is achieved by modifying the go build command. For example:

  • Build for a Raspberry Pi 2: GOOS=linux GOARM=7 GOARCH=arm go build
  • Build for a Raspberry Pi 1: GOOS=linux GOARM=6 GOARCH=arm go build
  • Build for linux/386: GOOS=linux GOARCH=386 go build
  • Build for darwin/386: GOOS=darwin GOARCH=386 go build
  • Build for windows/386: GOOS=windows GOARCH=386 go build

Run

Firstly, build Mothership, then:

mothership -mpdaddr=music:6600 -port :8080
open localhost:8080

Modify -mpdaddr to point to the host:port (or ip:port) of your running MPD server.

Deploy

Deployment is simple, transfer the binary & run it. A complete example is provided below:

Develop

While developing, the assets are not packaged into a binary, this allows us to make front-end changes without rebuilding the back-end.

Install the development prerequisites, then:

(cd frontend && grunt)
go build && mothership -mpdaddr=music:6600 -port :8080
open localhost:8080

grunt watches for changes and runs all front-end tests.

go test ./... runs all the back-end tests, or run a single package with a command like (cd handlers && go test).

Development prerequisites

  • Go
  • Node.js & npm
  • go get github.com/jteeuwen/go-bindata/...
  • (cd frontend && npm install)

Extras

License

This project uses the MIT License. See LICENSE.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].