Classes

The following classes are available globally.

  • Declaration

    Objective-C

    
    @interface SFBReplayGainAnalyzer : NSObject
  • An input source

    See more

    Declaration

    Objective-C

    
    @interface SFBInputSource : NSObject
  • Class supporting commonly-used audio metadata and attached pictures

    See more

    Declaration

    Objective-C

    
    @interface SFBAudioMetadata : NSObject <NSCopying>
  • Class providing information on basic audio properties

    See more

    Declaration

    Objective-C

    
    @interface SFBAudioProperties : NSObject <NSCopying>
  • An output source

    See more

    Declaration

    Objective-C

    
    @interface SFBOutputSource : NSObject
  • An audio player wrapping an \c AVAudioEngine processing graph supplied by \c SFBAudioPlayerNode

    \c SFBAudioPlayer supports gapless playback for audio with the same sample rate and number of channels. For audio with different sample rates or channels, the audio processing graph is automatically reconfigured.

    An \c SFBAudioPlayer may be in one of three playback states: playing, paused, or stopped. These states are based on whether the underlying \c AVAudioEngine is running (\c SFBAudioPlayer.engineIsRunning) and the \c SFBAudioPlayerNode is playing (\c SFBAudioPlayer.playerNodeIsPlaying).

    \c SFBAudioPlayer supports delegate-based callbacks for the following events:

    1. Decoding started
    2. Decoding complete
    3. Decoding canceled
    4. Rendering will start
    5. Rendering started
    6. Rendering complete
    7. Now playing changed
    8. Playback state changed
    9. AVAudioEngineConfigurationChange notification received
    10. End of audio
    11. Asynchronous error encountered

    The dispatch queue on which callbacks are performed is not specified.

    See more

    Declaration

    Objective-C

    
    @interface SFBAudioPlayer : NSObject <SFBAudioPlayerNodeDelegate>

