


	Mixomat 2.00
	
	
	
	
	
	
	
	


Mixomat 2.00
ContentsAbout
MixomatRegistrationInstallationFilesSettingsPlug-inREXX
InterfaceScopeKnown
ProblemsFrequently Asked
QuestionsFutureHistoryUpdates

1. About Mixomat
Mixomat is a mixer for Soundblaster 16/32 and 64 cards.
It is optimized for OS/2 Warp 4 but it also works with OS/2 Warp 3
together. MMPM is not necessary.
2. Registration
Mixomat is Shareware. You can try this
version for 30 days. After this period you must register
Mixomat.
How much does it cost?
A licence costs 10US$ or 15 Swiss Francs.
How can I register?
There are two registration methods. Don't forget to include your
name, address and e-mail address. I can only
send the registration key by e-mail.
a) by mail
Send the money in cash to:
Address:
Christoph
BratschiFelsenweg 16CH-4123 AllschwilSwitzerland
The following currencies are welcome: US Dollars, Swiss
Francs, Deutsche Mark.You can send checks but then please add
15US$ because it costs that much to cash international checks.
b) by bank transfer
Transfer 15 Swiss Francs to:

	
		
		
	
	
		
			
				Bank name:
			
				Union Bank of Switzerland (Schweizerische Bankgesellschaft)
		
	
	
		
			
				Bank address:
			
				Bahnhofstrasse 45CH-8021 Z&uuml;rich
		
		
			
				Name:
			
				Christoph Bratschi
		
		
			
				Address:
			
				Felsenweg 16CH-4123 AllschwilSwitzerland
		
		
			
				Account number:
			
				233-531463.40E
		
	

I will sent your personal key as fast a possible.The
registered version has no 'unregistered' in the title and status bar.
The dialog with the registration information will also disappear.
Questions? e-mail.
E-Mail:
cbratschi@datacomm.ch
There is only one version of Mixomat without any
limitations!Please don't use illegal keys. I'm a student of
Chemistry and I invested many hours in this program. Support my work
and register!
Guarantee: You use this program
at your own risk! All rights are reserved!
3. Installation

	Create a directory with the name 'MIXOMAT' or
	choose another name.
	Unzip the program archive to this directory: unzip
	archiv.zip. 
	Run INSTALL.CMD to create a WPS program folder.
	That's it!

4. Files

	
		
		
	
	
		
			
				Filename
			
				Description
		
	
	
		
			
				MIXOMAT.EXE
			
				Mixomat 1.01 program file
		
		
			
				NPMIXER.DLL2
			
				Netscape plug-in.
		
		
			
				MIXOMAT.HTM
			
				This documentation.Best viewed with Netscape Navigator 3.0
				or higher.WebExplorer is good but not good enough.StarOffice
				is even better: Style Sheets are supported.
		
		
			
				MIXOMAT.TXT2
			
				This documentation in ASCII format. Please install a HTML
				viewer and open MIXOMAT.HTM
		
		
			
				NPMIXER.HTM2
			
				Plug-in demonstration 1.
		
		
			
				NPMIXER2.HTM2
			
				Plug-in demonstration 2.
		
		
			
				NPMIXER2.MIX2
			
				Data file for plug-in demonstration 2.
		
		
			
				SCOPE.EXE
			
				Oscilloscope Beta.
		
		
			
				SBREXX.DLL
			
				REXX DLL
		
		
			
				SBTEST.CMD
			
				REXX DLL demonstration script.
		
		
			
				INSTALL.CMD
			
				Installation script
		
		
			
				MCAPI.CMD
			
				Mixer Control API draft
		
		
			
				FILE_ID.DIZ
			
				Description for a BBS
		
	

