next_inactive up previous


Gnometoaster User's Guide (based upon GnomeToaster Release 0.5 [Beta1 release])

Andreas Eckleder

May 24th 2001


Contents

1 Preparing the use of Gnometoaster

1.1 Software Requirements

Following the Unix concept, Gnometoaster heavily relies on already available solutions to fulfill it's task rather than re-implementing all the various functions required for CD recording. As a result of that, however, you'll need to have a few additional programs and packages installed on your system in order to successfully record a CD-R with Gnometoaster.

You can get all those packages by following the links on the Gnometoaster Homepage http://gnometoaster.rulez.org. If you have installed Gnometoaster as a distribution package, your system should already meet the software requirements mentioned above. Nevertheless I suggest to test the availability of the Software components used by Gnometoaster as your package might not have the dependencies4 set correctly.









\resizebox*{0,9\textwidth}{!}{\includegraphics{gt_depend.ps}}









GNOMETOASTER HAS DEPENDENCY TEST FUNCTIONALITY BUILT-IN AND WILL TELL YOU WHEN IT NEEDS A PROGRAM AND CAN'T FIND IT. A MESSAGE WILL POP UP IN THIS CASE TELLING YOU THE NAME OF THE PACKAGE, THE URL WHERE IT CAN BE OBTAINED AND WHAT PURPOSE IT HAS WITHIN GNOMETOASTER. JUST CLICK THE URL AND GNOMETOASTER WILL TRY TO START YOUR WEB BROWSER, GIVING YOU THE CHANCE TO OBTAIN THE MISSING PACKAGE WITHOUT SPENDING TOO MUCH TIME SEARCHING FOR IT. EVEN WITH THIS FUNCTIONALITY IN PLACE, YOU SHOULD NEVERTHELESS TRY TO MAKE SURE TO HAVE ALL THE ESSENTIAL COMPONENTS INSTALLED ON YOUR SYSTEM BEFORE STARTING GNOMETOASTER FOR THE FIRST TIME AS THE APPLICATION WILL COME UP WITH DEPENDENCY INFORMATIONS AS IT GOES ALONG, SO THOSE MAY HIT YOU IN A VERY UNFORTUNATE MOMENT, WHEN YOU NEED TO GET A JOB DONE QUICKLY.

1.2 Kerneldrivers and other problems

Because of the history of CD Writers, all recorders on the market today are using a SCSI command set to communicate with the operating system and the recording software. This is how it came: CD Writers, because of their nature as write-once devices, need a continuous data stream when burning a CDR medium. If the transfer rate drops below a certain level only once in a recoding session, the blank you've been recording is usually lost. With initial medium prices at about $30, it made no sense to even risk this to happen. The SCSI transport standard, in contrast to IDE/ATAPI, has long been known to yield both high transfer rates at low CPU time consumption and high reliability because SCSI devices are independent to other SCSI devices on their bus. So SCSI was chosen to be the bus system for the first CD Writers on the market. However, when the first ATAPI cd recorders hit the low-cost market, nobody wanted to change the way the drives were being accessed at software level because this would have required manufacturers to design a new drive chipset from scratch, let alone the effort to reimplement all the driver infrastructure present already at the software side. So they just designed an additional protocol layer wrapping the scsi commands into ATAPI commands for the transfer over the IDE bus. So all a recording software wanting to support ATAPI writers has to do is wrapping the inital SCSI commands into the ATAPI protocol and sending them to the cd writer over the IDE bus. This process is usually performed by a special DLL coming the the recording Software in Windows(tm) environments because there's no support by the operating system. Linux, however, comes with a complete SCSI over ATAPI emulator kernel driver. All you have to do to make your IDE recorder work with any linux cd recording software out there is to configure your linux kernel to make use of the idescsi device driver. How to do this is highly depending on your system configuration and esp. the distribution you're using. Linux Mandrake for example is configuring the ide-scsi driver automatically if it detects a cd writer during installation. If you're using a self-compiled kernel,however,you'll have to either compile idescsi support directly into the kernel, in which case all your ATAPI cdrom drives will appear to be SCSI drives from now on or compile idescsi as a module in which case you'll have to tell the linux kernel with a parameter handed down to the kernel by LILO at startup which drives you want to use ide-scsi with.

For those interested, cruel wars have been fought between Joerg Schilling and some Linux Kernel hackers about making ide-scsi the default setup for accessing CDROM drives to no avail. Apparently, both sides have good reasons for their arguments so nothing is likely to change within the near future.

If you have a plain SCSI writer all you have to do is to load the hardware driver necessary to access your scsi card. In either case you'll also need the SCSI generic kernel module which makes it possible to send SCSI commands to individual SCSI drives on the bus directly.

1.3 Hardware requirements

Recording CDRs puts a rather high load on your system's components. Although most state of the art systems should easily be capable of recording CDR media perfectly well the hardware requirements for cd recording should not be underestimated as your cd recorder needs a continuous stream of data with interruptions only as small as can easily be handled by the onboard buffer provided by your recorder which is usually about 512kb to 2048kb which, depending on the recording speed, takes less than a second to exceed.

For the graphical user interface of Gnometoaster and cdrecord's internal data buffer you'll need about 16MB of system RAM to record a CDR. In fact, this amount of memory is not too generous as your X server loves eating RAM as well.

Your CPU should at least be a Pentium class 90Mhz CPU, 200Mhz and more are required to safely record .mp3 files on the fly5.

If your CPU or the medium your data are coming from is not fast enough to provide the content you want to store on a cd in realtime, Gnometoaster can cache data on your harddrive. To make this possible, you need at least 700MB of free harddrive space.

1.4 Running GnomeToaster on other flavours of Unix (e.g. FreeBSD)

Some efforts have been made to make GnomeToaster run on other Unix systems like FreeBSD. While running GnomeToaster on a FreeBSD system will probably work, I cannot make a definite statement about other Unix systems right now. Currently, GnomeToaster only supports SCSI recorders on FreeBSD as there's no SCSI emulation at the OS level. People have been trying to get the burncd utility working in conjunction with GnomeToaster but I don't have a clue if they were successful. Having had a short look at the program I fear it will never work unless there'll be an option specifying the amount of data to be written to a disc and it will be able to receive this data from stdin.

1.5 Obtaining and installing Gnometoaster

Gnometoaster is available in a number of different offerings from The Gnometoaster Homepage http://gnometoaster.rulez.org:

1.5.1 Installing Gnometoaster from a source tgz archive

To install Gnometoaster from sourcecode,your computer needs to have all the development tools necessary to create Gtk+/Gnome Applications installed. Most importantly, this is the GNU C Compiler of a compatible compiler capable of producing ELF executables. You need the kernel header files as well as all header files of X,Gtk+ and glib. If your system fulfills those requirements, you can now start the installation procedure as follows:

In case you should get fed up by Gnometoaster one day, the program can easily be uninstalled by typing make uninstall in Gnometoaster's sourcecode directory.

1.5.2 Installing a sourcecode distribution package

This depends on the distribution you're using. The easiest way to find out how to build a gnometoaster source package on your system is to look it up in your distribution's documentation.

1.5.3 Installing Gnometoaster as a binary package

This is the most simple way of installing Gnometoaster. You just have to use your distribution's package manager to install the Gnometoaster package. On a Debian box,you'd type dpkg -i gtoaster-xxxx.deb or apt-get install gtoaster on a Debian potato system to install the most current version of Gnometoaster directly over the internet. RedHat, Mandrake and SuSE Users should type rpm -i gtoaster-xxxx.xxx.rpm. If Gnometoaster came with your distribution as is the case with Linux Mandrake and Debian, you can also use your distribution's package selection tool to install Gnometoaster.

1.6 Configuring Gnometoaster

YOU SHOULD READ THE FOLLOWING INSTRUCTIONS CAREFULLY TO MAKE SURE THAT THE FIRST CD YOU'RE RECORDING DOESN'T BECOME A COASTER. BESIDES, YOU'RE GOING TO LEARN QUITE A FEW IMPORTANT THINGS ABOUT THE WAY GNOMETOASTER WORKS.

1.6.1 Initial Setup and Quick Start

Start Gnometoaster from the account you're planning to run it in the future by typing gtoaster on an X Terminal. In most cases this will be the root account unless you set the cdrecord executable +suid root (please be aware that this is opening a giant security hole on your system as everyone can use cdrecord to create cds from any files on your system. See FAQ section for a few ideas on how to make your cd writer accessible to normal users).Now enter Gnometoaster's Preferences window by choosing Edit/Preferences or clicking the toolbar icon.

The only thing you'll need to do in the most recent version of Gnometoaster is to check whether Gnometoaster has recognized your cd drives correctly. Gnometoaster will perform some drive autodetection at startup and present you with what it found in the ``CDROM and Recorder Setup'' pane. Go there and make sure all your drives are listed there:









