Platforms to show: All Mac Windows Linux Cross-Platform
Midi
Classes to handle Midi input and output for Mac, Windows and Crossplatform.
- Classes
- class AVMIDIPlayerMBS
- method Constructor(Data as MemoryBlock, SoundBankFile as FolderItem = nil, byref error as NSErrorMBS)
- method Constructor(Data as String, SoundBankFile as FolderItem = nil, byref error as NSErrorMBS)
- method Constructor(File as FolderItem, SoundBankFile as FolderItem = nil, byref error as NSErrorMBS)
- method Destructor
- method play
- method prepareToPlay
- method stop
- property CurrentPosition as Double
- property Duration as Double
- property Handle as Integer
- property Playing as Boolean
- property Rate as Double
- event Completed
- class MidiClientMBS
- method Available as boolean
- method close
- method CreateDestination(name as CFStringMBS, TargetEndpointObject as MidiEndpointMBS)
- method CreateInputPort(name as CFStringMBS, targetportobject as MidiPortMBS)
- method CreateOutputPort(name as CFStringMBS, targetportobject as MidiPortMBS)
- method CreateSource(name as CFStringMBS) as MidiEndpointMBS
- method FindObjectByUniqueID(id as Integer) as MidiObjectMBS
- method GetDestination(index as Integer) as MidiEndpointMBS
- method GetDevice(index as Integer) as MidiDeviceMBS
- method GetExternalDevice(index as Integer) as MidiDeviceMBS
- method GetSource(index as Integer) as MidiEndpointMBS
- method Init(name as CFStringMBS)
- method NumberOfDestinations as Integer
- method NumberOfDevices as Integer
- method NumberOfExternalDevices as Integer
- method NumberOfSources as Integer
- shared method Restart as Integer
- method Send(port as MidiPortMBS, endpoint as MidiEndpointMBS, packets as MidiPacketListMBS)
- event ObjectAdded(parent as MidiObjectMBS, child as MidiObjectMBS)
- event ObjectRemoved(parent as MidiObjectMBS, child as MidiObjectMBS)
- event PropertyChanged(target as MidiObjectMBS, theProperty as CFStringMBS)
- event SerialPortOwnerChanged
- event SetupChanged
- event ThruConnectionsChanged
- class MidiDeviceMBS
- method GetEntity(index as Integer) as MidiEntityMBS
- method NumberOfEntities as Integer
- class MidiEndpointMBS
- method close
- method Entity as MidiEntityMBS
- method FlushOutput
- method Received(packets as MidiPacketListMBS)
- event Read(endpoint as MidiEndpointMBS, list as MidiPacketListMBS)
- class MidiEntityMBS
- method Device as MidiDeviceMBS
- method GetDestination(index as Integer) as MidiEndpointMBS
- method GetSource(index as Integer) as MidiEndpointMBS
- method NumberOfDestinations as Integer
- method NumberOfSources as Integer
- class MidiObjectMBS
- shared method kMIDIPropertyAdvanceScheduleTimeMuSec as CFStringMBS
- shared method kMIDIPropertyCanRoute as CFStringMBS
- shared method kMIDIPropertyConnectionUniqueID as CFStringMBS
- shared method kMIDIPropertyDeviceID as CFStringMBS
- shared method kMIDIPropertyDisplayName as CFStringMBS
- shared method kMIDIPropertyDriverDeviceEditorApp as CFStringMBS
- shared method kMIDIPropertyDriverOwner as CFStringMBS
- shared method kMIDIPropertyDriverVersion as CFStringMBS
- shared method kMIDIPropertyFactoryPatchNameFile as CFStringMBS
- shared method kMIDIPropertyImage as CFStringMBS
- shared method kMIDIPropertyIsBroadcast as CFStringMBS
- shared method kMIDIPropertyIsDrumMachine as CFStringMBS
- shared method kMIDIPropertyIsEffectUnit as CFStringMBS
- shared method kMIDIPropertyIsEmbeddedEntity as CFStringMBS
- shared method kMIDIPropertyIsMixer as CFStringMBS
- shared method kMIDIPropertyIsSampler as CFStringMBS
- shared method kMIDIPropertyManufacturer as CFStringMBS
- shared method kMIDIPropertyMaxReceiveChannels as CFStringMBS
- shared method kMIDIPropertyMaxSysExSpeed as CFStringMBS
- shared method kMIDIPropertyMaxTransmitChannels as CFStringMBS
- shared method kMIDIPropertyModel as CFStringMBS
- shared method kMIDIPropertyName as CFStringMBS
- shared method kMIDIPropertyNameConfiguration as CFStringMBS
- shared method kMIDIPropertyOffline as CFStringMBS
- shared method kMIDIPropertyPanDisruptsStereo as CFStringMBS
- shared method kMIDIPropertyPrivate as CFStringMBS
- shared method kMIDIPropertyReceiveChannels as CFStringMBS
- shared method kMIDIPropertyReceivesBankSelectLSB as CFStringMBS
- shared method kMIDIPropertyReceivesBankSelectMSB as CFStringMBS
- shared method kMIDIPropertyReceivesClock as CFStringMBS
- shared method kMIDIPropertyReceivesMTC as CFStringMBS
- shared method kMIDIPropertyReceivesNotes as CFStringMBS
- shared method kMIDIPropertyReceivesProgramChanges as CFStringMBS
- shared method kMIDIPropertySingleRealtimeEntity as CFStringMBS
- shared method kMIDIPropertySupportsGeneralMIDI as CFStringMBS
- shared method kMIDIPropertySupportsMMC as CFStringMBS
- shared method kMIDIPropertySupportsShowControl as CFStringMBS
- shared method kMIDIPropertyTransmitChannels as CFStringMBS
- shared method kMIDIPropertyTransmitsBankSelectLSB as CFStringMBS
- shared method kMIDIPropertyTransmitsBankSelectMSB as CFStringMBS
- shared method kMIDIPropertyTransmitsClock as CFStringMBS
- shared method kMIDIPropertyTransmitsMTC as CFStringMBS
- shared method kMIDIPropertyTransmitsNotes as CFStringMBS
- shared method kMIDIPropertyTransmitsProgramChanges as CFStringMBS
- shared method kMIDIPropertyUniqueID as CFStringMBS
- shared method kMIDIPropertyUserPatchNameFile as CFStringMBS
- method Properties(deep as boolean) as CFObjectMBS
- method RemoveProperty(name as CFStringMBS)
- property DisplayName as String
- property Handle as Integer
- property Lasterror as Integer
- property Manufacturer as String
- property Model as String
- property Name as String
- property BinaryProperty(name as CFStringMBS) as CFBinaryDataMBS
- property IntegerProperty(name as CFStringMBS) as Integer
- property ObjectProperty(name as CFStringMBS) as CFObjectMBS
- property StringProperty(name as CFStringMBS) as CFStringMBS
- class MidiPacketListMBS
- method FillList(packets() as MidiPacketMBS) as boolean
- method Item(index as Integer) as MidiPacketMBS
- property Count as Integer
- class MidiPacketMBS
- shared method AbsoluteToNanoseconds(value as UInt64) as UInt64
- shared method CurrentTime as UInt64
- shared method NanosecondsToAbsolute(value as UInt64) as UInt64
- property DataMemory as MemoryBlock
- property DataString as String
- property TimeStampValue as UInt64
- class MidiPlaybackMBS
- method Callback as Integer
- method Constructor(UsesInternalReverb as boolean=false, AutoStart as boolean=true)
- method CPULoad as single
- method InstrumentCount as Integer
- method InstrumentID(index as Integer) as Integer
- method InstrumentName(index as Integer) as string
- method IsRunning as boolean
- method LoadSoundBankFile(file as folderitem)
- method MaxCPULoad as single
- method SendMidiEvent(Status as Integer, Data1 as Integer, Data2 as Integer, OffsetSampleFrame as Integer)
- method Start
- method Stop
- property FilterNodeHandle as Integer
- property GraphHandle as Integer
- property Inited as boolean
- property Lasterror as Integer
- property OutputNodeHandle as Integer
- property SynthNodeHandle as Integer
- property SynthUnitHandle as Integer
- property InstrumentIDOnChannel(Channel as Integer) as Integer
- property ReverbVolume as single
- property StreamFromDisk as boolean
- property Tuning as single
- property UsesInternalReverb as boolean
- property Volume as single
- class MidiPortMBS
- method close
- method ConnectSource(source as MidiEndpointMBS)
- method DisconnectSource(source as MidiEndpointMBS)
- method SetCallback(callback as Integer, reference as object)
- event Read(endpoint as MidiEndpointMBS, list as MidiPacketListMBS)
- class MIDISysexSendRequestMBS
- method close
- method Send
- property BytesToSend as Integer
- property Data as Memoryblock
- property Destination as MidiEndpointMBS
- property IsComplete as boolean
- property Lasterror as Integer
- property Length as Integer
- event Complete
- class MidiThruConnectionControlTransformMBS
- property ControlNumber as Integer
- property ControlType as Integer
- property Parameter as Integer
- property RemappedControlType as Integer
- property Transform as Integer
- class MidiThruConnectionEndpointMBS
- method close
- property Endpoint as MidiEndpointMBS
- property UniqueID as Integer
- class MidiThruConnectionMBS
- method close
- method Create(PersistentOwnerID as CFStringMBS, params as MidiThruConnectionParamsMBS)
- shared method Find(PersistentOwnerID as String) as MidiThruConnectionMBS()
- property Parameter as MidiThruConnectionParamsMBS
- class MidiThruConnectionParamsMBS
- method close
- property ChannelPressure as MidiThruConnectionTransformMBS
- property ControlTransformsCount as Integer
- property DestinationsCount as Integer
- property FilterOutAllControls as Integer
- property FilterOutBeatClock as Integer
- property FilterOutMTC as Integer
- property FilterOutSysEx as Integer
- property FilterOutTuneRequest as Integer
- property HighNote as Integer
- property HighVelocity as Integer
- property KeyPressure as MidiThruConnectionTransformMBS
- property LowNote as Integer
- property LowVelocity as Integer
- property MapsCount as Integer
- property NoteNumber as MidiThruConnectionTransformMBS
- property PitchBend as MidiThruConnectionTransformMBS
- property ProgramChange as MidiThruConnectionTransformMBS
- property SourcesCount as Integer
- property Velocity as MidiThruConnectionTransformMBS
- property ChannelMap(index as Integer) as Integer
- property ControlTransform(index as Integer) as MidiThruConnectionControlTransformMBS
- property Destination(index as Integer) as MidiThruConnectionEndpointMBS
- property Map(index as Integer) as MidiThruConnectionValueMapMBS
- property Source(index as Integer) as MidiThruConnectionEndpointMBS
- class MidiThruConnectionTransformMBS
- class MidiThruConnectionValueMapMBS
- property Value(index as Integer) as Integer
- class PortMidiDeviceInfoMBS
- property HasInput as Boolean
- property HasOutput as Boolean
- property InterfaceName as String
- property Name as String
- class PortMidiEventMBS
- method Set(status as Integer, data1 as Integer, data2 as Integer)
- method SetRaw(data0 as Integer, data1 as Integer, data2 as Integer, data3 as Integer)
- shared property CurrentEvent as PortMidiEventMBS
- property Data1 as Integer
- property Data2 as Integer
- property RawData0 as Integer
- property RawData1 as Integer
- property RawData2 as Integer
- property RawData3 as Integer
- property RawMessage as Integer
- property Status as Integer
- property When as Integer
- class PortMidiMBS
- shared method CountDevices as Integer
- shared method DefaultInputDeviceID as Integer
- shared method DefaultOutputDeviceID as Integer
- shared method DeviceInfo(DeviceID as Integer) as PortMidiDeviceInfoMBS
- shared method ErrorText(ErrorNumber as Integer) as string
- shared method Initialize as Integer
- shared method ReInitialize as Integer
- class PortMidiStreamMBS
- method Abort as Integer
- method Close
- shared method currentTimeStamp as Integer
- method ErrorText(ErrorNumber as Integer) as string
- method HostError as string
- method OpenInput(DeviceID as Integer, Buffersize as Integer) as Integer
- method OpenOutput(DeviceID as Integer, Buffersize as Integer, Latency as Integer) as Integer
- method Poll as Integer
- method Read(byref data as PortMidiEventMBS) as Integer
- method SetChannelMask(mask as Integer) as Integer
- method SetFilter(filters as Integer) as Integer
- method Write(data as PortMidiEventMBS) as Integer
- method WriteShort(When as Integer, message as Integer) as Integer
- method WriteSysEx(When as Integer, message as memoryblock, offset as Integer) as Integer
- method WriteSysEx(When as Integer, message as string) as Integer
- property ChannelMask as Integer
- property DeviceID as Integer
- property DeviceName as String
- property Filters as Integer
- class WindowsMidiInputInfoMBS
- property DriverVersion as Integer
- property Flags as Integer
- property ManufacturerID as Integer
- property Name as String
- property ProductID as Integer
- class WindowsMidiInputMBS
- method Close
- method Idle
- method InputErrorText(errorcode as Integer) as string
- method Open(DeviceID as Integer, BufferSize as Integer)
- method Reset
- method Start
- method Stop
- event DeviceClose
- event DeviceData(timestamp as Integer, status as Integer, data1 as Integer, data2 as Integer, RawData as Integer)
- event DeviceError(timestamp as Integer, status as Integer, data1 as Integer, data2 as Integer, RawData as Integer)
- event DeviceLongData(timestamp as Integer, data as string, dataMemory as memoryblock)
- event DeviceLongError(timestamp as Integer, data as string, dataMemory as memoryblock)
- event DeviceOpen
- class WindowsMidiMBS
- method Connect(output as WindowsMidiOutputMBS)
- shared method DataLost as Integer
- method Disconnect(output as WindowsMidiOutputMBS)
- shared method EventsLost as Integer
- method Idle
- method InputDevice(index as Integer) as WindowsMidiInputInfoMBS
- method NumberOfMidiInputDevices as Integer
- method NumberOfMidiOutputDevices as Integer
- method OutputDevice(index as Integer) as WindowsMidiOutputInfoMBS
- property Handle as Integer
- property Lasterror as Integer
- class WindowsMidiOutputInfoMBS
- property ChannelMask as Integer
- property DriverVersion as Integer
- property Flags as Integer
- property ManufacturerID as Integer
- property Name as String
- property Notes as Integer
- property ProductID as Integer
- property Technology as Integer
- property Voices as Integer
- property Volume as Boolean
- property VolumeStereo as Boolean
- class WindowsMidiOutputMBS
- method Close
- method Open(DeviceID as Integer)
- method OpenDefault
- method OutputErrorText(errorcode as Integer) as string
- method Reset
- method SendData(data as memoryblock)
- method SendData(data as memoryblock, size as Integer)
- method SendData(data as string)
- method SendMessage(message as Integer)
- method SendMessage(status as Integer, data1 as Integer, data2 as Integer)
- property Volume as Integer
- event DeviceClose
- event DeviceDataSent
- event DeviceOpen
- event DevicePositionCallback
- class WindowsMidiStreamMBS
- method Close
- method Open(DeviceID as Integer)
- method Pause
- method PositionBytes as Integer
- method PositionMS as Integer
- method PositionSamples as Integer
- method PositionTicks as Integer
- method Restart
- method SendMessage(message as Integer)
- method SendMessage(status as Integer, data1 as Integer, data2 as Integer)
- method Stop
- property Handle as Integer
- property Lasterror as Integer
- property Tempo as Integer
- property TimeDiv as Integer
- property Volume as Integer
- class AVMIDIPlayerMBS
- Blog Entries
Release notes
- Version 24.1
- Added Find method to MidiThruConnectionMBS class.
- Changed MidiThruConnectionMBS class to be a subclass of MidiObjectMBS class.
- Version 23.4
- Enabled MidiClientMBS and related classes for iOS.
- Version 22.5
- Deprecated TimeStamp property for MidiPacketMBS class. Please use TimeStampValue property instead.
- Version 21.2
- Fixed an issue with Linux and PortMidiMBS class.
- Version 20.1
- Added HighVelocity and LowVelocity properties to MidiThruConnectionParamsMBS class.
- Changed MidiThruConnectionMBS and related classes to be console safe.
- Fixed bug when reading parameters for MidiThruConnectionMBS class.
- Version 19.3
- Fixed a crash in MidiThruConnectionMBS class in the setup process.
- Version 18.5
- Fixed bugs in WindowsMidiOutputMBS and WindowsMidiInputMBS for 64-bit.
- Version 17.4
- Added convenience properties Name, Model, Manufacturer and DisplayName for MidiObjectMBS class.
- Version 17.1
- Added PortMidiEventMBS.CurrentEvent.
The items on this page are in the following plugins: MBS Audio Plugin, MBS AVFoundation Plugin, MBS MacCF Plugin, MBS MacOSX Plugin.