summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ingen/types.hpp5
-rw-r--r--src/gui/ingen_gui.cpp18
-rw-r--r--src/gui/ingen_gui_lv2.cpp46
-rw-r--r--src/server/ingen_lv2.cpp5
-rw-r--r--src/socket/ingen_socket_client.cpp30
5 files changed, 62 insertions, 42 deletions
diff --git a/ingen/types.hpp b/ingen/types.hpp
index ab80f94f..0f0fe718 100644
--- a/ingen/types.hpp
+++ b/ingen/types.hpp
@@ -21,11 +21,16 @@
namespace Ingen {
+#if __cplusplus >= 201103L
template <class T>
using SPtr = std::shared_ptr<T>;
template <class T>
using WPtr = std::weak_ptr<T>;
+#else
+#define SPtr std::shared_ptr
+#define WPtr std::weak_ptr
+#endif
template <class T>
void NullDeleter(T* ptr) {}
diff --git a/src/gui/ingen_gui.cpp b/src/gui/ingen_gui.cpp
index 999b2431..d8dc59ab 100644
--- a/src/gui/ingen_gui.cpp
+++ b/src/gui/ingen_gui.cpp
@@ -17,23 +17,29 @@
#include "ingen/Module.hpp"
#include "App.hpp"
-struct IngenGUIModule : public Ingen::Module {
- void load(Ingen::World* world) {
- app = Ingen::GUI::App::create(world);
+namespace Ingen {
+namespace GUI {
+
+struct GUIModule : public Module {
+ void load(World* world) {
+ app = GUI::App::create(world);
}
- void run(Ingen::World* world) {
+ void run(World* world) {
app->run();
}
- Ingen::SPtr<Ingen::GUI::App> app;
+ SPtr<GUI::App> app;
};
+} // namespace GUI
+} // namespace Ingen
+
extern "C" {
Ingen::Module*
ingen_module_load()
{
- return new IngenGUIModule();
+ return new Ingen::GUI::GUIModule();
}
} // extern "C"
diff --git a/src/gui/ingen_gui_lv2.cpp b/src/gui/ingen_gui_lv2.cpp
index d95ea82f..8f258e99 100644
--- a/src/gui/ingen_gui_lv2.cpp
+++ b/src/gui/ingen_gui_lv2.cpp
@@ -30,9 +30,11 @@
#define INGEN_LV2_UI_URI "http://drobilla.net/ns/ingen#GraphUIGtk2"
+namespace Ingen {
+
/** A sink that writes atoms to a port via the UI extension. */
-struct IngenLV2AtomSink : public Ingen::AtomSink {
- IngenLV2AtomSink(Ingen::URIs& uris,
+struct IngenLV2AtomSink : public AtomSink {
+ IngenLV2AtomSink(URIs& uris,
LV2UI_Write_Function ui_write,
LV2UI_Controller ui_controller)
: _uris(uris)
@@ -49,7 +51,7 @@ struct IngenLV2AtomSink : public Ingen::AtomSink {
return true;
}
- Ingen::URIs& _uris;
+ URIs& _uris;
LV2UI_Write_Function _ui_write;
LV2UI_Controller _ui_controller;
};
@@ -63,18 +65,20 @@ struct IngenLV2UI {
, sink(NULL)
{}
- int argc;
- char** argv;
- Ingen::Forge* forge;
- Ingen::World* world;
- IngenLV2AtomSink* sink;
- Ingen::SPtr<Ingen::GUI::App> app;
- Ingen::SPtr<Ingen::GUI::GraphBox> view;
- Ingen::SPtr<Ingen::Interface> engine;
- Ingen::SPtr<Ingen::AtomReader> reader;
- Ingen::SPtr<Ingen::Client::SigClientInterface> client;
+ int argc;
+ char** argv;
+ Forge* forge;
+ World* world;
+ IngenLV2AtomSink* sink;
+ SPtr<GUI::App> app;
+ SPtr<GUI::GraphBox> view;
+ SPtr<Interface> engine;
+ SPtr<AtomReader> reader;
+ SPtr<Client::SigClientInterface> client;
};
+} // namespace Ingen
+
static LV2UI_Handle
instantiate(const LV2UI_Descriptor* descriptor,
const char* plugin_uri,
@@ -86,7 +90,7 @@ instantiate(const LV2UI_Descriptor* descriptor,
{
Ingen::set_bundle_path(bundle_path);
- IngenLV2UI* ui = new IngenLV2UI();
+ Ingen::IngenLV2UI* ui = new Ingen::IngenLV2UI();
LV2_URID_Map* map = NULL;
LV2_URID_Unmap* unmap = NULL;
@@ -110,11 +114,11 @@ instantiate(const LV2UI_Descriptor* descriptor,
return NULL;
}
- ui->sink = new IngenLV2AtomSink(
+ ui->sink = new Ingen::IngenLV2AtomSink(
ui->world->uris(), write_function, controller);
// Set up an engine interface that writes LV2 atoms
- ui->engine = Ingen::SPtr<Ingen::Interface>(
+ ui->engine = SPtr<Ingen::Interface>(
new Ingen::AtomWriter(
ui->world->uri_map(), ui->world->uris(), *ui->sink));
@@ -122,11 +126,11 @@ instantiate(const LV2UI_Descriptor* descriptor,
// Create App and client
ui->app = Ingen::GUI::App::create(ui->world);
- ui->client = Ingen::SPtr<Ingen::Client::SigClientInterface>(
+ ui->client = SPtr<Ingen::Client::SigClientInterface>(
new Ingen::Client::SigClientInterface());
ui->app->attach(ui->client);
- ui->reader = Ingen::SPtr<Ingen::AtomReader>(
+ ui->reader = SPtr<Ingen::AtomReader>(
new Ingen::AtomReader(ui->world->uri_map(),
ui->world->uris(),
ui->world->log(),
@@ -141,7 +145,7 @@ instantiate(const LV2UI_Descriptor* descriptor,
ui->app->store()->put(Ingen::Node::root_uri(), props);
// Create a GraphBox for the root and set as the UI widget
- Ingen::SPtr<const Ingen::Client::GraphModel> root =
+ SPtr<const Ingen::Client::GraphModel> root =
Ingen::dynamic_ptr_cast<const Ingen::Client::GraphModel>(
ui->app->store()->object(Raul::Path("/")));
ui->view = Ingen::GUI::GraphBox::create(*ui->app, root);
@@ -157,7 +161,7 @@ instantiate(const LV2UI_Descriptor* descriptor,
static void
cleanup(LV2UI_Handle handle)
{
- IngenLV2UI* ui = (IngenLV2UI*)handle;
+ Ingen::IngenLV2UI* ui = (Ingen::IngenLV2UI*)handle;
delete ui;
}
@@ -168,7 +172,7 @@ port_event(LV2UI_Handle handle,
uint32_t format,
const void* buffer)
{
- IngenLV2UI* ui = (IngenLV2UI*)handle;
+ Ingen::IngenLV2UI* ui = (Ingen::IngenLV2UI*)handle;
const LV2_Atom* atom = (const LV2_Atom*)buffer;
ui->reader->write(atom);
}
diff --git a/src/server/ingen_lv2.cpp b/src/server/ingen_lv2.cpp
index e6fab92a..e3bb240a 100644
--- a/src/server/ingen_lv2.cpp
+++ b/src/server/ingen_lv2.cpp
@@ -60,6 +60,8 @@
#define NS_RDF "http://www.w3.org/1999/02/22-rdf-syntax-ns#"
#define NS_RDFS "http://www.w3.org/2000/01/rdf-schema#"
+namespace Ingen {
+
/** Record of a graph in this bundle. */
struct LV2Graph {
LV2Graph(const std::string& u, const std::string& f);
@@ -74,12 +76,11 @@ class Lib {
public:
explicit Lib(const char* bundle_path);
- typedef std::vector< Ingen::SPtr<const LV2Graph> > Graphs;
+ typedef std::vector< SPtr<const LV2Graph> > Graphs;
Graphs graphs;
};
-namespace Ingen {
namespace Server {
class LV2Driver;
diff --git a/src/socket/ingen_socket_client.cpp b/src/socket/ingen_socket_client.cpp
index 88842dde..a6b2f63b 100644
--- a/src/socket/ingen_socket_client.cpp
+++ b/src/socket/ingen_socket_client.cpp
@@ -23,36 +23,40 @@
#include "Socket.hpp"
#include "SocketClient.hpp"
-static Ingen::SPtr<Ingen::Interface>
-new_socket_interface(Ingen::World* world,
- const Raul::URI& uri,
- Ingen::SPtr<Ingen::Interface> respondee)
+namespace Ingen {
+namespace Socket {
+
+static SPtr<Ingen::Interface>
+new_socket_interface(Ingen::World* world,
+ const Raul::URI& uri,
+ SPtr<Ingen::Interface> respondee)
{
- Ingen::SPtr<Ingen::Socket::Socket> sock(
- new Ingen::Socket::Socket(Ingen::Socket::Socket::type_from_uri(uri)));
+ SPtr<Socket> sock(new Socket(Socket::type_from_uri(uri)));
if (!sock->connect(uri)) {
world->log().error(Raul::fmt("Failed to connect <%1%> (%2%)\n")
% sock->uri() % strerror(errno));
- return Ingen::SPtr<Ingen::Interface>();
+ return SPtr<Interface>();
}
- Ingen::Socket::SocketClient* client = new Ingen::Socket::SocketClient(
- *world, uri, sock, respondee);
- return Ingen::SPtr<Ingen::Interface>(client);
+ SocketClient* client = new SocketClient(*world, uri, sock, respondee);
+ return SPtr<Interface>(client);
}
-struct IngenSocketClientModule : public Ingen::Module {
- void load(Ingen::World* world) {
+struct SocketClientModule : public Module {
+ void load(World* world) {
world->add_interface_factory("unix", &new_socket_interface);
world->add_interface_factory("tcp", &new_socket_interface);
}
};
+} // namespace Socket
+} // namespace Ingen
+
extern "C" {
Ingen::Module*
ingen_module_load()
{
- return new IngenSocketClientModule();
+ return new Ingen::Socket::SocketClientModule();
}
} // extern "C"