diff options
author | Hans Baier <hansfbaier@googlemail.com> | 2008-04-29 21:58:05 +0000 |
---|---|---|
committer | Hans Baier <hansfbaier@googlemail.com> | 2008-04-29 21:58:05 +0000 |
commit | 38eb5f4539786e0edafc31e275ed598bd4e4164b (patch) | |
tree | 025f91c514d7c09f2ef9d9da96139e8ac75d1d36 /gtk2_ardour | |
parent | d3cc2981b0018b3d7ac11017b909117a6ff24e83 (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/SConscript | 2 | ||||
-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.h | 2 | ||||
-rw-r--r-- | gtk2_ardour/canvas-program-change.cc | 3 | ||||
-rw-r--r-- | gtk2_ardour/canvas-program-change.h | 9 | ||||
-rw-r--r-- | gtk2_ardour/diamond.h | 2 | ||||
-rw-r--r-- | gtk2_ardour/editor_canvas_events.cc | 2 | ||||
-rw-r--r-- | gtk2_ardour/midi_region_view.cc | 16 | ||||
-rw-r--r-- | gtk2_ardour/midi_region_view.h | 3 |
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; |