fix crash when copy'ing latent plugins
[ardour.git] / gtk2_ardour / enums.cc
index e6c81598fb905aa68d3f69b53dcf0b3aa0f3a1b9..4f8a348a912dd691a61c0bcbc2abb5643a81f718 100644 (file)
@@ -1,5 +1,5 @@
 /*
-    Copyright (C) 2000-2007 Paul Davis 
+    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
 
 */
 
-#include <pbd/enumwriter.h>
+#include "pbd/enumwriter.h"
 
 #include "audio_clock.h"
+#include "editing.h"
 #include "enums.h"
+#include "editor_items.h"
 
 using namespace std;
 using namespace PBD;
 using namespace ARDOUR;
+using namespace Editing;
 
 void
 setup_gtk_ardour_enums ()
@@ -35,20 +38,151 @@ setup_gtk_ardour_enums ()
 
        AudioClock::Mode clock_mode;
        Width width;
+       ImportMode import_mode;
+       EditPoint edit_point;
+       LayerDisplay layer_display;
+       RegionListSortType region_list_sort_type;
+       SnapType snap_type;
+       SnapMode snap_mode;
+       ZoomFocus zoom_focus;
+       ItemType item_type;
+       MouseMode mouse_mode;
 
 #define REGISTER(e) enum_writer.register_distinct (typeid(e).name(), i, s); i.clear(); s.clear()
 #define REGISTER_BITS(e) enum_writer.register_bits (typeid(e).name(), i, s); i.clear(); s.clear()
 #define REGISTER_ENUM(e) i.push_back (e); s.push_back (#e)
 #define REGISTER_CLASS_ENUM(t,e) i.push_back (t::e); s.push_back (#e)
 
-       REGISTER_CLASS_ENUM (AudioClock, SMPTE);
+       REGISTER_CLASS_ENUM (AudioClock, Timecode);
        REGISTER_CLASS_ENUM (AudioClock, BBT);
        REGISTER_CLASS_ENUM (AudioClock, MinSec);
        REGISTER_CLASS_ENUM (AudioClock, Frames);
-       REGISTER_CLASS_ENUM (AudioClock, Off);
        REGISTER (clock_mode);
 
        REGISTER_ENUM (Wide);
        REGISTER_ENUM (Narrow);
        REGISTER (width);
