summaryrefslogtreecommitdiff
path: root/gtk2_ardour
diff options
context:
space:
mode:
authorHans Baier <hansfbaier@googlemail.com>2008-04-29 21:58:05 +0000
committerHans Baier <hansfbaier@googlemail.com>2008-04-29 21:58:05 +0000
commit38eb5f4539786e0edafc31e275ed598bd4e4164b (patch)
tree025f91c514d7c09f2ef9d9da96139e8ac75d1d36 /gtk2_ardour
parentd3cc2981b0018b3d7ac11017b909117a6ff24e83 (diff)
* renamed canvas-midi-event.* into canvas-note-event.*
* make MidiModel keep track of its CanvasProgramChange instances git-svn-id: svn://localhost/ardour2/branches/3.0@3297 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour')
-rw-r--r--gtk2_ardour/SConscript2
-rw-r--r--gtk2_ardour/canvas-note-event.cc (renamed from gtk2_ardour/canvas-midi-event.cc)2
-rw-r--r--gtk2_ardour/canvas-note-event.h (renamed from gtk2_ardour/canvas-midi-event.h)0
-rw-r--r--gtk2_ardour/canvas-note.h2
-rw-r--r--gtk2_ardour/canvas-program-change.cc3
-rw-r--r--gtk2_ardour/canvas-program-change.h9
-rw-r--r--gtk2_ardour/diamond.h2
-rw-r--r--gtk2_ardour/editor_canvas_events.cc2
-rw-r--r--gtk2_ardour/midi_region_view.cc16
-rw-r--r--gtk2_ardour/midi_region_view.h3
10 files changed, 19 insertions, 22 deletions
diff --git a/gtk2_ardour/SConscript b/gtk2_ardour/SConscript
index aceb587998..2d39c0b772 100644
--- a/gtk2_ardour/SConscript
+++ b/gtk2_ardour/SConscript
@@ -132,7 +132,7 @@ automation_time_axis.cc
axis_view.cc
bundle_manager.cc
canvas-program-change.cc
-canvas-midi-event.cc
+canvas-note-event.cc
canvas-note.cc
canvas-simpleline.c
canvas-simplerect.c
diff --git a/gtk2_ardour/canvas-midi-event.cc b/gtk2_ardour/canvas-note-event.cc
index d9b5713183..d775514b1f 100644
--- a/gtk2_ardour/canvas-midi-event.cc
+++ b/gtk2_ardour/canvas-note-event.cc
@@ -18,7 +18,7 @@
*/
#include <iostream>
-#include "canvas-midi-event.h"
+#include "canvas-note-event.h"
#include "midi_region_view.h"
#include "public_editor.h"
#include "editing_syms.h"
diff --git a/gtk2_ardour/canvas-midi-event.h b/gtk2_ardour/canvas-note-event.h
index f575808bb1..f575808bb1 100644
--- a/gtk2_ardour/canvas-midi-event.h
+++ b/gtk2_ardour/canvas-note-event.h
diff --git a/gtk2_ardour/canvas-note.h b/gtk2_ardour/canvas-note.h
index 8f745bcbc8..de2d0ecb9d 100644
--- a/gtk2_ardour/canvas-note.h
+++ b/gtk2_ardour/canvas-note.h
@@ -23,7 +23,7 @@
#include <iostream>
#include "simplerect.h"
-#include "canvas-midi-event.h"
+#include "canvas-note-event.h"
#include "midi_util.h"
namespace Gnome {
diff --git a/gtk2_ardour/canvas-program-change.cc b/gtk2_ardour/canvas-program-change.cc
index 5883dd5b86..103bd7bb8d 100644
--- a/gtk2_ardour/canvas-program-change.cc
+++ b/gtk2_ardour/canvas-program-change.cc
@@ -1,7 +1,8 @@
#include "canvas-program-change.h"
#include <iostream>
+#include "ardour_ui.h"
-using namespace ArdourCanvas;
+using namespace Gnome::Canvas;
using namespace std;
CanvasProgramChange::CanvasProgramChange(
diff --git a/gtk2_ardour/canvas-program-change.h b/gtk2_ardour/canvas-program-change.h
index cf99ca0715..37dc0cc8da 100644
--- a/gtk2_ardour/canvas-program-change.h
+++ b/gtk2_ardour/canvas-program-change.h
@@ -4,15 +4,14 @@
#include <libgnomecanvasmm/group.h>
#include "simplerect.h"
#include "simpleline.h"
-#include "midi_region_view.h"
#include <libgnomecanvasmm/text.h>
#include <libgnomecanvasmm/widget.h>
#include <ardour/midi_model.h>
-namespace Gnome
-{
-namespace Canvas
-{
+class MidiRegionView;
+
+namespace Gnome {
+namespace Canvas {
class CanvasProgramChange : public Group
{
diff --git a/gtk2_ardour/diamond.h b/gtk2_ardour/diamond.h
index 32544f4880..da344fed29 100644
--- a/gtk2_ardour/diamond.h
+++ b/gtk2_ardour/diamond.h
@@ -21,7 +21,7 @@
#define __ardour_diamond_h__
#include <libgnomecanvasmm/polygon.h>
-#include "canvas-midi-event.h"
+#include "canvas-note-event.h"
namespace Gnome {
namespace Canvas {
diff --git a/gtk2_ardour/editor_canvas_events.cc b/gtk2_ardour/editor_canvas_events.cc
index 054be80bc6..0da0bfc487 100644
--- a/gtk2_ardour/editor_canvas_events.cc
+++ b/gtk2_ardour/editor_canvas_events.cc
@@ -40,7 +40,7 @@
#include "control_point.h"
#include "canvas_impl.h"
#include "simplerect.h"
-#include "canvas-midi-event.h"
+#include "canvas-note-event.h"
#include "i18n.h"
diff --git a/gtk2_ardour/midi_region_view.cc b/gtk2_ardour/midi_region_view.cc
index 09165bfcfd..d1b5f74990 100644
--- a/gtk2_ardour/midi_region_view.cc
+++ b/gtk2_ardour/midi_region_view.cc
@@ -431,6 +431,7 @@ MidiRegionView::clear_events()
delete *i;
_events.clear();
+ _pgm_changes.clear();
}
@@ -476,14 +477,8 @@ MidiRegionView::redisplay_model()
}
MidiModel::PgmChanges& pgm_changes = _model->pgm_changes();
- /*
- for (MidiModel::PgmChanges::const_iterator i = pgm_changes.begin();
- i != pgm_changes.end();
- ++i) {
- add_pgm_change()
- }
- */
- for_each(pgm_changes.begin(), pgm_changes.end(), sigc::mem_fun(this, &MidiRegionView::add_pgm_change));
+ for_each(pgm_changes.begin(), pgm_changes.end(),
+ sigc::mem_fun(this, &MidiRegionView::add_pgm_change));
end_write();
@@ -820,8 +815,9 @@ MidiRegionView::add_pgm_change(boost::shared_ptr<MIDI::Event> event)
const double x = trackview.editor.frame_to_pixel((nframes_t)event->time() - _region->start());
double height = midi_stream_view()->contents_height();
- new CanvasProgramChange(*this, *group, event, height, x, 1.0);
- //TODO : keep track of pgm changes
+ _pgm_changes.push_back(
+ boost::shared_ptr<CanvasProgramChange>(
+ new CanvasProgramChange(*this, *group, event, height, x, 1.0)));
}
void
diff --git a/gtk2_ardour/midi_region_view.h b/gtk2_ardour/midi_region_view.h
index 7c545fa82a..1a37205bef 100644
--- a/gtk2_ardour/midi_region_view.h
+++ b/gtk2_ardour/midi_region_view.h
@@ -36,7 +36,7 @@
#include "enums.h"
#include "canvas.h"
#include "canvas-note.h"
-#include "canvas-midi-event.h"
+#include "canvas-note-event.h"
#include "canvas-program-change.h"
namespace ARDOUR {
@@ -254,6 +254,7 @@ class MidiRegionView : public RegionView
boost::shared_ptr<ARDOUR::MidiModel> _model;
std::vector<ArdourCanvas::CanvasNoteEvent*> _events;
+ std::vector< boost::shared_ptr<ArdourCanvas::CanvasProgramChange> > _pgm_changes;
ArdourCanvas::CanvasNote** _active_notes;
ArdourCanvas::Group* _note_group;
ARDOUR::MidiModel::DeltaCommand* _delta_command;