home *** CD-ROM | disk | FTP | other *** search
/ Chip 1999 December / Chip_1999-12_cd.bin / sharewar / MIDIdrv / README.TXT < prev    next >
Text File  |  1997-03-24  |  24KB  |  645 lines

  1.  
  2.   Hubi's LoopBack device   Version 2.5                         March 25, 1997
  3.     
  4.  
  5.  virtual MIDI driver for Windows3x/95 to connect multiple MIDI-programs.
  6. _____________________________________________________________________________
  7.   TO PREVENT YOUR SYSTEM FROM VIRUSES THIS FILE IS PLAIN ASCI.
  8.            no Wizards, no Macros, no ActiveX, no Java. 
  9. _____________________________________________________________________________
  10.  
  11.  This package may be of use for You, if you
  12.  * work simultaneous with multiple MIDI programs in Windows (or want to do it).
  13.  * hate the Message "the MIDI device is currently in use by another ...".
  14.  * simply want to hear the OPL2-FM chips of your SoundBlaster when you play 
  15.    your Waldorf Wave keyboard (can't get that noiz out).            do you? :-)
  16.  * Use your favorite Synth-Editor together with your favourite MIDI-Sequencer,
  17.    Combine the best of all MIDI programs.
  18.  
  19.  This package is NOT for You, if you
  20.  * ask now "What is MIDI ?"
  21.  * laugh with pleasure about Microsofts error messages and their funny
  22.    translations ( some are at http://www.mydesktop.com ) 
  23.  * won't hear a PC ventilator fan near your Waldorf Wave.  
  24.  * your only MIDI application is a MIDI Jukebox player. 
  25.  
  26.  
  27. Changes sice v2.4
  28.  + bugfix for crashes with some MIDI drivers
  29.  + internal FIFO to prevent hanging notes during SysEx transfers
  30.  + some optimisations for Fuse, and SysEx. 
  31. _____________________________________________________________________________
  32.  
  33. Highlights
  34.  
  35.  up to 4 new MIDI In/Outputs 
  36.  Multi client feature allows mixing and duplication of MIDI messages
  37.  full SysEx support
  38.  Very low memory requirements (about 5K fixed / 4k discardable Windows memory)
  39.  No hardware required (except your Windows-PC)
  40.  Port names can be edited 
  41.  Fuse mechanism to prevent MIDI-short curcuit (dumb safe!)
  42.  CAN EXTEND YOUR MIDI-DRIVER TO MULTI-CLIENT FASCILITY !
  43.  comes with hwmdcabl.exe - the realtime SysEx-thru icon.
  44.  program source is available
  45.  IT'S FREEWARE
  46.  
  47. _____________________________________________________________________________
  48.  
  49.                            Table of Contents
  50.   
  51.   Overview
  52.   Installation
  53.   Updating from a Previous Version
  54.   Making a MIDI port Multi Client able
  55.   Simple Example Setup
  56.   How "Hubi's LoopBack works"
  57.   How "Hubi's MidiCable works"
  58.   Hints and Warnings : Midi-Thru, Cubase, CTL3D.DLL
  59.   History
  60.   Future Enhancements - What YOU can do
  61.   About the Author
  62.   
  63. __________________________________________________________________________
  64.  
  65. Overview
  66.  
  67.  The package contains two programs:
  68.  
  69.  + A MIDI driver, "Hubi's LoopBack Device", which must be installed via control
  70.     panel. The driver offers virtual MIDI Ports (up to 4), which act as both,
  71.     Input and Output MIDI device. All MIDI data sent to the output (a typical
  72.     sequencer program) is sent to all programs at the input side (eg. a MIDI 
  73.     monitor program). The ports are named "LB1" to "LB4" by default and can be
  74.     renamed
  75.     
  76.  + A MIDI-Thru application, "Hubi's MIDI Cable", which connects Midi-Inputs
  77.     with Midi Outputs. It is useful for quick connections between LoopBack-
  78.     Ports and Hardware Ports, or to play your Soundcard Synth from external
  79.     MIDI keyboard.
  80.  
  81. The two programs work independent, you can use only Midi-Loopback, or
  82. only Midi-Cable.
  83. _____________________________________________________________________________
  84.  
  85. Installation
  86.  
  87.  Unzip to an empty directory
  88.  
  89. pkunzip mdlpbk24 -d c:\tmp     (option -d is not required)
  90.  
  91. Copy the files HWMDCABL.EXE and HWMDCB.DLL to another directory. If you use
  92. Windows FileManager, use the Drag&Drop feature to install a ProgramManager
  93. icon. 
  94.  or use WinZip, "Extract" command. 
  95.  
  96.  
  97.  Start Windows, select "Control Panel" from the "Main" group, select Drivers,
  98. select Add button, select "unlisted driver", OK, enter your directory
  99. (eg. C:\TMP). Now you should see "Hubis Loopback V2.4", and press OK. Now the
  100. configuration dialog comes up and you must select the number of ports to use.
  101. 2 should be a good starting point, but WARNING: Windows(3.1) cannot handle 
  102. more than 10 midiports (+Midimapper). Win95 detto!
  103. After Restart, the new MIDI In and Outputs will be available then. If you have
  104. no CTL3DV2.DLL in your \windows or \windows\system directory (nearly impossible)
  105. then you must install one manually.
  106.  
  107. Windows 95: 
  108.  Start->Settings->ControlPanel->Hardware
  109.   Continue-> [No] ->Continue -> [ Audio/Video/Game Controller ] ->Continue
  110.    ->Diskette -> [ enter the unzipped directory (c:\tmp) ] ...
  111.  Then you will see a list with "Hubi's Loopback v250", select this, 
  112.  some ok and resteart Windows when asked about it.
  113.  
  114. ______________________________________________________________________________
  115.  
  116.  MAKING A MIDI PORT MULTI-CLIENT-ABLE
  117.  
  118. (there is a easier to handle alternative at 
  119.  http://netbase.t0.or.at/~seib/midi.htm )
  120.  
  121. You can use a loopback-port together with HWMDCABL.EXE to make a Hardware
  122. MIDI port (eg. SoundBlaster) able to handle with multiple clients.
  123.  
  124. There exist already several MIDI drivers which are able to deal with more
  125. than one client. I know of many, but I know of two which CAN NOT handle
  126. more than one client:
  127.   Creative Labs Soundblaster 16 
  128.   Creative Labs AWE32 (both, Microsoft and Creative Labs drivers)
  129.  
  130. These are the "mainstream" cards.
  131.  
  132.  
  133. A test if your driver supports multi-client access is simple:
  134.   - start 2 instances of HWMDCABL.EXE 
  135.   - try to open one port (in or output) simultaneous by both midicable-icons.
  136.     If this works without an error message box, the port supports multi-client
  137.     access. If an error message box comes with "the midi port is already in 
  138.     use..", multi client access is not supported.
  139.   - IN and OUT - ports are independent of each other, so you must check both.
  140.  
  141. To make a standard MIDI port multi client able, you must combine a LoopBack
  142. node with MIDI-Cable:
  143.  
  144.  
  145.      [LB1]--->{hwmdcabl.exe}--->[SB16 Midi Out (330)]
  146.  
  147.        all MIDI sent to LB1 output is sent to SB MIDI out.
  148.        The advantage is that LB1 can be opened from multiple
  149.        programs, and SB-MIDI-out is only opened from MIDI cable.
  150.  
  151.        LB1 can be used like SB-MIDI-Out now.
  152.  
  153.  
  154. If you start MIDI-Cable, and press the right mouse button (left under Win3.1) 
  155. on it in the taskbar, you will see a menu with 3 parts. 
  156.  - Windows system commands
  157.  - MIDI Input ports
  158.  - MIDI Output ports
  159.  
  160. The active In/Outputs are checked, and also displayed as Icon Title,
  161. You have to select "LB1" as Input, and "SB16 MIDI Out(330)" as Output.
  162. The Startup-Group should contain the MIDI-cable shortcut with the
  163. proper command line IN= and OUT= nubers, which can be copied 
  164. to clipboard with "cmd to clipbrd" menu item. 
  165. e.g "C:\PROGRA~1\MDLPBK25\HWMDCABL.EXE OUT=7 IN=2"
  166.  and then pasted to the Icon properties.
  167.  
  168.  
  169. To make MIDI-Input Multiclient, use
  170.  
  171.      [SB16 Midi In (330)]--->{hwmdcabl.exe}--->[LB2]
  172.  
  173.        all MIDI received external from SB MIDI In is sent to
  174.        MIDI-Cable, then to LB2, and delivered to all attached client
  175.        programs. 
  176.        The advantage is that LB2 can be opened from multiple
  177.        programs, and SB-MIDI-In is only opened from MIDI cable.
  178.  
  179.        LB2 can be used like SB-MIDI-Out now.
  180.  
  181. It is a good idea to rename "LB1" to "v-SB-Out" and "LB2" to "v-SB-In" now.
  182.  
  183.  
  184. _____________________________________________________________________________
  185.  
  186. Updating from a previous version
  187.  
  188.  The main difference to the previous versions 1.0 and 1.1 is, that midlpbk.dll
  189. now can deal with multiple clients. Each port can be opened by up to 4 MIDI-In
  190. clients and up to 10 MIDI-Out clients. This feature makes the old matrix
  191. configuration now unnecessary, and allows a more powerful and flexible
  192. configuration that is also easier to maintain.
  193.  
  194. Removed features are:
  195. - IN- and OUT ports now have the same name
  196. - Matrix-setup removed
  197. - No more a Control Panel Applet
  198.  
  199. This means you have to 
  200.  remove your ProgMan-Icons for "control midlpbk.dll",
  201.  remove from control.ini, Section [MMCPL] the line
  202.   Hubis LoopBack=c:\windows\system\midlpbk.dll
  203.  
  204. Please remove the old driver before installing the new one. This saves some
  205. space in system.ini.
  206.  
  207. The new features are
  208. + Multi Client
  209. + Port Name Dialog
  210. The setup dialog is now only available from SytemControl->Drivers->Configure.
  211.  
  212.  Between the versions 2.0 to 2.3 is no functional difference, only peripheral
  213. smoothing. Version 2.4 adds a fusing mechanism.
  214.  
  215.  
  216. Version 2.5: NEW:
  217.  
  218.  MIDLPBK.DLL is now named MIDLPBK.DRV
  219.  
  220.  Please deinstall via ControlPanel/Multimedia/Extended before
  221.  installing the new driver.
  222.  
  223. ______________________________________________________________________________
  224.  
  225.  How "Hubi's LoopBack" works:
  226.  
  227.  There is a MIDI output port and a MIDI input port. All data sent to
  228. the output will be available at the input port, that is the MIDI output
  229. from one program is the input of another program.
  230.  
  231.    Prog1 >--[ LB1 ]--> Prog2
  232.  
  233. You should think about a MIDI node, which can be opened as output
  234. from several programs and input of others. Each of this programs is named
  235. "a client". The output of all OUT-clients is merged and sent to all 
  236. IN-clients. Multi-Client means, that each node can have up to 4 IN-clients 
  237. and 10 OUT-clients (hard coded).
  238. Hubi's LoopBack can serve up to 4 nodes, but changing the number of active
  239. ports (=nodes) requires to restart Windows.
  240.  
  241.  
  242.  Fuse Mechanism:
  243.  
  244. The main drawback of pre-2.4 versions was the possible system-hangup on MIDI
  245. short-curcuit. Attaching the same Node as Input and Output of a MIDI 
  246. application can cause circling MIDI messages (w/ MIDI thru). 
  247.  
  248.  The first invention was:
  249.  +  Do not send the same message twice. 
  250. But to let MIDICLOCK work, a time limit was added, and to allow the generation
  251. of Flanger Effects (all notes played twice - i.e. with two "Hubi's MIDI cable" 
  252. in parallel), a more general formula was used:
  253.  
  254.  ++ Do not send a Message more than N times within M milliseconds.
  255.  
  256.  N and M are adjustable in the Configuration Dialog as 
  257.    Duplicates: 
  258.     max    N       (default 1)
  259.     in ms  M       (default 2)
  260.  
  261. To enable "Flanger effects", N must be setted to 2.
  262. MIDICLOCK (F8 hex) appears 24 times per quarter note, that is every
  263. 10.4 ms at 240bpm. Setting M to 10 could eat up some MIDICLOCKs then.
  264.  
  265.  
  266. But another "Crash" situation still exist: the Cubase "Reset Devices" command.
  267. It sends Controller Reset Commands on all 16 channels (6 x 16 = 96 messages),
  268. and the "thru" feature would cause a system hangup. This was solved with
  269. following formula:
  270.  
  271. ++ Do not send more than X messages per time period T.
  272.  
  273.  X and T are adjustable in the Configuration Dialog as 
  274.   Fuse:
  275.    max    X  (default 128)
  276.    in ms  T  (default 100)
  277.  
  278. The default values seems lower than the MIDI rate of about 1500 per second 
  279. (2 byte messages, i.e. Controller with running status at full use of 31250
  280. baud), but only SysEx transmission uses such a high data rate, and SysEx-Input
  281. in Windows is usually handled with blocks of several hundred bytes.
  282.  
  283.  
  284. _____________________________________________________________________________
  285.  
  286. Simple (?) Example Setup:
  287.  
  288. The symbol >>>> means a running HWMDCABL.EXE instance.
  289.  
  290. [SB MIDI In]--->>>>---[LB1]---{Cubase}---[LB2]--->>>>--[SB MIDI out]
  291.                      / / \\_{SynthEditor}_// \
  292.            MidiJoy_/  /   \{CakeWalk}____/    \{MidiMonitor}
  293.    virtual Keyboard_/      \{MidiMonitor}
  294.  
  295. Note what's possible with only 2 nodes activated, and now imagine how
  296. complicated your setup could be with all 4 nodes activated...
  297.  
  298. But if Creative Labs makes their SB16 MIDI Driver with multi client support,
  299. most would work without midlpbk.dll
  300.  
  301.  
  302. - - - - 
  303. Sometimes it is a better choice to have a "serial" connection:
  304.  
  305. [SB MIDI In]-->{SynthEditor}-->[LB1]---{Sequencer}--->[SB MIDI out]
  306.  
  307. Synth-Setup-Data could so be recorded with Sequencer. 
  308.  
  309.  
  310. - - - - 
  311. Synchronizing Samplitude  with  Sequencer:
  312.  
  313.   {Samplitude Studio}--------->[LB1]------>{Sequencer}
  314.        sent MTC to LB1                   sync to SMPTE/MTC from LB1                                                             
  315.  
  316. Midi Time Code (MTC) is preferrable over MIDI clock.
  317. Audio program should always be the Master (better performance).
  318.  
  319. _____________________________________________________________________________
  320.  
  321. Compatibility:
  322.  
  323.  MMSYSTEM : most Windows programs. Use LB1 (or the nickname) like any other
  324.        input or output, but do not use the same device as both, input and 
  325.        output. It won't crash, but it also won't work proper.
  326.  
  327.  OMS : The Opcode Vision 2.5 demo comes with a prerelease of OMS for Windows. 
  328.        To use MIDI Loopback with it, Uncheck 'Global Off' in the configutation
  329.        dialog during the OMS-configuration step. Don't forget to turn on after
  330.        this is done. (ControlPanel/Multimedia/Extended/LB1/configure)
  331.        Also turn off the unused inputs in Vision.
  332.  
  333.  MidiShare: This is a Mac-Ported (?) free Toolkit for Programmers, available at 
  334.          http://www.grame.fr/english/
  335.        It is nearly impossible to use it together with other (non-Midishare)
  336.        programs until a configurable port-mapper will be written.
  337.  
  338. ______________________________________________________________________________
  339.  
  340. How "Hubi's MIDI cable" works
  341.  
  342. It's a simple MIDI-thru program with following features: 
  343. - All MIDI processing in realtime (at Interrupt time!)- no Windows/Message delays
  344. - Full SysEx support
  345. - unlimited SysEx Message size
  346. - low resource requirements (I could start it 57 times! -V2.1 in Win3.1 with i/o none)
  347.       
  348.  
  349. Usage:
  350.     - Start
  351.     - Search icon, then select MIDI-in port and MIDI-out port.
  352.     - .... play your attached MIDI keyboard
  353.     - Close 
  354.     - the settings are remembered for the next start (in win.ini).
  355.  
  356.  
  357. Usage for advanced users:
  358.     The pro's need more than one instance running (I tried once 57!), so 
  359.     I gave the program the option to pass the ports on the command line. 
  360.     e.g.   HWMDCABL.EXE IN=1 OUT=1 
  361.     Create an own program manager icon for each needed MIDI-connection
  362.     and edit the appropriate command line. The numbers are the same as
  363.     in the icon menu.
  364.      If it should start at startup, copy the program manager icons into
  365.     the Autostart program group (hold down the <Ctrl> key while dragging
  366.     with the mouse).
  367.  
  368.  
  369. Filter Option: The filter can be setted only from the command line, there is
  370.         no default setting from ini-settings because of the very
  371.     confusing behaviour if not all MIDI messages go through by default.
  372.     The format is
  373.     hwmdcabl.exe FILT=Channs,ChanMsgs,SysMsgs
  374.     where Chans,ChanMsgs and SysMsgs are a hexadecimal number each.
  375.     
  376.     Chans:
  377.     8000 : Channel 16
  378.     4000 : Channel 15
  379.     2000
  380.     ....
  381.     0002 : Channel 2
  382.     0001 : Channel 1
  383.  
  384.     i.e. to filter out channels 12,11 and 1, use 0800+0400+0001 = 0C01
  385.         FILT=C01,.....      (leading zeros are optional)
  386.  
  387.     ChanMsgs:
  388.     0100 : Note Off
  389.     0200 : Note Off
  390.     0400 : Poly Key Pressure (key aftertouch)
  391.     0800 : Control Change
  392.     1000 : Program Change
  393.     2000 : Channel Pressure (channel Aftertouch)
  394.     4000 : Pitch Bend
  395.      
  396.     i.e. to filter out channels 12,11 and 1, PitchBend and Polyphone Aftertouch
  397.         FILT=C01,4400
  398.  
  399.     SysMsgs:
  400.     0001 : System exclusive
  401.     0002 : Midi Time code (MTC)
  402.     0004 : Song Position Pointer
  403.     0008 : Song Select
  404.     0040 : Tune Request
  405.     0080 : ( End of SysEx - will be received as SysEx or MM_MIM_ERROR)
  406.       realtime messages:
  407.     0100 : Midi Clock
  408.     0400 : Start
  409.     0800 : Continue
  410.     1000 : Stop
  411.     4000 : Active Sense
  412.     8000 : System Reset
  413.       When you hold down the <Ctrl> key while clicking the checkbox, you can 
  414.     send the clicked system message to the MIDI output (have you ever tried
  415.     what reset does ?).
  416.  
  417.     i.e. to filter out channels 12,11 and 1, PitchBend and Polyphone Aftertouch,
  418.         Midi Clock, Active Sense and MTC
  419.         FILT=C01,4400,4102
  420.     
  421.    All filtered is: FILT=FFFF,7F00,DDCF
  422.  
  423.    Note: use the "Cmd to Clipbrd" menu item to copy the current settings
  424.         to clipboard (and insert it to the command line of the icon)
  425.  
  426.  
  427.  
  428. Transformation options: (experimental state)
  429.     TRx=mask,trigger,value,func
  430.     with x=1..4, mask, trigger, value and func are Hex numbers
  431.            The hex bytes represent the MIDI bytes.
  432.     
  433.     Example: Transform Midi Controller #5 to Start/Stop messages
  434.  
  435.         mask=FFFF80    - only MSB of Data 2
  436.         trigger=B00540
  437.         value=FA    (Start)
  438.  
  439.         mask=FFFF80    - only MSB of Data 2
  440.         trigger=B00500
  441.         value=FC    (Stop)
  442.  
  443.     ... TR1=FFFF80,B00540,FA,01 TR2=FFFF80,B00500,FC,01
  444.  
  445.     see transform.txt for more examples
  446.     
  447. _____________________________________________________________________________
  448.  
  449. Integrating MIDIMAPPER in setup (Win3.1)
  450.  
  451. Example: a Yamaha PSS790 + Cakewalk Homestudio
  452.     - PSS790 sends all MIDI IN unchanged to MIDI OUT (merged with Keys)
  453.     - Cakewalk Homestudio has no Input Channel Filter.
  454.     - If you want to sequence a song using the PSS790 Synth during record,
  455.       you'll get all MIDI data back at the MIDI-In and will record all
  456.       16 MIDI channels (echoed from PSS790 out) at the current track.
  457.  
  458.  [PSS790]-[MPU]-->>>--[MidiMapper]--[LB1]--[Sequencer]--[MPU]--[PSS790]
  459.  
  460.     * enable one virtual Node LB1
  461.     * Setup MidiMapper: Only channel 1 is enabled and sent to LB1, rest off.
  462.     * MidiCable with IN=MPU and OUT=MidiMapper
  463.     * Only LB1 as Input in Sequencer
  464. Now the Sequencer receives only channel 1 ! And you can record track by track now.
  465. _____________________________________________________________________________
  466.  
  467. HINTS & WARNINGS:
  468.  
  469.  
  470. MIDI THRU
  471.  
  472.   Midi short curcuit is no problem now - FUSE MECHANISM. 
  473.  
  474.  
  475. CTL3D.DLL 
  476.  
  477. midlpbk.dll uses ctl3dv2.dll for their dialogs if installed. If this file is missing,
  478.    dialogs are black/white. If Win3.1 shows an error ignore this.
  479. _____________________________________________________________________________
  480.  
  481. History:
  482.  
  483. V 0.x Jan 94 : 1st working version, but nearly unused due to Cubase problems.
  484.  
  485. V 1.0 Feb 95 : first upload (Steinberg released set_mme-utility)
  486.  
  487. V 1.1          Code segment made fixed. 
  488.                MidiOutShortMsg can be reentered 4 times now (should be enough)
  489.                Device Names can be edited in system.ini
  490.  
  491. V 2.0 Jun 95 : Multi-Client version. Remove all beautiful features (no more
  492.                necessary). Source splitted in fixed- and discardable code.
  493.            Packaged with HWMDCABL.EXE
  494.  
  495. V 2.1 Aug 95 : Fix for SB16 with TB-Rio, IN- and OUT- names can be different
  496.            (required for TB-WavePatch - see wfpatch.wri )
  497.  
  498. V 2.2 Oct 95 : dynamic load of Ctl3dV2.dll, only if installed.
  499.  
  500. priv. V 2.2a Nov 95 : Filter dialog with Midi Cable
  501.  
  502. priv. V 2.2b Jan 96 : Workaround for AWE32 driver bug on close, 
  503.  
  504. V 2.3 Apr 96 : Fixed a Win95 bug with 32bit Window-Callback
  505.  
  506. V 2.4 Aug/Sep 96 : Fuse mechanism, Reviewed transform and filter
  507.  
  508. V 2.5 Mar 97: internal FIFO, reviewed Fuse, Global ON
  509.  
  510. ------------------------------------------------------------------------------
  511.  
  512. Future enhancements:
  513.  
  514.  Configurable realtime transformations. A finished program exist,
  515.  but due to OO-technology it's 450 kB + some DLLs. This will be
  516.  an own package. 
  517.  
  518.  
  519.  WHAT OTHER PROGRAMMERS CAN DO :
  520.  
  521.  I think it should now be easy for musical programmers to enhance their system
  522. with small MIDI utilities, like random note generators, midi message
  523. translation applications, problem specific input dialogs.
  524.  Or Physical modeling software Synthesizers, virtual 303s, spectral synthesis, ...
  525. ...I wish Intel Processors have the Power-Mac CPU-performance.
  526.  
  527.  -------------
  528.  
  529. Note: In the documentation of version 1.1, I said that the MMSYSTEM design of
  530.       Microsoft would not allow full featured multi-client drivers. I was
  531.       wrong! It was indeed very simple to implement it. As a hobby programmer, 
  532.       I can't afford MSDN Level 1 or 2, so I'm always behind in getting
  533.       information. Fortunately I got a MS Multemedia Jumpstart CDROM in a 
  534.       10 pack, which contained information for writing MIDI drivers.
  535.        
  536.       But I don't know why Microsoft has not impelemented this very useful
  537.       feature in their own drivers and their DDK SoundBlaster example.
  538.  
  539.  BTW, I've bought a Microsoft Home Mouse. It contains some funny programs for
  540.     modifying the Windows-cursor. After installation of the 2 floppies, one 
  541.     of the directories contains 457 cursor files with 326 bytes length each. 
  542.     But if you install this onto a harddisk partition with more than 1 GB, 
  543.     15 MB of your C: drive is occupied (a 32 kB cluster per file). What I want
  544.     to say is, only Microsoft is able to copy 15 MB uncompressed to a floppy.
  545.  
  546. ______________________________________________________________________________
  547. Undocemented features:
  548.  
  549. WIN.INI:
  550.  
  551. [Hubi's MIDI cable]
  552. ; size of one (of three) SysEx buffer 
  553. SysExSize=1024
  554. ; should we use CTL3DV2.DLL ?
  555. Use3D=1
  556.  
  557.  
  558. SYSTEM.INI:
  559.  
  560. [midlpbk.drv]
  561. LB1=name for LB1 ports
  562. LB1IN=name for LB1 input port (default to LB1= entry)
  563. LB2=.....
  564.  
  565. ; Entries for software which is fixed to a special
  566. ; manufacturer or product Id (currently unnecessary)
  567. MfIdIN=0
  568. PrIdIN=0
  569. MfIdOUT=0
  570. PrIdOUT=0
  571.  
  572. Use3D=1
  573.  
  574. DupeTime=2
  575. MaxDupe=2
  576. FusePeriod=100
  577. FuseLimit=128
  578.  
  579. The last 4 match M,N,T and X in the documentation of Fuse Mechanism.
  580.  
  581. ______________________________________________________________________________
  582.  
  583. The following programs should be available at the same where place you got 
  584. this file. On the internet, look at
  585.  ftp://ftp.cs.ruu.nl/pub/MIDI/PROGRAMS/MSWINDOWS
  586. or 
  587.  ftp://ftp.winsite.com/win3/sounds
  588. or
  589.  http://www.simtel.net/pub/win3/music
  590.  
  591.   MDUTLS10.ZIP : 
  592.      MIDI_MON: "MIDI MONITOR" - show received MIDI messages, (with SysEx!) 
  593.       ( MIDICONN: "MIDI CABLE" - simple MIDI Thru application (with SysEx!)
  594.      SYX_OUT: an Iconized-Application for sending .SYX dumps to Synthesizers,
  595.              with File Manager Drag and Drop Interface.
  596.    ==> The file hwmdcb.dll in mdutls10.zip is an older version of the one
  597.        included in mdlpbk20.zip. Please replace the old with the new one to
  598.        avoid problems.
  599.        Also MIDICONN.EXE is superseeded by HWMDCABL.EXE.
  600.  
  601.  
  602.   MDJSTK10.ZIP: MIDI-Joystick. Use a PC-Joystick as MIDI controller.
  603.              X,Y and 2 Buttons configurable. 
  604.             (send email for Joystick2 version)
  605.  
  606.   SIMSAM10.ZIP: Hubi's Simple Sampler. Load a .WAV file Into memory, play
  607.              it as MIDI intrument (w. pitch transpose and volume control)
  608.  
  609.   MCICOM99.ZIP: Hubi's MCI Commander, Execute MCI commands by MIDI.
  610.             (HD-recording, CD-Audio, Video, ...) 
  611.  
  612. ______________________________________________________________________________
  613.  
  614. About the author:
  615.  
  616. Dipl. Ing. Hubert Winkler
  617. Neunkirchner Str. 17
  618. A - 2732 Willendorf 
  619.  Austria
  620.  
  621. Email: winkler@cobra.gud.siemens.co.at        (office)
  622.        or Hubert.Winkler@siemens.at
  623.         
  624. My Equipment:
  625.  
  626. Hardware:
  627.  486DX/2-66/256k/16MB, 540MB, SB-clone (CS4232 chip), 5X-CDROM
  628.   
  629.  Pentium 133 / 256kPB / 32MB , 2.5+2.5+1GB EIDE HD, ET6000 VGA (2MB), 17"64kHz,
  630.  Toshiba 5602 CDROM (8x, digital output and read Audio CD) 
  631.  AWE32 w/ 8MB, 
  632.  Korg 05R/W at COM2, (sounds great)
  633.  Yamaha PSR300 keyboard (old...). 
  634.  
  635. Software:
  636.  Cubase Score 3.01
  637.  Samplitude Studio 2.5 (Many thanks to SEK'D)
  638.  Band In A Box
  639.  XEdit 3.12 (Shareware Editor for Korg Synthesizers)
  640.  AWave 4.0 (Shareware Sample Converter)
  641.  AWEVbank 1020 (Shareware AWE bank manager)
  642. and many other fine utilities like AWEToy, v909, seq303, ....
  643.  
  644.  
  645.