Module:Infobox ET: Difference between revisions
Show "Fifth" only if not dual-fifth |
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 | 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, { |