The Windows NT Enlightened Sound Driver


This is the homepage for WinESD.  WinESD is a sound driver for Windows NT 4.0 that pipes all sound output to the esound daemon.  The driver acts as a esd client ala esddsp.

The Problem

On my desk in my office I have two computers, a machine running NT 4.0 and a Linux box.  I find it silly to have soundcards in both machines for several reasons (even though a cheap sound card is $7.99).  First, you either have to have two sets of speakers or cable from one soundcards output to the others "Line In".  The first option just clutters up an already wrecked desk.  The second is a bad idea electrically (noise).

The Solution

Since both machines are on a network, the obvious solution was to use the esound daemon.  Since the company I work for is a Micro$oft Certified "Solution" Provider I have access to the Windows NT DDK.  Two nights of hacking later and, well see below.

Current Status

Warning !.  The driver is pre-ALPHA.  It might destroy data.  It might make funny noises that your neighbors find Rude.  If it breaks, you get to keep both pieces.

Currently, the driver works as an output only driver.  The sample source code mmdrv.dll was hacked into esddrv.dll with some of esdlib.c from the esound package to make the connections to the server.  The code is exceptionally ugly right now.  Pieces are commented out, forced to non-error returns etc.  Also, there is a problem with certain sample rates and/or bit formats.  Most sounds play, but a few don't.

The support for esd authentication in esdlib was hacked up, so if your esd server requires authentication, your hosed.

Download

download Version 0.01 here.
Update 8/16/99 Verson 0.02 is here.  This fixes several problems with NT 5.0 and the Windows MultiMedia player.
Update 7/5/2000 Verson 0.03 is here (source ).  This fixes several problems with Windows 2000 and some installation issues.

Installation

The latest version (0.03) will install in Windows 2000 and NT 4.0. The installation is tricky, and somewhat hacked. Maybe 0.04 will fix this.

The driver currently reports errors using several different Beeps.  This is ugly, but consistent with the rest of the driver.  A very high pitched beep (2kHz) means the registry entry was not found or invalid (check Security on the key).  A medium pitched tone (1.5kHz) indicates that the driver got "Connection Refused" from the server.

If you have questions, email me.  I can't guarantee that I'll be able to answer the question, but I'll try.

Source Code

As of 7/5/2000, I have added a zipfile containing my source code directory. It requires the NT DDK to compile. Unzip the file in the \ddk\src\mmedia directory on your NT system and use the 'build' command to compile everything.

The TODO List


Send mail to the someone who knows where the rock that the person that created this page is hiding
Disclaimer: All of the above is purely my fault.  The views here are not necessarily the views of my employer or myself for that matter.