コード例 #1
0
ファイル: EQUA.php プロジェクト: rtdean93/therock
 /**
  * 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();
 }
コード例 #2
0
ファイル: EQU2.php プロジェクト: rtdean93/therock
 /**
  * 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();
 }
コード例 #3
0
 /**
  * Returns the frame raw data.
  *
  * @return string
  */
 public function __toString()
 {
     $this->setData(Transform::toInt8($this->_format) . Transform::toUInt32($this->_position));
     return parent::__toString();
 }
コード例 #4
0
 /**
  * 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();
 }
コード例 #5
0
 /**
  * Returns the frame raw data.
  *
  * @return string
  */
 public function __toString()
 {
     parent::setData($this->_owner . "" . Transform::toInt8($this->_method) . $this->_encryptionData);
     return parent::__toString();
 }
コード例 #6
0
 /**
  * Returns the frame raw data.
  *
  * @return string
  */
 public function __toString()
 {
     $this->setData(Transform::toInt8($this->_group) . $this->_signature);
     return parent::__toString();
 }
コード例 #7
0
 /**
  * Returns the header raw data.
  *
  * @return string
  */
 public function __toString()
 {
     /* ID3v2.3.0 ExtendedHeader */
     if (isset($this->_options["version"]) && $this->_options["version"] < 4) {
         return Transform::toUInt32BE($this->_size) . Transform::toUInt16BE($this->hasFlag(self::CRC32) ? 0x8000 : 0) . Transform::toUInt32BE($this->_padding) . ($this->hasFlag(self::CRC32) ? Transform::toUInt32BE($this->_crc) : "");
     } else {
         return Transform::toUInt32BE($this->encodeSynchsafe32($this->_size)) . Transform::toInt8(1) . Transform::toInt8($this->_flags) . ($this->hasFlag(self::UPDATE) ? "" : "") . ($this->hasFlag(self::CRC32) ? Transform::toInt8(5) . Transform::toInt8($this->_crc & 0xf0000000 >> 28 & 0xf) . Transform::toUInt32BE(encodeSynchsafe32($this->_crc)) : "") . ($this->hasFlag(self::RESTRICTED) ? Transform::toInt8(1) . Transform::toInt8($this->_restrictions) : "");
     }
 }
コード例 #8
0
 /**
  * Returns the frame raw data.
  *
  * @return string
  */
 public function __toString()
 {
     $this->setData(Transform::toInt16BE($this->_reverbLeft) . Transform::toInt16BE($this->_reverbRight) . Transform::toInt8($this->_reverbBouncesLeft) . Transform::toInt8($this->_reverbBouncesRight) . Transform::toInt8($this->_reverbFeedbackLtoL) . Transform::toInt8($this->_reverbFeedbackLtoR) . Transform::toInt8($this->_reverbFeedbackRtoR) . Transform::toInt8($this->_reverbFeedbackRtoL) . Transform::toInt8($this->_premixLtoR) . Transform::toInt8($this->_premixRtoL));
     return parent::__toString();
 }
コード例 #9
0
 /**
  * Returns the frame raw data.
  *
  * @return string
  */
 public function __toString()
 {
     $this->setData(substr(Transform::toInt32BE($this->_size) << 8, 0, 3) . Transform::toInt8($this->_flags) . Transform::toInt32BE($this->_offset));
     return parent::__toString();
 }
コード例 #10
0
 /**
  * Returns the frame raw data.
  *
  * @return string
  */
 public function __toString()
 {
     $data = Transform::toInt8($this->_encoding) . $this->_mimeType . "" . Transform::toInt8($this->_imageType);
     switch ($this->_encoding) {
         case self::UTF16:
             $data .= Transform::toString16($this->_description) . "";
             break;
         case self::UTF16BE:
             $data .= Transform::toString16BE($this->_description) . "";
             break;
         case self::UTF16LE:
             $data .= Transform::toString16LE($this->_description) . "";
             break;
         default:
             $data .= $this->_description . "";
     }
     parent::setData($data . $this->_imageData);
     return parent::__toString();
 }
コード例 #11
0
 /**
  * Returns the frame raw data.
  *
  * @return string
  */
 public function __toString()
 {
     $data = Transform::toInt8($this->_encoding);
     switch ($this->_encoding) {
         case self::UTF16:
             $data .= Transform::toString16(implode("", $this->_text));
             break;
         case self::UTF16BE:
             $data .= Transform::toString16BE(implode("", $this->_text));
             break;
         case self::UTF16LE:
             $data .= Transform::toString16LE(implode("", $this->_text));
             break;
         default:
             $data .= implode("", $this->_text);
     }
     $this->setData($data);
     return parent::__toString();
 }
コード例 #12
0
ファイル: ILST.php プロジェクト: rtdean93/therock
 /**
  * Returns the box raw data.
  *
  * @return string
  */
 public function __toString($data = "")
 {
   switch ($this->getFlags()) {
   case self::INTEGER:
   case self::INTEGER_OLD_STYLE:
     $data = "";
     for ($i = 0;  $i < strlen($this->_value); $i++)
       $data .= Transform::toInt8($this->_value[$i]);
     break;
   case self::STRING:
   default:
     $data = $this->_value;
   }
   return parent::__toString("\0\0\0\0" . $data);
 }
