![]() Server : Apache/2 System : Linux server-15-235-50-60 5.15.0-164-generic #174-Ubuntu SMP Fri Nov 14 20:25:16 UTC 2025 x86_64 User : gositeme ( 1004) PHP Version : 8.2.29 Disable Function : exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname Directory : /home/gositeme/domains/soundstudiopro.com/public_html/ |
<?php
/**
* Quick Fix: Normalize BPM values > 170 in database
* This fixes tracks that have 188 BPM (should be 94)
*/
require_once 'config/database.php';
$pdo = getDBConnection();
// Get all tracks with BPM > 170 in metadata
$stmt = $pdo->query("SELECT id, metadata FROM music_tracks WHERE metadata IS NOT NULL");
$tracks = $stmt->fetchAll(PDO::FETCH_ASSOC);
$fixed = 0;
$errors = 0;
foreach ($tracks as $track) {
$metadata = json_decode($track['metadata'] ?? '{}', true) ?: [];
$needsFix = false;
// Check analyzed_bpm
if (isset($metadata['analyzed_bpm']) && $metadata['analyzed_bpm'] > 170) {
$original = $metadata['analyzed_bpm'];
$normalized = $metadata['analyzed_bpm'];
while ($normalized > 170) {
$normalized = $normalized / 2;
}
$metadata['analyzed_bpm'] = round($normalized, 1);
$needsFix = true;
echo "Track {$track['id']}: analyzed_bpm $original ā {$metadata['analyzed_bpm']}\n";
}
// Check bpm
if (isset($metadata['bpm']) && $metadata['bpm'] > 170) {
$original = $metadata['bpm'];
$normalized = $metadata['bpm'];
while ($normalized > 170) {
$normalized = $normalized / 2;
}
$metadata['bpm'] = round($normalized, 1);
$needsFix = true;
echo "Track {$track['id']}: bpm $original ā {$metadata['bpm']}\n";
}
if ($needsFix) {
try {
$updateStmt = $pdo->prepare("UPDATE music_tracks SET metadata = ? WHERE id = ?");
$updateStmt->execute([json_encode($metadata), $track['id']]);
$fixed++;
} catch (Exception $e) {
echo "ERROR fixing track {$track['id']}: " . $e->getMessage() . "\n";
$errors++;
}
}
}
echo "\nā
Fixed $fixed tracks\n";
if ($errors > 0) {
echo "ā $errors errors\n";
}