Module:MOS intervals: Difference between revisions
code rewrite for cent ranges; needed for interval range lookup |
todo |
||
| (4 intermediate revisions by the same user not shown) | |||
| Line 6: | Line 6: | ||
local tamnams = require("Module:TAMNAMS") | local tamnams = require("Module:TAMNAMS") | ||
local yesno = require("Module:Yesno") | local yesno = require("Module:Yesno") | ||
-- -- TODO: | |||
-- - (High priority): Refactor code so instead of string concatenation, lines | |||
-- are appended to a table, where table.concat() is called at the end. | |||
-- EXPERIMENTAL FEATURE: lookup table for intervals | -- EXPERIMENTAL FEATURE: lookup table for intervals | ||
| Line 55: | Line 59: | ||
local mos_abbrev = args["MOS Abbrev" ] or "m" | local mos_abbrev = args["MOS Abbrev" ] or "m" | ||
local is_collapsed = args["Is Collapsed"] == true | local is_collapsed = args["Is Collapsed"] == true | ||
local show_inregs = | local show_inregs = false | ||
-- Get the scale sig | -- Get the scale sig | ||
| Line 102: | Line 106: | ||
-- Otherwise, there are two rows to write, one for each size. | -- Otherwise, there are two rows to write, one for each size. | ||
if is_period then | if is_period then | ||
local cents = string.format("%.1f{{c}}", | local cents = mos.interval_to_cents(current_bright_interval, input_mos, {1, 1}) | ||
local cents_formatted = string.format("%.1f{{c}}", cents) | |||
result = result | result = result | ||
| Line 110: | Line 115: | ||
.. "| " .. tamnams.interval_quality(current_bright_interval, input_mos, "abbrev" , mos_abbrev) .. "\n" | .. "| " .. tamnams.interval_quality(current_bright_interval, input_mos, "abbrev" , mos_abbrev) .. "\n" | ||
.. "| <span style=\"white-space: nowrap;\">" .. mos.interval_as_string(current_bright_interval) .. "</span>\n" | .. "| <span style=\"white-space: nowrap;\">" .. mos.interval_as_string(current_bright_interval) .. "</span>\n" | ||
.. "| " .. | .. "| " .. cents_formatted .. "\n" | ||
.. (show_inregs and string.format("| %s\n", p.lookup_interval_range(cents)) or "") | .. (show_inregs and string.format("| %s\n", p.lookup_interval_range(cents)) or "") | ||
else | else | ||