Skip to content

phts/NP-01_backend

 
 

Repository files navigation

PHTS NP-01: Volumio 3 backend

This is a modification of volumio3-backend which is used by PHTS NP-01.

Tweaks made to the original repo:

  • New commands:
    • "Play next" (already implemented in original repo but keeping my own solution)
    • "Add to queue after current"
    • "Fast reboot" to restart only volumio service
    • "Stop after current" (still unstable)
  • Add more data into player state to let UI and plugins show them:
    • Year
    • Track number (instead of physically insert it into track title)
    • Amount of queue items
    • "Favorite" flag (received from service's state)
  • User interface:
    • Display bitrate and sample rate correctly
    • Display special image when no albumart found instead of default one
    • Improve translations and toast message texts
  • Core player behavior:
    • Reset volume, repeat and random state on queue clear (e.g. playing other album) and after reboot
    • Fix previous/next buttons behavior
    • Support "go to artist/album" for Spotify Connect mode
  • Settings:
    • Sort network drive list, fix NaN size
  • Improve UX of dev page
  • Improve stability, performance and fix a lot of bugs
  • ...and many more

Sync with original repo

git remote add v https://github.com/volumio/volumio3-backend.git
git fetch v

git checkout volumio-master-formatted
git merge v/master
# in case of conflicts:
  git checkout v/master -- "**/*"

npm run format
git add .
git commit

git checkout master
git merge volumio-master-formatted
# fix conflicts, run format and commit

Deploy

bash scripts/deploy.sh [--restart]

⚠️ Before deployment all required changes should be committed and pushed.

Prerequisites

  1. Configure ssh host volumio pointing to your device
  2. ssh volumio
    cd /volumio
    git remote add np-01 https://github.com/phts/NP-01_volumio3-backend.git

README from original repo

Open Source Love License: GPL v3 Awesome js-semistandard-style Volumio

What is Volumio

Volumio is a Free and Open Source Linux Distribution, designed and fine-tuned exclusively for music playback. It runs on a variety of devices, typically small and cheap computers like the Raspberry PI, but also on low power PCs, notebooks or thin clients.

By flashing (installing) Volumio on any of this platforms, it will then become an headless Audiophile Music Player. Headless means that the only way to control it will be with another Mobile phone, computer or tablet.

This is made possible by Volumio’s UI: a web applications that runs on any device with a browser, and that allows an easy and intuitive control of your playback sessions. All communications between the webapp and Volumio will happen trough your home network.

What's in this repo

This repository contains the source code of Volumio's Backend, which is a Node.Js application which:

  • Manages running processes and daemons for audio playback
  • Manages the system's vitals and configurations such as network, settings, lifecycle

Other parts of Volumio

Volumio is made with several components, some of which are open-source. They are:

Resources

Developers are welcome! Check out the resources:

Releases

No releases published

Languages

  • JavaScript 97.6%
  • Shell 2.1%
  • EJS 0.3%