Calling all dBpoweramp experts, please

Have begun delving into the pseudo-language which dBpoweramp uses for file naming, in the CD Ripper and have a couple of questions, please (Release 2024-02-01 on macOS 13.6.4).

If the syntax is as straightforward (although a little ‘proprietary’ - and why not!) as it seems, isn’t it a question of:

  • stringing ‘Elements’ together
  • sometimes separated by backslashes (\), and
  • putting an empty pair of square brackets ([]) to denote the end of a function?

Just that sometimes the backslash seems obligatory, and sometimes not; anyone figured out this aspect of the syntax, please?

To me, it seems particularly hard to read the default string - even when nested Elements placed on separate lines and indented:

[MAXLENGTH]80,[IFVALUE]album artist,[album artist],[IFCOMP]Various Artists[][IF!COMP][artist][][][]/[MAXLENGTH]80,[album][]/[MAXLENGTH]80,[track] [artist] - [title][]

But - practically - for my specific purposes, can anyone see anything wrong with this string, which seems to work:

[album]\CD [Disc]\[track] - [title]

to:

  • create a parent ‘Album’ string, which I supply from dBpoweramp’s ‘Album’ field… my collection is all classical music, and Album, rather than artist, makes more sense
  • create as many child folders - sequentially numbered - as there are multiple CDs - in multi-disk sets if necessary; but how does dBpoweramp know (how) to count (‘CD 1’, ‘CD 2’, ‘CD 3’ etc)?
  • build filenames for each track, for each CD in those child folders using (only) Track number and Title as ripped.

Secondly, and really obscure, in experimenting, the Naming dropdown at bottom right of dBoweramp’s main window has become… ahem, ‘overcrowded’ with trial (and faulty) strings, which are really lost causes.

Can anyone see any reason not to edit:

~/Library/dBpoweramp/XRegistry

and delete the corresponding now unwanted lines?

There’s no CRC (or similar) safety check on launch that might object, is there: there seems to be no other way to get a clean slate.

Thanks in advance to any kind soul who’s explored this!

I use this

[IFVALUE]album artist,[album artist],[IFCOMP]Various Artists[][IF!COMP][artist][][]\[album]\[track] [title]

1 Like

Thanks, Big Dan

Have you (or has anyone) managed to work out the syntax, please, so that I can confirm that the format which I want (with no artist, in my case) is legitimate and safe to use?

[album]\CD [Disc]\[track] - [title]

Specifically, what is is in that string which instructs the script to identify and loop through as many sub-CDs as there are in the box set - with just the one Element, ‘[album]’; does the backslash play a part here?

I get, for example:

Prokofiev: Symphonies
CD 1 then all the tracks
CD 2 then all CD 2’s tracks
CD 3

etc, ‘automatically’.

Any ideas about my second query by any chance?

I have no pretensions to become an expert. But I would like to feel I was really in control.

You’ve given this string:

[album]\CD [Disc][track] - [title]

When you rip a cd using this string, you are telling dBpoweramp:

  • Create a folder called “[album]”
  • Inside of that folder, create another folder called “CD [Disc]”
  • Inside of that folder, put the ripped tracks and call them [track] - [title]

That’s it.

The backslashes just tell dBpoweramp to put the next thing into a subfolder that it creates for you. It’s making the hiearchy that you’re asking it to make.

It’s not going to magically loop through CDs in a box set. When you insert a CD, it’ll try to populate the metadata before ripping. Before you tell it to go ahead and rip, you need to make sure the value of “Disc” is correct. Then, when you actually tell it to rip, it’ll use that value in file and folder names as you’ve instructed it to. It doesn’t maintain any notion of context across discs, it’s just ripping a disc and creating files and folders as you’re naming path instructs it to.

The syntax is documented here: dBpoweramp Naming

The question of “safe” isn’t really meaningful. It’s just going to make folders and files and it will stamp metadata into those files.

