Programmer Guide/Macro Library/BDataSet: Difference between revisions

From STX Wiki
Jump to navigationJump to search
Line 28: Line 28:
;aseg:segment reference or name of segment
;aseg:segment reference or name of segment
;attrX: requested attribute
;attrX: requested attribute
;;attrX: valueX:
{|class="einrahmen"
ID|NAME segmentname
! attrX
IREF iref of segment (reference)
! valueX
SEGMENT [unit] segmentexpression  
|-
POSITION|BEGIN [unit] begin
| ID or NAME
END [unit] end
| segmentname
LENGTH [unit] length
|-
CHANNEL channel-number (* for all channels)
| IREF
attribute attributevalue
| 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


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
====SelectASeg====
====SelectASeg====
Select a segment.
Select a segment.

Revision as of 13:07, 10 January 2017

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

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

SelectASeg

Select a segment.

$bdataset SELECTASEG aset; aseg
aset
audio set reference
aseg
XML position, IREF or ID of a segment
result
0 or errorcode


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

Navigation menu

Personal tools