+
+       REGISTER_ENUM (ImportAsTrack);
+       REGISTER_ENUM (ImportToTrack);
+       REGISTER_ENUM (ImportAsRegion);
+       REGISTER_ENUM (ImportAsTapeTrack);
+       REGISTER (import_mode);
+
+       REGISTER_ENUM (EditAtPlayhead);
+       REGISTER_ENUM (EditAtMouse);
+       REGISTER_ENUM (EditAtSelectedMarker);
+       REGISTER (edit_point);
+
+       REGISTER_ENUM (Overlaid);
+       REGISTER_ENUM (Stacked);
+       REGISTER (layer_display);
+
+       REGISTER_ENUM (ByEndInFile);
+       REGISTER_ENUM (ByLength);
+       REGISTER_ENUM (ByName);
+       REGISTER_ENUM (ByPosition);
+       REGISTER_ENUM (BySourceFileCreationDate);
+       REGISTER_ENUM (BySourceFileFS);
+       REGISTER_ENUM (BySourceFileLength);
+       REGISTER_ENUM (BySourceFileName);
+       REGISTER_ENUM (ByStartInFile);
+       REGISTER_ENUM (ByTimestamp);
+       REGISTER (region_list_sort_type);
+
+       REGISTER_ENUM (SnapToCDFrame);
+       REGISTER_ENUM (SnapToTimecodeFrame);
+       REGISTER_ENUM (SnapToTimecodeSeconds);
+       REGISTER_ENUM (SnapToTimecodeMinutes);
+       REGISTER_ENUM (SnapToSeconds);
+       REGISTER_ENUM (SnapToMinutes);
+       REGISTER_ENUM (SnapToBeatDiv128);
+       REGISTER_ENUM (SnapToBeatDiv64);
+       REGISTER_ENUM (SnapToBeatDiv32);
+       REGISTER_ENUM (SnapToBeatDiv28);
+       REGISTER_ENUM (SnapToBeatDiv24);
+       REGISTER_ENUM (SnapToBeatDiv20);
+       REGISTER_ENUM (SnapToBeatDiv16);
+       REGISTER_ENUM (SnapToBeatDiv14);
+       REGISTER_ENUM (SnapToBeatDiv12);
+       REGISTER_ENUM (SnapToBeatDiv10);
+       REGISTER_ENUM (SnapToBeatDiv8);
+       REGISTER_ENUM (SnapToBeatDiv7);
+       REGISTER_ENUM (SnapToBeatDiv6);
+       REGISTER_ENUM (SnapToBeatDiv5);
+       REGISTER_ENUM (SnapToBeatDiv4);
+       REGISTER_ENUM (SnapToBeatDiv3);
+       REGISTER_ENUM (SnapToBeatDiv2);
+       REGISTER_ENUM (SnapToBeat);
+       REGISTER_ENUM (SnapToBar);
+       REGISTER_ENUM (SnapToMark);
+       REGISTER_ENUM (SnapToRegionStart);
+       REGISTER_ENUM (SnapToRegionEnd);
+       REGISTER_ENUM (SnapToRegionSync);
+       REGISTER_ENUM (SnapToRegionBoundary);
+       REGISTER (snap_type);
+
+       REGISTER_ENUM (SnapOff);
+       REGISTER_ENUM (SnapNormal);
+       REGISTER_ENUM (SnapMagnetic);
+       REGISTER (snap_mode);
+
+       REGISTER_ENUM (ZoomFocusLeft);
+       REGISTER_ENUM (ZoomFocusRight);
+       REGISTER_ENUM (ZoomFocusCenter);
+       REGISTER_ENUM (ZoomFocusPlayhead);
+       REGISTER_ENUM (ZoomFocusMouse);
+       REGISTER_ENUM (ZoomFocusEdit);
+       REGISTER (zoom_focus);
+
+       REGISTER_ENUM (RegionItem);
+       REGISTER_ENUM (WaveItem);
+       REGISTER_ENUM (StreamItem);
+       REGISTER_ENUM (PlayheadCursorItem);
+       REGISTER_ENUM (MarkerItem);
+       REGISTER_ENUM (MarkerBarItem);
+       REGISTER_ENUM (RangeMarkerBarItem);
+       REGISTER_ENUM (CdMarkerBarItem);
+       REGISTER_ENUM (VideoBarItem);
+       REGISTER_ENUM (TransportMarkerBarItem);
+       REGISTER_ENUM (SelectionItem);
+       REGISTER_ENUM (ControlPointItem);
+       REGISTER_ENUM (GainLineItem);
+       REGISTER_ENUM (AutomationLineItem);
+       REGISTER_ENUM (MeterMarkerItem);
+       REGISTER_ENUM (TempoCurveItem);
+       REGISTER_ENUM (TempoMarkerItem);
+       REGISTER_ENUM (MeterBarItem);
+       REGISTER_ENUM (TempoBarItem);
+       REGISTER_ENUM (RegionViewNameHighlight);
+       REGISTER_ENUM (RegionViewName);
+       REGISTER_ENUM (StartSelectionTrimItem);
+       REGISTER_ENUM (EndSelectionTrimItem);
+       REGISTER_ENUM (AutomationTrackItem);
+       REGISTER_ENUM (FadeInItem);
+       REGISTER_ENUM (FadeInHandleItem);
+       REGISTER_ENUM (FadeOutItem);
+       REGISTER_ENUM (FadeOutHandleItem);
+       REGISTER_ENUM (NoteItem);
+       REGISTER_ENUM (FeatureLineItem);
+        REGISTER_ENUM (LeftFrameHandle);
+        REGISTER_ENUM (RightFrameHandle);
+       REGISTER_ENUM (StartCrossFadeItem);
+       REGISTER_ENUM (EndCrossFadeItem);
+       REGISTER_ENUM (CrossfadeViewItem);
+       REGISTER_ENUM (TimecodeRulerItem);
+       REGISTER_ENUM (MinsecRulerItem);
+       REGISTER_ENUM (BBTRulerItem);
+       REGISTER_ENUM (SamplesRulerItem);
+       REGISTER (item_type);
+
+       REGISTER_ENUM(MouseObject);
+       REGISTER_ENUM(MouseRange);
+       REGISTER_ENUM(MouseDraw);
+       REGISTER_ENUM(MouseTimeFX);
+       REGISTER_ENUM(MouseAudition);
+       REGISTER_ENUM(MouseCut);
+       REGISTER_ENUM(MouseContent);
+       REGISTER (mouse_mode);
+
 }