Virtuoso Suite of Controls
I have developed a suite of music related ATL based ActiveX Controls called the Virtuoso Controls during my leisure time. This includes an Instrument control and a StaffWriter Control. The Instrument control, mathematically calculates for a particular key, scale and mode combination -all the possible chords/scales and fingerboard positions. The Staffwriter control presents a COM automation collection heirarchy of visual & drag-drop enabled, automation objects (Staves, Measures, Ledgers, Note collections within each measure etc.) using which one can write and print musical compositions. These controls support property categorization(ICategorizeProperties), licensing, IObjectSafety, support Drag & Drop within its objects, support floating palettes , tooltips, clipboard and print facility, Notes identified with customizable colors and tonnes of other cool features. I am in the process of making them MIDI aware.
Instrument Control
Here is the Instrument Control with different values of the Instrument property e.g. Guitar/ Bass/ Piano etc. in action . Enjoy :)
1. The following figures shows 3 instances of the Instrument control with Instrument property set to "Guitar", "Bass" and "Piano" respectively on the VB form. When you double click on any one of the three with your Right mouse button a floating palette pops up.
2. This palette has three views - Key, Scale/Modes and Chords
3. Select a particular Key(by default its always the key of C on the first tab). Note that each key is represented by a particular color
4. Now select a particular mode of a scale in the second tab. e.g. Mode1 of a Major Scale
5. Notice that the notes are marked with their respective color on the fret board showing you how to play the selected mode of the selected scale in the selected key.
6. Next, to know what are the playable chords in the combo you just made , select the third tab (Chord Tab). click on each entry to see the fretboard diagrams showing how to play the particular chord in all positions.
You can copy and paste these fretboard diagrams on the clipboard. You can even print them. So why bother buying a guitar scale or chord book ?
StaffWriter Control
Create compositions whenever you get that inspiration. This control enables a drag and drop enabled interface to convert the tabs to score and vice versa. The tool palatees corrects your times and allows you add lyric text and manipulate virtually every aspect of the measure. The measures are an automation collections within the Sheet object and have the contained Staves and Legers collections which inturn have the Notes and Symbols. All this is programmable.
Did you like these controls ? Send your Comments to me ;-)