remove CMT code - has not been used for years, and will become irrelevant with VTL...
authorPaul Davis <paul@linuxaudiosystems.com>
Thu, 2 May 2013 16:21:41 +0000 (12:21 -0400)
committerPaul Davis <paul@linuxaudiosystems.com>
Thu, 2 May 2013 16:21:41 +0000 (12:21 -0400)
gtk2_ardour/ardour_ui_ed.cc
gtk2_ardour/editor.cc
gtk2_ardour/editor.h
gtk2_ardour/editor_imageframe.cc [deleted file]
gtk2_ardour/editor_mouse.cc
gtk2_ardour/public_editor.h

index 66335bb55bc5b0603f62eba96096d078e441e9c4..3d3dacd868c6767d073069a3714fa4870ddd0795 100644 (file)
@@ -142,17 +142,6 @@ ARDOUR_UI::install_actions ()
                                              sigc::mem_fun (*editor, &PublicEditor::export_video));
        ActionManager::session_sensitive_actions.push_back (act);
 
-#ifdef WITH_CMT
-
-       std::string anicomp_file_path;
-
-       if (PBD::find_file_in_search_path (Glib::getenv("PATH"), "AniComp", anicomp_file_path)) {
-               act = ActionManager::register_action (main_actions, X_("aniConnect"), _("Connect"),  (sigc::mem_fun (*editor, &PublicEditor::connect_to_image_compositor)));
-               ActionManager::session_sensitive_actions.push_back (act);
-       }
-
-#endif
-
        act = ActionManager::register_action (main_actions, X_("Snapshot"), _("Snapshot..."), sigc::bind (sigc::mem_fun(*this, &ARDOUR_UI::snapshot_session), false));
        ActionManager::session_sensitive_actions.push_back (act);
        ActionManager::write_sensitive_actions.push_back (act);
index 280f401fdf8a2e24a119aecf33206c87b0dd95d2..95abd4b087a0e256c12add43fa955de806d854ca 100644 (file)
 
 #include "i18n.h"
 
-#ifdef WITH_CMT
-#include "imageframe_socket_handler.h"
-#endif
-
 using namespace std;
 using namespace ARDOUR;
 using namespace PBD;
@@ -266,10 +262,6 @@ Editor::Editor ()
 
        , _toolbar_viewport (*manage (new Gtk::Adjustment (0, 0, 1e10)), *manage (new Gtk::Adjustment (0, 0, 1e10)))
 
-#ifdef WITH_CMT
-       , image_socket_listener(0)
-#endif
-
          /* nudge */
 
        , nudge_clock (new AudioClock (X_("nudge"), false, X_("nudge"), true, false, true))