5. Settings
Settings Dialog:

	
		
		
	
	
		
			
				Tab
			
				Options
		
	
	
		
			
				General 
			
		
		
			
				Port1
			
				Choose the correct port for your Soundblaster card.Use
				'Find Port' to look for the correct port.Use 'Check SB...' to
				check if you sound card works with Mixomat.
		
		
			
				Load profile
			
				If this profile is the active one it will be initialized
				otherwise the first profile will be activated.
		
		
			
				Set values
			
				The selected values will be set to the Soundblaster.
		
		
			
				Full
			
				Shows the full dialog
		
		
			
				Mini
			
				Shows the icon view
		
		
			
				Save settings
			
				These settings are saved.
		
		
			
				No Reset1
			
				Do not show the reset command in context menus and ignore the
				hot key
		
		
			
				Stop mute1
			
				All mutes are stopped.
		
		
			
				Save settings pos
			
				The settings dialog pos will be saved.
		
		
			
				Time critical port access1
			
				Use this if you have problems with other programs. Attention:
				don't use if without this problems!
		
		
			
				Voice to Wave12
			
				Change all texts from 'Voice' to 'Wave'.
		
		
			
				Save after settings2
			
				Save all settings after closing the settings dialog with 'Ok'.
		
		
			
				Update1
		
		
			
				Focus
			
				Update the scrollbars on window focus.
		
		
			
				Refresh
			
				Refresh some or all values with a timer. If you don't choose
				all you can select on the Refresh tab
				which values to be refreshed.
		
		
			
				Aggressive
			
				Let some ar all values constant with a timer. If you don't
				choose all you can select on the Aggressive
				tab which values to be set.
		
		
			
				Mute and Focus/Refresh
			
				The Soundblaster card can't handle a mute command, this is
				emulated by Mixomat. Here you can choose what Mixomat will do if
				mute is activated and a refresh should be done: Ignore does
				nothing, the display will be wrong but the mute isn't broken;
				Update controls sets the controls to the new values and breaks
				the mute; Update values does refresh the values in background, if
				you stop mute the new value will be displayed.
		
		
			
				Timer
			
				Thread/PM timer is a good choose. Use the high resolution
				timer whenever you need a higher precision.
		
		
			
				Test hires timer...
			
				Check if your system supports the high resolution timer.
		
		
			
				Refresh1
		
		
			
				Check boxes
			
				Choose all values to be refreshed.
		
		
			
				Aggressive1
		
		
			
				Check boxes
			
				Choose all values to be set.If a values is selected you
				can use the spin buttons to specify a value or a range. Without a
				specified value the scrollbar value is used. If the first number
				is higher than the second all valid values will be outside this
				range.
		
		
			
				Profile
		
		
			
				Add
			
				Adds a new profile.
		
		
			
				Delete
			
				Deletes a profile.
		
		
			
				Save2
			
				Saves to selected profile to disk. Hold down the shift key for
				German messages.
		
		
			
				Load2
			
				Load a profile from disk.
		
		
			
				Sort2
			
				Change order of profiles.
		
		
			
				Name
			
				Name the profile.
		
		
			
				Save as script
			
				Saves the select profile as a REXX script which uses
				SBREXX.DLL.Press shift key for German language REXX scripts.
		
		
			
				Full
		
		
			
				Save position
			
				Saves the position of the full dialog.
		
		
			
				Open last tab
			
				Opens the last settings tab.
		
		
			
				Value info
			
				Shows the value of scrollbars/sliders in per cent or by value.
				Choose 'None' if you want to disable it.
		
		
			
				Background start
			
				Starts the full view in background, behind the window with the
				focus.
		
		
			
				Flat sliders
			
				Uses flat sliders instead of scrollbars.
		
		
			
				Color2
			
				Change the color of the flat sliders.
		
		
			
				Menu help2
			
				Show a help text for menu commands.
		
		
			
				Back disable2
			
				Change the background color of the dialog if it hasn't the
				focus.
		
		
			
				Mini
		
		
			
				Direction
			
				Choose the direction of the window.If you choose Vertical
				the statusbar and the titlebar are disabled.
		
		
			
				Border
			
				Choose the border type.
		
		
			
				Save position
			
				Saves the position of the mini dialog.
		
		
			
				Flat buttons
			
				Use the flat buttons or normal buttons.
		
		
			
				Titlebar
			
				Shows the titlebar
		
		
			
				Statusbar
			
				Use a statusbar
		
		
			
				Mouse help
			
				If your mouse is over a button a help text will be displayed
				in the statusbar.
		
		
			
				Tip
			
				If the statusbar is hidden or Mixomat is in horizontal view
				you can't see the help text in the statusbar. Select tip to show
				this information in a separate window.
		
		
			
				Menu help2
			
				Show a help text in the status bar if a menu is open.
		
		
			
				Menu tip2
			
				If the statusbar is hidden or Mixomat is in horizontal view
				you can't see the help text in the statusbar. Select menu tip to
				show the menu help information in a separate window.
		
		
			
				Auto close
			
				Close the display window if it loses the focus.
		
		
			
				Open last
			
				Open the last opened display window.
		
		
			
				Outside
			
				Show display windows outside the main window.
		
		
			
				Align
			
				Chose the position where Mixomat should be aligned.
		
		
			
				Check Warp Center
			
				Don't align the window above Warp Center.
		
		
			
				Always on top
			
				The main window is always on the top of all other windows.
		
		
			
				Open last tab
			
				Opens the last settings tab.
		
		
			
				Value info
			
				Shows the value of scrollbars/sliders in per cent or by value.
				Choose 'None' if you want to disable it.
		
		
			
				Sliders
			
				Show scrollbars, flat sliders or circular sliders.
		
		
			
				Background start
			
				Start the mini view in background, behind the window with the
				focus.
		
		
			
				Icon spacing
			
				Set the width of the space between the icons and the space
				between the icons and the window frame in pixels.
		
		
			
				Button size
			
				Set the size of the button in pixels.
		
		
			
				Expand mode
			
				In the expand mode you can collapse the mini view. Only the
				first button is displayed in this mode. With help of a button or
				the keyboard you can expand the window to full size.
		
		
			
				Fixed position
			
				Set the position of the window which is fix. You can only
				choose a fixed position if align is set to none. If align is set
				to a position the collapsed/expanded window will be aligned to
				this position.
		
		
			
				Show button
			
				Show the expand/collapse button.
		
		
			
				Fixed position2
			
				Show the expand/collapse button at the same position.
		
		
			
				Expanded
			
				Set the window expanded/collapsed.
		
		
			
				Flat slider color2
			
				Change the color of the flat sliders.
		
		
			
				Back disable2
			
				Change the background color of the dialog if it hasn't the
				focus.
		
		
			
				Hotkey close2
			
				Close an existing window instead of activation. Have a look at
				the hotkeys.
		
		
			
				Horizontal2
			
				Display horizontal windows at the following directions:
				
					Up or down: shows the window at the top if there's
					enough room.
					Down or up: shows the window at the bottom if
					there's enough room.
					Up: shows the window at the top.
					Down: shows the window at the bottom.
			
		
		
			
				Vertical2
			
				Display vertical windows at the following directions:
				
					Right or left: shows the window at the right side
					if there's enough room.
					Left or right: shows the window at the left side
					if there's enough room.
					Right: shows the window at the right side.
					Left: shows the window at the left side.
			
		
		
			
				Tab space2
			
				Defines the space between the window and the main window.
		
		
			
				Slider size2
			
				Large: defines the larger size. Horizontal view =
				height. Vertical view = width. Small: defines the
				smaller size. Horizontal view = width. Vertical view = height.
		
		
			
				Circular slider size2
			
				Large: defines the larger size. Horizontal view =
				height. Vertical view = width. Small: defines the
				smaller size. Horizontal view = width. Vertical view = height.
		
		
			
				Visible
			
				These buttons will be shown. If you select separator for a
				button a separator will be drawn.
		
		
			
				Hidden
			
				These buttons are hidden.
		
	

