GNU ccd2cue - CCD sheet to CUE sheet converter

Main

Manifesto: On the internet there is a gigantic quantity of optical disc image
files in numerous formats. Countless times we need to burn some of
them. Some time ago I needed it, but I came across a file format
extremely irritating for a Free Software user like me: a CD layout
descriptor file, with .ccd suffix, generated by a proprietary
software called CloneCD. I searched the internet for a way to burn
that file on the GNU+Linux-Libre system, but I only found a lot of
people asking for a solution in a lot of forums, and getting the
unanimous answer: no way! At first I could not believe that at that
point there was no option. Then, with a little bit of patience and
research, I wrote some code to convert those files into a format much
more common and accessible, an ad-hoc standard in the GNU operating
system: the CUE sheet format. So I could burn a lot of what I wanted!
I wondered whether it would be useful for others… and here is
the result!

— Bruno Félix Rezende Ribeiro (oitofelix)

GNU ccd2cue is a CCD sheet to CUE sheet converter. It supports the
full extent of CUE sheet format expressiveness, including mixed-mode
discs and CD-Text meta-data. It plays an important role for those who
need to use optical disc data which is only available in the
proprietary sheet format CCD, but don’t want to surrender their
freedom. It fills an important gap in the free software world because
before its conception it was impossible to use complex forms of
optical disc data laid out by CCD sheets in a whole/holy free
operating system.

The GNU ccd2cue software is free software; you can redistribute
it and/or modify it under the terms of the GNU
GPL (General Public Licence) as
published by the FSF (Free Software Foundation); either
version 3, or (at your option) any later version.

The GNU ccd2cue documentation is also intended to be a reference
documentation for both sheet format specifications. That way we can
reverse engineer the secret CCD sheet proprietary format only once and
then make the information available for developers in order to benefit
all free software users that want their software to be interoperable.
The CUE sheet format is not a secret, but with this package we take
the opportunity to ensure that its specification is available under a
free documentation license for the sake of the whole free software
community.

The GNU ccd2cue documentation is free documentation; you can
redistribute it and/or modify it under the terms of the GNU
FDL (Free Documentation Licence)
as published by the FSF — with no Invariant Sections; either version
1.3, or (at your option) any later version.

This release is signed by Bruno Félix Rezende Ribeiro. His key ID is
0x28D618AF. You can retrieve that key from a key server
using the command

gpg --recv-keys 0x28D618AF --keyserver hkp://keys.gnupg.net

Check the key’s authenticity with the command

gpg --fingerprint 0x28D618AF | sed -n '/^[[:blank:]]\+Key/s/^.*= //p'

It must print the following fingerprint:

7CB1 208C 7336 56B7 5962 2500 27B9 C6FD 28D6 18AF

Otherwise something is wrong! In that case don’t use the downloaded
tarball and contact the developers as described in Contact.

A CVS repository, where the development takes place, is also
available. To stay up to date with the latest developments in the
source tree, you can anonymously checkout the repository with the
following command:

Contact

You can get in touch with other users and the developers of this
program subscribing to the mailing list. Anyone is welcome to join
the list; to do so, visit the bug-ccd2cue web interface. You can use this list for all
discussion, including asking for help and bug reporting, although the
preferred method for reporting bugs is the dedicated bug tracking web
interface described in Bug reporting. To post a message to all
the list members, send email to bug-ccd2cue@gnu.org. To see
the collection of prior postings to the list, visit the
bug-ccd2cue archive.

If you feel somewhat chatty, eager for a somewhat more instantaneous
response from community, you can join us on our friendly IRC channel:
‘irc://irc.freenode.net/ccd2cue’.

Bug reporting

If you come across some problem and need help you can contact the
community as described in Contact. If you think you found a
bug, but is not quite sure about it, you can instead ask for support
on our support tracker. We will revise
your post, advise you and take the appropriate measures. If you are
confident you have found a bug, you can submit a bug report directly
at our bug tracker. Please, when reporting a
bug include enough information for the maintainers to reproduce the
problem. Generally speaking, that means:

The contents of any input files necessary to reproduce the bug and
command line invocations of the program(s) involved (crucial!).

A description of the problem and any samples of the erroneous output.

The version number of the program(s) involved (use
--version).

Hardware, operating system, and compiler versions (uname -a).

Unusual options you gave to configure, if any (see
config.status).

Anything else that you think would be helpful.

Contributing

This program is a collaborative effort and we encourage contributions
from anyone and everyone — your help is very much appreciated. You
can help in many ways:

You can join the development team to contribute code and documentation
at the development page. Patches are most
welcome, but contributed code should follow the GNU Coding Standards. If it doesn’t, we’ll need to find someone to
fix the code before we can use it. It is also necessary that the
contributor be willing to assign their copyright to the FSF, since the
developers plan to make it officially part of the GNU operating system
and they want FSF to enforce the program’s license. To get started
hacking see how to
hack.

Donating

If you find this program useful, please send a donation to
its developers to support their work. If you use this program at your
workplace, please suggest that the company make a donation. We
appreciate contributions of any size – donations enable us to spend
more time working on this package, and help cover our infrastructure
expenses.

If you’d like to make a donation of any value, please send it to the
following Bitcoin address:

12sKDaBNYekQuRPdrpnbUL4YRDKrzMnY62

Since we aren’t a tax-exempt organization, we can’t offer you a tax
deduction, but for all donations over 0.05 BTC, we’d be happy to
recognize your contribution on the donors page
and on DONORS file for the next release.

We are also happy to consider making particular improvements or
changes, or giving specific technical assistance, in return for a
substantial donation over 0.5 BTC. If you would like to discuss
this possibility, write to us at ccd2cue@gnu.org.

Another possibility is to pay a software maintenance fee. Again,
write to us about this at ccd2cue@gnu.org to discuss how
much you want to pay and how much maintenance we can offer in return.

Thanks for your support!

Hacking

The development sources are available through CVS at Savannah:

https://savannah.gnu.org/cvs/?group=ccd2cue

If you are getting the sources from CVS (or change
configure.ac), you’ll need to have Automake, Autoconf and
Gettext installed to (re)build. You’ll also need help2man. All of
these programs are available from https://ftp.gnu.org/gnu/.

After getting the CVS sources, and installing the tools above, you can
run ./bootstrap to do a fresh build. After that first time,
running make should suffice. See file INSTALL.

When modifying the sources, or making a distribution, more is needed,
as follows:

This distribution also uses Gnulib to share common files, stored as a submodule in git.

When updating gettext, besides the normal installation on the system,
it is necessary to run gettextize -f in this hierarchy to
update the po/ infrastructure. After doing so, rerun
gnulib-tool --import since otherwise older files will have been
imported. See Gnulib Manual, for more information.