back to the rack

c4plex-music

Your Plex music library, sitting under Listen in Control4 next to the built-in streaming services.

ver
1.0.0
lic
MIT
src
Lua
rel : release published
repository releases

c4plex-music is a Control4 driver that adds Plex as a native streaming music source. Browse and search your Plex music library from any Control4 Navigator under Listen, and playback streams straight from the Plex server through the Control4 Digital Audio engine, on the same model the built-in services use.

There is no extra player hardware and no bridge process. Setup is a server address plus a plex.tv account pairing, and the only cloud contact is that one-time link, plus an update check that is off by default.

Signal path

plex media server c4 director this driver digital audio engine room library, art, stream browse, search, queue select_audio_url set_next_audio_url amp and speakers

The driver mirrors the Control4 queue and reacts to its events. It hands the audio engine the URL for the current track and pre-fetches exactly one more, which is what makes playback gapless rather than stuttering between tracks.

What it does

native listen source
Appears under Listen in every room with Digital Audio, with the browse and search behaviour Navigator already expects.
no extra hardware
The Control4 Digital Audio engine streams directly from Plex. Nothing sits in between and there is no companion service to keep running.
gapless
One pre-fetched next-track URL, kept in step with the queue, so albums play the way they were cut.
simple pairing
Enter the server address, run the link action and enter the code at plex.tv, or paste an existing token. Server Status then reads Connected.
quiet by default
The GitHub update check is opt-in and off out of the box. Apart from the one-time account link, nothing leaves your network.

Install

# or download the c4z from the release
python3 build.py   # -> dist/c4plex_plex_music.c4z

In Composer Pro, add the driver, then add Plex Music to a room. The Digital Audio connections bind themselves. Set the server address and port, run the Link Plex Account action, and confirm Server Status shows Connected.

Specification

Version 1.0.0
License MIT
Language Lua, Control4 DriverWorks
Artifact One .c4z driver
Tested against Control4 OS 3.4.3. Manifest floor is 3.0.0
Requires Composer Pro, Plex Media Server, and a room with Digital Audio
Build Python 3.9 or newer
Cloud contact The one-time plex.tv link only
Source github.com/cajunflavoredbob/c4plex-music