Skip to content

modules/control: add MPD server

Lucas Ransan requested to merge luc65r/vlc-mpd:mpd into master

This is the work I've done during GSoC 2022.

It's an implementation of a MPD server, which allows MPD clients to control VLC.

What works

This implementation supports a subset of the MPD protocol. I mainly tested it with mpc, ncmpc and ncmpcpp, but most MPD clients should work (with at least basic functionalities).

  • player controls (play, pause, stop, skip, volume…)
  • playlist manipulations (move, delete songs)
  • navigating in the media library and adding songs to the playlist
  • searching songs, albums and artists in the media library, with complex filters
  • multiple clients can be connected at the same time

What is missing

Those are the functionalities that I did not add, and are not necessary for most clients to work.

  • ANY tag and regex search in filters
  • channels
  • sickers (might be difficult to implement since it requires changes in medialibrary)
  • stored playlists (.m3u files)
  • sending the album art
  • mounts
  • multiple partitions and audio output devices

Acknowledgments

I would like to thank my mentor Thomas Guillem, Georges Vaindirlis (whose work really helped me to get started), and the VideoLAN team.

Merge request reports