summaryrefslogtreecommitdiffstats
path: root/src/Canvas.hpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2021-05-11 13:45:26 -0400
committerDavid Robillard <d@drobilla.net>2021-05-11 13:45:26 -0400
commitdf0fdf362347495531bc3a5d19233220721d846b (patch)
treee3631d08630d4d6651eb24aa53c9fc49157778ab /src/Canvas.hpp
parentc6ae340c6222240dc45e9bba714c722cebece186 (diff)
downloadpatchage-df0fdf362347495531bc3a5d19233220721d846b.tar.gz
patchage-df0fdf362347495531bc3a5d19233220721d846b.tar.bz2
patchage-df0fdf362347495531bc3a5d19233220721d846b.zip
Refactor most functionality around actions and settings
This moves more code into general places, and completely eliminates dependencies on the Patchage "god object".
Diffstat (limited to 'src/Canvas.hpp')
-rw-r--r--src/Canvas.hpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/Canvas.hpp b/src/Canvas.hpp
index 3a15ca6..943b399 100644
--- a/src/Canvas.hpp
+++ b/src/Canvas.hpp
@@ -42,14 +42,17 @@ struct PortInfo;
class CanvasModule;
class CanvasPort;
-class Patchage;
+class ILog;
+class Metadata;
+class Configuration;
class Canvas : public Ganv::Canvas
{
public:
- Canvas(ActionSink& action_sink, int width, int height);
+ Canvas(ILog& log, ActionSink& action_sink, int width, int height);
- CanvasPort* create_port(Patchage& patchage,
+ CanvasPort* create_port(Configuration& conf,
+ const Metadata& metadata,
const PortID& id,
const PortInfo& info);
@@ -79,6 +82,7 @@ private:
void on_connect(Ganv::Node* port1, Ganv::Node* port2);
void on_disconnect(Ganv::Node* port1, Ganv::Node* port2);
+ ILog& _log;
ActionSink& _action_sink;
PortIndex _port_index;
ModuleIndex _module_index;