108 {
110 }
111 catch (...) {
113 }
114}
115
116bool Devices::Add(
const juce::MidiDeviceInfo& info,
const juce::String& io)
117{
118 try {
119 const auto [it, success] {
device_listing_.try_emplace({info, io},
true)};
120 if (success) {
121 if (
const auto new_element {
data_list_->createNewChildElement(
"item")}) {
122 new_element->setAttribute("devicename", info.name);
123 new_element->setAttribute("systemid", info.identifier);
124 new_element->setAttribute("inputoutput", io);
125 new_element->setAttribute("active", "1");
126 }
127 else {
128 rsj::Log(
"Failed to create new element in Devices::Add",
juce::XmlElement * data_list_
Definition Devices.h:109
bool Add(const juce::MidiDeviceInfo &info, const juce::String &io)
Definition Devices.cpp:106
std::map< DevInfo, bool > device_listing_
Definition Devices.h:106
void ExceptionResponse(gsl::czstring id, gsl::czstring fu, const std::exception &e) noexcept
void LogAndAlertError(const juce::String &error_text, const std::source_location &location=std::source_location::current()) noexcept
Definition Misc.cpp:141
void Log(const juce::String &info, const std::source_location &location=std::source_location::current()) noexcept
Definition Misc.cpp:112