I'm looking for a part-time remote job.

Hire me

I'm the author of:

Mastering Redmine is a comprehensive guide with tips, tricks and best practices, and an easy-to-learn structure.

Check the book's project or

Buy the book

Social pages of the book:

By buying this book you also donate to Redmine (see this page).

Follow me:


CD-Index is a set of command-line tools allowing to index CD/DVD media and search/browse the resulting database. The main goal was to develop a very simple and robust utility. All CD/DVD cataloging alternatives which existed at the moment of writing CD-Index showed themselves to be too slow when working with large (around 200 disks) CD/DVD collections.

CD-Index stores data in own binary format. The file structure plus some media description is stored in CDI files. Symbolic links (pathes to real files) are stored in CDL files. All plugins which need to store some data should store such data in separate binary files. For example, currently the audio information (including ID3) is stored in CDA files.

Each media is stored in separate files having media name as a file name and database type (CDI, CDL or CDA) as a file extension. This way users can easily copy database for a single media to another location. This also allows users to choose what do they want to copy e.g. users may copy only file structure (CDI) not copying ID3 tags (CDA). Sample database for “Some Media CD” may contain "Some Media CD.cdi", "Some Media CD.cdl" and "Some Media CD.cda" files.


CD-Index includes the following components:
  • cdindex - tool for creating database
  • cdfind - analogue of system find for CD-Index databases
  • cdbrowse - “plugin” for Midnight Commander allowing to browse CD-Index databases


The database is created using the cdindex tool. For information how to use this tool read this page.

The database can be searched using the cdfind tool syntax of which is very similar to system find. For more information about the tool read this page.


CD-Index is a set of command-line tools without any UI but one of the tool (cdbrowse) is used to extract the file structure tree for Midnight Commander. This way it became possible to browse the database in MC.

Midnight Commander screenshot


CD-Index has a plugin API allowing to extend its functionality. Currently two plugin types are supported:
  • Plugins - used to access directory/file tree inside archive files
  • Extractor - used to extract additional information about files (e.g. ID3 from *.mp3 etc).

Plugins (archivers)

Currently CD-Index supports only two plugins of this type:
  • Archiver - plugin using libarchive library used to access archive files (*.iso, *.tar.gz, *.tar.bz2 etc)
  • External - plugin implementing its own plugin API which allows to integrate external tools like unrar, zip etc.


At the moment only one extractor exists - audio. This extractor is used to extract ID3 tags from audio files *.mp3.


For compilation and installation instructions check this page.

mc.jpg View - Midnight Commander screenshot (50.4 KB) Andriy Lesyuk, 03 May 2011 14:04

mc-thumb.jpg View - Thumbnail for project description (3.85 KB) Andriy Lesyuk, 04 May 2011 20:34

Terms of use | Privacy policy