# Introduction
This is a DirectShow source filter that will allow applications such as Windows Media Player to play back tracker modules. It achieves this by using the DUMB (Dynamic Universal Music Bibliotheque) module player library. The supported tracker formats are MOD, IT, S3M, and XM.

## Disclaimer
DUMB was last updated in late 2005 and is no longer under active development. For more accurate module playback and greater format support, any software that uses LibOpenMPT is recommended.

# Installation
The Desktop version has only been compiled for the X86 architecture. This means the filter will only work with 32-bit applications.
To install the filter, follow these steps.
1. Open a command prompt with administrative access.
2. Change to the directory where the DLL resides.
3. Register the DLL. The command syntax is regsvr32 followed by the DLL filename. To unregister, use the same command, except add /u before the DLL filename. Note: you don't have to explicitly use the 32-bit version of regsvr32 if installing on a 64-bit system.

# Windows CE Notes
* The CE version is only available for the ARMV4 architecture.
* As Windows CE doesn't ship with regsvr32, a 3rd party alternative such as GBRegsrv will be required to get the DLL registered.

# Configuration
The player configuration is stored in the registry, under HKCU\Software\Datajake\DUMBDSF. The filter overwrites settings on shutdown, so changes should only be made while the filter is not in use.

# Differences between the desktop and CE versions
* The default buffer size is larger in the CE version.
* Resampling quality is set to linear by default on CE. The desktop version defaults to cubic interpolation.
* By default, the CE version doesn't run through modules while loading. This results in faster startup time, however seeking won't be functional.

# Building
In order to build the desktop version, Visual C++ 6 and the DirectX 8 SDK are the minimum requirements. The included project file relies on an environment variable named MSSDK, which should point to the location where the DirectX SDK is installed.
The Windows CE build requires at least Embedded Visual C++ 4.0 and the Windows CE 4.2 SDK. The C Runtime Library on CE 4.2 doesn't appear to have an abort function, so a line will have to be commented out or removed in src/it/itread.c. If this change isn't made, you will get a linker error at the end of the build process.