\resizebox*{0,9\textwidth}{!}{\includegraphics{gtshot_drivesetup.ps}}









Now please take the time to check whether GnomeToaster was able to detect all your settings correctly: Select your drives and press the ``edit'' button for each one of them: You'll find yourself within the following dialog:









\resizebox*{0,8\textwidth}{!}{\includegraphics{gt_editdrvsettings.ps}}









Make sure the settings are showing the correct SCSI ID, device special file (that's the one you'd use to mount the drive) and especially the right mountpoint. Detecting the mountpoint is a tricky thing and it will occasionally fail. Enter the directory here where your drive is usually mounted (e.g. /mnt/cdrom, /cdrom, ...). Now finally ensure that your cd writer has been recognized as such (the ``This Drive is a CD writer'' flag is set). Also make sure the ``Use SCSI Interface for DAE'' switch is set. This will make GnomeToaster use the SCSI generic interface for digital audio extraction which usually yields better quality/performance than the unified cdrom interface used otherwise. For most configurations, this is all you have to do to get GnomeToaster up to speed. The following sections will deal with some special cases.

1.6.2 Using GnomeToaster in Multi-User environments

If you're planning to use GnomeToaster in a real multi-user environment where more than one instance of GnomeToaster may be running at the same time from different user accounts you have to change the ``ISO Temporary files'' directory in the ISO9660 options from $tempdir to $HOME. This will make GnomeToaster create all temporary ISO data on a per-user basis:









\resizebox*{0,9\textwidth}{!}{\includegraphics{gt_multiuser.ps}}









1.6.3 Configuring IDE devices

While right at the moment it is adviceable to generally configure all ATAPI CDROM drives to be accessed through SCSI emulation on Linux, some distributions will configure ide-scsi for CD Recorders only. This way, GnomeToaster doesn't have a means to autodetect your ATAPI CDROM drives. It will find your cd writer but nothing else. In this case, you can either configure your kernel to access the other drives through ide-scsi as well (see configuring your kernel) or tell GnomeToaster where it can find your drive(s).

To do so, go to the ``CDROM&Recorder Setup'' once again and click the ``Add'' button. You'll find yourself within the following dialog:









\resizebox*{0,8\textwidth}{!}{\includegraphics{gt_newdrive.ps}}









Enter whatever you want for ``Model'' and ``Manufacturer''. After that, enter the correct device special file for this drive (usually something like /dev/cdrom or /dev/hdc). That's the device file you'd also use for mounting the drive. Leave the SCSI ID field unchanged and enter the correct mounting point for the drive. This is usually something like /mnt/cdrom or /cdrom. To make sure, have a look at your /etc/fstab file. Now make sure both the ``This Drive is a CD writer'' and the ``Use SCSI Interface for DAE'' are not checked and hit ``OK''. That's it. You can now use your IDE drive for reading purposes and it will be visible in the ``CDROM drives'' tree of GnomeToaster's source section.

2 Basic functionality and Interface concept

Now that you have setup Gnometoaster and the system it is running on, you'll probably quite eagerly await the moment when you can record your first CDR with Gnometoaster. But first we should do a quick test if everything is working. If you are using Gnometoaster with a CD/RW recorder,insert a CD/RW blank and click the ``Clear Disc'' button in the toolbar. If you don't have a toolbar (GNOME support disabled),press the recorder icon in the lower left edge of the Gnometoaster window and press the ``Clear Disc'' button in the ``notebook page'' showing up. Gnometoaster should now show a dialog keeping you up-to-date about the cleaning process which should disappear after a few minutes. Notice the terminal labelled ``Client output'' to the right of the recorder page. It shows the output of cdrecord while blanking your CD/RW. In case you should see an error message there please check your configuration and consult the troubleshooting section of this Documentation in case you can't find anything unusual.









\resizebox*{0,8\textwidth}{!}{\includegraphics{gt_blank.ps}}









You should now spend a few minutes browsing through the notebook pages in the lower section of Gnometoaster's main window.









\resizebox*{0,4\textwidth}{!}{\includegraphics{gt_notebook.ps}}









The first icon leads to a file manager displaying a virtual filesystem. Editing this filesystem (e.g. adding files, deleting files, creating directories) will not affect any filesystem or directory of your computer directly. What you're editing in Gnometoaster's Filesystem editor is merely a prototype of a hypothetical data track on the CDR you want to create.









\resizebox*{0,9\textwidth}{!}{\includegraphics{gt_fsedit.ps}}









The second icon is bringing up Gnometoaster's track editor. As with the filesystem editor, this is just a virtual list of tracks. It will become ``real'' as soon as you press Gnometoaster's record button.









\resizebox*{0,9\textwidth}{!}{\includegraphics{gt_tracklist.ps}}









With the last icon you can reach a page with various recorder settings. You can use this page to adjust your recording settings to your needs, e.g. you can set the recorder speed, the type of lead-out you want to write, wether or not your cd should be bootable.









\resizebox*{0,8\textwidth}{!}{\includegraphics{gt_recoptions.ps}}









The upper half of the Gnometoaster window is showing a list of data sources, notably an item called ``Unix tree'', one called ``CDROM drives'' and one called ``Internal structures''. Clicking the ``Unix tree'' item will make it expand into your directory structure starting at your system's root directory. Simply click a directory to make it's contents appear to the right of the tree. Expanding ``CDROM drives'' will show a list resembling the CDROM units installed on your system. Clicking one of the drives will show a list of tracks of the medium in that particular drive.Finally, ``Internal structures'' will show just one item, the ``Gnometoaster filesystem''.









\resizebox*{0,9\textwidth}{!}{\includegraphics{gt_source.ps}}









Generally, you can drag any item showing up in the upper half of the Gnometoaster window down into both the track editor and the filesystem editor of the lower half, with different results of course. In fact that's how you will create your CDRs.

As a rule of thumb, everything that is to appear as a separate track when the disc is inserted into your home stereo must be dragged into the tracklist, everything that's to end up in the iso filesystem of GnomeToaster must be dragged into the filesystem editor.

If you press your right mouse button instead of the left one Gnometoaster will automatically create a copy of the data you added on your harddrive. This can be usefuly when working with multiple removable media. Additionally to the source section, files may also be dragged into Gnometoaster from external sources like your favourite filemanager.

Now finally notice Gnometoaster's fillstate display at the bottom of the main window. It should display a percentage of space used up by your tracks on the CDR you're about to create as well as the space used in MB and audio playing time. MB sizes are displayed for the audio track representation of all tracks7.









\resizebox*{0,9\textwidth}{!}{\includegraphics{gt_fillstate.ps}}










2.1 Making a CDR out of files stored on your computer's harddrive [ Mastering (ISO9660-)Filesystems ]

This section describes how to record files (e.g. graphics files or other documents) on a CDR. To write files to a CDR simply drag them from the ``Unix tree'' section in the upper half of the Gnometoaster window or from your favourite file manager into the filesystem editor (use the first in the list of icons to the lower left of your Gnometoaster window)8.You can delete files, create directories and rename files or directories by selecting the affected files and clicking the right mouse button to make a menu containing several options pop up. If you select the root item of the filesystem editor's file tree and select rename, you can set you data track's Volume ID.









\resizebox*{0,9\textwidth}{!}{\includegraphics{gt_mastercd.ps}}









Finally, make sure your filesystem is part of Gnometoaster's destination tracklist. The ``Gnometoaster Filesystem'' located in the ``Internal structures'' folder in Gnometoaster's source area is the track-representation of the virtual filesystem you just edited. It's getting added to the tracklist automatically if it is empty when you start editing the virtual filesystem. If you're done just hit the record button in Gnometoaster's









\resizebox*{0,9\textwidth}{!}{\includegraphics{gt_addgtfs.ps}}









toolbar or, if you're using the plain Gtk version, change to the recording options panel and press record there. Notice that the recording options panel is also giving you some control about the recording process. You can specify not to fixate a cd or to write a multisession TOC9 as well as you can select the writing speed and wether or not to eject the CDR after writing.

PLEASE NOTE THAT DUE TO LIMITATIONS OF THE MKISOFS BACKEND DRIVER GNOMETOASTER CANNOT CURRENTLY MASTER CDS CONTAINING SYMBOLIC LINKS. THIS MAKES IT UNDESIREABLE TO DO HARDDISK BACKUPS OF A UNIX SYSTEM WITH IT. IF YOU WANT TO MAKE A BACKUP, I'D SUGGEST PUTTING YOUR STUFF INTO A .TGZ ARCHIVE AND BURNING THIS ARCHIVE INSTEAD. THIS WAY YOU'LL ALSO PRESERVE ACCESS PERMISSIONS WHICH GNOMETOASTER WILL NORMALIZE INTO ``RATIONAL ROCKRIDGE'' IF NOT TOLD OTHERWISE. GNOMETOASTER WILL ATTEMPT TO RESOLVE SYMBOLIC LINKS BY ADDING THE FILES THEY REFERENCE INSTEAD. THIS ONLY WORKS FOR FILES, NOT FOR DIRECTORIES. IF YOU TRY TO DRAG A SYMBOLIC LINK TO A DIRECTORY INTO THE FILESYSTEM EDITOR, YOU'LL RECEIVE THE ERROR MESSAGE ``CAN'T ADD SYMBOLIC LINK TO FILESYSTEM TREE''.

