Ejemplo n.º 1
0
 /**
  * Passes metadata from $file_path into $query builder.
  * If $file_path is invalid audio file throws exception.
  *
  * @param $file_path
  * @param UpdateQuery $query
  * @param string $file_name to be used for file type detection
  */
 private function loadMetadataFromSongIntoQuery($file_path, UpdateQuery $query, $file_name = null)
 {
     /** @var Metadata $metadata */
     $metadata = FFProbe::read($file_path, $file_name)->getOrThrow(InvalidAudioFileException::class);
     $query->set(TSongs::T_ARTIST, $metadata->meta_artist)->set(TSongs::T_YEAR, $metadata->meta_date)->set(TSongs::T_TITLE, $metadata->meta_title)->set(TSongs::T_NUMBER, $metadata->meta_track_number)->set(TSongs::DISC, $metadata->meta_disc_number)->set(TSongs::BITRATE, $metadata->bitrate)->set(TSongs::LENGTH, $metadata->duration)->set(TSongs::A_ARTIST, $metadata->meta_album_artist)->set(TSongs::T_GENRE, $metadata->meta_genre)->set(TSongs::T_ALBUM, $metadata->meta_album)->set(TSongs::T_COMMENT, $metadata->meta_comment)->set(TSongs::IS_COMP, $metadata->is_compilation)->set(TSongs::FORMAT, $metadata->format_name);
 }