Common questions and answers about PMsndX.

Q.  How do I enter the registration information?
A.  To enter the registration information, pull down the
    menu from the control panel and select either the
    Welcome or About menu item.  The display will contain a
    button to bring up the registration display.  The
    information may be entered from the keyboard or from a
    file.

Q.  Where is the registration information stored?
A.  PMsndX stores all of the registration information in the
    os2.ini file.  This amounts to about 100 bytes of data.

Q.  Why is the executable greater than 500k?
A.  Duh.  The source for this program is about 34000 lines
    of C++.  There is about 100k of icons and graphics that
    takes up a lot of room because the icons contain
    versions for each of the different displays (e.g.
    Independent Color Form (=VGA), Independent Form - (1.2
    format), and 8514 - 16 colors).  Also, the .RES (resource)
    file for PMsndX is 230k (which includes the icons and
    dialog descriptions).  The REXX portion of the code
    takes about 100k and the rest is the dialogs and alogrithms.

Q.  Why is there a delay between when the SHIFT key is
    lifted and when the Merge button changes back to Paste?
A.  The merge button display changes back to Paste after
    a delay of about 1 second because the PASTE button is
    updated from the clipboard every second.  If the mouse
    is moved, it causes the display to update and check the
    clipboard and so the display will be updated quicker.

Q.  I have a Sun audio file that plays on my Sun machine but
    results in a "Unsupported style" error when PMsndX attempts
    to load it.
A.  Sun hardware supports U-Law files with and without headers.
    When a header is not present, the Sun hardware assumes that
    the sampling rate is 8012 Hz.  If a Sun file results in an
    unsupported style error, force it to load the file in the
    .ul format and specify a rate of 8012 Hz.  Alternately,
    if the "Require Header for files" is not checked (the
    default) in the MISC page of the Properties, any file with
    an extension of .au will be loaded as .ul if a valid .au
    header is not present.

Q.  What happens when I try to play a 16 bit sample on an 8
    bit sound card?
A.  PMsndX is capable of editing and manipulating sounds
    of any number of bits, rate, and channels.  However,
    audio adapters may be limited in their capabilities and
    may not support multiple some of these characteristics.
    Therefore, PMsndX will still load and manipulate samples
    that cannot be played on the audio adapter but the MMPM
    dialog will disable all of its buttons.  If you have
    an 8 bit audio adapter, go to the AUDIO page of the
    Properties box and select "Play 16 bits on 8 bit audio"
    to force PMsndX to play the file.  You may notice a
    significant loss in quality.

Q.  Why does the PMsndX icon remain hashed after the program
    has exited?
A.  Under OS/2 2.11 some programs remain hashed even though
    they have exited.  Future releases of OS/2 may correct
    this problem.

Q.  When selecting a file type in the OPEN or SAVE dialog
    box, why do I have to reselect the "EA type" to get it
    to recognize the change?
A.  PMsndX uses the FILEDLG functions that are standard with
    OS/2.  Although the documentation indicates that the EA
    Type entry field can operate for a file mask or an EA
    selector, I could not get it to perform in this way.  To
    circumvent the problem I augmented the display with a
    separate box for the mask but it does not fully interact
    with the FILEDLG functions.  As a result, a standard
    field must be selected for it to pick up the new mask.
    (A future release will have this fixed.)
  
Q.  Can compressed VOC files be loaded?
A.  Unfortunately, I cannot find documentation on the
    compressed VOC formats and they are not implemented in
    PMsndX.  A future release may have this corrected.

Q.  I have a file created by sox10.  Why can't PMsndX load the
    file?
A.  SOX for DOS and OS/2 were ported from the Unix environment.
    Under DOS and OS/2, as a file is read or written, the data
    is filtered so that single linefeeds are replaced by carriage
    return-line feed sequences.  Under Unix, this does not occur.
    As a result, a SOX file cannot be loaded because it has extra
    characters in the header and body of the data.  SOX needs to
    be recompiled with the file IO system set for binary so that
    it does not try to filter the data.

Q.  I want to load a large sample.  How do I minimize the
    memory requirements?
A.  When a file is loaded it is stored as 16 bit samples
    regardless of the actual sample size.  This takes up
    roughly twice the memory as would be required for 8 bit
    samples.  When the MMPM dialog is open a second copy of
    the data is required for the audio adapter.  This copy
    is exactly the size of the data that would be written to
    disk.  If it is an 8 bit sample file, then the samples
    in the buffer are 8 bits.  If it is a 16 bit file, then
    the buffer contains 16 bit samples.  During an editing
    operation (i.e. cut, paste, or anything in the toolbox)
    the data is double buffered to allow the operation to be
    aborted.  Finally, when the UNDO capability is enabled
    from the settings dialog, a copy of the last sample will
    be maintained for the UNDO.

    With all that said, to minimize the memory requirements,
    close the MMPM dialog and disable the UNDO feature.
    With these settings, PMsndX will require four times the
    sample file size at most when 8 bit samples are loaded.
    16 bit samples will double at most during an operation.

Q.  Why doesn't the little man run when the REXX window is
    minimized?
A.  If the REXX window is minimized to the Viewer, it will
    still be animated.  However, if it is minimized to the
    desktop OS/2 does not process the SETICON messages and
    the icon is not animated.  There is nothing I can do about
    it.

Q.  When I load a file from the command line, it does not
    play.
A.  Check the AUDIO page of the Properties dialog and set
    "Play on Load" or "Play on commandline load".  Without
    one of these options selected, files are only loaded
    when specified on the command line and are not immediately
    played.

Q.  When I run a REXX script audio files playback starts and then
    restarts before completing.
A.  Deseleect the "Play on Load" option on the AUDIO page of
    the properties dialog.  The problem you are having is that
    the files are played immediately after they are loaded.
    When the REXX scrip runs into an AUDIO play command, the
    playback restarts.

Q.  Why is the REXX syntax defined in a mixture of functions
    and commands rather than something more consistent?
A.  REXX functions are necessary whenever PMsndX must return
    a value to the script but they require a slightly "ugly"
    format.  Subcommands look much nicer but cannot return
    data to the calling script.  if it would aid in consistency,
    I could make all subcommands into functions too, but it might
    increase the complexity and confusion.

