How to get folder columns to populate info

I apologize in advance if this is a remidial question, but I have done a bit of digging and I'm not quite certain how to find the answer.
I have a vast music library, and it is seperated by Index - Artist - Albums so you go to the A folder, find Alice in Chains, then you see all their albums, etc. etc.
Is there a way to have the columns within folders display the info for the folders... below it? I don't know how to phrase this, but for instance: In the "Alice in Chains" directory, listing all the albums as folders, could I columns within this folder display the Bit Rate for the contained files in the folder, or number of tracks column show how many tracks are in the folder, or just have the Album Artist column be populated showing 'Alice in Chains' since all the folders are their albums. I dont know if i'm making any sense.
I'll try this:
Alice in Chains folder contains:
Black Gives Way to Blue
Dirt
Facelift
Grind
etc.
etc.
These are some of their albums as individual folders. While still in the Alice in Chains directory, can I get the columns for each of the albums to show the contained tracks genre, number of tracks, and any other info without having to go in each folder? As of right now, I select the columns, but no information is ever displayed.
Sorry if this is all a jumbled mess. Thanks for any help.

You could do that via scripting, but there aren't built-in columns to show summaries of folder contents in that much detail. (Only file/folder counts, and simple things like that.)

If the album folders only contain music files, then the file count column will give you the track count, but if you need it to exclude extra files (playlists, cover art JPG etc.) then it won't do that out of the box.

A script column would also need to decide what to do if a folder contains files with multiple genres, bitrates, etc.

Here's a demo script column that grabs info from the first audio file it finds in the folder.

function OnInit(initData) {
    initData.name = 'AudioFolderInfo';
    initData.version = '2023-10-17';
    initData.copyright = '';
    initData.url = 'https://resource.dopus.com/t/how-to-get-folder-columns-to-populate-info/46473';
    initData.desc = '';
    initData.default_enable = true;
    initData.min_version = '12.0';
}

function OnAddColumns(addColData) {
    var col = addColData.AddColumn();
    col.name = 'AudioFolderInfo';
    col.method = 'OnColumn';
}

var fsu = DOpus.FSUtil();

function OnColumn(scriptColData) {
    scriptColData.value = '';

    var item = scriptColData.item;
    if (!item.is_dir) return;

    var folderEnum = fsu.ReadDir(item); // non-recursive
    while (!folderEnum.complete) {
        var folderItem = folderEnum.Next();
        if (folderItem.metadata == 'audio') {
            // scriptColData.value = folderItem.metadata.audio.mp3albumartist;
            // scriptColData.value = folderItem.metadata.audio.mp3year;
            scriptColData.value = folderItem.metadata.audio.mp3artist;
            break;
        }
    }
    folderEnum.Close();
}

:one: Save ColumnAudioFolderInfo.js.txt to

%appdata%\GPSoftware\Directory Opus\Script AddIns

:two: Toggle the column with

Set COLUMNSTOGGLE="scp:AudioFolderInfo/AudioFolderInfo(!,a,0)"

How to use buttons and scripts from this forum

2 Likes