SurfSmurf's Oldsk00l MOD player

...Introduction...

Oldsk00l player is an input plugin for WinAmp. It has been designed to
play those old old Amiga MOD files correctly because the player that comes
with WinAmp just doesn't cut it when you try and play a 15 instrument or
Noisetracker MOD. As an added bonus, the Protracker replayer is more
compatible too! For completeness, multichannel MOD type files
are handled as well.

Unlike many other players, module types are NOT converted to an internal
generic format before being played. While this is a nice idea it almost
always goes wrong. Instead every format has its very own player that
plays that format and that format only for 100% exact interpretation.

Other Amiga moduletypes are also supported. Some of these are played
through an embedded Amiga emulator because the player is contained in the
module (this is why the plugin is now so big, the emulator is well over
400k). The current list of supported formats include:


Player                             Native/Emulated
..................................................
Brian Postma's SoundMon 1.0-2.2    Native
Future Composer 1.0-1.4            Native
Oktalyzer                          Native
SoundFX 1.3-2.0                    Native
Noisetracker                       Native
Protracker                         Native
Startrekker                        Native
Soundtracker                       Native
Ultimate Soundtracker              Native
David Whittaker                    Emulated
DeliTracker CUSTOM modules         Emulated
Delta Music 2.0                    Emulated
Fred Editor                        Emulated
Jochen Hippel                      Emulated
Maniacs Of Noise                   Emulated
Mark II                            Emulated
Music Assembler                    Emulated
SidMon 1                           Emulated


The DeliTracker CUSTOM support is not yet complete but is constantly being
improved, 90% of the ones I have work right now.

David Whittaker is also not yet complete, it plays about 50% of the mods
I have of this type.

The excellent Starscream 680x0 emulation library by Neill Corlett
(corlett@elwha.nrrc.ncsu.edu) is used for the emulated players.


...Installation...

As you would with any other plugin, just copy it to WinAmp's plugin
directory.


...How to use...

Load a file with WinAmp. That's it. If the file is supported, you should
hear some sound.

You can seek in the file with WinAmp's seekbar and the operation is
perfectly emulated; samples, volume slides, vibrato etc are started in
exactly the same place as they would have been had you played the mod
normally. This is even true for emulated players but beware, seeking in
emulated players can be quite slow, particularly on a modest PC.

If you click the module title in WinAmp's main window, a file info window
will be displayed. Here you can read some vital and extremely interesting
information about the module. If the module supports subsongs, this is
also where you switch to another song.

If the MOD detection routine should detect the MOD type wrong (hey,
distinguishing Protracker from Noisetracker is an extremely inexact
science), you can also change it in the mod info window.

The name scrolly thing (TM) also displays samplenames starting with a #,
normally used for authorname.


...Config...

If you bring up the plugin's config window (either through the fileinfo
window or the normal way, through the Input page in WinAmp's prefs), you
can change the plugin's behaviour to suit your taste. Probably the most
important being the stereo separation which makes those old Soundtracker
MODs sound nice (read: bearable) through headphones.

If you've got a really potent soundcard or want to listen to tunes with
the original Amiga frequency, you can also change the samplerate here.

Other obscure prefs are:


Mixing properties:

"Filtering" - Never : No filtering, just like the Amiga
              Always : Enables sample filtering, microvolume ramping and
                       crossfading for supahsmooth output.
              Smart : Filtering enabled for all samples but chip-type
                      sounds, 'cos that generally sounds bad. This is the
                      recommended setting.

"Emulate LED" - When ON, the Amiga's filter/led will be emulated.
                When OFF, the filter is permanently off.


Protracker properties:

"Strip trailing pause" - Some composers fill the last pattern with
                         delay commands. This option will remove the
                         trailing pause from the mod. Recommended.

"Ignore F00" - Apparently some mods use F00 but want it skipped? The F00
               will stop the module, if a mod seems to end prematurely,
               try this option.


Environment properties:

"Remember positions" - Window positions will be remembered.


...Hints...

- If you use "Read Extended Info On Load" in WinAmp's Options menu, loading
a big playlist will be very slow. All filetypes will have to be detected
and the title extracted.

- Fileextensions don't matter! Just drag'n drop your mods!

- Unsupported CUSTOM modules:
CUST.Giants - 68020 instructions used


...What's next...

Even more players! Your suggestions are very welcome, as long as it isn't
TFMX ;)  There's already a player for that at http://listen.to/tfmx


Let's go back to the oldsk00l!

Carsten Sørensen
carstens@ite.dk (work)
surfsmurf@get2net.dk
http://hjem.get2net.dk/surfsmurf


...History...

0.89 : NEW          : Oktalyzer support.
       Mixer        : Floating point mixing, supahsmooth filtering,
                      microvolume ramping and automatic crossfading added
                      --> no more clicks!
       Mixer        : Smart filtering added, this disables filtering
                      for "chip"-type sounds.
       Mixer        : Volume level for >4 channel mods boosted.
       General      : Memory leaks fixed.
	   Protracker   : Fixed offset command with no instrument number.
	   Protracker   : Arpeggio with out of range argument fixed.

