Files
2026-03-25 18:11:21 +01:00

82 lines
7.4 KiB
Plaintext

title: Artist Sortierung mit Anfangsbuchstaben
description: "# MusicBrainz Picard Umbenennungsscript\n\nDieses Script organisiert\
\ Musikdateien automatisch anhand ihrer\nMetadaten in eine klare und konsistente\
\ Ordnerstruktur.\\\nEs ist f\xFCr gro\xDFe Musiksammlungen optimiert und funktioniert\
\ zuverl\xE4ssig\nmit MusicBrainz Picard.\n\n------------------------------------------------------------------------\n\
\n\n## Grundprinzip\n\nDie Musik wird nach folgendem Schema einsortiert:\nArtist/<Buchstabe>/<Albumartist>/<Release-Typ>/<Album>/<Trackdatei>\n\
\nbzw. f\xFCr Sampler:\nCompilations/<Album>/<Trackdatei>\n\n------------------------------------------------------------------------\n\
\n## Sortierung (A\u2013Z)\n- K\xFCnstler werden anhand ihres Namens (albumartist)\
\ einsortiert\n- Artikel wie The, Die, Der werden ignoriert\n- Unicode wird f\xFC\
r die Sortierung vereinfacht (z.B. \xC4 \u2192 A)\n- Alles, was nicht mit einem\
\ Buchstaben beginnt wird in # einsortiert\n\n------------------------------------------------------------------------\n\
\n## Ordnerstruktur im Detail\n\n### Normale Artists\n\n Artist/A/Artistname/Alben/Albumname\
\ [Infos]/01-01 - Titel.mp3\n\n # Release-Typen:\n Je nach Release wird in Unterordner\
\ einsortiert:\n\n - Alben\n - EPs\n - Singles\n - Live\n - Remixes\n - Soundtracks\n\
\ - Compilations\n - Mixtapes\n\n### Compilations (Various Artists)\n\n Compilations/Albumname\
\ [Infos]/01-01 - Artist - Titel.mp3\n\n------------------------------------------------------------------------\n\
\n## Albumordner\n\nDer Albumname wird automatisch erweitert um:\n\n- Ver\xF6ffentlichungsjahr\n\
- Release-Kommentar (z.B. Remaster)\n- Land\n- Katalognummer\n\nBeispiel:\nHelp!\
\ [2014 Mono Remaster] [1965] [US] [PMC 1255]\n\n------------------------------------------------------------------------\n\
\n## Dateinamen\n\nTracks werden einheitlich benannt:\n01-01 - Titel.mp3\nbzw. bei\
\ Compilations:\n01-01 - Artist - Titel.mp3\n\n\n------------------------------------------------------------------------\n\
\n## Besonderheiten\n\n- Verwendet vom Anfangsbuchstaben vom %albumartist% als\
\ Hauptkriterium f\xFCr die Ordnerstruktur\n- Disc- und Tracknummern werden automatisch\
\ korrekt formatiert (z.B.\n 01-01)\n- Unterst\xFCtzt Multi-Disc-Releases\n\
\n------------------------------------------------------------------------\n\n##\
\ Ziel\n\nDas Script erzeugt eine:\n\n- klare und nachvollziehbare Ordnerstruktur\\\
\n- konsistente Dateibenennung\\\n- saubere Trennung von Compilations und normalen\
\ Releases\n\nIdeal f\xFCr die Nutzung mit Musikservern wie Navidrome oder \xE4\
hnlichen\nSystemen.\n\n------------------------------------------------------------------------\n\
\n## Voraussetzungen\n\n- Musikdateien m\xFCssen korrekt mit MusicBrainz Picard\
\ getaggt sein\n- Felder wie %albumartist%, %album%, %tracknumber% sollten vorhanden\n\
\ sein\n\n------------------------------------------------------------------------\n"
author: Gofel
license: ''
version: '1.0'
last_updated: 2026-03-25 17:10:09 UTC
script_language_version: '1.1'
script: "$noop(########################################)\n$noop(BASIS VARIABLEN)\n\
$noop(########################################)\n\n$set(_year,\n$if($eq(%albumartist%,Various\
\ Artists),\n$if(%_release_date%,[$left(%_release_date%,4)],),\n$if($if2(%originaldate%,%date%),[$left($if2(%originaldate%,%date%),4)],)))\n\
\n$set(_relcomment,$if(%_releasecomment%,[$title(%_releasecomment%)],))\n\n$set(_country,$if(%releasecountry%,[%releasecountry%],))\n\
\n$set(_catno,$if(%catalognumber%,[%catalognumber%],))\n\n$set(_foldername,\n%album%\n\
$if(%_relcomment%, %_relcomment%,)\n$if(%_year%, %_year%,)\n$if(%_country%, %_country%,)\n\
$if(%_catno%, %_catno%,)\n)\n\n\n$set(_discnum,\n$num(%discnumber%,$if($gt(%totaldiscs%,99),3,2)))\n\
\n$set(_tracknum,\n$num(%tracknumber%,$if($gt(%totaltracks%,99),3,2)))\n\n\n\n$noop(########################################)\n\
$noop(SORTIERUNG A\u2013Z)\n$noop(########################################)\n\n\
$set(_aa,$lower(%albumartist%))\n\n$noop(Unicode Normalisierung)\n\n$set(_aa_clean,%_aa%)\n\
\n$set(_aa_clean,$replace(%_aa_clean%,\xE4,a))\n$set(_aa_clean,$replace(%_aa_clean%,\xF6\
,o))\n$set(_aa_clean,$replace(%_aa_clean%,\xFC,u))\n$set(_aa_clean,$replace(%_aa_clean%,\xDF\
,ss))\n\n$set(_aa_clean,$replace(%_aa_clean%,\xE1,a))\n$set(_aa_clean,$replace(%_aa_clean%,\xE0\
,a))\n$set(_aa_clean,$replace(%_aa_clean%,\xE2,a))\n$set(_aa_clean,$replace(%_aa_clean%,\xE3\
,a))\n$set(_aa_clean,$replace(%_aa_clean%,\xE5,a))\n\n$set(_aa_clean,$replace(%_aa_clean%,\xE9\
,e))\n$set(_aa_clean,$replace(%_aa_clean%,\xE8,e))\n$set(_aa_clean,$replace(%_aa_clean%,\xEA\
,e))\n\n$set(_aa_clean,$replace(%_aa_clean%,\xED,i))\n$set(_aa_clean,$replace(%_aa_clean%,\xEC\
,i))\n$set(_aa_clean,$replace(%_aa_clean%,\xEE,i))\n\n$set(_aa_clean,$replace(%_aa_clean%,\xF3\
,o))\n$set(_aa_clean,$replace(%_aa_clean%,\xF2,o))\n$set(_aa_clean,$replace(%_aa_clean%,\xF4\
,o))\n$set(_aa_clean,$replace(%_aa_clean%,\xF5,o))\n\n$set(_aa_clean,$replace(%_aa_clean%,\xFA\
,u))\n$set(_aa_clean,$replace(%_aa_clean%,\xF9,u))\n$set(_aa_clean,$replace(%_aa_clean%,\xFB\
,u))\n\n$set(_aa_clean,$replace(%_aa_clean%,\xE7,c))\n\n$noop(########################################)\n\
$noop(Artikel entfernen | nur am Anfang)\n$noop(########################################)\n\
\n$set(_aa_stripped,%_aa_clean%)\n\n$if($rsearch(%_aa_stripped%,^the ),$set(_aa_stripped,$replace(%_aa_stripped%,the\
\ ,)))\n$if($rsearch(%_aa_stripped%,^der ),$set(_aa_stripped,$replace(%_aa_stripped%,der\
\ ,)))\n$if($rsearch(%_aa_stripped%,^die ),$set(_aa_stripped,$replace(%_aa_stripped%,die\
\ ,)))\n$if($rsearch(%_aa_stripped%,^das ),$set(_aa_stripped,$replace(%_aa_stripped%,das\
\ ,)))\n$if($rsearch(%_aa_stripped%,^ein ),$set(_aa_stripped,$replace(%_aa_stripped%,ein\
\ ,)))\n$if($rsearch(%_aa_stripped%,^eine ),$set(_aa_stripped,$replace(%_aa_stripped%,eine\
\ ,)))\n$if($rsearch(%_aa_stripped%,^le ),$set(_aa_stripped,$replace(%_aa_stripped%,le\
\ ,)))\n$if($rsearch(%_aa_stripped%,^la ),$set(_aa_stripped,$replace(%_aa_stripped%,la\
\ ,)))\n$if($rsearch(%_aa_stripped%,^les ),$set(_aa_stripped,$replace(%_aa_stripped%,les\
\ ,)))\n$if($rsearch(%_aa_stripped%,^el ),$set(_aa_stripped,$replace(%_aa_stripped%,el\
\ ,)))\n\n$noop(Buchstabe bestimmen)\n$set(_letter,$if($rsearch(%_aa_stripped%,^[a-z]),$upper($left(%_aa_stripped%,1)),#))\n\
\n$noop(########################################)\n$noop(RELEASE TYPE)\n$noop(########################################)\n\
\n$set(_type,Alben)\n\n$if($or($in(%releasetype%,mixtape),$in(%releasetype%,street)),$set(_type,Mixtapes))\n\
$if($in(%releasetype%,compilation),$set(_type,Compilations))\n$if($in(%releasetype%,soundtrack),$set(_type,Soundtracks))\n\
$if($in(%releasetype%,live),$set(_type,Live))\n$if($in(%releasetype%,remix),$set(_type,Remixes))\n\
$if($in(%releasetype%,ep),$set(_type,EPs))\n$if($in(%releasetype%,single),$set(_type,Singles))\n\
\n$noop(########################################)\n$noop(PFAD)\n$noop(########################################)\n\
\n$if($eq(%albumartist%,Various Artists),\nCompilations/%_foldername%/%_discnum%-%_tracknum%\
\ - %artist% - %title%,\nArtist/%_letter%/%albumartist%/%_type%/%_foldername%/%_discnum%-%_tracknum%\
\ - %title%)\n"
id: cc4b3c8b-f8c7-447e-9fcf-f7be7350baa1