using System; using System.Runtime.InteropServices; namespace PIANO2.Devices { /// /// Represents MIDI output device capabilities. /// [StructLayout(LayoutKind.Sequential)] public struct MidiOutCaps { #region MidiOutCaps Members /// /// Manufacturer identifier of the device driver for the Midi output /// device. /// public short mid; /// /// Product identifier of the Midi output device. /// public short pid; /// /// Version number of the device driver for the Midi output device. The /// high-order byte is the major version number, and the low-order byte /// is the minor version number. /// public int driverVersion; /// /// Product name. /// [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)] public string name; /// /// Flags describing the type of the Midi output device. /// public short technology; /// /// Number of voices supported by an internal synthesizer device. If /// the device is a port, this member is not meaningful and is set /// to 0. /// public short voices; /// /// Maximum number of simultaneous notes that can be played by an /// internal synthesizer device. If the device is a port, this member /// is not meaningful and is set to 0. /// public short notes; /// /// Channels that an internal synthesizer device responds to, where the /// least significant bit refers to channel 0 and the most significant /// bit to channel 15. Port devices that transmit on all channels set /// this member to 0xFFFF. /// public short channelMask; /// /// Optional functionality supported by the device. /// public int support; #endregion } }