diff --git a/common/popl.hpp b/common/popl.hpp index 935e4d1a..7fb5ec43 100644 --- a/common/popl.hpp +++ b/common/popl.hpp @@ -712,6 +712,15 @@ inline void Value::parse(OptionName what_name, const char* value) } +template <> +inline void Value::parse(OptionName what_name, const char* value) +{ + bool val = + ((value != nullptr) && (strcmp(value, "1") == 0) || (strcmp(value, "true") == 0) || (strcmp(value, "True") == 0) || (strcmp(value, "TRUE") == 0)); + add_value(val); +} + + template inline void Value::parse(OptionName what_name, const char* value) { diff --git a/server/snapserver.conf b/server/snapserver.conf index 19dc08a4..db445400 100644 --- a/server/snapserver.conf +++ b/server/snapserver.conf @@ -38,7 +38,7 @@ doc_root = /home/johannes/Develop/snapcast/control # [tcp] # enable TCP Json RPC -enabled = true +#enabled = true # address to listen on # TODO: not implemented yet diff --git a/server/snapserver.cpp b/server/snapserver.cpp index 8ec2259f..fddbe860 100644 --- a/server/snapserver.cpp +++ b/server/snapserver.cpp @@ -74,7 +74,7 @@ int main(int argc, char* argv[]) // debug settings OptionParser conf(""); - conf.add("", "logging.debug", "enable debug logging", &settings.logging.debug); + conf.add>("", "logging.debug", "enable debug logging", settings.logging.debug, &settings.logging.debug); conf.add>("", "logging.debug_logfile", "log file name for the debug logs (debug must be enabled)", settings.logging.debug_logfile, &settings.logging.debug_logfile); @@ -89,15 +89,16 @@ int main(int argc, char* argv[]) settings.stream.codec, &settings.stream.codec); conf.add>("", "stream.stream_buffer", "Default stream read buffer [ms]", settings.stream.streamReadMs, &settings.stream.streamReadMs); conf.add>("b", "stream.buffer", "Buffer [ms]", settings.stream.bufferMs, &settings.stream.bufferMs); - conf.add("", "stream.send_to_muted", "Send audio to muted clients", &settings.stream.sendAudioToMutedClients); + conf.add>("", "stream.send_to_muted", "Send audio to muted clients", settings.stream.sendAudioToMutedClients, + &settings.stream.sendAudioToMutedClients); // HTTP RPC settings - conf.add("", "http.enabled", "enable HTTP Json RPC (HTTP POST and websockets)", &settings.http.enabled); + conf.add>("", "http.enabled", "enable HTTP Json RPC (HTTP POST and websockets)", settings.http.enabled, &settings.http.enabled); conf.add>("", "http.port", "which port the server should listen to", settings.http.port, &settings.http.port); conf.add>("", "http.doc_root", "serve a website from the doc_root location", settings.http.doc_root, &settings.http.doc_root); // TCP RPC settings - conf.add("", "tcp.enabled", "enable TCP Json RPC)", &settings.tcp.enabled); + conf.add>("", "tcp.enabled", "enable TCP Json RPC)", settings.tcp.enabled, &settings.tcp.enabled); conf.add>("", "tcp.port", "which port the server should listen to", settings.tcp.port, &settings.tcp.port); // TODO: Should be possible to override settings on command line