TBM.BAS July 1997 by Marc Kummel aka Treebeard. Contact mkummel@rain.org, http://www.rain.org/~mkummel/ About TBM: ------------ TBM (TreeBeard's Midi?) is a recent program from the Vault (spring 1997). This was my way to learn how to control MIDI events in realtime for algo-comp purposes using 16-bit Visual Basic 3.0 in Win31. TBM lets you noodle with your mouse on a virtual keyboard in a window, and use various sliders to massage the sound. It's fun! I reused most of this code in my BNC "BigNum Cruncher" program that lets you play big numbers (to 32k digits) as MIDI. BNC is available for download from Treebeard's Basic Vault. TBM was a learning program for me. I got major help from MIDI3.ZIP at http://modemss.brisnet.org.au/~mlevoi/midi.html I swiped some of this code outright. This site has good VB code worth checking out. Thanks! I've written several MSDOS Basic programs to do MIDI, and I'm really impressed how *EASY* this was in Visual Basic using MMSYSTEM calls. There's little overhead, no VBX or Callback required. The onscreen keyboard is a port from some old PDS/QB code, and it shows. Ugly code, but it works well. TBM is easy to install: ------------------------- There's no SETUP program since it's so easy to install TBM. Just unzip the archive to a directory and run TBM.EXE. It has a cool Treebeard icon that will appear if you add it to a Program Manager group. If TBM doesn't open, it's possible you don't have a Windows support file that it needs. Check in \Windows\System for these files: MMSYSTEM.DLL VBRUN300.DLL These files are so common that I didn't include them in the archive to avoid the usual bloat. They are available for download from all the usual places. Or send email and I'll return a copy. TBM is easy to use: --------------------- Just fire it up, pick a MIDI driver if you need to, and noodle away! The virtual keyboard works, but I think it's more fun to use the sliders, especially the "Play Here" box since you can start several notes with mouse clicks and let them drone by jiggling the mouse before you release, and then bend them all together. Some of the controller sliders might not work for you if you use something funky like the Sound Blaster "Super Sapi FM Driver". (No comment on the name.) They work just fine on my Sound Canvas. You get what you get. You can also directly program your controllers if you know the codes. Most options and controls are self-explanatory. There are a few command buttons, but no help: [Random] Play random MIDI notes until you click again. [Clear] Send all notes off (including stuck notes). [Reset] Reset the driver. [Quit] Quit the program. File list: ------------ Most of the files in the archive are source files - "the source, of course!" They can be deleted if you want, but they are my main reason for putting TBM on the Web, and I won't make it easy for you. Don't delete TBM.EXE and GENMIDI.TXT, but you can delete everything else. There's a bug I can't figure. Mouse the keyboard, and the keyboard lines between notes C2/D2 and C6/D6 disappear. Why??? TBM.EXE 16-bit executable GENMIDI.TXT general MIDI instrument names README.TXT this file TBVAULT.TXT about Treebeard's Basic Vault ------------ TBM02.MAK VB3 MAKE file TBM02.FRM + .FRX source: main form MIDI_OUT.BAS source: MIDI stuff MIDI_CMD.BAS source: more MIDI stuff TBM.ICO handmade Treebeard icon (32x32x16) Conditions: ------------- This program and source code are yours to use and modify as you will, but they are offered as freeware with no warranty whatsoever. Give me credit, but do not distribute any changes under my name, or attribute such changes to me in any way. You're on your own! Send comments and fixes to: Marc Kummel aka Treebeard mkummel@rain.org http://www.rain.org/~mkummel/ For more interesting Basic software with source code, check out Treebeard's Basic Vault at http://www.rain.org/~mkummel/basic/