MPSTORE(1)

πŸ“¦
version 0.26 Β· 4 versions
, in debian bookworm, debian trixie, ubuntu noble, ubuntu questing

πŸŽ€ MPSTORE(1) πŸŽ€

okay bestie, welcome to the mpstore manual page, section 1 of the manual, and honestly? it's giving iconic little utility energy and we're gonna get through it together πŸ’…


🌸 NAME 🌸

mpstore β€” store and transfer mpd state between daemons πŸ¦‹


✨ SYNOPSIS ✨

mpstore [host] > file

mpload [host] < file

mpcp [src] dest

mpmv [src] dest

mpswap [A] B

πŸ’– DESCRIPTION πŸ’–

okay so these commands are literally the whole point: they let you save, load, and transfer state between mpd daemons running on different hosts. no cap, that's the vibe. 🌈

  • mpstore dumps a daemon's state to stdout. it's giving "screenshot but for your music."
  • mpload loads a state dump from stdin and sends it to a daemon. reverse uno card, slay.
  • mpcp copies the state from the src daemon to the dest daemon, causing it to begin to play the same song as the src daemon, at the same position. twin behavior fr fr πŸ‘―
  • mpmv moves the state, so the dest daemon is left playing what the src daemon was playing, and the src daemon is paused. it's a handoff, not a copy, periodt.
  • mpswap exchanges the state of daemons A and B, swapping what they're playing. main character energy on both sides simultaneously 😭

🫢 the hostname situation (iykyk)

The first hostname passed to each command can be omitted, if it is then the MPD_HOST environment variable will be used. Like the MPD_HOST variable, the hostname can be of the form "password@hostname" to specify a password. If any hostname is "-", the MPD_HOST setting will be used.

so like: omit it β†’ MPD_HOST steps in. dash "-" β†’ MPD_HOST steps in. password? use "password@hostname". simple as. πŸ’–

πŸ‘‘ the full list of state that is handled is:

  • the contents of the playlist 🎡
  • the playback state (playing, paused, stopped)
  • the currently playing song
  • the position within the playing song
  • the volume control πŸ”Š
  • the repeat, random, and cross fade settings

πŸ¦‹ LIMITATIONS πŸ¦‹

ngl there are some things you just gotta know, and I'm telling you because I love you:

  • The host that state is transferred to must have the playing song available in its library, with the same filename. It's ok if some other songs in the playlist are not available; such songs will be skipped. πŸ™ˆ
  • mpcp cannot perfectly synchronise playback between the two daemons. Network latency and timing prevent this. It should manage better than 0.5 second accuracy. If you need better accuracy of synchronised playback, you should probably use Pulse Audio. πŸ’€
so like, sub-half-second is the promise, and if that's not enough for you, Pulse Audio is right there bestie, go off.

πŸ’€ BUGS πŸ’€

The file format is not the same that mpd uses for saving its own state, which would be nice.

yeah. it would be nice. we're all thinking it. 😭

🌟 AUTHOR 🌟

Copyright 2007 Joey Hess <joey@kitenet.net> πŸ’œ

Licensed under the GNU GPL version 2 or higher.

http://kitenet.net/~joey/code/mpdtoys


perl v5.36.0 ✨ 2023-02-01

and that's the whole page bestie, mwah, go forth and transfer your state πŸ«ΆπŸŽ€πŸ’–

πŸ“¦ where this page comes from