Skip to content
Extraits de code Groupes Projets
Vérifiée Valider 073ddf62 rédigé par Kubat's avatar Kubat
Parcourir les fichiers

Update README with MPD compatibility list

parent ba4576da
Aucune branche associée trouvée
Aucune étiquette associée trouvée
1 requête de fusion!141Improve MPD compatibility
......@@ -171,3 +171,83 @@ Please, refer to the [CONTRIBUTING](CONTRIBUTING.md) file.
Lektor is almost MPD compatible, at least it uses the same protocol, which can be gotten
[here](https://www.musicpd.org/doc/html/protocol.html#). The full support for MPD clients (like mpc
and ncmpc) is still WIP.
### Command compatibility table
For the compatibility column, the possible values are the following:
- `-`: has a poor compatibility, doesn't work as MPD intended it
- `~`: basic compatibility, some arguments types / number may change
- `+`: is compatible
- `CHECK`: check for compatibility status
- `FIXME`: was intended to work as in MPD but is not, fix it
- `TODO`: marked as 'to be implemented', check the next releases if it is implemented
- nothing: has not been implemented and is not a priority
| MPD command | lektord command | compatibility | compatibility note |
| --------------------------------- | ------------------------- | :-----------: | ----------------------------------------------- |
| `clearerror` | | | not implemented |
| `currentsong` | `currentsong` | ~ | use the lektord tags, not MPD once |
| `idle [subsistem]` | `idle [subsistem]` | + | |
| `status` | `status` | ~ | slight differencies in the duration and time, not working with mpc |
| `stats` | `stats` | ~ | don't send all the stats, only `db_update` |
| `consume {state}` | `consume {state}` | + | |
| `crossfade {seconds}` | | | not implemented |
| `mixrampdb {dB}` | `mixrampdb {dB}` | | not implemented |
| `mixrampdelay {seconds}` | | | not implemented |
| `random {state}` | `random {state}` | + | |
| `repeat {state}` | `repeat {state}` | + | |
| `setvol {vol}` | `setvol {vol}` | + | won't display the correct volume, mpv properties flush issue... |
| `getvol` | `getvol` | + | will display the correct value after the end of the kara |
| `single {state}` | `single {state}` | + | |
| `replay_gain_mode {mode}` | | | not implemented |
| `replay_gain_status` | | | not implemented |
| `next` | `next` | + | |
| `pause {state}` | `pause {state}` | CHECK | check compat state |
| `play [songpos]` | `play [songpos]` | + | if no `songpos` passed, defaults to `0` |
| `playid [songid]` | `playid {songid}` | + | get the first found `songid` in the queue |
| `previous` | `previous` | + | |
| `seek {songpos} {time}` | | | not implemented |
| `seekid {songid} {time}` | | | not implemented |
| `seekcur {time}` | `seekcur {time}` | | not implemented |
| `stop` | `stop` | + | |
| `add {uri}` | `add {uri}` | + | |
| `addid {id} [pos]` | `addid {id...}` | ~ | can add multiple songs, but no position support |
| `clear` | `clear` | + | |
| `delete [{POS}|{start:end}]` | | TODO | not implemented |
| `deleteid {songid}` | `deleteid {songid}` | + | delete all kara with that id, skip the current kara if needed |
| `move [{from}|{start:end}] {to}` | | TODO | not implemented |
| `moveid {from} {to}` | `moveid {from} {to}` | ~ | `to` is always an absolute position |
| `playlist` | `playlist` | + | |
| `playlistfind {tag} {needle}` | `playlistfind {uri}` | ~ | uses lektord URIs |
| `playlistid {songid}` | | TODO | not implemented |
| `playlistinfo [[songpos]|[start:end]]` | `playlistinfo` | - | is an alias to `playlist` |
| `playlistsearch {taf} {needle}` | `playlistsearch {uri}` | ~ | uses lektord URIs |
| `plchanges {version} [start:end]` | | | not implemented |
| `plchangesposid {version} [start:end]` | | | not implemented |
| `prio {prio} {start:end}` | | | not implemented |
| `prioid {prio} {id...}` | | | not implemented |
| `rangeid {id} {start:end}` | | | not implemented |
| `shuffle [start:end]` | `shuffle` | ~ | shuffles all the queue |
| `swap {song1} {song2}` | | TODO | not implemented |
| `swap {songid1} {songid2}` | | | not implemented |
| `addtagid {songid} {tag} {val}` | | | not implemented |
| `cleartagid {songid} [tag]` | | | not implemented |
| `listplaylist {name}` | `listplaylist {name}` | + | |
| `listplaylistinfo {name}` | `listplaylistinfo {name} {uri}` | - | do a search in the playlist |
| `listplaylists` | `listplaylists` | + | |
| `load {name} [start:end]` | | | not implemented, use `add {uri}` to do that |
| `playlistadd {name} {uri}` | `playlistadd {name} {uri}` | ~ | uses lektord URIs |
| `playlistclear {name}` | `playlistclear {name}` | + | |
| `playlistdelete {name} {songpos}` | `playlistdelete {name} [songid]` | ~ | delete all the playlist if `songpos` is not spesified, uses kara ids, not pos |
| `playlistmove {name} {from} {to}` | | | not implemented |
| `rename {name} {newname}` | `rename {name} {newname}` | ~ | will fail if the `newplaylist` already exists |
| `rm {name}` | `rm {name}` | + | |
| `save {name}` | `save {name} {destdb}` | - | export a part of the db into as sqlite3 db |
| `albumart {uri} {offset}` | | | not implemted |
| `count {filt} [group {grptype}]` | | | not implemted |
| `getfingerprint {uri}` | | | not implemted |
| `find {filt} [sort {type}] [window {START:END}]` | `find {uri}` | - | do a simple search in the db with lektord's URIs |
| `findadd {filt} [sort {type}] [window {start:end}]` | `findadd {uri}` | - | same remarks as `find` |
| `list {type} {filt} [group {grptype}]` | | | not implemented |
| `listall [uri]` | | | not implemented |
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter