lumide_muse library

M.U.S.E., a music player plugin for the Lumide IDE.

Classes

BaseAudioPlayer
The audio backend used by MusicService.
DashboardController
Shows the player panel (a webview built from web/dashboard) and keeps it in sync with playback.
LyricLine
A single timed line of an .lrc file.
LyricService
Parses .lrc lyrics and looks up the line for a playback position.
MediaKitAudioPlayer
Plays audio through libmpv using media_kit.
MusicService
Ties the playback queue, the audio engine and lyrics together.
PlaybackQueue
Playlist order, shuffle and repeat logic, independent of audio playback.

Enums

RepeatMode
How the queue behaves at the end of a track or of the playlist.

Constants

audioExtensions → const Set<String>
File extensions treated as playable audio.

Functions

formatDuration(Duration duration) → String
Formats duration as m:ss, or h:mm:ss from one hour up.
isAudioFile(String path) → bool
scanAudioFiles(String root, {required Future<List<String>> list(String path), required Future<bool> isDirectory(String path), void onProgress(int checked)?, int maxDepth = 32}) → Future<List<String>>
Recursively finds audio files under root, sorted by path.

Exceptions / Errors

AudioEngineException
Thrown when the audio engine cannot be loaded. message is shown to the user as is.