Module:MOS intervals: Difference between revisions
Minor function renaming to current coding style; will momentarily break corresponding template |
ArrowHead294 (talk | contribs) No edit summary |
||
| Line 9: | Line 9: | ||
-- EG, the 3-mosstep of "LLsLsLs" becomes "2L + s" | -- EG, the 3-mosstep of "LLsLsLs" becomes "2L + s" | ||
function p.mos_interval_to_step_count_string(step_pattern, mossteps) | function p.mos_interval_to_step_count_string(step_pattern, mossteps) | ||
local L_count = 0 | local L_count = 0 | ||
local s_count = 0 | local s_count = 0 | ||
| Line 132: | Line 131: | ||
-- Create the table, starting with the headers | -- Create the table, starting with the headers | ||
local result = '{| class="wikitable"\n' | local result = '{| class="wikitable"\n' | ||
result = result .. '|+Intervals of ' .. scale_sig .. '\n' | result = result .. '|+ Intervals of ' .. scale_sig .. '\n' | ||
result = result .. '! colspan="2" |Intervals (with relation to root)\n' | result = result .. '! colspan="2" | Intervals (with relation to root)\n' | ||
result = result .. '! colspan="2" |Size\n' | result = result .. '! colspan="2" | Size\n' | ||
result = result .. '! rowspan="2" |Abbrev.\n' | result = result .. '! rowspan="2" | Abbrev.\n' | ||
result = result .. '|-\n' | result = result .. '|-\n' | ||
result = result .. '!Generic\n' | result = result .. '! Generic\n' | ||
result = result .. '!Specific\n' | result = result .. '! Specific\n' | ||
result = result .. '! | result = result .. '! Intervals\n' | ||
result = result .. '!Range in cents\n' | result = result .. '! Range in cents\n' | ||
-- First row is the unison | -- First row is the unison | ||
result = result .. "|-\n" | result = result .. "|-\n" | ||
result = result .. "|'''0-" .. mos_prefix .. "step (root)'''\n" | result = result .. "| '''0-" .. mos_prefix .. "step (root)'''\n" | ||
result = result .. "|Perfect 0-" .. mos_prefix .. "step\n" | result = result .. "| Perfect 0-" .. mos_prefix .. "step\n" | ||
result = result .. "|0\n" | result = result .. "| 0\n" | ||
result = result .. string.format("| %.1f¢\n", 0) | result = result .. string.format("| %.1f¢\n", 0) | ||
result = result .. string.format("| P0ms\n") | result = result .. string.format("| P0ms\n") | ||
| Line 160: | Line 159: | ||
-- perfect and the small size is diminished. Add two rows. | -- perfect and the small size is diminished. Add two rows. | ||
result = result .. "|-\n" | result = result .. "|-\n" | ||
result = result .. '|rowspan="2"' .. "|'''" .. i .. "-" .. mos_prefix .. "step'''\n" | result = result .. '| rowspan="2" ' .. "| '''" .. i .. "-" .. mos_prefix .. "step'''\n" | ||
result = result .. "|Diminished " .. i .. "-" .. mos_prefix .. "step\n" | result = result .. "| Diminished " .. i .. "-" .. mos_prefix .. "step\n" | ||
result = result .. "|" .. p.mos_interval_to_step_count_string(darkest_mode, i) .. "\n" | result = result .. "| " .. p.mos_interval_to_step_count_string(darkest_mode, i) .. "\n" | ||
result = result .. string.format("| %s\n", p.mos_interval_to_cent_range(darkest_mode, i, input_mos)) | result = result .. string.format("| %s\n", p.mos_interval_to_cent_range(darkest_mode, i, input_mos)) | ||
result = result .. string.format("| d%ims\n", i) | result = result .. string.format("| d%ims\n", i) | ||
result = result .. "|-\n" | result = result .. "|-\n" | ||
result = result .. "|Perfect " .. i .. "-" .. mos_prefix .. "step\n" | result = result .. "| Perfect " .. i .. "-" .. mos_prefix .. "step\n" | ||
result = result .. "|" .. p.mos_interval_to_step_count_string(brightest_mode, i) .. "\n" | result = result .. "| " .. p.mos_interval_to_step_count_string(brightest_mode, i) .. "\n" | ||
result = result .. string.format("| %s\n", p.mos_interval_to_cent_range(brightest_mode, i, input_mos)) | result = result .. string.format("| %s\n", p.mos_interval_to_cent_range(brightest_mode, i, input_mos)) | ||
result = result .. string.format("| P%ims\n", i) | result = result .. string.format("| P%ims\n", i) | ||
| Line 175: | Line 174: | ||
-- augmented and the small size is perfect. Add two rows. | -- augmented and the small size is perfect. Add two rows. | ||
result = result .. "|-\n" | result = result .. "|-\n" | ||
result = result .. '|rowspan="2"' .. "|'''" .. i .. "-" .. mos_prefix .. "step'''\n" | result = result .. '| rowspan="2" ' .. "|'''" .. i .. "-" .. mos_prefix .. "step'''\n" | ||
result = result .. "|Perfect " .. i .. "-" .. mos_prefix .. "step\n" | result = result .. "| Perfect " .. i .. "-" .. mos_prefix .. "step\n" | ||
result = result .. "|" .. p.mos_interval_to_step_count_string(darkest_mode, i) .. "\n" | result = result .. "| " .. p.mos_interval_to_step_count_string(darkest_mode, i) .. "\n" | ||
result = result .. string.format("| %s\n", p.mos_interval_to_cent_range(darkest_mode, i, input_mos)) | result = result .. string.format("| %s\n", p.mos_interval_to_cent_range(darkest_mode, i, input_mos)) | ||
result = result .. string.format("| P%ims\n", i) | result = result .. string.format("| P%ims\n", i) | ||
result = result .. "|-\n" | result = result .. "|-\n" | ||
result = result .. "|Augmented " .. i .. "-" .. mos_prefix .. "step\n" | result = result .. "| Augmented " .. i .. "-" .. mos_prefix .. "step\n" | ||
result = result .. "|" .. p.mos_interval_to_step_count_string(brightest_mode, i) .. "\n" | result = result .. "| " .. p.mos_interval_to_step_count_string(brightest_mode, i) .. "\n" | ||
result = result .. string.format("| %s\n", p.mos_interval_to_cent_range(brightest_mode, i, input_mos)) | result = result .. string.format("| %s\n", p.mos_interval_to_cent_range(brightest_mode, i, input_mos)) | ||
result = result .. string.format("| A%ims\n", i) | result = result .. string.format("| A%ims\n", i) | ||
| Line 190: | Line 189: | ||
-- the same and they're perfect. This also applies to the equave. Add one row. | -- the same and they're perfect. This also applies to the equave. Add one row. | ||
result = result .. "|-\n" | result = result .. "|-\n" | ||
result = result .. "|'''" .. i .. "-" .. mos_prefix .. "step (period)'''\n" | result = result .. "| '''" .. i .. "-" .. mos_prefix .. "step (period)'''\n" | ||
result = result .. "|Perfect " .. i .. "-" .. mos_prefix .. "step\n" | result = result .. "| Perfect " .. i .. "-" .. mos_prefix .. "step\n" | ||
result = result .. "|" .. p.mos_interval_to_step_count_string(darkest_mode, i) .. "\n" | result = result .. "| " .. p.mos_interval_to_step_count_string(darkest_mode, i) .. "\n" | ||
result = result .. string.format("| %s\n", p.mos_interval_to_cent_range(darkest_mode, i, input_mos)) | result = result .. string.format("| %s\n", p.mos_interval_to_cent_range(darkest_mode, i, input_mos)) | ||
result = result .. string.format("| P%ims\n", i) | result = result .. string.format("| P%ims\n", i) | ||
| Line 200: | Line 199: | ||
-- large size is major and the small size is minor. Add two rows. | -- large size is major and the small size is minor. Add two rows. | ||
result = result .. "|-\n" | result = result .. "|-\n" | ||
result = result .. '|rowspan="2"' .. "|" .. i .. "-" .. mos_prefix .. "step\n" | result = result .. '| rowspan="2" ' .. "|" .. i .. "-" .. mos_prefix .. "step\n" | ||
result = result .. "|Minor " .. i .. "-" .. mos_prefix .. "step\n" | result = result .. "| Minor " .. i .. "-" .. mos_prefix .. "step\n" | ||
result = result .. "|" .. p.mos_interval_to_step_count_string(darkest_mode, i) .. "\n" | result = result .. "|" .. p.mos_interval_to_step_count_string(darkest_mode, i) .. "\n" | ||
result = result .. string.format("| %s\n", p.mos_interval_to_cent_range(darkest_mode, i, input_mos)) | result = result .. string.format("| %s\n", p.mos_interval_to_cent_range(darkest_mode, i, input_mos)) | ||
result = result .. string.format("| m%ims\n", i) | result = result .. string.format("| m%ims\n", i) | ||
result = result .. "|-\n" | result = result .. "|-\n" | ||
result = result .. "|Major " .. i .. "-" .. mos_prefix .. "step\n" | result = result .. "| Major " .. i .. "-" .. mos_prefix .. "step\n" | ||
result = result .. "|" .. p.mos_interval_to_step_count_string(brightest_mode, i) .. "\n" | result = result .. "| " .. p.mos_interval_to_step_count_string(brightest_mode, i) .. "\n" | ||
result = result .. string.format("| %s\n", p.mos_interval_to_cent_range(brightest_mode, i, input_mos)) | result = result .. string.format("| %s\n", p.mos_interval_to_cent_range(brightest_mode, i, input_mos)) | ||
result = result .. string.format("| M%ims\n", i) | result = result .. string.format("| M%ims\n", i) | ||
| Line 218: | Line 217: | ||
if rat.eq(input_mos.equave, 2) then | if rat.eq(input_mos.equave, 2) then | ||
result = result .. "|-\n" | result = result .. "|-\n" | ||
result = result .. "|'''" .. steps_per_equave .. "-" .. mos_prefix .. "step (octave)'''\n" | result = result .. "| '''" .. steps_per_equave .. "-" .. mos_prefix .. "step (octave)'''\n" | ||
result = result .. "|Perfect " .. steps_per_equave .. "-" .. mos_prefix .. "step'''\n" | result = result .. "| Perfect " .. steps_per_equave .. "-" .. mos_prefix .. "step'''\n" | ||
result = result .. "|" .. p.mos_interval_to_step_count_string(darkest_mode, steps_per_equave) .. "\n" | result = result .. "| " .. p.mos_interval_to_step_count_string(darkest_mode, steps_per_equave) .. "\n" | ||
result = result .. string.format("| %.1f¢\n", 1200) | result = result .. string.format("| %.1f¢\n", 1200) | ||
result = result .. string.format("| P%ims\n", steps_per_equave) | result = result .. string.format("| P%ims\n", steps_per_equave) | ||
else | else | ||
result = result .. "|-\n" | result = result .. "|-\n" | ||
result = result .. "|'''" .. steps_per_equave .. "-" .. mos_prefix .. "step (equave)'''\n" | result = result .. "| '''" .. steps_per_equave .. "-" .. mos_prefix .. "step (equave)'''\n" | ||
result = result .. "|Perfect " .. steps_per_equave .. "-" .. mos_prefix .. "step'''\n" | result = result .. "| Perfect " .. steps_per_equave .. "-" .. mos_prefix .. "step'''\n" | ||
result = result .. "|" .. p.mos_interval_to_step_count_string(darkest_mode, steps_per_equave) .. "\n" | result = result .. "| " .. p.mos_interval_to_step_count_string(darkest_mode, steps_per_equave) .. "\n" | ||
result = result .. string.format("| %.1f¢\n", rat.cents(input_mos.equave)) | result = result .. string.format("| %.1f¢\n", rat.cents(input_mos.equave)) | ||
result = result .. string.format("| P%ims\n", steps_per_equave) | result = result .. string.format("| P%ims\n", steps_per_equave) | ||