Dynamically-Updating Palette Based on Folder Structure

Hi everyone.

I have a terabyte of music samples of different types (kicks, snares, vocal samples, etc) that I go through regularly in Finder. Often I want to "favorite" one by copying it into a designated folder for its type.

The designated folders are all in a master "Favorite Samples" folder, containing sub-folders for each type, sometimes several levels deep for sub-types.

The hierarchy you see in the screencap below just matches the folder hierarchy in Favorite Samples, pretty simple.
I'm using sub-palettes, which is static and very manual. The Favorite Samples folder structure is constantly iterating and I have to create & maintain a macro for each folder, which is ineffective for something I will be changing for the rest of my life. (This is already taking 40 macros, and I just started.)

So I'd really like a solution where the list dynamically-updates based on the folder structure of "Favorite Samples".

(The 'Ω Drop Here' option puts the sample in the current hierarchy. An OK button would be a good substitute, if we needed to do a custom HTML prompt.)

:pray:t3: in advance.

Hey @nrightnour

I definitely do not know how to do this and I’m engaged is a related conversation over here looking to simplify filing and the ongoing updating of structures to do that. Stop over and see if it inspires anything for you.

Thanks @BernSh, I'll check that out.

I am willing to use Applescript, but I have little experience with it.

Here is someone else's attempt at something similar using AS:

Another way of going about this... similar to what I'm doing now, but using a plist/text file instead of "listing contents of folder x" to generate palette entries.

Have a text/plist file with one line for each user-desired destination (e.g. Drums > Kicks), which automatically creates palette entries for each line (and sub-palettes for each >, for easier navigating). Each palette entry does this: enter %favorite samples folder%, checks if folder "Drums/Kicks" exists (if not, create it), then copy file to it.

Definitely not as graceful, but way better than what I'm doing in KM now, with a macro for each entry.

Thanks @nrightnour

This like many things in getting buried under the rush of today. I'll keep it on the list for when I see daylight again :wink:

1 Like

Following up on this months later.. it's still something I deal with all the time.

Any proposed solutions welcome.

I'm in the same boat. I have hundreds of Logic sessions all over my various drives and I'm trying to categorise them by project, level of completion, genre etc. Did you ever figure this out?

I think perhaps AppleScript might be a good route, as it would mean undo steps would be available, in case, like me, you're occasionally clumsy and then have no idea where you just sent a file whose name you didn't even make a mental note of.

@nrightnour Would you be willing to share your existing macro?

I feel like Alfred might be the answer, because it enables you to navigate to a folder and drill down into its sub-folders, then perform file actions.

This Alfred workflow gets pretttty close. You select one or multiple files in the finder, invoke the workflow, type the name of the folder you want to move it to and hit enter. That's all well and good, but if you drill down into a sub-folder, the workflow no longer moves the file(s). No cigar. It's based on AppleScript, so perhaps it could serve as the basis for something more useful to us...?

A different approach/mindset is go folder lite and tagging heavy.

Have a smallish base file structure and use Finder tags for the rest of the organization. A tagging/untagging palette is easy to setup. Tagging is more agile and easier than moving files.

Having a list of tagging groups in the Finder sidebar is fast and easy access.

It takes a bit to think in terms of tag sets vs folder sets. I’m gradually moving in that direction.

1 Like

Hey Guys,

I don't want to mess with this, but I have some suggestions.

  • You can't dynamically create a palette based on a file structure.
  • You can use AppleScript in a macro to update such a palette on demand. (Link)
    • Note – the linked macro doesn't do the job you want – it's just an example of how to create a macro with AppleScript.
  • Personally I'd probably do this job with a Prompt With List action rather than a palette.
    • You an easily create dynamic lists.
    • You can use one in a submacro and feed it different initial strings via a variable to produce different initial lists – then type a new search string if needed.
    • You can give list items tags to make finding like items easier.
    • Many things are possible.