summaryrefslogtreecommitdiff
path: root/gtk2_ardour
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2007-07-28 07:09:21 +0000
committerDavid Robillard <d@drobilla.net>2007-07-28 07:09:21 +0000
commit6e167cb1a835cb0b44990cc4c2b2a47db9dd2b9e (patch)
treee31d6aac9c2ca21a46f18a24822b47c2003aee4c /gtk2_ardour
parent71452634a711cfeae4cf7eb9fbe7667210a071f1 (diff)
Playback from MIDI model, playback of clicked-in events.
Note the diskstream chunk size affects reading of clicked-in, so you may need to seek away and back again to have new events read (this will be fixed). git-svn-id: svn://localhost/ardour2/trunk@2183 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour')
-rw-r--r--gtk2_ardour/midi_region_view.cc26
-rw-r--r--gtk2_ardour/midi_streamview.cc2
-rw-r--r--gtk2_ardour/midi_time_axis.cc12
3 files changed, 20 insertions, 20 deletions
diff --git a/gtk2_ardour/midi_region_view.cc b/gtk2_ardour/midi_region_view.cc
index 2f6444e799..0c2efec35a 100644
--- a/gtk2_ardour/midi_region_view.cc
+++ b/gtk2_ardour/midi_region_view.cc
@@ -142,7 +142,7 @@ MidiRegionView::canvas_event(GdkEvent* ev)
model->add_note(new_note);
model->finish_command();
- view->update_bounds(new_note.note);
+ view->update_bounds(new_note.note());
add_note(new_note);
}
@@ -317,7 +317,7 @@ MidiRegionView::add_event (const MidiEvent& ev)
const double footer_height = name_highlight->property_y2() - name_highlight->property_y1();
const double pixel_range = (trackview.height - footer_height - 5.0) / (double)note_range;
- if (mtv->note_mode() == Note) {
+ if (mtv->note_mode() == Sustained) {
if ((ev.buffer[0] & 0xF0) == MIDI_CMD_NOTE_ON) {
const Byte& note = ev.buffer[1];
const double y1 = trackview.height - (pixel_range * (note - view->lowest_note() + 1))
@@ -352,7 +352,7 @@ MidiRegionView::add_event (const MidiEvent& ev)
}
}
- } else if (mtv->note_mode() == Percussion) {
+ } else if (mtv->note_mode() == Percussive) {
const Byte& note = ev.buffer[1];
const double x = trackview.editor.frame_to_pixel((nframes_t)ev.time);
const double y = trackview.height - (pixel_range * (note - view->lowest_note() + 1))
@@ -393,9 +393,9 @@ MidiRegionView::extend_active_notes()
void
MidiRegionView::add_note (const MidiModel::Note& note)
{
- assert(note.start >= 0);
- assert(note.start < _region->length());
- //assert(note.start + note.duration < _region->length());
+ assert(note.time() >= 0);
+ assert(note.time() < _region->length());
+ //assert(note.time() + note.duration < _region->length());
/*printf("Event, time = %f, size = %zu, data = ", ev.time, ev.size);
for (size_t i=0; i < ev.size; ++i) {
@@ -411,14 +411,14 @@ MidiRegionView::add_note (const MidiModel::Note& note)
const double footer_height = name_highlight->property_y2() - name_highlight->property_y1();
const double pixel_range = (trackview.height - footer_height - 5.0) / (double)note_range;
- if (mtv->note_mode() == Note) {
- const double y1 = trackview.height - (pixel_range * (note.note - view->lowest_note() + 1))
+ if (mtv->note_mode() == Sustained) {
+ const double y1 = trackview.height - (pixel_range * (note.note() - view->lowest_note() + 1))
- footer_height - 3.0;
ArdourCanvas::SimpleRect * ev_rect = new Gnome::Canvas::SimpleRect(*group);
- ev_rect->property_x1() = trackview.editor.frame_to_pixel((nframes_t)note.start);
+ ev_rect->property_x1() = trackview.editor.frame_to_pixel((nframes_t)note.time());
ev_rect->property_y1() = y1;
- ev_rect->property_x2() = trackview.editor.frame_to_pixel((nframes_t)(note.start + note.duration));
+ ev_rect->property_x2() = trackview.editor.frame_to_pixel((nframes_t)(note.time() + note.duration()));
ev_rect->property_y2() = y1 + ceil(pixel_range);
ev_rect->property_fill_color_rgba() = 0xFFFFFF66;
@@ -428,9 +428,9 @@ MidiRegionView::add_note (const MidiModel::Note& note)
ev_rect->show();
_events.push_back(ev_rect);
- } else if (mtv->note_mode() == Percussion) {
- const double x = trackview.editor.frame_to_pixel((nframes_t)note.start);
- const double y = trackview.height - (pixel_range * (note.note - view->lowest_note() + 1))
+ } else if (mtv->note_mode() == Percussive) {
+ const double x = trackview.editor.frame_to_pixel((nframes_t)note.time());
+ const double y = trackview.height - (pixel_range * (note.note() - view->lowest_note() + 1))
- footer_height - 3.0;
Diamond* ev_diamond = new Diamond(*group, std::min(pixel_range, 5.0));
diff --git a/gtk2_ardour/midi_streamview.cc b/gtk2_ardour/midi_streamview.cc
index d6361905b5..e602c3a880 100644
--- a/gtk2_ardour/midi_streamview.cc
+++ b/gtk2_ardour/midi_streamview.cc
@@ -140,7 +140,7 @@ MidiStreamView::display_region(MidiRegionView* region_view, bool redisplay_event
for (size_t i=0; i < source->model()->n_notes(); ++i) {
const MidiModel::Note& note = source->model()->note_at(i);
- update_bounds(note.note);
+ update_bounds(note.note());
if (redisplay_events)
region_view->add_note(note);
diff --git a/gtk2_ardour/midi_time_axis.cc b/gtk2_ardour/midi_time_axis.cc
index fb3d67913d..9c2808e07c 100644
--- a/gtk2_ardour/midi_time_axis.cc
+++ b/gtk2_ardour/midi_time_axis.cc
@@ -206,15 +206,15 @@ MidiTimeAxisView::build_mode_menu()
mode_menu->set_name ("ArdourContextMenu");
RadioMenuItem::Group mode_group;
- items.push_back (RadioMenuElem (mode_group, _("Note"),
- bind (mem_fun (*this, &MidiTimeAxisView::set_note_mode), Note)));
+ items.push_back (RadioMenuElem (mode_group, _("Sustained"),
+ bind (mem_fun (*this, &MidiTimeAxisView::set_note_mode), Sustained)));
_note_mode_item = dynamic_cast<RadioMenuItem*>(&items.back());
- _note_mode_item->set_active(_note_mode == Note);
+ _note_mode_item->set_active(_note_mode == Sustained);
- items.push_back (RadioMenuElem (mode_group, _("Percussion"),
- bind (mem_fun (*this, &MidiTimeAxisView::set_note_mode), Percussion)));
+ items.push_back (RadioMenuElem (mode_group, _("Percussive"),
+ bind (mem_fun (*this, &MidiTimeAxisView::set_note_mode), Percussive)));
_percussion_mode_item = dynamic_cast<RadioMenuItem*>(&items.back());
- _percussion_mode_item->set_active(_note_mode == Percussion);
+ _percussion_mode_item->set_active(_note_mode == Percussive);
return mode_menu;
}