Example script

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" 8000 hackme] fconfigure $fd -buffering none

set playlist [glob -nocomplain *.mp3]

nextsong $fd

vwait forever