D 2014-04-17T19:55:29.247 L Example\sscript P 8938fcf13b3c84d32f848a75d82d3c4eaff858d5 U schelte W 917 This example script will stream all mp3 files in the current directory to a local icecast server.
package require shout

proc stream {fd1 fd2} {
    puts -nonewline $fd2 [read $fd1 4096]
    if {[eof $fd1]} {
        close $fd1
        nextsong $fd2
    }
}

proc nextsong {shout} {
    global playlist
    if {[llength $playlist] > 0} {
        set playlist [lassign $playlist file]
        set fd [open $file rb]
        fileevent $shout writable [list stream $fd $shout]
        fconfigure $shout -song [file rootname [file tail $file]]
    } else {
        exit
    }
}

set fd [shout -user tcl -mount /tclradio -format mp3 \
  -genre rock -name "Tcl Radio" 127.0.0.1 8000 hackme]
fconfigure $fd -buffering none

set playlist [glob -nocomplain *.mp3]

nextsong $fd

vwait forever

Z 5c6b37baedff937e1345ee6b0d6dc988