Copyright © 2013-2015 MultiMedia Soft

Introduction

Return to chapter overviewNext page

Musical Instrument Digital Interface (MIDI) is a technical standard that describes a protocol, digital interface and connectors and allows a wide variety of electronic musical instruments, computers and other related devices to connect and communicate with one another.

 

Active MIDI DJ Console for .NET is a .NET class developed by MultiMedia Soft that makes it easy to add support for managing MIDI input and output devices and commercial DJ Consoles to multimedia applications written with Microsoft Visual Studio.

 

MIDI is nothing more than data containing a list of events or messages that tell an electronic device (musical instrument, computer sound card, etc.) how to generate a certain sound or how to react to a certain operation request: Active MIDI DJ Console for .NET allows opening communication between connected external electronic devices and the PC running the container application.

 

Once communication is opened, Active MIDI DJ Console for .NET allows receiving MIDI data from the input channel connected to the external MIDI device and notifying MIDI data reception to the container application;  as you may understand the communication between the external MIDI device and this component is obviously bidirectional so the control allows sending MIDI data, through short MIDI messages or through raw MIDI messages (also known as SysEx messages), to the output channel connected to the external MIDI device.

 

If there should be the need to send any MIDI message incoming from an external MIDI device in output to another external MIDI device, Active MIDI DJ Console for .NET could be used as a sort of bridge or repeater, allowing direct communication between the two external MIDI devices.

 

Thanks to the mentioned bidirectional communication, Active MIDI DJ Console for .NET can easily manage input/output of MIDI data with commercial DJ Consoles available on the market. As you may know, each MIDI DJ Console comes with its own set of MIDI commands for notifying that a button control has been pushed or that a slider control has been moved or that a rotary knob control has been rotated on the physical console; at the same time, each MIDI DJ Console comes with its own set of MIDI commands for switching a led on or off or for displaying a string of characters on one or more display segments (VFD) available on the physical console.

 

 

Due to the fact that each DJ console, also when coming from the same vendor/manufacturer, may use a different set of MIDI commands, Active MIDI DJ Console for .NET comes with a set of methods allowing to create, edit and modify profiles (also known as maps) for each of the connected DJ consoles: in this way the container application could virtually connect to any model of DJ console by allowing the final user to create his own profiles or by loading profiles created by other users.

 

As a further feature, Active MIDI DJ Console for .NET allows creating a graphical virtual piano keyboard which may be used to display notes played on a connected physical MIDI piano keyboard and generating MIDI notes to send to an output MIDI device or synthesizer installed inside the system.

 

The component is fully UNICODE compliant so can support languages using the double-byte convention.

 

Many tutorials are available to help you beginning your development with this powerful control.

 

 

Supported target systems

 

Windows XP (x86 and x64 versions)
Windows Server 2003 (x86 and x64 versions)
Windows Vista (x86 and x64 versions)
Windows Server 2008 (x86 and x64 versions)
Windows 7 (x86 and x64 versions)
Windows 8 (x86 and x64 versions)
Windows 10 (x86 and x64 versions)

 

Supported .NET frameworks

 

NET Framework 2.0
NET Framework 3.0
NET Framework 3.5 ("Client profile" not supported)
NET Framework 4.0 ("Client profile" not supported)
NET Framework 4.5
NET Framework 4.6

 

 

IMPORTANT NOTES:

 

For redistribution of the control with your application, we recommend you to take a close look to the Files to be included with your application section.