Update to latest LV2 atom extension.
[ardour.git] / libs / ardour / ardour / types.h
index e21c588c62bcfb338ed4fccdb4a34bd05e64d548..c34869bc2b5ca407fa97665d5930d90b8511491e 100644 (file)
@@ -75,12 +75,15 @@ namespace ARDOUR {
 
        static const framepos_t max_framepos = INT64_MAX;
        static const framecnt_t max_framecnt = INT64_MAX;
+       static const layer_t    max_layer    = UINT32_MAX;
 
        // a set of (time) intervals: first of pair is the offset of the start within the region, second is the offset of the end
        typedef std::list<std::pair<frameoffset_t, frameoffset_t> > AudioIntervalResult;
        // associate a set of intervals with regions (e.g. for silence detection)
        typedef std::map<boost::shared_ptr<ARDOUR::Region>,AudioIntervalResult> AudioIntervalMap;
 
+       typedef std::list<boost::shared_ptr<Region> > RegionList;
+
        struct IOChange {
 
                enum Type {
@@ -353,9 +356,27 @@ namespace ARDOUR {
        };
 
        enum MonitorModel {
-               HardwareMonitoring,
-               SoftwareMonitoring,
-               ExternalMonitoring
+               HardwareMonitoring, ///< JACK does monitoring
+               SoftwareMonitoring, ///< Ardour does monitoring
+               ExternalMonitoring  ///< we leave monitoring to the audio hardware
+       };
+
+       enum MonitorChoice {
+               MonitorAuto = 0,
+               MonitorInput = 0x1,
+               MonitorDisk = 0x2,
+               MonitorCue = 0x4,
+       };
+
+       enum MonitorState {
+               MonitoringSilence = 0x1,
+               MonitoringInput = 0x2,
+               MonitoringDisk = 0x4,
+       };
+
+       enum MeterState {
+               MeteringInput, ///< meter the input IO, regardless of what is going through the route
+               MeteringRoute  ///< meter what is going through the route
        };
 
        enum PFLPosition {
@@ -390,12 +411,6 @@ namespace ARDOUR {
                ShortCrossfade
        };
 
-       enum LayerModel {
-               LaterHigher,
-               MoveAddHigher,
-               AddHigher
-       };
-
        enum ListenPosition {
                AfterFaderListen,
                PreFaderListen
@@ -449,7 +464,8 @@ namespace ARDOUR {
                AudioUnit,
                LADSPA,
                LV2,
-               VST
+               Windows_VST,
+               LXVST,
        };
 
        enum RunContext {
@@ -588,7 +604,6 @@ std::istream& operator>>(std::istream& o, ARDOUR::PFLPosition& sf);
 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::LayerModel& 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::SyncSource& sf);
@@ -609,7 +624,6 @@ std::ostream& operator<<(std::ostream& o, const ARDOUR::PFLPosition& sf);
 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::LayerModel& 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::SyncSource& sf);