Struct alsa::ctl::Ctl

source ·
pub struct Ctl(/* private fields */);
Expand description

snd_ctl_t wrapper

Implementations§

source§

impl Ctl

source

pub fn new(c: &str, nonblock: bool) -> Result<Self>

Wrapper around open that takes a &str instead of a &CStr

source

pub fn open(c: &CStr, nonblock: bool) -> Result<Ctl>

Open does not support async mode (it’s not very Rustic anyway)

source

pub fn from_card(c: &Card, nonblock: bool) -> Result<Ctl>

source

pub fn card_info(&self) -> Result<CardInfo>

source

pub fn wait(&self, timeout_ms: Option<u32>) -> Result<bool>

source

pub fn get_db_range(&self, id: &ElemId) -> Result<(MilliBel, MilliBel)>

source

pub fn convert_to_db(&self, id: &ElemId, volume: i64) -> Result<MilliBel>

source

pub fn convert_from_db( &self, id: &ElemId, mb: MilliBel, dir: Round ) -> Result<i64>

source

pub fn elem_read(&self, val: &mut ElemValue) -> Result<()>

source

pub fn elem_write(&self, val: &ElemValue) -> Result<()>

source

pub fn subscribe_events(&self, subscribe: bool) -> Result<()>

Note: According to alsa-lib documentation, you’re also supposed to have functionality for returning whether or not you are subscribed. This does not work in practice, so I’m not including that here.

source

pub fn read(&self) -> Result<Option<Event>>

source

pub fn pcm_info( &self, device: u32, subdevice: u32, direction: Direction ) -> Result<Info>

Trait Implementations§

source§

impl Descriptors for Ctl

source§

fn count(&self) -> usize

source§

fn fill(&self, p: &mut [pollfd]) -> Result<usize>

source§

fn revents(&self, p: &[pollfd]) -> Result<Flags>

source§

fn get(&self) -> Result<Vec<pollfd>>

Wrapper around count and fill - returns an array of pollfds
source§

impl Drop for Ctl

source§

fn drop(&mut self)

Executes the destructor for this type. Read more
source§

impl Send for Ctl

Auto Trait Implementations§

§

impl RefUnwindSafe for Ctl

§

impl !Sync for Ctl

§

impl Unpin for Ctl

§

impl UnwindSafe for Ctl

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.