Context menu:
Click the right mouse button to open a context menu.
Command line:

	
		
		
	
	
		
			
				Parameter
			
				Description
		
	
	
		
			
				Number
			
				Loads the profile with this number.
		
		
			
				/MINI
			
				Mini view.
		
		
			
				/FULL
			
				Full dialog view.
		
		
			
				/CFG=&quot;filename&quot;
			
				Use the configuration file filename.
		
		
			
				/RESET
			
				Reset the sound card.
		
		
			
				/CHECK
			
				Check your sound card.
		
		
			
				/FONT=&quot;fontname&quot;
			
				Use the font fontname for all windows and the settings dialog.
				If your default font is to big and you can't read everything then
				use this parameter.
				Examples:/FONT=&quot;8. Tms Rmn&quot;/FONT=&quot;10.
				Helv&quot;/FONT=&quot;8. WarpSans&quot;/FONT=&quot;12.
				Swiss&quot;
		
		
			
				/BACKGROUND
			
				Start in Background.
		
		
			
				/FOREGROUND
			
				Start in Foreground.
		
		
			
				/SET
			
				Only sets the selected profile without starting the graphical
				interface.
		
		
			
				/PW/PASSWORD
			
				Specifies the password for a protected plug-in configuration
				file.
				Examples:/PW=&quot;My password&quot;/PASSWORD=&quot;My
				password&quot;
		
	

Keys
Full View

	
		
		
	
	
		
			
				Key
			
				Function
		
	
	
		
			
				[ALT]-x
			
				Exit
		
		
			
				[F2]
			
				Save settings
		
	

Mini View

	
		
		
	
	
		
			
				Key
			
				Function
		
	
	
		
			
				[ALT]-x
			
				Exit
		
		
			
				[F2]
			
				Save settings
		
		
			
				[F3]
			
				Expand/Collapse
		
		
			
				[ALT]-s
			
				Settings
		
		
			
				[ALT]-p
			
				Profile
		
		
			
				[ALT]-a
			
				Add profile
		
		
			
				[ALT]-r
			
				Reset (if allowed)
		
		
			
				[ALT]-h
			
				Horizontal
		
		
			
				[ALT]-t
			
				Toggle titlebar
		
		
			
				[ALT]-b
			
				Toggle statusbar
		
		
			
				[ALT]-l
			
				L/R lock
		
		
			
				[ALT]-m
			
				Full view
		
		
			
				[ALT]-f
			
				Full view
		
		
			
				[ALT]-a
			
				About
		
		
			
				1..9
			
				Open button at position x (1 = first, 2 = second, ...)
		
		
			
				a..p
			
				Open button at position x (a = first, b = second, ...)
		
	

6. Mixomat Plug-in
Installation
Close Netscape Navigator. Copy the file NPMIXER.DLL to
the Netscape plug-in directory (x:\NETSCAPE\PLUGINS). Then
start Netscape Navigator and type about:plugins or choose Help/About
plugins in the menu. Then look through the list and choose the
Mixomat plug-in. There should be a button. Push this button and
configure the plug-in.
Configuration
Open Help/About plug-ins and push Mixomat's settings button.

	
		
		
	
	
		
			
				Settings
			
				Description
		
	
	
		
			
				External configuration
			
				Share a configuration file with Mixomat stand alone.
		
		
			
				Ignore embed tags
			
				Ignore all HTML embed tags: &lt;EMBED tags&gt; &lt;/EMBED&gt;
		
		
			
				Ignore file tags
			
				Ignore commands in an external file. &lt;EMBED
				file=&quot;external file&quot;&gt; &lt;/EMBED&gt;
		
		
			
				Disable plug-in
			
				Don't load plug-in.
		
		
			
				Vertical center
			
				Center buttons vertical.
		
		
			
				Horizontal center
			
				Center button horizontal.
		
		
			
				Save on exit
			
				Save plug-in settings on exit. I don't recommend this because
				all changes made by HTML tags are saved.
		
		
			
				Allow settings
			
				Allow to access the settings dialog in the plug-in.
		
		
			
				Update
			
				Update looks for you if there is a new version of Mixomat. You
				must have a connection to the internet to use it.Auto
				update: checks every x minutes if a new version is
				available.Update: check now if a new version is
				available.
		
		
			
				Mixomat settings
			
				Change the default Mixomat settings.
		
		
			
				Feedback
			
				Send an e-mail to me.
		
		
			
				Protection
			
				Protect the configuration file. Then you must enter a password
				before you can change the settings.
		
	

Embed tags
Usage
&lt;EMBED type=audio/Mixomat
height=399 width=35
pluginspage=http://www.datacomm.ch/~cbratschi/
MixomatTags&gt;&lt;/EMBED&gt;
Netscape tags

	
		
		
	
	
		
			
				Tag
			
				Description
		
	
	
		
			
				Height
			
				Horizontal size of the plug-in in the HTML page.
		
		
			
				Width
			
				Vertical size of the plug-in in the HTML page.
		
		
			
				PluginsPage
			
				Indicates the location of instructions for installing the
				plug-in.Set this value to my home
				page:pluginspage=http://www.datacomm.ch/~cbratschi/
		
		
			
				PluginURL
			
				Points to a JAR file (Communicator only)
		
		
			
				SRC
			
				Optionally indicates the location of the plug-in data file by
				its URL.Example: src=mixomat.mix
		
		
			
				Type
			
				Optionally indicates the MIME type of the Embed tag, which in
				turn determines which plug-in is loaded to handle this Embed
				tag.The MIME type of Mixomat is: audio/Mixomat
		
		
			
				Name
			
				Specifies the name of the inserted object. For use with
				JavaScript.
		
	

