/** * renders the object's properties as XML * @return string the XML */ private function _renderproperties() { $out = ''; $out .= '<divisions>' . $this->properties['divisions'] . '</divisions>'; $staves = 1; if (isset($this->properties['key'])) { $key = $this->properties['key']; if (!$key instanceof Key) { $key = new Key($key); } $out .= $key->toXML(); } if (isset($this->properties['time'])) { $out .= '<time'; if (isset($this->properties['time']['symbol'])) { $out .= ' symbol="' . $this->properties['time']['symbol'] . '"'; } $out .= '>'; if (isset($this->properties['time']['beats'])) { $out .= '<beats>' . $this->properties['time']['beats'] . '</beats>'; } if (isset($this->properties['time']['beat-type'])) { $out .= '<beat-type>' . $this->properties['time']['beat-type'] . '</beat-type>'; } $out .= '</time>'; } $clefs = ''; if (isset($this->properties['clef'])) { if (!is_array($this->properties['clef'])) { $this->properties['clef'] = array($this->properties['clef']); } $num = 0; foreach ($this->properties['clef'] as $clef) { $num++; if (!$clef instanceof Clef) { $clef = new Clef($clef); } $clefs .= $clef->toXML($num); } $staves = $num; } if (isset($this->properties['staves'])) { $staves = $this->properties['staves']; } // output staves first, and then clefs. $out .= '<staves>' . $staves . '</staves>'; $out .= $clefs; return $out; }