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