Example
&lt;EMBED type=audio/Mixomat
height=399 width=35
pluginspage=http://www.datacomm.ch/~cbratschi/
frame=none horizontal=true
buttons=all separators=bass,mute
buttonsize=25
iconspacing=5&gt;&lt;/EMBED&gt;
The tags are parsed from left to right. If you use tags which
select or create a new profile then all tags at the right side of
this tag access the new profile.Tags aren't case sensitive.
General options

	
		
		
	
	
		
			
				Tag
			
				Description
		
	
	
		
			
				Font
			
				Choose a font.Example: font=&quot;9.WarpSans&quot;
		
		
			
				Reset
			
				True, On, 1, Yes: Switch on (allow
				reset)False, Off, 0, No: Switch
				offExample: Reset=True
		
		
			
				VCenter
			
				True, On, 1, Yes: Switch onFalse,
				Off, 0, No: Switch offExample:
				vcenter=True
		
		
			
				HCenter
			
				True, On, 1, Yes: Switch onFalse,
				Off, 0, No: Switch offExample:
				hcenter=True
		
		
			
				Horizontal
			
				True, On, 1, Yes: Switch on
				(horizontal view)False, Off, 0, No:
				Switch off (vertical view)Example: horizontal=True
		
		
			
				Flat
			
				True, On, 1, Yes: Switch on (flat
				buttons)False, Off, 0, No: Switch
				off (normal buttons)Example: flat=True
		
		
			
				MouseHelp
			
				True, On, 1, Yes: Switch onFalse,
				Off, 0, No: Switch offExample:
				mousehelp=True
		
		
			
				FrameDlgFrame
			
				Dialog: Dialog frameThin: Thin frameNone:
				No frameExample: frame=none
		
		
			
				AutoClose
			
				True, On, 1, Yes: Switch onFalse,
				Off, 0, No: Switch offExample:
				autoclose=True
		
		
			
				OpenLast
			
				True, On, 1, Yes: Switch on (open
				last window)False, Off, 0, No:
				Switch offExample: openlast=True
		
		
			
				LastBmpLastButton
			
				Number.
		
		
			
				Outside
			
				True, On, 1, Yes: Switch onFalse,
				Off, 0, No: Switch offExample:
				outside=True
		
		
			
				Tip
			
				True, On, 1, Yes: Switch onFalse,
				Off, 0, No: Switch offExample:
				tip=True
		
		
			
				ValueInfo
			
				None: No value infoValue: show value
				infoPerCent: show per cent infoExample:
				valueinfo=value
		
		
			
				OpenLastSettings
			
				True, On, 1, Yes: Switch onFalse,
				Off, 0, No: Switch offExample:
				openlastsettings=True
		
		
			
				LastSettings
			
				Number.
		
		
			
				Sliders
			
				Scrollbar: use scrollbarsCircular: use
				circular slidersFlat: use flat slidersExample:
				sliders=flat
		
		
			
				IconSpacing
			
				Number.
		
		
			
				ButtonSize
			
				Number.
		
		
			
				SliderColor
			
				GreenRedBlueWhitePinkCyanYellowDarkGrayDarkBlueDarkRedDarkPinkDarkGreenDarkCyanBrownPaleGrayGYR:
				Green-Yellow-ReadGBYR:
				Green-Blue-Yellow-ReadGreenLGreenRGreenM1GreenM2RedLRedRRedM1RedM2BlueLBlueRBlueM1BlueM2CyanLCyanRCyanM1CyanM2PinkLPinkRPinkM1PinkM2YellowLYellowRYellowM1YellowM2WhiteLWhiteRWhiteM1WhiteM2Example:
				SliderColor=white
		
		
			
				MenuHelp
			
				True, On, 1, Yes: Switch onFalse,
				Off, 0, No: Switch offExample:
				menuhelp=True
		
		
			
				MenuTip
			
				True, On, 1, Yes: Switch onFalse,
				Off, 0, No: Switch offExample:
				menutip=True
		
		
			
				BackDisable
			
				True, On, 1, Yes: Switch onFalse,
				Off, 0, No: Switch offExample:
				backdisable=True
		
		
			
				BackDisableColor
			
				GreenRedBlueWhitePinkCyanYellowDarkGrayDarkBlueDarkRedDarkPinkDarkGreenDarkCyanBrownBlackPaleGray
		
		
			
				HotkeyClose
			
				True, On, 1, Yes: Switch onFalse,
				Off, 0, No: Switch offExample:
				hotkeyclose=True
		
		
			
				HorzTabHTab
			
				UpBestFitDownBestFitUpDown
		
		
			
				VertTabVTab
			
				RightBestFitLeftBestFitRightLeft
		
		
			
				TabSpace
			
				Number.
		
		
			
				UseSliderSize
			
				True, On, 1, Yes: Switch onFalse,
				Off, 0, No: Switch offExample:
				useslidersize=True
		
		
			
				SliderSize
			
				Small,LargeExample: slidersize=10,100
		
		
			
				UseCircularSize
			
				True, On, 1, Yes: Switch onFalse,
				Off, 0, No: Switch offExample:
				usecircularsize=True
		
		
			
				CircularSize
			
				Small,LargeExample: circularsize=10,100
		
		
			
				Buttons
			
				AllNoneName,Name,Name,...MasterVoiceWaveMidiCDLineMicroSpeakerTrebleBassOutInMuteSettingsExample:
				buttons=midi,cd,mute,settings
		
		
			
				Separators
			
				AllNoneName,Name,Name,...MasterVoiceWaveMidiCDLineMicroSpeakerTrebleBassOutInMuteSettingsExample:
				separators=midi,cd,mute,settings
		
		
			
				ProfileNr
			
				Number. Load profile at position x. 0 is the first
				profile.
		
		
			
				ProfileNameProfile
			
				String. Load the profile with this name. The name is
				case sensitive.Example: profile=CD
		
		
			
				IProfileNameIProfile
			
				String: Load the profile with this name. The name is
				case insensitive.Example: iprofile=CD
		
	

Plug-in options

	
		
		
	
	
		
			
				Tag
			
				Description
		
	
	
		
			
				AboutPluginsPluginSettings
			
				Displays the settings button. Default: Off.True,
				On, 1, Yes: Switch onFalse, Off,
				0, No: Switch offExample:
				aboutplugins=True
		
		
			
				Animate
			
				Show an animated text. Default: On.True, On,
				1, Yes: Switch onFalse, Off, 0,
				No: Switch offExample: useslidersize=True
		
		
			
				OutsideAbout
			
				Show the settings button outside about:plugins. Default:
				Off.True, On, 1, Yes: Switch
				onFalse, Off, 0, No: Switch
				offExample: useslidersize=True
		
		
			
				NoDefFont
			
				Don't change the default font to 9.WarpSans on Warp 4 systems
				or higher.True, On, 1, Yes:
				Switch onFalse, Off, 0, No:
				Switch offExample: useslidersize=True
		
	

