Difference between revisions of "Unit Audio"

From Ultibo.org
Jump to: navigation, search
 
(One intermediate revision by the same user not shown)
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.
Line 361: Line 361:
  
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
<pre style="border: 0; padding-bottom:0px;">function AudioGetCount:LongWord; inline;</pre>
+
<pre style="border: 0; padding-bottom:0px;">function AudioGetCount:LongWord;</pre>
 
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' Get the current Audio device count</div>
 
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' Get the current Audio device count</div>
 
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
Line 373: Line 373:
 
<br />  
 
<br />  
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
<pre style="border: 0; padding-bottom:0px;">function AudioDeviceGetDefault:PAudioDevice; inline;</pre>
+
<pre style="border: 0; padding-bottom:0px;">function AudioDeviceGetDefault:PAudioDevice;</pre>
 
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' Get the current default Audio device</div>
 
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' Get the current default Audio device</div>
 
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">

Latest revision as of 04:03, 15 December 2022

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;
Description: Get the current Audio device count


[Expand]
function AudioDeviceGetDefault:PAudioDevice;
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