WAVE Item Examples
From STX Wiki
< Programmer Guide | Shell Items | Wave
Jump to navigationJump to search
| Wave Item | |||||
|---|---|---|---|---|---|
| INTRODUCTION | NEW | SET | ATTRIBUTES | MESSAGES | EXAMPLES |
The following example displays a wave's samples in a list box.
[macro wave_item_table_data_example]
//
// ask user to select a soundfile from disk
//
#sf := butil 'FileDialog open ; Select a soundfile'
if '$#sf' == '' exit
//
// load the soundfile in STx
//
load soundfile '$#sf' /Read
if '$rc' > 0 em $rc ; LOAD SOUNDFILE failed ($emsg)
readvar csfh #srate #nch #nsamples #code #type #mode
//
// create a wave item addressing the soundfile
//
#wave := new wave * 1_$#nsamples
if '$#wave[?]' != 'wave' em -1 ; wave creation failed ($emsg)
//
// create table to receive wave data
//
#table := new table * /Parameter $#nch num
//
// play the contents of the soundfile
//
$#wave copy $#table /Write
//
// display wave contents in table
//
showitem $#table
//
// use message box to prevent script from ending
//
um 'Do you want to exit?'
//
// clean up
//
delete $#wave $#table
exit