Mixer options

	
		
		
	
	
		
			
				Tag
			
				Description
		
	
	
		
			
				Master
			
				Number: Set both channels to this value.Number%:
				Set both channel to this value in per cent.Left,Right:
				Set left and right values.Left%,Right%: Set left and
				right values in per cent.Example: master=5,5
		
		
			
				Voice
			
				Number: Set both channels to this value.Number%:
				Set both channel to this value in per cent.Left,Right:
				Set left and right values.Left%,Right%: Set left and
				right values in per cent.Example: voice=30%,40%
		
		
			
				Midi
			
				Number: Set both channels to this value.Number%:
				Set both channel to this value in per cent.Left,Right:
				Set left and right values.Left%,Right%: Set left and
				right values in per cent.Example: midi=5
		
		
			
				CD
			
				Number: Set both channels to this value.Number%:
				Set both channel to this value in per cent.Left,Right:
				Set left and right values.Left%,Right%: Set left and
				right values in per cent.Example: cd=50%
		
		
			
				Line
			
				Number: Set both channels to this value.Number%:
				Set both channel to this value in per cent.Left,Right:
				Set left and right values.Left%,Right%: Set left and
				right values in per cent.Example: line=0
		
		
			
				Micro
			
				Number: Set this value.Number%: Set to this
				value in per cent.Example: micro=41%
		
		
			
				Speaker
			
				Number: Set this value.Number%: Set to this
				value in per cent.Example: speaker=33%
		
		
			
				Treble
			
				Number: Set both channels to this value.Number%:
				Set both channel to this value in per cent.Left,Right:
				Set left and right values.Left%,Right%: Set left and
				right values in per cent.Example: treble=50%
		
		
			
				Bass
			
				Number: Set both channels to this value.Number%:
				Set both channel to this value in per cent.Left,Right:
				Set left and right values.Left%,Right%: Set left and
				right values in per cent.Example: bass=100%
		
		
			
				OutLine
			
				Left,Right: Set left and right valuesLeft: Set both
				channels to this valueTrue, On, 1, Yes:
				Switch onFalse, Off, 0, No:
				Switch offExample: outline=True,True
		
		
			
				OutCD
			
				Left,Right: Set left and right valuesLeft: Set both
				channels to this valueTrue, On, 1, Yes:
				Switch onFalse, Off, 0, No:
				Switch offExample: outcd=True
		
		
			
				OutMicro
			
				True, On, 1, Yes: Switch onFalse,
				Off, 0, No: Switch offExample:
				outmicro=True
		
		
			
				InLMidi
			
				Left,Right: Set left and right valuesLeft: Set both
				channels to this valueTrue, On, 1, Yes:
				Switch onFalse, Off, 0, No:
				Switch offExample: inlmidi=True,True
		
		
			
				InLLine
			
				Left,Right: Set left and right valuesLeft: Set both
				channels to this valueTrue, On, 1, Yes:
				Switch onFalse, Off, 0, No:
				Switch offExample: inlline=True,True
		
		
			
				InLCD
			
				Left,Right: Set left and right valuesLeft: Set both
				channels to this valueTrue, On, 1, Yes:
				Switch onFalse, Off, 0, No:
				Switch offExample: inlcd=True,True
		
		
			
				InLMicro
			
				True, On, 1, Yes: Switch onFalse,
				Off, 0, No: Switch offExample:
				inlmicro=True
		
		
			
				InRMidi
			
				Left,Right: Set left and right valuesLeft: Set both
				channels to this valueTrue, On, 1, Yes:
				Switch onFalse, Off, 0, No:
				Switch offExample: inrmidi=True,True
		
		
			
				InRLine
			
				Left,Right: Set left and right valuesLeft: Set both
				channels to this valueTrue, On, 1, Yes:
				Switch onFalse, Off, 0, No:
				Switch offExample: inrline=True,True
		
		
			
				InRCD
			
				Left,Right: Set left and right valuesLeft: Set both
				channels to this valueTrue, On, 1, Yes:
				Switch onFalse, Off, 0, No:
				Switch offExample: inrcd=True,True
		
		
			
				InRMicro
			
				True, On, 1, Yes: Switch onFalse,
				Off, 0, No: Switch offExample:
				inrmicro=True
		
		
			
				InGain
			
				Number: Set both channels to this value.Number%:
				Set both channel to this value in per cent.Left,Right:
				Set left and right values.Left%,Right%: Set left and
				right values in per cent.Example: ingain=100%
		
		
			
				OutGain
			
				Number: Set both channels to this value.Number%:
				Set both channel to this value in per cent.Left,Right:
				Set left and right values.Left%,Right%: Set left and
				right values in per cent.Example: outgain=50%,50%
		
		
			
				AGC
			
				True, On, 1, Yes: Switch onFalse,
				Off, 0, No: Switch offExample:
				agc=True
		
		
			
				Mute
			
				AllNoneName,Name,Name,...MasterVoiceWaveMidiCDLineMicroSpeakerTrebleBassExample:
				mute=master,voice
		
		
			
				LRLock
			
				True, On, 1, Yes: Switch onFalse,
				Off, 0, No: Switch offExample:
				lrlock=True
		
		
			
				StartLoad
			
				True, On, 1, Yes: Switch onFalse,
				Off, 0, No: Switch offExample:
				startload=True
		
		
			
				StartSet
			
				True, On, 1, Yes: Switch onFalse,
				Off, 0, No: Switch offExample:
				startset=True
		
		
			
				ExitStop
			
				True, On, 1, Yes: Switch onFalse,
				Off, 0, No: Switch offExample:
				exitstop=True
		
		
			
				UpdateFocus
			
				True, On, 1, Yes: Switch onFalse,
				Off, 0, No: Switch offExample:
				updatefocus=True
		
		
			
				UpdateRefresh
			
				True, On, 1, Yes: Switch onFalse,
				Off, 0, No: Switch offExample:
				updaterefresh=True
		
		
			
				RefreshTime
			
				Number.Example: refreshtime=100
		
		
			
				Refresh
			
				AllNoneName,Name,Name,...MasterVoiceWaveMidiCDLineMicroSpeakerTrebleBassOutLineOutCDOutMicroOutGainInMidiInLineInCDInMicroInGainAGCExample:
				refresh=master,voice
		
		
			
				UpdateAggressive
			
				True, On, 1, Yes: Switch onFalse,
				Off, 0, No: Switch offExample:
				updateaggressive=True
		
		
			
				Aggressive
			
				AllNoneName,Name,Name,...MasterVoiceWaveMidiCDLineMicroSpeakerTrebleBassOutLineOutCDOutMicroOutGainInMidiInLineInCDInMicroInGainAGCExample:
				aggressive=master,voice
		
		
			
				AggressiveTime
			
				Number.Example: aggressivetime=100
		
		
			
				NoReset
			
				True, On, 1, Yes: Switch onFalse,
				Off, 0, No: Switch offExample:
				noreset=True
		
		
			
				Timer
			
				Thread: Use thread.Timer: Use PM
				timer.HiResTimer: Use high resolution timer.
		
		
			
				(TimeCritical)
			
				True, On, 1, Yes: Switch onFalse,
				Off, 0, No: Switch offExample:
				timecritical=TrueDon't use this tag!
		
		
			
				Voice2Wave
			
				True, On, 1, Yes: Switch onFalse,
				Off, 0, No: Switch offExample:
				voice2wave=True
		
	

