WSP Module Player 5.2.6
Copyright (C)1996–2003 Radek Tetik / SpyTech
Home page: http://www.spytech.cz
e-mail: info@spytech.cz
List of contents
1. WSP Module Player Engine
WSP Module Player Engine allows you to play module music.
WSP is designed to produce
the highest playback quality at low CPU power usage. It provides several
features that are making module music listening more comfortable than ever!
Currently supported module formats are MOD, S3M, XM.
WSP Module Player Engine is available in two flavours, as a Winamp 2.x plug-in
and as a library for C++ ready to be added to your application.
1.1. Features
- Module formats: MOD, S3M and XM.
- Software mixer with internal 32b precision generates 16b stereo sound at 44100 Hz.
- None, linear and cubic interpolation.
- Volume ramping for clickless smooth sound.
- Accurate seek method provides seeking capability as if playing
WAV or MP3 file. No more notes hanging on and no more
missing strings after seeking either!
- Special handling of looping songs: enable/disable looping,
playtime limit, volume fade out.
- Low CPU power usage, MMX support.
1.2. System requirements
- CPU with MMX support
- Sound card with 16b stereo output at 44100Hz
- Windows OS
2. WSP Module Player for Winamp 2.x
This Winamp plug-in improves Winamp's capability
of playing module music.
Winamp's native module player is known for its unaccurate playback and therefore
it's not popular among module authors. On the other hand, Winamp is a favorite player
of module listeners, so there is a need for better module player plug-in.
Thanks to Winamp's open architecture is it possible, and WSP has ambitions
to become such a plug-in.
2.1. Features
- WSP Module Player Engine
- Support for ZIPed modules MDZ, S3Z and XMZ.
- UI with detailed module info, current playing info,
sample and instrument list.
- Bundled with a high quality DSP plug-in
Enhancer
by Adrian Iosif. You can enhance the sound by boosting low
and high frequencies, adding ambience, etc. See the
plug-in home page for details.
2.2. Installation
Winamp has usually its own module player plug-in installed. In order to be able
to use the WSP plug-in, you must tell this default player not to play files
with extensions MOD, S3M and XM. WSP does this automatically at the start-up, but
if something went wrong and the default player is always used for the module playback,
try to disable it manually according to the following
step-by-step guide:
- Open the Winamp preferences dialog (CTRL+P) and display "Plug-ins, Input"
property page.
- Select "Nullsoft Module Decoder" plug-in and click on the
"configure" button. The configuration dialog should appear.
- Select the "Loader" property page. If the property page
is missing, download the latest Winamp version.
- In the "available loaders" list select "Screamtracker 3 [s3m]" item.
- The "enable" check-box should be checked now, so uncheck it.
- Repeat the last two steps also for "Fasttracker 2 [xm]", "Protracker [mod]"
and "Soundtracker (15-inst) [mod]" list items.
- The WSP plug-in should be activated now.
2.3. The User Guide
This chapter contains help information on the user interface and
player setup. Notes and recommedations:
- If you want to display the song properties, WSP setup, etc.,
double-click while playing a module the song title or press Alt+3.
- It is recommended to use a DSP plug-in to enhance the sound, especially
to add reverb and boost the low and high frequencies. WSP is bundled
with the Enhancer DSP plug-in. See the DSP property page of the WSP setup
for details.
2.3.1. The Info Property Page
On this page you can find general module information as well
as current player and mixer status.
Order: Current order / Total orders
Row: Current row / Total rows in the current pattern
BMP: Current BMP (beats per minute)
Speed: Current speed
Voices: The average number of active voices per second.
Smpls/s: The number of mixed samples per second. Each voice active
for the whole second adds 44100 samples to be mixed. One sample are two 16b values, one
for the left channel and second for the right channel. The average number of voices
is calculated from this value.
2.3.2. The Setup Property Page
This page is used to setup the player engine. Changes in the
settings take effect immediately, but there can be a delay caused
by the buffering.
Interpolation
- No interpolation: No interpolation is performed which results
in lots of high frequencies in the output sound. This is usually undesired,
because the sound sounds noisy. However if you listen to chip-tunes
or if you want to get the sound of the old Amiga, you should use this option.
It's especially true for chip-tunes, whose samples quite suffer from any interpolation
and loose their "sound richness".
- Linear interpolation: Provides standard output quality with
very low CPU power usage. This method produces signal that
is not smooth, its first derivation is not a continiuous curve. Therefore
the output signal contains more noise frequencies.
- Cubic interpolation: Provides high output quality. This method is
becoming standard these days when CPUs are commonly used at 700 MHz. Cubic
interpolation produces smooth signal whose first derivation is a
continuous curve. As a result the output signal contains less
noise frequencies.
Panning separation: Sets the power of the stereo effect.
Default panning assigned to channels on loadtime: When the module
is loaded each channel must get its panning value. If the value is
not specified in the module file, the default one is assigned. Some
channels are treated as left and some as right. The slider sets
the power of this stereo effect.
Enable module looping commands: If enabled, the looping commands
(Bxx) are dispatched normaly, they loop the song. Otherwise they are treated
as stop commands. Output volume is faded out for two seconds and then the
playback stops.
Limit playtime of looping songs to: If the looping commands are
enabled, the music is looped for the given amount of time. The playtime limit
is being checked after the first loop command has been dispatched. That
means that even if the playtime limit is smaller than the song length, the song is
played whole. After the playtime limit has exceeded the output volume is faded out
and the playback stops.
Defaults: Sets default values to all settings on this page.
3. WSP Module Player for C++
The WSP Module Player is also available as a DLL or static library for C++
applications. Moreover it is available free of charge for use in non-commercial projects!
Add module music playing capability to your applications wihtout any effort!
You are only required to credit the authors in your product.
For commercial use, please, contact us.
3.1. API
There is no need to describe the API in a deep detail, because it's quit easy
and straightforward. The player is controled through the class CWsp,
which provides all the methods required for the module music playback.
The second class CWspStatus2 is used in the process of querying the current player
status. All the definitions as well as detailed description are in
the header file "wsp.h".
The player is written in MS Visual C++, so if you use another C++
compiler, some little syntactic changes to the "wsp.h" file may be required.
4. SpyTech MOD Radio
Check out SpyTech MOD radio.
It is broadcasting free tracked music over the Internet!
5. What's new?
Version 5.2.6 - January 2003
- WSP engine generally
- The sample interpolation can be turned off now. It allows
the player to sound like the old Amiga and it's especially useful
when listening to chip-tunes.
- The module type is now detected according significant
differences among module formats. This for example allows for successful loading of
a S3M module even if it's filename has the .MOD extension.
- MOD Loader fix: if there is a sample and note on a row and the sample
is invalid, new note must not be played and the current sample must be stopped
(e.g. flashdan.mod). Thanks to Adam J. Sporka.
- WSP for Winamp 2.x
- Support for ZIPed modules MDZ, S3Z and XMZ.
- WSP for C++
- Changes in the WSP engine forced small changes in the API. Parameters
of methods CWsp::Init() and CWsp::LoadModule() were changed.
Version 5.25 - December 2002
- WSP engine generally
- FIX: Pattern looping command bug fixed, which caused infinite loops.
For example "burt&ernie.mod" is OK now. Thanks to Eljo Bosman.
- FIX: Pattern delay command bug fixed, which caused some songs
to be played way too fast. For example "chiptjat.mod" is OK now. Thanks to Eljo Bosman.
Version 5.24 - October 2002
- WSP engine generally
- Loader XM: instrument loader fix, e.g. stranglehold.xm can be played now.
- Better handling of mono S3Ms, e.g. "Possession" by Necros.
- Loader S3M: ignoring disabled channels, e.g. "(L1)".
- Loader S3M: detecting unassigned pattern tracks to output voices, ie. "(--)".
- Loader S3M: loading titles also for samples with no data to allow
to display whole song message.
- WSP for Winamp plug-in
- You can disable checking the associations with supported module formats
at the start-up.
- WSP for C++ (formerly WSP DLL)
- Starting with this version, WSP is also available as a static library.
To reflect this change the product title has changed from WSP DLL to WSP for C++.
- New method CWsp::LoadMod() allows to load a module from the memory.
It's useful in situations when the module is not stored in an external file
but in application resources or in other custom data archive.
The API user handles the loading of the module data in to the memory and
then calls this new method to obtain HMOD handle.
Version 5.23 - November 2001
- WSP generally
- A faster way of acquiring the module name.
- Instrument envelopes bugfix, DRG_CVRN.XM is OK now.
- XM loader fixes (BIDI loop fix, ...)
- Default sample panning processing fixed.
- Song looping command processing fixed.
- 32b->16b conversion routine wrote behind the end
of the output buffer. Fixed.
- S3M loader detects ST3.00 volume slides.
- Winamp plug-in
- Plug-in is bundled with a high quality DSP plug-in
Enhancer
by Adrian Iosif.
- "Email artist" button added.
- MOD loader: samples with no data only with a text were
not loaded thus the text wasn't displayed in the sample list.
- MMX detection to avoid a crash.
Version 5.22 - November 2001
- WSP generally
- S3M loader fix for modules with 16b samples.
- XM loader fixes, jz-btomb.xm plays correctly now.
- MOD loader fixes, sample loop offset in bytes detection.
- Better file format and tracker recognition.
- Winamp plug-in
- Fix of autodisabling of the Winamp's default module player.
Version 5.21 - October 2001
- Winamp plug-in
- Autodisabling of the Winamp's default module player.
Version 5.2 - October 2001
- WSP generally
- Cubic interpolation for better sound quality.
- Special handling of looping songs: enable/disable looping, playtime limit,
volume fade out.
- Lots of player engine and mixer changes.
- Winamp plug-in
- Completely new user interface.
- WSP DLL
Version 5.01 - August 2001
- The first release of the Winamp plug-in and WSP DLL.
- The first official Windows version.
There was a delay of 3 years between these two versions....
Version 2.0 - 1998
- XM support.
- SB AWE32 support by AdamJ Sporka.
- A DOS shell version for playing music in the background (under DOS!).
Version 1.8 - 1996
- The very first version for MS-DOS.
- MOD and S3M support.
- SB and GUS support.
6. Conclusion
Thank you for using the WSP Module Player. If you find any bug or strange
behavior as well as if you have some suggestions on how to improve the player,
please let us now. We will do our best to fix it in the next release.
[eof]