Reenable the correct sort column and type when redisplaying regions
[ardour.git] / gtk2_ardour / public_editor.h
index 4f655f0fb17a923bf9cad7ca16e8339c14eb017e..bb546246b726d856ceb6e57441a9cf36e80f4993 100644 (file)
@@ -1,21 +1,29 @@
 /*
-    Copyright (C) 2000-2007 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.
-
-*/
+ * Copyright (C) 2005-2018 Paul Davis <paul@linuxaudiosystems.com>
+ * Copyright (C) 2005 Karsten Wiese <fzuuzf@googlemail.com>
+ * Copyright (C) 2005 Taybin Rutkin <taybin@taybin.com>
+ * Copyright (C) 2006-2015 David Robillard <d@drobilla.net>
+ * Copyright (C) 2007-2012 Carl Hetherington <carl@carlh.net>
+ * Copyright (C) 2007-2016 Tim Mayberry <mojofunk@gmail.com>
+ * Copyright (C) 2013-2019 Robin Gareus <robin@gareus.org>
+ * Copyright (C) 2014-2017 Nick Mainsbridge <mainsbridge@gmail.com>
+ * Copyright (C) 2014-2018 Ben Loftis <ben@harrisonconsoles.com>
+ * Copyright (C) 2015 Colin Fletcher <colin.m.fletcher@googlemail.com>
+ *
+ * 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.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
 
 #ifndef __gtk_ardour_public_editor_h__
 #define __gtk_ardour_public_editor_h__
@@ -39,7 +47,7 @@
 
 #include "temporal/beats.h"
 
-#include "evoral/Note.hpp"
+#include "evoral/Note.h"
 
 #include "ardour/session_handle.h"
 
@@ -78,6 +86,7 @@ class DragManager;
 class Editor;
 class ArdourMarker;
 class MeterMarker;
+class MixerStrip;
 class MouseCursors;
 class PlaylistSelector;
 class PluginSelector;
@@ -183,10 +192,13 @@ public:
        /** @return Whether the current mouse mode is an "internal" editing mode. */
        virtual bool internal_editing() const = 0;
 
-       /** Possibly start the audition of a region.  If @param r is 0, or not an AudioRegion
-        * any current audition is cancelled.  If we are currently auditioning @param r,
-        * the audition will be cancelled.  Otherwise an audition of @param r will start.
-        * \param r Region to consider.
+       /** Possibly start the audition of a region.
+        *
+        * If \p r is 0, or not an AudioRegion any current audition is cancelled.
+        * If we are currently auditioning \p r , the audition will be cancelled.
+        * Otherwise an audition of \p r will start.
+        *
+        * @param r Region to consider auditioning
         */
        virtual void consider_auditioning (boost::shared_ptr<ARDOUR::Region> r) = 0;
 
@@ -281,6 +293,7 @@ public:
        virtual void clear_playlists (TimeAxisView*) = 0;
        virtual void select_all_tracks () = 0;
        virtual void deselect_all () = 0;
+       virtual void invert_selection () = 0;
        virtual void set_selected_track (TimeAxisView&, Selection::Operation op = Selection::Set, bool no_remove = false) = 0;
        virtual void set_selected_mixer_strip (TimeAxisView&) = 0;
        virtual void hide_track_in_display (TimeAxisView* tv, bool apply_to_selection = false) = 0;
@@ -315,6 +328,7 @@ public:
        virtual bool scroll_down_one_track (bool skip_child_views = false) = 0;
        virtual bool scroll_up_one_track (bool skip_child_views = false) = 0;
        virtual void select_topmost_track () = 0;
+       virtual void cleanup_regions () = 0;
        virtual void prepare_for_cleanup () = 0;
        virtual void finish_cleanup () = 0;
        virtual void reset_x_origin (samplepos_t sample) = 0;
@@ -393,7 +407,7 @@ public:
        virtual bool canvas_fade_out_handle_event (GdkEvent* event, ArdourCanvas::Item*, AudioRegionView*, bool) = 0;
        virtual bool canvas_region_view_event (GdkEvent* event, ArdourCanvas::Item*, RegionView*) = 0;
        virtual bool canvas_wave_view_event (GdkEvent* event, ArdourCanvas::Item*, RegionView*) = 0;
-       virtual bool canvas_sample_handle_event (GdkEvent* event, ArdourCanvas::Item*, RegionView*) = 0;
+       virtual bool canvas_frame_handle_event (GdkEvent* event, ArdourCanvas::Item*, RegionView*) = 0;
        virtual bool canvas_region_view_name_highlight_event (GdkEvent* event, ArdourCanvas::Item*, RegionView*) = 0;
        virtual bool canvas_region_view_name_event (GdkEvent* event, ArdourCanvas::Item*, RegionView*) = 0;
        virtual bool canvas_feature_line_event (GdkEvent* event, ArdourCanvas::Item*, RegionView*) = 0;
@@ -433,7 +447,11 @@ public:
        virtual TrackViewList axis_views_from_routes (boost::shared_ptr<ARDOUR::RouteList>) const = 0;
        virtual TrackViewList const & get_track_views () const = 0;
 
+       virtual MixerStrip* get_current_mixer_strip () const = 0;
+
        virtual DragManager* drags () const = 0;
+       virtual bool drag_active () const = 0;
+       virtual bool preview_video_drag_active () const = 0;
        virtual void maybe_autoscroll (bool, bool, bool from_headers) = 0;
        virtual void stop_canvas_autoscroll () = 0;
        virtual bool autoscroll_active() const = 0;
@@ -448,20 +466,20 @@ public:
        virtual void access_action (const std::string&, const std::string&) = 0;
        virtual void set_toggleaction (const std::string&, const std::string&, bool) = 0;
 
-       virtual MouseCursors const * cursors () const = 0;
-       virtual VerboseCursor * verbose_cursor () const = 0;
+       virtual MouseCursors const* cursors () const = 0;
+       virtual VerboseCursor* verbose_cursor () const = 0;
 
        virtual bool get_smart_mode () const = 0;
 
        virtual void get_pointer_position (double &, double &) const = 0;
 
-       virtual ARDOUR::Location* find_location_from_marker (ArdourMarker *, bool &) const = 0;
-       virtual ArdourMarker* find_marker_from_location_id (PBD::ID const &, bool) const = 0;
+       virtual ARDOUR::Location* find_location_from_marker (ArdourMarker*, bool&) const = 0;
+       virtual ArdourMarker* find_marker_from_location_id (PBD::ID const&, bool) const = 0;
 
        virtual void snap_to_with_modifier (ARDOUR::MusicSample& first,
-                                           GdkEvent const *    ev,
-                                           ARDOUR::RoundMode   direction = ARDOUR::RoundNearest,
-                                           ARDOUR::SnapPref    gpref = ARDOUR::SnapToAny_Visual) = 0;
+                                           GdkEvent const*      ev,
+                                           ARDOUR::RoundMode    direction = ARDOUR::RoundNearest,
+                                           ARDOUR::SnapPref     gpref = ARDOUR::SnapToAny_Visual) = 0;
 
        virtual void set_snapped_cursor_position (samplepos_t pos) = 0;