0.88 : SORRY!       : Once again I mess up. Deli Custom mods now work
                      again.
       NEW          : SoundFX 2.0 support.

0.87 : MiniAmiga    : More improvements to the audio interrupt emulation,
                      almost there now!
       MiniAmiga    : Hunk parser improved
       General      : Delay in subsong selection removed
       NEW          : Ultimate Soundtracker support, many thanks to
                      Michael Schwendt for help and docs!
       NEW          : Music Assembler support.
       NEW          : Fred Editor support.
       NEW          : Mark II support.
       NEW          : Experimental David Whittaker support.
       NEW          : Amarok support for easy selection of subsongs. Get
                      Amarok from http://www.sundin.nu

0.86 : SORRY!       : Oops, the 0.85 uploaded to my site was not the final
                      version! It would crash on many files, also most
                      mp3's! My sincerest apologies, this one is the right
                      version.
       MiniAmiga    : Improved audio interrupts, fixing a couple of CUSTOM
                      modules.

0.85 : SoundFX      : Bug when loading missing files fixed
       ProTracker   : Subtle EDx bug fixed
       NEW          : DeliTracker CUSTOM modules supported (yeah!!)
                      Support not yet complete, you might experience crashes
                      or non supported modules
       NEW          : Delta Music 2.0 support
       NEW          : SidMon 1 support
       General      : Playthread sleep strategy improved.
       General      : Docs cleaned up, about time too!

0.84 : NEW          : Starscream 68k emulator added, thus I now support the
                      Jochen Hippel and Maniacs of Noise formats with their
                      players embedded in the module.

0.83 : ProTracker   : Pattern loop freeze (Baygon main tune) fixed.
       General      : Filter clicks fixed
       NEW          : SoundFX 1.3 player added
       General      : File extension code fixed
       NEW          : Samplerate can now be adjusted from the config
       NEW          : Sample Interpolation option implemented

0.82 : General      : NT Alpha port! Check out the web-page for info.

       Future Comp  : File extensions fixed
       General      : Various dialogs now respond to the window close
                      button. Oops.
       General      : Filter emulation added.
       ProTracker   : SongEnd detection improved (thanks to Lasse Jari Hansen)
       ProTracker   : Instrument w/o note fixed (ditto)
       ProTracker   : Ignore F00 option added (...and again)
       ProTracker   : Out-of-range volume bug fixed (guess who?)
       ProTracker   : Strip trailing pause option added (no hints)
       General      : Remember window position option added (...)

    By now I'd given up and Lasse added the following himself:

       General      : oldsk00l.ini is now saved to the Winamp\Plugins
                      directory. Yay!
       General      : Configurable file-extensions! Don't like the
                      default ones? Open up the winamp\plugins\oldsk00l.ini
                      file and hack away! Lasse mumbled something about
                      a config dialog but that's for a later release.

0.81 : NEW          : Brian Postma's SoundMon support! Hurrah!
       Future Comp  : Playlist fileinfo bug fixed.
       NoiseTracker : Pattern Break argument ignored.
       NoiseTracker : Arrrrrrgh! There are subtle differences
                      between NoiseTracker 1.0-1.1 and 1.2-2.0 in the
                      handling of out-of-range speed arguments.
                      The MOD detection can't distinguish between
                      the versions and will default to 1.2+.
       ProTracker   : Pattern Break argument checked to see if it's
                      valid, fixing a crash bug with crap mods.
       ProTracker   : Retrig Note command w/zero argument fixed.
       ProTracker   : Note delay w/zero argument will now cause a
                      weird flange type effect (quite anal, thanks
                      to Anthony 'Airon' Oetzmann ;)
       General      : End of mod detection improved. (Thanks Trevor N)
       General      : A couple of memory leaks and thread problems
                      fixed. Hopefully this makes the plugin 100%
                      stable.

0.80 : NEW          : Future Composer support. Play those old
                      crack-intro tunes in WinAmp.
       General      : The MOD type can be changed (while playing) from
                      the fileinfo dialog.
       Config       : The config window can be reached from the
                      fileinfo dialogs
       Config       : Stereo separation factor and reverse stereo
                      take immediate effect when changed (well, as
                      immediate as the output plugin allows)

0.76 : General      : Improved MOD type detection routine, thanks to
                      h0l/mono211 and his 700MB oldsk00l MOD
                      collection ;)
       General      : Two memory thrashing bugs fixed.
       General      : New "Effects Used" information in the file info
                      window.
       ProTracker   : Nested loops (E6x) debugged.
       NoiseTracker : Command Fxx handled correctly (minor problem,
                      good thing I have the original player source
                      now.)
       SoundTracker : Repeat points handled "correctly" (mmm, I
                      love emulating bugs)

0.75 : First public release