WAVE Item Examples

From STX Wiki
< Programmer Guide‎ | Shell Items‎ | Wave
Revision as of 17:31, 18 November 2010 by Admin (talk | contribs) (1 revision: Initial import)
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