|
|
|
***GSoC 2020: Implementing a MPD Module in VLC***
|
|
|
|
|
|
|
|
**Work Done So Far**
|
|
|
|
- Created MPD Architecture using MPD protocol as skeleton.
|
|
|
|
- Parsing Input Commands
|
|
|
|
- Implemented 2 ways of sending data.
|
|
|
|
|
|
|
|
- Implemented the following sets of Commands:
|
|
|
|
1. Playback Options: consume, repeat, random, single, volume, etc
|
|
|
|
2. Controlling Playback: play, pause, next, previous, stop, seek, etc
|
|
|
|
3. Queue Control: add (files, folders recursively), delete, move, swap, shuffle, playlist information, playlist information metadata, etc.
|
|
|
|
4. Playlists: Saving, loading and modifying playlists from MPD.
|
|
|
|
5. Music Database: Not very stable, but basic listing and search/search+add features work fine.
|
|
|
|
6. Handling other misc commands: Ping, Idle, Close, etc.
|
|
|
|
|
|
|
|
**Remaining Features & Issues:**
|
|
|
|
1. Making the music database more verbose. Adding more tags to be queried by MPD clients.
|
|
|
|
2. Advanced Find/Search features so multiple tag filters can be applied at the same time. Currently only one filter can be applied through vlc_query_params.
|
|
|
|
3. status and stats commands: can't extract information, input_item_t doesn't grab value as it should.
|
|
|
|
4. Memory leaks and testing.
|
|
|
|
|