New directory tree, with preprocessor/ inside interpretor/.
[Faustine.git] / interpretor / preprocessor / faust-0.9.47mr3 / architecture / osclib / faust / src / lib / OSCFError.cpp
diff --git a/interpretor/preprocessor/faust-0.9.47mr3/architecture/osclib/faust/src/lib/OSCFError.cpp b/interpretor/preprocessor/faust-0.9.47mr3/architecture/osclib/faust/src/lib/OSCFError.cpp
new file mode 100644 (file)
index 0000000..c0e7003
--- /dev/null
@@ -0,0 +1,46 @@
+/*
+  Copyright (c) Grame 2010
+
+  This library is free software; you can redistribute it and modify it under
+  the terms of the GNU Library General Public License as published by the
+  Free Software Foundation version 2 of the License, or any later version.
+
+  This library 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 Library General Public License
+  for more details.
+
+  You should have received a copy of the GNU Library General Public License
+  along with this library; if not, write to the Free Software
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA.
+
+  Grame Research Laboratory, 9, rue du Garet 69001 Lyon - France
+  research@grame.fr
+  
+*/
+
+#include "OSCFError.h"
+#include "Message.h"
+
+namespace oscfaust
+{
+
+OSCFError      OSCFErr;                        // static OSC error output stream
+OSCFErrEnd     OSCFEndl;               // static OSC error output stream end
+
+OSCFError& operator << (OSCFError& err, const Message* arg)
+{
+       arg->print (std::cerr);
+#ifndef NO_OSC
+       if (!err.oscpending) {
+               oscerr << OSCErr();
+               err.oscpending = true;
+       }
+       oscerr << arg->address().c_str();
+       arg->printArgs(oscerr);
+#endif
+       return err;
+}
+
+
+} // end namespace