Nodes/Nova Audio Player/Nova NamePath Manager ๐Ÿงญ
ComfyUI Node

Nova NamePath Manager ๐Ÿงญ

One node for every path, and a profile to switch albums

By NovaFemmeยทCreated 20 days agoยทUpdated 2 days agoยท 0
Nova NamePath Manager ๐Ÿงญ
    • database_path
    • new_database_folder
    • new_database_name
    • table_name
    • existing_database
    • folder_string
    • file_filter
    • input_filename
    • report_path
    • audio_path
    • settings_json
    โ—„profileโ€” none โ€”โ–บ
    โ—„profile_actionuse the widgets belowโ–บ
    โ—„new_profile_nameโ–บ
    โ—„database_pathโ–บ
    โ—„table_namealbumsโ–บ
    โ—„existing_databasetrueโ–บ
    โ—„folder_stringโ–บ
    โ—„file_filter*.flacโ–บ
    โ—„input_filenameโ–บ
    โ—„report_pathโ–บ
    โ—„audio_pathโ–บ
    โ—„concatenate_filenamefalseโ–บ

    A delivery graph repeats itself. The database path is typed on four nodes, the batch folder on two, the report and audio output roots on three, and the filenames have to agree or the validation step at the end fails for reasons that have nothing to do with audio. Change album and you're editing all of it, in six places, hoping you didn't miss one.

    Nova NamePath Manager ๐Ÿงญ owns those paths once and feeds them out. Then it goes one better and stores the whole set as a named profile, so switching project is one dropdown instead of six edits.

    Inputs

    The path values themselves are the boring half: database_path, table_name, folder_string, file_filter (default *.flac), input_filename, report_path, audio_path.

    Two of them carry the actual thinking:

    • existing_database - on, database_path points at a database that already exists. Off, it describes one to create, and the path gets split into new_database_folder and new_database_name for Nova SQLite Reader. That's how a fresh album's database gets built without anyone hand-rolling a path.
    • concatenate_filename - on, report_path and audio_path each get input_filename joined on with a /. Off, both pass through untouched. This is what keeps the master, the report and the archive named consistently all the way down the chain, which is exactly the thing you stop doing manually once you're on your fourth album.

    Then the profile machinery: profile, profile_action (use the widgets below, apply selected profile, save to selected profile, save as new profile) and new_profile_name. Profiles are plain JSON files under profiles/namepath/ - readable, editable, diffable, and not hidden in a database somewhere.

    Outputs

    Everything comes back out individually - database_path, new_database_folder, new_database_name, table_name, existing_database, folder_string, file_filter, input_filename, report_path, audio_path - plus settings_json, which is every resolved value in one blob for Nova Console or a report.

    existing_database is emitted as a boolean output on purpose: a downstream node can branch on which of the two database paths is the live one, rather than guessing.

    What it deliberately doesn't do

    It never touches the filesystem. No directory creation, no existence checks. That's a considered choice with a good reason: a path manager that silently created directories would scatter empty folders across your disk on every graph edit, and the nodes downstream already report a missing path with proper context. This node composes strings and shuts up.

    Saving happens on execute, through normal ComfyUI data flow - not over HTTP. The optional browser widget only reads. Which means the node behaves identically in API mode and in headless runs where no frontend exists. That's unusually careful for this class of node, and it's the right call: a workflow that behaves differently when you queue it from a script than when you click the button is a workflow you can't trust.

    One practical note: the profile list refreshes when the browser reloads. Save a profile and don't see it in the dropdown? Reload the page. Its own dropdown, its own caching, one known wrinkle.

    Install

    ComfyUI Manager โ†’ Nova Audio Player โ†’ install โ†’ restart. Or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/NovaFemme/ComfyUI-NovaAudioPlayer.git
    

    Under โ–ถ๏ธ Nova Audio โ†’ ๐Ÿ› ๏ธ Utility & IO, no dependencies, no models. The profiles/ folder is created on first run - the pack deliberately writes real files you can edit by hand rather than keeping configuration in memory.

    Where it fits

    Nova NamePath Manager ๐Ÿงญ โ”€โ”€โ–ถ Nova SQLite Reader ๐Ÿ—ƒ๏ธ โ”€โ”€โ–ถ Nova Tag Writer ๐Ÿท๏ธ
            โ”‚ folder_string, file_filter
            โ”œโ”€โ”€โ–ถ Nova Batch Load Audio ๐ŸŽผ
            โ”‚ report_path / audio_path / input_filename
            โ””โ”€โ”€โ–ถ Nova Audio Master ๐Ÿงพ โ”€โ”€โ–ถ Save / Identity / Validator
    

    If you build one delivery graph and run it once, you don't need this node. If you're going to run it on an album a week for a year, it's the difference between a workflow and a chore.

    Categoryโ–ถ๏ธ Nova Audio/๐Ÿ› ๏ธ Utility & IO

    Inputs (12)

    NameTypeDefaultDescription
    profileCOMBOโ€” none โ€”Saved profiles. The list refreshes when the browser reloads.
    profile_actionCOMBOuse the widgets belowuse the widgets below: ignore profiles entirely. apply selected profile: outputs come from the profile. save to selected profile: overwrite it with the widgets below. save as new profile: write the widgets below to new_profile_name.
    new_profile_nameSTRINGName for 'save as new profile'. Letters, digits, space, dot, dash, underscore.
    database_pathSTRINGFull path to the SQLite database.
    table_nameSTRINGalbumsTable to read.
    existing_databaseBOOLEANtrueOn: database_path points at a database that already exists. Off: it describes one to create โ€” the path is split into new_database_folder and new_database_name for Nova SQLite Reader.
    folder_stringSTRINGFolder for Nova Batch Load Audio.
    file_filterSTRING*.flacComma-separated glob patterns for Nova Batch Load Audio.
    input_filenameSTRINGThe mastering filename. No extension is added โ€” downstream nodes add their own.
    report_pathSTRINGOutput folder for reports.
    audio_pathSTRINGOutput folder for audio.
    concatenate_filenameBOOLEANfalseOn: report_path and audio_path each get input_filename joined on with '/'. Off: both are passed through unchanged.

    Outputs (11)

    NameTypeDescription
    database_pathSTRINGPath to an existing database โ€” empty when existing_database is off.
    new_database_folderSTRINGFolder for a database to create โ€” empty when existing_database is on.
    new_database_nameSTRINGFile name for a database to create โ€” empty when existing_database is on.
    table_nameSTRINGTable name, passed straight through.
    existing_databaseBOOLEANThe switch itself, so a downstream node can branch on it.
    folder_stringSTRINGBatch folder for Nova Batch Load Audio.
    file_filterSTRINGBatch file filter for Nova Batch Load Audio.
    input_filenameSTRINGThe mastering filename, passed straight through.
    report_pathSTRINGReport path โ€” with the filename joined on when concatenate_filename is on.
    audio_pathSTRINGAudio path โ€” with the filename joined on when concatenate_filename is on.
    settings_jsonSTRINGEvery resolved value as JSON, for Nova Console or a report.