Automation of LV2 plugin properties.
[ardour.git] / libs / ardour / ardour / types.h
index f2319d7669ca1271f8aa88da935fca0e33298deb..7444a54a7c7822c4d834c4421d3128f7ada26051 100644 (file)
@@ -38,6 +38,7 @@
 #include "evoral/Range.hpp"
 
 #include "ardour/chan_count.h"
+#include "ardour/plugin_types.h"
 
 #include <map>
 
@@ -126,6 +127,7 @@ namespace ARDOUR {
                PanFrontBackAutomation,
                PanLFEAutomation,
                PluginAutomation,
+               PluginPropertyAutomation,
                SoloAutomation,
                MuteAutomation,
                MidiCCAutomation,
@@ -136,7 +138,7 @@ namespace ARDOUR {
                FadeInAutomation,
                FadeOutAutomation,
                EnvelopeAutomation,
-               RecEnableAutomation
+               RecEnableAutomation,
        };
 
        enum AutoState {
@@ -187,7 +189,8 @@ namespace ARDOUR {
                MeterIEC1NOR   = 0x080,
                MeterIEC2BBC   = 0x100,
                MeterIEC2EBU   = 0x200,
-               MeterVU        = 0x400
+               MeterVU        = 0x400,
+               MeterK12       = 0x800
        };
 
        enum TrackMode {
@@ -339,6 +342,7 @@ namespace ARDOUR {
        enum EditMode {
                Slide,
                Splice,
+               Ripple,
                Lock
        };
 
@@ -353,11 +357,6 @@ namespace ARDOUR {
                PostFader
        };
 
-        enum RouteSortOrderKey { 
-               EditorSort,
-               MixerSort
-       };
-           
        enum MonitorModel {
                HardwareMonitoring, ///< JACK does monitoring
                SoftwareMonitoring, ///< Ardour does monitoring
@@ -419,19 +418,7 @@ namespace ARDOUR {
 
        enum RemoteModel {
                UserOrdered,
-               MixerOrdered,
-               EditorOrdered
-       };
-
-       enum CrossfadeModel {
-               FullCrossfade,
-               ShortCrossfade
-       };
-
-       enum CrossfadeChoice {
-               RegionFades,
-               ConstantPowerMinus3dB,
-               ConstantPowerMinus6dB,
+               MixerOrdered
        };
 
        enum ListenPosition {
@@ -474,14 +461,6 @@ namespace ARDOUR {
                PeakDatum max;
        };
 
-       enum PluginType {
-               AudioUnit,
-               LADSPA,
-               LV2,
-               Windows_VST,
-               LXVST,
-       };
-
        enum RunContext {
                ButlerContext = 0,
                TransportContext,
@@ -489,7 +468,12 @@ namespace ARDOUR {
        };
 
        enum SyncSource {
-               JACK,
+               /* These are "synonyms". It is important for JACK to be first
+                  both here and in enums.cc, so that the string "JACK" is
+                  correctly recognized in older session and preference files.
+               */
+               JACK = 0,
+               Engine = 0,
                MTC,
                MIDIClock,
                LTC
@@ -610,16 +594,6 @@ namespace ARDOUR {
            uint32_t max; //< samples
        };
 
-/* PLATFORM SPECIFIC #ifdef's here */
-
-       /** Define the native thread type used on the platform */
-       typedef pthread_t AudioBackendNativeThread;
-       static inline bool self_thread_equal (AudioBackendNativeThread thr) {
-               return pthread_equal (thr, pthread_self());
-       }
-
-/* PLATFORM SPECIFIC #endif's here */
-
 } // namespace ARDOUR
 
 
@@ -639,8 +613,6 @@ std::istream& operator>>(std::istream& o, ARDOUR::AFLPosition& sf);
 std::istream& operator>>(std::istream& o, ARDOUR::RemoteModel& sf);
 std::istream& operator>>(std::istream& o, ARDOUR::ListenPosition& sf);
 std::istream& operator>>(std::istream& o, ARDOUR::InsertMergePolicy& sf);
-std::istream& operator>>(std::istream& o, ARDOUR::CrossfadeModel& sf);
-std::istream& operator>>(std::istream& o, ARDOUR::CrossfadeChoice& sf);
 std::istream& operator>>(std::istream& o, ARDOUR::SyncSource& sf);
 std::istream& operator>>(std::istream& o, ARDOUR::ShuttleBehaviour& sf);
 std::istream& operator>>(std::istream& o, ARDOUR::ShuttleUnits& sf);
@@ -649,6 +621,7 @@ std::istream& operator>>(std::istream& o, ARDOUR::DenormalModel& sf);
 std::istream& operator>>(std::istream& o, ARDOUR::WaveformScale& sf);
 std::istream& operator>>(std::istream& o, ARDOUR::WaveformShape& sf);
 std::istream& operator>>(std::istream& o, ARDOUR::PositionLockStyle& sf);
+std::istream& operator>>(std::istream& o, ARDOUR::FadeShape& sf);
 
 std::ostream& operator<<(std::ostream& o, const ARDOUR::SampleFormat& sf);
 std::ostream& operator<<(std::ostream& o, const ARDOUR::HeaderFormat& sf);
@@ -662,8 +635,6 @@ std::ostream& operator<<(std::ostream& o, const ARDOUR::AFLPosition& sf);
 std::ostream& operator<<(std::ostream& o, const ARDOUR::RemoteModel& sf);
 std::ostream& operator<<(std::ostream& o, const ARDOUR::ListenPosition& sf);
 std::ostream& operator<<(std::ostream& o, const ARDOUR::InsertMergePolicy& sf);
-std::ostream& operator<<(std::ostream& o, const ARDOUR::CrossfadeModel& sf);
-std::ostream& operator<<(std::ostream& o, const ARDOUR::CrossfadeChoice& sf);
 std::ostream& operator<<(std::ostream& o, const ARDOUR::SyncSource& sf);
 std::ostream& operator<<(std::ostream& o, const ARDOUR::ShuttleBehaviour& sf);
 std::ostream& operator<<(std::ostream& o, const ARDOUR::ShuttleUnits& sf);
@@ -672,6 +643,7 @@ std::ostream& operator<<(std::ostream& o, const ARDOUR::DenormalModel& sf);
 std::ostream& operator<<(std::ostream& o, const ARDOUR::WaveformScale& sf);
 std::ostream& operator<<(std::ostream& o, const ARDOUR::WaveformShape& sf);
 std::ostream& operator<<(std::ostream& o, const ARDOUR::PositionLockStyle& sf);
+std::ostream& operator<<(std::ostream& o, const ARDOUR::FadeShape& sf);
 
 static inline ARDOUR::framepos_t
 session_frame_to_track_frame (ARDOUR::framepos_t session_frame, double speed)