Patch title: Release 90 bulk changes
Abstract:
File: /linux/multimedia/sound.pli
Key:
    Removed line
    Added line
   
module "/pliant/admin/file.pli"
module "/pliant/language/unsafe.pli"
module "/pliant/language/stream.pli"
module "/pliant/language/os.pli"
module "/pliant/admin/execute.pli"
module "/pliant/language/stream/pipe.pli"



function sound_play stream options
  arg_rw Stream stream ; arg Str options
module "/pliant/admin/file.pli"
module "/pliant/language/unsafe.pli"
module "/pliant/language/stream.pli"
module "/pliant/language/os.pli"
module "/pliant/admin/execute.pli"
module "/pliant/language/stream/pipe.pli"



function sound_play stream options
  arg_rw Stream stream ; arg Str options
  (var Stream dsp) open "device:/dsp" out+safe
  (var Stream dsp) open (options option "device" Str "device:/dsp") out+safe
  sound_play stream dsp options
  


function sound_play file options
  arg Str file options
  var Str ext := file (file search_last "." file:len) file:l
  if file:len>0 and (file file:len-1)="/"
  sound_play stream dsp options
  


function sound_play file options
  arg Str file options
  var Str ext := file (file search_last "." file:len) file:l
  if file:len>0 and (file file:len-1)="/"
    (var Stream dsp) open "device:/dsp" out+safe
    (var Stream dsp) open (options option "device" Str "device:/dsp") out+safe
    var Array:FileInfo files := file_list file standard+sort
    var Int first := (options option "track" Int 1)-1
    for (var Int i) first files:size-1
      console "track " i+1 ": "
      (var Stream data) open files:i:name in+safe
      sound_play data dsp options+" verbose"+(shunt i=first 
      if i<>files:size-1      
        var Float silent := options option "silent" Float 0
        for (var Int j) 1 2*(cast silent*44100 Int)
          var Int16 z := 0 ; dsp raw_write addressof:z Int16
  else
    (var Stream data) open file in+safe
    sound_play data options


export sound_play sound_record
    var Array:FileInfo files := file_list file standard+sort
    var Int first := (options option "track" Int 1)-1
    for (var Int i) first files:size-1
      console "track " i+1 ": "
      (var Stream data) open files:i:name in+safe
      sound_play data dsp options+" verbose"+(shunt i=first 
      if i<>files:size-1      
        var Float silent := options option "silent" Float 0
        for (var Int j) 1 2*(cast silent*44100 Int)
          var Int16 z := 0 ; dsp raw_write addressof:z Int16
  else
    (var Stream data) open file in+safe
    sound_play data options


export sound_play sound_record