diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/gui/ingen_gui.cpp | 18 | ||||
-rw-r--r-- | src/gui/ingen_gui_lv2.cpp | 46 | ||||
-rw-r--r-- | src/server/ingen_lv2.cpp | 5 | ||||
-rw-r--r-- | src/socket/ingen_socket_client.cpp | 30 |
4 files changed, 57 insertions, 42 deletions
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" |