diff options
Diffstat (limited to 'src/JackLibDriver.cpp')
-rw-r--r-- | src/JackLibDriver.cpp | 30 |
1 files changed, 18 insertions, 12 deletions
diff --git a/src/JackLibDriver.cpp b/src/JackLibDriver.cpp index 5133bc6..6df5b02 100644 --- a/src/JackLibDriver.cpp +++ b/src/JackLibDriver.cpp @@ -39,6 +39,7 @@ PATCHAGE_RESTORE_WARNINGS #include <string> #include <unordered_set> #include <utility> +#include <variant> namespace patchage { namespace { @@ -73,8 +74,8 @@ public: uint32_t sample_rate() override; private: - ClientInfo get_client_info(const char* name); - PortInfo get_port_info(const jack_port_t* port); + static ClientInfo get_client_info(const char* name); + PortInfo get_port_info(const jack_port_t* port); static void on_client(const char* name, int registered, void* driver); @@ -93,8 +94,8 @@ private: std::mutex _shutdown_mutex; jack_client_t* _client = nullptr; - jack_nframes_t _buffer_size = 0u; - uint32_t _xruns = 0u; + jack_nframes_t _buffer_size = 0U; + uint32_t _xruns = 0U; bool _is_activated = false; }; @@ -195,7 +196,7 @@ PortInfo JackLibDriver::get_port_info(const jack_port_t* const port) { const auto uuid = jack_port_uuid(port); - const auto flags = jack_port_flags(port); + const auto flags = static_cast<unsigned>(jack_port_flags(port)); const std::string name = jack_port_name(port); auto label = PortNames{name}.port(); @@ -236,7 +237,11 @@ JackLibDriver::get_port_info(const jack_port_t* const port) order = std::stoi(order_str); } - return {label, type, direction, order, bool(flags & JackPortIsTerminal)}; + return {label, + type, + direction, + order, + static_cast<bool>(flags & JackPortIsTerminal)}; } void @@ -256,7 +261,7 @@ JackLibDriver::refresh(const EventSink& sink) // Get all client names (to only send a creation event once for each) std::unordered_set<std::string> client_names; - for (auto i = 0u; ports[i]; ++i) { + for (auto i = 0U; ports[i]; ++i) { client_names.insert(PortID::jack(ports[i]).client().jack_name()); } @@ -267,7 +272,7 @@ JackLibDriver::refresh(const EventSink& sink) } // Emit all ports - for (auto i = 0u; ports[i]; ++i) { + for (auto i = 0U; ports[i]; ++i) { const jack_port_t* const port = jack_port_by_name(_client, ports[i]); sink({event::PortCreated{PortID::jack(ports[i]), get_port_info(port)}}); @@ -275,17 +280,18 @@ JackLibDriver::refresh(const EventSink& sink) // Get all connections (again to only create them once) std::set<std::pair<std::string, std::string>> connections; - for (auto i = 0u; ports[i]; ++i) { + for (auto i = 0U; ports[i]; ++i) { const jack_port_t* const port = jack_port_by_name(_client, ports[i]); const char** const peers = jack_port_get_all_connections(_client, port); if (peers) { - if (jack_port_flags(port) & JackPortIsInput) { - for (auto j = 0u; peers[j]; ++j) { + const auto flags = static_cast<unsigned>(jack_port_flags(port)); + if (flags & JackPortIsInput) { + for (auto j = 0U; peers[j]; ++j) { connections.emplace(peers[j], ports[i]); } } else { - for (auto j = 0u; peers[j]; ++j) { + for (auto j = 0U; peers[j]; ++j) { connections.emplace(ports[i], peers[j]); } } |