summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/progs/ingenuity/Makefile.am2
-rw-r--r--src/progs/ingenuity/PatchCanvas.cpp1
-rw-r--r--src/progs/ingenuity/PatchPort.cpp57
-rw-r--r--src/progs/ingenuity/PatchPort.h59
-rw-r--r--src/progs/ingenuity/PatchPortModule.cpp3
-rw-r--r--src/progs/ingenuity/PatchPortModule.h4
-rw-r--r--src/progs/ingenuity/Port.cpp12
-rw-r--r--src/progs/ingenuity/Port.h4
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() {}