                PMsndX version 0.2
                        by
                William Scott Hiles

This is the third release of PMsndX.  Push the HELP button
to get a short introduction to the purpose of this program.
Basically, this program is intended to eventually provide
all of the features of the SOX program and a bit more.

This version is somewhat of a turning point for the program
because it now has all of the effects that are in SOX.  After
this point it is mostly downhill for getting full SOX
functionality.  This version still only supports .WAV, and
.AU formatted samples.  The echo effect only works on samples
with a single channel.  I have not figured out if I want
to try to apply the echo delay points across all channels
or if I want to provide a means for the user to select
a channel and do the echo for that channel only.  Feedback
is appreciated.

I don't have much experience with the use of the echo effect
and could not determine if the attenuation could be limited
to a specific range.  The algorithm that I am using will let
you use anything, but I haven't found much use for values
greater than 2.  Rather than limit this range, I just left
it up to the user to enter something greater than 0.  If you
can think of a reason to limit the range, I welcome the
comment.

As always, all comments are welcomed as well as bug
reports.

What is in the future?  Well, I am planning on adding other
sound formats.  Feedback has indiacated that .VOC, and .SND
are the most important ones, so I will start on them first.
I am also going to start working on playback if I can figure
out what is needed to utilize the MMPM/2.


Revision history:
Version 0.0 (initial release)
1.  6 buttons and associated dialog boxes created
1.  Ability to load and save .au files
2.  Ability to load and save .wav files
3.  Tool for changing the sampling rate (0.0a)
4.  Display of information about the current sample

0.0a - SOX appears to use linear approximation to create the
       new sample.  PMsndX provides for quality which allows the
       approximation to be adjusted.

Version 0.1
1.  Added Channel Averaging (0.1a)
2.  Added Vibro effect
3.  The .ini file are automatically located in the same directory
    as the executable.
4.  Individual tool pages no longer have separate HELP buttons
5.  A HELP button has been added to the tool box for all pages.
    When pressed, the help page for the page shown in the tools
    dialog box will be displayed.
6.  A DISMISS button has been added to the tools dialog box for
    a more consistent approach to dismissing.  The user can still
    depress the tools button on the main control panel to dismiss
    any tool dialog.
7.  Rearranged the buttons on the main control panel and added
    two new buttons for Playing and Recording samples (not implemented
    in this release...just placeholders)
8.  Changed the memory storage requirements so that data takes
    half as much memory.  Each sample is stored as a signed SHORT
    regardless of the sound type.
9.  Corrected major memory bug which resulted in a memory leak.
10. The echo effect presents an interesting challenge to the
    user interface.  How do you provide the user with an
    intuitive method to set the echo locations and the
    strength of the echo from a dialog box?  My first
    attempt was to try to display the waveform in a window
    and then to let the user set the echo points, but the
    problem of setting the echo strength is still difficult.
    This operation may have to wait for another revision
    after I have had some time to "sleep" on it.  The effect
    itself is very simple, but the interface is much more
    difficult.

0.1a - SOX can averages 4 channels to 1 by putting all four
       channels into 1.  4 channels to 2 is done by
       averaging the left channels and the right channels
       together.  PMsndX allows the user to select any
       combination of the source channels.

Version 0.2
1.  Fixed error with memory settings.  In version 0.1 if you
    opened the Settings box and then applied it by pressing
    the DOIT button it sould clear the data samples even if
    the memory configuration had not changed.
2.  Fixed bug in version 0 in which the data was cleared
    when the memory configuration was changed, but the
    sample header was not cleared.  This led to th dialogs
    trying to access data that had been released causing a
    protection violation.
3.  Added the Bandpass notebook page.  This is probably one
    of the most complex user interfaces in the notebook.
4.  Added the Echo effect.  This is the most complex
    programming challenge for a useable user interface.
    (Note, the echo only works for single channel samples).
5.  Fixed bug.  In version 0.1, the lowpass function did not
    take into account the number of channels.  This has a
    significant impact on the FFT operation.  This is fixed
    in 0.2.
6.  Fixed bug.  In version 0.1, the Vibro effect did not
    take into account multiple channels in a sample.  As a
    result, the vibro was not continuous on individual
    channels.

For now, just play with it and let me know what you think.

You should have three files from the compressed .zip file.

README          This file
pmsndx.exe      Executable PMsndX
pmsndx.hlp      Help file

I can be contacted using email at whiles@relay.nswc.navy.mil.

Thanks for your time.
Scott

