MP3c - an automated audio-cd -> mp3 converter 1. What is this program? ------------------------ If you like music, you may know the MP3-format. This format was developed to save you favourite music in little files (normally about 3-4 MB), so that you can save a lot of different songs on your hard-drive and play it. If you have many audio-cds you may be want to convert it to mp3-format without much work. So you got this program, and you will be able to insert a cd and encode it without any problems. Yes, you even can put this program into your CRONTAB and do the encode automatically (just insert one cd in the evening and go to bed. On the next morning you will have your new mp3-files on your hard-disk ;-) 2. How does it works? --------------------- Unfortunately you cannot find any information about artist and title on the cd, at the moment. Therefore an huge database called CDDB exists. With a special algorithm you could calculate an hash-value from the number and length of tracks on your cd and get an unique ID in most cases. With this ID you can receive useful information about a cd (eg album-title and title of each song) if you ask a CDDB-server. Well, this isn't trivial if you have a sampler-cd with many different artists. An CDDB-entry stores only one global artist for the complete cd. Fortunately, you often can find artist information in the track-title field. MP3c tries to find as much as possible of this informations (I will later explain some things about this). If you only have this program and nothing else, hmmm, you have a problem ;-) You know the UN*X-philosophies (you have an UN*X-system installed, do you? If not go and get a copy of Linux)? Normally you have one tool for one task, so this program does not grab the audio-data from your cds, nor encode it to mp3-format. This is a task for some other programs. You should look for such programs (you can use any program that you like). 3. What do you need? -------------------- Like explained in (2.) you should have a working cdripper and an mp3-encoder on your system. To set up MP3-ID-fields you also need a program which can set these tags. It is also useful to have access to any CDDB-server to receive information about a cd automatically (or you have to type in every information by your own). You can also look for an current package with lots of CDDB-entries, but it costs you a lot of space on your hard-disk. Here you can get useful software, if you need it: a) cdripper: -Cd-paranoia: http://www.mit.edu/afs/sipb/user/xiphmont/cdparanoia/index.html -cdda2wav: http://www.fokus.gmd.de/nthp/employees/schilling/cdrecord.html b) mp3encoder: ftp://wopr.campus.luth.se/pub/mpeg_layer_3 http://bladeenc.mp3.no http://www.sulaco.org/mp3 c) mp3info: ftp://ftp.ssi.aaum.pt/pub/linux/mp3info/mp3info-0.3.1.tgz You also find a package which include all needed programs at once on: ftp://ftp.wspse.de/pub/linux/wspse Using of "cdparanoia": If you use cdparanoia with MP3c in interactive mode, you won't see any progress information when you grab an audio-track. MP3c reads information from cdparanoia over a pipe, and cdparanoia won't output any progress-information to a pipe (don't know why). Since MP3c can handle the normal output of cdparanoia without any problems, you should patch cdparanoia. Look for the procedure "static void callback" in the "main.c"-file of the Cd-paranoia package (in the current version its around line 348). You find there the expression static printit=-1; change it to static printit=1; and you can see progress of ripping in MP3c. Using of "encoder": If you want to see information about bit-rate, etc. with encoder 1.02, you must insert one line. This isn't really necessary, since progress-information is handled correctly by encoder, but maybe you want to see every other information ;-) The file "musicin.c" has a procedure called "void print_config". Just insert fflush(stdout); after the last printf-line. Note about patching: It isn't necessary to patch any of the programs, you will only miss some progress information. You can find diff-files included in this package, just use the "patch"-command to patch cdparanoia and/or encoder (see manual page of patch for more information). If you downloaded the complete package from "ftp://excelsior.kullen.rwth-aachen.de/pub/linux/wspse", you're happy, because the included packages are already patched. 4. How to build this program ---------------------------- You find some useful information in the "INSTALL"-file coming with this package. Like usual on UN*X-systems, you can build MP3c by typing ./configure [--enable-oggdefaults] make install in the top-directory of this package. If you specify "--enable-oggdefaults" the compiled in default values will be suitable for encoding OGG files. Default prefix is "/usr/local", you can change it by typing "./configure --prefix=[dir]". Main-program "mp3c" is stored in "$prefix/bin/mp3c", the manual page in "$prefix/man/man1/mp3c.1". There aren't any more files. 5. Configure MP3c ----------------- On startup, MP3c looks for a config-file, containing information about default-cdrom-device, CDDB-server, filename-creation pattern, and similar. It first looks in the home-directory of the user who started the program, for the file ".mp3crc". If it cannot find a config file here, it looks for "$prefix/etc/mp3crc". You can specify another config-file by calling MP3c with the arguments "-i <file>". If no config-file is found, MP3c uses in-compiled defaults. An example-config file will be created, if you start mp3c interactively and exit. You can edit the new config-file (look for "~/.mp3crc") manually, or use the built-in option-menu. 6. Running MP3c --------------- There are two different modes: a) interactively with menu-environment (based on ncurses-library) b) batch-mode (where the program only produce a shell-script and exits) 7. Running MP3c normally (interactive) -------------------------------------- On startup MP3c reads config-file and get the TOC of the cd inserted in your cdrom-device. It then tries to receive CDDB-information. After this you can see the content of the cd (or an error-message if MP3c wasn't able to initialise, forgot to insert cd? ;-) All entries will displayed with yellow colour to signalise that this tracks should be converted to mp3-format (all tracks which should be converted will display white). There is a long cursor-bar which shows you the current track. On the bottom of the screen you also see a little status window about the current track. You can use the arrow-keys to move the bar up and down. For fast scrolling you can also use page-up and -down key, and Pos1 and End-key. Each track is displayed with his title and the artist-name in brackets. On the bottom you also see the album-name, the output-file name, the year, the genre and the on-the-fly field of the selected track. First you should know, what it means if a track is selected or not: As default all tracks are selected (they are displayed with yellow colour). These selected tracks will be converted to mp3-format later. If you doesn't want to convert the complete cd, you can press "SPACE" or "DELETE" to unselect a track (it will then displayed with white/gray colour). To reselect a track, just press "SPACE" or "DELETE" on an unselected track. If you press "*" you reverse selection/unselection-flag. All tracks which are selected at the moment will become unselected and vice-versa. If you ever encounter a problem, just press "F1" or "H" to get a little help. 7a. How to change information about tracks. ------------------------------------------- If there wasn't any CDDB-entry available, or wrong information, you can manually change the information. The first thing may, that artist-name and song-title are permuted. This sometimes happens on sampler-cds with various artists. You can press here "s" to swap artist and title of the current track, or "ALT+s" to swap it for all selected tracks. To input the artist-name for the current track, press "a". To input the title press "t". With "b" you can input the album-name of the current track. "y" let you input the year for the track, and "c" a comment. With "g" you can select the genre. If you press "o" you toggle the "on-the-fly" flag (I will explain this later). For some information it is not useful to input it more than one time. Therefore you can use the ALT-key. This will perform operation on all tracks which are selected. If you press "ALT+b" for example, you can input the album-title for all selected tracks. If this isn't useful, (eg on title) you will asked for each track separately. In this case you can press the ALT-key together with the SHIFT-key. So "ALT-SHIFT+t" ask you for a title and set it for all selected tracks. This isn't really useful for track-titles, but for the year. It should be obviously how this works NEW: Alter-menu. See above for more information. 7b. Other keys -------------- "F1" opens a little help-window. With "F2" you enter the option-menu. "F3" finally starts the encoding of all selected tracks. If you only want to convert the current track, press "F4". To create a shell-script, press "F5". You can now select a directory and a filename for this script. With "F6" you can rip all tracks without encoding (see below) or rip just the actual track by pressing "F7". To exit the program press "F12". If you enabled "auto-save", your configuration will saved automatically. With TAB you can change to the right side of the window. See below for details. After inserting a new cd, press "v" to initialise the new volume. One special key is "F" (press "SHIFT+f"). This contacts the CDDB-server and receive every available entry for the inserted cd, even if you have an entry in your local database. "w", "W", "r", and "d" for special tracklist handling (see below). Use "p" to play the current track from CD, press "x" to stop playing. With "e" you can open, with "E" (Shift+"e") you can close the tray of your CDrom (if supported). "l" locks/unlocks remote CDDB access. "m" saves the data of the current cd in your local CDDB database. "M" (Shift+"m") transmits the data to the internet CDDB server. 7c. Options ----------- With "F2" you open the options-menu. Here you can configure all things, save and load a configuration (you can of course edit your configuration-file manually). Available options: *) cdrom-device: This is your cdrom-device you want to use to grab your audio-cd. (it should be work with your ripper of course). Default: "/dev/cdrom" *) cddb-server: This is the server which is connected to get information about your cds. It consists of a server-name and a port-number, separated by a colon ":". If you don't have access to internet, but a local database, or just want to input data manually, input a single zero "0" for cddb-server, and no connect is tried. You can seperate more CDDB servers by comma. Default: "freedb.org:888,cddb.cddb.com:8880" *) cddb-mailaddress: To this address your CDDB entries are submitted. You can seperate more address by a comma. Each entry consists of the userpart an "at" (@) and the domain. Default: "freedb-submit@freedb.org" *) smtp-server: This is your relaying SMTP server. Like the cddb-server it consists of a servername and a port-number/name seperated by a colon. This server is used to send a mail to the cddb- server, so make sure that the entry is correct (and relaying allowed). Default: localhost:smtp *) my-mailaddress: This is your mailaddress which will be used as sender for your CDDB entries. If these address is not correct your SMTP server might refuse relaying. Default: user@localhost *) cddb-directory: Each CDDB-entry which is loaded from cddb-server must be stored in a directory. You should insert the cddb-dir of your default cd-player (eg kscd or xmcd). Select directory with the requester and press "F1". Default: "/opt/kde/share/apps/kscd/cddb/" *) remote-cddb-access: This enables or disabled remote CDDB access. This switch can also set by pressing "l" outside the optionwindow. Default: yes (enabled) *) mp3-directory: Directory where new created mp3-files will be stored. Default: "./" *) pattern: You can define how the filenames of new created mp3-files should look like. Input a pattern and be happy. Of course you can use special strings for title, artist, and so on: %1 will be replaced with artist-name. %2 will be replaced with song-title. %3 will be replaced with album-name. %4 will be replaced with genre. %5 will be replaced with year. %6 will be replaced with track-number. %7 will be replaced with track-number zero-padded ("1" -> "01") %8 will be replaced with the CDDB discid. Default: "%1-%2.mp3" Also nice: "%1-%3-%7-%2.mp3" NEW: You can use slashes ("/"). MP3c will create all needed subdirectories automatically, even in batch-scripts (there it uses "mkdir -p <dir>"). So you can even use a pattern like this: "%1/%3-%5/%7-%2.mp3". *) pattern-mode: Select how spaces in filenames will be handled. A value of "0" allows spaces in filenames. "1" says that any space should be converted to an user defined character. If you input a value of "2" every space will be killed. *) space-replace-character: this character will used to replace spaces if patternmode is "1". *) case-change: Select case of filenames. A value of "0" will leave the case untouched. "1" says that the filename should be converted to lower case. If you input a value of "2" the filename will be converted to upper case. Example: the filename consists of "ArTiSt" 0: untouched, will output "ArTiSt" 1: lower, will output "artist" 2: upper, will output "ARTIST" Special: if 1 (lower) and to-upper-mode (see below) is both set it will output "Artist", so this is a really nice setting. *) to-upper-mode: If this is enabled every letter of a word in a filename is converted to-upper. eg "my heart will go on" is converted to "My Heart Will Go On". Default: enabled *) illegal characters: input here all characters you didn't like in your filename. Each character which you input here is killed in filename if patternmode == 2, or is replaced by an underscore "_" if patternmode == 1. *) what to do with ill chars: here you can select if illegal characters should be removed completly (regardless to patternmode), or if patternmode should be used otherwise. *) replace slash character: sometimes a track-title or other field contains a slash. To avoid senseless directory creation you can replace this slash by the character you input here. *) handling of allowed characters: this increases or decreases the number of allowed characters in inputbox and CDDB entry. Set this to "non-strict" if you want to type in umlauts, or other ascii- characters which aren't allowed else. *) m3u-playlist-pattern: pattern for playlistname. Use "0" to disable playlist creation. use "%1" for artistname, "%2" for songtitle, "%3" for albumname, "%4" for genre, "%5" for year, "%6" for tracknumber, "%7" for tracknumber with leading zero and "%8" for CDDB discid. (just the same like for mp3-filename) *) m3u-dest-dir: destination directory for playlists. You can select a directory, or simply use the mp3-directory. *) creation mode of m3u: Here you can select how the entries in playlists look like. You have three possibilities. Assume your mp3-file has the name "QueenOfRain.mp3", your mp3-dir is "/home/mp3s/Roxette/Tourism/" and your m3u-name is "/home/m3us/Roxette/Tourism.m3u" (eg. mp3-name = "%1/%3/%2.mp3", mp3-dir = "/home/mp3s" and m3u-dir = "/home/m3us" (with m3u-pat "%1/%3.m3u") 0) fullpath is used, the entry will look like this: "/home/mp3s/Roxette/Tourism/QueenOfRain.mp3". 1) relative to m3u-maindir and the entry looks like this: "../mp3s/Roxette/Tourism/QueenOfRain.mp3". 2) relative to playlist produces this entry: "../../mp3s/Roxette/Tourism/QueenOfRain.mp3" *) auto-save-flag: If enabled config will be saved on exit. *) encode on-fly default: here you can set if you like on-fly encoding as default. So you mustn't change the flag if you are only encoding on-the-fly ;-) *) rip all tracks before encoding: if you enable this option all tracks will be ripped before encoding starts. NOTE: This might use a lot of MBs on your harddisk. All ripped tracks will be stored in default tempdirectory! *) fancy-colour: not very useful. It changes colours on the active window. If you don't like it, disable it with "0" or enable it with "1". On some windows it is disabled because it looks bad. Input a value of "2" to enable this even on these windows. *) cdripper program: input your favourite program for grabbing auto-data from your cds (in wav-format). There are two settings. One for ripping data to file (non-fly) and one for ripping it to stdout (on-fly). usage "%1" for cdrom-device, "%2" for track (numeric) and "%3" for output-file (only for non-fly ripping). *) encoder program: like for the ripper program you should input your favourite encoder program here. You also have two settings. One for encoding wav->mp3 from file to file (non-fly) and one for encoding wav->mp3 from stdin to file (on-fly). For non-fly use "%1" for input-file and "%2" for output-file. For on-fly use "%1" for output-file. *) program for setting mp3 tags: this is your favourite program for setting mp3-id-fields. You can use these pattern: "%1": artist-name, "%2": song-title, "%3": album-name, "%4": genre (by number), "%5": year, "%6": comment, "%7": mp3filename, "%8": genre (by name). *) mp3-comment: pattern for comment (which will be set by Tag-program). Here you can use the same pattern like for filename-creation. There are also some additional patterns: "%8": includes version of MP3c, "%a": encoding-day, "%b": encoding-month, "%c": encoding-year (2 digits), "%d": encoding-year (4 digits), "%e": encoding-weekday (3 letters), "%f": encoding-month (3 letters), "%g": encoding-hour, "%h": encoding-minute, "%i": length of track (minute-part), "%j": length of track (second-part). New: "%9" includes CDDB discid. *) string for unknown genre: input here the string you like to see if unknown genre is selected (this might also be useful if your mp3-tag program does not like "Unknown" as genre). *) open tray: if this is set, the tray of the CDrom is opened after encoding is finished. *) size of FIFO-buffer: this value is used for on-the-fly encoding. Input-data from cdripper is buffered before outputting it to the encoder. You can use a value between 16 and 8192 KB. Default: 512 KB. Note: A FIFO isn't really needed, so use no high values, because you will use some memory otherwise ;-) *) temp-file: used for non-fly encoding. Ripper outputs his data into this file and encoder reads from this file. Is deleted afterwards. There is some unique data added to rip more tracks and cds before encoding, but do not worry about any ".wav" ending, it will not be destroyed. *) del tmp-files on exit: If you rip several tracks without encoding them, they will be put on the right side for later encoding (there you can encode or export/import them, see below). If you quit MP3c with such remaining files, this option controls what should be done: 0: each tempfile will be leave untouched 1: every file with set "delflag" is deleted 2: every tempfile is deleted *) exportfile: This file is used if you export tracks from your right window. Just select a file. You can overwrite or add entries to this. *) clear delflag: Here you can set which value the "delflag" should have if you export any track to the listfile. Yes: the delflag will be disabled. No: the delflag will stay as it is. *) parallel sessions: If you have worries about overwriting your exportfile or other uncontrolled things, you can set this value to "no" and MP3c will output a warning if an other sessions of MP3c is still running. *) requester: You always should set this to "yes" and you will get nice requester for selecting files and directories. Otherwise you have to input the names manually. With "load defaults", in-compiled defaults will be loaded. 7d. Input-box ------------ Just input a string here. You can use arrow-keys, and "Pos1" and "End" to scroll through the line. To cancel input, press Tabulator-key to select "Cancel"-field and press "Enter". 7e. Select-box ------------- Use arrow-keys, Page up/down, Pos1 and End, as usual, to move through box. Press "Enter" to select, or "q" to Cancel. 8. Running MP3c in non-interactive mode --------------------------------------- Maybe you don't like programs with an user-interface ;-) Or you want to automatise the mp3-creation. So you can run MP3c in non-interactive mode and let it create a shell-script which you can run afterwards or store it into your Crontab. Just call "mp3c -b <batch-file>". It reads your config-file as usual (of course you can use the "-i <file>" option too), reads cd and outputs a script called "batch-file". You can then start this script and your mp3-files are created. If you want to encode more than one cd at night (and you have multiple cdrom- drives), you can use "-d <device>" to specify a device on cmdline. 9. What the heck do I mean with "non-fly" and "on-fly" encoding? ---------------------------------------------------------------- Usually a track is ripped from cd and after finishing this, it is encoded to mp3. A last the TAG-information is created. This is the normal method to convert audio-cds to mp3, but you need a temp-file for this (sometimes up to 50-100 MB). With MP3c it is also possible, to convert "on-the-fly". That means, that the ripper-program outputs his wav-data to stdout. This is redirected (via a pipe) to the encoder program. Here no temp-file is needed. Which encoding type should you use? Its recommended that you use "non-fly" encoding, unless you haven't enough memory on your hard-drive for the temp-file. There are some disadvantages with "on-fly" encoding: a) ripping audio-tracks is normally faster than encoding mp3. This means that your cdrom-drive has to spin sometimes longer than normal. b) It seems that encoder 1.02 (I have not tested other encoders) produces sometimes a little "click" at the beginning of mp3-files, if data is coming via stdin (maybe because pipes aren't rewind-able). 10. CDDB -------- On sampler cds (with various artists), MP3c tries several things to find artist-information for each track. Sometimes artist and title is separated by "-" or "/". This is no problem for MP3c. Other-times a title looks like this: "title (artist)". MP3c even recognises this. In some special cases, artist-information is stored in the "extended"-field of a CDDB-entry. Of course this isn't a problem for MP3c ;-) In my tests every cd was recognised clearly. But it may fail: -because there aren't really no artist information in the CDDB-entry (you can check this, if you take a look in your local cddb-directory). -because MP3c doesn't recognise your cd as a sampler (well, maybe a keyword is missing. It will try to fix this, if you send the CDDB-entry to <wsp@gmx.de> -because nobody is perfect ;-) Please send the entry to <wsp@gmx.de> On sampler CDs, sometimes a track has the information "artist - title" and sometimes "title - artist". It is impossible for MP3c to recognise if artist or title is coming first (well, it could be possible to program a hash-function with a big artist-database, but this wouldn't work 100%, and wouldn't really useful), so you should control if information is corrected. If Artistname and songtitle is interchanged, just press "ALT+s", and be happy ;-) MP3c also tries to detect genre and year of the cd automatically. Since the year-info isn't stored in a CDDB-entry very often (around 5-10%), you should input this manually, just press "ALT-SHIFT+y". Currently there are 115 different genres for mp3-files, but only 10 for CDDB, so you should select the right genre by pressing "ALT+g". 11. Something about the year-tag -------------------------------- As you noticed the publishing-year of songs is stored in mp3-info tags. But there is a problem: this information isn't stored in a CDDB-entry. Only some CDDB-compatible cd-software insert a comment with a generated info. If this info exists MP3c uses it (it might be that the generation info is not correct). Otherwise "1999" is used as default. So the first thing you should do before encoding, is to control the year-info. In most cases you have to correct this. Just press Meta+j (or use the alter-menu). One additional note: I was informed that pattern in mp3-comment is somehow confusing because of lots of year-patterns. Please notice that every year pattern use the information stored with a track (see statusline on lower part of window), ONLY in mp3-comment there are the patterns %c and %d, which insert the current year. 12. Alter-menu -------------- This new feature was added lately. By pressing "Enter" on any track you can open an alter-menu. Here you can see all informations about the current track at once. The first time you enter this menu, you see a lot of lines beginning with "[ ]". Once you input any data this will change to "[*]". I hope that it is obviously how it works: if you apply the changes (to one or all tracks) only the fields marked by "[*]" will be changed. You can swap "[ ]" to "[*]" and vice versa by pressing SPACE. Example: Maybe you want to change Albumname and Year for all tracks. Just open Altermenu by pressing ENTER. Then select "Album" and input the data. After this select "Year" and input the right year. Now the fields "Album" and "Year" should be marked with "[*]". If you select "Set values for ALL tracks", these new data is stored for all tracks. You also can store these data only for the current track (you see the track number on windowheader) by selecting "Set values for this track", or for all marked tracks by selecting "Set values for all marked tracks". I think this alter-menu is some kind easier to use than all the shortcuts, but you can use both things of course. 13. Playlists (*.m3u) --------------------- MP3c supports the creation of playlists (m3u-files) for the tracks you encode. You can use a global playlist, or a single playlist for each cd. Go to option-menu and input a filename-pattern (this can be a filename like "my-mp3s.m3u" or a filename which contains patterns like "mp3s from %1.m3u"). Allowed patterns are: %1 for artistname and %2 for albumname. Normally playlist will be stored in your mp3-files directory. Of course you can select a different directory, just go to option menu. Some more notes about this: -an entry is added to the playlist AFTER encoding (of the current track) finished, and was successful. -MP3c first looks into the playlist-file if there is already an entry like this. MP3c wouldn't add a second entry. -adding to playlist is also implemented in the batch-scriptfile. The script would also add an entry after encoding (but no check if an entry already exists). -if you don't like playlists ;-) just input a single zero "0" as m3u-pattern. 14. Ripping only, tracklists and the right window ------------------------------------------------- It is possible to rip several cds without encoding them at once. It is also possible to save datas about these ripped tracks and reload them at any later time. Therefore the right window is there. Every time you rip a track but do not encode it, it will be transfer to the right side (this is also be done if encoding fails to any reason). By pressing F6 on the left side, all marked tracks of the left side will be ripped and transfered to the right side. By pressing F7 this is be done only for the actual track. You can switch between left and right side just by pressing the Tab-key. You will be notice that you can do every thing on the right side you know from the left one (scrolling with CRSR, marking/unmarking with space, alter information in alter-menu (see above) by pressing Return). Only one thing changed: there is no "on-fly" flag any longer, it is useless because the track is already ripped, so it is gone. Instead of this there is now a "delete" flag. This flag controls if the tempfile should be deleting after encoding it (it is also used on exit, see options). If you encode any track and the flag is set, the tempfile is deleted, otherwise it will still exist on your harddisk. You can switch the flag as you did for the "on-fly" flag on the left side (by pressing "o", or using the alter-menu). By pressing "F3" or "F6" you can start encoding for all marked tracks, "F4" and "F7" just encode the actual track. With "F8" you delete all marked tracks, with "F9" you delete the actual track from list. Note: for any track with set "delete" flag, its tempfile is also removed. If you think that there are dead files on the right window, press "d". This removes every entry were the tempfile is not longer existing. By pressing "w" you can export the actual track to your tracklist file, with "W" you export all marked files. In this export MP3c write information (all datas like artist, genre, filename, etc) into the listfile you specified in the option-menu. If this file is already existing you can select if it should be overwritten or if the new entries should be added instead (do not worry if any track is stored twice in the file, MP3c detect this automaticly). If you exported all your data you can leave MP3c and do encoding at any later time, but watch the "delflag" and the setting in option-menu. You should disable all delflags, or set deletion of tempfiles to "never" in option-menu. Pressing "r" imports all tracks from your listfile, you saved in any session before. 15. CVS Repository ------------------ MP3c has its own CVS repository with anonymous read access. Here are the neccessary informations: pserver: cvs@wspse.de:/public repository: mp3c password: anonymous To get repository: export CVSROOT=":pserver:cvs@wspse.de:/public cvs login (here input "anonymous" as password) cvs checkout mp3c To update repository: cd /your/mp3c-repository/directory cvs update 16. Copying ----------- Of course: GNU General Public License take a look at "COPYING" 17. Bugs and other things ------------------------- If you find a bug try to sell it to mirc*s*ft ;-) If you don't want this, send me a (useful!) notice about this, to: "Matthias Hensler <matthias@wspse.de>" You find this program here: ftp://ftp.wspse.de/pub/linux/wspse My home-page: http://www.wspse.de/ Thanks for using this program Matthias Hensler, WSPse, in June 1999 Update: Matthias Hensler, March 2006 18. Suggestions --------------- You miss some feature? Please mail me, and I will try to implement it. Actually I got suggestions for most new features from other people, so if you want to be added to ChangeLog ;-) mailto <matthias@wspse.de>