diff --git a/.gitignore b/.gitignore index 96d5a98..7be1ebb 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ zmidimap obj +Zmakefile diff --git a/include/device.hpp b/include/device.hpp index c1c0231..b70bcc8 100644 --- a/include/device.hpp +++ b/include/device.hpp @@ -17,7 +17,7 @@ public: bool start_loop(); void run_signal(char* buff); - bool import_chunk(ztd::chunkdat const& ch); + bool import_chunk(const ztd::chunkdat& ch); ztd::chunkdat export_chunk(); std::string name; diff --git a/include/system.hpp b/include/system.hpp index a68fe70..14277df 100644 --- a/include/system.hpp +++ b/include/system.hpp @@ -15,6 +15,6 @@ void device_check(); void announce_loop(); -void filetime_loop(std::string filepath); +void filetime_loop(std::string const& filepath); #endif //SYSTEM_HPP diff --git a/src/device.cpp b/src/device.cpp index 3cbc0f2..6a8494e 100644 --- a/src/device.cpp +++ b/src/device.cpp @@ -36,7 +36,7 @@ static std::string dequote(const std::string& in) return ret; } -static bool _isNum(char a) +static bool _isNum(const char& a) { return (a>='0' && a<='9'); } @@ -63,7 +63,7 @@ bool Device::start_loop() return true; } -std::pair importRange(ztd::chunkdat const& ch, std::string const& tag, int32_t low, int32_t high) +std::pair importRange(const ztd::chunkdat& ch, const std::string& tag, int32_t low, int32_t high) { ztd::chunkdat* pch=ch.subChunkPtr(tag); if(pch != nullptr) @@ -89,7 +89,7 @@ std::pair importRange(ztd::chunkdat const& ch, std::string cons return std::make_pair(low, high); } -std::pair importRangeFloat(ztd::chunkdat const& ch, std::string const& tag, float low, float high) +std::pair importRangeFloat(const ztd::chunkdat& ch, const std::string& tag, float low, float high) { ztd::chunkdat* pch=ch.subChunkPtr(tag); if(pch != nullptr) @@ -113,7 +113,7 @@ std::pair importRangeFloat(ztd::chunkdat const& ch, std::string con return std::make_pair(low, high); } -bool importBool(ztd::chunkdat const& ch, std::string const& tag, bool defbool) +bool importBool(const ztd::chunkdat& ch, const std::string& tag, const bool& defbool) { ztd::chunkdat* pch=ch.subChunkPtr(tag); if(pch != nullptr) @@ -127,7 +127,7 @@ bool importBool(ztd::chunkdat const& ch, std::string const& tag, bool defbool) return defbool; } -bool Device::import_chunk(ztd::chunkdat const& ch) +bool Device::import_chunk(const ztd::chunkdat& ch) { ztd::chunkdat& cch = ch["commands"]; this->name=dequote(ch["name"].strval()); @@ -177,13 +177,11 @@ bool Device::import_chunk(ztd::chunkdat const& ch) uint8_t id_high=127; uint8_t low=1; uint8_t high=127; - std::string tt; //id intpair=importRange(tch, "id", id_low, id_high); id_low=intpair.first; id_high=intpair.second; - // id=stoi(tch["id"].strval()); //trigger intpair = importRange(tch, "trigger", low, high); @@ -317,7 +315,7 @@ void Device::run_signal(char* buff) else { // throw std::runtime_error("Unknown MIDI signal:\n" + std::string(buff)); - printf("Unsupported signal, ignoring\n"); + std::cerr << "Unsupported signal, ignoring\n" ; return; } diff --git a/src/main.cpp b/src/main.cpp index 0c7dc3c..37c671e 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -156,6 +156,8 @@ int main(int argc, char* argv[]) catch(ztd::option_error& err) { printf("%s\n", err.what()); + if(err.type() == ztd::option_error::unknown_option) + help(); stop(1); } @@ -273,8 +275,8 @@ int main(int argc, char* argv[]) //main loop log("Starting scan for devices\n"); if(autoreload) - std::thread(filetime_loop, filepath).detach(); - announce_loop(); + std::thread(filetime_loop, filepath).detach(); // start the killer thread + announce_loop(); // loop until killed ztd::chunkdat bak_data = file.data(); while(autoreload) { @@ -297,7 +299,7 @@ int main(int argc, char* argv[]) log("Reloading old config\n"); load_commands(bak_data); } - announce_loop(); + announce_loop(); // loop until killed } } catch (ztd::format_error& e) diff --git a/src/system.cpp b/src/system.cpp index 47dd4f3..92e24e4 100644 --- a/src/system.cpp +++ b/src/system.cpp @@ -102,7 +102,7 @@ void announce_loop() free(buff); } -void filetime_loop(std::string filepath) +void filetime_loop(std::string const& filepath) { struct stat attrib; stat(filepath.c_str(), &attrib);