Module:Infobox ET: Difference between revisions

Fredg999 (talk | contribs)
Show "Fifth" only if not dual-fifth
Plumtree (talk | contribs)
Semitones implemented
Line 48: Line 48:
end
end
local step_size = i._backslash_ratio('1\\' .. tuning)
local step_size = i._backslash_ratio('1\\' .. tuning)
local fifth_error = i._to_cents(i._backslash_ratio(approximate(size, equave, 3/2) .. '\\' .. tuning)) - i._to_cents(3/2)
local fifth = approximate(size, equave, 3/2)
local fifth_error = i._to_cents(i._backslash_ratio(fifth .. '\\' .. tuning)) - i._to_cents(3/2)
local dual_fifth = math.abs(fifth_error) > i._to_cents(step_size) / 3
local dual_fifth = math.abs(fifth_error) > i._to_cents(step_size) / 3
local A1 = fifth * 7 - 4 * size
local m2 = 3 * size - 5 * fifth
local A1_cents = i._to_cents(i._backslash_ratio(A1 .. '\\' .. tuning), 2)
local m2_cents = i._to_cents(i._backslash_ratio(m2 .. '\\' .. tuning), 2)


local infobox_data = {}
local infobox_data = {}
Line 66: Line 72:
})
})
end
end
table.insert(infobox_data, {
'Semitones (A1:m2)',
A1 .. ':' .. m2 .. ' (' .. A1_cents .. '¢ : ' .. m2_cents .. '¢)'
})
if dual_fifth then
if dual_fifth then
table.insert(infobox_data, {
table.insert(infobox_data, {