@@ -767,18 +759,6 @@ Editor::Editor ()
 
 Editor::~Editor()
 {
-#ifdef WITH_CMT
-       if(image_socket_listener) {
-               if(image_socket_listener->is_connected())
-               {
-                       image_socket_listener->close_connection() ;
-               }
-
-               delete image_socket_listener ;
-               image_socket_listener = 0 ;
-       }
-#endif
-
         delete button_bindings;
        delete _routes;
        delete _route_groups;
index 1c246a3f3b86b2c9530573ab8cc8643204c6baf3..2a58a09d41db3d50e20ba1c7b6e803a8626f5560 100644 (file)
@@ -137,16 +137,6 @@ class EditorCursor;
 class MouseCursors;
 class VerboseCursor;
 
-/* <CMT Additions> */
-class ImageFrameView;
-class ImageFrameTimeAxisView;
-class ImageFrameTimeAxis;
-class MarkerTimeAxis ;
-class MarkerView ;
-class ImageFrameSocketHandler ;
-class TimeAxisViewItem ;
-/* </CMT Additions> */
-
 class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARDOUR::SessionHandlePtr, public Gtkmm2ext::VisibilityTracker
 {
   public:
diff --git a/gtk2_ardour/editor_imageframe.cc b/gtk2_ardour/editor_imageframe.cc
deleted file mode 100644 (file)
index f4c8f1b..0000000
+++ /dev/null
@@ -1,1114 +0,0 @@
-/*
-    Copyright (C) 2000-2003 Paul Davis
-    Written by Colin Law, CMT, Glasgow
-
-    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 "imageframe_view.h"
-#include "imageframe_time_axis.h"
-#include "imageframe_time_axis_view.h"
-#include "imageframe_time_axis_group.h"
-#include "marker_time_axis_view.h"
-#include "marker_time_axis.h"
-#include "marker_view.h"
-#include "editor.h"
-#include "i18n.h"
-#include "canvas_impl.h"
-
-#include <gtkmm2ext/gtk_ui.h>
-#include "pbd/error.h"
-
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <unistd.h>
-#include <arpa/inet.h>
-
-#include "imageframe_socket_handler.h"
-#include "ardour_image_compositor_socket.h"
-#include "public_editor.h"
-#include "gui_thread.h"
-
-using namespace Gtk;
-using namespace PBD;
-using namespace std;
-
-TimeAxisView*
-Editor::get_named_time_axis(const string & name)
-{
-       TimeAxisView* tav = 0 ;
-
-       for (TrackViewList::const_iterator i = track_views.begin(); i != track_views.end(); ++i)
-       {
-               if (((TimeAxisView*)*i)->name() == name)
-               {
-                       tav = ((TimeAxisView*)*i) ;
-                       break ;
-               }
-       }
-       return(tav) ;
-}
-
-/* <CMT Additions file="editor.cc"> */
-
-void
-Editor::add_imageframe_time_axis(const string & track_name, void* src)
-{
-       // check for duplicate name
-       if(get_named_time_axis(track_name))
-       {
-               warning << "Repeated time axis name" << std::endl ;
-       }
-       else
-       {
-               Gtkmm2ext::UI::instance()->call_slot (boost::bind (&Editor::handle_new_imageframe_time_axis_view, this,track_name, src));
-       }
-}
-
-void
-Editor::connect_to_image_compositor()
-{
-       if(image_socket_listener == 0)
-       {
-               image_socket_listener = ImageFrameSocketHandler::create_instance(*this) ;
-       }
-
-       if(image_socket_listener->is_connected() == true)
-       {
-               return ;
-       }
-
-       // XXX should really put this somewhere safe
-       const char * host_ip = "127.0.0.1" ;
-
-       bool retcode = image_socket_listener->connect(host_ip, ardourvis::DEFAULT_PORT) ;
-
-       if(retcode == false)
-       {
-               // XXX need to get some return status here
-               warning << "Image Compositor Connection attempt failed" << std::endl ;
-               return ;
-       }
-
-       // add the socket to the gui loop, and keep the retuned tag value of the input
-       gint tag = gdk_input_add(image_socket_listener->get_socket_descriptor(), GDK_INPUT_READ,ImageFrameSocketHandler::image_socket_callback,image_socket_listener) ;
-       image_socket_listener->set_gdk_input_tag(tag) ;
-}
-
-void
-Editor::scroll_timeaxis_to_imageframe_item(const TimeAxisViewItem* item)
-{
-       // GTK2FIX
-       //framepos_t offset = static_cast<framepos_t>(frames_per_unit * (edit_hscroll_slider_width/2)) ;
-       framepos_t offset = 0;
-
-       framepos_t x_pos = 0 ;
-
-       if (item->get_position() < offset) {
-               x_pos = 0 ;
-       } else {
-               x_pos = item->get_position() - offset + (item->get_duration() / 2);
-       }
-
-       reset_x_origin (x_pos);
-}
-
-void
-Editor::add_imageframe_marker_time_axis(const string & track_name, TimeAxisView* marked_track, void* src)
-{
-       // Can we only sigc::bind 2 data Items?
-       // @todo we really want to sigc::bind the src attribute too, for the moment tracks can only be added remotely,
-       //       so this is not too much of an issue, however will need to be looked at again
-       Gtkmm2ext::UI::instance()->call_slot (boost::bind (&Editor::handle_new_imageframe_marker_time_axis_view, this, track_name, marked_track));
-}
-
-void
-Editor::popup_imageframe_edit_menu(int button, int32_t time, ArdourCanvas::Item* ifv, bool with_item)
-{
-       ImageFrameTimeAxis* ifta = dynamic_cast<ImageFrameTimeAxis*>(clicked_axisview) ;
-
-       if(ifta)
-       {
-               ImageFrameTimeAxisGroup* iftag = ifta->get_view()->get_selected_imageframe_group() ;
-
-               if(iftag)
-               {
-                       ImageFrameView* selected_ifv = ifta->get_view()->get_selected_imageframe_view() ;
-                       ifta->popup_imageframe_edit_menu(button, time, selected_ifv, with_item) ;
-               }
-       }
-}
-
-void
-Editor::popup_marker_time_axis_edit_menu(int button, int32_t time, ArdourCanvas::Item* ifv, bool with_item)
-{
-       MarkerTimeAxis* mta = dynamic_cast<MarkerTimeAxis*>(clicked_axisview) ;
-
-       if(mta)
-       {
-               MarkerView* selected_mv = mta->get_view()->get_selected_time_axis_item() ;
-               if(selected_mv)
-               {
-                       mta->popup_marker_time_axis_edit_menu(button,time, selected_mv, with_item) ;
-               }
-       }
-}
-/* </CMT Additions file="editor.cc"> */
-
-/* <CMT Additions file="editor_canvas_events.cc"> */
-bool
-Editor::canvas_imageframe_item_view_event (GdkEvent *event, ArdourCanvas::Item* item, ImageFrameView *ifv)
-{
-       gint ret = FALSE ;
-       ImageFrameTimeAxisGroup* iftag = 0 ;
-
-       switch (event->type)
-       {
-               case GDK_BUTTON_PRESS:
-               case GDK_2BUTTON_PRESS:
-               case GDK_3BUTTON_PRESS:
-                       clicked_axisview = &ifv->get_time_axis_view();
-                       iftag = ifv->get_time_axis_group() ;
-                       dynamic_cast<ImageFrameTimeAxis*>(clicked_axisview)->get_view()->set_selected_imageframe_view(iftag, ifv);
-                       ret = button_press_handler (item, event, ImageFrameItem) ;
-                       break ;
-               case GDK_BUTTON_RELEASE:
-                       ret = button_release_handler (item, event, ImageFrameItem) ;
-                       break ;
-               case GDK_MOTION_NOTIFY:
-                       ret = motion_handler (item, event, ImageFrameItem) ;
-                       break ;
-               default:
-                       break ;
-       }
-       return(ret) ;
-}
-
-bool
-Editor::canvas_imageframe_start_handle_event (GdkEvent *event, ArdourCanvas::Item* item, ImageFrameView *ifv)
-{
-       gint ret = FALSE ;
-       ImageFrameTimeAxisGroup* iftag = 0 ;
-
-       switch (event->type)
-       {
-               case GDK_BUTTON_PRESS:
-               case GDK_2BUTTON_PRESS:
-               case GDK_3BUTTON_PRESS:
-                       clicked_axisview = &ifv->get_time_axis_view() ;
-                       iftag = ifv->get_time_axis_group() ;
-                       dynamic_cast<ImageFrameTimeAxis*>(clicked_axisview)->get_view()->set_selected_imageframe_view(iftag, ifv);
-
-                       ret = button_press_handler (item, event, ImageFrameHandleStartItem) ;
-                       break ;
-               case GDK_BUTTON_RELEASE:
-                       ret = button_release_handler (item, event, ImageFrameHandleStartItem) ;
-                       break;
-               case GDK_MOTION_NOTIFY:
-                       ret = motion_handler (item, event, ImageFrameHandleStartItem) ;
-                       break ;
-               case GDK_ENTER_NOTIFY:
-                       ret = enter_handler (item, event, ImageFrameHandleStartItem) ;
-                       break ;
-               case GDK_LEAVE_NOTIFY:
-                       ret = leave_handler (item, event, ImageFrameHandleStartItem) ;
-                       break ;
-               default:
-                       break ;
-       }
-       return(ret) ;
-}
-
-bool
-Editor::canvas_imageframe_end_handle_event (GdkEvent *event, ArdourCanvas::Item* item, ImageFrameView *ifv)
-{
-       gint ret = FALSE ;
-       ImageFrameTimeAxisGroup* iftag = 0 ;
-
-       switch (event->type)
-       {
-               case GDK_BUTTON_PRESS:
-               case GDK_2BUTTON_PRESS:
-               case GDK_3BUTTON_PRESS:
-                       clicked_axisview = &ifv->get_time_axis_view() ;
-                       iftag = ifv->get_time_axis_group() ;
-                       dynamic_cast<ImageFrameTimeAxis*>(clicked_axisview)->get_view()->set_selected_imageframe_view(iftag, ifv);
-
-                       ret = button_press_handler (item, event, ImageFrameHandleEndItem) ;
-                       break ;
-               case GDK_BUTTON_RELEASE:
-                       ret = button_release_handler (item, event, ImageFrameHandleEndItem) ;
-                       break ;
-               case GDK_MOTION_NOTIFY:
-                       ret = motion_handler (item, event, ImageFrameHandleEndItem) ;
-                       break ;
-               case GDK_ENTER_NOTIFY:
-                       ret = enter_handler (item, event, ImageFrameHandleEndItem) ;
-                       break ;
-               case GDK_LEAVE_NOTIFY:
-                       ret = leave_handler (item, event, ImageFrameHandleEndItem);
-                       break ;
-               default:
-                       break ;
-       }
-       return(ret) ;
-}
-
-bool
-Editor::canvas_imageframe_view_event (GdkEvent* event, ArdourCanvas::Item* item, ImageFrameTimeAxis* ifta)
-{
-       gint ret = FALSE ;
-       switch (event->type)
-       {
-               case GDK_BUTTON_PRESS:
-               case GDK_2BUTTON_PRESS:
-               case GDK_3BUTTON_PRESS:
-                       clicked_axisview = ifta ;
-                       ret = button_press_handler (item, event, ImageFrameTimeAxisItem) ;
-                       break ;
-               case GDK_BUTTON_RELEASE:
-                       ret = button_release_handler (item, event, ImageFrameTimeAxisItem) ;
-                       break ;
-               case GDK_MOTION_NOTIFY:
-                       break ;
-               default:
-                       break ;
-       }
-       return(ret) ;
-}
-
-bool
-Editor::canvas_marker_time_axis_view_event (GdkEvent* event, ArdourCanvas::Item* item, MarkerTimeAxis* mta)
-{
-       gint ret = FALSE ;
-       switch (event->type)
-       {
-               case GDK_BUTTON_PRESS:
-               case GDK_2BUTTON_PRESS:
-               case GDK_3BUTTON_PRESS:
-                       clicked_axisview = mta ;
-                       ret = button_press_handler(item, event, MarkerTimeAxisItem) ;
-                       break ;
-               case GDK_BUTTON_RELEASE:
-                       ret = button_release_handler(item, event, MarkerTimeAxisItem) ;
-                       break ;
-               case GDK_MOTION_NOTIFY:
-               default:
-                       break ;
-       }
-       return(ret) ;
-}
-
-
-bool
-Editor::canvas_markerview_item_view_event (GdkEvent* event, ArdourCanvas::Item* item, MarkerView* mta)
-{
-       gint ret = FALSE ;
-       switch (event->type)
-       {
-               case GDK_BUTTON_PRESS:
-               case GDK_2BUTTON_PRESS:
-               case GDK_3BUTTON_PRESS:
-                       clicked_axisview = &mta->get_time_axis_view() ;
-                       dynamic_cast<MarkerTimeAxis*>(clicked_axisview)->get_view()->set_selected_time_axis_item(mta);
-                       ret = button_press_handler(item, event, MarkerViewItem) ;
-                       break ;
-               case GDK_BUTTON_RELEASE:
-                       ret = button_release_handler(item, event, MarkerViewItem) ;
-                       break ;
-               case GDK_MOTION_NOTIFY:
-                       ret = motion_handler(item, event, MarkerViewItem) ;
-                       break ;
-               default:
-                       break ;
-       }
-       return(ret) ;
-}
-
-bool
-Editor::canvas_markerview_start_handle_event (GdkEvent* event, ArdourCanvas::Item* item, MarkerView* mta)
-{
-       gint ret = FALSE ;
-       switch (event->type)
-       {
-               case GDK_BUTTON_PRESS:
-               case GDK_2BUTTON_PRESS:
-               case GDK_3BUTTON_PRESS:
-                       clicked_axisview = &mta->get_time_axis_view() ;
-                       dynamic_cast<MarkerTimeAxis*>(clicked_axisview)->get_view()->set_selected_time_axis_item(mta) ;
-                       ret = button_press_handler(item, event, MarkerViewHandleStartItem) ;
-                       break ;
-               case GDK_BUTTON_RELEASE:
-                       ret = button_release_handler(item, event, MarkerViewHandleStartItem) ;
-                       break ;
-               case GDK_MOTION_NOTIFY:
-                       ret = motion_handler(item, event, MarkerViewHandleStartItem) ;
-                       break ;
-               case GDK_ENTER_NOTIFY:
-                       ret = enter_handler(item, event, MarkerViewHandleStartItem) ;
-                       break ;
-               case GDK_LEAVE_NOTIFY:
-                       ret = leave_handler(item, event, MarkerViewHandleStartItem) ;
-                       break ;
-               default:
-                       break ;
-       }
-       return(ret) ;
-}
-
-bool
-Editor::canvas_markerview_end_handle_event (GdkEvent* event, ArdourCanvas::Item* item, MarkerView* mta)
-{
-       gint ret = FALSE ;
-       switch (event->type)
-       {
-               case GDK_BUTTON_PRESS:
-               case GDK_2BUTTON_PRESS:
-               case GDK_3BUTTON_PRESS:
-                       clicked_axisview = &mta->get_time_axis_view() ;
-                       dynamic_cast<MarkerTimeAxis*>(clicked_axisview)->get_view()->set_selected_time_axis_item(mta) ;
-                       ret = button_press_handler(item, event, MarkerViewHandleEndItem) ;
-                       break ;
-               case GDK_BUTTON_RELEASE:
-                       ret = button_release_handler(item, event, MarkerViewHandleEndItem) ;
-                       break ;
-               case GDK_MOTION_NOTIFY:
-                       ret = motion_handler(item, event, MarkerViewHandleEndItem) ;
-                       break ;
-               case GDK_ENTER_NOTIFY:
-                       ret = enter_handler(item, event, MarkerViewHandleEndItem) ;
-                       break ;
-               case GDK_LEAVE_NOTIFY:
-                       ret = leave_handler(item, event, MarkerViewHandleEndItem) ;
-                       break ;
-               default:
-                       break ;
-       }
-       return(ret) ;
-}
-
-
-/* </CMT Additions file="editor_canvas_events.cc"> */
-
-
-/*
-       ---------------------------------------------------------------------------------------------------
-       ---------------------------------------------------------------------------------------------------
-       ---------------------------------------------------------------------------------------------------
-*/
-
-
-
-/* <CMT Additions file="editor_mouse.cc"> */
-
-void
-Editor::start_imageframe_grab(ArdourCanvas::Item* item, GdkEvent* event)
-{
-       ImageFrameView* ifv = ((ImageFrameTimeAxis*)clicked_axisview)->get_view()->get_selected_imageframe_view() ;
-       drag_info.copy = false ;
-       drag_info.item = item ;
-       drag_info.data = ifv ;
-       drag_info.motion_callback = &Editor::imageframe_drag_motion_callback;
-       drag_info.finished_callback = &Editor::timeaxis_item_drag_finished_callback;
-       drag_info.last_frame_position = ifv->get_position() ;
-
-       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
-          its parent's stack. so, we need to put the trackview canvas_display group
-          on the top, since its parent is the whole canvas.
-
-          however, this hides the measure bars within that particular trackview,
-          so move them to the top afterwards.
-       */
-
-       drag_info.item->raise_to_top();
-       drag_info.source_trackview->canvas_display->raise_to_top();
-       //time_line_group->raise_to_top();
-       cursor_group->raise_to_top ();
-
-       start_grab(event) ;
-
-       drag_info.pointer_frame_offset = pixel_to_frame(drag_info.grab_x) - drag_info.last_frame_position;
-}
-
-
-void
-Editor::start_markerview_grab(ArdourCanvas::Item* item, GdkEvent* event)
-{
-       MarkerView* mv = ((MarkerTimeAxis*)clicked_axisview)->get_view()->get_selected_time_axis_item() ;
-       drag_info.copy = false ;
-       drag_info.item = item ;
-       drag_info.data = mv ;
-       drag_info.motion_callback = &Editor::markerview_drag_motion_callback;
-       drag_info.finished_callback = &Editor::timeaxis_item_drag_finished_callback;
-       drag_info.last_frame_position = mv->get_position() ;
-
-       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
-          its parent's stack. so, we need to put the trackview canvas_display group
-          on the top, since its parent is the whole canvas.
-
-          however, this hides the measure bars within that particular trackview,
-          so move them to the top afterwards.
-       */
-
-       drag_info.item->raise_to_top();
-       drag_info.source_trackview->canvas_display->raise_to_top();
-       //time_line_group->raise_to_top();
-       cursor_group->raise_to_top ();
-
-       start_grab(event) ;
-
-       drag_info.pointer_frame_offset = pixel_to_frame(drag_info.grab_x) - drag_info.last_frame_position ;
-}
-
-
-void
-Editor::markerview_drag_motion_callback(ArdourCanvas::Item*, GdkEvent* event)
-{
-       double cx, cy ;
-
-       MarkerView* mv = reinterpret_cast<MarkerView*>(drag_info.data) ;
-       framepos_t pending_region_position ;
-       framepos_t pointer_frame ;
-
-       pointer_frame = event_frame(event, &cx, &cy) ;
-
-       snap_to(pointer_frame) ;
-
-       if (pointer_frame > (framepos_t) drag_info.pointer_frame_offset)
-       {
-               pending_region_position = pointer_frame - drag_info.pointer_frame_offset ;
-               snap_to(pending_region_position) ;
-
-               // we dont allow marker items to extend beyond, or in front of the marked items so
-               // cap the value to the marked items position and duration
-               if((pending_region_position + mv->get_duration()) >= ((mv->get_marked_item()->get_position()) + (mv->get_marked_item()->get_duration())))
-               {
-                       pending_region_position = (mv->get_marked_item()->get_position() + mv->get_marked_item()->get_duration()) - (mv->get_duration()) ;
-               }
-               else if(pending_region_position <= mv->get_marked_item()->get_position())
-               {
-                       pending_region_position = mv->get_marked_item()->get_position() ;
-               }
-       }
-       else
-       {
-               pending_region_position = mv->get_marked_item()->get_position() ;
-       }
-
-       drag_info.last_frame_position = pending_region_position ;
-
-       // we treat this as a special case, usually we want to send the identitiy of the caller
-       // but in this case, that would trigger our socket handler to handle the event, sending
-       // notification to the image compositor. This would be fine, except that we have not
-       // finished the drag, we therefore do not want to sent notification until we have
-       // completed the drag, only then do we want the image compositor notofied.
-       // We therefore set the caller identity to the special case of 0
-       mv->set_position(pending_region_position, 0) ;
-
-       show_verbose_time_cursor(pending_region_position) ;
-}
-
-void
-Editor::imageframe_drag_motion_callback(ArdourCanvas::Item*, GdkEvent* event)
-{
-       double cx, cy ;
-
-       ImageFrameView* ifv = reinterpret_cast<ImageFrameView*>(drag_info.data) ;
-
-       framepos_t pending_region_position;
-       framepos_t pointer_frame;
-
-       pointer_frame = event_frame(event, &cx, &cy) ;
-
-       snap_to(pointer_frame) ;
-
-       if (pointer_frame > (framepos_t) drag_info.pointer_frame_offset)
-       {
-               pending_region_position = pointer_frame - drag_info.pointer_frame_offset ;
-               snap_to(pending_region_position) ;
-       }
-       else
-       {
-               pending_region_position = 0 ;
-       }
-
-       drag_info.grab_x = cx;
-       //drag_info.last_frame_position = pending_region_position ;
-       drag_info.current_pointer_frame = pending_region_position ;
-
-       // we treat this as a special case, usually we want to send the identitiy of the caller
-       // but in this case, that would trigger our socket handler to handle the event, sending
-       // notification to the image compositor. This would be fine, except that we have not
-       // finished the drag, we therefore do not want to sent notification until we have
-       // completed the drag, only then do we want the image compositor notofied.
-       // We therefore set the caller identity to the special case of 0
-       ifv->set_position(pending_region_position, 0) ;
-
-       show_verbose_time_cursor(pending_region_position) ;
-}
-
-void
-Editor::timeaxis_item_drag_finished_callback(ArdourCanvas::Item*, GdkEvent* event)
-{
-       framepos_t where ;
-       TimeAxisViewItem* tavi = reinterpret_cast<TimeAxisViewItem*>(drag_info.data) ;
-
-       bool item_x_movement = (drag_info.last_frame_position != tavi->get_position()) ;
-
-       hide_verbose_canvas_cursor() ;
-
-       /* no x or y movement either means the regionview hasn't been moved, or has been moved
-          but is back in it's original position/trackview.*/
-
-       if(!item_x_movement && event && event->type == GDK_BUTTON_RELEASE)
-       {
-               /* No motion: either set the current region, or align the clicked region
-                  with the current one.
-                */
-                return;
-       }
-
-       if(item_x_movement)
-       {
-               /* base the new region position on the current position of the regionview.*/
-               where = drag_info.current_pointer_frame ;
-
-               // final call to set position after the motion to tell interested parties of the new position
-               tavi->set_position(where, this) ;
-       }
-       else
-       {
-               //where = tavi->get_position() ;
-       }
-
-/*
-       //locate so user can audition the edit
-       if ( !session->transport_rolling() && Config->get_always_play_range()) {
-               locate_with_edit_preroll ( arv->region()->position() );
-       }
-*/
-}
-
-
-void
-Editor::imageframe_start_handle_op(ArdourCanvas::Item* item, GdkEvent* event)
-{
-       // get the selected item from the parent time axis
-       ImageFrameTimeAxis* ifta = dynamic_cast<ImageFrameTimeAxis*>(clicked_axisview) ;
-       if(ifta)
-       {
-               ImageFrameView* ifv = ifta->get_view()->get_selected_imageframe_view() ;
-
-               if (ifv == 0) {
-                       fatal << _("programming error: no ImageFrameView selected") << endmsg;
-                       /*NOTREACHED*/
-                       return ;
-               }
-
-               drag_info.item = ifv->get_canvas_frame() ;
-               drag_info.data = ifv;
-               drag_info.grab_x = event->motion.x;
-               drag_info.cumulative_x_drag = 0;
-               drag_info.motion_callback = &Editor::imageframe_start_handle_trim_motion ;
-               drag_info.finished_callback = &Editor::imageframe_start_handle_end_trim ;
-
-               start_grab(event) ;
-
-               show_verbose_time_cursor(ifv->get_position(), 10) ;
-       }
-}
-
-void
-Editor::imageframe_end_handle_op(ArdourCanvas::Item* item, GdkEvent* event)
-{
-       // get the selected item from the parent time axis
-       ImageFrameTimeAxis* ifta = dynamic_cast<ImageFrameTimeAxis*>(clicked_axisview) ;
-
-       if(ifta)
-       {
-               ImageFrameView* ifv = ifta->get_view()->get_selected_imageframe_view() ;
-
-               if (ifv == 0)
-               {
-                       fatal << _("programming error: no ImageFrameView selected") << endmsg ;
-                       /*NOTREACHED*/
-                       return ;
-               }
-
-               drag_info.item = ifv->get_canvas_frame() ;
-               drag_info.data = ifv ;
-               drag_info.grab_x = event->motion.x ;
-               drag_info.cumulative_x_drag = 0 ;
-               drag_info.motion_callback = &Editor::imageframe_end_handle_trim_motion ;
-               drag_info.finished_callback = &Editor::imageframe_end_handle_end_trim ;
-
-               start_grab(event, trimmer_cursor) ;
-
-               show_verbose_time_cursor(ifv->get_position() + ifv->get_duration(), 10) ;
-       }
-}
-
-void
-Editor::imageframe_start_handle_trim_motion(ArdourCanvas::Item* item, GdkEvent* event)
-{
-       ImageFrameView* ifv = reinterpret_cast<ImageFrameView*> (drag_info.data) ;
-
-       framepos_t start = 0 ;
-       framepos_t end = 0 ;
-       framepos_t pointer_frame = event_frame(event) ;
-
-       // chekc th eposition of the item is not locked
-       if(!ifv->get_position_locked()) {
-               snap_to(pointer_frame) ;
-
-               if(pointer_frame != drag_info.last_pointer_frame) {
-                       start = ifv->get_position() ;
-                       end = ifv->get_position() + ifv->get_duration() ;
-
-                       if (pointer_frame > end) {
-                               start = end ;
-                       } else {
-                               start = pointer_frame ;
-                       }
-
-                       // are we getting bigger or smaller?
-                       framepos_t new_dur_val = end - start ;
-
-                       // start handle, so a smaller pointer frame increases our component size
-                       if(pointer_frame <= drag_info.grab_frame)
-                       {
-                               if(ifv->get_max_duration_active() && (new_dur_val > ifv->get_max_duration()))
-                               {
-                                       new_dur_val = ifv->get_max_duration() ;
-                                       start = end - new_dur_val ;
-                               }
-                               else
-                               {
-                                       // current values are ok
-                               }
-                       }
-                       else
-                       {
-                               if(ifv->get_min_duration_active() && (new_dur_val < ifv->get_min_duration()))
-                               {
-                                       new_dur_val = ifv->get_min_duration() ;
-                                       start = end - new_dur_val ;
-                               }
-                               else
-                               {
-                                       // current values are ok
-                               }
-                       }
-
-                       drag_info.last_pointer_frame = pointer_frame ;
-
-                       /* re-calculatethe duration and position of the imageframeview */
-                       drag_info.cumulative_x_drag = new_dur_val ;
-
-                       // we treat this as a special case, usually we want to send the identitiy of the caller
-                       // but in this case, that would trigger our socket handler to handle the event, sending
-                       // notification to the image compositor. This would be fine, except that we have not
-                       // finished the drag, we therefore do not want to sent notification until we have
-                       // completed the drag, only then do we want the image compositor notofied.
-                       // We therefore set the caller identity to the special case of 0
-                       ifv->set_duration(new_dur_val, 0) ;
-                       ifv->set_position(start, 0) ;
-               }
-       }
-
-       show_verbose_time_cursor(start, 10) ;
-}
-
-void
-Editor::imageframe_start_handle_end_trim(ArdourCanvas::Item* item, GdkEvent* event)
-{
-       ImageFrameView* ifv = reinterpret_cast<ImageFrameView *> (drag_info.data) ;
-
-       if (drag_info.cumulative_x_drag == 0)
-       {
-               /* just a click */
-       }
-       else
-       {
-               framepos_t temp = ifv->get_position() + ifv->get_duration() ;
-
-               ifv->set_position((framepos_t) (temp - drag_info.cumulative_x_drag), this) ;
-               ifv->set_duration((framepos_t) drag_info.cumulative_x_drag, this) ;
-       }
-}
-
-void
-Editor::imageframe_end_handle_trim_motion(ArdourCanvas::Item* item, GdkEvent* event)
-{
-       ImageFrameView* ifv = reinterpret_cast<ImageFrameView *> (drag_info.data) ;
-
-       framepos_t start = 0 ;
-       framepos_t end = 0 ;
-       framepos_t pointer_frame = event_frame(event) ;
-       framepos_t new_dur_val = 0 ;
-
-       snap_to(pointer_frame) ;
-
-       if (pointer_frame != drag_info.last_pointer_frame)
-       {
-               start = ifv->get_position() ;
-               end = ifv->get_position() + ifv->get_duration() ;
-               if (pointer_frame < start)
-               {
-                       end = start ;
-               }
-               else
-               {
-                       end = pointer_frame ;
-               }
-
-               new_dur_val = end - start ;
-
-               // are we getting bigger or smaller?
-               if(pointer_frame >= drag_info.last_pointer_frame)
-               {
-                       if(ifv->get_max_duration_active() && (new_dur_val > ifv->get_max_duration()))
-                       {
-                               new_dur_val = ifv->get_max_duration() ;
-                       }
-               }
-               else
-               {
-                       if(ifv->get_min_duration_active() && (new_dur_val < ifv->get_min_duration()))
-                       {
-                               new_dur_val = ifv->get_min_duration() ;
-                       }
-               }
-
-               drag_info.last_pointer_frame = pointer_frame ;
-               drag_info.cumulative_x_drag = new_dur_val ;
-
-               // we treat this as a special case, usually we want to send the identitiy of the caller
-               // but in this case, that would trigger our socket handler to handle the event, sending
-               // notification to the image compositor. This would be fine, except that we have not
-               // finished the drag, we therefore do not want to sent notification until we have
-               // completed the drag, only then do we want the image compositor notofied.
-               // We therefore set the caller identity to the special case of 0
-               ifv->set_duration(new_dur_val, 0) ;
-       }
-
-       show_verbose_time_cursor(new_dur_val, 10) ;
-}
-
-
-void
-Editor::imageframe_end_handle_end_trim (ArdourCanvas::Item* item, GdkEvent* event)
-{
-       ImageFrameView* ifv = reinterpret_cast<ImageFrameView *> (drag_info.data) ;
-
-       if (drag_info.cumulative_x_drag == 0)
-       {
-               /* just a click */
-       }
-       else
-       {
-               framepos_t new_duration = (framepos_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) ;
-               }
-       }
-}
-
-
-void
-Editor::markerview_item_start_handle_op(ArdourCanvas::Item* item, GdkEvent* event)
-{
-       MarkerView* mv = reinterpret_cast<MarkerTimeAxis*>(clicked_axisview)->get_view()->get_selected_time_axis_item() ;
-
-       if (mv == 0)
-       {
-               fatal << _("programming error: no MarkerView selected") << endmsg ;
-               /*NOTREACHED*/
-               return ;
-       }
-
-       drag_info.item = mv->get_canvas_frame() ;
-       drag_info.data = mv;
-       drag_info.grab_x = event->motion.x;
-
-       drag_info.cumulative_x_drag = 0 ;
-       drag_info.motion_callback = &Editor::markerview_start_handle_trim_motion ;
-       drag_info.finished_callback = &Editor::markerview_start_handle_end_trim ;
-
-       start_grab(event, trimmer_cursor) ;
-}
-
-void
-Editor::markerview_item_end_handle_op(ArdourCanvas::Item* item, GdkEvent* event)
-{
-       MarkerView* mv = reinterpret_cast<MarkerTimeAxis*>(clicked_axisview)->get_view()->get_selected_time_axis_item() ;
-       if (mv == 0)
-       {
-               fatal << _("programming error: no MarkerView selected") << endmsg ;
-               /*NOTREACHED*/
-               return ;
-       }
-
-       drag_info.item = mv->get_canvas_frame() ;
-       drag_info.data = mv ;
-       drag_info.grab_x = event->motion.x ;
-       drag_info.cumulative_x_drag = 0 ;
-
-       drag_info.motion_callback = &Editor::markerview_end_handle_trim_motion ;
-       drag_info.finished_callback = &Editor::markerview_end_handle_end_trim ;
-
-       start_grab(event, trimmer_cursor) ;
-}
-
-
-void
-Editor::markerview_start_handle_trim_motion(ArdourCanvas::Item* item, GdkEvent* event)
-{
-       MarkerView* mv = reinterpret_cast<MarkerView*> (drag_info.data) ;
-
-       framepos_t start = 0 ;
-       framepos_t end = 0 ;
-       framepos_t pointer_frame = event_frame(event) ;
-
-       // chekc th eposition of the item is not locked
-       if(!mv->get_position_locked())
-       {
-               snap_to(pointer_frame) ;
-               if(pointer_frame != drag_info.last_pointer_frame)
-               {
-                       start = mv->get_position() ;
-                       end = mv->get_position() + mv->get_duration() ;
-
-                       if (pointer_frame > end)
-                       {
-                               start = end ;
-                       }
-                       else
-                       {
-                               start = pointer_frame ;
-                       }
-
-                       // are we getting bigger or smaller?
-                       framepos_t new_dur_val = end - start ;
-
-                       if(pointer_frame <= drag_info.grab_frame)
-                       {
-                               if(mv->get_max_duration_active() && (new_dur_val > mv->get_max_duration()))
-                               {
-                                       new_dur_val = mv->get_max_duration() ;
-                                       start = end - new_dur_val ;
-                               }
-                               else
-                               {
-                                       // current values are ok
-                               }
-                       }
-                       else
-                       {
-                               if(mv->get_min_duration_active() && (new_dur_val < mv->get_min_duration()))
-                               {
-                                       new_dur_val = mv->get_min_duration() ;
-                                       start = end - new_dur_val ;
-                               }
-                               else
-                               {
-                                       // current values are ok
-                               }
-                       }
-
-                       drag_info.last_pointer_frame = pointer_frame ;
-
-                       /* re-calculatethe duration and position of the imageframeview */
-                       drag_info.cumulative_x_drag = new_dur_val ;
-
-                       // we treat this as a special case, usually we want to send the identitiy of the caller
-                       // but in this case, that would trigger our socket handler to handle the event, sending
-                       // notification to the image compositor. This would be fine, except that we have not
-                       // finished the drag, we therefore do not want to sent notification until we have
-                       // completed the drag, only then do we want the image compositor notofied.
-                       // We therefore set the caller identity to the special case of 0
-                       mv->set_duration(new_dur_val, 0) ;
-                       mv->set_position(start, 0) ;
-               }
-       }
-
-       show_verbose_time_cursor(start, 10) ;
-}
-
-void
-Editor::markerview_start_handle_end_trim(ArdourCanvas::Item* item, GdkEvent* event)
-{
-       MarkerView* mv = reinterpret_cast<MarkerView*> (drag_info.data) ;
-
-       if (drag_info.cumulative_x_drag == 0)
-       {
-               /* just a click */
-       }
-       else
-       {
-               framepos_t temp = mv->get_position() + mv->get_duration() ;
-
-               mv->set_position((framepos_t) (temp - drag_info.cumulative_x_drag), this) ;
-               mv->set_duration((framepos_t) drag_info.cumulative_x_drag, this) ;
-       }
-}
-
-void
-Editor::markerview_end_handle_trim_motion(ArdourCanvas::Item* item, GdkEvent* event)
-{
-       MarkerView* mv = reinterpret_cast<MarkerView*> (drag_info.data) ;
-
-       framepos_t start = 0 ;
-       framepos_t end = 0 ;
-       framepos_t pointer_frame = event_frame(event) ;
-       framepos_t new_dur_val = 0 ;
-
-       snap_to(pointer_frame) ;
-
-       if (pointer_frame != drag_info.last_pointer_frame)
-       {
-               start = mv->get_position() ;
-               end = mv->get_position() + mv->get_duration() ;
-
-               if(pointer_frame < start)
-               {
-                       end = start ;
-               }
-               else
-               {
-                       end = pointer_frame ;
-               }
-
-               new_dur_val = end - start ;
-
-               // are we getting bigger or smaller?
-               if(pointer_frame >= drag_info.last_pointer_frame)
-               {
-                       // we cant extend beyond the item we are marking
-                       ImageFrameView* marked_item = mv->get_marked_item() ;
-                       framepos_t marked_end = marked_item->get_position() + marked_item->get_duration() ;
-
-                       if(mv->get_max_duration_active() && (new_dur_val > mv->get_max_duration()))
-                       {
-                               if((start + mv->get_max_duration()) > marked_end)
-                               {
-                                       new_dur_val = marked_end - start ;
-                               }
-                               else
-                               {
-                                       new_dur_val = mv->get_max_duration() ;
-                               }
-                       }
-                       else if(end > marked_end)
-                       {
-                               new_dur_val = marked_end - start ;
-                       }
-               }
-               else
-               {
-                       if(mv->get_min_duration_active() && (new_dur_val < mv->get_min_duration()))
-                       {
-                               new_dur_val = mv->get_min_duration() ;
-                       }
-               }
-
-
-               drag_info.last_pointer_frame = pointer_frame ;
-               drag_info.cumulative_x_drag = new_dur_val ;
-
-               // we treat this as a special case, usually we want to send the identitiy of the caller
-               // but in this case, that would trigger our socket handler to handle the event, sending
-               // notification to the image compositor. This would be fine, except that we have not
-               // finished the drag, we therefore do not want to sent notification until we have
-               // completed the drag, only then do we want the image compositor notofied.
-               // We therefore set the caller identity to the special case of 0
-               mv->set_duration(new_dur_val, 0) ;
-       }
-
-       show_verbose_time_cursor(new_dur_val, 10) ;
-}
-
-
-void
-Editor::markerview_end_handle_end_trim (ArdourCanvas::Item* item, GdkEvent* event)
-{
-       MarkerView* mv = reinterpret_cast<MarkerView*> (drag_info.data) ;
-
-       if (drag_info.cumulative_x_drag == 0)
-       {
-               /* just a click */
-       }
-       else
-       {
-               framepos_t new_duration = (framepos_t)drag_info.cumulative_x_drag ;
-               mv->set_duration(new_duration, this) ;
-       }
-}
-
-
-/* </CMT Additions file="editor_mouse.cc"> */
-
-
-
-
-
-
-
-/* <CMT Additions file="editor_route_list.cc"> */
-
-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->set_time_axis_name(track_name, this) ;
-       track_views.push_back(iftav) ;
-
-       TreeModel::Row row = *(route_display_model->append());
-
-       row[route_display_columns.text] = iftav->name();
-       row[route_display_columns.tv] = iftav;
-       route_list_display.get_selection()->select (row);
-
-       iftav->gui_changed.connect(sigc::mem_fun(*this, &Editor::handle_gui_changes)) ;
-}
-
-void
-Editor::handle_new_imageframe_marker_time_axis_view(const string & track_name, TimeAxisView* marked_track)
-{
-       MarkerTimeAxis* mta = new MarkerTimeAxis (*this, *this->session(), *track_canvas, track_name, marked_track) ;
-       ((ImageFrameTimeAxis*)marked_track)->add_marker_time_axis(mta, this) ;
-       track_views.push_back(mta) ;
-
-       TreeModel::Row row = *(route_display_model->append());
-
-       row[route_display_columns.text] = mta->name();
-       row[route_display_columns.tv] = mta;
-       route_list_display.get_selection()->select (row);
-}
-
-
-/* </CMT Additions file="editor_route_list.cc"> */
index b42a009415311fd967c70841a9565ce150500a62..2024d240e75218fea3d5c7e88404792ca73242af 100644 (file)
@@ -1115,31 +1115,6 @@ Editor::button_press_handler_1 (ArdourCanvas::Item* item, GdkEvent* event, ItemT
                                break;
                        }
 
