From da3ac16cbfbf66edebe929f8d9bf7d76ab24dd74 Mon Sep 17 00:00:00 2001 From: David Robillard Date: Sun, 11 Feb 2007 01:26:07 +0000 Subject: Moved Maid from Ingen to Raul. Working machina MIDI learn, fixes, etc, etc. git-svn-id: http://svn.drobilla.net/lad/machina@302 a436a847-0d15-0410-975c-d299462d15a1 --- src/gui/MachinaCanvas.cpp | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) (limited to 'src/gui/MachinaCanvas.cpp') diff --git a/src/gui/MachinaCanvas.cpp b/src/gui/MachinaCanvas.cpp index 775ae28..d725253 100644 --- a/src/gui/MachinaCanvas.cpp +++ b/src/gui/MachinaCanvas.cpp @@ -21,6 +21,7 @@ #include "machina/Machine.hpp" #include "machina/Action.hpp" #include "machina/Edge.hpp" +#include "machina/LearnRequest.hpp" #include "NodeView.hpp" #include "MachinaCanvas.hpp" #include "MachinaGUI.hpp" @@ -47,15 +48,21 @@ void MachinaCanvas::node_clicked(SharedPtr item, GdkEventButton* event) { cerr << "CLICKED: " << item->name() << endl; - + SharedPtr node = PtrCast(item); if (!node) return; + // Middle click, learn + if (event->button == 2) { + _app->machine()->learn(Machina::LearnRequest::create(_app->maid(), node->node())); + return; + } + SharedPtr last = _last_clicked.lock(); if (last) { - connect(last, node); + connect_node(last, node); _last_clicked.reset(); } else { _last_clicked = node; @@ -79,7 +86,7 @@ MachinaCanvas::canvas_event(GdkEvent* event) string name = string("Note")+(char)(last++ +'0'); SharedPtr node(new Machina::Node(1024*10, false)); - node->add_enter_action(new Machina::PrintAction(name)); + //node->add_enter_action(SharedPtr(new Machina::PrintAction(name))); SharedPtr view(new NodeView(node, shared_from_this(), name, x, y)); @@ -100,8 +107,8 @@ MachinaCanvas::canvas_event(GdkEvent* event) void -MachinaCanvas::connect(boost::shared_ptr src, - boost::shared_ptr dst) +MachinaCanvas::connect_node(boost::shared_ptr src, + boost::shared_ptr dst) { boost::shared_ptr c(new Connection(shared_from_this(), src, dst, 0x9999AAFF, true)); @@ -115,8 +122,8 @@ MachinaCanvas::connect(boost::shared_ptr src, void -MachinaCanvas::disconnect(boost::shared_ptr,// item1, - boost::shared_ptr)// item2) +MachinaCanvas::disconnect_node(boost::shared_ptr,// item1, + boost::shared_ptr)// item2) { #if 0 boost::shared_ptr input -- cgit v1.2.1