- This repository contains supplement files for the VLC MPD Server Proposal.
- Read more about MPD Protocol here: Music Player Daemon
- Basic schema of MPD Architecture to be implemented as module discussed in this repository.
- Step 1: Install VLC Media Player on your system, and along with this, the mpd module will also be installed.
- Step 2: Using a Command Line, initialise the MPD server within VLC Media Player with command ./vlc --mpd. This loads the MPD module along with running the core vlc_main() thread in the background, waiting for mpd clients requests to come and service them.
- Step 3: Using mpc-clients, send requests to the server to control playback and queue.
- Step 4: Stop the server to kill the thread.
- Creating a basic MPD server-client architecture
- Implementing the MPD Protocols
- Parsing Client Side Request
- Connecting it with VLC media library
- Implementing Different MPD features
- Configuring Files Option
- Command line Access to the server
- Documentation & Bug Fixes
- Created MPD Architecture based on Socket Programming Communication Model and implemented MPD protocol to service clients.
- Polling for sampling a set of clients
- Parsing Input Commands from different Music Player Daemon-Clients.(MPC)
- Implemented two ways of sending data.
- Implemented the following sets of Commands for controlling VLC through MPD Protocol (Complete Set of Commands Available Here):
- Playback Options: consume, repeat, random, single, volume, etc
- Controlling Playback: play, pause, next, previous, stop, seek, etc
- Queue Control: add (files, folders recursively), delete, move, swap, shuffle, playlist information, playlist information metadata, etc.
- Playlists: Saving, loading and modifying playlists from MPD.
- Music Database: Not very stable, but basic listing and search/search+add features work fine.
- Handling other misc commands: Ping, Idle, Close, etc.
- Documentation
- Currently only one filter can be applied through vlc_query_params for searching through music database. Multiple tag filters for searching needs to be added, in Advanced Find/Search commands.
- input_item_t Parameter can't extract current playback/database information when Music is being played.
- status and stats commands: can't extract information, input_item_t doesn't grab value as it should.
- Making the music database more verbose. Adding more tags to be queried by MPD clients.