Package apple.coremidi.struct
Class MIDIDriverInterface
- java.lang.Object
-
- org.moe.natj.general.NativeObject
-
- org.moe.natj.c.StructObject
-
- apple.coremidi.struct.MIDIDriverInterface
-
public final class MIDIDriverInterface extends org.moe.natj.c.StructObject
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interfaceMIDIDriverInterface.Function_AddRefstatic interfaceMIDIDriverInterface.Function_Configurestatic interfaceMIDIDriverInterface.Function_EnableSourcestatic interfaceMIDIDriverInterface.Function_FindDevicesstatic interfaceMIDIDriverInterface.Function_Flushstatic interfaceMIDIDriverInterface.Function_Monitorstatic interfaceMIDIDriverInterface.Function_MonitorEventsstatic interfaceMIDIDriverInterface.Function_QueryInterfacestatic interfaceMIDIDriverInterface.Function_Releasestatic interfaceMIDIDriverInterface.Function_Sendstatic interfaceMIDIDriverInterface.Function_SendPacketsstatic interfaceMIDIDriverInterface.Function_Startstatic interfaceMIDIDriverInterface.Function_Stop
-
Constructor Summary
Constructors Modifier Constructor Description MIDIDriverInterface()protectedMIDIDriverInterface(org.moe.natj.general.Pointer peer)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description @NotNull org.moe.natj.general.ptr.VoidPtr_reserved()@NotNull MIDIDriverInterface.Function_AddRefAddRef()@NotNull MIDIDriverInterface.Function_ConfigureConfigure()[@fn] Configure not currently used@NotNull MIDIDriverInterface.Function_EnableSourceEnableSource()[@fn] EnableSource A client has opened or closed a connection, and now the server is telling the driver that input from a particular source either does or does not have any listeners in the system.@NotNull MIDIDriverInterface.Function_FindDevicesFindDevices()[@fn] FindDevices This is only called for version 1 drivers.@NotNull MIDIDriverInterface.Function_FlushFlush()[@fn] Flush Only for version 2 drivers (new for CoreMIDI 1.1).@NotNull MIDIDriverInterface.Function_MonitorMonitor()[@fn] Monitor Only for version 2 drivers (new for CoreMIDI 1.1).@NotNull MIDIDriverInterface.Function_MonitorEventsMonitorEvents()[@fn] MonitorEvents Only for version 3 drivers (new for macOS 12.0).@NotNull MIDIDriverInterface.Function_QueryInterfaceQueryInterface()@NotNull MIDIDriverInterface.Function_ReleaseRelease()@NotNull MIDIDriverInterface.Function_SendSend()[@fn] Send Send a MIDIPacketList to the destination endpoint whose refCons are being passed as arguments.@NotNull MIDIDriverInterface.Function_SendPacketsSendPackets()[@fn] SendPackets Only for version 3 drivers (new for macOS 12.0).voidset_reserved(@NotNull org.moe.natj.general.ptr.VoidPtr value)voidsetAddRef(@NotNull MIDIDriverInterface.Function_AddRef value)voidsetConfigure(@NotNull MIDIDriverInterface.Function_Configure value)[@fn] Configure not currently usedvoidsetEnableSource(@NotNull MIDIDriverInterface.Function_EnableSource value)[@fn] EnableSource A client has opened or closed a connection, and now the server is telling the driver that input from a particular source either does or does not have any listeners in the system.voidsetFindDevices(@NotNull MIDIDriverInterface.Function_FindDevices value)[@fn] FindDevices This is only called for version 1 drivers.voidsetFlush(@NotNull MIDIDriverInterface.Function_Flush value)[@fn] Flush Only for version 2 drivers (new for CoreMIDI 1.1).voidsetMonitor(@NotNull MIDIDriverInterface.Function_Monitor value)[@fn] Monitor Only for version 2 drivers (new for CoreMIDI 1.1).voidsetMonitorEvents(@NotNull MIDIDriverInterface.Function_MonitorEvents value)[@fn] MonitorEvents Only for version 3 drivers (new for macOS 12.0).voidsetQueryInterface(@NotNull MIDIDriverInterface.Function_QueryInterface value)voidsetRelease(@NotNull MIDIDriverInterface.Function_Release value)voidsetSend(@NotNull MIDIDriverInterface.Function_Send value)[@fn] Send Send a MIDIPacketList to the destination endpoint whose refCons are being passed as arguments.voidsetSendPackets(@NotNull MIDIDriverInterface.Function_SendPackets value)[@fn] SendPackets Only for version 3 drivers (new for macOS 12.0).voidsetStart(@NotNull MIDIDriverInterface.Function_Start value)[@fn] Start The server is telling the driver to begin MIDI I/O.voidsetStop(@NotNull MIDIDriverInterface.Function_Stop value)[@fn] Stop The server is telling the driver to terminate MIDI I/O.@NotNull MIDIDriverInterface.Function_StartStart()[@fn] Start The server is telling the driver to begin MIDI I/O.@NotNull MIDIDriverInterface.Function_StopStop()[@fn] Stop The server is telling the driver to terminate MIDI I/O.
-
-
-
Method Detail
-
_reserved
@NotNull public @NotNull org.moe.natj.general.ptr.VoidPtr _reserved()
-
set_reserved
public void set_reserved(@NotNull @NotNull org.moe.natj.general.ptr.VoidPtr value)
-
QueryInterface
@NotNull public @NotNull MIDIDriverInterface.Function_QueryInterface QueryInterface()
-
setQueryInterface
public void setQueryInterface(@NotNull @NotNull MIDIDriverInterface.Function_QueryInterface value)
-
AddRef
@NotNull public @NotNull MIDIDriverInterface.Function_AddRef AddRef()
-
setAddRef
public void setAddRef(@NotNull @NotNull MIDIDriverInterface.Function_AddRef value)
-
Release
@NotNull public @NotNull MIDIDriverInterface.Function_Release Release()
-
setRelease
public void setRelease(@NotNull @NotNull MIDIDriverInterface.Function_Release value)
-
FindDevices
@NotNull public @NotNull MIDIDriverInterface.Function_FindDevices FindDevices()
[@fn] FindDevices This is only called for version 1 drivers. The server is requesting that the driver detect the devices which are present. For each device present, the driver should create a MIDIDeviceRef with entities, using MIDIDeviceCreate and MIDIDeviceAddEntity, and add the device to the supplied MIDIDeviceListRef, using MIDIDeviceListAddDevice. The driver should not retain any references to the created devices and entities.
-
setFindDevices
public void setFindDevices(@NotNull @NotNull MIDIDriverInterface.Function_FindDevices value)[@fn] FindDevices This is only called for version 1 drivers. The server is requesting that the driver detect the devices which are present. For each device present, the driver should create a MIDIDeviceRef with entities, using MIDIDeviceCreate and MIDIDeviceAddEntity, and add the device to the supplied MIDIDeviceListRef, using MIDIDeviceListAddDevice. The driver should not retain any references to the created devices and entities.
-
Start
@NotNull public @NotNull MIDIDriverInterface.Function_Start Start()
[@fn] Start The server is telling the driver to begin MIDI I/O. The provided device list contains the devices which were previously located by FindDevices (in the case of a version 1 driver), or the devices which are owned by this driver and are currently in the current MIDISetup (for version 2 drivers). The provided devices may or may not still be present. A version 1 driver should attempt to use as many of the devices as are actually present. A version 2 driver may make calls such as MIDISetupAddDevice, MIDIDeviceAddEntity, MIDIDeviceRemoveEntity to dynamically modify the system's current state. For devices in the provided device list which are not present, the driver should set their kMIDIPropertyOffline property to 1. A version 2 driver may also set up notifications when the IORegistry changes, to detect connection and disconnection of devices it wishes to control. At these times also, the driver may change the devices' kMIDIPropertyOffline, and dynamically modify the system's current state to reflect the devices which are present. When passing a CFRunLoopRef to IOKit for notification purposes, the driver must use the server's main runloop, which is obtained with CFRunLoopGetCurrent(). The driver will probably want to iterate through the destination endpoints and assign their driver refCons, so as to identify multiple destinations when Send() is called. The provided device list remains owned by the system and can be assumed to contain only devices owned by this driver. The driver may retain references to the devices in this list and any it creates while running.
-
setStart
public void setStart(@NotNull @NotNull MIDIDriverInterface.Function_Start value)[@fn] Start The server is telling the driver to begin MIDI I/O. The provided device list contains the devices which were previously located by FindDevices (in the case of a version 1 driver), or the devices which are owned by this driver and are currently in the current MIDISetup (for version 2 drivers). The provided devices may or may not still be present. A version 1 driver should attempt to use as many of the devices as are actually present. A version 2 driver may make calls such as MIDISetupAddDevice, MIDIDeviceAddEntity, MIDIDeviceRemoveEntity to dynamically modify the system's current state. For devices in the provided device list which are not present, the driver should set their kMIDIPropertyOffline property to 1. A version 2 driver may also set up notifications when the IORegistry changes, to detect connection and disconnection of devices it wishes to control. At these times also, the driver may change the devices' kMIDIPropertyOffline, and dynamically modify the system's current state to reflect the devices which are present. When passing a CFRunLoopRef to IOKit for notification purposes, the driver must use the server's main runloop, which is obtained with CFRunLoopGetCurrent(). The driver will probably want to iterate through the destination endpoints and assign their driver refCons, so as to identify multiple destinations when Send() is called. The provided device list remains owned by the system and can be assumed to contain only devices owned by this driver. The driver may retain references to the devices in this list and any it creates while running.
-
Stop
@NotNull public @NotNull MIDIDriverInterface.Function_Stop Stop()
[@fn] Stop The server is telling the driver to terminate MIDI I/O. All I/O operations that were begun in Start, or as a result of a subsequent IOKit notification, should be terminated.
-
setStop
public void setStop(@NotNull @NotNull MIDIDriverInterface.Function_Stop value)[@fn] Stop The server is telling the driver to terminate MIDI I/O. All I/O operations that were begun in Start, or as a result of a subsequent IOKit notification, should be terminated.
-
Configure
@NotNull public @NotNull MIDIDriverInterface.Function_Configure Configure()
[@fn] Configure not currently used
-
setConfigure
public void setConfigure(@NotNull @NotNull MIDIDriverInterface.Function_Configure value)[@fn] Configure not currently used
-
Send
@NotNull public @NotNull MIDIDriverInterface.Function_Send Send()
[@fn] Send Send a MIDIPacketList to the destination endpoint whose refCons are being passed as arguments.
-
setSend
public void setSend(@NotNull @NotNull MIDIDriverInterface.Function_Send value)[@fn] Send Send a MIDIPacketList to the destination endpoint whose refCons are being passed as arguments.
-
EnableSource
@NotNull public @NotNull MIDIDriverInterface.Function_EnableSource EnableSource()
[@fn] EnableSource A client has opened or closed a connection, and now the server is telling the driver that input from a particular source either does or does not have any listeners in the system. The driver may use this information to decide whether to pass messages from the source to the server, and it may even be able to tell the source hardware not to generate incoming MIDI I/O for that source.
-
setEnableSource
public void setEnableSource(@NotNull @NotNull MIDIDriverInterface.Function_EnableSource value)[@fn] EnableSource A client has opened or closed a connection, and now the server is telling the driver that input from a particular source either does or does not have any listeners in the system. The driver may use this information to decide whether to pass messages from the source to the server, and it may even be able to tell the source hardware not to generate incoming MIDI I/O for that source.
-
Flush
@NotNull public @NotNull MIDIDriverInterface.Function_Flush Flush()
[@fn] Flush Only for version 2 drivers (new for CoreMIDI 1.1). Drivers which support schedule-ahead, when receiving this message, should unschedule all pending output to the specified destination. If the destination is null/0, the driver should unschedule all pending output to all destinations.
-
setFlush
public void setFlush(@NotNull @NotNull MIDIDriverInterface.Function_Flush value)[@fn] Flush Only for version 2 drivers (new for CoreMIDI 1.1). Drivers which support schedule-ahead, when receiving this message, should unschedule all pending output to the specified destination. If the destination is null/0, the driver should unschedule all pending output to all destinations.
-
Monitor
@NotNull public @NotNull MIDIDriverInterface.Function_Monitor Monitor()
[@fn] Monitor Only for version 2 drivers (new for CoreMIDI 1.1). Some specialized drivers (e.g. a MIDI monitor display) may wish to intercept and look at all outgoing MIDI messages. After a driver calls MIDIDriverEnableMonitoring(true) on itself, this function is called with the outgoing MIDI packets for all destinations in the system. The Monitor function cannot rely on the MIDI events arriving in order, due to MIDIServer's schedule-ahead facilities.
-
setMonitor
public void setMonitor(@NotNull @NotNull MIDIDriverInterface.Function_Monitor value)[@fn] Monitor Only for version 2 drivers (new for CoreMIDI 1.1). Some specialized drivers (e.g. a MIDI monitor display) may wish to intercept and look at all outgoing MIDI messages. After a driver calls MIDIDriverEnableMonitoring(true) on itself, this function is called with the outgoing MIDI packets for all destinations in the system. The Monitor function cannot rely on the MIDI events arriving in order, due to MIDIServer's schedule-ahead facilities.
-
SendPackets
@NotNull public @NotNull MIDIDriverInterface.Function_SendPackets SendPackets()
[@fn] SendPackets Only for version 3 drivers (new for macOS 12.0). Send a MIDIEventList to the destination endpoint whose refCons are being passed as arguments.
-
setSendPackets
public void setSendPackets(@NotNull @NotNull MIDIDriverInterface.Function_SendPackets value)[@fn] SendPackets Only for version 3 drivers (new for macOS 12.0). Send a MIDIEventList to the destination endpoint whose refCons are being passed as arguments.
-
MonitorEvents
@NotNull public @NotNull MIDIDriverInterface.Function_MonitorEvents MonitorEvents()
[@fn] MonitorEvents Only for version 3 drivers (new for macOS 12.0). Same as Monitor but uses MIDEventList, whose protocol may vary from MIDI 1.0.
-
setMonitorEvents
public void setMonitorEvents(@NotNull @NotNull MIDIDriverInterface.Function_MonitorEvents value)[@fn] MonitorEvents Only for version 3 drivers (new for macOS 12.0). Same as Monitor but uses MIDEventList, whose protocol may vary from MIDI 1.0.
-
-