Module:Infobox ET: Difference between revisions

Fredg999 (talk | contribs)
m Bug fixing
Plumtree (talk | contribs)
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 == 2 then
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' ..