VB MIDI Piano - A Neat MIDI Visual Basic Programming Example ============================================================== This is a VB MIDI programming example. It shows you how to create a MIDI Piano using VB. You create a completely playable piano using VB and the THREED.VBX that is included with VB professional. If you're interested in a simpler MIDI example program, check out my "One Note MIDI" example. It should be available wherever "VB Piano" was located. It's fun...it's FREE! If you really want to do more neat stuff with MIDI and VB, you should check out MIDI CoolTools. I've been developing MIDI applications in Visual Basic since VB 1.0 and Windows 3.0. After years of limitations and more limitations with VB and MIDI, it seemed like a good idea to take my experience and really make it possible to write MIDI apps in VB. ...after months of working with two VB custom control experts, we have MIDI CoolTools... MIDI CoolTools - MIDI custom controls for Visual Basic ====================================================== MIDI CoolTools is a set of MIDI custom controls for Visual Basic. MIDI CoolTools gives you full access to MIDI from inside of Visual Basic. The following controls make up MIDI CoolTools: MIDI IN Custom Control: The MIDI IN Custom Control automatically detects the available MIDI IN ports and allows you to select the port you wish to use. As MIDI events are received through the selected MIDI IN port, each MIDI event receives a high resolution time stamp. A built in message queue allows Long and Short MIDI messages to be received. * Receive MIDI messages from external MIDI devices * Messages can be retrieved using events or polling * Messages are time-stamped with millisecond accuracy * Built in internal queuing mechanism * Buffer for receiving system exclusive messages * Automatically detects the available MIDI IN ports MIDI OUT Custom Control: The MIDI OUT Custom Control automatically detects the available MIDI OUT ports and allows you to select a MIDI OUT port to use. This control allows MIDI messages to be sent directly to the MIDI OUT port and also allows MIDI messages to be queued for playback at the appropriate time. * Complete control over the contents and timing of MIDI messages. * Queue as many messages as you like (within the constraints of available memory) * Queue messages prior to starting output and then add more as the output proceeds * Messages are scheduled for transmission at a time you specify * Control timing has millisecond resolution * Automatically detects the available MIDI OUT ports * Complete support for system exclusive messages * Timer event provides a high-resolution timer * Automatically detect whether or not the current device supports patch caching * Automatically detect and control current device volume * Adjust tempo playback rate in realtime Standard MIDI File Custom Control: Read and write Standard MIDI files. This custom control allows you to read any Standard MIDI file into a data structure with full access to the MIDI data. Open MIDI files, close MIDI files, create new MIDI files, save changes, insert new MIDI message, modify MIDI messages and delete MIDI message. Supports MIDI file type 0 & 1. * Provides the VB programmer with an easy way to read and write Standard MIDI files * Both formats 0 (single track) and 1 (multiple-tracks) are supported * Modify existing MIDI files or create entirely new ones from scratch * Complete control over and access to every type of MIDI message * Insert, delete and modify tracks and messages at anytime * Action property to open, close, create and save the data to the current file * Action property to insert, change and delete the current message * Insert new tracks or delete tracks * Complete support for system exclusive messages Knob Custom Control: Four different knob styles to choose from makes the knob custom control very versatile. A collection of flexible tickmark properties greatly enhances the knob's usefulness for developing commercial applications. Easily control knob color with five different color properties. Over thirty knob properties are at your control tips! * Normal, raised, lowered and textured knob styles * User definable number of tickmarks with captions * Full control of tick caption fonts * Control knob color, tick color, tick caption color and background color * Bevel properties for 3D style look * Link to other MIDI CoolTools custom control without writing any code VU Indicator Custom Control: Horizontal and vertical Indicator custom controls allow you to quickly create professional VU segmented meters. This custom control was specially designed to allow you to simply create state-of-the-art graphic LED VU meters. Three separate colored segment sections can be defined with up to twenty LED segments per section. A comprehensive set of 3D bevel properties allows for flexible visual control. * Horizontal and vertical indicator (otherwise known as a VU meter). * Tie directly to other controls in this package using SmartLink properties * Display information (such as volume, balance, etc.) * A comprehensive set of 3D bevel properties allows for flexible visual control. * Three separate colored segment sections can be defined Fader/Slider Custom Control: Easily create a cool looking audio mixer with the Fader/Slider horizontal and vertical custom controls. A complete set of bevel properties allows you to quickly get that beautiful 3D look. Four different thumb styles adds to the flexibility of this control. Tickmark properties round out this control's great features. * Complete set of bevel properties * Slider control is similar in function to a scroll bar, but looks cooler * Pro audio mixer style thumbs * Up, down, left and right thumb properties * Tick properties with tickcolor, tickcount, tickwidth, ticklength & gap control * Horizontal and vertical slider custom controls * Control of the 3-D style of the track MIDI CoolTools includes all of these custom controls. Also included is sample code and a printed reference manual. Standard Retail Price is $99 for MIDI CoolTools, but through December 31, 1994 we're offering MIDI CoolTools for $59 + $4 s/h. $8 s/h for foreign orders. You can order with VISA/MC or Check in US funds: MIDI CoolTools Artic Software PO Box 28 Waterford, WI 53185-0028 Fax orders: 414-534-7809 Voice : 414-534-4309 Compuserve 75410,2203 Thanks for trying out my VB MIDI Piano If this example was useful or if you have other VB MIDI questions just let me know... - Arthur Edstrom, Artic Software