/** * Constructs the class with given parameters and parses object related data. * * @param Reader $reader The reader object. * @param Array $options The options array. */ public function __construct($reader = null, &$options = array()) { parent::__construct($reader, $options); if ($reader === null) { throw new ID3_Exception("Write not supported yet"); } $this->_dataStart = Transform::fromInt32BE(substr($this->_data, 0, 4)); $this->_dataLength = Transform::fromInt32BE(substr($this->_data, 4, 4)); $this->_size = Transform::fromInt16BE(substr($this->_data, 8, 2)); $bitsPerPoint = Transform::fromInt8($this->_data[10]); /*for ($i = 0, $offset = 11; $i < $this->_size; $i++) { if ($bitsPerPoint == 16) { $this->_fractions[$i] = substr($this->_data, $offset, 2); $offset += 2; } else { $this->_fractions[$i] = substr($this->_data, $offset, 1); $offset ++; } }*/ }
/** * Returns the frame raw data. * * @return string */ public function __toString() { $data = Transform::toInt8($this->_encoding); foreach ($this->_people as $entry) { foreach ($entry as $key => $val) { switch ($this->_encoding) { case self::UTF16: $data .= Transform::toString16($key . "" . $val . ""); break; case self::UTF16BE: $data .= Transform::toString16BE($key . "" . $val . ""); break; case self::UTF16LE: $data .= Transform::toString16LE($key . "" . $val . ""); break; default: $data .= $key . "" . $val . ""; } } } $this->setData($data); return parent::__toString(); }
/** * Returns the frame raw data. * * @return string */ public function __toString() { $data = Transform::toInt8($this->_interpolation) . $this->_device . "\0"; foreach ($this->_adjustments as $frequency => $adjustment) $data .= Transform::toUInt16BE($frequency * 2) . Transform::toInt16BE($adjustment * 512); $this->setData($data); return parent::__toString(); }
/** * Returns the frame raw data. * * @return string */ public function __toString() { parent::setData($this->_owner . "" . Transform::toInt8($this->_method) . $this->_encryptionData); return parent::__toString(); }
/** * 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(); }
/** * Returns the frame raw data. * * @return string */ public function __toString() { $this->setData(Transform::toInt32BE($this->_minOffset)); return parent::__toString(); }
/** * Returns the frame raw data. * * @return string */ public function __toString() { $data = Transform::toUInt8($this->_encoding) . $this->_currency . $this->_price . "\0" . $this->_date . $this->_contact . "\0" . Transform::toUInt8($this->_delivery); switch ($this->_encoding) { case self::UTF16: case self::UTF16LE: $order = $this->_encoding == self::UTF16 ? Transform::MACHINE_ENDIAN_ORDER : Transform::LITTLE_ENDIAN_ORDER; $data .= Transform::toString16($this->_seller, $order) . "\0\0" . Transform::toString16($this->_description, $order) . "\0\0"; break; case self::UTF16BE: $data .= Transform::toString16BE ($this->_seller . "\0\0" . $this->_description . "\0\0"); break; default: $data .= $this->_seller . "\0" . $this->_description . "\0"; } parent::setData ($data . ($this->_mimeType ? $this->_mimeType . "\0" . $this->_imageData : "")); return parent::__toString(); }
/** * Returns the frame raw data. * * @return string */ public function __toString() { $flags = 0; if ($this->_adjustments["right"] > 0) { $flags = $flags | 0x20; } if ($this->_adjustments["left"] > 0) { $flags = $flags | 0x10; } $data = Transform::toInt8(16) . Transform::toUInt16BE(abs($this->_adjustments["right"])) . Transform::toUInt16BE(abs($this->_adjustments["left"])) . Transform::toUInt16BE(abs($this->_adjustments["peakRight"])) . Transform::toUInt16BE(abs($this->_adjustments["peakLeft"])); if (isset($this->_adjustments["rightBack"]) && isset($this->_adjustments["leftBack"]) && isset($this->_adjustments["peakRightBack"]) && isset($this->_adjustments["peakLeftBack"])) { if ($this->_adjustments["rightBack"] > 0) { $flags = $flags | 0x8; } if ($this->_adjustments["leftBack"] > 0) { $flags = $flags | 0x4; } $data .= Transform::toUInt16BE(abs($this->_adjustments["rightBack"])) . Transform::toUInt16BE(abs($this->_adjustments["leftBack"])) . Transform::toUInt16BE(abs($this->_adjustments["peakRightBack"])) . Transform::toUInt16BE(abs($this->_adjustments["peakLeftBack"])); } if (isset($this->_adjustments["center"]) && isset($this->_adjustments["peakCenter"])) { if ($this->_adjustments["center"] > 0) { $flags = $flags | 0x2; } $data .= Transform::toUInt16BE(abs($this->_adjustments["center"])) . Transform::toUInt16BE(abs($this->_adjustments["peakCenter"])); } if (isset($this->_adjustments["bass"]) && isset($this->_adjustments["peakBass"])) { if ($this->_adjustments["bass"] > 0) { $flags = $flags | 0x1; } $data .= Transform::toUInt16BE(abs($this->_adjustments["bass"])) . Transform::toUInt16BE(abs($this->_adjustments["peakBass"])); } $this->setData(Transform::toInt8($flags) . $data); return parent::__toString(); }
/** * Returns the frame raw data. * * @return string */ public function __toString() { $data = Transform::toInt8(16); foreach ($this->_adjustments as $frequency => $adjustment) $data .= Transform::toUInt16BE ($adjustment > 0 ? $frequency | 0x8000 : $frequency & ~0x8000) . Transform::toUInt16BE(abs($adjustment)); $this->setData($data); return parent::__toString(); }
/** * Returns the frame raw data. * * @return string */ public function __toString() { $this->setData (substr(Transform::toUInt32BE($this->_bufferSize), 1, 3) . Transform::toInt8($this->_infoFlags) . Transform::toInt32BE($this->_offset)); return parent::__toString(); }
/** * Returns the frame raw data. * * @return string */ public function __toString() { $data = Transform::toUInt8($this->_encoding); switch ($this->_encoding) { case self::UTF16: case self::UTF16LE: $array = $this->_text; foreach ($array as &$text) $text = Transform::toString16($text); $data .= Transform::toString16 (implode("\0\0", $array), $this->_encoding == self::UTF16 ? Transform::MACHINE_ENDIAN_ORDER : Transform::LITTLE_ENDIAN_ORDER); break; case self::UTF16BE: $data .= Transform::toString16BE(implode("\0\0", $this->_text)); break; default: $data .= implode("\0", $this->_text); } $this->setData($data); return parent::__toString(); }
/** * Returns the frame raw data. * * @return string */ public function __toString() { $data = Transform::toUInt8($this->_encoding) . $this->_language; switch ($this->_encoding) { case self::UTF16: case self::UTF16LE: $data .= Transform::toString16 ($this->_text, $this->_encoding == self::UTF16 ? Transform::MACHINE_ENDIAN_ORDER : Transform::LITTLE_ENDIAN_ORDER); break; case self::UTF16BE: $data .= Transform::toString16BE($this->_text); break; default: $data .= $this->_text; } $this->setData($data); return parent::__toString(); }
/** * 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(); }
/** * Returns the frame raw data. * * @return string */ public function __toString() { $data = Transform::toUInt8($this->_format); foreach ($this->_events as $timestamp => $type) $data .= Transform::toUInt8($type) . Transform::toUInt32BE($timestamp); $this->setData($data); return parent::__toString(); }
/** * 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(); }
/** * Returns the frame raw data. * * @return string */ public function __toString() { $data = Transform::toUInt8($this->_encoding) . $this->_currency . $this->_price . "\0" . $this->_date; switch ($this->_encoding) { case self::UTF16: case self::UTF16LE: $data .= Transform::toString16 ($this->_seller, $this->_encoding == self::UTF16 ? Transform::MACHINE_ENDIAN_ORDER : Transform::LITTLE_ENDIAN_ORDER); break; case self::UTF16BE: $data .= Transform::toString16BE($this->_seller); break; default: $data .= $this->_seller; } $this->setData($data); return parent::__toString(); }
/** * Returns the frame raw data. * * @return string */ public function __toString() { $this->setData ($this->_owner . "\0" . Transform::toUInt16BE($this->_previewStart) . Transform::toUInt16BE($this->_previewLength) . $this->_encryptionInfo); return parent::__toString(); }
/** * Sets the CD TOC binary dump. * * @param string $data The CD TOC binary dump string. */ public function setData($data) { parent::setData($data); }
/** * Constructs the class with given parameters and parses object related data. * * @param Reader $reader The reader object. * @param Array $options The options array. */ public function __construct($reader = null, &$options = array()) { parent::__construct($reader, $options); if ($reader === null) { throw new ID3_Exception("Write not supported yet"); } $this->_frames = Transform::fromInt16BE(substr($this->_data, 0, 2)); $this->_bytes = Transform::fromInt32BE(substr($this->_data, 2, 3)); $this->_milliseconds = Transform::fromInt32BE(substr($this->_data, 5, 3)); $byteDevBits = Transform::fromInt8($this->_data[8]); $millisDevBits = Transform::fromInt8($this->_data[9]); // $data = substr($this->_data, 10); }
/** * Returns the frame raw data. * * @return string */ public function __toString() { $flags = 0; if ($this->_adjustments[self::right] > 0) $flags = $flags | 0x1; if ($this->_adjustments[self::left] > 0) $flags = $flags | 0x2; $data = Transform::toInt8(16) . Transform::toUInt16BE(abs($this->_adjustments[self::right])) . Transform::toUInt16BE(abs($this->_adjustments[self::left])) . Transform::toUInt16BE(abs($this->_adjustments[self::peakRight])) . Transform::toUInt16BE(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; $data .= Transform::toUInt16BE(abs($this->_adjustments[self::rightBack])) . Transform::toUInt16BE(abs($this->_adjustments[self::leftBack])) . Transform::toUInt16BE(abs($this->_adjustments[self::peakRightBack])) . Transform::toUInt16BE(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; $data .= Transform::toUInt16BE(abs($this->_adjustments[self::center])) . Transform::toUInt16BE(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; $data .= Transform::toUInt16BE(abs($this->_adjustments[self::bass])) . Transform::toUInt16BE(abs($this->_adjustments[self::peakBass])); } $this->setData(Transform::toInt8($flags) . $data); return parent::__toString(); }
/** * Returns the frame raw data. * * @return string */ public function __toString() { $data = Transform::toInt8($this->_encoding) . $this->_price . "" . $this->_date . $this->_contact . "" . Transform::toInt8($this->_delivery); switch ($this->_encoding) { case self::UTF16: $data .= Transform::toString16($this->_seller) . "" . Transform::toString16($this->_description) . ""; break; case self::UTF16BE: $data .= Transform::toString16BE($this->_seller) . ""; Transform::toString16($this->_description) . ""; break; case self::UTF16LE: $data .= Transform::toString16LE($this->_seller) . ""; Transform::toString16($this->_description) . ""; break; default: $data .= $this->_seller . "" . $this->_description . ""; } parent::setData($data . ($this->_mimeType ? $this->_mimeType . "" . $this->_imageData : 0)); return parent::__toString(); }
/** * Returns the frame raw data. * * @return string */ public function __toString() { $data = Transform::toUInt8($this->_encoding) . $this->_language . Transform::toUInt8($this->_format) . Transform::toUInt8($this->_type); switch ($this->_encoding) { case self::UTF16: case self::UTF16LE: $data .= Transform::toString16 ($this->_description, $this->_encoding == self::UTF16 ? Transform::MACHINE_ENDIAN_ORDER : Transform::LITTLE_ENDIAN_ORDER) . "\0\0"; break; case self::UTF16BE: $data .= Transform::toString16BE($this->_description) . "\0\0"; break; default: $data .= $this->_description . "\0"; } foreach ($this->_events as $timestamp => $syllable) { switch ($this->_encoding) { case self::UTF16: case self::UTF16LE: $data .= Transform::toString16 ($syllable, $this->_encoding == self::UTF16 ? Transform::MACHINE_ENDIAN_ORDER : Transform::LITTLE_ENDIAN_ORDER) . "\0\0"; break; case self::UTF16BE: $data .= Transform::toString16BE($syllable) . "\0\0"; break; default: $data .= $syllable . "\0"; } $data .= Transform::toUInt32BE($timestamp); } $this->setData($data); return parent::__toString(); }
/** * Returns the frame raw data. * * @return string */ public function __toString() { parent::setData ($this->_owner . "\0" . Transform::toUInt8($this->_group) . $this->_groupData); return parent::__toString(); }
/** * Returns the frame raw data. * * @return string */ public function __toString() { $this->setData(Transform::toInt8($this->_group) . $this->_signature); return parent::__toString(); }
/** * Returns the frame raw data. * * @return string */ public function __toString() { $data = Transform::toUInt8($this->_encoding); switch ($this->_encoding) { case self::UTF16: case self::UTF16LE: $data .= Transform::toString16 ($this->_description, $this->_encoding == self::UTF16 ? Transform::MACHINE_ENDIAN_ORDER : Transform::LITTLE_ENDIAN_ORDER) . "\0\0"; break; case self::UTF16BE: $data .= Transform::toString16BE($this->_description) . "\0\0"; break; default: $data .= $this->_description . "\0"; } $this->setData($data . $this->_link); return ID3_Frame::__toString(); }
/** * Returns the frame raw data. * * @return string */ public function __toString() { $data = Transform::toUInt8($this->_encoding) . $this->_mimeType . "\0"; switch ($this->_encoding) { case self::UTF16: case self::UTF16LE: $order = $this->_encoding == self::UTF16 ? Transform::MACHINE_ENDIAN_ORDER : Transform::LITTLE_ENDIAN_ORDER; $data .= Transform::toString16($this->_filename, $order) . "\0\0" . Transform::toString16($this->_description, $order) . "\0\0"; break; case self::UTF16BE: $data .= Transform::toString16BE ($this->_filename . "\0\0" . $this->_description . "\0\0"); break; default: $data .= $this->_filename . "\0" . $this->_description . "\0"; } $this->setData($data . $this->_objectData); return parent::__toString(); }
/** * Returns the frame raw data. * * @return string */ public function __toString() { $data = Transform::toInt8($this->_encoding) . $this->_currency . $this->_price . "" . $this->_date; switch ($this->_encoding) { case self::UTF16: $data .= Transform::toString16($this->_seller); break; case self::UTF16BE: $data .= Transform::toString16BE($this->_seller); break; case self::UTF16LE: $data .= Transform::toString16LE($this->_seller); break; default: $data .= $this->_seller; } $this->setData($data); return parent::__toString(); }
/** * Returns the frame raw data. * * @return string */ public function __toString() { $this->setData(Transform::toString8(substr($this->_target, 0, 4), 4) . $this->_url . "" . $this->_qualifier); return parent::__toString(); }
/** * 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(); }
/** * Returns the frame raw data. * * @return string */ public function __toString() { $data = Transform::toUInt8($this->_format); foreach ($this->_events as $timestamp => $tempo) { if ($tempo >= 0xff) $data .= Transform::toUInt8(0xff) . Transform::toUInt8($tempo - 0xff); else $data .= Transform::toUInt8($tempo); $data .= Transform::toUInt32BE($timestamp); } parent::setData($data); return parent::__toString(); }