X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fmarker_view.cc;h=4bd842341bc76be7c0d8eaa8169617559ad105da;hb=459eda7e11e4b8fa9767dc8a3e2b1228dc54078e;hp=f45a3ce9710432e7de3d6ee876a969db98a77dad;hpb=93c7aeba048f19df5abee5e4325ef8b0ef62c279;p=ardour.git diff --git a/gtk2_ardour/marker_view.cc b/gtk2_ardour/marker_view.cc index f45a3ce971..4bd842341b 100644 --- a/gtk2_ardour/marker_view.cc +++ b/gtk2_ardour/marker_view.cc @@ -1,5 +1,5 @@ /* - Copyright (C) 2003 Paul Davis + Copyright (C) 2003 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 @@ -15,7 +15,6 @@ along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - $Id$ */ #include @@ -27,20 +26,19 @@ #include "marker_view.h" using namespace ARDOUR ; -using namespace sigc; -sigc::signal MarkerView::GoingAway; +PBD::Signal1 MarkerView::CatchDeletion //---------------------------------------------------------------------------------------// // Constructor / Desctructor /** * Constructs a new MarkerView - * + * * @param parent the parent canvas item * @param tv the parent TimeAxisView of this item * @param tavi the TimeAxisViewItem that this item is to be assciated (marking) with - * @param spu the current samples per unit + * @param spu the current samples per unit * @param base_color * @param mark_type the marker type/name text, eg fade out, pan up etc. * @param mark_id unique name/id of this item @@ -54,8 +52,8 @@ MarkerView::MarkerView(ArdourCanvas::Group *parent, Gdk::Color& basic_color, std::string mark_type, std::string mark_id, - nframes_t start, - nframes_t duration) + framepos_t start, + framecnt_t duration) : TimeAxisViewItem(mark_id, *parent,*tv,spu,basic_color,start,duration) { mark_type_text = mark_type ; @@ -66,10 +64,12 @@ MarkerView::MarkerView(ArdourCanvas::Group *parent, // hook up our canvas events - frame_handle_start->signal_event().connect (bind (mem_fun (PublicEditor::instance(), &PublicEditor::canvas_markerview_start_handle_event), frame_handle_start, this)); - frame_handle_end->signal_event().connect (bind (mem_fun (PublicEditor::instance(), &PublicEditor::canvas_markerview_end_handle_event), frame_handle_end, this)); - group->signal_event().connect (bind (mem_fun (PublicEditor::instance(), &PublicEditor::canvas_markerview_item_view_event), group, this)); - + if (frame_handle_start) { + frame_handle_start->signal_event().connect (sigc::bind (sigc::mem_fun (PublicEditor::instance(), &PublicEditor::canvas_markerview_start_handle_event), frame_handle_start, this)); + frame_handle_end->signal_event().connect (sigc::bind (sigc::mem_fun (PublicEditor::instance(), &PublicEditor::canvas_markerview_end_handle_event), frame_handle_end, this)); + } + group->signal_event().connect (sigc::bind (sigc::mem_fun (PublicEditor::instance(), &PublicEditor::canvas_markerview_item_view_event), group, this)); + set_position(start, this) ; set_duration(duration, this) ; } @@ -87,12 +87,12 @@ MarkerView::~MarkerView() } } - + //---------------------------------------------------------------------------------------// // Marker Type Methods /** - * Sets the marker Type text of this this MarkerItem, eg fade_out, pan up etc. + * Sets the marker Type text of this this MarkerItem, eg fade_out, pan up etc. * * @param type_text the marker type text of this item */ @@ -102,9 +102,9 @@ MarkerView::set_mark_type_text(std::string type_text) mark_type_text = type_text ; MarkTypeChanged(mark_type_text, this) ; /* EMIT_SIGNAL */ } - + /** - * Returns the marker Type of this this MarkerItem, eg fade_out, pan up etc. + * Returns the marker Type of this this MarkerItem, eg fade_out, pan up etc. * * @return the marker type text of this item */ @@ -123,7 +123,7 @@ MarkerView::set_marked_item(ImageFrameView* item) { ImageFrameView* temp = marked_item ; marked_item = item ; - + MarkedItemChanged(marked_item, this) ; /* EMIT_SIGNAL */ return(temp) ; }