1 module libwasm.bindings.MIDIPort; 2 3 import libwasm.types; 4 5 import memutils.ct: tuple; 6 import libwasm.bindings.EventHandler; 7 import libwasm.bindings.EventTarget; 8 9 @safe: 10 nothrow: 11 12 struct MIDIPort { 13 nothrow: 14 libwasm.bindings.EventTarget.EventTarget _parent; 15 alias _parent this; 16 this(Handle h) { 17 _parent = .EventTarget(h); 18 } 19 string id()() { 20 return Object_Getter__string(this._parent, "id"); 21 } 22 Optional!(string) manufacturer()() { 23 return Object_Getter__OptionalString(this._parent, "manufacturer"); 24 } 25 Optional!(string) name()() { 26 return Object_Getter__OptionalString(this._parent, "name"); 27 } 28 Optional!(string) version_()() { 29 return Object_Getter__OptionalString(this._parent, "version"); 30 } 31 MIDIPortType type()() { 32 return Object_Getter__int(this._parent, "type"); 33 } 34 MIDIPortDeviceState state()() { 35 return Object_Getter__int(this._parent, "state"); 36 } 37 MIDIPortConnectionState connection()() { 38 return Object_Getter__int(this._parent, "connection"); 39 } 40 void onstatechange(T0)(scope auto ref Optional!(T0) onstatechange) if (isTOrPointer!(T0, EventHandlerNonNull)) { 41 Object_Call_EventHandler__void(this._parent, "onstatechange", !onstatechange.empty, onstatechange.front); 42 } 43 EventHandler onstatechange()() { 44 return Object_Getter__EventHandler(this._parent, "onstatechange"); 45 } 46 auto open()() { 47 return JsPromise!(MIDIPort)(Object_Getter__Handle(this._parent, "open")); 48 } 49 auto close()() { 50 return JsPromise!(MIDIPort)(Object_Getter__Handle(this._parent, "close")); 51 } 52 } 53 enum MIDIPortConnectionState { 54 open, 55 closed, 56 pending 57 } 58 enum MIDIPortDeviceState { 59 disconnected, 60 connected 61 } 62 enum MIDIPortType { 63 input, 64 output 65 } 66 67