You want to burn a CD out of your Delphi application easily? Read on!

Based on an article of Bernd Ua and the JWA-translation of the IMAPI Headers, we developed an unit for using the Image Mastering API (IMAPI) in a kind way. You can get it from of the JEDI API Subversion repository or as a zip with binary (Download). (The in-develop-version can be found in the svn of TheUnknownOnes.net)
At the moment it supports only data/Joliet-Discs. But in the next spare time we will also add the audio/Redbook functions.

How to use it

After installing the component (TDiscmaster) and dropping it into your application, only a few things are needed to do.
Firstly get the list of available discrecorders.

var
Recorders : TDiscRecorderList;

begin
  Recorders := TDiscRecorderList.Create(true);
  DiscMaster1.GetRecorderList(Recorders);
end;

The next step is, to say the discmaster, which recorder should be used. (Be aware: This starts an new image. Every data, added to the previous image, will be deleted).

DiscMaster1.ActiveRecorder := Recorders[0].DiscRecorder;

The following steps are just fun:

DiscMaster1.JolietAddFolder(‘c:\My\Folder’, ‘\folder\on\disc’, ‘*.*’, true, true);
Discmaster1.RecordDisc(false, true);

Thats all. Normally you’ll get a burned disc now.

Your task for now, is to play around with the control (for example with the Discrecorder.Prop['WriteSpeed']). Take a look at the MSDN and get in touch with this way to burn discs. Feel free to ask if something isn’t clear to you. (I’ve mentioned only the important things. )