This is version 4.3 tracker. Just a quick question-and-answer file. - What is tracker, what do I need to use it ? tracker is a generic soundtracker player for unix-like machines. You need an amiga or a sparcstation or an siligon graphics iris, or a PC with unix and soundblaster, or a DECstation, or an HP700... Your machine should be able to produce sounds, that goes without saying. You also need tunes to play (mod files). Some are available on nic.funet.fi, for instance. You will also want to get zoo and lha for your machines. They should be on nic.funet.fi or aminet. - How to compile it ? The Makefile should be self-explanatory. Mostly you need to set it up for your machine. The sparc/solaris target depends on which version of sunos you've got. You will notice if you set it up incorrectly. Right now, solaris is still a mess, so some hacking around might be needed. For the amiga and SAS/C, a smakefile is provided. - How to use it ? tracker -help will give you a good idea of what's available. - How does it compare with SparcTracker, or str32 ? Well it's better... No, actually it's the same program, but the name has changed as it was evolving. So anything labelled SparcTracker100, SparcTracker1.1, or sparctracker1.2 is OLD. Don't send me any bug reports about these older versions, this is useless. Well, I'll try not to change the name of the program again... - How does it compare with other trackers on the amiga ? First, its interface is not very friendly. But then, its source is in C, so it's easy to fix what you don't like, and it should get better over time. Also, it plays entirely by the rules, so it should work with any foreseeable releases of the OS, or even with audio cards that patch the audio.device in a reasonable way. However, there is more to it than meets the eye. The way tracker works is rather more intricate than most other players, and it should solve most timing problem in a rather elegant way. - What's new ? from 3.19: * full amiga support. Good playing model. * rewrote Makefile. * minor options changes. * much easier to tinker with than the previous versions. hooks for future upgrades everywhere. * tracker 3.xx is no longer supported. I won't answer to bug reports concerning it except to redirect you to the newer version. from 3.11: * amiga support ! Finally. * solaris 2.2 support. from 3.10: * general bug-fixes, plays some modules it goofed on (speed check, extended command loop now works). * repeat working better. * should be rather difficult to get cores out of it. * may fork when loading a new module, though not working satisfactorily yet. * almost readable scrolling display. * support for DECstations (thanks to Andrew Leahy (A.Leahy@st.nepean.uws.edu.au) * support for hpux (thanks to Bjoern Stabell (bjoerns@staff.cs.uit.no) * partial support for solaris from 3.9: * linux: small bug-fix, 16 bit support * general: bug in finetune fixed from 3.7: * background/foreground csh-aware mode, much cleaner termio. from 3.6: * support for linux (thanks to Hannu Savolainen (hsavolai@cs.helsinki.fi) * small bug fix in termio: restore to a sane tty on exit. from 3.0 (never released): * more efficient replay routine, works faster, all glitches finally suppressed (I hope). * more options, better integrated. * much cleaner source code. from 2.17: * tracker is aware of the sparcstation 10. * bug fix for command 5 (portamento slide), that now works like portamento. Mostly affects apocalypse module. * support for most protracker extended commands, including finetune. * dynamic adjustements to the output frequency, fast skip, much better user-response overall. * better runtime interface (without those strange signals sequences) * better screen output * audio flush on the sparc, don't have to wait 10sec+ to exit. - Which kind of modules can it play ? MOST soundtracker/noiseplayer/protracker modules should play out ok. Due to various disagreements between all the soundtracker versions (never forget soundtracker is an horrible HACK, a big KLUDGE), it is a *REAL* nightmare to try and make some commands work. What you have is my best effort at trying to outguess every soundtracker composer in existence... Obviously, I haven't completely succeeded. MED support I've thought of, but don't forget, to make tracker work, I need to reverse-engineer assembly routines coded like spaghetti, and transform it into more or less human-readable, normal C code. So up till now, I haven't had time enough to do the same with MED. Teijo's code is not exactly limpid, MEDplayer itself tends to change from release to release. So maybe one day... Here is what is missing from the protracker format * extended commands 3/4/7/13/14 Actually, if you know other player programs, you will notice that tracker is better at that compatibility game than most of them, like , or (names intentionnally omitted:-) ) - What are these weird things scrolling on my screen ? These are some informations on the current module, like its name, the distinct sample lengths and their names. Oh, you mean -scroll ? Well, this is the tune being played. Get any protracker doc, I think you'll understand what's going on. - I can't change the volume of the sound. That's intentional. There are other programs that do that quite well. What you really want is an audio control panel. There are some nifty ones around, just search carefully. There is no real need for tracker to support variable volume. - There are some ``not supported'' messages from time to time. tracker doesn't support the whole set of protracker commands, so it tells you when it doesn't play something the way it's supposed to be played. I don't know if I'll implement the remaining commands, as they are symptomatic for me that the mod format is just a big kludge, and not getting any better... - I want to use tracker on another machine. Then you'll have to port it. You can wedge in at two levels: either replace the audio.c file or the xxx_audio.c. The audio.c works at the amiga level: it interprets commands to play samples and repeat parts in terms of resampling them at the right frequency. If your machine supports four fully independent channels (like the amiga), you shouldn't have to resample, but instead issue the proper commands for these samples to play. Else, you'll have to use resampling, and going through a specialized xxx/audio file. The examples you have should be quite enough. If your unix is funky enough, define your machine to use stubs in Unix/ui.c at first, then try to get it back into action... If you make tracker run on another machine, please send me the required changes. Try to keep it to the audio.c xxx/audio.c and xxx/ui.c file If you make any other enhancement, I might like to incorporate it in a further release, but that part of the code may have evolved beyond control in between. xxx/audio files I can grope ! - How do I know which version I have ? Look at the version strings embedded in the various source files, and into the program itself. The highest one is the winner (usually the one from main.c). - What's going to happen next ? Porting tracker back to the amiga was very insightful. Even though I didn't have to change the source much, I now have lots of ideas about things to add and change throughout the whole source. The next version will probably be sturdier, easier to modify, and it will probably possible to hook a real graphic interface somewhere. Also, I intend to implement better recognition of various variants of the tracker format at some point, and even MED support maybe. There will probably be some interface to sox in the near future, plus some sturdier tools to read modules, extract samples from them, and compress them better (using gzip/lha/zip to compress the module part, and shorten for the samples part). Well, the code IS sturdier and easier to modify now, and the amiga version features a fully graphic user interface. I don't intend to add an X window interface to the unix version in the near future as I don't have the time. However, all the hooks are there, so if you want to do it, go ahead. Recognition of Med format files still turns out to be a rather nasty problem, especially since there are so many incompatible MED formats, and so little documentation. Tikkunen is a good programmer, but a poor doc writer... Marc Espie