     /// - Parameters:
     ///   - data: Array of MIDI Bytes
     ///   - time: MIDI Timestamp
-    public func sendMessageWithTime(_ data: [MIDIByte], time: MIDITimeStamp, endpointsUIDs: [MIDIUniqueID]? = nil) {
+    public func sendMessageWithTime(_ data: [MIDIByte],
+                                    time: MIDITimeStamp,
+                                    endpointsUIDs: [MIDIUniqueID]? = nil,
+                                    virtualOutputPorts: [MIDIPortRef]? = nil) {
         let packetListPointer: UnsafeMutablePointer<MIDIPacketList> = UnsafeMutablePointer.allocate(capacity: 1)
 
         var packet: UnsafeMutablePointer<MIDIPacket> = MIDIPacketListInit(packetListPointer)

                }

                if virtualOutputs != [0] {
                    endpointsRef.forEach {MIDIReceived($0, packetListPointer)}
                }
            }
        }

        }

        if virtualOutputs != [0] {
            virtualOutputPorts?.forEach {MIDIReceived($0, packetListPointer)}
        }
    }
}