2.2 Burning ISO Images

It has become a very common thing to distribute software, esp. Linux distributions in the form of so-called ISO Images. Those files can usually be recognized by their extension .iso or sometimes .raw. You can use GnomeToaster to make CDROMs out of those files. To do so, select the .ISO file you want to burn to a CD using the source section or just drag it from another filemanager like Gnome Midnight Commander, Nautilus, Konqueror, etc. into the Tracklist. That's the second icon in the lower left of the GnomeToaster window:









\resizebox*{0,9\textwidth}{!}{\includegraphics{gt_isoburning.ps}}









Now select your desired recording options in the recording panel and hit record. Usually, you'll want to have the ``Multisession'' switch turned off, the ``fixate'' switch turned on and the recording speed set to the fastest your recorder supports:









\resizebox*{0,9\columnwidth}{!}{\includegraphics{gt_defaultburnoptions.ps}}










2.3 Making an ISO Image bootable

The question has arisen quite frequently among users how to make a CDROM created from a .ISO file bootable with GnomeToaster. The answer is that you don't have to do anything to accomplish that. The boot structures of a CDROM following the El Torito standard are actually part of the .ISO file so whenever your .ISO file is bootable the CDROM you'll create out of it will automatically become bootable as well. Please do not play with the ``Make bootable flag or the popup menu entry ``Make Bootimage'' in this case. It might make your CD unusable (because of the ``Gnometoaster Filesystem'' track slipping into your tracklist.

2.4 Audio CD recording (Creating CDs playable on your Home Stereo from other CDs, MP3, WAV etc.)

If you're planning to record an audio cd, the first thing you'll be bound to care about is where your audio data is going to come from. Gnometoaster is providing two general methods to create an audio track: building it from a file or taking and existent audio track from another cd.

In the first case, all you need to do is to select the audio file you want to record from Gnometoaster's filesysten tree and drag it down to the Track Editor (the pane connected to the second Icon in the destination area). You'll see an entry being added to the tracklist reading the filename of the audio file it was built from and the audio track size in bytes to the right. Notice, that you can only use audio files of a type Gnometoaster knows about. The default configuration supports .mp3 and .wav files but it is pretty easy to add others (see ``advanced configuration'')10.









\resizebox*{0,9\textwidth}{!}{\includegraphics{gt_addmp3.ps}}









The second case is not really much different. Instead of selecting a file from the filesystem tree you select a track from one of the cdrom drives listed in the ``cdrom drives'' tree in gnometoaster's source area.









\resizebox*{0,9\textwidth}{!}{\includegraphics{gt_addaudiotrack.ps}}

Please note that by default, Audio Tracks read from another CD will be precached that is, stored to your computer's harddrive. GnomeToaster can copy Audio Tracks On-The-Fly. All you have to do is to uncheck the ``Precache audio tracks'' option in GnomeToaster's ``CD Digital Audio'' preferences:










\resizebox*{0,9\textwidth}{!}{\includegraphics{gt_audioonthefly.ps}}









Of course you can freely combine audio tracks coming from another CD and tracks created from mp3 files as you desire.

Finally, you can rearrange the tracks in Gnometoaster's tracklist to make the playing order more interesting. To do so,just drag the tracks around in the listl. Did you notice that tracks are always inserted into the tracklist at where you released your mouse button ?

Audio CDs created with Gnometoaster are generally playable with any audio cd player unless they are multisession discs (might work with some players) or not ``fixated'' (the leadout hasn't been written).

PLEASE NOTE, THOUGH, THAT NOT ALL TYPES OF MEDIA CAN BE PLAYED ON EVERY CD PLAYER. FIRST OF ALL, SOME VERY OLD CD PLAYERS MIGHT ENTIRELY REFUSE TO PLAY CDRS BECAUSE CDRS DON'T REFLECT THE LASER LIGHT AS WELL AS NORMAL COMPACT DISCS. ALSO, SOME DVD PLAYERS CAN'T PLAY CDR/RW MEDIA. CDRW MEDIA IN GENERAL ARE A BIT TRICKY AS NO CD PLAYER OLDER THAN 3 YEARS IS SUPPORTING THIS MEDIUM TYPE. SO ALWAYS CONSIDER THE INTENDED USE OF YOUR BURNED CDS WHEN CHOOSING THE MEDIUM TYPE.

Another important hint: In rare cases it could happen that Gnometoaster will not be able to calculate the playing time of an mp3 or wav file correctly. This is especially true for files containing small defects (e.g. an mp3 file transmitted over digital radio etc.). If you realize that the calculated playing time of your mp3 as display in the tracklist differs from it's real playing time, drag it into the tracklist with your right mouse button pressed. This will make Gnometoaster precache your mp3 file which will make Gnometoaster know the real size of the raw audio stream as decoded by e.g. mpg123.

Once your Tracklist is in the shape you want it to be, it's now time to decide which recorder settings we want to use. GnomeToaster let's you choose among several recording modes, all of which have their strengths and weaknesses.


2.5 Recording Modes in GnomeToaster. How to use GnomeToaster for disc-at-once recording

The DISC-AT-ONCE mode is the most elaborate recording mode for Audio-CDs. Only in disc-at-once mode it is possible to record CD-Text as well as CDs not containing a gap of 2 seconds between your audio tracks. GnomeToaster supports two backends for recording CDs in disc-at-once mode. The standard backend used for this purpose is the program cdrdao by Andreas Mueller. It can write CD-Text with some recorders and is therefore the backend of choice for Audio-CD Recording. As mentioned, this is the Backend used by default. You can change the ``Use alternative dao client'' flag in GnomeToaster's Recorder Preferences to use cdrecord instead. Note that the CD-Text switch in the recording panel will be insensitive in this case. Other than that, cdrecord can be used to write disc-at-once the same way cdrdao can.

NOTE THAT SOME CD RECORDERS ARE ONLY SUPPORTED BY CDRECORD WHILE OTHERS ARE ONLY SUPPORTED BY CDRDAO. SO IF YOU FIND YOUR CD RECORDER DOESN'T WORK CORRECTLY WITH GNOMETOATER, TRY SWITCHING THE ``USE ALTERNATIVE DAO-CLIENT'' FLAG IN GNOMETOASTER'S PREFERENCES.









\resizebox*{0,9\textwidth}{!}{\includegraphics{gt_cdrecorddao.ps}}









TRACK-AT-ONCE is the mode of choice for DATA CD Mastering. It allows for multisession discs to be created and works with a huge quantity of recorders, even the very old ones. Track-at-Once recording can only be done with cdrecord as cdrdao can only do disc-at-once recording right now. To switch between both recording modes, simply check/uncheck the ``disc-at-once'' flag in GnomeToaster's recording panel:









\resizebox*{0,9\textwidth}{!}{\includegraphics{gt_discatonce.ps}}









2.6 Creating a mixed mode CDR

The process of creating a mixed mode CDR with gnometoaster is a mere combination of the steps described in 2.1.1 and 2.1.4. Remember, the data track edited in Gnometoaster's filesystem editor can be found in the ``internal structures'' section of the source area. Make sure it always is the first track in your tracklist and you should be perfectly fine. Just add whatever audio tracks you need behind the ``Gnometoaster filesystem'' track in the tracklist.









\resizebox*{0,9\textwidth}{!}{\includegraphics{gt_mixedmode.ps}}









2.7 How to make a copy of some existing CD

Sometimes the need will arise to make a 1:1 copy of some existing CD, be it for backup reasons or some sort of mass-production. First of all, please respect the copyright. It is easy to copy some software or music, but it's not quite as easy to create it. While GnomeToaster is free software, other software authors may expect some compensation for their work. Always think that people are actually making a living of this sort of work.

That said, it is pretty easy to make a copy of some existing CD, be it audio or data, using GnomeToaster. Just select the drive the source CD resides in from the source section and drag all it's content into the Tracklist:









\resizebox*{0,9\textwidth}{!}{\includegraphics{gt_cdcopy.ps}}









Now check your recorder settings in the recording panel and hit record. By checking the CD-Text switch in the recording panel, you can add CD-Text data to the copy of an existing Audio-CD.See [*] for further informations. GnomeToaster will automatically try to resolve an Audio-CDs tracks by querying freedb.freedb.org, the free cddb server. You have to be connected to the internet to do that, though.

2.8 Working with CD/RW media

CD/RW media are a fine thing for backups and to share your files and music with friends. You can work with CD/RW media just the way you do with normal CDRs within Gnometoaster. There's really just one thing you'll need additionally to the normal functions if you're using CD/RWs: disc blanking.

To blank a CD/RW disc with Gnometoaster you just have to click the ``Blank Disc'' icon in your toolbar or press the ``Blank Disc'' button of Gnometoaster's recording panel. Note that Gnometoaster supports two ways of blanking discs: a full blank and TOC only.









\resizebox*{0,9\textwidth}{!}{\includegraphics{gt_blankfast.ps}}









Performing a full blank your cd recorder is burning it's way through the whole CD/RW medium and erasing any data on it. Depending on your cd writer's speed this can take as long as your disc's maximum playing time so you will usually want to clear the TOC only, which will fool the cd record into seeing a blank medium while really just the first few sectors are blank. Clearing a disc this way is taking less than two minutes at double-speed11.









\resizebox*{0,9\textwidth}{!}{\includegraphics{gt_blank.ps}}









2.9 Managing multisession discs

If configured properly, Gnometoaster lets you create Multisession discs just the way your favourite Windows(tm) application does. This is how it works:

2.9.1 A Primer on how Multisession is done in general

When the first CDROMs hit the market, there were no cd recorders and there was no way to alter the contents of a written CD in any way. When the first recorders came out soon voices could be heard asking why they couldn't just append files to their backups done with the cd recorder, after all the free space on a CDR is visible even with your bare eyes if there simply wasn't enough data to fill a whole CD. With CDs traditionally being a write-once medium, there was no easy way to just append data to it. The result was that a slightly modified type of TOC12 was created, containing an additional field with a pointer beyond the currently written area of the CD so's CD recorders would know where to continue writing.

2.9.2 Now what do I have to do to make GnomeToaster write Multisession Discs ? Do I need a special setup ?

Well, writing multisession discs is a bit tricky because of the fact that it requires some sort of bi-directional communication between the application and your cd writer. First of all, GnomeToaster needs to know where to continue writing a disc, second it needs to know what's already on it. The latter is achieved by mounting your multisession disc and scanning through it's filesystem structure. Because of that, GnomeToaster needs to know how to mount your disc and where to find the files on it. That's where the mountpoint set in the recorder setup drops in. Usually, all drives containing filesystems have a special directory they're being mounted at. That's the mountpoint. Usually, this directory will be something along the line of /cdrom or /mnt/cdrom on your filesystem. That's the path you'll have to enter in the drive settings for your recorder:









\resizebox*{0,9\textwidth}{!}{\includegraphics{gt_editdrvsettings.ps}}









Now GnomeToaster knows where to mount your drive it is time to decide which command is to be used for mounting. While this depends from system to system, most Linux distributions allow you to mount a drive using the simply instruction ``mount /mountpath'' where mountpath is the mountpoint specified previously. That's exactly what GnomeToaster will attempt to do. This behaviour can be set in GnomeToaster's ISO9660 Preferences page, though:









\resizebox*{0,9\textwidth}{!}{\includegraphics{gt_setmountcmd.ps}}









Normally, that's not what you're gonna do. The easy way is to leave the mount command untouched and edit your /etc/fstab file instead to allow you to mount your discs in that exact fashion. Usually, every device containing a filesystem has an entry in the aforementioned file, assigning the device special file of the device to a mountpoint. Additional options determine how to mount the filesystem when the mount command is issued. If you want to run GnomeToaster from a normal user account, you have to make sure that the option ``user'' is listed in your cd writer's /etc/fstab entry. Otherwise, normal users will not be allowed to mount the filesystem and therefore, GnomeToaster will fail to import the filesystem of the previous session:









\resizebox*{0,9\textwidth}{!}{\includegraphics{gt_fstab.ps}}









Note the entries for /dev/scd0 and /dev/scd1 which are my CDROM and my CD-Writer respectively. Once you got your mountpoints set properly, you're ready to do some multisession burning.


2.9.3 How to start a Multisession disc

Suppose you want to write to a blank CDR but you want to make sure you can append files to that CD later on. To do so, edit your filesystem as described in section [*].Now have a look at the recording panel:









\resizebox*{0,9\textwidth}{!}{\includegraphics{gt_mswrite.ps}}









PLEASE MAKE SURE YOU HAVE THE ``FIXATE'' OPTION SELECTED ALL THE TIME. IT MEANS THAT A LEADOUT WILL BE WRITTEN AFTER YOUR SESSION WHICH IS ABSOLUTELY NECESSARY TO BE ABLE TO READ YOUR DISC WITH A NORMAL CDROM DRIVE. FIXATING DOES NOT MEAN YOU WILL NOT BE ABLE TO APPEND DATA TO YOUR DISC, IT MIGHT EVEN HAPPEN THAT NOT SELECTING ``FIXATE'' WILL PREVENT YOU FROM APPENDING ANY DATA SESSIONS. THE ``FIXATE'' OPTION SHOULD ONLY BE TURNED OFF IF YOU WANT TO BURN AN AUDIO CD IN MULTIPLE STEP, THAT IS, BURN THE FIRST 3 TRACKS AND BURN THE NEXT 6 TRACKS TOMORROW. IN THIS CASE, YOUR CD WILL NOT BE READABLE BY A NORMAL CD PLAYER UNTIL THE ``FIXATE'' SWITCH HAS FINALLY BEEN TURNED ON FOR THE LAST WRITING PROCESS.

2.9.4 How do I append to a multisession disc ?

That's almost as easy as to create a new one. Suppose you've just started GnomeToaster and are facing an empty Filesystem Editor. Now insert the multisession disc you want to append data to into your cd writer and press the ``Import'' Icon in GnomeToaster's toolbar or select ``Import session'' from the ``Edit'' menu. After a few seconds the contents of your previous session should appear within the Filesystem Editor. Note that all files of the previous session are marked in blue color to be able to distinguish them from files of the session currently edited.

You can replace files of the previous session, in which case their color will change to black. GnomeToaster can, however, not delete files of a previous session.









\resizebox*{0,9\textwidth}{!}{\includegraphics{gt_editms.ps}}









When you're done editing, set your recorder settings to the values described in [*] and hit record. You can repeat this process until all available space on your disc has been consumed.

BE AWARE THAT EVERY SESSION ON A DISC WILL REQUIRE APPROXIMATELY 15 MB OF ADDITIONAL SPACE FOR THE LEAD-OUT STORED SEPARATELY FOR EVERY SESSION. SO TRY TO COLLECT ANY FILES ON YOUR HARDDISK AND WRITE THEM TO THE CDR COLLECTIVELY TO SAVE SPACE. OF COURSE, NOWADAYS BLANK CDS ARE CHEAP BUT HAVING HUNDREDS OF CDS OCCUPYING A GOOD PART OF YOUR LIVING SPACE IS NO GOOD DEAL EITHER.

3 Advanced functions

3.1 Creating a CDR with multiple data tracks

Gnometoaster supports creating more than one data tracks on a CDR. This is as simple as just dragging the desired tracks to the tracklist in the order you want them,the only restriction is that two instances of the ``Gnometoaster filesystem'' will always contain the same filesystem structure. This might change in future releases. Also note that tracks other than the first one can't be read by most operating systems. The only OS fully supporting more than one data tracks on a single cd I know of is BeOS(tm).

GnomeToaster does not perform any sort of Track Relocation. That means, that only filesystems with relative addressing can be burned after the first data track. ISO9660 and UDF are both using an absolute addressing scheme and will not work! Working Filesystems include Apple HFS and the BeOS filesystem (BeFS).

3.2 Creating bootable CDs

Gnometoaster currently supports the most common type of a bootable CDROM: floppy disk emulation. In this mode, your PCs BIOS is providing some basic CROM access functions that can read out an image file of a bootable floppy disc stored on your CDROM. Using this image, your BIOS will transparently emulate a normal floppy disc in this mode of operation, e.g. when making your CDR bootable using an image of a DOS boot disk, you'll have this image visible to your system as drive A: once booting is done. Note that floppy emulation as well as any other emulations do only work as long as the BIOS is being used to access your disk drive. This deserves specific notion as Linux is using it's own floppy drivers as soon as the kernel has been loaded.

With this concept in mind it should be pretty easy to create a bootable CDR with Gnometoaster. Just drag the bootable floppy image you want to use into Gnometoaster's Filesystem Editor. Now select it and press the right mouse button. Choose ``Make Bootimage'' in the popup menu and you're done. Now add whatever you want to your CD and hit record.

If you take a look at the recording panel you'll find a section called ``El Torito'' there. El Torito is the name of the standard defining bootable CDs. So consequently you'll find configuration options regarding bootable CDs there. There's not much you'll ever need to do in this section of the recording panel. It's there merely to show the current state of your CDR regarding booting capabilities. In case you should suddenly decide not to make your CD bootable after all you can unselect the ``Make bootable'' option there. The other way would be to just delete the boot image from Gnometoaster's Filesystem Editor. If the selected bootimage doesn't point to an existing file, the ``Make bootable'' option will be grayed out.

NOTE THAT YOU DO NOT NEED GNOMETOASTERS BOOTABLE CD CREATION CAPABILITIES IN ORDER TO MAKE AN ISO IMAGE BOOTABLE. THOSE IMAGES ARE EITHER BOOTABLE OUT OF THEIR OWN RIGHT OR THEY AREN'T. SEE [*] FOR FURTHER INFORMATIONS.

3.3 The concept of Precaching or what can I do if my computer's not fast enough ?

Less and less people will find themselves in the situation where they can't record an mp3 file to a cdr because their computer simply can't manage to decode the mp3 stream as fast as their writer needs it's raw audio stream. Or just imagine you want to make a copy of this very old compact disc which has been used as a flying saucer by your son several times as well as by your wife to make your dining table stand more stable etc. No CDROM built upon earth technology will be able to read those CDs accurately within a time that would satisfy your recorder.

In Gnometoaster, there's a way around this. You can either enable precaching for a particular track type in Gnometoaster's preferences which will then apply to any track of that type or, alternatively, you can hold down your right mouse button when dragging your files/tracks to the Track Editor. This concept even works for the Filesystem Editor. Just imagine you want to create a backup of that old word processor's installation discs cause 1.44'' Discs have always had a slight tendency to forget about their contents after a few years. Precaching the whole ISO9660 filesystem won't do in this case cause you need to change discs quite a few times while creating the filesystem. Again, the solution is to just hold down your right mouse key while adding the files on your discs, which will make Gnometoaster precache those individual files.

3.4 Track to file conversion or: Let's do it the other way round

While functionality to convert tracks to files is provided by most cd recording programs, few let you decide as accurately as Gnometoaster does what to make of those tracks. Imagine you want to store your favourite audio CD's contents on your harddisk as mp3 files. There's plenty of other software available for this, I've been using one called grip for quite some time now. However, if we have to provide a proper interface for creating .wav files anyway, why not support the whole bunch of extensions and file types that are supported by Gnometoaster the other way round ?

So the deal is this: You can drag any track down to the Filesystem Editor and it will be converted into it's default filetype automatically. Dragging it with the right mouse button pressed will prompt you with a popup menu asking for a specific filetype to be created.

If you don't want to add your track to the Filesystem Editor but want to store it into some directory on your harddrive, you can select all the tracks you want and press the right mouse button. Simply select ``Save Track as ...'' in the popup menu. You'll be prompted for a destination directory and the filetype you want to convert to. Note that encoded files will automatically get their filenames set appropriately if your computer is connected to a cddb server. No steps towards creating ID3 Tags and similar track title identifiers are currently being taken. You may thus still want to use other music encoding software to accomplish that goal. Currently, only the track editor, not the track lists in the source area have a popup menu attached to them, so in order to convert a track to a file you have to drag it into the track editor first.

Hint: You can also use Gnometoaster's file conversion scheme to convert existing files of a certain type on your harddrive. Just drag the files you want to convert down to the Track Editor. This will convert them into tracks. Just follow the steps above now to convert to whatever filetype you want.

3.5 Adding a new filetype to the GnomeToaster filetypes registry

GnomeToaster supports a very versatile way of burning arbitrary (audio, mostly) filetypes to a CD. All you need to do to let GnomeToaster make an audio track out of some audio file is to specify a commandline program capable of converting files of the desired type into some raw 16Bit,44.1Khz,Stereo sound signal apt for CD recording. The following chapter will try to explain what to do if you want to implement support for some as of yet unsupported filetype in GnomeToaster. It is pretty easy to do so and will not require any modifications in the GnomeToaster source code nor any other cruel things. All you need is the preferences setup and a bit of luck.

As mentioned above, GnomeToaster can convert arbitrary files directly into a track on the CD that is to be mastered. To accomplish that, GnomeToaster has what I'll from now on refer to as a ``Filetypes registry''. Imagine this as the somewhat modified idea of a Mime-Type database, specifying decoders for each of the referenced filetypes. You can reach GnomeToaster's filetypes registry by entering the preferences and selecting the ``Filetypes'' pane:









\resizebox*{0,9\textwidth}{!}{\includegraphics{gt_ftr.ps}}









Now realize that GnomeToaster has an entry in this list for each filetype supported. By default, this means you're going to find an entry for mp3, ogg-vorbis, wav and shorten. Basically, GnomeToaster needs to know two important things about your file:

3.5.1 Specifying the decoder

This first point splits up into some basic informations about the type of data your decoder plugin will deliver and what GnomeToaster is to make of it. First, realize the Track Type: It can be one of data or audio and will tell GnomeToaster which type of track it is to create. The PC flag specifies whether GnomeToaster is to precache files of this type prior to burning. If your recorder doesn't support some way of buffer-underrun protection and is rather fast it can easily happen that your computer is unable t decode e.g. an mp3 file quickly enough. Just turn on the PC flag in this case and everything is alright. Next, GnomeToaster needs to know which Endianness the output of your decoder has: Unfortunately, this may depend upon your system's endianness, e.g. mpg123 will output little endian on Intel compatible systems while it will output big endian on e.g. PowerPC systems. Either way, GnomeToaster has to know about the endianness, otherwise you'll hear nothing but static. Simple approach: If you hear static trying to preview your track, change the endianness in your decoder settings. Now for the most important thing: you have to specify the name of a commandline tool capable of decoding your filetype. Ideally, it should be able to receive it's input through stdin and send it's output to stdout. In most cases, it is sufficient if sending output to stdout is supported. You can specify $filename in this case which will be replaced by the respective file on your harddrive. Note, however, that future extensions like burning directly from ftp servers will not be supported using that scheme. The output produced by your decoder must be 16Bit, Stereo, 44.1kHz. If your decoder cannot create this type of signal, you can use a chain of decoders to accomplish that goal by specifying multiple commandline decoders, separated by the ``|'' (piping character).

3.5.2 Calculating the tracksize

This point is extremely important for on-the-fly recording as GnomeToaster does have to know how big the track is going to be prior to actually decoding your file. To find out about the tracksize, GnomeToaster has a few built-in methods referenced by $filesize, $mp3size and $wavsize. All three of them are pseudo-variables which change their value according to the track's properties. Apart from that, GnomeToaster supports calling some external program to detect the tracksize and provides basic parsing functionality for arbitrary output. The last two fields in a decoder entry are responsible for that. The first one specifies the commandline program whose output is to be parsed and the second one specifies the function used to translate the output into a number representing the length of the track in Bytes. While the first field may remain blank if you do not need an external tool for tracksize calculation, the second field must always contain a function resolving to the tracksize in Bytes.

In case you need to specify an external tool for tracksize calculation, the first thing you'll have to do now is to setup the calling syntax for that program: It's fairly easy, just enter what you would type on the commandline to retrieve e.g. the playing time of your file with the filename replaced by ``$file''. Do not forget to enter the quotation marks as well. Those are required in case the filename of your file contains any spaces.

Now for the tricky part: We need to parse the output of your program somehow. Apart from a few mathematical functions like abs,int,,sqrt,sin,cos,tan and C-Style boolean operators, GnomeToaster supports two powerful ways of retrieving your commandline tool's output: getpos(y,x) and regexp(``regular expression''). As the latter will always produce strings as it's function result, you have to use the strval(``string'') function to convert a string to a number. The basic idea of this whole concept is that we will assemble the tracklength in Bytes from the output generated by your external program using some mathematical function. Suppose your commandline tool will generate the following output if called with tracksizetool -filename ``$file'' :

Tracksizetool Version 1.03, Copyright 2001 by Arthur Dent

Playing time of file '/home/ghost/something.ext' is

00 Hours, 2 Minutes, 23 Seconds, 43 Frames

You can use the getpos() function calculate the tracksize. To understand what this function is doing, imagine the output generated by tracksizetool as a grid of numbers: getpos(3,1) will return ``00'' in our example. getpos(3,2) will return ``2'' and getpos(3,3) will return ``23''. Generally, getpos(y,x) will return the x-th number in the y-th line of output. Consequently, we can get the number of frames with getpos(3,4).

One frame is 1/75th of a second and 2354 Bytes of audio data. So we do know all we need to know about our file now: the following function will resolve to our tracksize in Bytes (for the 44.1kHz,16 Bit, Stereo stream required by GnomeToaster):

((getpos(3,1)*3600+getpos(3,2)*60+getpos(3,3))*75+getpos(3,4))*2354

That's it. Just enter this line into the last field of your filetype registry entry and you're done. On the other hand, not all commandline tools will create output parseable by the getpos(y,x) function. In this case, you need to use the regexp() function. Suppose our output will look something like:

Tracksizetool Version 1.03, Copyright 2001 by Arthur Dent

Playing time of file '/home/ghost/some08minuteslongfile.ext' is 00:08:03.23

We're obviously out of luck here as of course your filename can contain numbers as well and will confuse getpos() when retrieving the different parts of our playing time. So we'll use a regular expression for that. The result of the regexp(``exp'') function is always the first part of the expression put into brackets, e.g. regexp(``.*:([0-9]*):.*'') will return the minutes part of our playing time for the output above as a string. Pass this through the strval() function and we got what we want. For the example above, our tracksize calculation function will read something like this:

((strval(regexp(``.* is ([0-9]*):[0-9]*:[0-9]*.[0-9]*$``))*3600+strval(regexp(``.* is [0-9]*:([0-9]*):[0-9]*.[0-9]*$``))*60+strval(regexp(``.* is [0-9]*:[0-9]*:([0-9]*).[0-9]*$``)))*75+strval(regexp(``.* is [0-9]*:[0-9]*:[0-9]*.([0-9]*)$``)))*2354

Note that each of the specified time fragments is being put into brackets once.

4 Frequently asked Questions

Some things just can't be covered in the normal documentation. And apart from that, the documentation is unfortunately the last place your average user would look for a solution to his/her problems. That's why FAQs have a very long tradition I don't want to break with Gnometoaster. So here it is: the Gnometoaster FAQ, assembled using bits from emails and postings to the mailing list and some of my genuine fantasy.

4.1 Can I drag and drop multiple files or tracks at once with Gnometoaster ?

Some users seem to have a problem using Gtk's multiselect scheme. To drag multiple items you can either choose each individual item or simply drag a bunch of items in a row. The difference is that you use the CTRL key for the former while you use the SHIFT key for the latter. The rest is just the same. Click the first item you want to drag. Either click the last item of a row or the next item you want to drag while holding down your SHIFT or CTRL key respectively. When selecting the last one of the items you want to drag, don't release the mouse button but start dragging your mouse to the desired destination for your items. That's it.


4.2 DAE (Digital Audio extraction) doesn't work with Gnometoaster or if I drag an audio track from a drive's track overview down to the preview player it doesn't change from ``Play''to ``Stop Playing''

There may be many reasons for this. First of all, check that your cdrom drives are setup properly. If they are, please make sure the corresponding device special files have the appropriate permissions. If you're using the scsi generic interface to read out audio tracks, make sure cdda2wav has the correct permissions to access the sg interface. For some types of cds (notably cd-plus cds) you need a recent version of cdda2wav in order to be able to digitally extract audio tracks. As of this time, Gnometoaster is being developed based on version 1.9 of Jörg Schilling's cd recording tools.

4.3 Audio CDs created with Gnometoaster are playing fine on my computer but aren't recognized by my stereo

First of all, make sure you selected the ``fixate'' switch and deselected the ``Multisession'' switch in Gnometoaster's recording panel while creating your CD. Also scan Gnometoaster's recording terminal for eventual error messages produced by cdrecord while fixating your disc (all errors are marked red in the recording terminal). If none of the above applies, you're probably using a very old cd player that can't handle CDR discs. Sorry, you're out of luck there unless you upgrade your cd player. I also noticed recently that some DVD players aren't capable of handling CDR and CDRW media while they're playing plain audio CDs just fine. This is just one of the many things you should take care of when buying a DVD player. Finally, some very cheap blanks can't be read by some audio cd players. This is because the organic layer used for recording you music is very thin on those CDRs and your cd player's laser might be looking straight through it. Using a lower recording speed might sometimes solve this issue.

4.4 When writing mp3 or wav files, I get a lot of silence at the end of the track or I get tracks that consist of nothing but silence

This generally means that either you don't have mpg123 or sox respectively installed on your system (future versions of Gnometoaster will have to check for this and issue a warning) or (which is more probable) the mp3 file you tried to record was corrupt in some way. Although mpg123 tries hard to play defective mp3s, sometimes it will get out of sync and stop playing entirely.

4.5 When copying audio tracks from other cds, I get nothing but silence or the tracks seem to be incomplete

see section [*] about possible reasons for this behavior.

4.6 I can't write multisession discs

Please follow the instructions of the Gnometoaster manual.

4.7 When trying to import the last session of a multisession disc, no files are being displayed in Gnometoaster's Filesystem editor

Please check the mountpoint of your cd writer as entered in Gnometoaster's drive setup. Also make sure that a corresponding entry in /etc/fstab is present and, if you're running Gnometoaster as a non-root user, the writer is user-mountable (the ``user'' option is present in the corresponding line of /etc/fstab).

4.8 Multisession discs written by Gnometoaster can't be read by drives other than my cd writer

Make sure you check the ``fixate'' switch in Gnometoaster's recording panel. When writing multisession discs, this switch should be checked permanently.

4.9 Gnometoaster exits a few seconds after startup, stating something like ``aborted.'' on the commandline

This has been a known bug for quite some time which has been fixed in recent releases of Gnometoaster. If you're still experiencing this bug, please upgrade to a more recent version of Gnometoaster. If you don't want to upgrade, one possible way to get rid of this problem is to recompile gnometoaster with multithreading disabled: just pass -without-pthreads to the ./configure script and recompile gnometoaster.

4.10 Gnometoaster exits right after startup

This has also been a known bug for quite some time which has been fixed in recent releases. If you don't want to upgrade, you can get rid of it by simply deleting the /.gtoaster.dircache file in your home directory.

4.11 How do I uninstall Gnometoaster

This is a question very specific to the way you installed Gnometoaster. If you've installed Gnometoaster from a ready-made package, use your distribution's package manager to uninstall Gnometoaster. If you installed Gnometoaster from sourcecode, please reextract the source archive, change into it and type ``./configure'' and then ``make uninstall'' as root.

4.12 Compiling Gnometoaster gives me a whole lot of error messages

You probably don't have one or more of the required support libraries installed on your system. Note that the source distribution of Gnometoaster not only needs all the libraries like libgtk or libgnomeui32 etc. but also their header files.In most distributions those can be found in packages with the usual name and ``-dev'' or ``-devel'' appended. Older versions of Gnometoaster didn't compile on Linux 2.0.x systems. Please upgrade to a more recent version of Gnometoaster. The way to make your older version of Gnometoaster compile on those systems would be to replace all occurrences of #include <linux/cdrom.h> by #include <linux/ucdrom.h> in the source code. As mentioned, recent versions of Gnometoaster are taking care of this automatically.

4.13 Gnometoaster's idea of the filesystem size of my data cd is wrong

The most likely reason for this right now is that mkisofs doesn't like what it is to burn to the CD, possibly because it doesn't have the correct privileges to read all your files. This behaviour has also been observed when adding to multisession discs mkisofs cannot import.

4.14 Gnometoaster is recording/playing some mp3 files at a very high pitch

This has been a problem with older versions of Gnometoaster and the way they invoked mpg123. Please add both the -stereo and the -r 44100 option to the mpg123 call in Gnometoaster's filetype registry or upgrade to a more recent version of Gnometoaster.

4.15 When I add large directories/my home directory to Gnometoaster's CD-Filesystem my Computer seems to work endlessly with vast harddrive activity

Please upgrade to a more recent version of GnomeToaster.

4.16 I can't hear anything when dragging an audio file or a track to the preview player but recording works perfectly well

There's most probably some problem with your system's or Gnometoaster's audio configuration. Please enter Gnometoaster's preferences setup and change the audio output driver from ``Enlightenment sound daemon'' to ``Open Sound System''. ESD mode only works if the enlightenment sound daemon is running in the background but it is a very nice way of accessing your sound card as it allows for sharing it with other applications.

in case you still can't hear anything, please check your system's sound setup (e.g. if the kernel sound module is being loaded correctly) and make sure that no other applications are blocking your sound hardware.

With older versions of Gnometoaster selecting a track/file and pressing the ''Play'' button won't work. You have to either drag your desired item to the ``Play'' button or double-click the item. This is not a bug but a conceptual thing which will be fixed in future versions of Gnometoaster, I just thought you should know it cause this apparently driving some people crazy.

4.17 GnomeToaster is making awful noises instead of playing tracks

This is probably due to a misconfigured Enlightenment Sound Daemon on your system. To solve this problem you should switch from ``Enlightenment Sound Daemon'' to ``Open Sound System'' in GnomeToaster's Audio Setup.

4.18 Gnometoaster keeps recording a 2 seconds pregap between tracks which is inappropriate for the type of content I'm recording

Please check the ``Disc-at-once'' option in Gnometoaster's recording panel and make sure you have cdrdao installed and setup properly. Future versions of Gnometoaster will allow you to adjust the size of the pregap, you will even be able to place sound within the pregap.

4.19 I can record CDRs in disc-at-once mode but I can't in track-at-once mode or vice versa

DAO and TAO writing are performed using different backends. While cdrecord is being used for TAO recording, cdrdao is being used in DAO mode. Both programs have different hardware requirements so please make sure your system meets the requirements of the backend you're trying to use and especially that the backend is installed and setup correctly on your system (e.g. with access to the scsi generic interface).

4.20 I'm new to Linux and this whole cd recording stuff. I can't get Gnometoaster to do anything

Please read the documentation from the very beginning. I've tried very hard to explain all the implications of cd writing with linux/other unix systems but this won't help you unless you read it.

4.21 DAE is very slow within Gnometoaster but I can read out audio cds much more quickly using other applications

There are two modes of addressing a cdrom drive on unix/linux systems: using the scsi interface and using cooked ioctl() calls to the cdrom's device special file. Gnometoaster is using the latter by default cause this is increasing the probability that DAE will work on a system at all. However, some cdrom drives are much faster reading out audio data using the scsi generic interface. To make Gnometoaster use the SCSI generic interface for DAE, just select the ``use scsi generic for DAE'' flag on the properties page of the desired drive. You can get access to the drive properties from Gnometoaster's drive setup. Just select the desired drive and click ``Edit''.

4.22 Although files are showing up in the filesystem editor, the fillstate display is still showing 0 MB and when I try to record a cd Gnometoaster states that there are no tracks to be recorded

To understand this behavior you have to know that the data track part of your cd is represented by a data track within Gnometoaster's tracklist. This track is called ``Gnometoaster Internal Filesystem'' and if it doesn't exist in the tracklist, your data track will not be taken into account when writing the cd. To add you filesystem to the tracklist, drag it from ``Internal structures'' down into the tracklist. You'll find your fillstate display the tracksize of your Filesystem immediately. Note that the Gnometoaster internal filesystem is being added to the tracklist automatically when the Filesystem is being edited and there are no other tracks in the tracklist yet. In all other cases, you have to add the Filesystem track manually.

4.23 Why do I have to scan through the whole internet to meet all the requirements of Gnometoaster ?

The answer is as simple as sad. All backend applications Gnometoaster is using are under continuous development. Putting them all together on an ftp server or something would require someone maintaining this server on a full-time basis. This is beyond the possibilities of a voluntary project like Gnometoaster. However, with more and more Linux distributions prepackaging Gnometoaster, those problems should go away in the future as long as you keep using the tested and mostly stable Gnometoaster packages coming with your distribution. Those packages have dependency informations built-in and won't install unless all the dependencies are met. Together with a package manager capable of automatically resolving dependency issues it should be easy to install Gnometoaster. Linux distributions coming with Gnometoaster include Debian Linux, Linux Mandrake, Turbo Linux. If you're maintaining a Linux distribution coming with Gnometoaster, please write me so's I can include your distribution in this list.

4.24 I want to install Gnometoaster on distribution xxx. Which of the packages on your Homepage should I get ?

This does indeed depend on your distribution. First of all, check if there's a package explicitly made for your distribution. If there isn't, check if your distribution is RedHat compatible or does at least use RedHat's package manager. In this case it should be secure to just download and install a redhat package from Gnometoaster's homepage (Distributions that should work with RedHat packages include RedHat itself, Linux Mandrake, SuSE Linux). If you are using Debian or a Debian-based distribution (which includes Corel Linux and Stormix) please use the Debian package instead.

Of course, there's always the option of compiling Gnometoaster yourself from the source package. This will ensure that you're using the most recent version of Gnometoaster as well as that there isn't some sort of binary incompatibility to the libraries installed on your system. Please follow the instructions in this manual on how to install the source distribution of Gnometoaster.

4.25 When clicking the ``Record'' button, Gnometoaster is pausing for a few seconds to give the user a chance to abort the recording process. How can I stop the recording process in case I actually need to ?

Just press the ``Stop'' button of the recording dialog. Note that this may not have an immediate effect as Gnometoaster is giving the recording backend a chance to exit gracefully. In case the recording backend doesn't exit, you can send it a SIGTERM signal using the commandline by typing ``killall cdrecord'' or ``killall cdrdao'' depending on wether you're recording in TAO or DAO mode. Gnometoaster will then return to it's normal mode of operation and you can start a second attempt of recording your CDR by just pressing the ``record'' button again.

4.26 Why does Gnometoaster display 746MB of recording space on my CDR while the medium I'm using can hold only 650MB of data ?

Gnometoaster is calculating the sizes of all tracks as if they were audio tracks. There are various modes in which a track can be recorded to a CDR. The most important ones are audio mode and MODE1 data mode. The latter reserves extra space per sector to store additional checksums which is necessary to maintain the high level of data security needed when storing binary data. As a result, less data can be stored to a CDR in data mode than in audio mode. This makes for the difference between 746MB and 650MB.

4.27 How can I write to 80 Min. blanks with Gnometoaster. The application doesn't seem to recognize those blanks

No Problem! Although Gnometoaster doesn't currently adapt it's fillstate display to to increased storage size of 80 min. blanks Gnometoaster is still perfectly capable of using all space available on such blanks. You can even record more than the usual 650MB of data to a normal blank using Gnometoaster. How much more depends on the type of blank you're using.

4.28 Drag and drop doesn't work from any KDE application (like kfm, konqueror, ...)

Please upgrade to both the most current version of Gnometoaster and KDE >=2.0. The KDE team has finally implemented the Xdnd protocol and after a small modification in the Gnometoaster source, you can now use Gnometoaster in conjunction with your favourite KDE File Manager flawlessly. Despite it's name, Gnometoaster will try to support KDE as good as possible in the future as serving a larger user base is definitely more important than to force-try establishing standards. Gnome is a great system and so is KDE, period.

4.29 I tried to record a file or a filesystem but I only see some sort of warning in the recording terminal and the recording process doesn't even start

Please read this warning carefully. Note that by definition, compact discs cannot hold any tracks smaller than 4secs. of playing time. cdrdao will refuse to record such tracks while cdrecord will pad them to a bigger size. Future versions of Gnometoaster will address this problem in a more sane way so this is something for the ``known bugs'' chapter.

4.30 Gnometoaster doesn't update it's progress dialogs when writing a cd or precaching a file/track

This is a known problem. It has been fixed for writing cds in the threaded version of Gnometoaster. However, if you have, for some reason, pthreads support disabled on your system, there's hardly a chance to make those progress boxes update correctly for you. You should upgrade to a newer kernel/libc combination that supports multithreading.

4.31 I tried to copy a CD-Plus CD today but Gnometoaster seemed to be unable to read it's data track

Gnometoaster doesn't support reading the data track of a CD-Plus CD as of now. This functionality will be implemented in one of the next versions.

4.32 Gnometoaster seems to be notoriously trying to open a network connection to some server. Does it have some sort of built-in Trojan transmitting my data to some remote database ?

Don't worry, it's just the CDDB routine trying to identify the cds in your cdrom drives.

4.33 How can I turn off CDDB lookups ?

The current version of Gnometoaster doesn't provide a switch to disable cddb lookups. Instead, I'd suggest to set your localhost as the cddb server Gnometoaster should attempt to use. Doing so will make Gnometoaster try to establish a connection to your localhost's cddb port every 20 seconds which will of course fail but this won't do you any harm.

4.34 I tried to burn a CD(R/RW) with a few files on it.Once I had hit record, Gnometoaster went through all the files and recorded them onto the disc. However, I cannot mount the result. What went wrong ?

You probably added your files to the Track Editor rather than the File Editor with the result that Gnometoaster created a CD containing several data tracks each being a copy of one of the files you added (just as if those files had been track images). Add your files to the Filesystem Editor and your CDs will work just fine.

4.35 Gnometoaster is just running fine on my root account but it only causes a bunch of error messages if run from my normal user account or it doesn't display any tracks for my cdrom drives. Aren't Linux users supposed to do their daily work as a normal user ?

True. However, cdrecord and cdda2wav require their controlling user to have access privileges to the scsi bus which are not granted to normal users by default within any sane setup. However, you can give your users explicit access to your cd writer(s) and your cdrom drives by setting the access privileges of the /dev/sgx (where x depends on the bus nmbr. and target id of your writer) and the devices controlling your cdrom. Probably the best way to do this is to create a new group ``cdwriter'' using the addgroup command, add all users that should be allowed to burn cds to that group by editing the /etc/groups file and then typing chown :cdwriter /dev/sgx and chmod g+rw /dev/sgx. Make sure to also give access to the cdrom device file associated with your writer and any cdrom drive you want to use. On most systems you just have to add your desired users to the existing cdrom group in /etc/groups.

Of course, if security is a non-issue on your system, you could also just grant access to those devices to anybody by typing chmod a+rw /dev/whatever or set cdrecord and cdda2wav +suid root by typing chmod a+s /usr/bin/cdrecord and chmod a+s /usr/bin/cdda2wav. Again, don't forget to grant access to your cdrom device special files. Otherwise, Gnometoaster won't be able to read out the TOC of your discs and just display nothing in your drive's tracklist.

Setting the Gnometoaster binary +suid root is explicitly deprecated !!! This will enable any user on your system to read out *any* files not only by using some obscure commandline program but by using a comfortable filemanager! On most setups this is definitely not what you would want!.

UNFORTUNATELY, SOME VERSIONS OF CDRECORD SEEM TO DEPEND ON THE ABILITY TO DISABLE SWAPPING FOR CERTAIN MEMORY REGIONS. INSTEAD OF JUST TRYING TO RECORD YOUR STUFF ANYWAY, THOSE VERSIONS WILL EXIT IMMEDIATELY IF THEY COULDN'T DISABLE SWAPPING FOR THEIR BUFFER MEMORY. THIS, OF COURSE, IS A PRIVILEGED OPERATION ONLY ALLOWED TO THE SUPERUSER. SO ALL YOU CAN DO IN THIS CASE IS TO SET CDRECORD +SUID ROOT. I HAVEN'T INVESTIGATED INTO THIS ANY FURTHER BUT I THINK IT IS EVIDENT THAT ON MOST MODERN SYSTEMS BUFFER SPACE IN THE AMOUNTS NEEDED BY CDRECORD WON'T BE SWAPPED OUT ANYWAY DURING THE RECORDING PHASE AS IT IS TOO FREQUENTLY USED.

4.36 Analysing Gnometoaster's way of creating cds I encountered those odd TOC files it is generating for cdrdao. Why is there just a ``-`` instead of filenames all around the place ?

This is how Gnometoaster is doing things. Instead of telling cdrdao to take whatever it takes to create a cd out of files on your harddrives it is actively delivering all content necessary for this to cdrdao using it's stdin pipe. This way, Gnometoaster can control what's being written on cd in realtime, which is absolutely essential if you want to burn stuff on-the-fly. For cdrdao it doesn't matter if a certain audiotrack has it's origin in another cd, a wav file or an mp3 file. Audiotracks look all the same for cdrdao, it's Gnometoaster making the difference in preparing the data for it.

4.37 I tried to grant access to all device files necessary for cd recording in order to enable cdrecord to run from a non-root user account. However, cdrecord quits right after startup complaining that it couldn't lock shared memory. What's this about ?

Unless I get confirmation about this, I assume that there are different versions of cdrecord around, ones that can work in non-privileged mode and ones that can't because they're trying to prevent the linux kernel from swapping out their memory buffers (which won't happen anyway unless you have a system with a very small amount of ram, say about 4MB or something :-)). Try to get a new/different version of cdrecord and you might be lucky to implement your security concept after all, otherwise you'll just have to set cdrecord +suid root.

4.38 When I click record, nothing happens

Maybe you didn't setup your cd writer in the preferences. One of the drives listed in Gnometoaster's drivelist has to be the cd recorder. Select the ``This drive can write CDs'' switch in the drive setup to tell Gnometoaster that a specific drive is a recorder.

4.39 On what platforms does Gnometoaster run ? Are there any plans of porting Gnometoaster to Windows9x/2K/M/NT/CE ?

Gnometoaster's primary development target is currently Linux. Gnometoaster should compile on any platform Linux is running on like Alpha,Sparc etc. However, there may be occasional problems with Endianness, especially with new features as I do not test all modifications to the source against a Big Endian system. So if you found an Endian bug or something like that, don't keep it to yourself, share it with the rest of us.

As of a windows version: This sort of thing is not even in the planning phase. For various reasons such a port will probably never be done by myself. However, if you feel that Gnometoaster is absolutely the thing the windows world needs and you want to make a port of it, you're of course welcome. Maybe we can even work out something to accomplish this within the same sourcetree. Note that cdrecord's already there and that there's even a port of the Gtk Toolkit available so the job shouldn't be too hard after all.

4.40 I've got this very bad problem and I simply can't work with Gnometoaster cause it's completely unusable

This sort of bug probably won't have a chance to last long. Just take a look at the Gnometoaster Homepage and check for a new version or a bugfix/patch. Sometimes it may not be visible clearly enough which is the most current version, esp. if you're downloading a prepackaged version of Gnometoaster so please make absolutely sure that you're using the most current version available.

5 References

If you still have problems using Gnometoaster, feel free to write to A.Eckleder@bigfoot.com or share your problems with the members of the Gnometoaster mailing list (gnometoaster@lists.kando.hu).

For other references see http://gnometoaster.rulez.org

About this document ...

Gnometoaster User's Guide (based upon GnomeToaster Release 0.5 [Beta1 release])

This document was generated using the LaTeX2HTML translator Version 99.2beta8 (1.42)

Copyright © 1993, 1994, 1995, 1996, Nikos Drakos, Computer Based Learning Unit, University of Leeds.
Copyright © 1997, 1998, 1999, Ross Moore, Mathematics Department, Macquarie University, Sydney.

The command line arguments were:
latex2html -no_subdir -split 0 -show_section_numbers /home/dos4gw/coding/gtoaster_documentation/gnometoaster_users_guide.tex

The translation was initiated by Andreas Eckleder on 2001-06-04


Footnotes

... track-at-once1
cdrecord is being called for every track that should be written on your disc. Between two tracks,most CD writers insert a pregap of 2 seconds automatically in this mode which makes CDDB lookups fail for 1:1 copies and doesn't sound good for live recordings.
... disc-at-once2
the whole CD is written in a single step. Many parameters of the future CD can be controllled manually,so indices can be set in the middle of tracks,pregaps of any length can be inserted etc. Most importantly,however, Gnometoaster can produce an exact copy of a CD in DAO mode.
... MPEG1-LayerIII3
a highly efficient audio compression scheme that allows for near-cd quality sound streams at only 128kbit/sec. It was developed by the Fraunhofer institute which is also holding a patent for the alghorithm used to encode/decode these mp3 files.
... dependencies4
Most program packages coming with a Linux Distribution are heavily relying on other packages. For example, The Gimp, the well-known UNIX image editing program, requires a library called Gtk which contains code to visualize dialogs, buttons etc. In a Micosoft Windows(tm) environment most software packages are providing all the libraries they need themselves. Those libraries are usually copied into the windows system directory by the installation routine,a process which not only requires the user to reboot his machine once the installation procedure has finished in most cases but also increases both the lack of stability of your system and the size of the software package you want to install. Just imagine two different programs using the same library in different versions. as windows can't handle different versions of the same DLL files effectively one program ends up overwriting the library of the other with the consequence that one of the two will usually become very unstable or will refuse to start at all. To overcome this problem in a Linux(tm) environment, shared libraries are usually separated from the programs using them and put into a different library. To avoid a situation where a program is installed that needs a certain library which isn't, the program's package will have a dependency set to the library it needs somewhere in the package header. Thus, the package manager program knows what it takes to make the program run and can either refuse to install the program or try to install the missing library as well.
... fly5
we speak of on the fly recording if we don't store any temporary data on your harddrive during the whole recording process. The data are taken as and from wherever they come and written to cd directly after having been converted into the needed format in realtime by a filter.
... GNOME6
GNU Network Object model environment, an effort to create both a uniform graphical user interface similar to KDE and to provide a powerful application framework including advanced IPC functions including OLE.
... tracks7
While audio tracks have a sector size of 2354 bytes, data tracks have a lower 2048 bytes per sector as data tracks are using a few bytes to store some extra checksum improving error correction. So you can actually store less data to a cd in data track format than you can in audio track format. Gnometoaster generally displays tracksizes in audiotrack format. Due to that, data track images will always result in tracks bigger than their respective file sizes.
... window)8
Please note that in Gnometoaster's current state of development, it is impossible to record symbolic links to a cdr. Gnometoaster dereferences all symbolic links to the files they are pointing at. This can imply some problems if you're adding large and complicated directory trees with references within sub directories referencing others. Gnometoaster is dereferencing symbolic links in a way that should prevent endless recursions. However, adding large directory structures can still take a very long time. I'm working hard on this problem and hope to be able to come up with a Gnometoaster version that can handle symbolic links in a more sane way very soon.
... TOC9
please read this documentation's section about multisession CD recording before you attempt to create a multisession CD.
...'')10
Due to some miscommunication between mpg123 and Gnometoaster it is currently not possible to convert single-channel mp3 files into audio tracks with Gnometoaster. mpg123 doesn't provide an option to force the creation of a raw stereo stream and there's no way Gnometoaster can get the information that a stream is either mono or stereo from mpg123. The filetype registry will support one more field for determining the track format in future versions, though. I apologize for this inconvience but I have to remind you that Gnometoaster is work in progress and that those little problems make about 80% of the work necessary to develop a program like Gnometoaster.
... double-speed11
300kb/sec. The minimum throughput you can currently buy cd writers with.
... TOC12
Table of Contents: That's what your common audio cd player/CDROM drive is reading when you insert a CD. The TOC of a disc is storing informations about the tracks on it.

next_inactive up previous
Andreas Eckleder 2001-06-04