A script would be cool, but dd doesn't do the memory locking and real time priority stuff. I don't know how important this is - how old your hardware would have to be for you to get "coasters" (buffer underun) without it.Some good awkward questions there :).
Yup =)
I agree that cdrwcontrol/dd seems silly. I think you would still want to use a commandline tool like cdrecord.
I dunno, with all the talk about the dev=x,y,z stuff. I'm kinda used to it,
but why the hell should I have to -scanbus everytime I decide to use a usb
cdrw/dvdrw? Even using /dev, it's still interesting since I don't use udev
right now. The way that 2.6 does things is rather nice. I wish I could do
that on 2.4 with my usb hard drive.
back to the point. A cdrwcontrol/dd script wouldn't be so bad. I know how
they hate things to be in the kernel, but somethings just don't work well in
user space
Theres an option in cdrecord to fixate an arbitrary disk (one without a TOC for whatever reason), and one not to fixate the disk you're writing, so it looks like fixation could and should be done on demand using an ioctl. You'd also need ioctls to deal with multiple sessions.I need to get to know the technical details better - I understand the instances you listed from the users point of view, but not from the point of view of what gets written to the disk and how.
I had ideas about that... If you're burning one session, it would be easy
to have the driver prepare the disk, count the amount of data and once the
device is closed, it can do the fixate. Userspace is freed up at this point
and it can optionally eject the disk. Just depending on the options
presented.
It would get a bit cumbersom to do data/audio (or just audio) if you don't
do dao. Maybe it would be better to have a cdrwtool that once it sets up
the ioctls, it can read a stream (stdin or a file) and basically be
cdrecord. However, it won't have to drive the cdrw.