コード例 #13
0
 /**
  * Returns the frame raw data.
  *
  * @return string
  */
 public function __toString()
 {
     $data = Transform::toInt8($this->_encoding) . $this->_language;
     switch ($this->_encoding) {
         case self::UTF16:
             $data .= Transform::toString16($this->_text);
             break;
         case self::UTF16BE:
             $data .= Transform::toString16BE($this->_text);
             break;
         case self::UTF16LE:
             $data .= Transform::toString16LE($this->_text);
             break;
         default:
             $data .= $this->_text;
     }
     $this->setData($data);
     return parent::__toString();
 }
コード例 #14
0
 /**
  * Returns the frame raw data.
  *
  * @return string
  */
 public function __toString()
 {
     parent::setData(Transform::toInt8($this->_format) . $this->_tempoData);
     return parent::__toString();
 }
コード例 #15
0
ファイル: ID3v1.php プロジェクト: rtdean93/therock
 /**
  * Returns the tag raw data.
  *
  * @return string
  */
 private function __toString()
 {
   return "TAG" .
     Transform::toString8(substr($this->_title,  0, 30), 30) .
     Transform::toString8(substr($this->_artist, 0, 30), 30) .
     Transform::toString8(substr($this->_album,  0, 30), 30) .
     Transform::toString8(substr($this->_year,   0,  4),  4) .
     ($this->_track ?
      Transform::toString8(substr($this->_comment, 0, 28), 28) .
      "\0" . Transform::toInt8($this->_track) :
      Transform::toString8(substr($this->_comment, 0, 30), 30)) .
     Transform::toInt8($this->_genre);
 }
コード例 #16
0
 /**
  * Returns the header/footer raw data without the identifier.
  *
  * @return string
  */
 public function __toString()
 {
     return Transform::toInt8(floor($this->_version)) . Transform::toInt8(($this->_version - floor($this->_version)) * 10) . Transform::toInt8($this->_flags) . Transform::toUInt32BE($this->encodeSynchsafe32($this->_size));
 }
コード例 #17
0
ファイル: RVAD.php プロジェクト: rtdean93/therock
 /**
  * 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();
 }
コード例 #18
0
 /**
  * Returns the frame raw data.
  *
  * @return string
  */
 public function __toString()
 {
     $data = Transform::toInt8($this->_format);
     sort($this->_events);
     foreach ($this->_events as $timestamp => $type) {
         $data .= Transform::toInt8($type) . Transform::toInt32BE($timestamp);
     }
     $this->setData($data);
     return parent::__toString();
 }
コード例 #19
0
ファイル: ExtendedHeader.php プロジェクト: rtdean93/therock
 /**
  * Returns the header raw data.
  *
  * @return string
  */
 public function __toString()
 {
   /* ID3v2.3.0 ExtendedHeader */
   if ($this->getOption("version", 4) < 4) {
     return Transform::toUInt32BE($this->_size) .
       Transform::toUInt16BE($this->hasFlag(self::CRC32) ? 0x8000 : 0) .
       Transform::toUInt32BE($this->_padding) .
       ($this->hasFlag(self::CRC32) ? Transform::toUInt32BE($this->_crc) : "");
   }
   
   /* ID3v2.4.0 ExtendedHeader */
   else {
     return Transform::toUInt32BE($this->encodeSynchsafe32($this->_size)) .
       Transform::toInt8(1) . Transform::toInt8($this->_flags) .
       ($this->hasFlag(self::UPDATE) ? "\0" : "") .
       ($this->hasFlag(self::CRC32) ? Transform::toInt8(5) .
        Transform::toInt8($this->_crc & 0xf0000000 >> 28 & 0xf /*eq >>> 28*/) .
        Transform::toUInt32BE($this->encodeSynchsafe32($this->_crc)) : "") .
       ($this->hasFlag(self::RESTRICTED) ? 
          Transform::toInt8(1) . Transform::toInt8($this->_restrictions) : "");
   }
 }
コード例 #20
0
 /**
  * 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();
 }
コード例 #21
0
 /**
  * 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();
 }
コード例 #22
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();
 }
コード例 #23
0
 /**
  * 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();
 }
コード例 #24
0
 /**
  * Returns the frame raw data.
  *
  * @return string
  */
 public function __toString()
 {
     $data = Transform::toInt8($this->_encoding);
     switch ($this->_encoding) {
         case self::UTF16:
             $data .= Transform::toString16($this->_description) . "" . Transform::toString16($this->_text[0]);
             break;
         case self::UTF16BE:
             $data .= Transform::toString16BE($this->_description) . "" . Transform::toString16BE($this->_text[0]);
             break;
         case self::UTF16LE:
             $data .= Transform::toString16LE($this->_description) . "" . Transform::toString16LE($this->_text[0]);
             break;
         default:
             $data .= $this->_description . "" . $this->_text[0];
     }
     $this->setData($data);
     return parent::__toString();
 }
コード例 #25
0
 /**
  * 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();
 }
コード例 #26
0
ファイル: RBUF.php プロジェクト: rtdean93/therock
 /**
  * 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();
 }
コード例 #27
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();
 }
コード例 #28
0
 /**
  * Returns the frame raw data.
  *
  * @return string
  */
 public function __toString()
 {
     parent::setData($this->_owner . "" . Transform::toInt8($this->_group) . $this->_groupData);
     return parent::__toString();
 }