Difference between revisions of "Unit Audio"
From Ultibo.org
(2 intermediate revisions by the same user not shown) | |||
Line 5: | Line 5: | ||
---- | ---- | ||
− | '''Ultibo Audio | + | '''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 207: | Line 207: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| Called only during system startup | | Called only during system startup | ||
|- | |- | ||
Line 222: | Line 222: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Audio |
| The Audio device to get properties from | | The Audio device to get properties from | ||
|- | |- | ||
− | ! | + | ! Properties |
| Pointer to a TAudioProperties structure to fill in | | Pointer to a TAudioProperties structure to fill in | ||
|- | |- | ||
− | ! | + | ! Return |
| ERROR_SUCCESS if completed or another error code on failure | | ERROR_SUCCESS if completed or another error code on failure | ||
|- | |- | ||
Line 240: | Line 240: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Return |
| Pointer to new Audio device entry or nil if Audio device could not be created | | Pointer to new Audio device entry or nil if Audio device could not be created | ||
|- | |- | ||
Line 252: | Line 252: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Size |
| Size in bytes to allocate for new Audio device (Including the Audio device entry) | | Size in bytes to allocate for new Audio device (Including the Audio device entry) | ||
|- | |- | ||
− | ! | + | ! Return |
| Pointer to new Audio device entry or nil if Audio device could not be created | | Pointer to new Audio device entry or nil if Audio device could not be created | ||
|- | |- | ||
Line 267: | Line 267: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 279: | Line 279: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 291: | Line 291: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 303: | Line 303: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 315: | Line 315: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 327: | Line 327: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 339: | Line 339: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 351: | Line 351: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
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 | + | <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;"> | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
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 | + | <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;"> | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 390: | Line 390: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 402: | Line 402: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 414: | Line 414: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 426: | Line 426: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 438: | Line 438: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 450: | Line 450: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 462: | Line 462: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- |
Latest revision as of 04:03, 15 December 2022
Return to Unit Reference
Contents
[hide]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
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
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
Audio device functions
[Expand]
function AudioDeviceGetProperties(Audio:PAudioDevice; Properties:PAudioProperties):LongWord;
Description: Get the properties for the specified Audio device
[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 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 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