summaryrefslogtreecommitdiffstats
path: root/src/shared/LV2Object.cpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2010-05-04 04:37:32 +0000
committerDavid Robillard <d@drobilla.net>2010-05-04 04:37:32 +0000
commitbaddfc8f54b34585b19323516d2e48d4d8f33759 (patch)
treef383cb61f58cbf75d2f360abb9eab6a35ef105f2 /src/shared/LV2Object.cpp
parenta377fe171dd248f9418634f5f23d10a9440fd920 (diff)
downloadingen-baddfc8f54b34585b19323516d2e48d4d8f33759.tar.gz
ingen-baddfc8f54b34585b19323516d2e48d4d8f33759.tar.bz2
ingen-baddfc8f54b34585b19323516d2e48d4d8f33759.zip
LV2Object => LV2Atom.
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2563 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/shared/LV2Object.cpp')
-rw-r--r--src/shared/LV2Object.cpp96
1 files changed, 0 insertions, 96 deletions
diff --git a/src/shared/LV2Object.cpp b/src/shared/LV2Object.cpp
deleted file mode 100644
index 9000320f..00000000
--- a/src/shared/LV2Object.cpp
+++ /dev/null
@@ -1,96 +0,0 @@
-/* This file is part of Ingen.
- * Copyright (C) 2009 Dave 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 "raul/log.hpp"
-#include "raul/Atom.hpp"
-#include "uri-map.lv2/uri-map.h"
-#include "atom.lv2/atom.h"
-#include "LV2Features.hpp"
-#include "LV2Object.hpp"
-#include "LV2URIMap.hpp"
-
-using namespace std;
-using namespace Raul;
-
-namespace Ingen {
-namespace Shared {
-namespace LV2Object {
-
-
-bool
-to_atom(const Shared::LV2URIMap& uris, const LV2_Atom* object, Raul::Atom& atom)
-{
- if (object->type == uris.object_class_string.id) {
- atom = Raul::Atom((char*)(object + 1));
- return true;
- } else if (object->type == uris.object_class_bool.id) {
- atom = Raul::Atom((bool)(int32_t*)(object + 1));
- return true;
- } else if (object->type == uris.object_class_int32.id) {
- atom = Raul::Atom((int32_t*)(object + 1));
- return true;
- } else if (object->type == uris.object_class_float32.id) {
- atom = Raul::Atom((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::LV2URIMap& uris, const Raul::Atom& atom, LV2_Atom* object)
-{
- char* str;
- switch (atom.type()) {
- case Raul::Atom::FLOAT:
- object->type = uris.object_class_float32.id;
- object->size = sizeof(float);
- *(float*)(object + 1) = atom.get_float();
- break;
- case Raul::Atom::INT:
- object->type = uris.object_class_int32.id;
- object->size = sizeof(int32_t);
- *(int32_t*)(object + 1) = atom.get_int32();
- break;
- case Raul::Atom::STRING:
- object->type = uris.object_class_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.object_class_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 LV2Object
-
-} // namespace Shared
-} // namespace Ingen