X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Feditor_imageframe.cc;h=5ff1fc64595aabae89604d9567cafca826f5494d;hb=6001b8d28dd764bada8b9198a5f91e0a2f5251f6;hp=6b8691b09fe2d2f6b7ef50abd0d95d2a77a29e76;hpb=912da52a539981193941d8739fa6f103b5e406db;p=ardour.git diff --git a/gtk2_ardour/editor_imageframe.cc b/gtk2_ardour/editor_imageframe.cc index 6b8691b09f..5ff1fc6459 100644 --- a/gtk2_ardour/editor_imageframe.cc +++ b/gtk2_ardour/editor_imageframe.cc @@ -16,7 +16,6 @@ along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - $Id$ */ #include "imageframe_view.h" @@ -31,7 +30,7 @@ #include "canvas_impl.h" #include -#include +#include "pbd/error.h" #include #include @@ -96,20 +95,18 @@ void Editor::scroll_timeaxis_to_imageframe_item(const TimeAxisViewItem* item) { // GTK2FIX - //jack_nframes_t offset = static_cast(frames_per_unit * (edit_hscroll_slider_width/2)) ; - jack_nframes_t offset = 0; + //nframes64_t offset = static_cast(frames_per_unit * (edit_hscroll_slider_width/2)) ; + nframes64_t offset = 0; - jack_nframes_t x_pos = 0 ; - if(item->get_position() < offset) - { + nframes64_t x_pos = 0 ; + + if (item->get_position() < offset) { x_pos = 0 ; - } - else - { - x_pos = item->get_position() - offset + (item->get_duration() / 2) ; + } else { + x_pos = item->get_position() - offset + (item->get_duration() / 2); } - reposition_x_origin(x_pos) ; + reset_x_origin (x_pos); } void @@ -124,7 +121,7 @@ Editor::add_imageframe_marker_time_axis(const string & track_name, TimeAxisView* void Editor::popup_imageframe_edit_menu(int button, int32_t time, ArdourCanvas::Item* ifv, bool with_item) { - ImageFrameTimeAxis* ifta = dynamic_cast(clicked_trackview) ; + ImageFrameTimeAxis* ifta = dynamic_cast(clicked_axisview) ; if(ifta) { @@ -141,7 +138,7 @@ Editor::popup_imageframe_edit_menu(int button, int32_t time, ArdourCanvas::Item* void Editor::popup_marker_time_axis_edit_menu(int button, int32_t time, ArdourCanvas::Item* ifv, bool with_item) { - MarkerTimeAxis* mta = dynamic_cast(clicked_trackview) ; + MarkerTimeAxis* mta = dynamic_cast(clicked_axisview) ; if(mta) { @@ -188,9 +185,9 @@ Editor::canvas_imageframe_item_view_event (GdkEvent *event, ArdourCanvas::Item* case GDK_BUTTON_PRESS: case GDK_2BUTTON_PRESS: case GDK_3BUTTON_PRESS: - clicked_trackview = &ifv->get_time_axis_view(); + clicked_axisview = &ifv->get_time_axis_view(); iftag = ifv->get_time_axis_group() ; - dynamic_cast(clicked_trackview)->get_view()->set_selected_imageframe_view(iftag, ifv); + dynamic_cast(clicked_axisview)->get_view()->set_selected_imageframe_view(iftag, ifv); ret = button_press_handler (item, event, ImageFrameItem) ; break ; case GDK_BUTTON_RELEASE: @@ -216,9 +213,9 @@ Editor::canvas_imageframe_start_handle_event (GdkEvent *event, ArdourCanvas::Ite case GDK_BUTTON_PRESS: case GDK_2BUTTON_PRESS: case GDK_3BUTTON_PRESS: - clicked_trackview = &ifv->get_time_axis_view() ; + clicked_axisview = &ifv->get_time_axis_view() ; iftag = ifv->get_time_axis_group() ; - dynamic_cast(clicked_trackview)->get_view()->set_selected_imageframe_view(iftag, ifv); + dynamic_cast(clicked_axisview)->get_view()->set_selected_imageframe_view(iftag, ifv); ret = button_press_handler (item, event, ImageFrameHandleStartItem) ; break ; @@ -251,9 +248,9 @@ Editor::canvas_imageframe_end_handle_event (GdkEvent *event, ArdourCanvas::Item* case GDK_BUTTON_PRESS: case GDK_2BUTTON_PRESS: case GDK_3BUTTON_PRESS: - clicked_trackview = &ifv->get_time_axis_view() ; + clicked_axisview = &ifv->get_time_axis_view() ; iftag = ifv->get_time_axis_group() ; - dynamic_cast(clicked_trackview)->get_view()->set_selected_imageframe_view(iftag, ifv); + dynamic_cast(clicked_axisview)->get_view()->set_selected_imageframe_view(iftag, ifv); ret = button_press_handler (item, event, ImageFrameHandleEndItem) ; break ; @@ -284,7 +281,7 @@ Editor::canvas_imageframe_view_event (GdkEvent* event, ArdourCanvas::Item* item, case GDK_BUTTON_PRESS: case GDK_2BUTTON_PRESS: case GDK_3BUTTON_PRESS: - clicked_trackview = ifta ; + clicked_axisview = ifta ; ret = button_press_handler (item, event, ImageFrameTimeAxisItem) ; break ; case GDK_BUTTON_RELEASE: @@ -307,7 +304,7 @@ Editor::canvas_marker_time_axis_view_event (GdkEvent* event, ArdourCanvas::Item* case GDK_BUTTON_PRESS: case GDK_2BUTTON_PRESS: case GDK_3BUTTON_PRESS: - clicked_trackview = mta ; + clicked_axisview = mta ; ret = button_press_handler(item, event, MarkerTimeAxisItem) ; break ; case GDK_BUTTON_RELEASE: @@ -330,8 +327,8 @@ Editor::canvas_markerview_item_view_event (GdkEvent* event, ArdourCanvas::Item* case GDK_BUTTON_PRESS: case GDK_2BUTTON_PRESS: case GDK_3BUTTON_PRESS: - clicked_trackview = &mta->get_time_axis_view() ; - dynamic_cast(clicked_trackview)->get_view()->set_selected_time_axis_item(mta); + clicked_axisview = &mta->get_time_axis_view() ; + dynamic_cast(clicked_axisview)->get_view()->set_selected_time_axis_item(mta); ret = button_press_handler(item, event, MarkerViewItem) ; break ; case GDK_BUTTON_RELEASE: @@ -355,8 +352,8 @@ Editor::canvas_markerview_start_handle_event (GdkEvent* event, ArdourCanvas::Ite case GDK_BUTTON_PRESS: case GDK_2BUTTON_PRESS: case GDK_3BUTTON_PRESS: - clicked_trackview = &mta->get_time_axis_view() ; - dynamic_cast(clicked_trackview)->get_view()->set_selected_time_axis_item(mta) ; + clicked_axisview = &mta->get_time_axis_view() ; + dynamic_cast(clicked_axisview)->get_view()->set_selected_time_axis_item(mta) ; ret = button_press_handler(item, event, MarkerViewHandleStartItem) ; break ; case GDK_BUTTON_RELEASE: @@ -386,8 +383,8 @@ Editor::canvas_markerview_end_handle_event (GdkEvent* event, ArdourCanvas::Item* case GDK_BUTTON_PRESS: case GDK_2BUTTON_PRESS: case GDK_3BUTTON_PRESS: - clicked_trackview = &mta->get_time_axis_view() ; - dynamic_cast(clicked_trackview)->get_view()->set_selected_time_axis_item(mta) ; + clicked_axisview = &mta->get_time_axis_view() ; + dynamic_cast(clicked_axisview)->get_view()->set_selected_time_axis_item(mta) ; ret = button_press_handler(item, event, MarkerViewHandleEndItem) ; break ; case GDK_BUTTON_RELEASE: @@ -425,7 +422,7 @@ Editor::canvas_markerview_end_handle_event (GdkEvent* event, ArdourCanvas::Item* void Editor::start_imageframe_grab(ArdourCanvas::Item* item, GdkEvent* event) { - ImageFrameView* ifv = ((ImageFrameTimeAxis*)clicked_trackview)->get_view()->get_selected_imageframe_view() ; + ImageFrameView* ifv = ((ImageFrameTimeAxis*)clicked_axisview)->get_view()->get_selected_imageframe_view() ; drag_info.copy = false ; drag_info.item = item ; drag_info.data = ifv ; @@ -433,7 +430,8 @@ Editor::start_imageframe_grab(ArdourCanvas::Item* item, GdkEvent* event) drag_info.finished_callback = &Editor::timeaxis_item_drag_finished_callback; drag_info.last_frame_position = ifv->get_position() ; - drag_info.last_trackview = &ifv->get_time_axis_view() ; + drag_info.source_trackview = &ifv->get_time_axis_view() ; + drag_info.dest_trackview = drag_info.source_trackview; /* this is subtle. raising the regionview itself won't help, because raise_to_top() just puts the item on the top of @@ -445,7 +443,7 @@ Editor::start_imageframe_grab(ArdourCanvas::Item* item, GdkEvent* event) */ drag_info.item->raise_to_top(); - drag_info.last_trackview->canvas_display->raise_to_top(); + drag_info.source_trackview->canvas_display->raise_to_top(); //time_line_group->raise_to_top(); cursor_group->raise_to_top (); @@ -458,7 +456,7 @@ Editor::start_imageframe_grab(ArdourCanvas::Item* item, GdkEvent* event) void Editor::start_markerview_grab(ArdourCanvas::Item* item, GdkEvent* event) { - MarkerView* mv = ((MarkerTimeAxis*)clicked_trackview)->get_view()->get_selected_time_axis_item() ; + MarkerView* mv = ((MarkerTimeAxis*)clicked_axisview)->get_view()->get_selected_time_axis_item() ; drag_info.copy = false ; drag_info.item = item ; drag_info.data = mv ; @@ -466,7 +464,8 @@ Editor::start_markerview_grab(ArdourCanvas::Item* item, GdkEvent* event) drag_info.finished_callback = &Editor::timeaxis_item_drag_finished_callback; drag_info.last_frame_position = mv->get_position() ; - drag_info.last_trackview = &mv->get_time_axis_view() ; + drag_info.source_trackview = &mv->get_time_axis_view() ; + drag_info.dest_trackview = drag_info.source_trackview; /* this is subtle. raising the regionview itself won't help, because raise_to_top() just puts the item on the top of @@ -478,7 +477,7 @@ Editor::start_markerview_grab(ArdourCanvas::Item* item, GdkEvent* event) */ drag_info.item->raise_to_top(); - drag_info.last_trackview->canvas_display->raise_to_top(); + drag_info.source_trackview->canvas_display->raise_to_top(); //time_line_group->raise_to_top(); cursor_group->raise_to_top (); @@ -494,14 +493,14 @@ Editor::markerview_drag_motion_callback(ArdourCanvas::Item*, GdkEvent* event) double cx, cy ; MarkerView* mv = reinterpret_cast(drag_info.data) ; - jack_nframes_t pending_region_position ; - jack_nframes_t pointer_frame ; + nframes64_t pending_region_position ; + nframes64_t pointer_frame ; pointer_frame = event_frame(event, &cx, &cy) ; snap_to(pointer_frame) ; - if (pointer_frame > (jack_nframes_t) drag_info.pointer_frame_offset) + if (pointer_frame > (nframes64_t) drag_info.pointer_frame_offset) { pending_region_position = pointer_frame - drag_info.pointer_frame_offset ; snap_to(pending_region_position) ; @@ -542,14 +541,14 @@ Editor::imageframe_drag_motion_callback(ArdourCanvas::Item*, GdkEvent* event) ImageFrameView* ifv = reinterpret_cast(drag_info.data) ; - jack_nframes_t pending_region_position; - jack_nframes_t pointer_frame; + nframes64_t pending_region_position; + nframes64_t pointer_frame; pointer_frame = event_frame(event, &cx, &cy) ; snap_to(pointer_frame) ; - if (pointer_frame > (jack_nframes_t) drag_info.pointer_frame_offset) + if (pointer_frame > (nframes64_t) drag_info.pointer_frame_offset) { pending_region_position = pointer_frame - drag_info.pointer_frame_offset ; snap_to(pending_region_position) ; @@ -577,7 +576,7 @@ Editor::imageframe_drag_motion_callback(ArdourCanvas::Item*, GdkEvent* event) void Editor::timeaxis_item_drag_finished_callback(ArdourCanvas::Item*, GdkEvent* event) { - jack_nframes_t where ; + nframes64_t where ; TimeAxisViewItem* tavi = reinterpret_cast(drag_info.data) ; bool item_x_movement = (drag_info.last_frame_position != tavi->get_position()) ; @@ -616,7 +615,7 @@ void Editor::imageframe_start_handle_op(ArdourCanvas::Item* item, GdkEvent* event) { // get the selected item from the parent time axis - ImageFrameTimeAxis* ifta = dynamic_cast(clicked_trackview) ; + ImageFrameTimeAxis* ifta = dynamic_cast(clicked_axisview) ; if(ifta) { ImageFrameView* ifv = ifta->get_view()->get_selected_imageframe_view() ; @@ -644,7 +643,7 @@ void Editor::imageframe_end_handle_op(ArdourCanvas::Item* item, GdkEvent* event) { // get the selected item from the parent time axis - ImageFrameTimeAxis* ifta = dynamic_cast(clicked_trackview) ; + ImageFrameTimeAxis* ifta = dynamic_cast(clicked_axisview) ; if(ifta) { @@ -675,9 +674,9 @@ Editor::imageframe_start_handle_trim_motion(ArdourCanvas::Item* item, GdkEvent* { ImageFrameView* ifv = reinterpret_cast (drag_info.data) ; - jack_nframes_t start = 0 ; - jack_nframes_t end = 0 ; - jack_nframes_t pointer_frame = event_frame(event) ; + nframes64_t start = 0 ; + nframes64_t end = 0 ; + nframes64_t pointer_frame = event_frame(event) ; // chekc th eposition of the item is not locked if(!ifv->get_position_locked()) { @@ -694,7 +693,7 @@ Editor::imageframe_start_handle_trim_motion(ArdourCanvas::Item* item, GdkEvent* } // are we getting bigger or smaller? - jack_nframes_t new_dur_val = end - start ; + nframes64_t new_dur_val = end - start ; // start handle, so a smaller pointer frame increases our component size if(pointer_frame <= drag_info.grab_frame) @@ -752,10 +751,10 @@ Editor::imageframe_start_handle_end_trim(ArdourCanvas::Item* item, GdkEvent* eve } else { - jack_nframes_t temp = ifv->get_position() + ifv->get_duration() ; + nframes64_t temp = ifv->get_position() + ifv->get_duration() ; - ifv->set_position((jack_nframes_t) (temp - drag_info.cumulative_x_drag), this) ; - ifv->set_duration((jack_nframes_t) drag_info.cumulative_x_drag, this) ; + ifv->set_position((nframes64_t) (temp - drag_info.cumulative_x_drag), this) ; + ifv->set_duration((nframes64_t) drag_info.cumulative_x_drag, this) ; } } @@ -764,10 +763,10 @@ Editor::imageframe_end_handle_trim_motion(ArdourCanvas::Item* item, GdkEvent* ev { ImageFrameView* ifv = reinterpret_cast (drag_info.data) ; - jack_nframes_t start = 0 ; - jack_nframes_t end = 0 ; - jack_nframes_t pointer_frame = event_frame(event) ; - jack_nframes_t new_dur_val = 0 ; + nframes64_t start = 0 ; + nframes64_t end = 0 ; + nframes64_t pointer_frame = event_frame(event) ; + nframes64_t new_dur_val = 0 ; snap_to(pointer_frame) ; @@ -829,7 +828,7 @@ Editor::imageframe_end_handle_end_trim (ArdourCanvas::Item* item, GdkEvent* even } else { - jack_nframes_t new_duration = (jack_nframes_t)drag_info.cumulative_x_drag ; + nframes64_t new_duration = (nframes64_t)drag_info.cumulative_x_drag ; if((new_duration <= ifv->get_max_duration()) && (new_duration >= ifv->get_min_duration())) { ifv->set_duration(new_duration, this) ; @@ -841,7 +840,7 @@ Editor::imageframe_end_handle_end_trim (ArdourCanvas::Item* item, GdkEvent* even void Editor::markerview_item_start_handle_op(ArdourCanvas::Item* item, GdkEvent* event) { - MarkerView* mv = reinterpret_cast(clicked_trackview)->get_view()->get_selected_time_axis_item() ; + MarkerView* mv = reinterpret_cast(clicked_axisview)->get_view()->get_selected_time_axis_item() ; if (mv == 0) { @@ -864,7 +863,7 @@ Editor::markerview_item_start_handle_op(ArdourCanvas::Item* item, GdkEvent* even void Editor::markerview_item_end_handle_op(ArdourCanvas::Item* item, GdkEvent* event) { - MarkerView* mv = reinterpret_cast(clicked_trackview)->get_view()->get_selected_time_axis_item() ; + MarkerView* mv = reinterpret_cast(clicked_axisview)->get_view()->get_selected_time_axis_item() ; if (mv == 0) { fatal << _("programming error: no MarkerView selected") << endmsg ; @@ -889,9 +888,9 @@ Editor::markerview_start_handle_trim_motion(ArdourCanvas::Item* item, GdkEvent* { MarkerView* mv = reinterpret_cast (drag_info.data) ; - jack_nframes_t start = 0 ; - jack_nframes_t end = 0 ; - jack_nframes_t pointer_frame = event_frame(event) ; + nframes64_t start = 0 ; + nframes64_t end = 0 ; + nframes64_t pointer_frame = event_frame(event) ; // chekc th eposition of the item is not locked if(!mv->get_position_locked()) @@ -912,7 +911,7 @@ Editor::markerview_start_handle_trim_motion(ArdourCanvas::Item* item, GdkEvent* } // are we getting bigger or smaller? - jack_nframes_t new_dur_val = end - start ; + nframes64_t new_dur_val = end - start ; if(pointer_frame <= drag_info.grab_frame) { @@ -969,10 +968,10 @@ Editor::markerview_start_handle_end_trim(ArdourCanvas::Item* item, GdkEvent* eve } else { - jack_nframes_t temp = mv->get_position() + mv->get_duration() ; + nframes64_t temp = mv->get_position() + mv->get_duration() ; - mv->set_position((jack_nframes_t) (temp - drag_info.cumulative_x_drag), this) ; - mv->set_duration((jack_nframes_t) drag_info.cumulative_x_drag, this) ; + mv->set_position((nframes64_t) (temp - drag_info.cumulative_x_drag), this) ; + mv->set_duration((nframes64_t) drag_info.cumulative_x_drag, this) ; } } @@ -981,10 +980,10 @@ Editor::markerview_end_handle_trim_motion(ArdourCanvas::Item* item, GdkEvent* ev { MarkerView* mv = reinterpret_cast (drag_info.data) ; - jack_nframes_t start = 0 ; - jack_nframes_t end = 0 ; - jack_nframes_t pointer_frame = event_frame(event) ; - jack_nframes_t new_dur_val = 0 ; + nframes64_t start = 0 ; + nframes64_t end = 0 ; + nframes64_t pointer_frame = event_frame(event) ; + nframes64_t new_dur_val = 0 ; snap_to(pointer_frame) ; @@ -1009,7 +1008,7 @@ Editor::markerview_end_handle_trim_motion(ArdourCanvas::Item* item, GdkEvent* ev { // we cant extend beyond the item we are marking ImageFrameView* marked_item = mv->get_marked_item() ; - jack_nframes_t marked_end = marked_item->get_position() + marked_item->get_duration() ; + nframes64_t marked_end = marked_item->get_position() + marked_item->get_duration() ; if(mv->get_max_duration_active() && (new_dur_val > mv->get_max_duration())) { @@ -1063,7 +1062,7 @@ Editor::markerview_end_handle_end_trim (ArdourCanvas::Item* item, GdkEvent* even } else { - jack_nframes_t new_duration = (jack_nframes_t)drag_info.cumulative_x_drag ; + nframes64_t new_duration = (nframes64_t)drag_info.cumulative_x_drag ; mv->set_duration(new_duration, this) ; } } @@ -1083,7 +1082,7 @@ void Editor::handle_new_imageframe_time_axis_view(const string & track_name, void* src) { ImageFrameTimeAxis* iftav ; - iftav = new ImageFrameTimeAxis(track_name, *this, *session, track_canvas) ; + iftav = new ImageFrameTimeAxis(track_name, *this, *session, *track_canvas) ; iftav->set_time_axis_name(track_name, this) ; track_views.push_back(iftav) ; @@ -1100,7 +1099,7 @@ Editor::handle_new_imageframe_time_axis_view(const string & track_name, void* sr void Editor::handle_new_imageframe_marker_time_axis_view(const string & track_name, TimeAxisView* marked_track) { - MarkerTimeAxis* mta = new MarkerTimeAxis (*this, *this->current_session(), track_canvas, track_name, marked_track) ; + MarkerTimeAxis* mta = new MarkerTimeAxis (*this, *this->current_session(), *track_canvas, track_name, marked_track) ; ((ImageFrameTimeAxis*)marked_track)->add_marker_time_axis(mta, this) ; track_views.push_back(mta) ;