Or lack thereof. 1. 5.1 or 4.0 surround sound output. Make 5.1 or 4.0 wave files with the "-Ow" option or ac3 files with the "-Od" option. Make AC3 files (pseudo-Dolby Digital). 2. Use samples from (a) GUS patches, (b) extended GUS patches, (c) AWE Soundfonts, and (d) SFZ patches. The configuration file syntax lets you use them in combination and mix them up any way you want. Gt implements velocity layers and stereo instruments in soundfont instruments, extended GUS patches, and SFZ patches. Soundfonts can be loaded in toto or by bank and preset. 3. Included utility programs for (a) extracting extended GUS patches from soundfonts (unsf), (b) deriving GUS patches from SFZ patches (sfz2pat), (b) displaying info about extended GUS patches (patinfo), (c) creating stereo patches from mono patches (patcat), (d) constructing config files for Soundfonts (sf2cfg). A simple midi file disassember is also included. 4. Spruced up on-screen help with "gt -h". Now it shows what the default config file is and any patch set options you've set up in the config file with "if" statements. 5. Play lists of all the midi files in a directory are constructed automatically for a single directory named on the command line, or for the current directory, if no file or directory arguments are given. 6. Alsa sound driver only -- I removed all the other sound drivers. I don't know how to get multichannel sound using other drivers. 7. Linux systems only -- I removed support for compiling on other systems. It might still compile on another Unix system -- I don't know. 8. The ncurses and Dumb terminal interfaces only -- I removed all the other user interfaces. 9. No filters for effects. Instead, doubling up notes is used to produce pseudo-reverb and -chorus. 10. Controlled use of memory: gt will keep its use of memory for patches within bounds that you set. In playing a list of midi files, it keeps track of which patches haven't been used recently, and discards them as necessary to keep within its alloted memory. In loading large soundfonts, the files are memory mapped to load patches more efficiently (on little endian systems), unless this would exceed allowed memory, in which case patches are loaded the slow way. The permissible amount of memory is 250 megs by default and can be set with the "-r" option from the command line or in the main config file. Gt reports on how much memory it used after playing each midi. 11. Clipping reports: In trimming down its output samples to fit into 16 bit words (typically what you use), some samples have to be clipped back to fit. Gt counts the number of times it has to do this and reports, as a guide to how much amplification you can afford to use without excessive distortion. You can lower amplification sufficiently to avoid all clipping, but then the music loses some life. 12. Eric Welsh studied the relation between XG and GS/GM conventions for intrument banks and instrument numbering, and included "map" statements in the config files he prepared for his "eawpats". These "map" statements are read and interpreted by Timidity++. Gt's config file reader does not understand "map" statements; however, I've incorporated Eric's XG mapping directly into gt's code. So "map" statements are not required, and Eric's XG mappings work whether or not you use the "eawpats".