Programmer Guide/Macro Library/BSF: Difference between revisions

From STX Wiki
Jump to navigationJump to search
No edit summary
 
(50 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{DISPLAYTITLE:{{SUBPAGENAME}}}}__NOTOC__
{{DISPLAYTITLE:{{SUBPAGENAME}} - Soundfile Handling}}
*File: BSF.STX, linked to library STX.LIB
:'''File''': BSF.STX, linked to library STX.LIB
*Title: soundfile handling
:'''See also''': [[Programmer_Guide/Command_Reference/LOAD#LOAD_SOUNDFILE|LOAD SOUNDFILE]], [[Programmer_Guide/Command_Reference/UNLOAD#UNLOAD_SOUNDFILE|UNLOAD SOUNDFILE]],[[Programmer_Guide/Command_Reference/SFTRUNCATE|SFTRUNCATE]][[Programmer_Guide/Command_Reference/SEGMENT|SEGMENT]], [[Programmer_Guide/Shell_Items/Wave|WAVE items]]
 
==Variables and items used by this library==
 
:{|class="einrahmen"
:{|class="keinrahmen"
|[[#NewDialog|NewDialog]] ||—
|[[#OpenDialog|OpenDialog]]
|-
|[[#Open|Open]] ||—
|[[#Close|Close]] ||—
|[[#CloseAll|CloaseAll] ||—
|[[#Select|Select]] ||—
|[[#Truncate|Truncate]]
|}
 
This library uses the following global variables and items
{|class="einrahmen"
!name !!type !!description
!name !!type !!description
|@ParSoundFileNew ||global variable ||default values for function NewDialog
|@ListAudioSampleCode ||global variable ||list of defined sample code keywords
|@MaxAudioChannels ||global variable ||maximum number of soundfile channels
|@MaxAudioSRate ||global variable ||maximum sampling rate in Hz
|@ListAudioSRate ||global variable ||list of standard sampling rate values
|@TempDir ||global variable ||directory for temporary files
|BSFOpenList ||table item ||list of soundfiles opened with <code>BSF OPEN</code><BR>only used for BScript applications
|SoundFileList ||shell variable ||name of the shared soundfile table item<BR>see [[../BSTXIni|BSTXIni]]
|}
==NewDialog==
;<code>BSF NEWDIALOG [ <var>srate</var> [ ; <var>nch</var> ; <var>code</var> ]</code>: New soundfile dialog.
{|class="einrahmen"
!argument !!description !!default
|-
|-
|<var>type</var>
|<code>@ParSoundFileNew</code> ||variable ||default values for function [[#NewDialog|NewDialog]]
|Selects the action to perform:<BR>
<code>LOAD</code> or <code>OPEN</code> &rarr; open existing file<BR>
<code>SAVE</code> or <code>NEW</code> &rarr; create new file
|<code>OPEN</code>
|-
|-
|<var>title</var>
|<code>@ListAudioSampleCode</code> ||variable ||list of defined sample code keywords
|The caption of the dialog window.
|<code>Select File</code>
|-
|-
|<var>file</var>
|<code>@MaxAudioChannels</code> ||variable ||maximum number of soundfile channels
|The default file or directory.
|current directory
|-
|-
|<var>ftype1</var> ...
|<code>@MaxAudioSRate</code> ||variable ||maximum sampling rate in Hz
|Each <var>ftype</var> argument defines one entry of the filetype-combobox of the dialog.<BR>
Each filetype is defined by the string <code><var>extension</var>=<var>description</var></code>.<BR>
Example: <code>WAV=wave files</code><BR>
If a <var>ftype</var> argument is the name of a (simple) table item, each entry of the table defines a filetype.
|-
|-
!RESULT !!description
|<code>@ListAudioSRate</code> ||variable ||list of standard sampling rate values
|-
|-
|<var>path</var> ||The full pathname of the file to be opened or created.
|<code>@TempDir</code> ||variable ||directory for temporary files
|-
|-
|''empty string'' ||If the dialog was canceled.
|<code>BSFOpenList</code> ||table item ||list of open soundfiles (only for [[Programmer_Guide/BScript|BScript]] applications); this table is used by the functions [[#Open|Open]], [[#Close|Close]] and [[#CloseAll|CloseAll]]
|}
;See also:
==FileCommands==
;<code>BUTIL COPYFILE <var>src</var> ; <var>dst</var></code>: Copy file.
;<code>BUTIL MOVEFILE <var>src</var> ; <var>dst</var></code>: Copy file.
;<code>BUTIL DELETEFILE <var>src</var></code>: Copy file.
{|class="einrahmen"
!argument !!description !!default
|-
|-
|<var>src</var>
|<code>SoundFileList</code> ||variable ||name of the shared soundfile table item (see [[../BSTXIni|BSTXIni]]); the following information is stored in the table fields:<BR>
|The file to copy, move (rename) or delete.
<code>File</code> = full path<BR>
|
<code>SRate</code> = sampling rate in Hz<BR>
<code>Channels</code> = number of channels<BR>
<code>Length</code> = signal length in seconds<BR>
<code>Used</code> = open-counter<BR>
<code>Code</code> = sampling code<BR>
<code>Mode</code> = accesss mode<BR>
Because the table is shared between shells, the LOCK/UNLOCK methods should be used to access the table. Do not change table content! 
|-
|-
|<var>dst</var>
|<code>AutoCloseSF</code> ||variable ||if set to <code>1</code>all soundfiles opened by a [[Programmer_Guide/BScript|BScript]] application are closed when the script exits.
|The target file or directory for copy or move (rename)
|
|-
!RESULT !!description
|-
|-
|<code>0</code> ||success
|<code>CSF</code> ||variable ||full path of the selected (active) soundfile.
|-
|-
|<var>rc</var> ||The non-zero error code if the command has failed.
|<code>CSFH</code> ||variable ||header parameters of the selected (active) soundfile.<BR>
<code>CSFH=srate nchannels nsamples code type accessmode</code>
|}
|}
;See also:
 
==DirectoryDialog==
==NewDialog==
;<code>BUTIL DIRECTORYDIALOG [ <var>title</var> ; <var>path</var> ; <var>restore</var> ; <var>sdmode</var> ; <var>sdvalue</var> ]</code>:
BSF NEWDIALOG [ <var>srate</var> [ ; <var>nch</var> ; <var>code</var> ]
;<code>DIRECTORYDIALOG [ '<var>title</var>' [ '<var>path</var>' '<var>restore</var>' '<var>sdmode</var>' '<var>sdvalue</var>' ]</code>: Dialog to select a directory.
:Dialog to create a new soundfile.
{|class="einrahmen"
{|class="einrahmen"
!argument !!description !!default
!argument !!description !!default
|-
|-
|<var>title</var>
|<var>srate</var>
|The caption of the dialog window.
|Sampling rate in Hz
|<code>Select Directory</code>
|last dialog value
|-
|<var>path</var>
|The default directory.
|current directory
|-
|<var>restore</var>
|<code>no</code> or <code>0</code> &rarr; do not restore current directory<BR>
<code>yes</code> or <code>1</code> &rarr; restore current directory
|<code>no</code>
|-
|-
|<var>sdmode</var>
|<var>nch</var>
|<code>no</code> or <code>0</code> &rarr; do not display the '''subdirectories''' checkbox<BR>
|Number of channels.
<code>yes</code> or <code>1</code> &rarr; display the '''subdirectories''' checkbox
|last dialog value
|<code>no</code>
|-
|-
|<var>sdvalue</var>
|<var>code</var>
|Initial state of the '''subdirectories''' checkbox: <code>off</code> (=<code>0</code>) or <code>on</code> (=<code>1</code>)
|Signal sample size (number of bits) and code.
|<code>off</code>
|last dialog value
|-
|-
!RESULT !!description
!RESULT !!description
|-
|-
|<var>path</var> ||If <var>sdmode</var> equals <code>no</code> &rarr; The full pathname of the selected directory.
|<var>path</var> ||The full pathname of the created soundfile.
|-
|-
|<var>path;sdvalue</var> ||If <var>sdmode</var> equals <code>yes</code> &rarr; The full pathname of the selected directory and the value of the '''subdirectories''' checkbox (<code>0</code> or <code>1</code>).
|''empty string'' ||If the dialog was canceled or the creation fails.
|-
|''empty string'' ||If the dialog was canceled.
|}
|}
;See also:
;Notes:
==GetDirectory==
*This function uses a two step dialog. In the first the soundfile name is selected. The second is used to select the soundfile parameters.
;<code>BUTIL GETDIRECTORY <var>path</var></code>: Check if the directory exists.
*The new soundfile is always created using the '''Windows WAVE''' format.
*On return, the soundfile is created but not opened.
 
==OpenDialog==
BSF OPENDIALOG
:Dialog to open an existing soundfile.
{|class="einrahmen"
{|class="einrahmen"
!argument !!description !!default
|-
|<var>path</var>
|The directory to be checked.
|
|-
|-
!RESULT !!description
!RESULT !!description
|-
|-
|<var>path</var> ||The fullpath of the specified directory.
|<var>path</var> ||The full pathname of the selected soundfile.
|-
|-
|<code>$@root</code> ||The {{STX}} installation directory if the specified directory was not found.
|''empty string'' ||If the dialog was canceled or the soundfile check fails.
|}
|}
;See also:
;Notes:
==Directory==
*The dialog can open soundfiles in the '''Windows WAVE''' and the '''S_TOOLS 5''' format.
;<code>BUTIL DIRECTORY [ <var>path</var></code> ]: Select directory and/or get full pathname of working directory.
*On return, the soundfile is checked (existence, format) but not opened.
 
==Open==
BSF OPEN <var>path</var> [ ; <var>mode</var> ; <var>srate</var> [ ; <var>nch</var> ; <var>code</var> ; <var>type</var> ; <var>offset</var> ]
:Create and/or open a sound file.
{|class="einrahmen"
{|class="einrahmen"
!argument !!description !!default
!argument !!description !!default
|-
|-
|<var>path</var>
|<var>path</var>
|The directory to be selected.
|Path of the sound file to be opened or created.<BR>Note: If the asterisk '''*''' is used for <var>path</var>, an unique sound file is '''created''' in the temp. directory (<code>@TempDir</code>).
|
|
|-
|-
!RESULT !!description
|<var>mode</var>
|<code>CREATE</code> &rarr; Create a new sound file. If the file <var>path</var> exists, it is replaced by the new sound file.<BR>
<code>READ</code> &rarr; Open an existing sound file for readonly-access.<BR>
<code>WRITE</code> &rarr; Open a sound file for read- and write-access. The file is created if it do not exist!<BR>
<code>AUTO</code> &rarr; Open a sound file and select the access type automatically (try read/write first and than readonly).
|<code>WRITE</code>
|-
|<var>srate</var>
|Sampling rate in Hz.
|<code>44100</code>
|-
|<var>nch</var>
|Number of channels.
|<code>1</code>
|-
|-
|<var>path</var> ||The fullpath of the selected/current {{STX}} working directory.
|<var>code</var>
|}
|Signal sample size (number of bits) and code.<BR>
;See also:
<code>PCM8, PCM16, PCM24, PCM32</code> &rarr; 8/16/24/32 bit integer twos-complement<BR>
==GetSwitch==
<code>FLOAT</code> &rarr; 32 bit IEEE floating point
;<code>BUTIL GETSWITCH <var>val</var> ; <var>defval</var></code>: Verify and return boolean value.
|<code>PCM16</code>
{|class="einrahmen"
!argument !!description !!default
|-
|-
|<var>val</var>
|<var>type</var>
|The value to check.<BR>Valid values are: <code>0=no=false=off, 1=yes=true=on</code>
|File format.<BR>
|
<code>WAVE</code> &rarr; Windows WAVE format (Microsoft)<BR>
<code>ST5</code> &rarr; S_TOOLS 5 format (ISF)<BR>
<code>BINARY</code> &rarr; plain binary file; may contain a unknown <var>offset</var>-byte header
|<code>WAVE</code>
|-
|-
|<var>defval</var>
|<var>offset</var>
|The default value to be used if <var>val</var> is invalid. The same values as for <var>val</var> can be specified.
|The size of the header of a plain binary sound file.
|0
|<code>0</code>.
|-
|-
!RESULT !!description
!RESULT !!description
|-
|-
|<code>0</code> or <code>1</code>
|<code>0</code> ||The sound file was successfully selected, opened or created.
|
|-
|&ne; <code>0</code> ||It is not the case that the sound file was successfully selected, opened or created.<BR>
<code>-2</code> &rarr; can not assign unique tempfile name<BR>
<code>-3</code> &rarr; sampling rate out of range<BR>
<code>-4</code> &rarr; number of channels out of range<BR>
<code>-5</code> &rarr; header size of binary-files must be greater/equal 0<BR>
otherwise &rarr; a {{STX}} error code
|}
|}
;See also:
;Notes:
==GetKeyWord==
*If a sound file is already opened, it is selected and its open-counter is incremented. The variables <code>CSF</code> and <code>CSFH</code> contain the full path and the header parameters of the sound file.
;<code>BUTIL GETKEYWORD <var>val</var> ; <var>defval</var> ; <var>keyword1</var> ...</code>: Verify keyword and return keyword value.
*If a sound file is opened the first time, the open-counter is set to 1.
*This function updates the shared sound file table (<code>SoundFileList</code>) and the table <code>BSFOpenList</code> (if called in a [[Programmer_Guide/BScript|BScript]] application)
*The arguments <var>srate</var>, <var>nch</var>, <var>code</var> and <var>type</var> are only used if a new sound file is created (<var>mode</var> equals <code>CREATE</code>, <code>WRITE</code> or <code>AUTO</code>) or if the <var>type</var> <code>BINARY</code> is used. If an existing sound file with a known header format is opened, these parameters are read from the sound file header.
*If a sound file of type <code>BINARY</code> is opened, the sound file parameters <var>srate</var>, <var>nch</var> and <var>code</var> must always be specified, because the format and content of the (optional) header of such files is not known. The header of binary files must be located at the file begin and must consist of <var>offset</var> (&ge; 0) bytes. If a binary file is created, no header is written and <var>offset</var> must be <code>0</code>.
 
==Close==
BSF CLOSE <var>path</var> [ ; <var>del</var> ]
BSF CLOSE <var>index</var> [ ; <var>del</var> ]
:Decrement open-counter of the soundfile and close it, if the open-counter equals zero.
{|class="einrahmen"
{|class="einrahmen"
!argument !!description !!default
!argument !!description !!default
|-
|-
|<var>val</var>
|<var>path</var>
|The value to check.
|Path of the soundfile to be closed.
|
|
|-
|-
|<var>defval</var>
|<var>index</var>
|The default value to be returned if <var>val</var> is not a keyword.
|Zero based index of the soundfile (see [[#Select|Select]]).
|
|
|-
|-
|<var>keyword1</var> ...
|<var>del</var>
|Blank seperated list of keywords.
|Delete flag. If this flag is set to <code>1</code> (or <code>yes</code>) and the specified soundfile is closed by this function, the soundfile and all corresponding metadata files are deleted.
|
|<code>0</code>
|-
!RESULT !!description
|-
|<code>0</code> ||Success.
|-
|&ne; <code>0</code> ||Failed. The return value is a {{STX}} error code.
|}
;Notes:
*First the open-counter of the specified soundfile is decremented. If the open-counter equals zero, the soundfile is closed and (optional) deleted.  
*This function updates the shared soundfile table (<code>SoundFileList</code>) and the table <code>BSFOpenList</code> (if called in a [[Programmer_Guide/BScript|BScript]] application).
*To really close a soundfile the number of <code>CLOSE</code> calls must be equal to the number of <code>OPEN</code> calls for this soundfile.
 
==CloseAll==
BSF CLOSEALL
:Close all soundfiles opened by a [[Programmer_Guide/BScript|BScript]] application. This function is automatically called at the end of the script execution if the variable <code>AutoCloseSF</code> equals <code>1</code>.
{|class="einrahmen"
|-
|-
!RESULT !!description
!RESULT !!description
|-
|-
|<var>keyword</var> ||If <var>val</var> is a keyword or an abbreviation of a keyword.
|<code>0</code> ||Success. All soundfiles are closed.
|-
|-
|<var>defval</var> ||otherwise
|&ne; <code>0</code> ||Failed, some soundfiles are still open. The return value is a {{STX}} error code.
|}
|}
;See also:
 
==GetKeyIndex==
==Select==
;<code>BUTIL GETKEYINDEX <var>val</var> ; <var>defval</var> ; <var>keyword1</var> ...</code>: Verify keyword (or index) and return keyword index.
BSF SELECT <var>path</var>|<var>index</var>
:Select (activate) the specified soundfile.
{|class="einrahmen"
{|class="einrahmen"
!argument !!description !!default
!argument !!description !!default
|-
|-
|<var>val</var>
|<var>path</var>
|The value to check.
|Path of the soundfile to be selected.
|
|-
|<var>defval</var>
|The default value to be returned if <var>val</var> is not a keyword.
|
|
|-
|-
|<var>keyword1</var> ...
|<var>index</var>
|Blank seperated list of keywords.
|Zero based index of the soundfile to be selected.
|
|
|-
|-
!RESULT !!description
!RESULT !!description
|-
|-
|<var>keyindex</var> ||The zero based index of the matching keyword, if <var>val</var> is a keyword or an abbreviation of a keyword.
|<code>0</code> ||Success.
|-
|-
|<var>defval</var> ||otherwise
|&ne; <code>0</code> ||Failed. The return value is a {{STX}} error code.
|}
|}
;See also:
;Notes:
==SelectTable==
*To select a soundfile, it must be open.
;<code>BUTIL SELECTTABLE <var>table</var> <var>sel</var></code>: Select table entries.
*After a successful soundfile selection, the variables <code>[[Programmer_Guide/Concepts/Current_Soundfile|CSF]]</code> and <code>[[Programmer_Guide/Concepts/Current_Soundfile|CSFH]]</code> contain the full path and the header parameters of the soundfile.
*This function do not change the open-counter of a soundfile.
*Some commands (e.g. [[Programmer_Guide/Command_Reference/NEW|NEW WAVE]] or [[Programmer_Guide/Command_Reference/SEGMENT|SEGMENT]]) are using the selected (activated) soundfile.
 
==Truncate==
BSF TRUNCATE <var>path</var>|<var>index</var> ; <var>segexp</var> [ ; <var>afileref</var> ]
:Truncate the specified soundfile. Remove the signal outside the range specified by <var>segexp</var> from the soundfile.
{|class="einrahmen"
{|class="einrahmen"
!argument !!description !!default
!argument !!description !!default
|-
|-
|<var>table</var>
|<var>path</var>
|Name of a table item.
|Path of the soundfile to be truncate.
|
|-
|<var>index</var>
|Zero based index of the soundfile to be truncated (see [[#Select|Select]]).
|
|
|-
|-
|<var>sel</var>
|<var>segexp</var>
|The select command:<BR>
|A segment expression (see [[Programmer_Guide/Command_Reference/SEGMENT|SEGMENT]]) specifying the remaining signal range.
<code>ALL</code> &rarr; select all entries<BR>
|
<code>TOGGLE</code> &rarr; toggle (invert) selection<BR>
|-
<code>NONE</code> &rarr; clear selection, deseclect all entries
|<var>afileref</var>
|A reference to the AFile element of the current project, containing the metadate (segments, etc.) of the specified soundfile (see [[Programmer_Guide/Macro_Library/BDataSet|BDataSet]]). If <var>afileref</var> is specified, the segment addresses are updated and segments addressing removed signal parts are deleted.
|
|
|-
|-
!RESULT !!description
!RESULT !!description
|-
|-
|<var>nsel</var> ||Number of selected table entries.
|<code>0</code> ||Success.
|-
|&ne; <code>0</code> ||Failed. The return value is a {{STX}} error code.
|}
|}
;See also:

Latest revision as of 12:12, 19 September 2018

File: BSF.STX, linked to library STX.LIB
See also: LOAD SOUNDFILE, UNLOAD SOUNDFILE,SFTRUNCATE, SEGMENT, WAVE items

Variables and items used by this library

name type description
@ParSoundFileNew variable default values for function NewDialog
@ListAudioSampleCode variable list of defined sample code keywords
@MaxAudioChannels variable maximum number of soundfile channels
@MaxAudioSRate variable maximum sampling rate in Hz
@ListAudioSRate variable list of standard sampling rate values
@TempDir variable directory for temporary files
BSFOpenList table item list of open soundfiles (only for BScript applications); this table is used by the functions Open, Close and CloseAll
SoundFileList variable name of the shared soundfile table item (see BSTXIni); the following information is stored in the table fields:

File = full path
SRate = sampling rate in Hz
Channels = number of channels
Length = signal length in seconds
Used = open-counter
Code = sampling code
Mode = accesss mode
Because the table is shared between shells, the LOCK/UNLOCK methods should be used to access the table. Do not change table content!

AutoCloseSF variable if set to 1all soundfiles opened by a BScript application are closed when the script exits.
CSF variable full path of the selected (active) soundfile.
CSFH variable header parameters of the selected (active) soundfile.

CSFH=srate nchannels nsamples code type accessmode

NewDialog

BSF NEWDIALOG [ srate [ ; nch ; code ]
Dialog to create a new soundfile.
argument description default
srate Sampling rate in Hz last dialog value
nch Number of channels. last dialog value
code Signal sample size (number of bits) and code. last dialog value
RESULT description
path The full pathname of the created soundfile.
empty string If the dialog was canceled or the creation fails.
Notes
  • This function uses a two step dialog. In the first the soundfile name is selected. The second is used to select the soundfile parameters.
  • The new soundfile is always created using the Windows WAVE format.
  • On return, the soundfile is created but not opened.

OpenDialog

BSF OPENDIALOG
Dialog to open an existing soundfile.
RESULT description
path The full pathname of the selected soundfile.
empty string If the dialog was canceled or the soundfile check fails.
Notes
  • The dialog can open soundfiles in the Windows WAVE and the S_TOOLS 5 format.
  • On return, the soundfile is checked (existence, format) but not opened.

Open

BSF OPEN path [ ; mode ; srate [ ; nch ; code ; type ; offset ]
Create and/or open a sound file.
argument description default
path Path of the sound file to be opened or created.
Note: If the asterisk * is used for path, an unique sound file is created in the temp. directory (@TempDir).
mode CREATE → Create a new sound file. If the file path exists, it is replaced by the new sound file.

READ → Open an existing sound file for readonly-access.
WRITE → Open a sound file for read- and write-access. The file is created if it do not exist!
AUTO → Open a sound file and select the access type automatically (try read/write first and than readonly).

WRITE
srate Sampling rate in Hz. 44100
nch Number of channels. 1
code Signal sample size (number of bits) and code.

PCM8, PCM16, PCM24, PCM32 → 8/16/24/32 bit integer twos-complement
FLOAT → 32 bit IEEE floating point

PCM16
type File format.

WAVE → Windows WAVE format (Microsoft)
ST5 → S_TOOLS 5 format (ISF)
BINARY → plain binary file; may contain a unknown offset-byte header

WAVE
offset The size of the header of a plain binary sound file. 0.
RESULT description
0 The sound file was successfully selected, opened or created.
0 It is not the case that the sound file was successfully selected, opened or created.

-2 → can not assign unique tempfile name
-3 → sampling rate out of range
-4 → number of channels out of range
-5 → header size of binary-files must be greater/equal 0
otherwise → a STx error code

Notes
  • If a sound file is already opened, it is selected and its open-counter is incremented. The variables CSF and CSFH contain the full path and the header parameters of the sound file.
  • If a sound file is opened the first time, the open-counter is set to 1.
  • This function updates the shared sound file table (SoundFileList) and the table BSFOpenList (if called in a BScript application)
  • The arguments srate, nch, code and type are only used if a new sound file is created (mode equals CREATE, WRITE or AUTO) or if the type BINARY is used. If an existing sound file with a known header format is opened, these parameters are read from the sound file header.
  • If a sound file of type BINARY is opened, the sound file parameters srate, nch and code must always be specified, because the format and content of the (optional) header of such files is not known. The header of binary files must be located at the file begin and must consist of offset (≥ 0) bytes. If a binary file is created, no header is written and offset must be 0.

Close

BSF CLOSE path [ ; del ]
BSF CLOSE index [ ; del ]
Decrement open-counter of the soundfile and close it, if the open-counter equals zero.
argument description default
path Path of the soundfile to be closed.
index Zero based index of the soundfile (see Select).
del Delete flag. If this flag is set to 1 (or yes) and the specified soundfile is closed by this function, the soundfile and all corresponding metadata files are deleted. 0
RESULT description
0 Success.
0 Failed. The return value is a STx error code.
Notes
  • First the open-counter of the specified soundfile is decremented. If the open-counter equals zero, the soundfile is closed and (optional) deleted.
  • This function updates the shared soundfile table (SoundFileList) and the table BSFOpenList (if called in a BScript application).
  • To really close a soundfile the number of CLOSE calls must be equal to the number of OPEN calls for this soundfile.

CloseAll

BSF CLOSEALL
Close all soundfiles opened by a BScript application. This function is automatically called at the end of the script execution if the variable AutoCloseSF equals 1.
RESULT description
0 Success. All soundfiles are closed.
0 Failed, some soundfiles are still open. The return value is a STx error code.

Select

BSF SELECT path|index
Select (activate) the specified soundfile.
argument description default
path Path of the soundfile to be selected.
index Zero based index of the soundfile to be selected.
RESULT description
0 Success.
0 Failed. The return value is a STx error code.
Notes
  • To select a soundfile, it must be open.
  • After a successful soundfile selection, the variables CSF and CSFH contain the full path and the header parameters of the soundfile.
  • This function do not change the open-counter of a soundfile.
  • Some commands (e.g. NEW WAVE or SEGMENT) are using the selected (activated) soundfile.

Truncate

BSF TRUNCATE path|index ; segexp [ ; afileref ]
Truncate the specified soundfile. Remove the signal outside the range specified by segexp from the soundfile.
argument description default
path Path of the soundfile to be truncate.
index Zero based index of the soundfile to be truncated (see Select).
segexp A segment expression (see SEGMENT) specifying the remaining signal range.
afileref A reference to the AFile element of the current project, containing the metadate (segments, etc.) of the specified soundfile (see BDataSet). If afileref is specified, the segment addresses are updated and segments addressing removed signal parts are deleted.
RESULT description
0 Success.
0 Failed. The return value is a STx error code.

Navigation menu

Personal tools