WAVE Item Examples

From STX Wiki
< Programmer Guide‎ | Shell Items‎ | Wave
Revision as of 14:05, 17 May 2010 by 193.171.195.8 (talk) (initial import)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

WAVE item 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

Navigation menu

Personal tools