MiniMixer Version 1.1b for the Pas16 Audio Card
(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.  Also, the program appears to work ok with
the Logitech Soundman16.

Requires:
  OS/2 2.1GA or higher with the MediaVision MVPRODD.SYS driver.
  (It might work with 2.0 + Latest Service Pack)
  BPMCC.DLL is not required by this program.

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 (MINIMIX) or create a program object.  You may copy over your
    PASMIX.INI from PasMixer V1.0 or PasMixer V1.1 to MINIMIX.INI if you wish.
    Previous versions are not compatible.  See 'Hints' below for WPS setup.
  
    *.MIX files from PasMixer(1.0 or 1.1) *are* compatible with this program.

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.  In this program the individual
    channels are represented by icons instead of text.  The balance control
    still indicates which channel is 'Active.'  The 'Send Bus' is now
    represented by a single row of check boxes instead of pairs of push-buttons.
    The 'Checked State' represents 'Send to Rec,' the unchecked state represents
    'Send to Mon.'
  
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
    minimix /so at the commandline the program reads your saved state from 
    minimix.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.  See 'Hints' below.
  
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 "MINIMIX.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 MMPM/2 programs generally can't/won't
         do the same.  I still hope for a better solution than this.

    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:"    

7.  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.

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

   a. Create another program object for MiniMixer.
      (A 'Shadow' won't work for this)
   b. Point the 'Working directory' of the object to a different subdirectory
      than your main MiniMixer directory. A sub-subdirectory works well. 
      (i.e. if your main directory is '\minimix' use '\minimix\zap')
   c. Close the Object Settings page.
   d. Startup MiniMixer, Set your desired 'reset to...' levels
   e. Now close MiniMixer.
   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?
   Now that you have your 'Zapper' setup, you can shadow the 'Zapper' icon to
   your startup folder.  
   
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 or IBM in anyway.  I just happen to own a
PAS16 card and run OS/2.  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:
PasMixer: 
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"
MiniMixer: (Changed the name of the program)
1.1        - Revamped / Slimmed down the entire program to take up less room
             on screen.  Now it's 1/3 the original size. Hardly a pixel wasted.
           - Got rid of the Borland custom controls - BPMCC.DLL is proving
             to have too many bugs. Plus I got tired of zipping it up all
             the time.  And you no doubt are tired of downloading it.
           - Various minor bugs exterminated.
             -- Pan control on 'Input' was setting 'Master'
             -- Fixed program icon definitions
             -- Probably several others but I don't remember them now.
           - The Close button is gone. I couldn't fit it on the new dialog.
           - The 'Size' button has moved to the system menu.
1.1a:(Bug Fix again)
           - Tracked down an insidious bug with 'Send Bus' processing
             Program should now save and restore these settings correctly.
1.1b:(Another Bug Fix)
           - Fixed a whole hornet's nest worth of bugs that were occurring
             when the program was 'Minimized to the Desktop.'  Somebody 
             actually uses this feature! <g>