2020-06-09 01:06:49 +00:00
|
|
|
// This file was generated by gir (https://github.com/gtk-rs/gir)
|
|
|
|
// from gir-files (https://github.com/gtk-rs/gir-files)
|
2021-04-01 13:58:41 +00:00
|
|
|
// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git)
|
2020-06-09 01:06:49 +00:00
|
|
|
// DO NOT EDIT
|
|
|
|
|
2023-07-06 13:05:38 +00:00
|
|
|
use glib::{prelude::*, translate::*};
|
2020-06-09 01:06:49 +00:00
|
|
|
|
|
|
|
#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
|
|
|
|
#[non_exhaustive]
|
2020-12-18 14:23:05 +00:00
|
|
|
#[doc(alias = "GstInterpolationMode")]
|
2020-06-09 01:06:49 +00:00
|
|
|
pub enum InterpolationMode {
|
2020-12-18 14:23:05 +00:00
|
|
|
#[doc(alias = "GST_INTERPOLATION_MODE_NONE")]
|
2020-06-09 01:06:49 +00:00
|
|
|
None,
|
2020-12-18 14:23:05 +00:00
|
|
|
#[doc(alias = "GST_INTERPOLATION_MODE_LINEAR")]
|
2020-06-09 01:06:49 +00:00
|
|
|
Linear,
|
2020-12-18 14:23:05 +00:00
|
|
|
#[doc(alias = "GST_INTERPOLATION_MODE_CUBIC")]
|
2020-06-09 01:06:49 +00:00
|
|
|
Cubic,
|
2020-12-18 14:23:05 +00:00
|
|
|
#[doc(alias = "GST_INTERPOLATION_MODE_CUBIC_MONOTONIC")]
|
2020-06-09 01:06:49 +00:00
|
|
|
CubicMonotonic,
|
|
|
|
#[doc(hidden)]
|
|
|
|
__Unknown(i32),
|
|
|
|
}
|
|
|
|
|
|
|
|
#[doc(hidden)]
|
2021-04-27 15:10:39 +00:00
|
|
|
impl IntoGlib for InterpolationMode {
|
2020-11-21 18:48:08 +00:00
|
|
|
type GlibType = ffi::GstInterpolationMode;
|
2020-06-09 01:06:49 +00:00
|
|
|
|
2023-01-03 18:56:00 +00:00
|
|
|
#[inline]
|
2021-04-27 15:10:39 +00:00
|
|
|
fn into_glib(self) -> ffi::GstInterpolationMode {
|
|
|
|
match self {
|
2021-04-25 16:45:59 +00:00
|
|
|
Self::None => ffi::GST_INTERPOLATION_MODE_NONE,
|
|
|
|
Self::Linear => ffi::GST_INTERPOLATION_MODE_LINEAR,
|
|
|
|
Self::Cubic => ffi::GST_INTERPOLATION_MODE_CUBIC,
|
|
|
|
Self::CubicMonotonic => ffi::GST_INTERPOLATION_MODE_CUBIC_MONOTONIC,
|
|
|
|
Self::__Unknown(value) => value,
|
2020-06-09 01:06:49 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
#[doc(hidden)]
|
2020-11-21 18:48:08 +00:00
|
|
|
impl FromGlib<ffi::GstInterpolationMode> for InterpolationMode {
|
2023-01-03 18:56:00 +00:00
|
|
|
#[inline]
|
2020-12-08 13:00:17 +00:00
|
|
|
unsafe fn from_glib(value: ffi::GstInterpolationMode) -> Self {
|
2020-06-09 01:06:49 +00:00
|
|
|
skip_assert_initialized!();
|
2023-01-24 08:40:31 +00:00
|
|
|
|
2020-06-09 01:06:49 +00:00
|
|
|
match value {
|
2021-05-23 16:27:13 +00:00
|
|
|
ffi::GST_INTERPOLATION_MODE_NONE => Self::None,
|
|
|
|
ffi::GST_INTERPOLATION_MODE_LINEAR => Self::Linear,
|
|
|
|
ffi::GST_INTERPOLATION_MODE_CUBIC => Self::Cubic,
|
|
|
|
ffi::GST_INTERPOLATION_MODE_CUBIC_MONOTONIC => Self::CubicMonotonic,
|
2021-04-25 16:45:59 +00:00
|
|
|
value => Self::__Unknown(value),
|
2020-06-09 01:06:49 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
impl StaticType for InterpolationMode {
|
2023-01-03 18:56:00 +00:00
|
|
|
#[inline]
|
2023-07-06 13:05:38 +00:00
|
|
|
fn static_type() -> glib::Type {
|
2020-11-21 18:48:08 +00:00
|
|
|
unsafe { from_glib(ffi::gst_interpolation_mode_get_type()) }
|
2020-06-09 01:06:49 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2023-01-31 08:48:29 +00:00
|
|
|
impl glib::HasParamSpec for InterpolationMode {
|
|
|
|
type ParamSpec = glib::ParamSpecEnum;
|
|
|
|
type SetValue = Self;
|
|
|
|
type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
|
|
|
|
|
|
|
|
fn param_spec_builder() -> Self::BuilderFn {
|
|
|
|
|name, default_value| Self::ParamSpec::builder_with_default(name, default_value)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2021-04-19 16:24:43 +00:00
|
|
|
impl glib::value::ValueType for InterpolationMode {
|
|
|
|
type Type = Self;
|
2020-06-09 01:06:49 +00:00
|
|
|
}
|
|
|
|
|
2023-07-06 13:05:38 +00:00
|
|
|
unsafe impl<'a> glib::value::FromValue<'a> for InterpolationMode {
|
2021-04-19 16:24:43 +00:00
|
|
|
type Checker = glib::value::GenericValueTypeChecker<Self>;
|
|
|
|
|
2023-01-03 18:56:00 +00:00
|
|
|
#[inline]
|
2021-04-19 16:24:43 +00:00
|
|
|
unsafe fn from_value(value: &'a glib::Value) -> Self {
|
|
|
|
skip_assert_initialized!();
|
2020-11-21 18:48:08 +00:00
|
|
|
from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
|
2020-06-09 01:06:49 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2021-04-19 16:24:43 +00:00
|
|
|
impl ToValue for InterpolationMode {
|
2023-01-03 18:56:00 +00:00
|
|
|
#[inline]
|
2021-04-19 16:24:43 +00:00
|
|
|
fn to_value(&self) -> glib::Value {
|
2021-04-25 16:45:59 +00:00
|
|
|
let mut value = glib::Value::for_value_type::<Self>();
|
2021-04-19 16:24:43 +00:00
|
|
|
unsafe {
|
2021-04-27 15:10:39 +00:00
|
|
|
glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
|
2021-04-19 16:24:43 +00:00
|
|
|
}
|
|
|
|
value
|
|
|
|
}
|
|
|
|
|
2023-01-03 18:56:00 +00:00
|
|
|
#[inline]
|
2021-04-19 16:24:43 +00:00
|
|
|
fn value_type(&self) -> glib::Type {
|
|
|
|
Self::static_type()
|
2020-06-09 01:06:49 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2022-11-26 09:28:05 +00:00
|
|
|
impl From<InterpolationMode> for glib::Value {
|
|
|
|
#[inline]
|
|
|
|
fn from(v: InterpolationMode) -> Self {
|
|
|
|
skip_assert_initialized!();
|
|
|
|
ToValue::to_value(&v)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2020-06-09 01:06:49 +00:00
|
|
|
#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
|
|
|
|
#[non_exhaustive]
|
2020-12-18 14:23:05 +00:00
|
|
|
#[doc(alias = "GstLFOWaveform")]
|
2020-06-09 01:06:49 +00:00
|
|
|
pub enum LFOWaveform {
|
2020-12-18 14:23:05 +00:00
|
|
|
#[doc(alias = "GST_LFO_WAVEFORM_SINE")]
|
2020-06-09 01:06:49 +00:00
|
|
|
Sine,
|
2020-12-18 14:23:05 +00:00
|
|
|
#[doc(alias = "GST_LFO_WAVEFORM_SQUARE")]
|
2020-06-09 01:06:49 +00:00
|
|
|
Square,
|
2020-12-18 14:23:05 +00:00
|
|
|
#[doc(alias = "GST_LFO_WAVEFORM_SAW")]
|
2020-06-09 01:06:49 +00:00
|
|
|
Saw,
|
2020-12-18 14:23:05 +00:00
|
|
|
#[doc(alias = "GST_LFO_WAVEFORM_REVERSE_SAW")]
|
2020-06-09 01:06:49 +00:00
|
|
|
ReverseSaw,
|
2020-12-18 14:23:05 +00:00
|
|
|
#[doc(alias = "GST_LFO_WAVEFORM_TRIANGLE")]
|
2020-06-09 01:06:49 +00:00
|
|
|
Triangle,
|
|
|
|
#[doc(hidden)]
|
|
|
|
__Unknown(i32),
|
|
|
|
}
|
|
|
|
|
|
|
|
#[doc(hidden)]
|
2021-04-27 15:10:39 +00:00
|
|
|
impl IntoGlib for LFOWaveform {
|
2020-11-21 18:48:08 +00:00
|
|
|
type GlibType = ffi::GstLFOWaveform;
|
2020-06-09 01:06:49 +00:00
|
|
|
|
2023-01-03 18:56:00 +00:00
|
|
|
#[inline]
|
2021-04-27 15:10:39 +00:00
|
|
|
fn into_glib(self) -> ffi::GstLFOWaveform {
|
|
|
|
match self {
|
2021-04-25 16:45:59 +00:00
|
|
|
Self::Sine => ffi::GST_LFO_WAVEFORM_SINE,
|
|
|
|
Self::Square => ffi::GST_LFO_WAVEFORM_SQUARE,
|
|
|
|
Self::Saw => ffi::GST_LFO_WAVEFORM_SAW,
|
|
|
|
Self::ReverseSaw => ffi::GST_LFO_WAVEFORM_REVERSE_SAW,
|
|
|
|
Self::Triangle => ffi::GST_LFO_WAVEFORM_TRIANGLE,
|
|
|
|
Self::__Unknown(value) => value,
|
2020-06-09 01:06:49 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
#[doc(hidden)]
|
2020-11-21 18:48:08 +00:00
|
|
|
impl FromGlib<ffi::GstLFOWaveform> for LFOWaveform {
|
2023-01-03 18:56:00 +00:00
|
|
|
#[inline]
|
2020-12-08 13:00:17 +00:00
|
|
|
unsafe fn from_glib(value: ffi::GstLFOWaveform) -> Self {
|
2020-06-09 01:06:49 +00:00
|
|
|
skip_assert_initialized!();
|
2023-01-24 08:40:31 +00:00
|
|
|
|
2020-06-09 01:06:49 +00:00
|
|
|
match value {
|
2021-05-23 16:27:13 +00:00
|
|
|
ffi::GST_LFO_WAVEFORM_SINE => Self::Sine,
|
|
|
|
ffi::GST_LFO_WAVEFORM_SQUARE => Self::Square,
|
|
|
|
ffi::GST_LFO_WAVEFORM_SAW => Self::Saw,
|
|
|
|
ffi::GST_LFO_WAVEFORM_REVERSE_SAW => Self::ReverseSaw,
|
|
|
|
ffi::GST_LFO_WAVEFORM_TRIANGLE => Self::Triangle,
|
2021-04-25 16:45:59 +00:00
|
|
|
value => Self::__Unknown(value),
|
2020-06-09 01:06:49 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
impl StaticType for LFOWaveform {
|
2023-01-03 18:56:00 +00:00
|
|
|
#[inline]
|
2023-07-06 13:05:38 +00:00
|
|
|
fn static_type() -> glib::Type {
|
2020-11-21 18:48:08 +00:00
|
|
|
unsafe { from_glib(ffi::gst_lfo_waveform_get_type()) }
|
2020-06-09 01:06:49 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2023-01-31 08:48:29 +00:00
|
|
|
impl glib::HasParamSpec for LFOWaveform {
|
|
|
|
type ParamSpec = glib::ParamSpecEnum;
|
|
|
|
type SetValue = Self;
|
|
|
|
type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
|
|
|
|
|
|
|
|
fn param_spec_builder() -> Self::BuilderFn {
|
|
|
|
|name, default_value| Self::ParamSpec::builder_with_default(name, default_value)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2021-04-19 16:24:43 +00:00
|
|
|
impl glib::value::ValueType for LFOWaveform {
|
|
|
|
type Type = Self;
|
2020-06-09 01:06:49 +00:00
|
|
|
}
|
|
|
|
|
2023-07-06 13:05:38 +00:00
|
|
|
unsafe impl<'a> glib::value::FromValue<'a> for LFOWaveform {
|
2021-04-19 16:24:43 +00:00
|
|
|
type Checker = glib::value::GenericValueTypeChecker<Self>;
|
|
|
|
|
2023-01-03 18:56:00 +00:00
|
|
|
#[inline]
|
2021-04-19 16:24:43 +00:00
|
|
|
unsafe fn from_value(value: &'a glib::Value) -> Self {
|
|
|
|
skip_assert_initialized!();
|
2020-11-21 18:48:08 +00:00
|
|
|
from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
|
2020-06-09 01:06:49 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2021-04-19 16:24:43 +00:00
|
|
|
impl ToValue for LFOWaveform {
|
2023-01-03 18:56:00 +00:00
|
|
|
#[inline]
|
2021-04-19 16:24:43 +00:00
|
|
|
fn to_value(&self) -> glib::Value {
|
2021-04-25 16:45:59 +00:00
|
|
|
let mut value = glib::Value::for_value_type::<Self>();
|
2021-04-19 16:24:43 +00:00
|
|
|
unsafe {
|
2021-04-27 15:10:39 +00:00
|
|
|
glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
|
2021-04-19 16:24:43 +00:00
|
|
|
}
|
|
|
|
value
|
|
|
|
}
|
|
|
|
|
2023-01-03 18:56:00 +00:00
|
|
|
#[inline]
|
2021-04-19 16:24:43 +00:00
|
|
|
fn value_type(&self) -> glib::Type {
|
|
|
|
Self::static_type()
|
2020-06-09 01:06:49 +00:00
|
|
|
}
|
|
|
|
}
|
2022-11-26 09:28:05 +00:00
|
|
|
|
|
|
|
impl From<LFOWaveform> for glib::Value {
|
|
|
|
#[inline]
|
|
|
|
fn from(v: LFOWaveform) -> Self {
|
|
|
|
skip_assert_initialized!();
|
|
|
|
ToValue::to_value(&v)
|
|
|
|
}
|
|
|
|
}
|