function webtones(fname,scl,adj,stp,range,addr,patch,lng,guide,glength) {
f = open(fname,"r")
fifoctl(f,"type","b")
r = ''
times = ["sixteenth"=1b/4,"eight"=1b/2,"32nd"=1b/8];
if ( stp in times )
st = times[stp]
else
st = 1b/4
if ( range == "wide" ) {
rng=100
low=20
}
else if ( range == "narrow" ) {
rng=40
low=60
}
else {
rng=80
low=40
}
if ( lng == "Long" )
nnotes=500
else
nnotes=200
for ( n=0; n<nnotes && (c=get(f)) != Eof; n++ ) {
r += makenote(low+c%rng,st,110);
}
sclnt = phrase("'"+scl+"'")
if ( guide == "major" || guide == "minor" ) {
bskey = 'e-o-2'
bsmajor = []
bsmajor[ 1 ]= 'e-o-2'
bsmajor[ 2 ]= 'e-o-2,f,g,b-'
bsmajor[ 3 ]= 'e-o-2,b-'
bsmajor[ 4 ]= 'e-o-2,b-'
bsmajor[ 5 ]= 'e-o-2,f,g,b-'
bsmajor[ 6 ]= 'e-o-2,b-'
bsmajor[ 7 ]= 'e-o-2,f,g,b-'
bsmajor[ 8 ]= 'e-o-2,b-'
bsminor = []
bsminor[ 1 ]= 'e-o-2'
bsminor[ 2 ]= 'e-o-2,f,g-,b-'
bsminor[ 3 ]= 'e-o-2,b-'
bsminor[ 4 ]= 'e-o-2,b-'
bsminor[ 5 ]= 'e-o-2,f,g-,b-'
bsminor[ 6 ]= 'e-o-2,b-'
bsminor[ 7 ]= 'e-o-2,f,g-,b-'
bsminor[ 8 ]= 'e-o-2,b-'
gdleng = 0 + integer(glength)
gd = r{(??.number % gdleng)==0}
r = bsguide((guide=="major"?bsmajor:bsminor),bskey,r,gd,st,r.length)
}
if ( adj == "adjust" ) {
r = scadjust(r,transpose(scale_aeolian(),sclnt))
}
else {
r = scafilt(r,transpose(scale_aeolian(),sclnt))
}
if ( addr == "yes" )
r = addrootevery(r,1b)
if ( patch == "piano" )
r = ('l96'|progchange(1,1)) + r
else if ( patch == "celeste" )
r = ('l96'|progchange(9,1)) + r
else if ( patch == "viola" )
r = ('l96'|progchange(42,1)) + r
else if ( patch == "drums" )
r.chan = 10
writemf(r,"www.mid")
writelines(r,"www.lines")
}