-#ifdef WITH_CMT
-                       case ImageFrameHandleStartItem:
-                               imageframe_start_handle_op(item, event) ;
-                               return(true) ;
-                               break ;
-                       case ImageFrameHandleEndItem:
-                               imageframe_end_handle_op(item, event) ;
-                               return(true) ;
-                               break ;
-                       case MarkerViewHandleStartItem:
-                               markerview_item_start_handle_op(item, event) ;
-                               return(true) ;
-                               break ;
-                       case MarkerViewHandleEndItem:
-                               markerview_item_end_handle_op(item, event) ;
-                               return(true) ;
-                               break ;
-                       case MarkerViewItem:
-                               start_markerview_grab(item, event) ;
-                               break ;
-                       case ImageFrameItem:
-                               start_imageframe_grab(item, event) ;
-                               break ;
-#endif
-
                        case MarkerBarItem:
 
                                break;
@@ -1576,21 +1551,6 @@ Editor::button_release_handler (ArdourCanvas::Item* item, GdkEvent* event, ItemT
                                popup_control_point_context_menu (item, event);
                                break;
 
-#ifdef WITH_CMT
-                       case ImageFrameItem:
-                               popup_imageframe_edit_menu(1, event->button.time, item, true) ;
-                               break ;
-                       case ImageFrameTimeAxisItem:
-                               popup_imageframe_edit_menu(1, event->button.time, item, false) ;
-                               break ;
-                       case MarkerViewItem:
-                               popup_marker_time_axis_edit_menu(1, event->button.time, item, true) ;
-                               break ;
-                       case MarkerTimeAxisItem:
-                               popup_marker_time_axis_edit_menu(1, event->button.time, item, false) ;
-                               break ;
-#endif
-
                        default:
                                break;
                        }
