summaryrefslogtreecommitdiff
path: root/gtk2_ardour/processor_box.h
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2016-03-18 21:33:45 +0100
committerRobin Gareus <robin@gareus.org>2016-03-18 21:33:45 +0100
commit877325ea6ed7d31176c353f60e2dd04cd1b60eb0 (patch)
tree452576b90d192842f80ce1c1e2b2fa90377df7a3 /gtk2_ardour/processor_box.h
parent851f6d4f793ad30e379f941732d7898cec459a98 (diff)
special case LuaProc Inline Display UI: direct cairo context
Diffstat (limited to 'gtk2_ardour/processor_box.h')
-rw-r--r--gtk2_ardour/processor_box.h19
1 files changed, 18 insertions, 1 deletions
diff --git a/gtk2_ardour/processor_box.h b/gtk2_ardour/processor_box.h
index 65e3612c56..2df431139c 100644
--- a/gtk2_ardour/processor_box.h
+++ b/gtk2_ardour/processor_box.h
@@ -44,6 +44,7 @@
#include "ardour/types.h"
#include "ardour/ardour.h"
#include "ardour/plugin_insert.h"
+#include "ardour/luaproc.h"
#include "ardour/port_insert.h"
#include "ardour/processor.h"
#include "ardour/route.h"
@@ -224,9 +225,13 @@ private:
public:
PluginDisplay(boost::shared_ptr<ARDOUR::Plugin>, uint32_t max_height = 80);
~PluginDisplay();
- private:
+ protected:
bool on_expose_event (GdkEventExpose *);
void on_size_request (Gtk::Requisition* req);
+
+ void update_height_alloc (uint32_t inline_height);
+ virtual uint32_t render_inline (cairo_t *, uint32_t width);
+
boost::shared_ptr<ARDOUR::Plugin> _plug;
PBD::ScopedConnection _qdraw_connection;
cairo_surface_t* _surf;
@@ -235,6 +240,18 @@ private:
bool _scroll;
};
+ class LuaPluginDisplay : public PluginDisplay {
+ public:
+ LuaPluginDisplay(boost::shared_ptr<ARDOUR::LuaProc>, uint32_t max_height = 80);
+ ~LuaPluginDisplay();
+ protected:
+ virtual uint32_t render_inline (cairo_t *, uint32_t width);
+ private:
+ boost::shared_ptr<ARDOUR::LuaProc> _luaproc;
+ LuaState lua_gui;
+ luabridge::LuaRef * _lua_render_inline;
+ };
+
class PortIcon : public Gtk::DrawingArea {
public:
PortIcon(bool input);