PasMix Version 1.1 
(C) 1994 John V. Schweinfurth

Program Description:

    This is a replacement for the MediaVision Promix/2 program.
You need one of the Pro AudioSpectrum16 series of sound cards
to use this program.

Requires:
  OS/2 2.1GA or higher with the MediaVision MVPRODD.SYS driver.
  (It might work with 2.0 + Latest Service Pack)


Improvements:

    The big enhancement is that this program remembers the mixer
settings whereas ProMix/2 doesn't.  This is the one you've been waiting
(and waiting and waiting) for.


Using the Program:

1.  Copy the files to any subdirectory of your chose. Run it from the command
    line (PASMIX) or create a program object.  If you are installing over a
    previous version of this program you must delete the old "PASMIX.INI" file
    before you run this version - sorry about that but this was unavoidable.  
    The program will automatically recreate the ini file when you exit.  Also
    the support file BPMCC.DLL must be in a directory on your LIBPATH 
    statement.  You can safely copy this file to your \OS2\DLL directory
    if you wish.  This comes from Borland not I.

2.  The controls should be self explanatory with one exception.  The balance
    (pan) control is shared between the various channels. For example, to set
    the balance control for Aux channel, first click on the Aux volume slider
    - then adjust the balance.  Also, the Loudness and Enhancement channels are
    set to 0% or 100% with no in between.  I may add variable setting support
    later if folks ask for this.

3.  You can place this program in your system startup folder to automatically
    set your sound card at bootup time.  Currently this program supports one
    commandline argument which is /so.  This means "set only." if you enter
    pasmix /so at the commandline the program reads your saved state from 
    pasmix.ini, sets the mixer, then terminates. This command was designed to 
    be used in conjunction with a program object in your startup folder 
    - enter /so on the "parameters" line.
  
4.  "Save Settings" and "Load Settings":
    These commands let you save / restore different sets of mixer states.
    
    NOTE:  The *.mix files generated by this command are not the same
    as "PASMIX.INI." If you want to change the default startup state,
    first Load a "*.mix" file or make the control adjustments yourself
    then "Close" the program and restart.

6.  The "Setup" menu command:
    This lets you do some program behavior modification.
    
    a.  "Minimize Volume Jumping":  Enabling this setting causes PasMixer to 
         re-initialize itself whenever it gains the focus.  Currently this 
         appears to be the only way to stop the volume jumping.  This is
         only half a solution as other MMOS/2 programs generally can't/won't
         do the same.

    b.  "Save Mixer Setting at Exit":  This enables or disables the save state
         routine at program termination time.  You may want to disable this if
         you use "Minimize Volume Jumping"

    c.  "Minimize at Startup":  Enabling this causes the program to start 
         normally and minimize itself.  
         WARNING:  It is easy to forget that PasMixer is running.  You probably
         don't want to use this in your StartUp folder if you also want to
         launch sound enabled WinOS/2 sessions at the same time. In this case
         use the "/so" commandline switch.  See "Limitations:"    
    
6.  The "Size" button:
    This toggles the mixer display from "Master Panel" to "Full Mixer." Try it.

7.  The "Close" button:
    For the rodently challenged,  Why use a double click when a single will do...

8.  For Pro Studio owners:
    I believe that I have enabled the "Input" master control but I have no way
    to verify that this works.  My "D" series card does not support this 
    feature.  I would appreciate some feedback (no pun intended) from anyone
    with a 'Studio card.