SFBAudioPlayerNode

  • An \c AVAudioSourceNode supporting gapless playback for PCM formats

    The output format of \c SFBAudioPlayerNode is specified at object initialization and cannot be changed. The output format must be the standard format, deinterleaved native-endian 32-bit floating point PCM, at any sample rate with any number of channels.

    \c SFBAudioPlayerNode is supplied by objects implementing \c SFBPCMDecoding (decoders) and supports audio at the same sample rate and with the same number of channels as the output format. \c SFBAudioPlayerNode supports seeking when supported by the decoder.

    \c SFBAudioPlayerNode maintains a current decoder and a queue of pending decoders. The current decoder is the decoder that will supply the earliest audio frame in the next render cycle when playing. Pending decoders are automatically dequeued and become current when the final frame of the current decoder is pushed in the render block.

    \c SFBAudioPlayerNode decodes audio in a high priority (non-realtime) thread into a ring buffer and renders on demand. Rendering occurs in a realtime thread when the render block is called; the render block always supplies audio. When playback is paused or insufficient audio is available the render block outputs silence.

    Since decoding and rendering are distinct operations performed in separate threads, a GCD timer on the background queue is used for garbage collection. This is necessary because state data created in the decoding thread needs to live until rendering is complete, which cannot occur until after decoding is complete.

    \c SFBAudioPlayerNode supports delegate-based callbacks for the following events:

    1. Decoding started
    2. Decoding complete
    3. Decoding canceled
    4. Rendering will start
    5. Rendering started
    6. Rendering complete
    7. End of audio

    All callbacks are performed on a dedicated notification queue.

    See more

    Declaration

    Objective-C

    
    @interface SFBAudioPlayerNode : AVAudioSourceNode
  • A class encapsulating a single attached picture.

    Most file formats may have more than one attached picture of each type.

    See more

    Declaration

    Objective-C

    
    @interface SFBAttachedPicture : NSObject <NSCopying>
  • An audio converter converts audio from one format to another through a PCM intermediate format.

    An audio converter reads PCM audio from an audio decoder in the decoder’s processing format, converts that audio to an intermediate PCM format, and then writes the intermediate PCM audio to an audio encoder which performs the final conversion to the desired format.

    The decoder’s processing format and intermediate format must both be PCM but do not have to have the same sample rate, bit depth, channel count, or channel layout.

    AVAudioConverter is used to convert from the decoder’s processing format to the intermediate format, performing sample rate conversion and channel mapping as required.

    See more

    Declaration

    Objective-C

    
    @interface SFBAudioConverter : NSObject
  • A decoder providing audio as PCM

    See more

    Declaration

    Objective-C

    
    @interface SFBAudioDecoder : NSObject <SFBPCMDecoding>
  • An encoder consuming PCM audio

    See more

    Declaration

    Objective-C

    
    @interface SFBAudioEncoder : NSObject <SFBPCMEncoding>
  • A class that exports audio using \c AVAudioFile

    See more

    Declaration

    Objective-C

    
    @interface SFBAudioExporter : NSObject
  • An audio file containing properties (like channel count and sample rate) and metadata (like artist name and album title)

    See more

    Declaration

    Objective-C

    
    @interface SFBAudioFile : NSObject
  • A decoder providing audio as DSD

    See more

    Declaration

    Objective-C

    
    @interface SFBDSDDecoder : NSObject <SFBDSDDecoding>
  • A wrapper around a DSD decoder supporting DSD64 to PCM conversion

    See more

    Declaration

    Objective-C

    
    @interface SFBDSDPCMDecoder : NSObject <SFBPCMDecoding>
  • A wrapper around a DSD decoder supporting DoP (DSD over PCM)

    See more

    Declaration

    Objective-C

    
    @interface SFBDoPDecoder : NSObject <SFBPCMDecoding>
  • A class supporting a repeating segment of a decoder

    See more

    Declaration

    Objective-C

    
    @interface SFBLoopableRegionDecoder : NSObject <SFBPCMDecoding>
  • A HAL audio aggregate device object

    Remark

    This class correponds to objects with the base class kAudioAggregateDeviceClassID
    See more

    Declaration

    Swift

    public class AudioAggregateDevice : AudioDevice
  • A HAL audio box object

    This class has a single scope (kAudioObjectPropertyScopeGlobal) and a single element (kAudioObjectPropertyElementMaster)

    Remark

    This class correponds to objects with base class kAudioBoxClassID
    See more

    Declaration

    Swift

    public class AudioBox : AudioObject
  • A HAL audio clock device object

    This class has a single scope (kAudioObjectPropertyScopeGlobal) and a single element (kAudioObjectPropertyElementMaster)

    Remark

    This class correponds to objects with base class kAudioClockDeviceClassID
    See more

    Declaration

    Swift

    public class AudioClockDevice : AudioObject
  • A HAL audio control object

    This class has a single scope (kAudioObjectPropertyScopeGlobal) and a single element (kAudioObjectPropertyElementMaster)

    Remark

    This class correponds to objects with base class kAudioControlClassID
    See more

    Declaration

    Swift

    public class AudioControl : AudioObject
  • A HAL audio device object

    This class has four scopes (kAudioObjectPropertyScopeGlobal, kAudioObjectPropertyScopeInput, kAudioObjectPropertyScopeOutput, and kAudioObjectPropertyScopePlayThrough), a master element (kAudioObjectPropertyElementMaster), and an element for each channel in each stream

    Remark

    This class correponds to objects with base class kAudioDeviceClassID
    See more

    Declaration

    Swift

    public class AudioDevice : AudioObject
  • A HAL audio endpoint

    Remark

    This class correponds to objects with base class kAudioEndPointClassID

    Declaration

    Swift

    public class AudioEndpoint : AudioDevice
  • A HAL audio endpoint device

    Remark

    This class correponds to objects with base class kAudioEndPointDeviceClassID
    See more

    Declaration

    Swift

    public class AudioEndpointDevice : AudioDevice
  • A HAL audio object

    See more

    Declaration

    Swift

    public class AudioObject : CustomDebugStringConvertible
    extension AudioObject: Hashable
  • A HAL audio plug-in object

    This class has a single scope (kAudioObjectPropertyScopeGlobal) and a single element (kAudioObjectPropertyElementMaster)

    Remark

    This class correponds to objects of type kAudioPlugInClassID
    See more

    Declaration

    Swift

    public class AudioPlugIn : AudioObject
  • A HAL audio stream object

    This class has a single scope (kAudioObjectPropertyScopeGlobal), a master element (kAudioObjectPropertyElementMaster), and an element for each channel

    Remark

    This class correponds to objects with base class kAudioStreamClassID
    See more

    Declaration

    Swift

    public class AudioStream : AudioObject
  • A HAL audio subdevice

    Remark

    This class correponds to objects with base class kAudioSubDeviceClassID
    See more

    Declaration

    Swift

    public class AudioSubdevice : AudioDevice
  • The HAL audio system object

    This class has a single scope (kAudioObjectPropertyScopeGlobal) and a single element (kAudioObjectPropertyElementMaster)

    Remark

    This class correponds to the object with id kAudioObjectSystemObject and class kAudioSystemObjectClassID
    See more

    Declaration

    Swift

    public class AudioSystemObject : AudioObject
  • A HAL audio transport manager object

    This class has a single scope (kAudioObjectPropertyScopeGlobal) and a single element (kAudioObjectPropertyElementMaster)

    Remark

    This class correponds to objects with base class kAudioTransportManagerClassID
    See more

    Declaration

    Swift

    public class AudioTransportManager : AudioPlugIn
  • A HAL audio boolean control object

    Remark

    This class correponds to objects with base class kAudioBooleanControlClassID
    See more

    Declaration

    Swift

    public class BooleanControl : AudioControl
  • A HAL audio mute control object

    Remark

    This class correponds to objects with base class kAudioMuteControlClassID

    Declaration

    Swift

    public class MuteControl : BooleanControl
  • A HAL audio solo control object

    Remark

    This class correponds to objects with base class kAudioSoloControlClassID

    Declaration

    Swift

    public class SoloControl : BooleanControl
  • A HAL audio jack control object

    Remark

    This class correponds to objects with base class kAudioJackControlClassID

    Declaration

    Swift

    public class JackControl : BooleanControl
  • A HAL audio LFE mute control object

    Remark

    This class correponds to objects with base class kAudioLFEMuteControlClassID

    Declaration

    Swift

    public class LFEMuteControl : BooleanControl
  • A HAL audio phantom power control object

    Remark

    This class correponds to objects with base class kAudioPhantomPowerControlClassID

    Declaration

    Swift

    public class PhantomPowerControl : BooleanControl
  • A HAL audio phase invert control object

    Remark

    This class correponds to objects with base class kAudioPhaseInvertControlClassID

    Declaration

    Swift

    public class PhaseInvertControl : BooleanControl
  • A HAL audio clip light control object

    Remark

    This class correponds to objects with base class kAudioClipLightControlClassID

    Declaration

    Swift

    public class ClipLightControl : BooleanControl
  • A HAL audio talkback control object

    Remark

    This class correponds to objects with base class kAudioTalkbackControlClassID

    Declaration

    Swift

    public class TalkbackControl : BooleanControl
  • A HAL audio listenback control object

    Remark

    This class correponds to objects with base class kAudioListenbackControlClassID

    Declaration

    Swift

    public class ListenbackControl : BooleanControl
  • A HAL audio level control object

    Remark

    This class correponds to objects with base class kAudioLevelControlClassID
    See more

    Declaration

    Swift

    public class LevelControl : AudioControl
  • A HAL audio volume control object

    Remark

    This class correponds to objects with base class kAudioVolumeControlClassID

    Declaration

    Swift

    public class VolumeControl : LevelControl
  • A HAL audio LFE volume control object

    Remark

    This class correponds to objects with base class kAudioLFEVolumeControlClassID

    Declaration

    Swift

    public class LFEVolumeControl : LevelControl
  • A HAL audio selector control object

    Remark

    This class correponds to objects with base class kAudioSelectorControlClassID
    See more

    Declaration

    Swift

    public class SelectorControl : AudioControl
  • A HAL audio data source control

    Remark

    This class correponds to objects with base class kAudioDataSourceControlClassID

    Declaration

    Swift

    public class DataSourceControl : SelectorControl
  • A HAL audio data destination control

    Remark

    This class correponds to objects with base class kAudioDataDestinationControlClassID

    Declaration

    Swift

    public class DataDestinationControl : SelectorControl
  • A HAL audio clock source control

    Remark

    This class correponds to objects with base class kAudioClockSourceControlClassID

    Declaration

    Swift

    public class ClockSourceControl : SelectorControl
  • A HAL audio line level control

    Remark

    This class correponds to objects with base class kAudioLineLevelControlClassID

    Declaration

    Swift

    public class LineLevelControl : SelectorControl
  • A HAL audio high pass filter control

    Remark

    This class correponds to objects with base class kAudioHighPassFilterControlClassID

    Declaration

    Swift

    public class HighPassFilterControl : SelectorControl
  • A HAL audio slider control object

    Remark

    This class correponds to objects with base class kAudioSliderControlClassID
    See more

    Declaration

    Swift

    public class SliderControl : AudioControl
  • A HAL audio stereo pan control object

    Remark

    This class correponds to objects with base class kAudioStereoPanControlClassID
    See more

    Declaration

    Swift

    public class StereoPanControl : AudioControl