1/* gstreamer-controller-1.0.vapi generated by vapigen, do not modify. */
2
3[CCode (cprefix = "Gst", gir_namespace = "GstController", gir_version = "1.0", lower_case_cprefix = "gst_")]
4namespace Gst {
5	namespace Controller {
6		[CCode (cheader_filename = "gst/controller/controller.h", cname = "GstARGBControlBinding", lower_case_cprefix = "gst_argb_control_binding_", type_id = "gst_argb_control_binding_get_type ()")]
7		[GIR (name = "ARGBControlBinding")]
8		public class ARGBControlBinding : Gst.ControlBinding {
9			[CCode (has_construct_function = false, type = "GstControlBinding*")]
10			public ARGBControlBinding (Gst.Object object, string property_name, Gst.ControlSource cs_a, Gst.ControlSource cs_r, Gst.ControlSource cs_g, Gst.ControlSource cs_b);
11			[NoAccessorMethod]
12			public Gst.ControlSource control_source_a { owned get; set construct; }
13			[NoAccessorMethod]
14			public Gst.ControlSource control_source_b { owned get; set construct; }
15			[NoAccessorMethod]
16			public Gst.ControlSource control_source_g { owned get; set construct; }
17			[NoAccessorMethod]
18			public Gst.ControlSource control_source_r { owned get; set construct; }
19		}
20		[CCode (cheader_filename = "gst/controller/controller.h", cname = "GstControlPoint", copy_function = "g_boxed_copy", free_function = "g_boxed_free", lower_case_cprefix = "gst_control_point_", type_id = "gst_control_point_get_type ()")]
21		[Compact]
22		[GIR (name = "ControlPoint")]
23		public class ControlPoint {
24			[CCode (cname = "cache.cubic.h")]
25			public double cache_cubic_h;
26			[CCode (cname = "cache.cubic_monotonic.c1s")]
27			public double cache_cubic_monotonic_c1s;
28			[CCode (cname = "cache.cubic_monotonic.c2s")]
29			public double cache_cubic_monotonic_c2s;
30			[CCode (cname = "cache.cubic_monotonic.c3s")]
31			public double cache_cubic_monotonic_c3s;
32			[CCode (cname = "cache.cubic.z")]
33			public double cache_cubic_z;
34			public Gst.ClockTime timestamp;
35			public double value;
36			public Gst.Controller.ControlPoint copy ();
37			public void free ();
38		}
39		[CCode (cheader_filename = "gst/controller/controller.h", cname = "GstDirectControlBinding", lower_case_cprefix = "gst_direct_control_binding_", type_id = "gst_direct_control_binding_get_type ()")]
40		[GIR (name = "DirectControlBinding")]
41		public class DirectControlBinding : Gst.ControlBinding {
42			[CCode (cname = "ABI.abi.want_absolute")]
43			public bool ABI_abi_want_absolute;
44			[CCode (has_construct_function = false, type = "GstControlBinding*")]
45			public DirectControlBinding (Gst.Object object, string property_name, Gst.ControlSource cs);
46			[CCode (cname = "gst_direct_control_binding_new_absolute", has_construct_function = false, type = "GstControlBinding*")]
47			[Version (since = "1.6")]
48			public DirectControlBinding.with_absolute (Gst.Object object, string property_name, Gst.ControlSource cs);
49			[NoAccessorMethod]
50			public bool absolute { get; construct; }
51			[NoAccessorMethod]
52			public Gst.ControlSource control_source { owned get; set construct; }
53		}
54		[CCode (cheader_filename = "gst/controller/controller.h", cname = "GstInterpolationControlSource", lower_case_cprefix = "gst_interpolation_control_source_", type_id = "gst_interpolation_control_source_get_type ()")]
55		[GIR (name = "InterpolationControlSource")]
56		public class InterpolationControlSource : Gst.Controller.TimedValueControlSource {
57			[CCode (has_construct_function = false, type = "GstControlSource*")]
58			public InterpolationControlSource ();
59			[NoAccessorMethod]
60			public Gst.Controller.InterpolationMode mode { get; set; }
61		}
62		[CCode (cheader_filename = "gst/controller/controller.h", cname = "GstLFOControlSource", lower_case_cprefix = "gst_lfo_control_source_", type_id = "gst_lfo_control_source_get_type ()")]
63		[GIR (name = "LFOControlSource")]
64		public class LFOControlSource : Gst.ControlSource {
65			[CCode (has_construct_function = false, type = "GstControlSource*")]
66			public LFOControlSource ();
67			[NoAccessorMethod]
68			public double amplitude { get; set; }
69			[NoAccessorMethod]
70			public double frequency { get; set; }
71			[NoAccessorMethod]
72			public double offset { get; set; }
73			[NoAccessorMethod]
74			public uint64 timeshift { get; set; }
75			[NoAccessorMethod]
76			public Gst.Controller.LFOWaveform waveform { get; set; }
77		}
78		[CCode (cheader_filename = "gst/controller/controller.h", cname = "GstProxyControlBinding", lower_case_cprefix = "gst_proxy_control_binding_", type_id = "gst_proxy_control_binding_get_type ()")]
79		[GIR (name = "ProxyControlBinding")]
80		public class ProxyControlBinding : Gst.ControlBinding {
81			[CCode (has_construct_function = false, type = "GstControlBinding*")]
82			[Version (since = "1.12")]
83			public ProxyControlBinding (Gst.Object object, string property_name, Gst.Object ref_object, string ref_property_name);
84		}
85		[CCode (cheader_filename = "gst/controller/controller.h", cname = "GstTimedValueControlSource", lower_case_cprefix = "gst_timed_value_control_source_", type_id = "gst_timed_value_control_source_get_type ()")]
86		[GIR (name = "TimedValueControlSource")]
87		public abstract class TimedValueControlSource : Gst.ControlSource {
88			public GLib.Mutex @lock;
89			public int nvalues;
90			public bool valid_cache;
91			public GLib.Sequence<Gst.Controller.ControlPoint?> values;
92			[CCode (has_construct_function = false)]
93			protected TimedValueControlSource ();
94			public unowned GLib.SequenceIter find_control_point_iter (Gst.ClockTime timestamp);
95			public GLib.List<weak Gst.TimedValue?> get_all ();
96			public int get_count ();
97			public bool @set (Gst.ClockTime timestamp, double value);
98			public bool set_from_list (GLib.SList<Gst.TimedValue?> timedvalues);
99			public bool unset (Gst.ClockTime timestamp);
100			public void unset_all ();
101			[Version (since = "1.6")]
102			public signal void value_added (Gst.Controller.ControlPoint timed_value);
103			[Version (since = "1.6")]
104			public signal void value_changed (Gst.Controller.ControlPoint timed_value);
105			[Version (since = "1.6")]
106			public signal void value_removed (Gst.Controller.ControlPoint timed_value);
107		}
108		[CCode (cheader_filename = "gst/controller/controller.h", cname = "GstTriggerControlSource", lower_case_cprefix = "gst_trigger_control_source_", type_id = "gst_trigger_control_source_get_type ()")]
109		[GIR (name = "TriggerControlSource")]
110		public class TriggerControlSource : Gst.Controller.TimedValueControlSource {
111			[CCode (has_construct_function = false, type = "GstControlSource*")]
112			public TriggerControlSource ();
113			[NoAccessorMethod]
114			public int64 tolerance { get; set; }
115		}
116		[CCode (cheader_filename = "gst/controller/controller.h", cname = "GstInterpolationMode", cprefix = "GST_INTERPOLATION_MODE_", type_id = "gst_interpolation_mode_get_type ()")]
117		[GIR (name = "InterpolationMode")]
118		public enum InterpolationMode {
119			NONE,
120			LINEAR,
121			CUBIC,
122			CUBIC_MONOTONIC
123		}
124		[CCode (cheader_filename = "gst/controller/controller.h", cname = "GstLFOWaveform", cprefix = "GST_LFO_WAVEFORM_", type_id = "gst_lfo_waveform_get_type ()")]
125		[GIR (name = "LFOWaveform")]
126		public enum LFOWaveform {
127			SINE,
128			SQUARE,
129			SAW,
130			REVERSE_SAW,
131			TRIANGLE
132		}
133		[CCode (cheader_filename = "gst/controller/controller.h", cname = "GstDirectControlBindingConvertGValue", has_target = false)]
134		public delegate void DirectControlBindingConvertGValue (Gst.Controller.DirectControlBinding self, double src_value, ref GLib.Value dest_value);
135		[CCode (cheader_filename = "gst/controller/controller.h", cname = "GstDirectControlBindingConvertValue", has_target = false)]
136		public delegate void DirectControlBindingConvertValue (Gst.Controller.DirectControlBinding self, double src_value, void* dest_value);
137		[CCode (cheader_filename = "gst/controller/controller.h", cname = "gst_timed_value_control_invalidate_cache")]
138		public static void timed_value_control_invalidate_cache (Gst.Controller.TimedValueControlSource self);
139	}
140}
141