Module:Xenpaper: Difference between revisions

Ganaram inukshuk (talk | contribs)
Changed format for mos-to-xenpaper function
Ganaram inukshuk (talk | contribs)
Undo revision 133561 by Ganaram inukshuk (talk)
Tag: Undo
Line 1: Line 1:
local mos = require('Module:MOS')
local rat = require('Module:Rational')
local rat = require('Module:Rational')
local p = {}
local p = {}
Line 8: Line 9:
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(2)
local equave = equave or rat.new(3)
local ed = 0
local ed = 0
Line 18: Line 19:
if equave_as_text == "2%2F1" then
if equave_as_text == "2%2F1" then
equave_as_text = "o"
equave_as_text = "o"
elseif equave_as_text == "3%2F1" then
equave_as_text = "3"
end
end
Line 45: Line 44:


-- Create a Xenpaper link for a mode of a mos
-- Create a Xenpaper link for a mode of a mos
-- The step pattern, step ratio, and equave (default is 2/1) are entered, so
-- no input mos is necessary; this allows for entering modmosses.
-- 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(input_mos, abstract_step_pattern, step_ratio)
local input_mos = input_mos or mos.new(5, 2)
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 rat.new(2, 1)
local L_size = step_ratio[1]
local L_size = step_ratio[1]
Line 66: Line 63:
end
end
return rat.new(equave)
local equave = input_mos["equave"]
return p.step_pattern_to_xenpaper_link(step_pattern, equave)
end
end