Difference between revisions of "API Sound.Queue"

From Flowcode Help
Jump to navigationJump to search
(XML import)
 
(9 intermediate revisions by 2 users not shown)
Line 1: Line 1:
<sidebar>API contents</sidebar>
+
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
Queues a sound for playing
+
|-
 +
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 +
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Queue'''
 +
|-
 +
| colspan="2" | Queues a sound for playing&nbsp;
 +
|-
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-h32-icon.png]] - HANDLE
 +
| width="90%" | Sounds
 +
|-
 +
| colspan="2" | The handle of the sound object to queue to&nbsp;
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-void-icon.png]] - ARRAY
 +
| width="90%" | Data
 +
|-
 +
| colspan="2" | The array to play data from&nbsp;
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u32-icon.png]] - ULONG
 +
| width="90%" | Offset
 +
|-
 +
| colspan="2" | The element in the array to start at&nbsp;
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u32-icon.png]] - ULONG
 +
| width="90%" | Elements
 +
|-
 +
| colspan="2" | The number of elements to play&nbsp;
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-f32-icon.png]] - FLOAT
 +
| width="90%" | RateMul
 +
|-
 +
| colspan="2" | A multiplier to the sounds sample rate&nbsp;
 +
|-
 +
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-bool-icon.png]] - BOOL
 +
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 +
|}
  
<div style="width:25%; float:right" class="toc">
 
====Class hierarchy====
 
[[API Sound|Sound]]
 
:[[API Sound|Queue]]
 
</div>
 
__TOC__
 
  
==Parameters==
+
==Detailed description==
[[Variable types|HANDLE]] ''Sounds''
+
This adds a sound to the queue to be played when the currently playing sound completes. If no sound is currently playing this will play immediately.
:The handle of the sound object to queue to
 
 
 
[[Variable types|ARRAY]] ''Data''
 
:The array to play data from
 
 
 
[[Variable types|ULONG]] ''Offset''
 
:The element in the array to start at
 
:''The default value for this parameter is: '''''0'''
 
 
 
[[Variable types|ULONG]] ''Elements''
 
:The number of elements to play
 
:''The default value for this parameter is: '''''-1'''
 
  
[[Variable types|FLOAT]] ''RateMul''
 
:A multiplier to the sounds sample rate
 
:''The default value for this parameter is: '''''1'''
 
  
 +
The ''Elements'' is a maximum, and will be bounded to the size of the input ''Array'' if too large. This means passing -1 (unsigned) is the equivalent of 'the full array'. The relevant contents of the ''Array'' are copied so the contents may be altered immediately after this call.
  
==Return value==
+
The format of each sample in ''Array'' depends on its data type. Floating point samples are assumed to be in the range 0 to 1. All integer values have their sign and bit size considered and are in a range from the minimum to the maximum of their type, so a signed 16 bit array has an expected range -32768 to 32767. To explicitly declare the data format use [[API Sound.QueueEx|Sound.QueueEx]].
[[Variable types|BOOL]]
 
Returns true if the operation is a success, else false
 
  
  
==Detailed description==
+
''RateMul'' can be used to adjust the sample rate for the sound in software. Linear interpolation is used to scale the input ''Array'' by this factor. This means to play at half the sample rate (so the sound plays twice as slow) set ''RateMul''=0.5.
''<span style="color:red;">No additional information</span>''
 
  
  
Line 42: Line 53:
 
* Declare a variable 'result' of type BOOL
 
* Declare a variable 'result' of type BOOL
 
* Add to a calculation icon: <pre class="brush:[cpp]">result = ::Sound.Queue(sounds, _arraydata, offset, elements, ratemul)</pre>
 
* Add to a calculation icon: <pre class="brush:[cpp]">result = ::Sound.Queue(sounds, _arraydata, offset, elements, ratemul)</pre>
 
''<span style="color:red;">No additional information</span>''
 

Latest revision as of 11:55, 16 January 2023

Fc9-comp-macro.png Queue
Queues a sound for playing 
Fc9-h32-icon.png - HANDLE Sounds
The handle of the sound object to queue to 
Fc9-void-icon.png - ARRAY Data
The array to play data from 
Fc9-u32-icon.png - ULONG Offset
The element in the array to start at 
Fc9-u32-icon.png - ULONG Elements
The number of elements to play 
Fc9-f32-icon.png - FLOAT RateMul
A multiplier to the sounds sample rate 
Fc9-bool-icon.png - BOOL Return


Detailed description

This adds a sound to the queue to be played when the currently playing sound completes. If no sound is currently playing this will play immediately.


The Elements is a maximum, and will be bounded to the size of the input Array if too large. This means passing -1 (unsigned) is the equivalent of 'the full array'. The relevant contents of the Array are copied so the contents may be altered immediately after this call.

The format of each sample in Array depends on its data type. Floating point samples are assumed to be in the range 0 to 1. All integer values have their sign and bit size considered and are in a range from the minimum to the maximum of their type, so a signed 16 bit array has an expected range -32768 to 32767. To explicitly declare the data format use Sound.QueueEx.


RateMul can be used to adjust the sample rate for the sound in software. Linear interpolation is used to scale the input Array by this factor. This means to play at half the sample rate (so the sound plays twice as slow) set RateMul=0.5.


Examples

Calling in a calculation

  • Declare a variable 'result' of type BOOL
  • Add to a calculation icon:
    result = ::Sound.Queue(sounds, _arraydata, offset, elements, ratemul)