diff options
author | Hans Baier <hansfbaier@googlemail.com> | 2009-02-13 08:29:12 +0000 |
---|---|---|
committer | Hans Baier <hansfbaier@googlemail.com> | 2009-02-13 08:29:12 +0000 |
commit | f93ca1349ce3d56ecd9b90c1b6e88971d46d9952 (patch) | |
tree | 777a2eb2217b551a640f6f57ed1a4ae506861baa | |
parent | 0800b59f6179850b73bd9af0e09659c63e2ad0a5 (diff) |
* Added CanvasSysEx class for displaying SysExes
git-svn-id: svn://localhost/ardour2/branches/3.0@4544 d708f5d6-7413-0410-9779-e7cbd77b26cf
-rw-r--r-- | gtk2_ardour/SConscript | 1 | ||||
-rw-r--r-- | gtk2_ardour/ardour3_ui_default.conf | 2 | ||||
-rw-r--r-- | gtk2_ardour/canvas-sysex.cc | 64 | ||||
-rw-r--r-- | gtk2_ardour/canvas-sysex.h | 37 | ||||
-rw-r--r-- | gtk2_ardour/canvas_vars.h | 2 |
5 files changed, 106 insertions, 0 deletions
diff --git a/gtk2_ardour/SConscript b/gtk2_ardour/SConscript index 8b60460f41..a97b45dc54 100644 --- a/gtk2_ardour/SConscript +++ b/gtk2_ardour/SConscript @@ -130,6 +130,7 @@ canvas-note-event.cc canvas-note.cc canvas-flag.cc canvas-program-change.cc +canvas-sysex.cc canvas-simpleline.c canvas-simplerect.c canvas-waveview.c diff --git a/gtk2_ardour/ardour3_ui_default.conf b/gtk2_ardour/ardour3_ui_default.conf index 79941e588d..3ed429e8a8 100644 --- a/gtk2_ardour/ardour3_ui_default.conf +++ b/gtk2_ardour/ardour3_ui_default.conf @@ -66,6 +66,8 @@ <Option name="midi note velocity text" value="000000ff"/> <Option name="midi program change fill" value="0000ffa0"/> <Option name="midi program change outline" value="a7a7d4ff"/> + <Option name="midi sysex fill" value="f1e139a0"/> + <Option name="midi sysex outline" value="a7a7d4ff"/> <Option name="midi select rect fill" value="8888ff88"/> <Option name="midi select rect outline" value="5555ffff"/> <Option name="midi track base" value="b3cca35f"/> diff --git a/gtk2_ardour/canvas-sysex.cc b/gtk2_ardour/canvas-sysex.cc new file mode 100644 index 0000000000..f054379743 --- /dev/null +++ b/gtk2_ardour/canvas-sysex.cc @@ -0,0 +1,64 @@ +#include <iostream> + +#include "ardour_ui.h" + +#include "canvas-sysex.h" + +using namespace Gnome::Canvas; +using namespace std; + +template<typename Time> +CanvasSysEx<Time>::CanvasSysEx( + MidiRegionView& region, + Group& parent, + string& text, + double height, + double x, + double y, + boost::shared_ptr<Evoral::MIDIEvent<Time> > event + ) + : CanvasFlag( + region, + parent, + height, + ARDOUR_UI::config()->canvasvar_MidiSysExOutline.get(), + ARDOUR_UI::config()->canvasvar_MidiSysExFill.get(), + x, + y + ) +{ + set_text(text); +} + +template<typename Time> +CanvasSysEx<Time>::~CanvasSysEx() +{ +} + +template<typename Time> +bool +CanvasSysEx<Time>::on_event(GdkEvent* ev) +{ + switch (ev->type) { + case GDK_BUTTON_PRESS: + if (ev->button.button == 3) { + return true; + } + break; + + case GDK_SCROLL: + if (ev->scroll.direction == GDK_SCROLL_UP) { + return true; + } else if (ev->scroll.direction == GDK_SCROLL_DOWN) { + return true; + } + break; + + default: + break; + } + + return false; +} + +template class CanvasSysEx<nframes_t>; diff --git a/gtk2_ardour/canvas-sysex.h b/gtk2_ardour/canvas-sysex.h new file mode 100644 index 0000000000..8461a04c3c --- /dev/null +++ b/gtk2_ardour/canvas-sysex.h @@ -0,0 +1,37 @@ +#ifndef CANVAS_SYSEX_H_ +#define CANVAS_SYSEX_H_ + +#include "canvas-flag.h" +#include <evoral/MIDIEvent.hpp> + +class MidiRegionView; + +namespace Gnome { +namespace Canvas { + +template<typename Time> +class CanvasSysEx : public CanvasFlag +{ +public: + CanvasSysEx( + MidiRegionView& region, + Group& parent, + string& text, + double height, + double x, + double y, + boost::shared_ptr<Evoral::MIDIEvent<Time> > event + ); + + virtual ~CanvasSysEx(); + + virtual bool on_event(GdkEvent* ev); + + +private: +}; + +} // namespace Canvas +} // namespace Gnome + +#endif /*CANVAS_SYSEX_H_*/ diff --git a/gtk2_ardour/canvas_vars.h b/gtk2_ardour/canvas_vars.h index 5dfd9392d1..2e91707834 100644 --- a/gtk2_ardour/canvas_vars.h +++ b/gtk2_ardour/canvas_vars.h @@ -64,6 +64,8 @@ CANVAS_VARIABLE(canvasvar_MidiNoteSelected, "midi note selected") CANVAS_VARIABLE(canvasvar_MidiNoteVelocityText, "midi note velocity text") CANVAS_VARIABLE(canvasvar_MidiProgramChangeFill, "midi program change fill") CANVAS_VARIABLE(canvasvar_MidiProgramChangeOutline, "midi program change outline") +CANVAS_VARIABLE(canvasvar_MidiSysExFill, "midi sysex fill") +CANVAS_VARIABLE(canvasvar_MidiSysExOutline, "midi sysex outline") CANVAS_VARIABLE(canvasvar_MidiSelectRectFill, "midi select rect fill") CANVAS_VARIABLE(canvasvar_MidiSelectRectOutline, "midi select rect outline") CANVAS_VARIABLE(canvasvar_MidiTrackBase, "midi track base") |