1. Introduction 1.1. Project/Component Working Name: libcddb 1.2. Name of Document Author/Supplier: Michal Pryc 1.3. Date of This Document: 06/01/08 1.3.1. Date this project was conceived: 10/28/02 1.4. Name of Major Document Customer(s)/Consumer(s): 1.4.1. The PAC or CPT you expect to review your project: Solaris PAC 1.4.2. The ARC(s) you expect to review your project: LSARC 1.4.3. The Director/VP who is "Sponsoring" this project: robert.odea@sun.com 1.4.4. The name of your business unit: OPG / OpenSource. 1.5. Email Aliases: 1.5.1. Responsible Manager: leo.binchy@sun.com 1.5.2. Responsible Engineer: michal.pryc@sun.com 1.5.3. Marketing Manager: dan.roberts@sun.com 1.5.4. Interest List: desktop-discuss@opensolaris.org 4. Technical Description: 4.1. Details: Libcddb is an open source C library, which comes with test cddb_query example application, to access data on a Compact Disc Database server (freeDB.org). Please note that CDDB is a licensed trademark of Gracenote, Inc. The version being integrated is the latest stable version 1.3.0, which provides support for the following features: - searching the database for possible CD matches - retrival of detailed information about specific CD - submitting new entries about CD to the database This library supports custom CDDB protocol and tunelling query and read operation over plain HTTP protocol (use of proxy server also possible). It also contains build-in catching facility. libcddb comes with test utility cddb_query installed in /usr/demo/libcddb/bin/, which supports the following options: Usage: cddb_query [OPTION] COMMAND [ARG] Available options: -c local cache mode [on|off|only] (default = on) -D directory for local cache (default = ~/.cddbslave) -e character set encoding (default = UTF-8, see iconv -l) -h display this help and exit -l log level, one of debug, info, warning, error or critical (default = warning) -p port of CDDB server (default = 888) -P server protocol [cddbp|http|proxy] (default = cddbp) -q quiet, do not print any error or log messages -s name of CDDB server (default = freedb.org) -t use track times (in seconds) instead of frame offsets Available commands: calc ... calculate disc ID query ... query CDDB server and list all matching entries read retrieve disc details from CDDB server search perform a text search against the CDDB database album perform a text search against the CDDB database (only works on freedb2.org servers) sites retrieve a list of mirror sites Command arguments <cat> disc category (see below) <fo_i> without -t: frame offset of track i with -t: length of track i in seconds <id> disc ID in hexadecimal <len> disc length in seconds <n> track count <str> search string Available CDDB categories are: data, folk, jazz, misc, rock, country, blues, newage, reggae, classical, and soundtrack Examples: To calculate the disc ID of the CD 'Mezzanine' from Massive Attack: cddb_query calc 3822 11 150 28690 51102 75910 102682 \ 121522 149040 175772 204387 231145 268065 To query for matches of the CD 'Mezzanine' from Massive Attack: cddb_query query 3822 11 150 28690 51102 75910 102682 \ 121522 149040 175772 204387 231145 268065 To read the details of the CD 'Mezzanine' from Massive Attack: cddb_query read misc 0x920ef00b To search for all CDs with the string 'Mezzanine': cddb_query search Mezzanine or cddb_query album '' Mezzanine 4.2. Interfaces: -------------------------------------------------------------------- Exported Stability Comments -------------------------------------------------------------------- SUNWlibcddb Uncommitted Package name libcddb.so Volatile C library CDDB protocol Volatile /usr/demo/libcddb/ Not an Interface *NEW* Folder cddb_query Not an Interface demo CLI utility SUNWlibcddb-devel Uncommitted Package name /usr/include/include/cddb Uncommitted Header files under include/cddb Volatile cddb.h cddb_cmd.h cddb_config.h cddb_conn.h cddb_disc.h cddb_error.h cddb_log.h cddb_site.h cddb_track.h version.h libcddb.pc Volatile Meta information for pkg-config -------------------------------------------------------------------- Imported Stability Comments -------------------------------------------------------------------- HTTP Protocol Committed Standard HTTP protocol CDDB Protocol Volatile From FreeDB.org 4.3. I18N/L10N Impact: The JDS team and the G11N are working together to evaluation and provide I18N/L10N support. 4.4. Packaging & Delivery: Adds new packages: SUNWlibcddb, approx 74 KB. SUNWlibcddb-devel, approx 112 KB. Packages will only go into SUNWCall and SUNWCXall SUNWCprog clusters. 5. Reference Documents: libcddb website: http://libcddb.sourceforge.net/ Gracenote, Inc., http://www.gracenote.com/ FreeDB CDDB Protocol http://ftp.freedb.org/pub/freedb/latest/CDDBPROTO