diff options
Diffstat (limited to 'src/progs/ingenuity')
-rw-r--r-- | src/progs/ingenuity/Makefile.am | 2 | ||||
-rw-r--r-- | src/progs/ingenuity/PatchCanvas.cpp | 1 | ||||
-rw-r--r-- | src/progs/ingenuity/PatchPort.cpp | 57 | ||||
-rw-r--r-- | src/progs/ingenuity/PatchPort.h | 59 | ||||
-rw-r--r-- | src/progs/ingenuity/PatchPortModule.cpp | 3 | ||||
-rw-r--r-- | src/progs/ingenuity/PatchPortModule.h | 4 | ||||
-rw-r--r-- | src/progs/ingenuity/Port.cpp | 12 | ||||
-rw-r--r-- | src/progs/ingenuity/Port.h | 4 |
8 files changed, 13 insertions, 129 deletions
diff --git a/src/progs/ingenuity/Makefile.am b/src/progs/ingenuity/Makefile.am index 0290f37e..48b53f33 100644 --- a/src/progs/ingenuity/Makefile.am +++ b/src/progs/ingenuity/Makefile.am @@ -69,8 +69,6 @@ ingenuity_SOURCES = \ SubpatchModule.cpp \ Port.h \ Port.cpp \ - PatchPort.h \ - PatchPort.cpp \ NewSubpatchWindow.h \ NewSubpatchWindow.cpp \ ConfigWindow.h \ diff --git a/src/progs/ingenuity/PatchCanvas.cpp b/src/progs/ingenuity/PatchCanvas.cpp index fd84443c..5dc39a2b 100644 --- a/src/progs/ingenuity/PatchCanvas.cpp +++ b/src/progs/ingenuity/PatchCanvas.cpp @@ -28,7 +28,6 @@ #include "Port.h" #include "NodeModel.h" #include "NodeModule.h" -#include "PatchPortModule.h" #include "SubpatchModule.h" #include "GladeFactory.h" #include "WindowFactory.h" diff --git a/src/progs/ingenuity/PatchPort.cpp b/src/progs/ingenuity/PatchPort.cpp deleted file mode 100644 index 7fc75dc8..00000000 --- a/src/progs/ingenuity/PatchPort.cpp +++ /dev/null @@ -1,57 +0,0 @@ -/* This file is part of Ingen. Copyright (C) 2006 Dave Robillard. - * - * Ingen is free software; you can redistribute it and/or modify it under the - * terms of the GNU General Public License as published by the Free Software - * Foundation; either version 2 of the License, or (at your option) any later - * version. - * - * Ingen is distributed in the hope that it will be useful, but WITHOUT ANY - * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS - * FOR A PARTICULAR PURPOSE. See the GNU General Public License for details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#include "PatchPort.h" -#include <cassert> -#include <iostream> -#include "PortModel.h" -#include "PatchPortModule.h" -#include "ControlModel.h" -#include "Configuration.h" -#include "App.h" -using std::cerr; using std::endl; - -using namespace Ingen::Client; - -namespace Ingenuity { - -PatchPort::PatchPort(PatchPortModule* module, CountedPtr<PortModel> pm) -: Port(module, pm->path().name(), !pm->is_input(), App::instance().configuration()->get_port_color(pm.get())), - m_port_model(pm) -{ - assert(module); - assert(m_port_model); -} - -#if 0 -void -PatchPort::set_name(const string& n) -{ - cerr << "********** PatchPort::set_name broken **********************" << endl; - - /* FIXME: move to PortController - string new_path = Path::parent(m_port_model->path()) +"/"+ n; - - for (list<ControlPanel*>::iterator i = m_control_panels.begin(); i != m_control_panels.end(); ++i) - (*i)->rename_port(m_port_model->path(), new_path); - - Port::set_name(n); - m_port_model->path(new_path); - */ -} -#endif - -} // namespace Ingenuity diff --git a/src/progs/ingenuity/PatchPort.h b/src/progs/ingenuity/PatchPort.h deleted file mode 100644 index 1b8eb389..00000000 --- a/src/progs/ingenuity/PatchPort.h +++ /dev/null @@ -1,59 +0,0 @@ -/* This file is part of Ingen. Copyright (C) 2006 Dave Robillard. - * - * Ingen is free software; you can redistribute it and/or modify it under the - * terms of the GNU General Public License as published by the Free Software - * Foundation; either version 2 of the License, or (at your option) any later - * version. - * - * Ingen is distributed in the hope that it will be useful, but WITHOUT ANY - * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS - * FOR A PARTICULAR PURPOSE. See the GNU General Public License for details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#ifndef PATCHPORT_H -#define PATCHPORT_H - -#include <cassert> -#include <string> -#include <flowcanvas/Port.h> -#include "util/CountedPtr.h" - -namespace Ingen { namespace Client { class PortModel; } } -using namespace Ingen::Client; -using namespace LibFlowCanvas; -using std::string; using std::list; - -namespace Ingenuity { - -class FlowCanvas; -class PatchWindow; -class PatchPortModule; - - -/** A Port (on a pseudo node) in a patch canvas, to represent a port on that patch. - * - * \ingroup Ingenuity - */ -class PatchPort : public LibFlowCanvas::Port -{ -public: - PatchPort(PatchPortModule* module, CountedPtr<PortModel> pm); - - virtual ~PatchPort() {} - - //void set_name(const string& n); - - CountedPtr<PortModel> model() const { return m_port_model; } - -private: - CountedPtr<PortModel> m_port_model; -}; - - -} // namespace Ingenuity - -#endif // PATCHPORT_H diff --git a/src/progs/ingenuity/PatchPortModule.cpp b/src/progs/ingenuity/PatchPortModule.cpp index 17bc6a2a..369a04b1 100644 --- a/src/progs/ingenuity/PatchPortModule.cpp +++ b/src/progs/ingenuity/PatchPortModule.cpp @@ -25,7 +25,6 @@ #include "GladeFactory.h" #include "RenameWindow.h" #include "PatchWindow.h" -#include "PatchPort.h" namespace Ingenuity { @@ -47,7 +46,7 @@ PatchPortModule::PatchPortModule(PatchCanvas* canvas, CountedPtr<PortModel> port if (m_patch_port) delete m_patch_port; - m_patch_port = new PatchPort(this, port); + m_patch_port = new Port(this, port, true); } resize(); diff --git a/src/progs/ingenuity/PatchPortModule.h b/src/progs/ingenuity/PatchPortModule.h index 56f259e9..98bc1b1d 100644 --- a/src/progs/ingenuity/PatchPortModule.h +++ b/src/progs/ingenuity/PatchPortModule.h @@ -21,7 +21,7 @@ #include <libgnomecanvasmm.h> #include <flowcanvas/Module.h> #include "util/Atom.h" -#include "PatchPort.h" +#include "Port.h" using std::string; namespace Ingen { namespace Client { @@ -62,7 +62,7 @@ protected: void metadata_update(const string& key, const Atom& value); CountedPtr<PortModel> m_port; - PatchPort* m_patch_port; ///< Port on this 'anonymous' module + Port* m_patch_port; ///< Port on this 'anonymous' module }; diff --git a/src/progs/ingenuity/Port.cpp b/src/progs/ingenuity/Port.cpp index e6f70e16..863e8a1a 100644 --- a/src/progs/ingenuity/Port.cpp +++ b/src/progs/ingenuity/Port.cpp @@ -17,8 +17,8 @@ #include "Port.h" #include <cassert> #include <iostream> +#include "PatchModel.h" #include "PortModel.h" -#include "NodeModule.h" #include "ControlModel.h" #include "Configuration.h" #include "App.h" @@ -28,8 +28,14 @@ using namespace Ingen::Client; namespace Ingenuity { -Port::Port(NodeModule* module, CountedPtr<PortModel> pm) -: LibFlowCanvas::Port(module, pm->path().name(), pm->is_input(), App::instance().configuration()->get_port_color(pm.get())), + +/** @param flip Make an input port appear as an output port, and vice versa. + */ +Port::Port(LibFlowCanvas::Module* module, CountedPtr<PortModel> pm, bool flip) +: LibFlowCanvas::Port(module, + pm->path().name(), + flip ? (!pm->is_input()) : pm->is_input(), + App::instance().configuration()->get_port_color(pm.get())), m_port_model(pm) { assert(module); diff --git a/src/progs/ingenuity/Port.h b/src/progs/ingenuity/Port.h index 16edd71a..c2344aef 100644 --- a/src/progs/ingenuity/Port.h +++ b/src/progs/ingenuity/Port.h @@ -27,8 +27,6 @@ using Ingen::Client::PortModel; namespace Ingenuity { -class NodeModule; - /** A Port on an Module. * @@ -37,7 +35,7 @@ class NodeModule; class Port : public LibFlowCanvas::Port { public: - Port(NodeModule* module, CountedPtr<PortModel> pm); + Port(LibFlowCanvas::Module* module, CountedPtr<PortModel> pm, bool flip = false); virtual ~Port() {} |