{
  "id": "mpd",
  "name": "Music Player Daemon",
  "homepage": "https://www.musicpd.org",
  "description": "Music Player Daemon (MPD) is a flexible, powerful, server-side application for playing music.",
  "icon": "https://www.musicpd.org/logo.png",
  "executables": [
    "mpd"
  ],
  "dotfiles": {
    "paths": [
      "[configHome]/mpd/mpd.conf",
      "~/.mpdconf",
      "~/.mpd/mpd.conf"
    ],
    "exclude": [],
    "secret": [],
    "machine_lines": [
      {
        "file": [
          "[configHome]/mpd/mpd.conf",
          "~/.mpdconf",
          "~/.mpd/mpd.conf"
        ],
        "match": {
          "prefix": [
            "music_directory",
            "playlist_directory",
            "db_file",
            "log_file",
            "pid_file",
            "state_file",
            "sticker_file"
          ]
        },
        "scope": "backup"
      }
    ]
  },
  "commands": {
    "format": 1,
    "label": "Run MPD",
    "description": "Start the Music Player Daemon with an optional config file. Output and playlist settings live in mpd.conf.",
    "quality": "ai-draft",
    "parser": {
      "end_of_options": "--",
      "interleave": "permute",
      "long_equals": false,
      "short_attached": false,
      "short_bundles": false
    },
    "source": [
      {
        "id": "manual",
        "kind": "manual",
        "url": "https://raw.githubusercontent.com/MusicPlayerDaemon/MPD/master/doc/mpd.1.rst",
        "revision": "master 2026-10",
        "evidence": "mpd [options] [CONF_FILE]\n--kill  Kill the currently running mpd session. The pid_file parameter must be specified in the config file for this to work.\n--no-config  Don't read from the configuration file.\n--no-daemon  Don't detach from console.\n--stderr  Print messages to stderr.\n--verbose  Verbose logging.\n"
      }
    ],
    "field": [
      {
        "id": "conf_file",
        "label": "Config file",
        "type": "path",
        "position": 0,
        "path": {
          "kind": "file",
          "role": "input"
        },
        "sources": [
          "manual"
        ]
      },
      {
        "id": "no_daemon",
        "label": "Stay in foreground",
        "type": "boolean",
        "option": [
          "--no-daemon"
        ],
        "sources": [
          "manual"
        ]
      },
      {
        "id": "stderr",
        "label": "Log to stderr",
        "type": "boolean",
        "option": [
          "--stderr"
        ],
        "sources": [
          "manual"
        ]
      },
      {
        "id": "verbose",
        "label": "Verbose logging",
        "type": "boolean",
        "option": [
          "--verbose"
        ],
        "sources": [
          "manual"
        ]
      },
      {
        "id": "no_config",
        "label": "Ignore config file",
        "type": "boolean",
        "option": [
          "--no-config"
        ],
        "sources": [
          "manual"
        ]
      },
      {
        "id": "kill",
        "label": "Kill running instance",
        "description": "Requires pid_file in the config.",
        "type": "boolean",
        "option": [
          "--kill"
        ],
        "sources": [
          "manual"
        ]
      }
    ],
    "task": [
      {
        "id": "debug",
        "label": "Foreground with logs",
        "set": {
          "no_daemon": [
            true
          ],
          "stderr": [
            true
          ],
          "verbose": [
            true
          ]
        },
        "fields": [
          "conf_file",
          "no_daemon",
          "stderr",
          "verbose"
        ],
        "required": []
      },
      {
        "id": "kill",
        "label": "Stop running mpd",
        "set": {
          "kill": [
            true
          ]
        },
        "lock": [
          "kill"
        ],
        "fields": [
          "conf_file",
          "kill"
        ],
        "required": []
      }
    ],
    "group": [
      {
        "id": "basic",
        "label": "Basic",
        "fields": [
          "conf_file",
          "no_daemon",
          "stderr",
          "verbose"
        ]
      },
      {
        "id": "advanced",
        "label": "Advanced",
        "fields": [
          "no_config",
          "kill"
        ]
      }
    ]
  }
}