Data File structure

	You can use an external data file instead of Embed tags. This
	method is more flexible but it needs one more network connection to
	load the data file.The data file has the following structure: 

[Settings]
Parameter=Value
[/Settings]
[Profile:Name]
Parameter=Value
[/Profile]

	All names aren't case sensitive.
	Lines which should be ignored begin with ; or REM.
	Unrecognized parameters or values are ignored.
	The text can be written in PC or Unix format.
	You can use more than one [Settings] and [Profile:Name]
	blocks. But the following structure is
	forbidden:[Settings][Profile:Name][/Profile][/Settings]The
	following structure is
	allowed:[Settings][/Settings][Profile:Name1][/Profile][Profile:Name2][/Profile][Settings][/Settings]

[Settings]
Go to general options.
[Profile:Name]
Go to profile options.
Additional parameters

	
		
		
	
	
		
			
				Parameter
			
				Value
		
	
	
		
			
				DefaultProfile
			
				No value!Make this profile to the default
				profile.Example: DefaultProfile
		
	

Example
[SETTINGS]
Font=9.WarpSans
Buttons=wave,midi
[/SETTINGS]
[PROFILE:Hello World!]
[/PROFILE]
[SETTINGS]
Profile=Hello World!
[/SETTINGS]
7. REXX Interface
Initialization
call RxFuncAdd 'MixLoadFuncs','SBREXX','MixLoadFuncs'
call MixLoadFuncs
Datatypes
Bool  = 0/1, TRUE/FALSE, ON/OFF, YES/NO
HexNr = 220
Functions
General
HexNr   = MixGetPort()
          MixSetPort HexPort
HexNr   = MixCheckPort()
Hi'.'Lo = MixGetDSP()
          MixReset()
Bool    = MixGetTimeCritical()
          MixSetTimeCritical Bool
Master
Bool   = MixIsMasterAvailable()
Number = MixGetMasterMin()
Number = MixGetMasterMax()
Number = MixGetMasterL()
Number = MixGetMasterR()
L','R  = MixGetMaster()
         MixSetMasterL Number
         MixSetMasterR Number
         MixSetMaster L,R
Wave/Voice
Bool   = MixIsVoiceAvailable()
Number = MixGetVoiceMin()
Number = MixGetVoiceMax()
Number = MixGetVoiceL()
Number = MixGetVoiceR()
L','R  = MixGetVoice()
         MixSetVoiceL Number
         MixSetVoiceR Number
         MixSetVoice L,R
or
Bool   = MixIsWaveAvailable()
Number = MixGetWaveMin()
Number = MixGetWaveMax()
Number = MixGetWaveL()
Number = MixGetWaveR()
L','R  = MixGetWave()
         MixSetWaveL Number
         MixSetWaveR Number
         MixSetWave L,R
Midi
Bool   = MixIsMidiAvailable()
Number = MixGetMidiMin()
Number = MixGetMidiMax()
Number = MixGetMidiL()
Number = MixGetMidiR()
L','R  = MixGetMidi()
         MixSetMidiL Number
         MixSetMidiR Number
         MixSetMidi L,R
CD
Bool   = MixIsCDAvailable()
Number = MixGetCDMin()
Number = MixGetCDMax()
Number = MixGetCDL()
Number = MixGetCDR()
L','R  = MixGetCD()
         MixSetCDL Number
         MixSetCDR Number
         MixSetCD L,R
Line
Bool   = MixIsLineAvailable()
Number = MixGetLineMin()
Number = MixGetLineMax()
Number = MixGetLineL()
Number = MixGetLineR()
L','R  = MixGetLine()
         MixSetLineL Number
         MixSetLineR Number
         MixSetLine L,R
Micro
Bool   = MixIsMicroAvailable()
Number = MixGetMicroMin()
Number = MixGetMicroMax()
Number = MixGetMicro()
         MixSetMicro Number
Speaker
Bool   = MixIsSpeakerAvailable()
Number = MixGetSpeakerMin()
Number = MixGetSpeakerMax()
Number = MixGetSpeaker()
         MixSetSpeaker Number
