diff --git a/_data/4r3st.yml b/_data/4r3st.yml index 62715837..cd8c48ee 100755 --- a/_data/4r3st.yml +++ b/_data/4r3st.yml @@ -11,10 +11,9 @@ tags: - Beat/Bassline 1 - Beat/Bassline 0 plugin: - - sfxr - - '' - - '' - nes + - '' + - '' - bitinvader - papu sample: [] @@ -293,7 +292,7 @@ tracks: plugin_name: sfxr usemasterpitch: '' vol: '69' - tags: sfxr + tags: nes type: bassline - bassline_name: Beat/Bassline 1 instruments: [] diff --git a/_data/all.yml b/_data/all.yml index 6e3ffb88..275c490d 100755 --- a/_data/all.yml +++ b/_data/all.yml @@ -424132,10 +424132,9 @@ - Beat/Bassline 1 - Beat/Bassline 0 plugin: - - sfxr - - '' - - '' - nes + - '' + - '' - bitinvader - papu sample: [] @@ -424414,7 +424413,7 @@ plugin_name: sfxr usemasterpitch: '' vol: '69' - tags: sfxr + tags: nes type: bassline - bassline_name: Beat/Bassline 1 instruments: [] diff --git a/_data/beats.yml b/_data/beats.yml new file mode 100644 index 00000000..ad82d42d --- /dev/null +++ b/_data/beats.yml @@ -0,0 +1,99 @@ +- " ( Í¡° Í\x9CÊ\x96 Í¡°) 2.wav" +- " ( Í¡° Í\x9CÊ\x96 Í¡°).wav" +- ' BY gagansingh.1 (Instagram).wav' +- ' Melodies free to use 1.wav' +- ' Orin - New Year (Original Mix).wav' +- ' Reel 2 Real - I Like To Move It (DJ AYZ Edit).wav' +- ' The Riddle (amandyte).wav' +- ' Traurig.wav' +- ' hjkl;''.wav' +- ' ysysysysysy.wav' +- '!.wav' +- '#Live!.wav' +- 'æ.wav' +- '§02.wav' +- '¨Tov@r¨ The last night.wav' +- '(Drifting Rev D) CSammis Track #1.wav' +- (Evo(lution))threading two.wav +- (Piano Remake) The Weeknd - The Hills.wav +- (Unfinished) Another World - Future Bass.wav +- (lo-fi beat) bubblegum.wav +- )screams(.wav +- '- 7 is the answer (06.02.24).wav' +- 43yu.wav +- 4r3st.wav +- '@prod.plue_Trap_Beat.wav' +- Alan_Walker_-_The_Spectre.wav +- All_we_know.wav +- Around_to_Green.wav +- Assault.wav +- Blue_Nights.wav +- Bop_in.wav +- Calvin_Harris_-_Im_Not_Alone.wav +- Calvin_Harris_-_Summer.wav +- Chiptune_1.wav +- Live.wav +- '[Animestep] Chaotic Growls & Anime Wubs.wav' +- '[Bass House] Vespertine - Vortex.wav' +- '[Big Room] Vespertine - Bigfoot.wav' +- '[Big Room] Vespertine - Squad Goals.wav' +- '[Big Room] Vespertine - The Ultimate.wav' +- '[Big Room] Vespertine - Warrior.wav' +- '[Big Room] Vespertine - Wendigo.wav' +- '[Big Room] Vespertine - Witchcraft.wav' +- '[Bootleg Remix] Deorro - Five Hours + Swedish House Mafia & The Weeknd - Moth To + A Flame.wav' +- '[Classical] Sample of a melodic music (LMMS).wav' +- '[Deep House] Vespertine feat. GeorG - No Days Off.wav' +- '[Demo] aesthetescence.wav' +- '[Dreamhop] Animal l Bonus R0und EP.wav' +- '[Dubstep] Fyrebreak - Saichania (Original Mix).wav' +- '[Dubstep] Fyrebreak - The Summit.wav' +- '[Dubstep] Vespertine - Murdah.wav' +- '[Electronic] VortexSupernova - Headache Smash 1.2.0.wav' +- '[FREE] Playboi Carti x Lil Uzi Vert Type Beat - Flexin (prod. hxrperr).wav' +- '[Frenchcore] Vespertine - Merde (not finished).wav' +- '[Future Bass] ASH - Space (Vespertine Remix).wav' +- '[Future Bass] Vespertine - Spectrum.wav' +- '[Future Bass] Vespertine ft. Stephanie Kay - Don''t Need You.wav' +- '[Future Bass]Open Your Eyes(RaieL Version).wav' +- '[Future House] Vespertine - Checkpoint.wav' +- '[Future House] Vespertine - Opulent.wav' +- '[Future House] Vespertine - People On The Dancefloor.wav' +- '[Hardcore] Vespertine - Immortal.wav' +- '[Hardcore] Vespertine - Payback.wav' +- '[Hardstyle] Vespertine - Destiny.wav' +- '[Hardstyle] Vespertine - Symphony of Bass.wav' +- '[Hip-Hop] Vespertine - Where It Ends.wav' +- '[Horror Trap] Vespertine - Haunted.wav' +- '[House] Vespertine & miguel - Our Dream.wav' +- '[Hybrid Trap] Vespertine - Fck you.wav' +- '[Hybrid Trap] Vespertine - Headshot.wav' +- '[LO-FI] rum rage.wav' +- '[MELODIC DUBSTEP] Xcalibur - Entwined.wav' +- '[Melbourne Bounce] Vespertine - Bounce Generation.wav' +- '[Melbourne Bounce] Vespertine - Maze.wav' +- '[Melodic Dubstep]AzL-Alone(feat. Elation).wav' +- '[NEW] Yellow claw type song.wav' +- '[Progressive House] Popsip - Electric Dancer (VortexSupernova edit).wav' +- '[Progressive House] Vespertine - Limerence.wav' +- '[Progressive House] Vespertine ft. Xenia Fischer & Thomas Linkwald - Feel The Sun.wav' +- '[Psy Trance] Vespertine - U.F.O.wav' +- '[Remix] JordanKyser - Reactive to Drops.wav' +- '[Remix] shape of you - by Clackster (Dimitrion).wav' +- '[Remix]Trap N.wav' +- '[SYNTHPOP] Xcalibur - Retrospect.wav' +- '[Trap] BONNIE X CLYDE - In The City (Vespertine Remix).wav' +- '[Trap] Fyrebreak - Vanguard (Original Mix).wav' +- '[Trap] Leche - Baggage.wav' +- '[Trap] Leche''s Future Bass Drop (Clackster Remix).wav' +- '[Trap] Vespertine - A.C.A.B.wav' +- '[Trap] Vespertine - Avada Kedavra.wav' +- '[Trap] Vespertine - Betrayal.wav' +- '[Trap] Vespertine - Genocide.wav' +- '[Trap] Vespertine - Mthrfckr.wav' +- '[Trap] Vespertine - Predator.wav' +- '[Trap]TwinShot.wav' +- '[trap remix] Triple ocillator trap song.wav' +- advait.wav +- beryl.wav diff --git a/scripts/handler/generate_manifest.py b/scripts/handler/generate_manifest.py index 44913b7d..7f64f13e 100755 --- a/scripts/handler/generate_manifest.py +++ b/scripts/handler/generate_manifest.py @@ -3,18 +3,18 @@ import os import json import logging +import yaml # <--- Requer: pip install pyyaml # Caminhos relativos baseados na raiz do projeto passada como argumento from utils import CONFIGS, scan_directory_list, scan_directory_tree - def generate_manifests(project_root_path): """ Gera os manifestos e retorna um dicionário com estatísticas. + Suporta JSON e YAML automaticamente baseado na extensão. """ - logging.info("=== Iniciando Geração de Manifestos (Pós-Processamento) ===") + logging.info("=== Iniciando Geração de Manifestos (YAML/JSON) ===") - # Estrutura para o relatório report = {"generated": [], "failed": []} for config in CONFIGS: @@ -39,8 +39,13 @@ def generate_manifests(project_root_path): output_dir = os.path.dirname(output_file_abs) os.makedirs(output_dir, exist_ok=True) + # DECISÃO: Salvar como YAML ou JSON baseado na extensão with open(output_file_abs, "w", encoding="utf-8") as f: - json.dump(result_data, f, indent=2, ensure_ascii=False) + if output_file_abs.endswith(".yml") or output_file_abs.endswith(".yaml"): + # allow_unicode=True é CRUCIAL para acentos funcionarem + yaml.dump(result_data, f, allow_unicode=True, default_flow_style=False) + else: + json.dump(result_data, f, indent=2, ensure_ascii=False) logging.info(f"Manifesto salvo: {output_file_abs}") report["generated"].append(config["output_file"]) @@ -49,4 +54,4 @@ def generate_manifests(project_root_path): logging.error(f"Erro ao gerar {config['output_file']}: {e}") report["failed"].append(f"{config['output_file']} (Erro: {str(e)})") - return report + return report \ No newline at end of file diff --git a/scripts/handler/utils.py b/scripts/handler/utils.py index 0d08dbf7..f1cadf76 100755 --- a/scripts/handler/utils.py +++ b/scripts/handler/utils.py @@ -34,7 +34,7 @@ CONFIGS = [ }, { "source_dir": WAV_FOLDER, # Vai ler a pasta src_mmpSearch/wav - "output_file": os.path.join(DATA_FOLDER, "beats.json"), # Salva em _data/beats.json + "output_file": os.path.join(DATA_FOLDER, "beats.yml"), # Salva em _data/beats.json "scan_type": "list", "extensions": [".wav", ".mp3"], # Extensões permitidas },