static JackPortFlags GetJackPortFlags(Direction direction) { JackPortFlags flags = (JackPortFlags)0; switch (direction) { case Direction.In: flags = JackPortFlags.JackPortIsInput; break; case Direction.Out: flags = JackPortFlags.JackPortIsOutput; break; } return(flags); }
static unsafe void ReadJackPortFlags(UnsafeStructs.jack_port_t *portPointer, out Direction direction, out bool isPhysicalPort) { JackPortFlags portFlags = (JackPortFlags)PortApi.GetPortFlags(portPointer); isPhysicalPort = (portFlags & JackPortFlags.JackPortIsPhysical) == JackPortFlags.JackPortIsPhysical; if ((portFlags & JackPortFlags.JackPortIsInput) == JackPortFlags.JackPortIsInput) { direction = Direction.In; return; } if ((portFlags & JackPortFlags.JackPortIsOutput) == JackPortFlags.JackPortIsOutput) { direction = Direction.Out; return; } throw new IndexOutOfRangeException("jack_port_flags"); }
public static unsafe extern UnsafeStructs.jack_port_t* Register(UnsafeStructs.jack_client_t* client, string portName, string portType, JackPortFlags portFlags, ulong bufferSize);
public static extern unsafe UnsafeStructs.jack_port_t *Register(UnsafeStructs.jack_client_t * client, string portName, string portType, JackPortFlags portFlags, ulong bufferSize);