query("SELECT t.GroupID, x.fid FROM ".($SeedingOnly ? 'xbt_files_users' : 'xbt_snatched')." AS x JOIN torrents AS t ON t.ID=x.fid JOIN torrents_group AS tg ON tg.ID = t.GroupID WHERE t.Format='FLAC' AND ((t.LogScore = '100' AND t.Media = 'CD') OR t.Media != 'CD') AND tg.CategoryID = 1 AND x.uid='$UserID'"); $SnatchedTorrentIDs = array_fill_keys($DB->collect('fid'), true); $SnatchedGroupIDs = array_unique($DB->collect('GroupID')); if (count($SnatchedGroupIDs) > 1000) { shuffle($SnatchedGroupIDs); $SnatchedGroupIDs = array_slice($SnatchedGroupIDs, 0, 1000); } if (count($SnatchedGroupIDs) == 0) { error(($SeedingOnly ? "You aren't seeding any perfect FLACs!" : "You haven't snatched any perfect FLACs!")); } // Create hash table $DB->query("CREATE TEMPORARY TABLE temp_sections_better_snatch SELECT t.GroupID, GROUP_CONCAT(t.Encoding SEPARATOR ' ') AS EncodingList, CRC32(CONCAT_WS(' ', Media, Remasteryear, Remastertitle, Remasterrecordlabel, Remastercataloguenumber)) AS RemIdent FROM torrents AS t WHERE t.GroupID IN(".implode(',',$SnatchedGroupIDs).") AND t.Format IN ('FLAC', 'MP3') GROUP BY t.GroupID, RemIdent"); //$DB->query('SELECT * FROM t'); $DB->query("SELECT GroupID FROM temp_sections_better_snatch WHERE EncodingList NOT LIKE '%V0 (VBR)%' OR EncodingList NOT LIKE '%V2 (VBR)%' OR EncodingList NOT LIKE '%320%'"); $GroupIDs = array_fill_keys($DB->collect('GroupID'), true); if (count($GroupIDs) == 0) { error('No results found'); } $Groups = Torrents::get_groups(array_keys($GroupIDs)); $Groups = $Groups['matches']; $TorrentGroups = array(); foreach ($Groups as $GroupID => $Group) { if (empty($Group['Torrents'])) { unset($Groups[$GroupID]); continue; } foreach ($Group['Torrents'] as $Torrent) { $TorRemIdent = "$Torrent[Media] $Torrent[RemasterYear] $Torrent[RemasterTitle] $Torrent[RemasterRecordLabel] $Torrent[RemasterCatalogueNumber]"; if (!isset($TorrentGroups[$Group['ID']])) { $TorrentGroups[$Group['ID']] = array( $TorRemIdent => array( 'FlacID' => 0, 'Formats' => array(), 'IsSnatched' => $Torrent['IsSnatched'], 'Medium' => $Torrent['Media'], 'RemasterTitle' => $Torrent['RemasterTitle'], 'RemasterYear' => $Torrent['RemasterYear'], 'RemasterRecordLabel' => $Torrent['RemasterRecordLabel'], 'RemasterCatalogueNumber' => $Torrent['RemasterCatalogueNumber'] ) ); } elseif (!isset($TorrentGroups[$Group['ID']][$TorRemIdent])) { $TorrentGroups[$Group['ID']][$TorRemIdent] = array( 'FlacID' => 0, 'Formats' => array(), 'IsSnatched' => $Torrent['IsSnatched'], 'Medium' => $Torrent['Media'], 'RemasterTitle' => $Torrent['RemasterTitle'], 'RemasterYear' => $Torrent['RemasterYear'], 'RemasterRecordLabel' => $Torrent['RemasterRecordLabel'], 'RemasterCatalogueNumber' => $Torrent['RemasterCatalogueNumber'] ); } if ($Torrent['Format'] == 'MP3' && isset($EncodingKeys[$Torrent['Encoding']])) { $TorrentGroups[$Group['ID']][$TorRemIdent]['Formats'][$Torrent['Encoding']] = true; } elseif (isset($SnatchedTorrentIDs[$Torrent['ID']])) { $TorrentGroups[$Group['ID']][$TorRemIdent]['FlacID'] = $Torrent['ID']; } } } $Counter = array( 'total' => 0, //how many FLAC torrents can be transcoded? 'miss_total' => 0, //how many transcodes are missing? 'miss_V0 (VBR)' => 0, //how many V0 transcodes are missing? 'miss_V2 (VBR)' => 0, //how many V2 transcodes are missing? 'miss_320' => 0, //how many 320 transcodes are missing? ); foreach($TorrentGroups as $Editions) { foreach($Editions as $Edition) { if($Edition['FlacID'] == 0) { continue; } // no FLAC in this edition $edition_miss = 0; //number of transcodes missing in this edition foreach($Encodings as $Encoding) { if(!isset($Edition['Formats'][$Encoding])) { ++$edition_miss; ++$Counter['miss_'.$Encoding]; } } $Counter['miss_total'] += $edition_miss; $Counter['total'] += (bool)$edition_miss; } } View::show_header('Transcode Snatches'); ?>

Transcode torrents

Stats

Number of perfect FLACs you can transcode:
Number of missing transcodes:
Number of missing V2 / V0 / 320 transcodes: / /

List

$Editions) { $GroupInfo = $Groups[$GroupID]; $GroupYear = $GroupInfo['Year']; $ExtendedArtists = $GroupInfo['ExtendedArtists']; $GroupCatalogueNumber = $GroupInfo['CatalogueNumber']; $GroupName = $GroupInfo['Name']; $GroupRecordLabel = $GroupInfo['RecordLabel']; $ReleaseType = $GroupInfo['ReleaseType']; if (!empty($ExtendedArtists[1]) || !empty($ExtendedArtists[4]) || !empty($ExtendedArtists[5]) || !empty($ExtendedArtists[6])) { unset($ExtendedArtists[2]); unset($ExtendedArtists[3]); $ArtistNames = Artists::display_artists($ExtendedArtists); } else { $ArtistNames = ''; } foreach ($Editions as $RemIdent => $Edition) { if (!$Edition['FlacID'] || count($Edition['Formats']) == 3) { continue; } $DisplayName = $ArtistNames . ''.$GroupName.''; if($GroupYear > 0) { $DisplayName .= " [".$GroupYear."]"; } if ($ReleaseType > 0) { $DisplayName .= " [".$ReleaseTypes[$ReleaseType]."]"; } $DisplayName .= ' ['.$Edition['Medium'].']'; $EditionInfo = array(); if (!empty($Edition['RemasterYear'])) { $ExtraInfo = $Edition['RemasterYear']; } else { $ExtraInfo = ''; } if (!empty($Edition['RemasterRecordLabel'])) { $EditionInfo[] = $Edition['RemasterRecordLabel']; } if (!empty($Edition['RemasterTitle'])) { $EditionInfo[] = $Edition['RemasterTitle']; } if (!empty($Edition['RemasterCatalogueNumber'])) { $EditionInfo[] = $Edition['RemasterCatalogueNumber']; } if (!empty($Edition['RemasterYear'])) { $ExtraInfo .= ' - '; } $TorrentTags = new Tags($GroupInfo['TagList']); $ExtraInfo .= implode(' / ', $EditionInfo); ?>
Torrent V2 V0 320
DL
format()?>
YES' : 'class="important_text">NO'?> YES' : 'class="important_text">NO'?> YES' : 'class="important_text">NO'?>