All Projects → polyfloyd → trollibox

polyfloyd / trollibox

Licence: GPL-3.0 License
The hackerspace friendly music player web client

Programming Languages

go
31211 projects - #10 most used programming language
javascript
184084 projects - #8 most used programming language
CSS
56736 projects
HTML
75241 projects
shell
77523 projects

Projects that are alternatives of or similar to trollibox

mpdclient
MPD client library in nim
Stars: ✭ 21 (-40%)
Mutual labels:  player, mpd
mpdevil
A simple music browser for MPD
Stars: ✭ 88 (+151.43%)
Mutual labels:  player, mpd
react-aplayer
🍭 A React wrapper component of APlayer
Stars: ✭ 25 (-28.57%)
Mutual labels:  player
youtube-ios-player-helper-swift
A full swift implementation of https://github.com/youtube/youtube-ios-player-helper. Helper library for iOS developers looking to add YouTube video playback in their applications via the iframe player in a UIWebView
Stars: ✭ 55 (+57.14%)
Mutual labels:  player
tc-maker-4x4-router
Restoration and documentation of custom-built 4x4' CNC router at Twin Cities Maker hackerspace (aka the Hack Factory) in Minneapolis, MN.
Stars: ✭ 14 (-60%)
Mutual labels:  hackerspace
rpi-mpd
MPD (Music Player Daemon) on Raspberry Pi / ARM
Stars: ✭ 16 (-54.29%)
Mutual labels:  mpd
react-music-player
🎵 player local songs on the browser
Stars: ✭ 115 (+228.57%)
Mutual labels:  player
SwiftAudioPlayer
[WIP] Simple music player for macOS written in Swift
Stars: ✭ 33 (-5.71%)
Mutual labels:  player
logitech-m720-config
A configuration script for Logitech M720 that remaps mouse buttons (Linux)
Stars: ✭ 59 (+68.57%)
Mutual labels:  logitech
dcs-bios
DCS-BIOS Flightpanels Fork
Stars: ✭ 103 (+194.29%)
Mutual labels:  logitech
dotfiles
Config files for wm and terminal apps
Stars: ✭ 15 (-57.14%)
Mutual labels:  mpd
yout
🔥 YouTube playlist player for desktop. Free, no YouTube ads, floating window. Available for Linux, Mac and Windows.
Stars: ✭ 82 (+134.29%)
Mutual labels:  player
mpz
Music player for big local collections
Stars: ✭ 50 (+42.86%)
Mutual labels:  player
KingPlayer
🎬 一个专注于 Android 视频播放器的基础库,无缝切换内核。(IjkPlayer、ExoPlayer、VlcPlayer、MediaPlayer)
Stars: ✭ 35 (+0%)
Mutual labels:  player
YoutubePlayer
Play and download YouTube videos. Extract audio from video. With minimalist beautiful gui.
Stars: ✭ 19 (-45.71%)
Mutual labels:  player
abr-player
📼 Adaptive Streaming Test Player
Stars: ✭ 13 (-62.86%)
Mutual labels:  player
Straas-android-sdk-sample
Straas Android SDK samples and documentation
Stars: ✭ 12 (-65.71%)
Mutual labels:  player
aplayer
ffplay友好版本. 对ffplay裁剪重构以适合初学者阅读、理解
Stars: ✭ 41 (+17.14%)
Mutual labels:  player
X1Player
iOS端封装的视频播放器.支持直播,录播视频的播放,支持常用的播放界面控制,类似于ijkplayer 优点是体积更小,使用快捷
Stars: ✭ 21 (-40%)
Mutual labels:  player
blade-player
Android music player that plays from local library, Spotify or Deezer
Stars: ✭ 67 (+91.43%)
Mutual labels:  player

Trollibox

Build Status

The hackerspace friendly MPD music player web client.

Features:

  • Control multiple music players from one webinterface
  • Support for MPD
  • Support for Logitech SlimServer and SqueezeBoxes
  • Track art
  • Listen to web radio stations
  • Search-as-you-type for tracks with highlighting
  • File browser
  • Album browser
  • Queue random tracks when the playlist is empty.
  • Mobile device friendly
  • Free Open Source Software (GPLv3)

Installing

The following tools are required to build Trollibox:

To build:

# Download Trollibox
git clone --recurse-submodules https://github.com/polyfloyd/trollibox.git trollibox
cd trollibox

# Build a release version of Trollibox containing all of its assets.
RELEASE=1 ./build.sh

# Copy and edit the configuration
cp config.example.yaml config.yaml
vim config.yaml

# Let's go!
./bin/trollibox -conf config.yaml

Configuring

Copy the example configuration to config.yaml, its default location. If you want to use a custom location for the config file, you should inform Trollibox by using the -conf option. Like this:

trollibox -conf /etc/trollibox.yaml

Inside the configuration file, you will find some options you may need to change.

For Users

Hotkeys

  • space: toggle playback
  • >: next track
  • <: previous track
  • +: increase volume
  • -: decrease volume
  • b: seek backwards in the playing track
  • f: seek forwards in the playing track
  • c: clear the yet to be played part of the playlist
  • 1: focus library search
  • 2: focus album browser
  • 3: focus genre/artist browser
  • 4: focus file browser
  • 5: focus streams library
  • 6: focus auto queuer configuration
  • 7: expand player

Queueing Tracks

Tracks may be queued from the browser page using one of the views. Click on a track to append it to the queue.

An asterisk will be displayed next to tracks that have been queued by users. This feature originated at the Bitlair Hackerspace where tracks should not be skipped when they are queued by users.

The Queuer

If the queue runs out of tracks, Trollibox will pick a random track from the library and play it. The selection bias for tracks can be configured by setting one or more rules on the Queuer page.

Such rules consist of simple expressions that evaluate to a boolean value. A track must pass all rules set for it to be eligible for playing.

The matches operation takes a regular expression in Go's regexp format.

Streams

Trollibox has support for HTTP streams. You can create a custom collection using the Streams interface.

Searching

The search view allows you to search the whole library of the current player for tracks whose artist, title or album attributes contain some keywords.

Searching is case insensitive.

A track must match all keywords in order to end up in the results.

The search string is split on each space, unless you escape it with a backslash: foo\ bar.

You can annotate the keywords in your query to search other fields, You can limit a keyword to a single attribute by annotating them like this:

photographer genre:trance

The string photographer will be applied to the default attributes while the genre must match "trance".

Available attributes are:

  • uri
  • artist (default)
  • title (default)
  • genre
  • album (default)
  • albumartist
  • albumtrack
  • albumdisc

You can also use the duration attribute with relational operators to filter on whether a track's length is less, greater than or equal to some reference integer.

duration<120
duration>120
duration=120

Q & A

What does the asterisk next to queued tracks indicate?

See Queueing Tracks.

Where is the button to update the library?

There isn't. Trollibox is only a browser/player. Managing the files of the library is out of the scope of this project, which includes updating the player's database.

How do I add stuff to the library?

Using whatever options the player you are using is giving you. Trollibox is only a browser/player. You should manage your library in some other way.

I can't see the player on my phone.

The player is hidden on small screens to preserve space. The player is accessible on a separate view for such devices.

Screenshots

Search for tracks

Browse by album

Browse by genre and artist

Browse the filesystem

Browse and add streams

The Queuer

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].