<?php
/*
Arquivo: functions.php

Finalidade:
1. Listar músicas
2. Detectar automaticamente CAPA (jpg/png/webp)
3. Ordenar playlist
4. Preparar dados para player
*/

function cancao_get_audio_files() {

    $dir = get_template_directory() . '/assets/audio/';
    $url = get_template_directory_uri() . '/assets/audio/';

    $files = [];

    if (!is_dir($dir)) return $files;

    $scan = array_diff(scandir($dir), ['.', '..']);
    natcasesort($scan);

    foreach ($scan as $file) {

        if (preg_match('/\.(mp3|wav|ogg)$/i', $file)) {

            $base = pathinfo($file, PATHINFO_FILENAME);

            $name = preg_replace('/^[0-9]+[-_]?/', '', $base);
            $name = ucfirst(str_replace(['-','_'], ' ', $name));

            // procura capa
            $cover = '';
            foreach (['jpg','png','webp'] as $ext) {
                if (file_exists($dir . $base . '.' . $ext)) {
                    $cover = $url . $base . '.' . $ext;
                    break;
                }
            }

            $files[] = [
                'url' => $url . $file,
                'name' => $name,
                'cover' => $cover
            ];
        }
    }

    return array_values($files);
}