Difference between revisions of "Unit Audio"

From Ultibo.org
Jump to: navigation, search
Line 84: Line 84:
 
----
 
----
  
''To be documented''
+
 
 +
'''Audio properties'''
 +
 
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">
 +
<code>PAudioProperties = ^TAudioProperties;</code>
 +
 
 +
<code>TAudioProperties = record</code>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
| <code>Flags:LongWord;</code>
 +
| Device flags (eg AUDIO_FLAG_????)
 +
|-
 +
|}
 +
</div></div>
 +
 
 +
'''Audio enumeration callback'''
 +
 
 +
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 +
|-
 +
| <code>TAudioEnumerate = function(Audio:PAudioDevice; Data:Pointer):LongWord;</code>
 +
| style="width: 40%;"|
 +
|-
 +
|}
 +
 
 +
'''Audio notification callback'''
 +
 
 +
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 +
|-
 +
| <code>TAudioNotification = function(Device:PDevice; Data:Pointer; Notification:LongWord):LongWord;</code>
 +
| style="width: 40%;"|
 +
|-
 +
|}
 +
 
 +
'''Audio device get properties'''
 +
 
 +
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 +
|-
 +
| <code>TAudioDeviceGetProperties = function(Audio:PAudioDevice; Properties:PAudioProperties):LongWord;</code>
 +
| style="width: 40%;"|
 +
|-
 +
|}
 +
 
 +
'''Audio device'''
 +
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">
 +
<code>PAudioDevice = ^TAudioDevice;</code>
 +
 
 +
<code>TAudioDevice = record</code>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
|colspan="2"|''Device Properties''
 +
|-
 +
| <code>Device:TDevice;</code>
 +
| The Device entry for this Audio device
 +
|-
 +
|colspan="2"|''Audio Properties''
 +
|-
 +
| <code>AudioId:LongWord;</code>
 +
| Unique Id of this Audio device in the Audio device table
 +
|-
 +
| <code>AudioState:LongWord;</code>
 +
| Audio device state (eg AUDIO_STATE_ENABLED)
 +
|-
 +
| <code>DeviceGetProperties:TAudioDeviceGetProperties;</code>
 +
| A Device specific DeviceGetProperties method implementing the standard Audio device interface (Or nil if the default method is suitable)
 +
|-
 +
|colspan="2"|''Driver Properties''
 +
|-
 +
| <code>Lock:TMutexHandle;</code>
 +
| Device lock
 +
|-
 +
| <code>Properties:TAudioProperties;</code>
 +
| Device properties
 +
|-
 +
|colspan="2"|''Internal Properties''
 +
|-
 +
| <code>Prev:PAudioDevice;</code>
 +
| Previous entry in Audio device table
 +
|-
 +
| <code>Next:PAudioDevice;</code>
 +
| Next entry in Audio device table
 +
|-
 +
|}
 +
</div></div>
 +
<br />
  
 
=== Public variables ===
 
=== Public variables ===

Revision as of 03:38, 19 June 2017

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


To be documented

Function declarations


To be documented


Return to Unit Reference