{
  "id": "cdrdao",
  "name": "cdrdao",
  "homepage": "https://cdrdao.sourceforge.net/",
  "description": "Record CDs in Disk-At-Once mode",
  "executables": [
    "cdrdao"
  ],
  "dotfiles": {
    "paths": [
      "~/.cdrdao"
    ],
    "secret": []
  },
  "commands": {
    "format": 1,
    "label": "Read, write or inspect a CD",
    "description": "Run one cdrdao command (such as read-cd, write, copy or disk-info) against a drive and optional toc-file. Driver, session and paranoia options are left out.",
    "quality": "ai-draft",
    "parser": {
      "end_of_options": "--",
      "interleave": "permute",
      "long_equals": false,
      "short_attached": false,
      "short_bundles": false
    },
    "source": [
      {
        "id": "man",
        "kind": "manual",
        "url": "https://github.com/cdrdao/cdrdao/blob/master/dao/cdrdao.man",
        "revision": "2026-10-27",
        "evidence": ".RB { show-toc|toc-info|toc-size|read-toc|read-cd|read-cddb|show-data|read-test|disk-info|discid|msinfo|drive-info|unlock|scanbus|simulate|write|copy|blank }\n.RB [ --device\n.RB [ --simulate ]\n.RB [ --speed\n.RB [ --datafile\n.RB [ --overburn ]\n.RB [ --eject ]\n.RI toc-file\n.BI \\--device \" [prot:]bus,id,lun\"\n.BI \\--speed \" value\"\n.BI \\--datafile \" file\"\n.BI \\--overburn\n.BI \\--eject\n"
      }
    ],
    "field": [
      {
        "id": "command",
        "label": "Command",
        "type": "enum",
        "position": 0,
        "choices": [
          {
            "value": "show-toc",
            "label": "show-toc"
          },
          {
            "value": "toc-info",
            "label": "toc-info"
          },
          {
            "value": "toc-size",
            "label": "toc-size"
          },
          {
            "value": "read-toc",
            "label": "read-toc"
          },
          {
            "value": "read-cd",
            "label": "read-cd"
          },
          {
            "value": "read-cddb",
            "label": "read-cddb"
          },
          {
            "value": "show-data",
            "label": "show-data"
          },
          {
            "value": "read-test",
            "label": "read-test"
          },
          {
            "value": "disk-info",
            "label": "disk-info"
          },
          {
            "value": "discid",
            "label": "discid"
          },
          {
            "value": "msinfo",
            "label": "msinfo"
          },
          {
            "value": "drive-info",
            "label": "drive-info"
          },
          {
            "value": "unlock",
            "label": "unlock"
          },
          {
            "value": "blank",
            "label": "blank"
          },
          {
            "value": "scanbus",
            "label": "scanbus"
          },
          {
            "value": "simulate",
            "label": "simulate"
          },
          {
            "value": "write",
            "label": "write"
          },
          {
            "value": "copy",
            "label": "copy"
          }
        ],
        "sources": [
          "man"
        ]
      },
      {
        "id": "toc_file",
        "label": "TOC file",
        "description": "Needed by commands that read or write a toc-file; copy and scanbus do not use one.",
        "type": "path",
        "position": 1,
        "path": {
          "kind": "file",
          "role": "input"
        },
        "sources": [
          "man"
        ]
      },
      {
        "id": "device",
        "label": "Device",
        "description": "SCSI/ATAPI address such as 0,2,0 or a device node.",
        "type": "string",
        "option": [
          "--device"
        ],
        "sources": [
          "man"
        ]
      },
      {
        "id": "datafile",
        "label": "Data file",
        "type": "path",
        "option": [
          "--datafile"
        ],
        "path": {
          "kind": "file",
          "role": "input"
        },
        "sources": [
          "man"
        ]
      },
      {
        "id": "speed",
        "label": "Speed",
        "type": "integer",
        "option": [
          "--speed"
        ],
        "sources": [
          "man"
        ]
      },
      {
        "id": "simulate",
        "label": "Simulate only",
        "type": "boolean",
        "option": [
          "--simulate"
        ],
        "sources": [
          "man"
        ]
      },
      {
        "id": "overburn",
        "label": "Overburn",
        "type": "boolean",
        "option": [
          "--overburn"
        ],
        "sources": [
          "man"
        ]
      },
      {
        "id": "eject",
        "label": "Eject afterwards",
        "type": "boolean",
        "option": [
          "--eject"
        ],
        "sources": [
          "man"
        ]
      }
    ],
    "task": [
      {
        "id": "rip",
        "label": "Copy a CD to an image",
        "fields": [
          "command",
          "device",
          "datafile",
          "toc_file"
        ],
        "required": [
          "command",
          "toc_file"
        ],
        "set": {
          "command": [
            "read-cd"
          ]
        }
      },
      {
        "id": "burn",
        "label": "Write a CD from a toc-file",
        "fields": [
          "command",
          "device",
          "speed",
          "simulate",
          "eject",
          "toc_file"
        ],
        "required": [
          "command",
          "toc_file"
        ],
        "set": {
          "command": [
            "write"
          ]
        }
      }
    ],
    "group": [
      {
        "id": "basic",
        "label": "Basic",
        "fields": [
          "command",
          "toc_file",
          "device",
          "datafile"
        ]
      },
      {
        "id": "advanced",
        "label": "Advanced",
        "fields": [
          "speed",
          "simulate",
          "overburn",
          "eject"
        ]
      }
    ]
  }
}
