diff options
Diffstat (limited to 'raul')
-rw-r--r-- | raul/Process.hpp | 4 | ||||
-rw-r--r-- | raul/fmt.hpp | 28 | ||||
-rw-r--r-- | raul/log.hpp | 105 |
3 files changed, 28 insertions, 109 deletions
diff --git a/raul/Process.hpp b/raul/Process.hpp index 238e8c0..96ac831 100644 --- a/raul/Process.hpp +++ b/raul/Process.hpp @@ -24,7 +24,6 @@ #include <string> #include "raul/Noncopyable.hpp" -#include "raul/log.hpp" namespace Raul { @@ -47,9 +46,6 @@ public: const std::string arguments = command.substr((command.find(" ") + 1)); - info << "Launching child process '" << executable << "' with arguments '" - << arguments << "'" << std::endl; - // Use the same double fork() trick as JACK to prevent zombie children const int err = fork(); diff --git a/raul/fmt.hpp b/raul/fmt.hpp new file mode 100644 index 0000000..8af82f0 --- /dev/null +++ b/raul/fmt.hpp @@ -0,0 +1,28 @@ +/* + This file is part of Raul. + Copyright 2007-2012 David Robillard <http://drobilla.net> + + Raul is free software: you can redistribute it and/or modify it under the + terms of the GNU General Public License as published by the Free Software + Foundation, either version 3 of the License, or any later version. + + Raul is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR + A PARTICULAR PURPOSE. See the GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with Raul. If not, see <http://www.gnu.org/licenses/>. +*/ + +#ifndef RAUL_FMT_HPP +#define RAUL_FMT_HPP + +#include <boost/format.hpp> + +namespace Raul { + +typedef boost::basic_format<char> fmt; + +} // namespace Raul + +#endif // RAUL_FMT_HPP diff --git a/raul/log.hpp b/raul/log.hpp deleted file mode 100644 index 5c0908c..0000000 --- a/raul/log.hpp +++ /dev/null @@ -1,105 +0,0 @@ -/* - This file is part of Raul. - Copyright 2007-2012 David Robillard <http://drobilla.net> - - Raul is free software: you can redistribute it and/or modify it under the - terms of the GNU General Public License as published by the Free Software - Foundation, either version 3 of the License, or any later version. - - Raul is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR - A PARTICULAR PURPOSE. See the GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with Raul. If not, see <http://www.gnu.org/licenses/>. -*/ - -#ifndef RAUL_LOG_HPP -#define RAUL_LOG_HPP - -#include <boost/format.hpp> -#include <iostream> -#include <string> - -namespace Raul { - -typedef boost::basic_format<char> fmt; - -/** Buffer for (possibly coloured) log printing. - * \ingroup raul - */ -class LogBuffer : public std::streambuf -{ -public: - enum Colour { - DEFAULT = 0, - RED = 31, - GREEN, - YELLOW, - BLUE, - MAGENTA, - CYAN, - WHITE - }; - - LogBuffer(const char* prefix="", Colour colour=DEFAULT) - : _prefix(prefix) - , _out(std::cout) - , _colour(colour) - {} - - /** Change the colour of the output, e.g. out << colour(RED) << "red" << endl; */ - std::string colour(Colour c); - - /** Reset the colour of the output, e.g. out << plain() << "plain" << endl; */ - std::string plain(); - -protected: - int_type overflow(int_type c) { - if (c == '\n') - emit(); - else if (c != traits_type::eof()) - _line += c; - - return c; - } - - int sync() { - if (!_line.empty()) - emit(); - return 0; - } - -private: - void emit(); - - std::string _prefix; - std::string _line; - std::ostream& _out; - Colour _colour; -}; - -class NullBuffer : public std::streambuf -{ -protected: - int_type overflow(int_type c) { return c; } - int sync() { return 0; } -}; - -class Log : public std::ostream { -public: - explicit Log(std::streambuf* buf) : std::ostream(buf) {} - template<typename T> Log& operator()(const T& o) { - *this << o; - return *this; - } -}; - -extern Raul::Log info; -extern Raul::Log warn; -extern Raul::Log error; -extern Raul::Log debug; - -} // namespace Raul - -#endif // RAUL_LOG_HPP |