示例#1
0
 /**
  * Writes the frame raw data without the header.
  *
  * @param HausDesign_Io_Writer $writer The writer object.
  * @return void
  */
 protected function _writeData($writer)
 {
     $writer->writeInt8($flags = 0);
     if ($this->_adjustments[self::right] > 0) {
         $flags = $flags | 0x1;
     }
     if ($this->_adjustments[self::left] > 0) {
         $flags = $flags | 0x2;
     }
     $writer->writeInt8(16)->writeUInt16BE(abs($this->_adjustments[self::right]))->writeUInt16BE(abs($this->_adjustments[self::left]))->writeUInt16BE(abs($this->_adjustments[self::peakRight]))->writeUInt16BE(abs($this->_adjustments[self::peakLeft]));
     if (isset($this->_adjustments[self::rightBack]) && isset($this->_adjustments[self::leftBack]) && isset($this->_adjustments[self::peakRightBack]) && isset($this->_adjustments[self::peakLeftBack])) {
         if ($this->_adjustments[self::rightBack] > 0) {
             $flags = $flags | 0x4;
         }
         if ($this->_adjustments[self::leftBack] > 0) {
             $flags = $flags | 0x8;
         }
         $writer->writeUInt16BE(abs($this->_adjustments[self::rightBack]))->writeUInt16BE(abs($this->_adjustments[self::leftBack]))->writeUInt16BE(abs($this->_adjustments[self::peakRightBack]))->writeUInt16BE(abs($this->_adjustments[self::peakLeftBack]));
     }
     if (isset($this->_adjustments[self::center]) && isset($this->_adjustments[self::peakCenter])) {
         if ($this->_adjustments[self::center] > 0) {
             $flags = $flags | 0x10;
         }
         $writer->writeUInt16BE(abs($this->_adjustments[self::center]))->writeUInt16BE(abs($this->_adjustments[self::peakCenter]));
     }
     if (isset($this->_adjustments[self::bass]) && isset($this->_adjustments[self::peakBass])) {
         if ($this->_adjustments[self::bass] > 0) {
             $flags = $flags | 0x20;
         }
         $writer->writeUInt16BE(abs($this->_adjustments[self::bass]))->writeUInt16BE(abs($this->_adjustments[self::peakBass]));
     }
     $writer->setOffset(0);
     $writer->writeInt8($flags);
 }