Skip to content

ales-drnz/mpv_studio

Repository files navigation

MPV Studio

Cross-platform audio player built on mpv_audio_kit.

logo MPV Studio is the standalone reference client for the mpv_audio_kit engine: a cross-platform audio player with a full DSP rack, real-time visualizers, Jellyfin, Plex and Samba streaming, and a built-in mpv command console.

Platforms

Platform Minimum Architectures
Android 7.0 (SDK 24) arm64-v8a, armeabi-v7a, x86_64
iOS 15.0 arm64, x86_64
macOS 12.0 arm64, x86_64
Windows 10 arm64, x86_64
Linux Ubuntu 24.04 aarch64, x86_64

Contents


Guide

1. Playback

The home screen: cover art, metadata and transport bound to mpv_audio_kit's play-pause intent, so the controls never flicker while you scrub.

1.1 Now playing

Cover art, track info, a scrubbable seekbar, and a volume control, driven entirely by the engine's reactive streams.

1.2 Visualizers

Three real-time meters fed by mpv_audio_kit's FFT and PCM streams: a log-spaced spectrum curve, a VU meter, and a progressive waveform seekbar that fills in as network tracks decode.


2. Queue

A reorderable playlist with drag-and-drop, gapless transitions, and a determinate prefetch indicator for the next track.


3. Stream

Browse and play from self-hosted media servers. Each library tab pages lazily as you scroll.

3.1 Jellyfin

Connects to a Jellyfin server and streams its libraries directly (HLS), seeking through transcoded sources.

3.2 Plex

Resolves Plex transcode URLs lazily through an on_load hook and a /decision session manager, and reports playback progress back to the server.


4. Effects

A live DSP rack on top of mpv_audio_kit's AudioEffects bundle: toggle and tune effects and hear the change immediately.

4.1 The DSP rack

18-band graphic EQ, compressor, loudness normalization, headphone crossfeed, crystalizer, stereo tools, bass and treble, and more.

4.2 Interactive controls

Each effect renders its own live diagram (a compressor curve, a frequency response curve, a crossfeed diagram, a stereo scope, a loudness gauge), driven by per-filter PCM taps so the visualization tracks the actual signal.


5. Settings

Every mpv subsystem grouped into one screen: audio engine and output, audio track, A-B loop, chapters, demuxer cache, hooks, OS media session, and streaming. Choices persist across launches.


6. Console

A built-in mpv command console with a command catalog, autocomplete suggestions, and the live engine log, captured from boot, so it's never empty when you open it.


7. Building from source

7.1 Requirements

  • Flutter 3.27 or newer (Dart ^3.6.0).
  • The native toolchain for your target platform (Xcode for Apple, Android SDK and NDK for Android, the desktop build tools for Linux and Windows).

7.2 Run

flutter pub get
flutter run -d macos        # or windows, linux, <android-device>, <ios-device>

To build a release artifact, use the standard flutter build <platform>.


Project background

The app was implemented through the use of Claude Code.


Developed by Alessandro Di Ronza

About

MPV Studio is the standalone reference client for the mpv_audio_kit engine: a cross-platform audio player with a full DSP rack, real-time visualizers, Jellyfin, Plex and Samba streaming, and a built-in mpv command console.

Topics

Resources

Stars

4 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors