| Package | org.si.sound.patterns |
| Class | public class PMLParser |
| Inheritance | PMLParser Object |
| 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):Arraygenerate 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.