id = "cdrdao" name = "cdrdao" homepage = "https://cdrdao.sourceforge.net/" description = "Record CDs in Disk-At-Once mode" executables = ["cdrdao"] [dotfiles] # The project's changelog documents ~/.cdrdao as the user settings file, # including that --save writes command-line options there; it is read after # the system configuration files. # https://cdrdao.sourceforge.net/changelog.html 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 } [[commands.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 } .RB [ --device .RB [ --simulate ] .RB [ --speed .RB [ --datafile .RB [ --overburn ] .RB [ --eject ] .RI toc-file .BI \\--device " [prot:]bus,id,lun" .BI \\--speed " value" .BI \\--datafile " file" .BI \\--overburn .BI \\--eject """ [[commands.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"] [[commands.field]] 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"] [[commands.field]] id = "device" label = "Device" description = "SCSI/ATAPI address such as 0,2,0 or a device node." type = "string" option = ["--device"] sources = ["man"] [[commands.field]] id = "datafile" label = "Data file" type = "path" option = ["--datafile"] path = { kind = "file", role = "input" } sources = ["man"] [[commands.field]] id = "speed" label = "Speed" type = "integer" option = ["--speed"] sources = ["man"] [[commands.field]] id = "simulate" label = "Simulate only" type = "boolean" option = ["--simulate"] sources = ["man"] [[commands.field]] id = "overburn" label = "Overburn" type = "boolean" option = ["--overburn"] sources = ["man"] [[commands.field]] id = "eject" label = "Eject afterwards" type = "boolean" option = ["--eject"] sources = ["man"] [[commands.task]] id = "rip" label = "Copy a CD to an image" fields = ["command", "device", "datafile", "toc_file"] required = ["command", "toc_file"] set = { command = ["read-cd"] } [[commands.task]] 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"] } [[commands.group]] id = "basic" label = "Basic" fields = ["command", "toc_file", "device", "datafile"] [[commands.group]] id = "advanced" label = "Advanced" fields = ["speed", "simulate", "overburn", "eject"]