9. Hints:
   You can also use the /so parameter to set up a volume reset icon.

   a. Create another program object for PasMixer.
      (A 'Shadow' won't work for this)
   b. Point the 'Working directory' of the object to a different subdirectory
      than your main PasMixer directory. A sub-subdirectory works well. 
      (i.e. if your main directory is '\pasmix' use '\pasmix\zap')
   c. Close the Object Settings page.
   d. Startup PasMixer, Set your desired 'reset to...' levels
   e. Now close PasMixer.
   f. Open up the Program object 'Settings' page again.
   g. Now enter '/so' on the parameters line, and close the Program Object.
   h. Voila! you now have a 'Volume Zapper'
   
   Whenever your volume settings get out of hand, just double-click on your
   newly created 'Volume Zapper' to reset the card. Isn't the WPS great?  
   
Limitations:

1.  WinOS/2 & DOS sessions.  The quick version:
    OS/2 & MMPM/2 currently do not allow sharing a *specific* device between
    WinOS/2 or DOS sessions and OS/2 sessions.  This is akin to trying to
    access the same com port from two different programs at the same time.
    It just doesn't work, probably never will work and would be a complete
    disaster if it were allowed to work. (Any questions?)
    
    Ok, you can do this:
    
    Use PAS16 (digital audio) in OS/2 sessions
    Use SB    (soundblaster digital audio) in WinOS/2 or Dos
    Use MIDI  (FM synth) in *either* OS2 *or* WinOS/2-DOS but not in
              OS/2 and WinOS/2-DOS at the same time.
    
    There is only *one* OPL3 FM synthesizer on the card.  This chip is shared
    between the 'Pas16' and 'Soundblaster sides' of the card.  From an OS/2
    standpoint it is best to think of the card as 3 separate sound producing
    *devices* (Pas16 DAC, SB DAC and OPL3 FM) instead of 'Pas16 side' vs. 
    'Soundblaster side.'

    PasMixer wants to control *all* of the individual devices on the 
    PAS16 card. Thus, generally you must close the app before you launch
    a WinOS/2 or DOS session that uses sound. True OS/2 programs can share
    the Pas16 intelligently.  You certainly will not be able to use
    PasMixer and the MediaVision Windows Mixer at the same time.


Disclaimers:
  
   I am not connected to MediaVision in anyway.  I just happen to own one of
their PAS16 cards.  Currently this program (the executable) may be considered
freeware. If you think this program is useful, feel free to encourage me with
a small donation.  If you think the program is garbage, use the del command.
I can not guarantee anything with usefulness or operation of this program.
Likewise, I can not guarantee any support. Hey, whadda ya want for free?
 
   If you share this with others please use the original, intact zip-file.
The "Official" release sites for this program are Compuserve OS2User forum
and Pete Norloff's OS/2 Shareware BBS.  If you got this program from anywhere
else, beware... You have been warned...

   I do not plan to release the source - mostly because I don't want to be
embarrassed should you see my "design at keyboard" style.  Also because of
potential "Licensing" snags. - Really - says so right there in my Borland
compiler's "Licensing Agreement."  Can't do it even if I wanted to.

   This is my first attempt at OS/2 and PM programming, so far I think the
effort is going well.  If you disagree, please send all hate mail and jeers
to MediaVision - they are use to it<g>.

Bug reports, suggestions, comments and any kudos etc. will be taken by myself

John V. Schweinfurth

Compuserve: 73777,671
Internet  : 73777.671@compuserve.com 
         or rabiddog@novalink.com

US Snail Mail:
    1211 Gold Coast Rd Apt 11
    Papillion, NE 68046

Also, you might find me on Pete Norloff's OS/2 Shareware BBS but Compuserve
is your best bet - I check mail there at least once a day.

Commentary:
    
    For the record, it took me exactly >>6<< lines of "C" code to implement
the save/restore mixer settings feature in this program.  Why MV could not
do this themselves is anyone guess.... good day....

    Thanks to all the folks who were kind enough to send me suggestions.  I
have tried to implement as many of them as possible.  Thanks also to the folks
on OS2DF1 and BCPPWIN who helped me over some of the nastier rough spots -
you know who you are...  It's not just an OS it's an adventure/2.


Oh, yeah almost forgot...

ProAudioSpectrum 16, ProStudio 16, PAS16, ProMix and all derivatives are most
likely registered trademarks of MediaVision Inc.

OS/2, MMPM/2, WinOS/2, PM etc. are most likely registered trademarks of IBM Inc.

Windows is owned by you know who - that's right - MicroSoft Inc.

NO, NO, AAAAHHHH, Please anything but the "Trademark Police"

Revisions:
0.1(beta): First release - actually should have been called Alpha.
0.2(beta): Second release.
           - Added the Input Level control.
           - Fixed some things in the startup routines
           - Added /so command line parameter.
0.3(beta): "Final" beta release.
           - Finished "Load/Save Settings" commands.
           - Added "Setup" dialog.
             -- "Minimize Volume Jumping"
             -- "Save Settings at Exit"
             -- "Minimize at Startup"
           - Added "Size" control.
           - Rearranged Dialog layout to accommodate "Size"
1.0(The "real thing"):
           - Fixed quirks with "Minimize Volume Jumping" enabled.
           - Returned to default "Presentation Parameters"
             for Title Bar, System Menu and File dialogs.
1.1(Bug Fix):
           - Fixed a *potential* memory allocation problem in the startup code.
             (So far this has not caused any trouble, but....)
           - Finally figured out how to embed icons in the exe file - did so.
           - Added a file save trap for "PASMIX.INI"