gstreamer_controller/auto/
enums.rs1use crate::ffi;
7use glib::{prelude::*, translate::*};
8
9#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
10#[non_exhaustive]
11#[doc(alias = "GstInterpolationMode")]
12pub enum InterpolationMode {
13 #[doc(alias = "GST_INTERPOLATION_MODE_NONE")]
14 None,
15 #[doc(alias = "GST_INTERPOLATION_MODE_LINEAR")]
16 Linear,
17 #[doc(alias = "GST_INTERPOLATION_MODE_CUBIC")]
18 Cubic,
19 #[doc(alias = "GST_INTERPOLATION_MODE_CUBIC_MONOTONIC")]
20 CubicMonotonic,
21 #[doc(hidden)]
22 __Unknown(i32),
23}
24
25#[doc(hidden)]
26impl IntoGlib for InterpolationMode {
27 type GlibType = ffi::GstInterpolationMode;
28
29 #[inline]
30 fn into_glib(self) -> ffi::GstInterpolationMode {
31 match self {
32 Self::None => ffi::GST_INTERPOLATION_MODE_NONE,
33 Self::Linear => ffi::GST_INTERPOLATION_MODE_LINEAR,
34 Self::Cubic => ffi::GST_INTERPOLATION_MODE_CUBIC,
35 Self::CubicMonotonic => ffi::GST_INTERPOLATION_MODE_CUBIC_MONOTONIC,
36 Self::__Unknown(value) => value,
37 }
38 }
39}
40
41#[doc(hidden)]
42impl FromGlib<ffi::GstInterpolationMode> for InterpolationMode {
43 #[inline]
44 unsafe fn from_glib(value: ffi::GstInterpolationMode) -> Self {
45 skip_assert_initialized!();
46
47 match value {
48 ffi::GST_INTERPOLATION_MODE_NONE => Self::None,
49 ffi::GST_INTERPOLATION_MODE_LINEAR => Self::Linear,
50 ffi::GST_INTERPOLATION_MODE_CUBIC => Self::Cubic,
51 ffi::GST_INTERPOLATION_MODE_CUBIC_MONOTONIC => Self::CubicMonotonic,
52 value => Self::__Unknown(value),
53 }
54 }
55}
56
57impl StaticType for InterpolationMode {
58 #[inline]
59 #[doc(alias = "gst_interpolation_mode_get_type")]
60 fn static_type() -> glib::Type {
61 unsafe { from_glib(ffi::gst_interpolation_mode_get_type()) }
62 }
63}
64
65impl glib::HasParamSpec for InterpolationMode {
66 type ParamSpec = glib::ParamSpecEnum;
67 type SetValue = Self;
68 type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
69
70 fn param_spec_builder() -> Self::BuilderFn {
71 Self::ParamSpec::builder_with_default
72 }
73}
74
75impl glib::value::ValueType for InterpolationMode {
76 type Type = Self;
77}
78
79unsafe impl<'a> glib::value::FromValue<'a> for InterpolationMode {
80 type Checker = glib::value::GenericValueTypeChecker<Self>;
81
82 #[inline]
83 unsafe fn from_value(value: &'a glib::Value) -> Self {
84 skip_assert_initialized!();
85 from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
86 }
87}
88
89impl ToValue for InterpolationMode {
90 #[inline]
91 fn to_value(&self) -> glib::Value {
92 let mut value = glib::Value::for_value_type::<Self>();
93 unsafe {
94 glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
95 }
96 value
97 }
98
99 #[inline]
100 fn value_type(&self) -> glib::Type {
101 Self::static_type()
102 }
103}
104
105impl From<InterpolationMode> for glib::Value {
106 #[inline]
107 fn from(v: InterpolationMode) -> Self {
108 skip_assert_initialized!();
109 ToValue::to_value(&v)
110 }
111}
112
113#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
114#[non_exhaustive]
115#[doc(alias = "GstLFOWaveform")]
116pub enum LFOWaveform {
117 #[doc(alias = "GST_LFO_WAVEFORM_SINE")]
118 Sine,
119 #[doc(alias = "GST_LFO_WAVEFORM_SQUARE")]
120 Square,
121 #[doc(alias = "GST_LFO_WAVEFORM_SAW")]
122 Saw,
123 #[doc(alias = "GST_LFO_WAVEFORM_REVERSE_SAW")]
124 ReverseSaw,
125 #[doc(alias = "GST_LFO_WAVEFORM_TRIANGLE")]
126 Triangle,
127 #[doc(hidden)]
128 __Unknown(i32),
129}
130
131#[doc(hidden)]
132impl IntoGlib for LFOWaveform {
133 type GlibType = ffi::GstLFOWaveform;
134
135 #[inline]
136 fn into_glib(self) -> ffi::GstLFOWaveform {
137 match self {
138 Self::Sine => ffi::GST_LFO_WAVEFORM_SINE,
139 Self::Square => ffi::GST_LFO_WAVEFORM_SQUARE,
140 Self::Saw => ffi::GST_LFO_WAVEFORM_SAW,
141 Self::ReverseSaw => ffi::GST_LFO_WAVEFORM_REVERSE_SAW,
142 Self::Triangle => ffi::GST_LFO_WAVEFORM_TRIANGLE,
143 Self::__Unknown(value) => value,
144 }
145 }
146}
147
148#[doc(hidden)]
149impl FromGlib<ffi::GstLFOWaveform> for LFOWaveform {
150 #[inline]
151 unsafe fn from_glib(value: ffi::GstLFOWaveform) -> Self {
152 skip_assert_initialized!();
153
154 match value {
155 ffi::GST_LFO_WAVEFORM_SINE => Self::Sine,
156 ffi::GST_LFO_WAVEFORM_SQUARE => Self::Square,
157 ffi::GST_LFO_WAVEFORM_SAW => Self::Saw,
158 ffi::GST_LFO_WAVEFORM_REVERSE_SAW => Self::ReverseSaw,
159 ffi::GST_LFO_WAVEFORM_TRIANGLE => Self::Triangle,
160 value => Self::__Unknown(value),
161 }
162 }
163}
164
165impl StaticType for LFOWaveform {
166 #[inline]
167 #[doc(alias = "gst_lfo_waveform_get_type")]
168 fn static_type() -> glib::Type {
169 unsafe { from_glib(ffi::gst_lfo_waveform_get_type()) }
170 }
171}
172
173impl glib::HasParamSpec for LFOWaveform {
174 type ParamSpec = glib::ParamSpecEnum;
175 type SetValue = Self;
176 type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
177
178 fn param_spec_builder() -> Self::BuilderFn {
179 Self::ParamSpec::builder_with_default
180 }
181}
182
183impl glib::value::ValueType for LFOWaveform {
184 type Type = Self;
185}
186
187unsafe impl<'a> glib::value::FromValue<'a> for LFOWaveform {
188 type Checker = glib::value::GenericValueTypeChecker<Self>;
189
190 #[inline]
191 unsafe fn from_value(value: &'a glib::Value) -> Self {
192 skip_assert_initialized!();
193 from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
194 }
195}
196
197impl ToValue for LFOWaveform {
198 #[inline]
199 fn to_value(&self) -> glib::Value {
200 let mut value = glib::Value::for_value_type::<Self>();
201 unsafe {
202 glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
203 }
204 value
205 }
206
207 #[inline]
208 fn value_type(&self) -> glib::Type {
209 Self::static_type()
210 }
211}
212
213impl From<LFOWaveform> for glib::Value {
214 #[inline]
215 fn from(v: LFOWaveform) -> Self {
216 skip_assert_initialized!();
217 ToValue::to_value(&v)
218 }
219}