/** * Returns the frame raw data. * * @return string */ public function __toString() { $data = $this->_device . ""; foreach ($this->_adjustments as $channel) { $data .= Transform::toInt8($channel["channelType"]) . Transform::toInt16BE($channel["volumeAdjustment"]); if ($channel["peakVolume"] < 255) { $data .= Transform::toInt8(8) . Transform::toInt8($channel["peakVolume"]); } else { if ($channel["peakVolume"] < 65535) { $data .= Transform::toInt8(16) . Transform::toUInt16BE($channel["peakVolume"]); } else { if ($channel["peakVolume"] < 4294967295) { $data .= Transform::toInt8(32) . Transform::toUInt32BE($channel["peakVolume"]); } else { $data .= Transform::toInt8(64) . Transform::toUInt64BE($channel["peakVolume"]); } } } } $this->setData($data); return parent::__toString(); }