@@ -1869,19 +1829,11 @@ Editor::enter_handler (ArdourCanvas::Item* item, GdkEvent* event, ItemType item_
                 break;
 
        case StartSelectionTrimItem:
-#ifdef WITH_CMT
-       case ImageFrameHandleStartItem:
-       case MarkerViewHandleStartItem:
-#endif
                if (is_drawable()) {
                        set_canvas_cursor (_cursors->left_side_trim);
                }
                break;
        case EndSelectionTrimItem:
-#ifdef WITH_CMT
-       case ImageFrameHandleEndItem:
-       case MarkerViewHandleEndItem:
-#endif
                if (is_drawable()) {
                        set_canvas_cursor (_cursors->right_side_trim);
                }
@@ -2055,13 +2007,6 @@ Editor::leave_handler (ArdourCanvas::Item* item, GdkEvent*, ItemType item_type)
        case EndSelectionTrimItem:
        case PlayheadCursorItem:
 
-#ifdef WITH_CMT
-       case ImageFrameHandleStartItem:
-       case ImageFrameHandleEndItem:
-       case MarkerViewHandleStartItem:
-       case MarkerViewHandleEndItem:
-#endif
-
                _over_region_trim_target = false;
 
                if (is_drawable()) {
index c5bf8a006ba6c5cf5eb2ecd3cb9feaaade4e6ad6..4593da29f47765b2b3196c7467f72e040bbe119c 100644 (file)
@@ -302,14 +302,6 @@ class PublicEditor : public Gtk::Window, public PBD::StatefulDestructible {
        virtual void embed_audio_from_video (std::string, framepos_t n = 0) = 0;
        virtual void export_video () = 0;
 
-#ifdef WITH_CMT
-       virtual void connect_to_image_compositor()  = 0;
-       virtual void add_imageframe_time_axis(const std::string & track_name, void*)  = 0;
-       virtual void add_imageframe_marker_time_axis(const std::string & track_name, TimeAxisView* marked_track, void*)  = 0;
-       virtual void scroll_timeaxis_to_imageframe_item(const TimeAxisViewItem* item)  = 0;
-       virtual TimeAxisView* get_named_time_axis(const std::string & name)  = 0;
-#endif
-
        virtual RouteTimeAxisView* get_route_view_by_route_id (const PBD::ID& id) const = 0;
 
        virtual void get_equivalent_regions (RegionView* rv, std::vector<RegionView*>&, PBD::PropertyID) const = 0;