<%@ Language=VBScript %>
<HTML>
<HEAD>
<title>practice asp grapher</title>
</HEAD>
<BODY bgcolor=White>
<%
dim semitones, fundfreq, freqratio, stretch
set semitones = request.form("semitones")
set fundfreq = request.form("fundfreq")
set freqratio = request.form("freqratio")
set stretch = request.form("stretch")
redim ampartial(9)
while i < 10
ampartial(i) = request.form("ap" & i)
i = i + 1
wend
Set excel=CreateObject("Excel.Application")
' Opening XLS file containing the chart
excel.WorkBooks.Open "C:\Inetpub\wwwroot\shared\practice\diss.xls"
'set the components to semantically rich variable names
set disswb = excel.WorkBooks(1)
set partialws = disswb.Worksheets(1)
set curvesws = disswb.Worksheets(2)
'//////////change the values according to user input\\\\\\
If semitones = 12 Then 'assumes that the user is instead modifying frequency ratio
partialws.Range("B28").Value = freqratio
semitones = round(partialws.Range("D31").Value,2)
'curvesws.Range("A2").Value = semitones
Elseif freqratio = 2 then 'assumes that the user is modifying semitones
partialws.Range("B31").Value = semitones
freqratio = round(partialws.Range("B28").Value,2)
semitones = partialws.Range("B31").Value
end if
curvesws.Range("A2").Value = semitones
'while k < 6
' curvesws.Range("A" & 1 + k).Value = semitones
' k = k + 1
'wend
while j < 10
partialws.Range("E" & 2 + j).Value = ampartial(j)'partialws.Range("E4").Value = ampartial(1)
j = j + 1
wend
partialws.Range("B38").Value = fundfreq
curvesws.Range("B160").Value = stretch
curvesws.Range("D163").FormulaLocal = "=dissonance(C163)"
'curvesws.Range("D163").Select
'Selection.AutoFill Destination:=Range("D163:D293")
'curvesws.Range("D163:D293").Select.run
'/////////make the chart of partials\\\\\\\\\\\\\\\\\\\\\\\\
'selecting the chart
Set partialcht = partialws.ChartObjects(1)
randomize
mstrFileName = "junk" & int(rnd()*10000) & ".gif"
' -- Save the chart on web server
partialcht.Chart.Export Server.Mappath("/shared/practice") & "\" & mstrFileName, "line graph"
'/////////////make the chart of curves\\\\\\\\\\\\\\\\\\\\\\
'selecting the chart
Set curvechrt = curvesws.ChartObjects(3)'
randomize
mstrFileName2 = "junk" & int(rnd()*10000) & ".gif"
' -- Save the chart on web server
curvechrt.Chart.Export Server.Mappath("/shared/practice") & "\" & mstrFileName2, "line graph"
'/////////////make the curve/partial chart correlation linear graph \\\\\\\\\\\\\\\\\\\\\\
'selecting the chart
Set correlationcht = curvesws.ChartObjects(4)'
randomize
mstrFileName3 = "junk" & int(rnd()*10000) & ".gif"
' -- Save the chart on web server
correlationcht.Chart.Export Server.Mappath("/shared/practice") & "\" & mstrFileName3, "line graph"
'save the workbook (really just tricks excell into thinking the wb is saved)
disswb.Saved = True
' -- Set all objects back to nothing
Set partialcht = Nothing
Set curvechrt = Nothing
set correlationcht = nothing
Set curvesws = Nothing
Set partialws = Nothing
excel.Quit ' -- Quit Excel to conserve resources
Set excel = Nothing
' -- Make sure the Image is not cached but is loaded fresh from the web server
Response.AddHeader "expires","0"
Response.AddHeader "pragma", "no-cache"
Response.AddHeader "cache-control","no-cache"
%>
<table border="0" cellpadding="5" cellspacing="8" height="1">
<tr><td >
<%
'///////////print out the partials graph\\\\\\\\\\\\\\
If mstrFileName <> "" Then
Response.write "<IMG SRC=""/shared/practice/" & mstrFileName & """>"
End If
%></td>
<td height="263">
<form method="POST" action="diss.asp">
<div align="center">
<center>
<table border="1" cellspacing="1" width="276" height="446">
<tr>
<td width="172" height="32" align="right">
<p align="center">set the new values</p>
</td><td width="88" height="32" align="right">
<p align="center">current values</p>
</td></tr>
<tr><td width="172" height="23" align="right">fixed fundamental<input type="text" name="fundfreq" size="4" value="440">Hz</td><td width="88" height="23" align="right">
<%= fundfreq %> Hz
</td></tr>
<tr><td width="172" height="23" align="right">interval in semitones<select name="semitones">
<option value="1">1
<option value="2">2
<option value="3">3
<option value="4">4
<option value="5">5
<option value="6" >6
<option value="7" >7
<option value="8">8
<option value="9">9
<option value="10">10
<option value="11">11
<option selected value="12" >12<!--selected-->
</select></td><td width="88" height="23" align="right">
<%= semitones %>
</td></tr>
<tr><td width="172" height="23" align="right"> (or) frequency
ratio<input type="text" name="freqratio" size="4" value="2.00"></td><td width="88" height="23" align="right">
<%= freqratio %>
</td></tr>
<tr><td width="172" height="23" align="right">stretch(2=octave)<select size="1" name="stretch">
<option value="1.5">1.5</option>
<option value="1.7">1.7</option>
<option value="1.8">1.8</option>
<option value="1.9">1.9</option>
<option value="1.95">1.95</option>
<option selected value="2.0">2.0</option>
<option value="2.05">2.05</option>
<option value="2.1">2.1</option>
<option value="2.2">2.2</option>
<option value="2.3">2.3</option>
<option value="2.5">2.5</option>
</select></td><td width="88" height="23" align="right">
<%= stretch %>
</td></tr>
<tr><td width="172" height="23" align="right">partial 1 amp<select size="1" name="ap1">
<option value="0">off</option>
<option value="10">10</option>
<option value="20">20</option>
<option value="30">30</option>
<option value="40">40</option>
<option selected value="50">50</option>
<option value="60">60</option>
<option value="70">70</option>
<option value="80">80</option>
<option value="90">90</option>
</select>Db</td><td width="88" height="23" align="right"><%= ampartial(1) %> Db
</td></tr>
<tr><td width="172" height="23" align="right"><font color="#FF0000">partial
2 amp</font><select size="1" name="ap2">
<option value="0">off</option>
<option value="10">10</option>
<option value="20">20</option>
<option value="30">30</option>
<option value="40">40</option>
<option selected value="50">50</option>
<option value="60">60</option>
<option value="70">70</option>
<option value="80">80</option>
<option value="90">90</option>
</select>Db</td><td width="88" height="23" align="right"> <%= ampartial(2) %> Db</td></tr>
<tr><td width="172" height="23" align="right"><font color="#00FF00"> partial
3 amp</font><select size="1" name="ap3">
<option value="0">off</option>
<option value="10">10</option>
<option value="20">20</option>
<option value="30">30</option>
<option value="40">40</option>
<option selected value="50">50</option>
<option value="60">60</option>
<option value="70">70</option>
<option value="80">80</option>
<option value="90">90</option>
</select>Db</td><td width="88" height="23" align="right"> <%= ampartial(3) %> Db</td></tr>
<tr><td width="172" height="23" align="right"><font color="#008000"> partial
4 amp</font><select size="1" name="ap4">
<option value="0">off</option>
<option value="10">10</option>
<option value="20">20</option>
<option value="30">30</option>
<option value="40">40</option>
<option selected value="50">50</option>
<option value="60">60</option>
<option value="70">70</option>
<option value="80">80</option>
<option value="90">90</option>
</select>Db</td><td width="88" height="23" align="right"> <%= ampartial(4) %> Db</td></tr>
<tr><td width="172" height="23" align="right"><font color="#00FFFF">partial
5 amp</font><select size="1" name="ap5">
<option value="0">off</option>
<option value="10">10</option>
<option value="20">20</option>
<option value="30">30</option>
<option value="40">40</option>
<option selected value="50">50</option>
<option value="60">60</option>
<option value="70">70</option>
<option value="80">80</option>
<option value="90">90</option>
</select>Db</td><td width="88" height="23" align="right"> <%= ampartial(5) %> Db</td></tr>
<tr><td width="172" height="23" align="right"><font color="#0000FF"> partial
6 amp</font><select size="1" name="ap6">
<option value="0">off</option>
<option value="10">10</option>
<option value="20">20</option>
<option value="30">30</option>
<option value="40">40</option>
<option selected value="50">50</option>
<option value="60">60</option>
<option value="70">70</option>
<option value="80">80</option>
<option value="90">90</option>
</select>Db</td><td width="88" height="23" align="right"> <%= ampartial(6) %> Db</td></tr>
<tr><td width="172" height="23" align="right"><font color="#000080"> partial
7 amp</font><select size="1" name="ap7">
<option value="0">off</option>
<option value="10">10</option>
<option value="20">20</option>
<option value="30">30</option>
<option value="40">40</option>
<option selected value="50">50</option>
<option value="60">60</option>
<option value="70">70</option>
<option value="80">80</option>
<option value="90">90</option>
</select>Db</td><td width="88" height="23" align="right"> <%= ampartial(7) %> Db</td></tr>
<tr><td width="172" height="23" align="right"><font color="#FF00FF">partial
8 amp</font><select size="1" name="ap8">
<option value="0">off</option>
<option value="10">10</option>
<option value="20">20</option>
<option value="30">30</option>
<option value="40">40</option>
<option selected value="50">50</option>
<option value="60">60</option>
<option value="70">70</option>
<option value="80">80</option>
<option value="90">90</option>
</select>Db</td><td width="88" height="23" align="right"> <%= ampartial(8) %> Db</td></tr>
<tr><td width="172" height="23" align="right"><font color="#800080">partial
9 amp</font><select size="1" name="ap9">
<option value="0">off</option>
<option value="10">10</option>
<option value="20">20</option>
<option value="30">30</option>
<option value="40">40</option>
<option selected value="50">50</option>
<option value="60">60</option>
<option value="70">70</option>
<option value="80">80</option>
<option value="90">90</option>
</select>Db</td><td width="88" height="23" align="right"> <%= ampartial(9) %> Db</td></tr>
<tr><td width="260" height="25" align="center" colspan="2"><input type="submit" value="send my new values" id="submit1" name="submit1"></td></tr>
</table>
</center>
</div>
</form>
</td></tr>
<tr>
<td width="118%" height="21" colspan="2">
<%
'///////////print out the curve graph\\\\\\\\\\\\\\
If mstrFileName3 <> "" Then
Response.write "<IMG SRC=""/shared/practice/" & mstrFileName3 & """>"
End If
Response.write "<br>"
'///////////print out the curve graph\\\\\\\\\\\\\\
If mstrFileName2 <> "" Then
Response.write "<IMG SRC=""/shared/practice/" & mstrFileName2 & """>"
End If
%>
</td></tr>
</table>
</BODY>
</HTML>