Here's something I've been working on over the last few weeks.
It's a bash script that uses built-in OS X tools to rip single-track
data CDs and DVDs to iso files. It can't rip CDs with multiple tracks
or audio CDs. These require a tool that can create bin/cue images.
It has been tested here on systems from Tiger PPC to Monterey. It may
run on systems that are older or newer but functionality may be
reduced. The goal is to have it work on as broad a range of OS X
versions as possible to make it easy to rip discs.
To use it, simply unzip the dumptoiso.command file. When you want to
rip a disc, double-click the script to run it. It will then step you
through the process:
Step 1: Display details about the detected disc.
Step 2: Set the output destination (initially auto-filled with default
destination. can be changed).
Step 3: Set the output filename (initially auto-filled with volume
label if detected. can be changed).
Step 4: Rip the disc (you will be prompted to enter your user password
to rip a CD-ROM disc).
Step 5: Remove the write attribute from the output .iso file, create a
md5 hash and write a rip log.
Step 6: Offer to create a zip archive of the .iso file and rip log.
In the event that something goes wrong, I have built in a debug mode
which will print useful information to a text file in the same folder
as the .command file. To enable this, open the .command file in a text
editor and change the line near the top that begins with debug from
=no to =yes (this line is called log in the 2023-03-03 version).
There is also a "destination" user variable to change the default
destination for .iso files if you prefer not to have them put on your
desktop. In 2024-03-02 an "eject" variable allows for the disc to
always be ejected after the rip has completed. Uncomment the line to
enable this.
If you run into any issues with this, just post about it below with
the debug output and I'll see if I can fix it. Some issues might be
os-related, others might be something I've missed in my testing. It
might be a good idea to post the debug output to somewhere external
like pastebin.com to avoid posting large comments.
I'm curious how it works on systems prior to Tiger and newer than Big
Sur. Monterey and up dropped support for HFS Standard so it likely
won't be able to read the volume label, but the other functionality
should work.
2024-03-02 - Progress on progress!
If supported, dd will now use status=progress to display ripping
progress.
Added a new user variable "eject=yes" to the top of the script. This
is commented out by default. If you want discs to always be ejected
after ripping, uncomment this line and the eject prompt will be
bypassed.
2024-02-29 - The Leap Day Update!
It's been almost a year but I've finally done some more work on this.
The main new feature is log file output. Similar to the linux version
I'm testing, dumptoiso now writes a log file with the dd output, iso
partition map and md5 hash. This log file is also added to the zip
archive at the end if you choose to create one.
I've also changed the behaviour when dd finishes ripping. Rather than
automatically remounting the disc, it will now offer to eject the
disc. If you choose not to, it will remount as before.
Finally, I've tidied up a few things here and there. To avoid
confusion with the iso log, I've renamed the debug log variable from
log to debug and edited the original text to reflect this.