Treble
Bool   = MixIsTrebleAvailable()
Number = MixGetTrebleMin()
Number = MixGetTrebleMax()
Number = MixGetTrebleL()
Number = MixGetTrebleR()
L','R  = MixGetTreble()
         MixSetTrebleL Number
         MixSetTrebleR Number
         MixSetTreble L,R
Bass
Bool   = MixIsBassAvailable()
Number = MixGetBassMin()
Number = MixGetBassMax()
Number = MixGetBassL()
Number = MixGetBassR()
L','R  = MixGetBass()
         MixSetBassL Number
         MixSetBassR Number
         MixSetBass L,R
Output
Bool                              = MixIsOutputAvailable()
LineL','LineR','CDL','CDR','Micro = MixGetOutput()
                                    MixSetOutput LineL,LineR,CDL,CDR,Micro
Line
Bool = MixIsOutLineAvailable()
Bool = MixIsOutLineLAvailable()
Bool = MixGetOutLineL()
       MixSetOutLineL Bool
Bool = MixIsOutLineRAvailable()
Bool = MixGetOutLineR()
       MixSetOutLineR Bool
CD
Bool = MixIsOutCDAvailable()
Bool = MixIsOutCDLAvailable()
Bool = MixGetOutCDL()
       MixSetOutCDL Bool
Bool = MixIsOutCDRAvailable()
Bool = MixGetOutCDR()
       MixSetOutCDR Bool
Micro
Bool = MixIsOutMicroAvailable()
Bool = MixGetOutMicro()
       MixSetOutMicro Bool
Input
Left
Bool                                              = MixIsInputLAvailable()
MidiL','MidiR','LineL','LineR','CDL','CDR','Micro = MixGetInputL()
                                                    MixSetInputL MidiL,MidiR,LineL,LineR,CDL,CDR,Micro
Midi left
Bool = MixIsInLMidiAvailable()
Bool = MixIsInLMidiLAvailable()
Bool = MixGetInLMidiL()
       MixSetInLMidiL Bool
Bool = MixIsInLMidiRAvailable()
Bool = MixGetInLMidiR()
       MixSetInLMidiR Bool
Line left
Bool = MixIsInLLineAvailable()
Bool = MixIsInLLineLAvailable()
Bool = MixGetInLLineL()
       MixSetInLLineL Bool
Bool = MixIsInLLineRAvailable()
Bool = MixGetInLLineR()
       MixSetInLLineR Bool
CD left
Bool = MixIsInLCDAvailable()
Bool = MixIsInLCDLAvailable()
Bool = MixGetInLCDL()
       MixSetInLCDL Bool
Bool = MixIsInLCDRAvailable()
Bool = MixGetInLCDR()
       MixSetInLCDR Bool
Micro left
Bool = MixIsInLMicroAvailable()
Bool = MixGetInLMicro()
       MixSetInLMicro Bool
Right
Bool                                              = MixIsInputRAvailable()
MidiL','MidiR','LineL','LineR','CDL','CDR','Micro = MixGetInputR()
                                                    MixSetInputR MidiL,MidiR,LineL,LineR,CDL,CDR,Micro
Midi right
Bool = MixIsInRMidiAvailable()
Bool = MixIsInRMidiLAvailable()
Bool = MixGetInRMidiL()
       MixSetInRMidiL Bool
Bool = MixIsInRMidiRAvailable()
Bool = MixGetInRMidiR()
       MixSetInRMidiR Bool
Line right
Bool = MixIsInRLineAvailable()
Bool = MixIsInRLineLAvailable()
Bool = MixGetInRLineL()
       MixSetInRLineL Bool
Bool = MixIsInRLineRAvailable()
Bool = MixGetInRLineR
       MixSetInRLineR Bool
CD right
Bool = MixIsInRCDAvailable()
Bool = MixIsInRCDLAvailable()
Bool = MixGetInRCDL()
       MixSetInRCDL Bool
Bool = MixIsInRCDRAvailable()
Bool = MixGetInRCDR()
       MixSetInRCDR Bool
Micro right
Bool = MixIsInRMicroAvailable()
Bool = MixGetInRMicro()
       MixSetInRMicro Bool
Output gain
Bool   = MixIsOutGainAvailable()
Number = MixGetOutGainMin()
Number = MixGetOutGainMax()
Number = MixGetOutGainL()
Number = MixGetOutGainR()
L','R  = MixGetOutGain()
         MixSetOutGainL Bool
         MixSetOutGainR Bool
         MixSetOutGain L,R
Input gain
Bool   = MixIsInGainAvailable()
Number = MixGetInGainMin()
Number = MixGetInGainMax()
Number = MixGetInGainL()
Number = MixGetInGainR()
L','R  = MixGetInGain()
         MixSetInGainL Bool
         MixSetInGainR Bool
         MixSetInGain L,R
AGC
Bool = MixIsAGCAvailable()
Bool = MixGetAGC()
       MixSetAGC Bool
Examples
Example 1
/* SBRexx Test */

call RxFuncAdd 'MixLoadFuncs','SBREXX','MixLoadFuncs'
call MixLoadFuncs

Say MixVer()
Say MixCopyright()
Say