The string @Rugby provided is pretty close to the default. It’s a good idea to take compilations into account as he has.

I hope this helps. In this case, the documentation really is going to be the best place to figure out how what you want it to do maps to what it is capable of doing.

2 Likes

Thanks so much, @gTunes! I asked for experts and… :slight_smile:

Now it makes perfect sense. Thanks. Of course!

Yes, I discovered that. It seemed to be why, when I said, for instance, 1/4, dBpoweramp appeared to ‘know’ to iterate four times across what becomes available across File > Rip from multiple drives… even though I only have three drives. It keeps count from that x of y value.

It is; but that’s nowhere near so clear as you have been, thanks, gTunes :slight_smile: ! No explanation of when backslash is needed, for example. Nor where:

  • ‘Current metadata’
  • ‘Compilation’
  • ‘Multi-disc’

fit in across the bottom of the dialogue - and when they are necessary? Unless I missed those.

Well, I asked that because I constructed a string which overwrote the ‘previous’ CD’s files each time it moved to the next one. After what you’ve kindly said now, I suspect that was because I omitted any backslash.

I also want to be sure that my installation of dBpoweramp has not been compromised by my having edited out/deleted the lines in:

~/Library/dBpoweramp/XRegistry

for the strings which I no longer “need” :slight_smile: .

Indeed I shall. Thanks to @Rugby as well.

1 Like

No problemo! Enjoy the journey. You can either find ripping to be a relaxing task or an annoyance to be over as soon as possible. I find it to be a relaxing task, LOL.

2 Likes

Thanks again, Daniel - Yes, oddly enough I too really enjoy it; particularly with software as sophisticated and reliable as dBpoweramp. Again, your help much appreciated.

1 Like

A backslash is never necessary. Backslash is a tool that you can use to tell it to create subfolders. The idea is that dBpoweramp doesn’t have a strong opinion about how you should name your files and folders. You can tell it to name them however you want.

You could a string that says:

A[title]

If you did that, you’d get a folder called “A” and, inside of that folder, each of your tracks with the appropriate [title] for a name.

Or you could use a string that says:

A\B[title]

In which case you’d get a folder called “A” containing a folder called “B” containing your tracks. That’s because the backslash means “the next thing after the backslash character is the name of a folder I want you to create”.

I have no idea about editing that file. I believe there’s a way to remove strings from the UI, but I’m not sure. I don’t currently have the program installed.

With respect to your other questions - nobody can give you guidance because all of us have different aesthetic preferences for how we name things. Personally, I can’t stand track names in file names. They’re in the metadata within the file, so I don’t want them in my filenames. If I told you my naming string(s), they wouldn’t necessarily be anything you’d want to use.

I hope that makes sense :slight_smile: Good luck with all of this!

@gTunes,

I’m sorry. I wasn’t clear. I’m not sure where these parameters fit in, when you’d need to use them:

Backslashes I now understand completely, thanks to your last post :slight_smile: .

I like that. That also banishes any remaining doubts I have had about building a string which seemed too simple to be true; by the looks of it, if it works and outputs distinct folders and files for a rip, that’s going to be good enough for me then to put it into Yate and tag the heck out of everything.

Yes, I get the way backslashes work now.

I’ll be honest, at first - having also read these docs, with their allusions to the hybrid nature of the scripting (even to the extent of referencing LISP, which I learnt in the 1980s!) - I couldn’t disentangle the elements

[ ] \ ,

to see exactly what did what.

But now, Yes; thanks. Very clear, gTunes. Have added it all to my notes on dBpoweramp.

I hoped so; but haven’t found it yet.

I hear you. At the moment in my Roon ‘journey’, I rely heavily on as accurate and meticulous tagging as I can get just in case I need to make up for any potential shortfalls in file naming.

Or maybe they would. I bet I’d learn something from them :slight_smile: !

Totally. Much appreciated!