Difference between revisions of "Unit Audio"

From Ultibo.org
Jump to: navigation, search
Line 5: Line 5:
 
----
 
----
  
'''Ultibo Audio interface unit'''
+
'''Ultibo Audio Interface unit'''
  
 
This unit provides both the Audio device interface and the generic USB audio device driver.
 
This unit provides both the Audio device interface and the generic USB audio device driver.

Revision as of 04:50, 31 August 2021

Return to Unit Reference


Description


Ultibo Audio Interface unit

This unit provides both the Audio device interface and the generic USB audio device driver.

Constants



[Expand]
Audio specific constants AUDIO_*


[Expand]
Audio device types AUDIO_TYPE_*


[Expand]
Audio device states AUDIO_STATE_*


[Expand]
Audio device flags AUDIO_FLAG_*


[Expand]
Audio logging AUDIO_LOG_*


Type definitions



Audio properties

[Expand]

PAudioProperties = ^TAudioProperties;

TAudioProperties = record

Audio enumeration callback

TAudioEnumerate = function(Audio:PAudioDevice; Data:Pointer):LongWord;

Audio notification callback

TAudioNotification = function(Device:PDevice; Data:Pointer; Notification:LongWord):LongWord;

Audio device get properties

TAudioDeviceGetProperties = function(Audio:PAudioDevice; Properties:PAudioProperties):LongWord;

Audio device

[Expand]

PAudioDevice = ^TAudioDevice;

TAudioDevice = record


Public variables



Audio logging

AUDIO_DEFAULT_LOG_LEVEL:LongWord = AUDIO_LOG_LEVEL_DEBUG; Minimum level for Audio messages. Only messages with level greater than or equal to this will be printed.
AUDIO_LOG_ENABLED:Boolean;


Function declarations



Initialization functions

[Expand]
procedure AudioInit;
Description: Initialize the Audio unit and Audio device table


Audio device functions

[Expand]
function AudioDeviceGetProperties(Audio:PAudioDevice; Properties:PAudioProperties):LongWord;
Description: Get the properties for the specified Audio device


[Expand]
function AudioDeviceCreate:PAudioDevice;
Description: Create a new Audio device entry


[Expand]
function AudioDeviceCreateEx(Size:LongWord):PAudioDevice;
Description: Create a new Audio device entry


[Expand]
function AudioDeviceDestroy(Audio:PAudioDevice):LongWord;
Description: Destroy an existing Audio device entry


[Expand]
function AudioDeviceRegister(Audio:PAudioDevice):LongWord;
Description: Register a new Audio device in the Audio device table


[Expand]
function AudioDeviceDeregister(Audio:PAudioDevice):LongWord;
Description: Deregister an Audio device from the Audio device table


[Expand]
function AudioDeviceFind(AudioId:LongWord):PAudioDevice;
Description: To be documented


[Expand]
function AudioDeviceFindByName(const Name:String):PAudioDevice; inline;
Description: To be documented


[Expand]
function AudioDeviceFindByDescription(const Description:String):PAudioDevice; inline;
Description: To be documented


[Expand]
function AudioDeviceEnumerate(Callback:TAudioEnumerate; Data:Pointer):LongWord;
Description: To be documented


[Expand]
function AudioDeviceNotification(Audio:PAudioDevice; Callback:TAudioNotification; Data:Pointer; Notification,Flags:LongWord):LongWord;
Description: To be documented


Audio helper functions

[Expand]
function AudioGetCount:LongWord; inline;
Description: Get the current Audio device count


[Expand]
function AudioDeviceGetDefault:PAudioDevice; inline;
Description: Get the current default Audio device


[Expand]
function AudioDeviceSetDefault(Audio:PAudioDevice):LongWord;
Description: Set the current default Audio device


[Expand]
function AudioDeviceCheck(Audio:PAudioDevice):PAudioDevice;
Description: Check if the supplied Audio device is in the Audio device table


[Expand]
procedure AudioLog(Level:LongWord; Audio:PAudioDevice; const AText:String);
Description: To be documented


[Expand]
procedure AudioLogInfo(Audio:PAudioDevice; const AText:String); inline;
Description: To be documented


[Expand]
procedure AudioLogWarn(Audio:PAudioDevice; const AText:String); inline;
Description: To be documented


[Expand]
procedure AudioLogError(Audio:PAudioDevice; const AText:String); inline;
Description: To be documented


[Expand]
procedure AudioLogDebug(Audio:PAudioDevice; const AText:String); inline;
Description: To be documented


Return to Unit Reference