API and Command Line¶
You can choose between:
The JSON API is the most versatile and the recommended method, but for simple command line operations, mpc is easier. DAAP/DACP is only for masochists.
JSON API¶
See the JSON API docs
mpc¶
mpc is easy to use for simple operations like enabling speakers, changing volume and getting status.
Due to differences in implementation between OwnTone and MPD, some mpc commands will work differently or not at all.
DAAP/DACP¶
Here is an example of how to use curl with DAAP/DACP. Say you have a playlist with a radio station, and you want to make a script that starts playback of that station:
- Run
sqlite3 [your OwnTone db]
. Useselect id,title from files
to get the id of the radio station, and useselect id,title from playlists
to get the id of the playlist. - Convert the two ids to hex.
- Put the following lines in the script with the relevant ids inserted (also observe that you must use a session-id < 100, and that you must login and logout):
curl "http://localhost:3689/login?pairing-guid=0x1&request-session-id=50"
curl "http://localhost:3689/ctrl-int/1/playspec?database-spec='dmap.persistentid:0x1'&container-spec='dmap.persistentid:0x[PLAYLIST-ID]'&container-item-spec='dmap.containeritemid:0x[FILE ID]'&session-id=50"
curl "http://localhost:3689/logout?session-id=50"