aboutsummaryrefslogtreecommitdiffstats
path: root/src/gui
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2013-01-12 23:38:03 +0000
committerDavid Robillard <d@drobilla.net>2013-01-12 23:38:03 +0000
commit1dad5b5aaa139993fe19e266d08dfc55844e6804 (patch)
treefd2bed5971853b429f1b74369a778a4d608e6925 /src/gui
parent8f048287d06afd7d3c2e90f4a503d7666a9cb6fa (diff)
downloadmachina-1dad5b5aaa139993fe19e266d08dfc55844e6804.tar.gz
machina-1dad5b5aaa139993fe19e266d08dfc55844e6804.tar.bz2
machina-1dad5b5aaa139993fe19e266d08dfc55844e6804.zip
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/machina@4939 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/gui')
-rw-r--r--src/gui/EdgeView.cpp14
-rw-r--r--src/gui/EdgeView.hpp16
-rw-r--r--src/gui/MachinaCanvas.cpp56
-rw-r--r--src/gui/MachinaCanvas.hpp41
-rw-r--r--src/gui/MachinaGUI.cpp75
-rw-r--r--src/gui/MachinaGUI.hpp46
-rw-r--r--src/gui/NodePropertiesWindow.cpp19
-rw-r--r--src/gui/NodePropertiesWindow.hpp21
-rw-r--r--src/gui/NodeView.cpp17
-rw-r--r--src/gui/NodeView.hpp30
-rw-r--r--src/gui/WidgetFactory.hpp6
-rw-r--r--src/gui/main.cpp13
12 files changed, 204 insertions, 150 deletions
diff --git a/src/gui/EdgeView.cpp b/src/gui/EdgeView.cpp
index afa8cfd..dd28a41 100644
--- a/src/gui/EdgeView.cpp
+++ b/src/gui/EdgeView.cpp
@@ -25,7 +25,8 @@
#include "MachinaGUI.hpp"
#include "NodeView.hpp"
-using Machina::URIs;
+namespace Machina {
+namespace GUI {
/* probability colour stuff */
@@ -63,10 +64,10 @@ inline static uint32_t edge_color(float prob)
using namespace Ganv;
-EdgeView::EdgeView(Canvas& canvas,
- SharedPtr<NodeView> src,
- SharedPtr<NodeView> dst,
- SharedPtr<Machina::Client::ClientObject> edge)
+EdgeView::EdgeView(Canvas& canvas,
+ SPtr<NodeView> src,
+ SPtr<NodeView> dst,
+ SPtr<Machina::Client::ClientObject> edge)
: Ganv::Edge(canvas, src.get(), dst.get(), 0x9FA0A0F4, true, false)
, _edge(edge)
{
@@ -132,3 +133,6 @@ EdgeView::on_property(Machina::URIInt key, const Raul::Atom& value)
set_color(edge_color(value.get_float()));
}
}
+
+} // namespace Machina
+} // namespace GUI
diff --git a/src/gui/EdgeView.hpp b/src/gui/EdgeView.hpp
index b532071..bafcb6b 100644
--- a/src/gui/EdgeView.hpp
+++ b/src/gui/EdgeView.hpp
@@ -24,6 +24,9 @@
#include "machina/types.hpp"
+namespace Machina {
+namespace GUI {
+
class NodeView;
class EdgeView
@@ -31,10 +34,10 @@ class EdgeView
, public Machina::Client::ClientObject::View
{
public:
- EdgeView(Ganv::Canvas& canvas,
- SharedPtr<NodeView> src,
- SharedPtr<NodeView> dst,
- SharedPtr<Machina::Client::ClientObject> edge);
+ EdgeView(Ganv::Canvas& canvas,
+ SPtr<NodeView> src,
+ SPtr<NodeView> dst,
+ SPtr<Machina::Client::ClientObject> edge);
void show_label(bool show);
@@ -46,7 +49,10 @@ private:
float probability() const;
- SharedPtr<Machina::Client::ClientObject> _edge;
+ SPtr<Machina::Client::ClientObject> _edge;
};
+} // namespace Machina
+} // namespace GUI
+
#endif // MACHINA_EDGEVIEW_HPP
diff --git a/src/gui/MachinaCanvas.cpp b/src/gui/MachinaCanvas.cpp
index 2501cec..95a3f14 100644
--- a/src/gui/MachinaCanvas.cpp
+++ b/src/gui/MachinaCanvas.cpp
@@ -17,13 +17,13 @@
#include <map>
-#include "raul/SharedPtr.hpp"
#include "raul/TimeStamp.hpp"
-#include "machina/Engine.hpp"
-#include "machina/Controller.hpp"
-#include "client/ClientObject.hpp"
#include "client/ClientModel.hpp"
+#include "client/ClientObject.hpp"
+#include "machina/Controller.hpp"
+#include "machina/Engine.hpp"
+#include "machina/types.hpp"
#include "EdgeView.hpp"
#include "MachinaCanvas.hpp"
@@ -32,7 +32,9 @@
using namespace Raul;
using namespace Ganv;
-using namespace Machina;
+
+namespace Machina {
+namespace GUI {
MachinaCanvas::MachinaCanvas(MachinaGUI* app, int width, int height)
: Canvas(width, height)
@@ -45,9 +47,9 @@ MachinaCanvas::MachinaCanvas(MachinaGUI* app, int width, int height)
}
bool
-MachinaCanvas::node_clicked(WeakPtr<NodeView> item, GdkEventButton* event)
+MachinaCanvas::node_clicked(WPtr<NodeView> item, GdkEventButton* event)
{
- SharedPtr<NodeView> node = PtrCast<NodeView>(item.lock());
+ SPtr<NodeView> node = dynamic_ptr_cast<NodeView>(item.lock());
if (!node) {
return false;
}
@@ -63,7 +65,7 @@ MachinaCanvas::node_clicked(WeakPtr<NodeView> item, GdkEventButton* event)
} else if (event->button == 1) {
// Left click: connect/disconnect
- SharedPtr<NodeView> last = _last_clicked.lock();
+ SPtr<NodeView> last = _last_clicked.lock();
if (last) {
if (node != last) {
@@ -101,7 +103,7 @@ MachinaCanvas::on_event(GdkEvent* event)
}
void
-MachinaCanvas::on_new_object(SharedPtr<Client::ClientObject> object)
+MachinaCanvas::on_new_object(SPtr<Client::ClientObject> object)
{
const Machina::URIs& uris = URIs::instance();
const Raul::Atom& type = object->get(uris.rdf_type);
@@ -110,7 +112,7 @@ MachinaCanvas::on_new_object(SharedPtr<Client::ClientObject> object)
}
if (type.get<URIInt>() == uris.machina_Node) {
- SharedPtr<NodeView> view(
+ SPtr<NodeView> view(
new NodeView(_app->window(), *this, object,
object->get(uris.machina_canvas_x).get_float(),
object->get(uris.machina_canvas_y).get_float()));
@@ -120,28 +122,25 @@ MachinaCanvas::on_new_object(SharedPtr<Client::ClientObject> object)
view->signal_clicked().connect(
sigc::bind<0>(sigc::mem_fun(this, &MachinaCanvas::node_clicked),
- WeakPtr<NodeView>(view)));
+ WPtr<NodeView>(view)));
object->set_view(view);
} else if (type.get<URIInt>() == uris.machina_Edge) {
- SharedPtr<Machina::Client::ClientObject> tail
- = _app->client_model()->find(
- object->get(uris.machina_tail_id).get_int32());
- SharedPtr<Machina::Client::ClientObject> head
- = _app->client_model()->find(
- object->get(uris.machina_head_id).get_int32());
+ SPtr<Machina::Client::ClientObject> tail = _app->client_model()->find(
+ object->get(uris.machina_tail_id).get_int32());
+ SPtr<Machina::Client::ClientObject> head = _app->client_model()->find(
+ object->get(uris.machina_head_id).get_int32());
if (!tail || !head) {
std::cerr << "Invalid arc" << std::endl;
return;
}
- SharedPtr<NodeView> tail_view = PtrCast<NodeView>(tail->view());
- SharedPtr<NodeView> head_view = PtrCast<NodeView>(head->view());
+ SPtr<NodeView> tail_view = dynamic_ptr_cast<NodeView>(tail->view());
+ SPtr<NodeView> head_view = dynamic_ptr_cast<NodeView>(head->view());
- SharedPtr<EdgeView> view(
- new EdgeView(*this, tail_view, head_view, object));
+ SPtr<EdgeView> view(new EdgeView(*this, tail_view, head_view, object));
object->set_view(view);
@@ -151,13 +150,13 @@ MachinaCanvas::on_new_object(SharedPtr<Client::ClientObject> object)
}
void
-MachinaCanvas::on_erase_object(SharedPtr<Client::ClientObject> object)
+MachinaCanvas::on_erase_object(SPtr<Client::ClientObject> object)
{
const Raul::Atom& type = object->get(URIs::instance().rdf_type);
if (type.get<URIInt>() == URIs::instance().machina_Node) {
// Destruction of the view will remove from the canvas
} else if (type.get<URIInt>() == URIs::instance().machina_Edge) {
- object->set_view(SharedPtr<Client::ClientObject::View>());
+ object->set_view(SPtr<Client::ClientObject::View>());
} else {
std::cerr << "Unknown object type" << std::endl;
}
@@ -176,15 +175,18 @@ MachinaCanvas::action_create_node(double x, double y)
}
void
-MachinaCanvas::action_connect(boost::shared_ptr<NodeView> src,
- boost::shared_ptr<NodeView> head)
+MachinaCanvas::action_connect(SPtr<NodeView> src,
+ SPtr<NodeView> head)
{
_app->controller()->connect(src->node()->id(), head->node()->id());
}
void
-MachinaCanvas::action_disconnect(boost::shared_ptr<NodeView> src,
- boost::shared_ptr<NodeView> head)
+MachinaCanvas::action_disconnect(SPtr<NodeView> src,
+ SPtr<NodeView> head)
{
_app->controller()->disconnect(src->node()->id(), head->node()->id());
}
+
+} // namespace Machina
+} // namespace GUI
diff --git a/src/gui/MachinaCanvas.hpp b/src/gui/MachinaCanvas.hpp
index 4f190fd..a9ca5b9 100644
--- a/src/gui/MachinaCanvas.hpp
+++ b/src/gui/MachinaCanvas.hpp
@@ -19,53 +19,56 @@
#define MACHINA_CANVAS_HPP_HPP
#include <string>
-#include "raul/SharedPtr.hpp"
-#include "raul/WeakPtr.hpp"
+
#include "ganv/Canvas.hpp"
+#include "machina/types.hpp"
using namespace Ganv;
+namespace Machina {
+
+namespace Client { class ClientObject; }
+
+namespace GUI {
+
class MachinaGUI;
class NodeView;
-namespace Machina {
-namespace Client {
-class ClientObject;
-}
-}
-
class MachinaCanvas
: public Canvas
{
public:
MachinaCanvas(MachinaGUI* app, int width, int height);
- //void build(SharedPtr<const Machina::Machine> machine, bool show_labels);
+ //void build(SPtr<const Machina::Machine> machine, bool show_labels);
//void update_edges();
- void on_new_object(SharedPtr<Machina::Client::ClientObject> object);
- void on_erase_object(SharedPtr<Machina::Client::ClientObject> object);
+ void on_new_object(SPtr<Machina::Client::ClientObject> object);
+ void on_erase_object(SPtr<Machina::Client::ClientObject> object);
MachinaGUI* app() { return _app; }
protected:
bool on_event(GdkEvent* event);
- bool node_clicked(WeakPtr<NodeView> item, GdkEventButton* ev);
+ bool node_clicked(WPtr<NodeView> item, GdkEventButton* ev);
private:
- //SharedPtr<NodeView> create_node_view(SharedPtr<Machina::Node> node);
+ //SPtr<NodeView> create_node_view(SPtr<Machina::Node> node);
void action_create_node(double x, double y);
- void action_connect(SharedPtr<NodeView> port1,
- SharedPtr<NodeView> port2);
+ void action_connect(SPtr<NodeView> port1,
+ SPtr<NodeView> port2);
- void action_disconnect(SharedPtr<NodeView> port1,
- SharedPtr<NodeView> port2);
+ void action_disconnect(SPtr<NodeView> port1,
+ SPtr<NodeView> port2);
- MachinaGUI* _app;
- WeakPtr<NodeView> _last_clicked;
+ MachinaGUI* _app;
+ WPtr<NodeView> _last_clicked;
};
+} // namespace Machina
+} // namespace GUI
+
#endif // MACHINA_CANVAS_HPP_HPP
diff --git a/src/gui/MachinaGUI.cpp b/src/gui/MachinaGUI.cpp
index 6e3b188..f162ebd 100644
--- a/src/gui/MachinaGUI.cpp
+++ b/src/gui/MachinaGUI.cpp
@@ -38,9 +38,10 @@
#include "machina/Evolver.hpp"
#endif
-using namespace Machina;
+namespace Machina {
+namespace GUI {
-MachinaGUI::MachinaGUI(SharedPtr<Machina::Engine> engine)
+MachinaGUI::MachinaGUI(SPtr<Machina::Engine> engine)
: _refresh(false)
, _evolve(false)
, _unit(TimeUnit::BEATS, 19200)
@@ -49,8 +50,7 @@ MachinaGUI::MachinaGUI(SharedPtr<Machina::Engine> engine)
, _controller(new Machina::Controller(_engine, *_client_model.get()))
, _maid(new Raul::Maid())
{
- _canvas = boost::shared_ptr<MachinaCanvas>(
- new MachinaCanvas(this, 1600*2, 1200*2));
+ _canvas = SPtr<MachinaCanvas>(new MachinaCanvas(this, 1600*2, 1200*2));
Glib::RefPtr<Gtk::Builder> xml = WidgetFactory::create();
@@ -146,23 +146,30 @@ MachinaGUI::MachinaGUI(SharedPtr<Machina::Engine> engine)
_quantize_spinbutton->signal_changed().connect(
sigc::mem_fun(this, &MachinaGUI::quantize_changed));
- _mutate_button->signal_clicked().connect(sigc::bind(
- sigc::mem_fun(this, &MachinaGUI::random_mutation),
- SharedPtr<Machine>()));
- _compress_button->signal_clicked().connect(sigc::hide_return(sigc::bind(
- sigc::mem_fun(this, &MachinaGUI::mutate), SharedPtr<Machine>(), 0)));
- _add_node_button->signal_clicked().connect(sigc::bind(
- sigc::mem_fun(this, &MachinaGUI::mutate), SharedPtr<Machine>(), 1));
- _remove_node_button->signal_clicked().connect(sigc::bind(
- sigc::mem_fun(this, &MachinaGUI::mutate), SharedPtr<Machine>(), 2));
- _adjust_node_button->signal_clicked().connect(sigc::bind(
- sigc::mem_fun(this, &MachinaGUI::mutate), SharedPtr<Machine>(), 3));
- _add_edge_button->signal_clicked().connect(sigc::bind(
- sigc::mem_fun(this, &MachinaGUI::mutate), SharedPtr<Machine>(), 4));
- _remove_edge_button->signal_clicked().connect(sigc::bind(
- sigc::mem_fun(this, &MachinaGUI::mutate), SharedPtr<Machine>(), 5));
- _adjust_edge_button->signal_clicked().connect(sigc::bind(
- sigc::mem_fun(this, &MachinaGUI::mutate), SharedPtr<Machine>(), 6));
+ _mutate_button->signal_clicked().connect(
+ sigc::bind(sigc::mem_fun(this, &MachinaGUI::random_mutation),
+ SPtr<Machine>()));
+ _compress_button->signal_clicked().connect(
+ sigc::hide_return(sigc::bind(sigc::mem_fun(this, &MachinaGUI::mutate),
+ SPtr<Machine>(), 0)));
+ _add_node_button->signal_clicked().connect(
+ sigc::bind(sigc::mem_fun(this, &MachinaGUI::mutate),
+ SPtr<Machine>(), 1));
+ _remove_node_button->signal_clicked().connect(
+ sigc::bind(sigc::mem_fun(this, &MachinaGUI::mutate),
+ SPtr<Machine>(), 2));
+ _adjust_node_button->signal_clicked().connect(
+ sigc::bind(sigc::mem_fun(this, &MachinaGUI::mutate),
+ SPtr<Machine>(), 3));
+ _add_edge_button->signal_clicked().connect(
+ sigc::bind(sigc::mem_fun(this, &MachinaGUI::mutate),
+ SPtr<Machine>(), 4));
+ _remove_edge_button->signal_clicked().connect(
+ sigc::bind(sigc::mem_fun(this, &MachinaGUI::mutate),
+ SPtr<Machine>(), 5));
+ _adjust_edge_button->signal_clicked().connect(
+ sigc::bind(sigc::mem_fun(this, &MachinaGUI::mutate),
+ SPtr<Machine>(), 6));
connect_widgets();
@@ -177,9 +184,8 @@ MachinaGUI::MachinaGUI(SharedPtr<Machina::Engine> engine)
// Idle callback to drive the maid (collect garbage)
Glib::signal_timeout().connect(
- sigc::bind_return(
- sigc::mem_fun(_maid.get(), &Raul::Maid::cleanup),
- true),
+ sigc::bind_return(sigc::mem_fun(_maid.get(), &Raul::Maid::cleanup),
+ true),
1000);
// Idle callback to update node states
@@ -289,16 +295,16 @@ void
MachinaGUI::evolve_toggled()
{
if (_evolve_button->get_active()) {
- _evolver = SharedPtr<Evolver>(
+ _evolver = SPtr<Evolver>(
new Evolver(_unit, _target_filename, _engine->machine()));
_evolve = true;
stop_clicked();
- _engine->driver()->set_machine(SharedPtr<Machine>());
+ _engine->driver()->set_machine(SPtr<Machine>());
_evolver->start();
} else {
_evolver->stop();
_evolve = false;
- SharedPtr<Machine> new_machine = SharedPtr<Machine>(
+ SPtr<Machine> new_machine = SPtr<Machine>(
new Machine(*_evolver->best()));
_engine->driver()->set_machine(new_machine);
_canvas->build(new_machine, _menu_view_labels->get_active());
@@ -309,7 +315,7 @@ MachinaGUI::evolve_toggled()
#endif
void
-MachinaGUI::random_mutation(SharedPtr<Machine> machine)
+MachinaGUI::random_mutation(SPtr<Machine> machine)
{
if (!machine)
machine = _engine->machine();
@@ -318,7 +324,7 @@ MachinaGUI::random_mutation(SharedPtr<Machine> machine)
}
void
-MachinaGUI::mutate(SharedPtr<Machine> machine, unsigned mutation)
+MachinaGUI::mutate(SPtr<Machine> machine, unsigned mutation)
{
#if 0
if (!machine)
@@ -423,7 +429,7 @@ MachinaGUI::menu_file_open()
const int result = dialog.run();
if (result == Gtk::RESPONSE_OK) {
- SharedPtr<Machina::Machine> new_machine = _engine->load_machine(dialog.get_uri());
+ SPtr<Machina::Machine> new_machine = _engine->load_machine(dialog.get_uri());
if (new_machine) {
_canvas->destroy();
_controller->announce(new_machine);
@@ -530,7 +536,7 @@ MachinaGUI::menu_import_midi()
const double length_dbl = length_sb->get_value_as_int();
const Raul::TimeStamp length(_unit, length_dbl);
- SharedPtr<Machina::Machine> machine = _engine->load_machine_midi(
+ SPtr<Machina::Machine> machine = _engine->load_machine_midi(
dialog.get_filename(), 0.0, length);
if (machine) {
@@ -689,13 +695,16 @@ MachinaGUI::play_toggled()
}
void
-MachinaGUI::on_new_object(SharedPtr<Client::ClientObject> object)
+MachinaGUI::on_new_object(SPtr<Client::ClientObject> object)
{
_canvas->on_new_object(object);
}
void
-MachinaGUI::on_erase_object(SharedPtr<Client::ClientObject> object)
+MachinaGUI::on_erase_object(SPtr<Client::ClientObject> object)
{
_canvas->on_erase_object(object);
}
+
+} // namespace Machina
+} // namespace GUI
diff --git a/src/gui/MachinaGUI.hpp b/src/gui/MachinaGUI.hpp
index c48ac93..f9b0857 100644
--- a/src/gui/MachinaGUI.hpp
+++ b/src/gui/MachinaGUI.hpp
@@ -22,52 +22,55 @@
#include <gtkmm.h>
-#include "raul/Maid.hpp"
-#include "raul/SharedPtr.hpp"
#include "raul/TimeStamp.hpp"
+#include "machina/types.hpp"
#include "machina_config.h"
using namespace std;
namespace Machina {
+
class Machine;
class Engine;
class Evolver;
class Controller;
+
namespace Client {
-class ClientModel; class ClientObject;
-}
+class ClientModel;
+class ClientObject;
}
+namespace GUI {
+
class MachinaCanvas;
class MachinaGUI
{
public:
- MachinaGUI(SharedPtr<Machina::Engine> engine);
+ MachinaGUI(SPtr<Machina::Engine> engine);
~MachinaGUI();
- boost::shared_ptr<MachinaCanvas> canvas() { return _canvas; }
- boost::shared_ptr<Machina::Engine> engine() { return _engine; }
+ SPtr<MachinaCanvas> canvas() { return _canvas; }
+ SPtr<Machina::Engine> engine() { return _engine; }
Raul::Forge& forge() { return _forge; }
- SharedPtr<Raul::Maid> maid() { return _maid; }
+ SPtr<Raul::Maid> maid() { return _maid; }
Gtk::Window* window() { return _main_window; }
void attach();
void quit() { _main_window->hide(); }
- SharedPtr<Machina::Controller> controller() { return _controller; }
+ SPtr<Machina::Controller> controller() { return _controller; }
inline void queue_refresh() { _refresh = true; }
- void on_new_object(SharedPtr<Machina::Client::ClientObject> object);
- void on_erase_object(SharedPtr<Machina::Client::ClientObject> object);
+ void on_new_object(SPtr<Machina::Client::ClientObject> object);
+ void on_erase_object(SPtr<Machina::Client::ClientObject> object);
- SharedPtr<Machina::Client::ClientModel> client_model() {
+ SPtr<Machina::Client::ClientModel> client_model() {
return _client_model;
}
@@ -88,8 +91,8 @@ protected:
void arrange();
void load_target_clicked();
- void random_mutation(SharedPtr<Machina::Machine> machine);
- void mutate(SharedPtr<Machina::Machine> machine, unsigned mutation);
+ void random_mutation(SPtr<Machina::Machine> machine);
+ void mutate(SPtr<Machina::Machine> machine, unsigned mutation);
void zoom(double z);
void update_toolbar();
@@ -116,13 +119,13 @@ protected:
Raul::TimeUnit _unit;
- SharedPtr<MachinaCanvas> _canvas;
- SharedPtr<Machina::Engine> _engine;
- SharedPtr<Machina::Client::ClientModel> _client_model;
- SharedPtr<Machina::Controller> _controller;
+ SPtr<MachinaCanvas> _canvas;
+ SPtr<Machina::Engine> _engine;
+ SPtr<Machina::Client::ClientModel> _client_model;
+ SPtr<Machina::Controller> _controller;
- SharedPtr<Raul::Maid> _maid;
- SharedPtr<Machina::Evolver> _evolver;
+ SPtr<Raul::Maid> _maid;
+ SPtr<Machina::Evolver> _evolver;
Raul::Forge _forge;
@@ -171,4 +174,7 @@ protected:
Gtk::ToolButton* _adjust_edge_button;
};
+} // namespace Machina
+} // namespace GUI
+
#endif // MACHINA_GUI_HPP
diff --git a/src/gui/NodePropertiesWindow.cpp b/src/gui/NodePropertiesWindow.cpp
index 9a76420..a58d649 100644
--- a/src/gui/NodePropertiesWindow.cpp
+++ b/src/gui/NodePropertiesWindow.cpp
@@ -20,7 +20,9 @@
#include "WidgetFactory.hpp"
using namespace std;
-using namespace Machina;
+
+namespace Machina {
+namespace GUI {
NodePropertiesWindow* NodePropertiesWindow::_instance = NULL;
@@ -57,9 +59,9 @@ NodePropertiesWindow::apply_clicked()
_node->set_enter_action(ActionFactory::note_on(note));
_node->set_exit_action(ActionFactory::note_off(note));
} else {
- SharedPtr<MidiAction> action = PtrCast<MidiAction>(_node->enter_action());
+ SPtr<MidiAction> action = dynamic_ptr_cast<MidiAction>(_node->enter_action());
action->event()[1] = note;
- action = PtrCast<MidiAction>(_node->exit_action());
+ action = dynamic_ptr_cast<MidiAction>(_node->exit_action());
action->event()[1] = note;
}
@@ -86,11 +88,11 @@ NodePropertiesWindow::ok_clicked()
}
void
-NodePropertiesWindow::set_node(SharedPtr<Machina::Client::ClientObject> node)
+NodePropertiesWindow::set_node(SPtr<Machina::Client::ClientObject> node)
{
_node = node;
#if 0
- SharedPtr<MidiAction> enter_action = PtrCast<MidiAction>(node->enter_action());
+ SPtr<MidiAction> enter_action = dynamic_ptr_cast<MidiAction>(node->enter_action());
if (enter_action && ( enter_action->event_size() > 1)
&& ( (enter_action->event()[0] & 0xF0) == 0x90) ) {
_note_spinbutton->set_value(enter_action->event()[1]);
@@ -106,8 +108,8 @@ NodePropertiesWindow::set_node(SharedPtr<Machina::Client::ClientObject> node)
}
void
-NodePropertiesWindow::present(Gtk::Window* parent,
- SharedPtr<Machina::Client::ClientObject> node)
+NodePropertiesWindow::present(Gtk::Window* parent,
+ SPtr<Machina::Client::ClientObject> node)
{
if (!_instance) {
Glib::RefPtr<Gtk::Builder> xml = WidgetFactory::create();
@@ -122,3 +124,6 @@ NodePropertiesWindow::present(Gtk::Window* parent,
_instance->set_node(node);
_instance->show();
}
+
+} // namespace Machina
+} // namespace GUI
diff --git a/src/gui/NodePropertiesWindow.hpp b/src/gui/NodePropertiesWindow.hpp
index 7d395c9..78a5285 100644
--- a/src/gui/NodePropertiesWindow.hpp
+++ b/src/gui/NodePropertiesWindow.hpp
@@ -20,13 +20,13 @@
#include <gtkmm.h>
-#include "raul/SharedPtr.hpp"
+#include "machina/types.hpp"
namespace Machina {
-namespace Client {
-class ClientObject;
-}
-}
+
+namespace Client { class ClientObject; }
+
+namespace GUI {
class NodePropertiesWindow
: public Gtk::Dialog
@@ -37,11 +37,11 @@ public:
~NodePropertiesWindow();
- static void present(Gtk::Window* parent,
- SharedPtr<Machina::Client::ClientObject> node);
+ static void present(Gtk::Window* parent,
+ SPtr<Machina::Client::ClientObject> node);
private:
- void set_node(SharedPtr<Machina::Client::ClientObject> node);
+ void set_node(SPtr<Machina::Client::ClientObject> node);
void apply_clicked();
void cancel_clicked();
@@ -49,7 +49,7 @@ private:
static NodePropertiesWindow* _instance;
- SharedPtr<Machina::Client::ClientObject> _node;
+ SPtr<Machina::Client::ClientObject> _node;
Gtk::SpinButton* _note_spinbutton;
Gtk::SpinButton* _duration_spinbutton;
@@ -58,4 +58,7 @@ private:
Gtk::Button* _ok_button;
};
+} // namespace Machina
+} // namespace GUI
+
#endif // NODEPROPERTIESWINDOW_HPP
diff --git a/src/gui/NodeView.cpp b/src/gui/NodeView.cpp
index fc5377e..79258cd 100644
--- a/src/gui/NodeView.cpp
+++ b/src/gui/NodeView.cpp
@@ -27,13 +27,15 @@
#include "NodeView.hpp"
using namespace std;
-using Machina::URIs;
-NodeView::NodeView(Gtk::Window* window,
- Ganv::Canvas& canvas,
- SharedPtr<Machina::Client::ClientObject> node,
- double x,
- double y)
+namespace Machina {
+namespace GUI {
+
+NodeView::NodeView(Gtk::Window* window,
+ Ganv::Canvas& canvas,
+ SPtr<Machina::Client::ClientObject> node,
+ double x,
+ double y)
: Ganv::Circle(canvas, "", x, y, 20, false)
, _window(window)
, _node(node)
@@ -172,3 +174,6 @@ NodeView::set_default_colors()
set_fill_color(_default_fill_color);
set_border_color(_default_border_color);
}
+
+} // namespace Machina
+} // namespace GUI
diff --git a/src/gui/NodeView.hpp b/src/gui/NodeView.hpp
index b0c0da4..5507a75 100644
--- a/src/gui/NodeView.hpp
+++ b/src/gui/NodeView.hpp
@@ -24,18 +24,21 @@
#include "machina/types.hpp"
+namespace Machina {
+namespace GUI {
+
class NodeView
: public Ganv::Circle
, public Machina::Client::ClientObject::View
{
public:
- NodeView(Gtk::Window* window,
- Canvas& canvas,
- SharedPtr<Machina::Client::ClientObject> node,
- double x,
- double y);
+ NodeView(Gtk::Window* window,
+ Canvas& canvas,
+ SPtr<Machina::Client::ClientObject> node,
+ double x,
+ double y);
- SharedPtr<Machina::Client::ClientObject> node() { return _node; }
+ SPtr<Machina::Client::ClientObject> node() { return _node; }
void show_label(bool show);
@@ -55,15 +58,18 @@ private:
bool node_is(Raul::Forge& forge, Machina::URIInt key);
- Gtk::Window* _window;
- SharedPtr<Machina::Client::ClientObject> _node;
- uint32_t _default_border_color;
- uint32_t _default_fill_color;
+ Gtk::Window* _window;
+ SPtr<Machina::Client::ClientObject> _node;
+ uint32_t _default_border_color;
+ uint32_t _default_fill_color;
- SharedPtr<Machina::Client::ClientObject> _enter_action;
- sigc::connection _enter_action_connection;
+ SPtr<Machina::Client::ClientObject> _enter_action;
+ sigc::connection _enter_action_connection;
sigc::signal<bool, GdkEventButton*> _signal_clicked;
};
+} // namespace Machina
+} // namespace GUI
+
#endif // MACHINA_NODEVIEW_HPP
diff --git a/src/gui/WidgetFactory.hpp b/src/gui/WidgetFactory.hpp
index 41e8200..4f54998 100644
--- a/src/gui/WidgetFactory.hpp
+++ b/src/gui/WidgetFactory.hpp
@@ -23,6 +23,9 @@
#include "machina_config.h"
+namespace Machina {
+namespace GUI {
+
class WidgetFactory
{
public:
@@ -58,3 +61,6 @@ public:
}
};
+
+} // namespace Machina
+} // namespace GUI
diff --git a/src/gui/main.cpp b/src/gui/main.cpp
index e87e29d..25b1254 100644
--- a/src/gui/main.cpp
+++ b/src/gui/main.cpp
@@ -40,14 +40,14 @@ main(int argc, char** argv)
Machina::URIs::init();
- SharedPtr<Machina::Machine> machine;
+ SPtr<Machina::Machine> machine;
// Load machine, if given
#if 0
if (argc >= 2) {
const string filename = argv[1];
cout << "Building machine from MIDI file " << filename << endl;
- SharedPtr<Machina::SMFDriver> file_driver(new Machina::SMFDriver());
+ SPtr<Machina::SMFDriver> file_driver(new Machina::SMFDriver());
if (argc >= 3) {
float q = strtof(argv[2], NULL);
@@ -68,8 +68,7 @@ main(int argc, char** argv)
Raul::Forge forge;
if (!machine) {
- machine = SharedPtr<Machine>(
- new Machine(TimeUnit(TimeUnit::BEATS, 19200)));
+ machine = SPtr<Machine>(new Machine(TimeUnit(TimeUnit::BEATS, 19200)));
}
std::string driver_name = "smf";
@@ -78,13 +77,13 @@ main(int argc, char** argv)
#endif
// Build engine
- SharedPtr<Driver> driver(Engine::new_driver(forge, driver_name, machine));
- SharedPtr<Engine> engine(new Engine(forge, driver, rdf_world));
+ SPtr<Driver> driver(Engine::new_driver(forge, driver_name, machine));
+ SPtr<Engine> engine(new Engine(forge, driver, rdf_world));
Gtk::Main app(argc, argv);
driver->activate();
- MachinaGUI gui(engine);
+ GUI::MachinaGUI gui(engine);
app.run(*gui.window());