コード例 #1
0
ファイル: RVA2.php プロジェクト: rtdean93/therock
 /**
  * Returns the frame raw data.
  *
  * @return string
  */
 public function __toString()
 {
   $data = $this->_device . "\0";
   foreach ($this->_adjustments as $channel) {
     $data .= Transform::toInt8($channel[self::channelType]) .
       Transform::toInt16BE($channel[self::volumeAdjustment] * 512);
     if (abs($channel[self::peakVolume]) <= 0xff)
       $data .= Transform::toInt8(8) .
         Transform::toUInt8($channel[self::peakVolume]);
     else if (abs($channel[self::peakVolume]) <= 0xffff)
       $data .= Transform::toInt8(16) .
         Transform::toUInt16BE($channel[self::peakVolume]);
     else if (abs($channel[self::peakVolume]) <= 0xffffffff)
       $data .= Transform::toInt8(32) .
         Transform::toUInt32BE($channel[self::peakVolume]);
     else
       $data .= Transform::toInt8(64) .
         Transform::toInt64BE($channel[self::peakVolume]); // UInt64
   }
   $this->setData($data);
   return parent::__toString();
 }
コード例 #2
0
ファイル: PCNT.php プロジェクト: rtdean93/therock
 /**
  * Returns the frame raw data.
  *
  * @return string
  */
 public function __toString()
 {
   $this->setData
     ($this->_counter > 4294967295 ?
      Transform::toInt64BE($this->_counter) : // UInt64
      Transform::toUInt32BE($this->_counter));
   return parent::__toString();
 }
コード例 #3
0
ファイル: Box.php プロジェクト: rtdean93/therock
 /**
  * Returns the box raw data.
  *
  * @return string
  */
 public function __toString($data = "")
 {
   if ($this->isContainer())
     foreach ($this->getBoxes() as $name => $boxes)
       foreach ($boxes as $box)
         $data .= $box;
   $size = strlen($data) + 8;
   if ($size > 0xffffffff)
     $size += 8;
   if (strlen($this->_type) > 4)
     $size += 16;
   return ($size > 0xffffffff ?
            Transform::toUInt32BE(1) : Transform::toUInt32BE($size)) .
     (strlen($this->_type) > 4 ? "uuid" : $this->_type) .
     ($size > 0xffffffff ? Transform::toInt64BE($size) : "") . 
     (strlen($this->_type) > 4 ? Transform::toGUID($this->_type) : "") . $data;
 }
コード例 #4
0
ファイル: POPM.php プロジェクト: rtdean93/therock
 /**
  * Returns the frame raw data.
  *
  * @return string
  */
 public function __toString()
 {
   $this->setData
     ($this->_owner . "\0" . Transform::toInt8($this->_rating) .
      ($this->_counter > 0xffffffff ?
       Transform::toInt64BE($this->_counter) :
       ($this->_counter > 0 ? Transform::toUInt32BE($this->_counter) : 0)));
   return parent::__toString();
 }
コード例 #5
0
ファイル: CO64.php プロジェクト: rtdean93/therock
 /**
  * Returns the box raw data.
  *
  * @return string
  */
 public function __toString($data = "")
 {
   $data = Transform::toUInt32BE(count($this->_chunkOffsetTable));
   foreach ($this->_chunkOffsetTable as $chunkOffset)
     $data .= Transform::toInt64BE($chunkOffset);
   return parent::__toString($data);
 }