From df1447c665e6c3631961297a9d3e9aff4e94c47f Mon Sep 17 00:00:00 2001 From: David Robillard Date: Sat, 12 Jan 2013 23:38:03 +0000 Subject: Remove Raul::SharedPtr and switch to std::shared_ptr. Use project local short type aliases for shared_ptr and friends. Move Raul::Disposable and Raul::Manageable into Raul::Maid. Use sets to store machina nodes and edges to avoid O(n) searches. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4939 a436a847-0d15-0410-975c-d299462d15a1 --- src/gui/ingen_gui_lv2.cpp | 32 +++++++++++++++++--------------- 1 file changed, 17 insertions(+), 15 deletions(-) (limited to 'src/gui/ingen_gui_lv2.cpp') diff --git a/src/gui/ingen_gui_lv2.cpp b/src/gui/ingen_gui_lv2.cpp index b8a4443b..d95ea82f 100644 --- a/src/gui/ingen_gui_lv2.cpp +++ b/src/gui/ingen_gui_lv2.cpp @@ -22,6 +22,7 @@ #include "ingen/client/GraphModel.hpp" #include "ingen/client/SigClientInterface.hpp" #include "ingen/runtime_paths.hpp" +#include "ingen/types.hpp" #include "lv2/lv2plug.in/ns/extensions/ui/ui.h" #include "App.hpp" @@ -62,16 +63,16 @@ struct IngenLV2UI { , sink(NULL) {} - int argc; - char** argv; - Ingen::Forge* forge; - Ingen::World* world; - IngenLV2AtomSink* sink; - SharedPtr app; - SharedPtr view; - SharedPtr engine; - SharedPtr reader; - SharedPtr client; + int argc; + char** argv; + Ingen::Forge* forge; + Ingen::World* world; + IngenLV2AtomSink* sink; + Ingen::SPtr app; + Ingen::SPtr view; + Ingen::SPtr engine; + Ingen::SPtr reader; + Ingen::SPtr client; }; static LV2UI_Handle @@ -113,7 +114,7 @@ instantiate(const LV2UI_Descriptor* descriptor, ui->world->uris(), write_function, controller); // Set up an engine interface that writes LV2 atoms - ui->engine = SharedPtr( + ui->engine = Ingen::SPtr( new Ingen::AtomWriter( ui->world->uri_map(), ui->world->uris(), *ui->sink)); @@ -121,11 +122,11 @@ instantiate(const LV2UI_Descriptor* descriptor, // Create App and client ui->app = Ingen::GUI::App::create(ui->world); - ui->client = SharedPtr( + ui->client = Ingen::SPtr( new Ingen::Client::SigClientInterface()); ui->app->attach(ui->client); - ui->reader = SharedPtr( + ui->reader = Ingen::SPtr( new Ingen::AtomReader(ui->world->uri_map(), ui->world->uris(), ui->world->log(), @@ -140,8 +141,9 @@ 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 - SharedPtr root = PtrCast( - ui->app->store()->object(Raul::Path("/"))); + Ingen::SPtr root = + Ingen::dynamic_ptr_cast( + ui->app->store()->object(Raul::Path("/"))); ui->view = Ingen::GUI::GraphBox::create(*ui->app, root); ui->view->unparent(); *widget = ui->view->gobj(); -- cgit v1.2.1