All Projects → irskep → summertunes

irskep / summertunes

Licence: MIT license
A web-based music player for Beets

Programming Languages

javascript
184084 projects - #8 most used programming language
python
139335 projects - #7 most used programming language
CSS
56736 projects
HTML
75241 projects

Projects that are alternatives of or similar to summertunes

boombeastic
A Raspberry Pi based smart connected speaker with support for airplay, spotify, mpd and local playback
Stars: ✭ 206 (+1273.33%)
Mutual labels:  mopidy
iTunes Backup Reader
Python 3 Script to parse out iTunes backups
Stars: ✭ 108 (+620%)
Mutual labels:  itunes
ipatool
Command-line tool that allows searching and downloading app packages (known as ipa files) from the iOS App Store
Stars: ✭ 2,438 (+16153.33%)
Mutual labels:  itunes
Macast
Macast is a cross-platform application which using mpv as DLNA Media Renderer.
Stars: ✭ 3,786 (+25140%)
Mutual labels:  mpv
mulukhiya-toot-proxy
各種ActivityPub対応インスタンスへの投稿に対して、内容の更新等を行うプロキシ。通称「モロヘイヤ」。
Stars: ✭ 24 (+60%)
Mutual labels:  itunes
mpv-iptv
iptv script for mpv
Stars: ✭ 64 (+326.67%)
Mutual labels:  mpv
Tubefeeder
A Youtube, Lbry and Peertube client made for the Pinephone
Stars: ✭ 88 (+486.67%)
Mutual labels:  mpv
StreamLinkerino
Twitch.tv client using only StreamLink, MPV, and Chatterino
Stars: ✭ 26 (+73.33%)
Mutual labels:  mpv
mpc-qt
Media Player Classic Qute Theater
Stars: ✭ 125 (+733.33%)
Mutual labels:  mpv
dotfiles
My dotfiles for Bash/Zsh, Vim/Neovim, Doom Emacs, tmux, Git, terminal emulators, JupyterLab, aria2, mpv, Nix and Homebrew
Stars: ✭ 149 (+893.33%)
Mutual labels:  mpv
dotfiles
🏡 Personal dotfiles configuration
Stars: ✭ 73 (+386.67%)
Mutual labels:  mpv
adl
🍿 anime-downloader + trackma wrapper
Stars: ✭ 91 (+506.67%)
Mutual labels:  mpv
mpv-gif-generator
Creates animated gifs using mpv hotkeys
Stars: ✭ 32 (+113.33%)
Mutual labels:  mpv
mopidy-pandora
A Mopidy extension for playing music from Pandora.
Stars: ✭ 25 (+66.67%)
Mutual labels:  mopidy
mpv-progressbar
A simple progress bar for mpv.
Stars: ✭ 106 (+606.67%)
Mutual labels:  mpv
spellbook
Spellbook is a bookmark extension for Chrome and Firefox
Stars: ✭ 19 (+26.67%)
Mutual labels:  kefir
mpv-scripts
dynamic-crop.lua script for mpv player/lib.
Stars: ✭ 43 (+186.67%)
Mutual labels:  mpv
VR-reversal
VR-Reversal - Player for conversion of 3D video to 2D with optional saving of head tracking data and rendering out of 2D copies.
Stars: ✭ 128 (+753.33%)
Mutual labels:  mpv
radio-stream
A personal music streaming solution
Stars: ✭ 38 (+153.33%)
Mutual labels:  beets
Lyricify-App
A fantastic app to provide auto-scrolling lyrics for Spotify, iTunes, Music Center, QQ Music, Netease Cloud Music, and YesPlayMusic. 一款为Spotify、iTunes、Music Center、QQ音乐、网易云音乐、YesPlayMusic提供滚动歌词的软件。
Stars: ✭ 486 (+3140%)
Mutual labels:  itunes

Summertunes

Summertunes is a web-based music player that can control mpv on a server, or play back audio in your browser.

Requirements

Python 3.5; beets >=1.4.4; mpv

Screenshot

Installation

# Install mpv on your platform
brew install mpv
# Install summertunes from PyPI
pip install summertunes

Add this to your beets config (on OS X, at ~/.config/beets/config.yaml):

plugins: web summertunes
web:
    include_paths: true  # without this, summertunes can't control mpv

If you haven't used beets before, import your files into beets without rewriting tags or copying:

beet import -A -C /folder/of/files

Running

In terminal A, run beet web:

beet web

In terminal B, use summertunes to run mpv:

summertunes mpv

In your web browser, visit http://localhost:8337/summertunes/.

The normal ``beet web`` interface is still at ``http://localhost:8337/``. Summertunes is served at ``/summertunes/``.

Configuration

Summertunes is configured using your beets config file. Here are its defaults:

summertunes:
    # port to serve mpv websocket from
    mpv_websocket_port: 3001
    # path to use for socket; should be no files with this path
    mpv_socket_path: /tmp/mpv_socket
    # show mpv in web interface? otherwise just allow web playback
    mpv_enabled: yes
    # last.fm API key, used to fetch album art
    last_fm_api_key: ''
    # if using 'summertunes serve' development server, use this port
    dev_server_port: 3000

Developing

Client

You'll need npm installed to develop the client. To get the auto-reloading dev server running, install some stuff:

cd client
npm install
pip install -r requirements.txt
pip install --editable .

Update your beets config to allow CORS headers in beet web:

web:
    cors: '*'
    host: 0.0.0.0
    include_paths: true

Now you can run this in one terminal to serve the JS (but not the API):

summertunes serve --dev  # serves JS

And keep beet web running in another terminal, with the config changes above, so the JS has something to talk to.

Server

pip install --editable .
beet web --debug # auto-reloads when you change files

Both

Run summertunes serve --dev in one terminal and beet web --debug in another.

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