diff options
Diffstat (limited to 'daemon/src/device_connection.h')
-rw-r--r-- | daemon/src/device_connection.h | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/daemon/src/device_connection.h b/daemon/src/device_connection.h index a2af8cc..58ddd7f 100644 --- a/daemon/src/device_connection.h +++ b/daemon/src/device_connection.h @@ -41,13 +41,17 @@ struct Device_Connection : public Sender } void - reconnect(std::size_t port) + connect(std::size_t port) { - midi_in.closePort(); - midi_out.closePort(); + if (!midi_in.isPortOpen()) midi_in.openPort(port); + if (!midi_out.isPortOpen()) midi_out.openPort(port); + } - midi_in.openPort(port); - midi_out.openPort(port); + void + disconnect() + { + if (midi_in.isPortOpen()) midi_in.closePort(); + if (midi_out.isPortOpen()) midi_out.closePort(); } }; |