A clean front-end to Volumio, the Linux distribution for music playback. DigiPlayer is written in Flutter.

Overview

EN | 中文

DigiPlayer - A Clean Touch UI for Volumio 3

DigiPlayer is a clean touch UI for Volumio 3, written in Flutter for the Raspberry Pi Touch Display.

Feng Zhou, 2021-12

This is a simple user interface for Volumio 3, the Linux distribution for music playback. I wrote it for playing music with the Raspberry Pi + 7-inch touch screen. The end result looks like this,

Features,

  • Designed for landscape mode. The Volumio touch screen plugin works best in portrait.
  • Good performance even on Raspberry Pi 3.
  • Touch-native UI similar to mobile apps. It runs on flutter-pi and no X-window is used.

Building DigiPlayer

Before this gets packaged as a Volumio plugin, here is what you need to build DigiPlayer from scratch,

  • Raspberry Pi 3 or 4.
  • Official Raspberry Pi 7-inch touch display.
  • Your dev computer (Windows/Mac/Linux)
  • A Linux x64 computer or VM (for compiling app.so)

First, take a look at flutter engine binaries repository to see which version of Flutter is available for Raspberry Pi. As of writing it is 2.5.3.

Go ahead and install that version of Flutter on the dev computer.

Check out flutter engine binaries on the Linux computer.

mkdir -p work/flutter
cd work/flutter
git clone https://github.com/ardera/flutter-engine-binaries-for-arm

Build DigiPlayer on dev computer

cd digiplayer

# Check build_release.sh for changes of dir locations, etc.
# This script build the flutter bundle locally, then ssh to the linux box to build app.so
# Then check lib/main.dart for changes to serverAddr (volumio.local works for me), defaultDir, etc.
./build_release.sh

# If successful, build/flutter_assets will contain artifacts, including app.so

Assuming Volumio 3 is already installed on Pi, follow instructions on flutter-pi page to install flutter-pi, the Flutter runtime for Pi. Compilation should only take a few minutes.

Now you can finally get the app onto Pi, and run it,

