Package | org.si.sound.patterns |
Class | public class PMLParser |
Inheritance | PMLParser ![]() |
Property | Defined By | ||
---|---|---|---|
rule : * parsing rule. | PMLParser |
Method | Defined By | ||
---|---|---|---|
PMLParser(rule:* = null) constructor | PMLParser | ||
parse(pml:String):Array generate pattern from PML. | PMLParser |
rule | property |
public var rule:*
parsing rule.
PMLParser | () | Constructor |
public function PMLParser(rule:* = null)
constructor
Parametersrule:* (default = null )
|
parse | () | method |
public function parse(pml:String):Array
generate pattern from PML.
Parameters
pml:String — pattern as string.
|
Array |
var pp:PMLParser = new PMLParser(); pp.rule = {"A":new Note(60), "B":new Note(72)}; // set rule. letter "A" as Note(60) and letter "B" as Note(72). var pat1:Vector.<Note> = pp.parse("A B AABB"); // generate pattern. The PML "A B AABB" is simply translated by rule. // The whitespaces are translated to rest. for (var i:int=0; i<pat1.length; i++) { trace(pat1[i].note); // output "60 -1 72 -1 60 60 72 72" (rest's note property is -1) } var pat2:Vector.<Note> = pp.parse("A B A^^^"); // generate pattern. The letter "^" extends previous Note's length. var pat3:Vector.<Note> = pp.parse("[A B ]2"); // generate pattern. The letter "[...]n" is translated as a loop. you cannot nest loops.