Module:Xenpaper: Difference between revisions
Changed format for mos-to-xenpaper function |
ArrowHead294 (talk | contribs) mNo edit summary |
||
(6 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
local p = {} | local p = {} | ||
local mos = require("Module:MOS") | |||
local rat = require("Module:Rational") | |||
-- TODO: | -- TODO: | ||
Line 8: | Line 10: | ||
function p.step_pattern_to_xenpaper_link(step_pattern, equave) | function p.step_pattern_to_xenpaper_link(step_pattern, equave) | ||
local step_pattern = step_pattern or { 2, 2, 2, 1, 2, 2, 1 } | local step_pattern = step_pattern or { 2, 2, 2, 1, 2, 2, 1 } | ||
local equave = equave or rat.new( | local equave = equave or rat.new(3) | ||
local ed = 0 | local ed = 0 | ||
Line 18: | Line 20: | ||
if equave_as_text == "2%2F1" then | if equave_as_text == "2%2F1" then | ||
equave_as_text = "o" | equave_as_text = "o" | ||
end | end | ||
Line 33: | Line 33: | ||
for i = 1, #step_pattern + 1 do | for i = 1, #step_pattern + 1 do | ||
if i ~= #step_pattern + 1 then | if i ~= #step_pattern + 1 then | ||
text = text .. string.format( | text = text .. string.format("%d--_", i - 1) | ||
else | else | ||
text = text .. string.format( | text = text .. string.format("%d---", i - 1) | ||
end | end | ||
end | end | ||
text = "https://www. | text = "https://www.luphoria.com/xenpaper/#" .. text | ||
return text | return text | ||
Line 45: | Line 45: | ||
-- Create a Xenpaper link for a mode of a mos | -- Create a Xenpaper link for a mode of a mos | ||
-- TODO: support step sizes of c (L-s), A (L+c), and d (s-c) for modmosses | -- TODO: support step sizes of c (L-s), A (L+c), and d (s-c) for modmosses | ||
function p.mosstep_pattern_to_xenpaper_link(abstract_step_pattern, step_ratio, equave) | function p.mosstep_pattern_to_xenpaper_link(abstract_step_pattern, step_ratio, equave) | ||
local abstract_step_pattern = abstract_step_pattern or "LLLsLLs" | local abstract_step_pattern = abstract_step_pattern or "LLLsLLs" | ||
local step_ratio = step_ratio or { 2, 1 } | local step_ratio = step_ratio or { 2, 1 } | ||
local equave = equave or | local equave = equave or 2 | ||
local L_size = step_ratio[1] | local L_size = step_ratio[1] | ||
Line 66: | Line 64: | ||
end | end | ||
return | return p.step_pattern_to_xenpaper_link(step_pattern, equave) | ||
end | end | ||
Line 86: | Line 85: | ||
local ratio_as_text = rat.as_ratio(ratios[i], "%2F") | local ratio_as_text = rat.as_ratio(ratios[i], "%2F") | ||
if i ~= #ratios then | if i ~= #ratios then | ||
text = text .. string.format( | text = text .. string.format("%d--_", i - 1) | ||
else | else | ||
text = text .. string.format( | text = text .. string.format("%d---", i - 1) | ||
end | end | ||
end | end | ||
text = "https://www. | text = "https://www.luphoria.com/xenpaper/#" .. text | ||
return text | return text | ||
end | end | ||
return p | return p |