Module:Infobox ET: Difference between revisions
m Bug fixing |
Using a proper rational representation for equaves |
||
Line 2: | Line 2: | ||
local i = require('Module:Interval') | local i = require('Module:Interval') | ||
local u = require('Module:Utils') | local u = require('Module:Utils') | ||
local rat = require('Module:Rational') | |||
function p.infobox_ET(frame) | function p.infobox_ET(frame) | ||
Line 10: | Line 11: | ||
prime = " (prime)" | prime = " (prime)" | ||
end | end | ||
if equave | if rat.eq(equave, 2) then | ||
tuning = size | tuning = size | ||
end | end | ||
local step_size = i._backslash_ratio('1\\' .. tuning) | local step_size = i._backslash_ratio('1\\' .. tuning) | ||
local fifth = math.floor(math.log(1.5)/math.log(equave)*size+0.5) | local fifth = math.floor(math.log(1.5)/math.log(rat.as_float(equave))*size+0.5) | ||
return '<div style="\n' .. | return '<div style="\n' .. | ||
'border: 1px solid #999;\n' .. | 'border: 1px solid #999;\n' .. |