Copyright | Will Thompson, Iñaki García Etxebarria and Jonas Platte |
---|---|
License | LGPL-2.1 |
Maintainer | Iñaki García Etxebarria (garetxe@gmail.com) |
Safe Haskell | None |
Language | Haskell2010 |
This is the most simple base class for audio sources that only requires subclasses to implement a set of simple functions:
<variablelist>
<varlistentry>
<term>open()
</term>
<listitem><para>Open the device.</para></listitem>
</varlistentry>
<varlistentry>
<term>prepare()
</term>
<listitem><para>Configure the device with the specified format.</para></listitem>
</varlistentry>
<varlistentry>
<term>read()
</term>
<listitem><para>Read samples from the device.</para></listitem>
</varlistentry>
<varlistentry>
<term>reset()
</term>
<listitem><para>Unblock reads and flush the device.</para></listitem>
</varlistentry>
<varlistentry>
<term>delay()
</term>
<listitem><para>Get the number of samples in the device but not yet read.
</para></listitem>
</varlistentry>
<varlistentry>
<term>unprepare()
</term>
<listitem><para>Undo operations done by prepare.</para></listitem>
</varlistentry>
<varlistentry>
<term>close()
</term>
<listitem><para>Close the device.</para></listitem>
</varlistentry>
</variablelist>
All scheduling of samples and timestamps is done in this base class
together with AudioBaseSrc
using a default implementation of a
AudioRingBuffer
that uses threads.
- newtype AudioSrc = AudioSrc (ManagedPtr AudioSrc)
- class GObject o => IsAudioSrc o
- toAudioSrc :: IsAudioSrc o => o -> IO AudioSrc
- noAudioSrc :: Maybe AudioSrc
Exported types
GObject AudioSrc Source # | |
IsObject AudioSrc Source # | |
IsElement AudioSrc Source # | |
IsObject AudioSrc Source # | |
IsPushSrc AudioSrc Source # | |
IsBaseSrc AudioSrc Source # | |
IsAudioBaseSrc AudioSrc Source # | |
IsAudioSrc AudioSrc Source # | |
((~) * info (ResolveAudioSrcMethod t AudioSrc), MethodInfo * info AudioSrc p) => IsLabel t (AudioSrc -> p) Source # | |
((~) * info (ResolveAudioSrcMethod t AudioSrc), MethodInfo * info AudioSrc p) => IsLabelProxy t (AudioSrc -> p) Source # | |
HasAttributeList * AudioSrc Source # | |
type AttributeList AudioSrc Source # | |
type SignalList AudioSrc Source # | |
class GObject o => IsAudioSrc o Source #
(GObject a, UnknownAncestorError Constraint AudioSrc a) => IsAudioSrc a Source # | |
IsAudioSrc AudioSrc Source # | |
toAudioSrc :: IsAudioSrc o => o -> IO AudioSrc Source #