A simple Flutter-based Google TV client for Music Assistant
Ensemble TV is a minimal, focused app that does one thing: displays what's currently playing on a selected Music Assistant player.
It won't be getting a ton of development. It's intentionally simple - a "now playing" display for your TV with basic remote control. If you're looking for a full-featured Music Assistant client with browsing, search, playlists, and library management, this isn't it.
- Shows album art and track info on your TV
- Play/pause, skip, volume via remote
- Switch between Music Assistant players
- Browse your library
- Search for music
- Manage playlists
- Queue management
- Fancy visualizations
- Android TV device (tested on NVIDIA Shield)
- Music Assistant server running on your network
- WebSocket port enabled on Music Assistant (default: 8095)
- Download the latest
app-release.apkfrom Releases - Copy to your Android TV device (via USB, network share, or adb)
- Install using a file manager or
adb install app-release.apk
On first launch, you'll need to configure:
- Server URL - Your Music Assistant server address (e.g.,
http://192.168.1.100:8095) - Login - Enter your Music Assistant username and password
- Select Player - Choose which player to control
| Button | Action |
|---|---|
| Select/Enter | Play/Pause |
| D-Pad Left/Right | Previous/Next track |
| D-Pad Up/Down | Volume Up/Down |
| M | Mute/Unmute |
| S | Toggle Shuffle |
| R | Cycle Repeat Mode (Off → All → One) |
| Page Up/Down | Seek backward/forward 10 seconds |
Large album art display with track info and progress bar. The app extracts the dominant color from album art to create a matching background gradient.
Choose from available Music Assistant players with visual status indicators.
Configure your Music Assistant server connection and credentials.
If you use Home Assistant, you can set up an automation to automatically launch Ensemble TV when your Music Assistant player starts playing.
alias: "Ensemble TV - Auto Launch When Music Plays"
description: "Launch Ensemble TV app when Music Assistant player starts playing"
trigger:
- platform: state
entity_id: media_player.living_room_hifi # Your Music Assistant player
to: playing
action:
- service: androidtv.adb_command
target:
entity_id: media_player.android_tv_192_168_1_100 # Your Shield/Android TV
data:
command: am start -n com.collotsspot.ensemble_tv/.MainActivity- Android TV integration configured in Home Assistant
- ADB debugging enabled on your Android TV device
- Your Music Assistant player set up as a
media_playerentity in Home Assistant
- Replace
media_player.living_room_hifiwith your actual Music Assistant player entity - Replace
media_player.android_tv_192_168_1_100with your Android TV entity - You can add multiple triggers for different players
- The automation works with the Android TV ADB integration to launch apps remotely
Built with Flutter for Android TV's leanback UI. Minimal feature set, minimal maintenance.
Tech Stack:
- Flutter 3.x
- Provider for state management
- WebSocket connection to Music Assistant
MIT License
- Music Assistant - The excellent music server




