summaryrefslogtreecommitdiffstats
path: root/src/shared/LV2Atom.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/shared/LV2Atom.cpp')
-rw-r--r--src/shared/LV2Atom.cpp96
1 files changed, 0 insertions, 96 deletions
diff --git a/src/shared/LV2Atom.cpp b/src/shared/LV2Atom.cpp
deleted file mode 100644
index ccd5f352..00000000
--- a/src/shared/LV2Atom.cpp
+++ /dev/null
@@ -1,96 +0,0 @@
-/* This file is part of Ingen.
- * Copyright 2009-2011 David Robillard <http://drobilla.net>
- *
- * Ingen 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 2 of the License, or (at your option) any later
- * version.
- *
- * Ingen 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 details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-#include "ingen/shared/LV2Atom.hpp"
-#include "ingen/shared/LV2Features.hpp"
-#include "ingen/shared/LV2URIMap.hpp"
-#include "ingen/shared/URIs.hpp"
-#include "lv2/lv2plug.in/ns/ext/atom/atom.h"
-#include "lv2/lv2plug.in/ns/ext/uri-map/uri-map.h"
-#include "raul/Atom.hpp"
-#include "raul/log.hpp"
-
-using namespace std;
-using namespace Raul;
-
-namespace Ingen {
-namespace Shared {
-namespace LV2Atom {
-
-bool
-to_atom(Raul::Forge* forge,
- const Shared::URIs& uris,
- const LV2_Atom* object,
- Raul::Atom& atom)
-{
- if (object->type == uris.atom_String.id) {
- atom = forge->make((char*)(object + 1));
- return true;
- } else if (object->type == uris.atom_Bool.id) {
- atom = forge->make((bool)(int32_t*)(object + 1));
- return true;
- } else if (object->type == uris.atom_Int.id) {
- atom = forge->make((int32_t*)(object + 1));
- return true;
- } else if (object->type == uris.atom_Float.id) {
- atom = forge->make((float*)(object + 1));
- return true;
- }
- return false;
-}
-
-/** Convert an atom to an LV2 object, if possible.
- * object->size should be the capacity of the object (not including header)
- */
-bool
-from_atom(const Shared::URIs& uris, const Raul::Atom& atom, LV2_Atom* object)
-{
- char* str;
- switch (atom.type()) {
- case Raul::Atom::FLOAT:
- object->type = uris.atom_Float.id;
- object->size = sizeof(float);
- *(float*)(object + 1) = atom.get_float();
- break;
- case Raul::Atom::INT:
- object->type = uris.atom_Int.id;
- object->size = sizeof(int32_t);
- *(int32_t*)(object + 1) = atom.get_int32();
- break;
- case Raul::Atom::STRING:
- object->type = uris.atom_String.id;
- object->size = std::min((uint16_t)object->size, (uint16_t)(strlen(atom.get_string()) + 1));
- str = ((char*)(object + 1));
- str[object->size - 1] = '\0';
- strncpy(str, atom.get_string(), object->size);
- break;
- case Raul::Atom::BLOB:
- error << "TODO: Blob support" << endl;
- /*object->type = uris.atom_String;
- *(uint16_t*)(object + 1) = uris.uri_to_id(NULL, atom.get_blob_type());
- memcpy(((char*)(object + 1) + sizeof(uint32_t)), atom.get_blob(),
- std::min(atom.data_size(), (size_t)object->size));*/
- default:
- error << "Unsupported value type for toggle control" << endl;
- return false;
- }
- return true;
-}
-
-} // namespace LV2Atom
-} // namespace Shared
-} // namespace Ingen