illustrate
Products            Buy            Support Forum            Registrations            About           
 

Naming Rules - Need Help with Script

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Starrcade

    • Feb 2026
    • 1

    #1

    Naming Rules - Need Help with Script

    I am trying to set up a naming script for ripping CDs and need help from an expert, please. I tried asking 3 different AI systems (chatgpt, copilot, and gemini) for help, but they keep fighting with each other telling me only their script will work.

    Here is what I want:

    I will have 4 main folders: Albums, Soundtracks, Compilations, and Singles.


    Albums will be: Artist / Year - Album / Track - Title

    Singles will be: Singles / Artist / Year - Album / Track - Title

    Soundtracks (single‑artist) will be: Soundtracks / Album (Year) / Track - Title

    Soundtracks (multi‑artist) will be: Soundtracks / Album (Year) / Track - Artist - Title

    Compilations will be: Compilations / Album (Year) / Track - Artist - Title

    Multi‑disc will put the disc's songs in separate folders for Disc 1, Disc 2, etc.


    There are 2 types of soundtracks. Some soundtracks are made by one artist; I want these to only have the song titles. Other soundtracks have multiple artists (such as Saturday Night Fever). I want these to have artist - title (similar to compilations, except I want soundtracks to be in the Soundtracks folder).


    All 3 AI systems agree that:
    - the album artist = "Various Artists" will automatically know to put the album in Compilations folder.
    - for soundtracks, I can use the Genre Category drop-down and select "Soundtrack" and the script will put the album in the Soundtracks folder.
    - I can have "Various Artists" and the "Soundtrack" genre put the album in the Soundtracks folder with artist - title.
    - for singles, I can (1) Click "Add New Tag" (2) Type: Album Type (3) Set the value to: Single (and the script will put the album in the Singles folder.


    Copilot wrote a script. I asked both ChatGPT and Google Gemini to double check it before I use it, and both said the script had errors and won't work. Each one wrote a new script. I double checked each new script with the other 2 AI chats, and they say the scripts have errors and write me a new script. I double check all the new scripts and it is a never-ending loop where all of the scripts have problems. Here are some errors AI gives me when it reviews some of the scripts:
    - the logic order is wrong
    - the brackets are wrong, or the brackets are invalid, or ending brackets are wrong
    - commas will not work, or commas in the wrong place
    - dBpoweramp does NOT support [IF]tag,==,value,... syntax
    - You cannot nest IF blocks inside the “true” section without closing them
    - The Soundtrack logic is malformed
    - The IFCOMP block is not properly closed before the ELSE
    - unclosed IF blocks
    - overlapping conditions
    - syntax issues
    - can't use semi-colons, or they are in the place
    - one says I need line breaks, and the other says I can't have line breaks and the script needs to be one continuous string of code.


    I will be ripping several hundred CDs and want to make sure I have a perfect and valid script. Please help!


    Below are some examples of scripts I was given from all 3 AI chats:


    Copilot:

    => Version 1:

    Code:
    [IFVALUE]albumtype,Single,
    Singles
    
    \[album artist]
    
    \[year] - [album]
    
    \[IFMULTI]Disc [disc]
    
    \[ENDMULTI][track] - [title]
    ][IFVALUE]genre,Soundtrack,
    [IFVALUE]album artist,Various Artists,
    Soundtracks
    
    \[album] ([year])
    
    \[IFMULTI]Disc [disc]
    
    \[ENDMULTI][track] - [artist] - [title]
    ,
    Soundtracks
    
    \[album] ([year])
    
    \[IFMULTI]Disc [disc]
    
    \[ENDMULTI][track] - [title]
    ]
    ][IFCOMP,
    Compilations
    
    \[album] ([year])
    
    \[IFMULTI]Disc [disc]
    
    \[ENDMULTI][track] - [artist] - [title]
    ,
    Albums
    
    \[album artist]
    
    \[year] - [album]
    
    \[IFMULTI]Disc [disc]
    
    \[ENDMULTI][track] - [title]
    ]
    => Version 2:

    Code:
    [IFVALUE]albumtype,Single,
    Singles
    
    \[album artist]
    
    \[year] - [album]
    
    \[IFMULTI]Disc [disc]
    
    \[ENDMULTI][track] - [title]
    [ELSE][IFVALUE]genre,Soundtrack,
    [IFVALUE]album artist,Various Artists,
    Soundtracks
    
    \[album] ([year])
    
    \[IFMULTI]Disc [disc]
    
    \[ENDMULTI][track] - [artist] - [title]
    [ELSE]
    Soundtracks
    
    \[album] ([year])
    
    \[IFMULTI]Disc [disc]
    
    \[ENDMULTI][track] - [title]
    []
    [ELSE][IFCOMP]
    Compilations
    
    \[album] ([year])
    
    \[IFMULTI]Disc [disc]
    
    \[ENDMULTI][track] - [artist] - [title]
    [ELSE]
    Albums
    
    \[album artist]
    
    \[year] - [album]
    
    \[IFMULTI]Disc [disc]
    
    \[ENDMULTI][track] - [title]
    []
    []

    ChatGPT:

    => Version 1:

    Code:
    ; Soundtracks - Various Artists (like compilations)
    [IFVALUE]genre,Soundtrack,[IFVALUE]album artist,Various Artists,Soundtracks\
    [album] ([year])\
    [IFMULTI]Disc [disc]\[ENDMULTI]
    [track] - [artist] - [title]
    
    [IFVALUE]genre,Soundtrack,Soundtracks\
    [album] ([year])\
    [IFMULTI]Disc [disc]\[ENDMULTI]
    [track] - [title]
    
    [IFVALUE]albumtype,Single,Singles\
    [album artist]\
    [year] - [album]\
    [IFMULTI]Disc [disc]\[ENDMULTI]
    [track] - [title]
    
    [IFCOMP]Compilations\
    [album] ([year])\
    [IFMULTI]Disc [disc]\[ENDMULTI]
    [track] - [artist] - [title]
    
    [IFNOTVALUE]genre,Soundtrack,Albums\
    [album artist]\
    [year] - [album]\
    [IFMULTI]Disc [disc]\[ENDMULTI]
    [track] - [title]
    => Version 2:

    Code:
    [IFVALUE]albumtype,Single,Singles\
    [album artist]\
    [year] - [album]\
    [IFMULTI]Disc [disc]\[ENDMULTI]
    [track] - [title]
    
    [IFVALUE]genre,Soundtrack,[IFVALUE]album artist,Various Artists,Soundtracks\
    [album] ([year])\
    [IFMULTI]Disc [disc]\[ENDMULTI]
    [track] - [artist] - [title]
    
    [IFVALUE]genre,Soundtrack,Soundtracks\
    [album] ([year])\
    [IFMULTI]Disc [disc]\[ENDMULTI]
    [track] - [title]
    
    [IFCOMP]Compilations\
    [album] ([year])\
    [IFMULTI]Disc [disc]\[ENDMULTI]
    [track] - [artist] - [title]
    
    [IFNOTVALUE]genre,Soundtrack,Albums\
    [album artist]\
    [year] - [album]\
    [IFMULTI]Disc [disc]\[ENDMULTI]
    [track] - [title]

    Gemini:

    => Version 1:

    Code:
    [IFVALUE]albumtype,Single,Singles\[album artist]\[year] - [album]\[IFMULTI]Disc [disc]\[ENDMULTI][track] - [title],[IFVALUE]genre,Soundtrack,Soundtracks\[album] ([year])\[IFMULTI]Disc [disc]\[ENDMULTI][track][IFVALUE]album artist,Various Artists, - [artist],] - [title],[IFCOMP]Compilations\[album] ([year])\[IFMULTI]Disc [disc]\[ENDMULTI][track] - [artist] - [title],Albums\[album artist]\[year] - [album]\[IFMULTI]Disc [disc]\[ENDMULTI][track] - [title][][][]
    => Version 2:

    Code:
    [IFVALUE]albumtype,Single,Singles\[album artist]\[year] - [album]\[IFMULTI]Disc [disc]\[ENDMULTI][track] - [title],[IFVALUE]genre,Soundtrack,[IFVALUE]album artist,Various Artists,Soundtracks\[album] ([year])\[IFMULTI]Disc [disc]\[ENDMULTI][track] - [artist] - [title],Soundtracks\[album] ([year])\[IFMULTI]Disc [disc]\[ENDMULTI][track] - [title]],[IFCOMP]Compilations\[album] ([year])\[IFMULTI]Disc [disc]\[ENDMULTI][track] - [artist] - [title][ELSE]Albums\[album artist]\[year] - [album]\[IFMULTI]Disc [disc]\[ENDMULTI][track] - [title][][]]
    => Version 3:

    Code:
    [IF]albumtype,==,Single,Singles\[album artist]\[year] - [album]\[IFMULTI]Disc [disc]\[ENDMULTI][track] - [title],[IF]genre,==,Soundtrack,Soundtracks\[album] ([year])\[IFMULTI]Disc [disc]\[ENDMULTI][track][IF]album artist,==,Various Artists, - [artist],] - [title],[IFCOMP]Compilations\[album] ([year])\[IFMULTI]Disc [disc]\[ENDMULTI][track] - [artist] - [title],Albums\[album artist]\[year] - [album]\[IFMULTI]Disc [disc]\[ENDMULTI][track] - [title][ENDIF][]][]


  • garym
    dBpoweramp Supporter
    • Nov 2007
    • 6146

    #2
    Most of the AI generated stuff is AI slop.

    Different approaches can be used and probably can program a giant single script. But I've started with something much simpler. In the CD ripper, have a different PROFILE (top row of the lower left area that has ripping file name settings) for each of these types.

    Singles
    Soundtracks
    All other

    Choose the ripping profile for the type of CD you are ripping. And make sure for any compilation album (something that has various artists), the COMPILATION = yes box is ticked in the top of the ripping screen where it is showing you the artist, title, etc.

    Play with these a little bit for all your options and let us know your thoughts, desired changes. Would be good to get them nailed as separate ripping profiles before trying to combine.

    The "path" row for all of these would be the same -- your top "parent" music folder. Like: C:\Music

    For the "Singles" profile, name it Singles and use the following naming string:
    [MAXLENGTH]240,Singles\[artist]\[year] - [album]\[track] - [title][]

    For the "Soundtracks" profile, name it Soundtracks and use the following naming string. Works with both various artists and single artists
    [MAXLENGTH]240,Soundtracks\[IFCOMP][album] ([year])[IFMULTI]\Disc [disc][]\[track] - [artist] - [title][][IF!COMP]\[album] (year)\[IFMULTI]\Disc [disc][]\[track] - [title][][]

    For the "all other" profile name it All Other and use the following naming string. This will handle compilations, non-compilations, and multidisk automatically:
    [MAXLENGTH]240,[IFCOMP]Compilations\[album] ([year])[IFMULTI]\Disc [disc][]\[track] - [artist] - [title][][IF!COMP][IFVALUE]album artist,[album artist],[artist][]\[year] - [album][IFMULTI]\Disc [disc][]\[track] - [title][][]
    Last edited by garym; Yesterday, 11:28 PM.

    Comment

    • garym
      dBpoweramp Supporter
      • Nov 2007
      • 6146

      #3
      EDITED:

      For the "Singles" profile, name it Singles and use the following naming string:
      [MAXLENGTH]240,Singles\[artist]\[year] - [album]\[track] - [title][]

      For the "Soundtracks" profile, name it Soundtracks and use the following naming string. Works with both various artists and single artists
      [MAXLENGTH]240,Soundtracks\[IFCOMP][album] ([year])[IFMULTI]\Disc [disc][]\[track] - [artist] - [title][][IF!COMP]\[album] ([year])\[IFMULTI]\Disc [disc][]\[track] - [title][][]

      For the "all other" profile name it All Other and use the following naming string. This will handle compilations, non-compilations, and multidisk automatically:
      [MAXLENGTH]240,[IFCOMP]Compilations\[album] ([year])[IFMULTI]\Disc [disc][]\[track] - [artist] - [title][][IF!COMP][IFVALUE]album artist,[album artist],[artist][]\[year] - [album][IFMULTI]\Disc [disc][]\[track] - [title][][]

      Comment

      Working...