Programmer Guide/Macro Library/BDataSet

From STX Wiki
Jump to navigationJump to search

This STx-related article may be outdated.

This class implements the XML Project document. The Project document is the global database available to all STx applications and scripts and contains all data and links of the current project. The programmer must not create or destroy the project object because these functions are performed by the application startup and cleanup macros. So, deleting them manually would cause them to be deleted twice, causing the need for a new instance to be created for no instance to be left.

At application startup a BDATASET instance is created and linked to the global Project document which is created and managed by the STx master shell and/or the application Project. The name of this instance is stored in the shell variable BDATASET. This object must be used to access the project document.

Never ever call the member functions CONSTRUCT, DESTRUCT or CLOSE!

If the project content is changed by a command (or during a block of commands), or if a longer operation is performed on the project, the ATTACH and DETACH functions should be called:

$bdataset ATTACH

 // ...project commands...

$bdataset DETACH

No static commands are implemented; a call to the macro BDataSet (e.g. bdataset save) will do nothing, returning an empty string.

The class BDataSet is derived from the class BXMLDoc.

Beware of using the base class functions, since they do not update the BDataSet member variables!

Public Functions

AddASet

AFileIsLinked

Attach

Lock the xml-fileitem of the document, this function should be called before the xml-content is changed or a find/query is started. Note: the current position is saved and restored when DETACH is called!

$bdataset attach
result
Returns an asterisk if the project file cannot be locked, otherwise returns the project file item.

AttrListView

BackupEmpty

BackupLoad

BackupSave

Construct

DO NOT USE!

CreateWave

Create a wave object for an audio element.

usage
instance CREATEWAVE aset ; aseg ; channels ; mode
aset
an audio set reference
aseg
segment reference, segment name, segment expression, * (whole audio set), *x (append segment of length 'x' to sound file)
channels
0 or * all channels
CHANNELS channels defined in the segment element
ch1 [..chN] channel numbers
mode
wave item for MULTIPLE or SINGLE access (sequences only)
result
empty string or a 'waveitem'

CreateWaveEx

DeleteWave

Destruct

DO NOT USE!

Detach

DialogEditSegment

DialogGetAttributes

DialogSelectSegment

EvalSegment

ExportSD0

FindSegment

GetASetInfo

instance GETASETINFO [aset [; type]]

Retrieve information about the currently selected audio set (a sound file or a sequence). Note that the currently selected audio set (&asetPos) is not necessarily the selected element in the XML file!

Result
empty string or 'Soundfile;id;sr;ch;file' or 'Sequence;id;sr;ch

This STx-related article may be outdated.


GetAttributes

Get a list of attributes defined in the selected set or segment.

$bdataset GetAttributes type table|list autoExclude excludeList
table|list
If a table item is specified, then the attribute list is returned in a table. If 'list' is specified, then a blank separated list of attributes is returned.

This STx-related article may be outdated.


GetBaseDirectory

instance GetBaseDirectory fileitem|filepath

Return the base directory for the specified file item or file path path.

GetPath

GetReservedAttributes

GetSegment

Get attributes of segment.

instance GETSEGMENT aset; aseg; attr1; ...
aset
audio set reference (iref | xmlPos | *)
aseg
segment reference or name of segment
attrX
requested attribute
attrX valueX
ID or NAME segmentname
IREF iref of segment (reference)
SEGMENT [unit] segmentexpression
POSITION or BEGIN [unit] begin
END [unit] end
LENGTH [unit] length
CHANNEL channel-number (* for all channels)
attribute attributevalue
result
empty string on error or requested attributes (separated by semi-colons if more than 1)
notes
If the segment was found, the database position is set to the segment element
To select the database element of a segment, an empty attribute list can be used
If an empty attributelist is used, the result is set to '*' to indicate success

GetTemplateForCurrentTag

GetWaveInfo

ImportSD0

ImportXML

IsLinked

IsNewFile

IsRelative

IsReservedAttribute

Load

MakeChannelList

OpenAutoAFile

OpenAutoAFileEx

RemoveTmpSet

RestoreTmpSet

Save

SelectASeg

Select a segment.

$bdataset selectaseg aset; aseg
aset
An audio set reference. E.g. /Samples.wav
aseg
The XML position, IREF or ID of a segment
result
0 or errorcode

SelectASet

instance SELECTASET aset [; type]

Select an audio set.

aset
audio set reference (or a reference to an element inside the audio set
type
audio set type (AFile, Soundfile, ASequence, Sequence or * = default
Result
0 or errorcode

SetLink

SetRelativity

SetSegment

Validate

  • File: BDATASET.STX, linked to library STX.LIB
  • Title: the project document.
  • Parent class: BXMLDoc

Navigation menu

Personal tools