Introduce global default-fade-shape configuration variable
[ardour.git] / libs / ardour / ardour / types.h
index 0167909ef3360b4ed7bda96686c959ce2e1caecc..1b9c3326c00f64b724ddc8e810e1135672adeb5d 100644 (file)
 #include <boost/shared_ptr.hpp>
 #include <sys/types.h>
 #include <stdint.h>
+#include <pthread.h>
 
 #include <inttypes.h>
-#include <jack/types.h>
-#include <jack/midiport.h>
 
 #include "timecode/bbt_time.h"
 #include "timecode/time.h"
@@ -39,6 +38,7 @@
 #include "evoral/Range.hpp"
 
 #include "ardour/chan_count.h"
+#include "ardour/plugin_types.h"
 
 #include <map>
 
@@ -53,12 +53,12 @@ namespace ARDOUR {
        class Route;
        class Region;
 
-       typedef jack_default_audio_sample_t Sample;
-       typedef float                       pan_t;
-       typedef float                       gain_t;
-       typedef uint32_t                    layer_t;
-       typedef uint64_t                    microseconds_t;
-       typedef jack_nframes_t              pframes_t;
+       typedef float    Sample;
+       typedef float    pan_t;
+       typedef float    gain_t;
+       typedef uint32_t layer_t;
+       typedef uint64_t microseconds_t;
+       typedef uint32_t pframes_t;
 
        /* Any position measured in audio frames.
           Assumed to be non-negative but not enforced.
@@ -188,7 +188,8 @@ namespace ARDOUR {
                MeterIEC1NOR   = 0x080,
                MeterIEC2BBC   = 0x100,
                MeterIEC2EBU   = 0x200,
-               MeterVU        = 0x400
+               MeterVU        = 0x400,
+               MeterK12       = 0x800
        };
 
        enum TrackMode {
@@ -354,11 +355,6 @@ namespace ARDOUR {
                PostFader
        };
 
-        enum RouteSortOrderKey { 
-               EditorSort,
-               MixerSort
-       };
-           
        enum MonitorModel {
                HardwareMonitoring, ///< JACK does monitoring
                SoftwareMonitoring, ///< Ardour does monitoring
@@ -384,9 +380,10 @@ namespace ARDOUR {
        };
 
        enum VUMeterStandard {
-               MeteringVUfrench,   // + 2
-               MeteringVUamerican, // +-0
-               MeteringVUstandard  // -4
+               MeteringVUfrench,   // 0VU = -2dBu
+               MeteringVUamerican, // 0VU =  0dBu
+               MeteringVUstandard, // 0VU = +4dBu
+               MeteringVUeight     // 0VU = +8dBu
        };
 
        enum MeterLineUp {
@@ -419,8 +416,7 @@ namespace ARDOUR {
 
        enum RemoteModel {
                UserOrdered,
-               MixerOrdered,
-               EditorOrdered
+               MixerOrdered
        };
 
        enum CrossfadeModel {
@@ -474,14 +470,6 @@ namespace ARDOUR {
                PeakDatum max;
        };
 
-       enum PluginType {
-               AudioUnit,
-               LADSPA,
-               LV2,
-               Windows_VST,
-               LXVST,
-       };
-
        enum RunContext {
                ButlerContext = 0,
                TransportContext,
@@ -489,7 +477,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
@@ -598,8 +591,11 @@ namespace ARDOUR {
                /* these values happen to match the constants used by JACK but
                   this equality cannot be assumed.
                */
-               IsInput = 1, 
-               IsOutput = 2,
+               IsInput = 0x1, 
+               IsOutput = 0x2,
+               IsPhysical = 0x4,
+               CanMonitor = 0x8,
+               IsTerminal = 0x10
        };
 
        struct LatencyRange {
@@ -636,6 +632,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);
@@ -659,6 +656,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)