rsync -av build/flutter_assets/* [email protected]:digiplayer/
ssh [email protected]
flutter-pi --release digiplayer

You should see DigiPlayer as shown at the beginning of this README.

Optionally you can add it to /etc/rc.local to run every time Pi starts up.

sleep 5
/sbin/runuser -l root -c '/usr/local/bin/flutter-pi --release /home/volumio/digiplayer' > /home/volumio/log &

See tweaks.md for more adjustments I found useful.

Why Volumio?

Here is what I like about this setup,

  • It plays music anywhere in the home network. I mostly use the device to play music files stored in a NAS. It is very convenient. I do not even need to touch the device to add new music.
  • Good audio quality with digital connections. I attached a HiFi Berry Digi compatible HAT to the Pi, and output audio through SPDIF fiber to my soundbar. I 3D-printed a back-cover (OpenSCAD design here) for better looks.
  • Use your phone as a remote. Just point phone browser to http://volumio.local. Then you can browse and control your music playing there, from couch or anywhere. The Pi's play screen stays synchronized. On iPhone, touch share->add to home screen for easier access later.
  • Volumio has a tons of audio features that I have not find time to explore yet.
You might also like...

Ini merupakan repository yang ditujukan untuk memenuhi persyaratan Front-End Developer di Sribuu.

Ini merupakan repository yang ditujukan untuk memenuhi persyaratan Front-End Developer di Sribuu.

Sribuu Home Task - Movie App Ini merupakan repository yang ditujukan untuk memenuhi persyaratan Front-End Developer di Sribuu. Dimana pada aplikasi in

Dec 30, 2021

Flutter Music Player - First Open Source Flutter based material design music player with audio plugin to play local music files.

Flutter Music Player - First Open Source Flutter based material design music player with audio plugin to play local music files.

Flutter Music Player First Open Source Flutter based Beautiful Material Design Music Player(Online Radio will be added soon.) Demo App Play Store BETA

Jan 8, 2023

An end-to-end Flutter app built to get details and trending recipes - made as a part of the book 'Flutter Apprentice' by raywenderlich.com

Fooderlich - Flutter Apprentice An end-to-end Flutter app built to get details and trending recipes - made as a part of the book 'Flutter Apprentice'

Dec 4, 2021

Midi Playback in Flutter

flutter_midi A FLutter Plugin to Play midi on iOS and Android. This uses SoundFont (.sf2) Files. Online Demo: https://rodydavis.github.io/flutter_midi

Nov 5, 2022

Just audio background - A flutter package plugs into just audio to add background playback support and remote controls

just_audio_background This package plugs into just_audio to add background playb

Jan 11, 2022

Playify is a Flutter plugin for play/pause/seek songs, fetching music metadata, and browsing music library.

Playify is a Flutter plugin for play/pause/seek songs, fetching music metadata, and browsing music library.

Playify Playify is a Flutter plugin for play/pause/seek songs, fetching music metadata, and browsing music library. Playify was built using iOS's Medi

Dec 14, 2022

Corona Shield is an open sourced Corona Tracking Mobile Application with Back-end made by Amine Jafur with ♥ using Flutter, PHP, JS.

Corona Shield is an open sourced Corona Tracking Mobile Application with Back-end made by Amine Jafur with ♥ using Flutter, PHP, JS.

Corona-Shield A Corona Tracking Mobile Application. Corona Shield is an open sourced Corona Tracking Mobile Application with Back-end made by Amine Ja

Dec 11, 2022

Venni client app - A flutter ride-sharing end-user app supporting map location picking

Venni client app - A flutter ride-sharing end-user app supporting map location picking, driver location tracking, in-app credit card payments, trip rating system, and trip history.

Jan 3, 2022

It is a simple group chat application made with flutter back-end by Firebase. People can chat like a community chat.

flash_chat A new Flutter project. Getting Started This project is a starting point for a Flutter application. A few resources to get you started if th

Aug 7, 2022
Releases(v0.2.0)
  • v0.2.0(Jan 1, 2022)

    I am happy to release Touch Display Lite 0.2.0.

    What's New:

    1. Dark Mode. You can enable dark mode on the settings screen.
    2. Default directory setting. This is also changeable on the settings screen. Press "Home" tab once to go to the default directory. Press it once more to go to "root" (the list of all music sources".
    3. Repeat button. It was missing in v0.1.0.

    The installation instructions in README are also improved.

    Source code(tar.gz)
    Source code(zip)
    touch_display_lite.zip(11.71 MB)
  • v0.1.0(Dec 19, 2021)

Owner
Feng Zhou
Feng Zhou
This is a simple news app. It created using flutter as front-end and firebase as back end.

This is a simple news app. It created using flutter as front-end and firebase as back end. Only one person (Admin)can upload news. There is SignUp feature. Only one preDefined Admin who can login to account and upload news. It also uses Shared Preference for saving Admin's login inform.

sanal parakkal 2 Aug 5, 2022
A M.U.D (multi user dungeon) with a back end API built with nestjs and a front end UI built with Flutter.

Nest M.U.D - Getting Started Getting Started How to Play API Design A M.U.D (multi user dungeon) with a back end API built with nestjs and a front end

Ben 4 Aug 3, 2022
Blog App Development Front-End and Back-End using Flutter, ExpressJs, NodeJS, and MongoDB

Blog App Development Front-End and Back-End using Flutter, ExpressJs, NodeJS, and MongoDB

null 2 Dec 14, 2022
Front-end of multiplayer web3 games implemented with Flutter to run on all platforms (Web, Android, iOS, Linux, Window, macOS, TV-OS)

Front-end of multiplayer web3 games implemented with Flutter to run on all platforms (Web, Android, iOS, Linux, Window, macOS, TV-OS)

R-Team 5 Nov 15, 2022
🎞 Flutter media playback, broadcast & recording library for Windows, Linux & macOS. Written in C++ using libVLC & libVLC++. (Both audio & video)

dart_vlc Flutter media playback, broadcast, recording & chromecast library for Windows, Linux & macOS. Written in C++ using libVLC & libVLC++. Install

Hitesh Kumar Saini 417 Dec 29, 2022
Flutter apple music preview - A Music App that leverages the iTunes Rest API to get music data and playable music trailers

Apple Music Preview App Description This project is a Music App that leverages t

Willy Adinata Saragih 2 May 23, 2022
🎵 Elegant music app to play local music & YouTube music. Distributes music into albums & artists. Has playlists & lyrics.

Harmonoid Elegant music app to play local music & YouTube music. Download Now ?? Feel free to report bugs & issues. We'll be there to fix. Loving the

Harmonoid 2.5k Dec 30, 2022
Audio manager - A flutter plugin for music playback, including notification handling.

audio_manager A flutter plugin for music playback, including notification handling. This plugin is developed for iOS based on AVPlayer, while android

Jerome Xiong 96 Oct 25, 2022
A rewrite of the devolo Cockpit front end in Flutter

Cockpit Open Frontend Cockpit Open Frontend is an alternative frontend for devolo Cockpit application. It uses the existing backend of devolo Cockpit

devolo AG 4 Jul 21, 2022
An alternative front-end to GoogleTranslate

SimplyTranslate Mobile (Unofficial) An alternative front-end to GoogleTranslate Download Via F-Droid: com.simplytranslate_mobile. For the most up-to-d

null 101 Dec 28, 2022