/* if MixIsMasterAvailable()  = 1 then Say 'Master:  'MixGetMasterL()'/'MixGetMasterR()'' */
if MixIsMasterAvailable() = 1 then
do
parse value MixGetMaster() with L','R
Say 'Master:  'L'/'R''
end;
if MixIsVoiceAvailable()   = 1 then Say 'Voice:   'MixGetVoiceL()'/'MixGetVoiceR()''
if MixIsMidiAvailable()    = 1 then Say 'Midi:    'MixGetMidiL()'/'MixGetMidiR()''
if MixIsCDAvailable()      = 1 then Say 'CD:      'MixGetCDL()'/'MixGetCDR()''
if MixIsLineAvailable()    = 1 then Say 'Line:    'MixGetLineL()'/'MixGetLineR()''
if MixIsMicroAvailable()   = 1 then Say 'Micro:   'MixGetMicro()''
if MixIsSpeakerAvailable() = 1 then Say 'Speaker: 'MixGetSpeaker()''
if MixIsTrebleAvailable()  = 1 then Say 'Treble:  'MixGetTrebleL()'/'MixGetTrebleR()''
if MixIsBassAvailable()    = 1 then Say 'Bass:    'MixGetBassL()'/'MixGetBassR()''
pause
Say
Say 'Output:'
if MixIsOutLineAvailable()  = 1 then Say 'Line:  'MixGetOutLineL()'/'MixGetOutLineR()''
if MixIsOutCDAvailable()    = 1 then Say 'CD:    'MixGetOutCDL()'/'MixGetOutCDR()''
if MixIsOutMicroAvailable() = 1 then Say 'Micro: 'MixGetOutMicro()''
if MixIsOutGainAvailable()      = 1 then 
do
L = MixGetOutGainL()
if L = 0 then L = 'x1'
else if L = 1 then L = 'x2'
else if L = 2 then L = 'x4'
else if L = 3 then L = 'x8'
R = MixGetOutGainR()
if R = 0 then R = 'x1'
else if R = 1 then R = 'x2'
else if R = 2 then R = 'x4'
else if R = 3 then R = 'x8'
Say 'Gain:  'L'/'R''
end
Say
Say 'InputL:'
if MixIsInLMidiAvailable()  = 1 then Say 'Midi:  'MixGetInLMidiL()'/'MixGetInLMidiR()''
if MixIsInLLineAvailable()  = 1 then Say 'Line:  'MixGetInLLineL()'/'MixGetInLLineR()''
if MixIsInLCDAvailable()    = 1 then Say 'CD:    'MixGetInLCDL()'/'MixGetInLCDR()''
if MixIsInLMicroAvailable() = 1 then Say 'Micro: 'MixGetInLMicro()''
Say
Say 'InputR:'
if MixIsInRMidiAvailable()  = 1 then Say 'Midi:  'MixGetInRMidiL()'/'MixGetInRMidiR()''
if MixIsInRLineAvailable()  = 1 then Say 'Line:  'MixGetInRLineL()'/'MixGetInRLineR()''
if MixIsInRCDAvailable()    = 1 then Say 'CD:    'MixGetInRCDL()'/'MixGetInRCDR()''
if MixIsInRMicroAvailable() = 1 then Say 'Micro: 'MixGetInRMicro()''
if MixIsInGainAvailable()      = 1 then 
do
L = MixGetInGainL()
if L = 0 then L = 'x1'
else if L = 1 then L = 'x2'
else if L = 2 then L = 'x4'
else if L = 3 then L = 'x8'
R = MixGetInGainR()
if R = 0 then R = 'x1'
else if R = 1 then R = 'x2'
else if R = 2 then R = 'x4'
else if R = 3 then R = 'x8'
Say 'Gain:  'L'/'R''
end
if MixIsAGCAvailable() = 1 then Say 'AGC:   'MixGetAGC()''
Example 2
/* Profile: Default */

call RxFuncAdd 'MixLoadFuncs','SBREXX','MixLoadFuncs'
call MixLoadFuncs

Say 'Loading profile Default'

call MixSetPort         220
call MixSetTimeCritical TRUE
call MixSetMaster       24,24
call MixSetVoice        25,25
call MixSetMidi         24,24
call MixSetCD           25,25
call MixSetLine         25,25
call MixSetMicro        25
call MixSetSpeaker       2
call MixSetTreble       11,11
call MixSetBass         11,11
call MixSetOutput       TRUE,TRUE,TRUE,TRUE,FALSE
call MixSetInputL       TRUE,FALSE,TRUE,FALSE,FALSE,FALSE,TRUE
call MixSetInputR       FALSE,TRUE,FALSE,TRUE,FALSE,FALSE,TRUE
call MixSetInGain       1,1
call MixSetOutGain      0,0
call MixSetAGC          FALSE

Say 'Done'
8. Scope
Parameters

	
		
		
	
	
		
			
				Parameter
			
				Function
		
	
	
		
			
				/?/HELP
			
				Help
		
		
			
				/PORT:x
			
				Defines the port to use. Default: 220.
				Example/PORT:220
		
		
			
				/TIMER:x
			
				Defines the update time in ms. Default: 200 ms.
				Example/TIMER:200
		
		
			
				/NOTTIMECRITICAL
			
				Disable time critical port access.
		
	

Attention: This is a beta release of Scope!
9. Known Problems

	The update feature doesn't work in Mixomat plug-in. Netscape
	doesn't load hyperlinks. This is a Netscape Navigator bug. I can't
	say if Netscape will fix it because I got no answer.

10. Frequently Asked
Questions
Question: I use the sliders to change the volume but they
don't work.
Answer: Check your sound card and the selected port. If
other programs overwrite the settings then use aggressive mode: open
the settings dialog and enable Update/Aggressive.

Question: Some DOS games don't work. Sound suddenly stops.
Answer: Don't use the high resolution timer.
11. Future

	Interface for other sound cards

12. History

	
		
		
	
	
		
			
				Date
			
				Version
		
	
	
		
			
				16. March 1998
			
				Mixomat 2.00
				
					Netscape Navigator plug-in
					Problems with Presentation Manager fixed
					Many extensions
			
		
		
			
				28. November 1997
			
				Mixomat 1.01b
				
					Profile extensions
					New parameter /SET
					Updated SBREXX.DLL
					Mixer Control API draft
			
		
		
			
				22. October 1997
			
				Mixomat 1.01a
				
					Switch and high resolution timer bugs fixed
					Scope documentation
			
		
		
			
				17. October 1997
			
				Second release Mixomat 1.01.
				
					Some bugfixes
					Many extensions
			
		
		
			
				22. August 1997
			
				First release: Mixomat 1.00
		
	

(1)
Profile dependent.(2) New in this
version.
13. Updates
Please visit my home
page for updates.
All mentioned products and trade marks belong to
their respective owners.

Christoph Bratschi's
Homepage&copy; 1997/98 by Christoph
Bratschi

