SNDAN Porting Notes, Windows Version 1.0

The compiler used to build this version is Microsoft Visual C++ V.5.0, with Service Pack 3.
The source zipfile ( should be unpacked preserving the directory structure. The project makefiles will then be able to find common source and include directories.

Note that the original documentation included with this distribution does not reflect the changes made for the Windows version.

All changes have been flagged RWD in the source files, and in most files  the details of changes are included in the leading comments in each file.

Certain code changes were necessitated by the Windows platform:

The shell script facility cannot be used under Windows. This has led to the creation of mqtoan.exe, which replaces the script which runs fcheck and harmformat.

The programs call ShellExecute() to launch the default eps viewer (presumed to be GSVIEW), and the default WAVE player.

Several significant changes have been made to the canonical UIUC sources, for this version:

Support for floating-point WAVE files (Type-3) has been added.
The command line usage messages have been greatly expanded.

User input is checked wherever practicable for errors; there are very few such checks in the canonical sources.

Read/write functions are tested for errors. This has not been implemented in all cases (see for example rdat() and wdat()).

Memory allocations are tested for failures, and cleanup calls to free memory and close files have been added where necessary.

The code has been ANSIfied, with full declarations for all functions. Various casts, etc have been added to reduce warning messages from the compiler.

Many source files have been reformatted to suit the 4-character indent of Developer Studio.

Some bugs have been identified and fixed. These are being co-ordinated with James Beauchamp. See the source files for details.

Additional functionality has been added to various programs. In particular, a single level undo has been added to MONAN. Some commands have been modified to offer extra parameters. Messages include extra information (default values, etc).

Error messages are more explicative.

Many commands within monan would exit the program on receipt of  faulty user input. This has been changed so that these functions return to the monan prompt.

The text output of some commands in monan has been reformatted, with the option to write to a file.

g_raph library:   the main change is to eliminate the use for the external file; this has been embedded into stx.c, on the principle that Windows users are unlikely to want to modify the content of that file. This thereby elimintates not only the need for the separate file, but also the need for the SNDANDIR environment variable.

Richard Dobson
14 February 2000
Composers Desktop Project

[return to SNDAN Home page]