Esempio n. 1
0
 /**
  * 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;
 }