function LookupGenreID($genre, $allowSCMPXextended = false) { $GenreLookup = getid3_id3v1::ArrayOfGenres($allowSCMPXextended); $LowerCaseNoSpaceSearchTerm = strtolower(str_replace(' ', '', $genre)); foreach ($GenreLookup as $key => $value) { foreach ($GenreLookup as $key => $value) { if (strtolower(str_replace(' ', '', $value)) == $LowerCaseNoSpaceSearchTerm) { return $key; } } return false; } return isset($GenreLookup[$genreid]) ? $GenreLookup[$genreid] : false; }
} elseif (!empty($OldThisFileInfo['comments']['track']) && is_array($OldThisFileInfo['comments']['track'])) { $RawTrackNumberArray = $OldThisFileInfo['comments']['track']; } else { $RawTrackNumberArray = array(); } foreach ($RawTrackNumberArray as $key => $value) { if (strlen($value) > strlen($TrackNumber)) { // ID3v1 may store track as "3" but ID3v2/APE would store as "03/16" $TrackNumber = $value; } } if (strstr($TrackNumber, '/')) { list($TrackNumber, $TracksTotal) = explode('/', $TrackNumber); } echo '<tr><td align="right"><b>Track</b></td><td><input type="text" size="2" name="Track" value="' . htmlentities($TrackNumber, ENT_QUOTES) . '"> of <input type="text" size="2" name="TracksTotal" value="' . htmlentities($TracksTotal, ENT_QUOTES) . '"></TD></TR>'; $ArrayOfGenresTemp = getid3_id3v1::ArrayOfGenres(); // get the array of genres foreach ($ArrayOfGenresTemp as $key => $value) { // change keys to match displayed value $ArrayOfGenres[$value] = $value; } unset($ArrayOfGenresTemp); // remove temporary array unset($ArrayOfGenres['Cover']); // take off these special cases unset($ArrayOfGenres['Remix']); unset($ArrayOfGenres['Unknown']); $ArrayOfGenres[''] = '- Unknown -'; // Add special cases back in with renamed key/value $ArrayOfGenres['Cover'] = '-Cover-'; $ArrayOfGenres['Remix'] = '-Remix-';
public static function LookupGenreID($genre, $allow_SCMPX_extended = false) { $lookup = getid3_id3v1::ArrayOfGenres($allow_SCMPX_extended); $lower_case_no_space_search_term = strtolower(str_replace(' ', '', $genre)); foreach ($lookup as $key => $value) { foreach ($lookup as $key => $value) { if (strtolower(str_replace(' ', '', $value)) == $lower_case_no_space_search_term) { return $key; } } return false; } return isset($lookup[$genre_id]) ? $lookup[$genre_id] : false; }
/** * @covers \GravityMedia\Metadata\Tag\Id3v1::getGenre */ public function testShouldWriteAndReadGenre() { $availableGenres = array_values(Id3v1Processor::ArrayOfGenres()); $expected = $availableGenres[array_rand($availableGenres)]; $this->file->getMetadata()->getId3v1Tag()->setGenre($expected)->save(); $this->assertEquals($expected, $this->file->getMetadata()->getId3v1Tag()->getGenre()); }