Artifact
499f67fd8d8c9785603e0d4b058b2b38bd289a5e:
Wiki page
[Example script] by
schelte
2014-04-17 19:55:29.
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.
<hr><pre>
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
</pre><hr>
Z 5c6b37baedff937e1345ee6b0d6dc988