cd.ro.nu. has the following subdomains:
artist-to-key key-to-artist
cddbid-to-key key-to-cddbid
composer-to-key key-to-composer
performer-to-key key-to-performer
title-to-key key-to-title
toc-to-key key-to-toc
So a client dialogue might go:
$ host -t txt 250ca616.cddbid-to-key.cd.ro.nu.
250ca616.cddbid-to-key.cd.ro.nu descriptive text "key=10089"
$ host -t txt 10089.key-to-title.cd.ro.nu.
10089.key-to-title.cd.ro.nu descriptive text "title=trumpet concertos"
$ host -t txt 10089.key-to-composer.cd.ro.nu.
10089.key-to-composer.cd.ro.nu descriptive text "composer=telemann"
$ host -t txt 10089.key-to-performer.cd.ro.nu.
10089.key-to-performer.cd.ro.nu descriptive text "performer=st martin in the fields"
When experimenting with the whole-TOC lookup method, I found three things:
* The first track frame offset is likely to be one of only a few values,
whereas the last track frame offset varies very widely. So it makes
sense to list the offsets in normal left-to-right order.
* Using only the start-track frame offsets is certain to
lead to collisions. Disks with only one tracks are likely to be
indistinguishable. So I include the lead-out offset in my TOC.
Neither cddb nor cdindex-mark-2 include this; is it unreliable
or something? cddb includes the total play time as a feeble
disambiguator.
* Printing the frame offsets in decimal as I do can easily exceed the
maximum size DNS query my tools can handle. Choosing a more compact
representation like hexadecimal differences might help a bit, but
still won't be enough for 99-track disks.
But with those provisos, it works:
$ host -t txt 33.9008.10758.21933.33733.46233.55233.64083.72783.80883.93145.107133.122808.133158.148645.158958.174758.195258.208308.212733.229353.232595.242883.toc-to-key.cd.ro.nu.
33.9008.10758.21933.33733.46233.55233.64083.72783.80883.93145.107133.122808.133158.148645.158958.174758.195258.208308.212733.229353.232595.242883.toc-to-key.cd.ro.nu descriptive text "key=10089"
Robin.
-- R.M.O'Leary <robin nospam at acm.org> +44 7010 7070 44, PO Box 20, Swansea SA2 8YB, UK