/* Copyright (C) 2001-2006 Paul Davis This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #include #include #include #include #include #include #include #include #include #include "streamview.h" #include "midi_region_view.h" #include "midi_time_axis.h" #include "simplerect.h" #include "simpleline.h" #include "public_editor.h" //#include "midi_region_editor.h" #include "ghostregion.h" #include "midi_time_axis.h" #include "utils.h" #include "rgb_macros.h" #include "gui_thread.h" #include "i18n.h" using namespace sigc; using namespace ARDOUR; using namespace PBD; using namespace Editing; using namespace ArdourCanvas; MidiRegionView::MidiRegionView (ArdourCanvas::Group *parent, RouteTimeAxisView &tv, MidiRegion& r, double spu, Gdk::Color& basic_color) : RegionView (parent, tv, r, spu, basic_color) { } MidiRegionView::MidiRegionView (ArdourCanvas::Group *parent, RouteTimeAxisView &tv, MidiRegion& r, double spu, Gdk::Color& basic_color, TimeAxisViewItem::Visibility visibility) : RegionView (parent, tv, r, spu, basic_color, visibility) { } void MidiRegionView::init (Gdk::Color& basic_color, bool wfd) { // FIXME: Some redundancy here with RegionView::init. Need to figure out // where order is important and where it isn't... RegionView::init(basic_color, wfd); compute_colors (basic_color); reset_width_dependent_items ((double) _region.length() / samples_per_unit); set_height (trackview.height); region_muted (); region_resized (BoundsChanged); region_locked (); _region.StateChanged.connect (mem_fun(*this, &MidiRegionView::region_changed)); set_colors (); } MidiRegionView::~MidiRegionView () { in_destructor = true; RegionViewGoingAway (this); /* EMIT_SIGNAL */ } ARDOUR::MidiRegion& MidiRegionView::midi_region() const { // "Guaranteed" to succeed... return dynamic_cast(_region); } void MidiRegionView::show_region_editor () { cerr << "No MIDI region editor." << endl; } GhostRegion* MidiRegionView::add_ghost (AutomationTimeAxisView& atv) { return NULL; }