1#![allow(non_camel_case_types, non_upper_case_globals, non_snake_case)]
7#![allow(
8 clippy::approx_constant,
9 clippy::type_complexity,
10 clippy::unreadable_literal,
11 clippy::upper_case_acronyms
12)]
13#![cfg_attr(docsrs, feature(doc_cfg))]
14
15use glib_sys as glib;
16use gobject_sys as gobject;
17
18#[cfg(unix)]
19#[allow(unused_imports)]
20use libc::{dev_t, gid_t, pid_t, socklen_t, uid_t};
21#[allow(unused_imports)]
22use libc::{intptr_t, off_t, size_t, ssize_t, time_t, uintptr_t, FILE};
23#[allow(unused_imports)]
24use std::ffi::{
25 c_char, c_double, c_float, c_int, c_long, c_short, c_uchar, c_uint, c_ulong, c_ushort, c_void,
26};
27
28#[allow(unused_imports)]
29use glib::{gboolean, gconstpointer, gpointer, GType};
30
31pub type AstalCavaInput = c_int;
33pub const ASTAL_CAVA_INPUT_FIFO: AstalCavaInput = 0;
34pub const ASTAL_CAVA_INPUT_PORTAUDIO: AstalCavaInput = 1;
35pub const ASTAL_CAVA_INPUT_PIPEWIRE: AstalCavaInput = 2;
36pub const ASTAL_CAVA_INPUT_ALSA: AstalCavaInput = 3;
37pub const ASTAL_CAVA_INPUT_PULSE: AstalCavaInput = 4;
38pub const ASTAL_CAVA_INPUT_SNDIO: AstalCavaInput = 5;
39pub const ASTAL_CAVA_INPUT_SHMEM: AstalCavaInput = 8;
40pub const ASTAL_CAVA_INPUT_WINSCAP: AstalCavaInput = 9;
41
42#[derive(Copy, Clone)]
44#[repr(C)]
45pub struct AstalCavaCavaClass {
46 pub parent_class: gobject::GObjectClass,
47}
48
49impl ::std::fmt::Debug for AstalCavaCavaClass {
50 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
51 f.debug_struct(&format!("AstalCavaCavaClass @ {self:p}"))
52 .field("parent_class", &self.parent_class)
53 .finish()
54 }
55}
56
57#[repr(C)]
59#[allow(dead_code)]
60pub struct AstalCavaCava {
61 _data: [u8; 0],
62 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
63}
64
65impl ::std::fmt::Debug for AstalCavaCava {
66 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
67 f.debug_struct(&format!("AstalCavaCava @ {self:p}"))
68 .finish()
69 }
70}
71
72extern "C" {
73
74 pub fn astal_cava_input_get_type() -> GType;
78
79 pub fn astal_cava_cava_get_type() -> GType;
83 pub fn astal_cava_cava_get_default() -> *mut AstalCavaCava;
84 pub fn astal_cava_cava_get_active(self_: *mut AstalCavaCava) -> gboolean;
85 pub fn astal_cava_cava_get_autosens(self_: *mut AstalCavaCava) -> gboolean;
86 pub fn astal_cava_cava_get_bars(self_: *mut AstalCavaCava) -> c_int;
87 pub fn astal_cava_cava_get_channels(self_: *mut AstalCavaCava) -> c_int;
88 pub fn astal_cava_cava_get_framerate(self_: *mut AstalCavaCava) -> c_int;
89 pub fn astal_cava_cava_get_high_cutoff(self_: *mut AstalCavaCava) -> c_int;
90 pub fn astal_cava_cava_get_input(self_: *mut AstalCavaCava) -> AstalCavaInput;
91 pub fn astal_cava_cava_get_low_cutoff(self_: *mut AstalCavaCava) -> c_int;
92 pub fn astal_cava_cava_get_noise_reduction(self_: *mut AstalCavaCava) -> c_double;
93 pub fn astal_cava_cava_get_samplerate(self_: *mut AstalCavaCava) -> c_int;
94 pub fn astal_cava_cava_get_source(self_: *mut AstalCavaCava) -> *mut c_char;
95 pub fn astal_cava_cava_get_stereo(self_: *mut AstalCavaCava) -> gboolean;
96 pub fn astal_cava_cava_get_values(self_: *mut AstalCavaCava) -> *mut glib::GArray;
97 pub fn astal_cava_cava_set_active(self_: *mut AstalCavaCava, active: gboolean);
98 pub fn astal_cava_cava_set_autosens(self_: *mut AstalCavaCava, autosens: gboolean);
99 pub fn astal_cava_cava_set_bars(self_: *mut AstalCavaCava, bars: c_int);
100 pub fn astal_cava_cava_set_channels(self_: *mut AstalCavaCava, channels: c_int);
101 pub fn astal_cava_cava_set_framerate(self_: *mut AstalCavaCava, framerate: c_int);
102 pub fn astal_cava_cava_set_high_cutoff(self_: *mut AstalCavaCava, high_cutoff: c_int);
103 pub fn astal_cava_cava_set_input(self_: *mut AstalCavaCava, input: AstalCavaInput);
104 pub fn astal_cava_cava_set_low_cutoff(self_: *mut AstalCavaCava, low_cutoff: c_int);
105 pub fn astal_cava_cava_set_noise_reduction(self_: *mut AstalCavaCava, noise: c_double);
106 pub fn astal_cava_cava_set_samplerate(self_: *mut AstalCavaCava, samplerate: c_int);
107 pub fn astal_cava_cava_set_source(self_: *mut AstalCavaCava, source: *const c_char);
108 pub fn astal_cava_cava_set_stereo(self_: *mut AstalCavaCava, stereo: gboolean);
109
110 pub fn astal_cava_get_default() -> *mut AstalCavaCava;
114
115}