diff --git a/README.md b/README.md index 3392bf2..1e69aca 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@ git clone https://github.com/RockyHong/ComfyUI-FilePathsFromFolder.git ``` 2. Restart ComfyUI -3. Search nodes by name: `LoadFilePathsFromFolder`, `GetPathByIndex`, `FilePathsForLoop` +3. Search nodes by name: `Load File Paths From Folder`, `Get File Path By Index`, `File Paths For Loop Start` ### Alternative: Manual install (ZIP) @@ -30,11 +30,12 @@ git clone https://github.com/RockyHong/ComfyUI-FilePathsFromFolder.git ## Choose how you want to iterate - **Option A — External loop (index-based): get a file path list + pick one path per iteration** ([jump](#option-a-external-loop)) - - Use `LoadFilePathsFromFolder` → `GetPathByIndex` + - Use `LoadFilePathsFromFolder` → `GetPathByIndex` (UI: `Load File Paths From Folder` → `Get File Path By Index`) - Best when you already have a loop/for/while node from another pack, and you just need a clean “files-by-extension” input. - **Option B — This repo’s loop node: run downstream nodes once per file (list batching)** ([jump](#option-b-internal-loop)) - Use `FilePathsForLoop` → your processing nodes → (optional) `FilePathsEnsureExecution` → `FilePathsLoopClose` + - UI: `File Paths For Loop Start` → your processing nodes → (optional) `File Paths Loop Ensure Execution` → `File Paths Loop End` - Best when you want a simple, no-extra-deps “loop”: ComfyUI runs downstream nodes once per file via list batching. @@ -45,10 +46,12 @@ Use this when you already have an external loop/for/while node pack and you want ### Nodes used - `LoadFilePathsFromFolder`: scan folder → get `filepaths` / `filenames` / `count` -- `GetPathByIndex`: choose one item → get `filepath` / `filename` +- `GetPathByIndex`: choose one item → get `filepath` / `filename` (UI: `Get File Path By Index`) ### Example workflow (external loop pack) +![Option A — External Loop Method](screenshots/Option%20A%20(External%20Loop%20Method).jpg) + 1. `LoadFilePathsFromFolder` (set folder path + extension) 2. `count` → your loop node “iterations” / “max” (names vary by pack) 3. Loop `index` → `GetPathByIndex.index` @@ -82,13 +85,13 @@ Use this when you already have an external loop/for/while node pack and you want ## Option B — Internal loop (this repo’s loop node, list batching) -Use this when you want the simplest setup: `FilePathsForLoop` returns lists, and ComfyUI runs downstream nodes **once per file** via list batching. +Use this when you want the simplest setup: `FilePathsForLoop` returns lists, and ComfyUI runs downstream nodes **once per file** via list batching. (UI: `File Paths For Loop Start`) ### Nodes used -- `FilePathsForLoop`: generates the per-file list outputs (`current_filepath`, `current_index`, etc.) -- (Optional) `FilePathsEnsureExecution`: “anchors” a route so it definitely runs (useful for save/write/export routes) -- `FilePathsLoopClose`: loop terminator / completion signal +- `FilePathsForLoop`: generates the per-file list outputs (`current_filepath`, `current_index`, etc.) (UI: `File Paths For Loop Start`) +- (Optional) `FilePathsEnsureExecution`: “anchors” a route so it definitely runs (useful for save/write/export routes) (UI: `File Paths Loop Ensure Execution`) +- `FilePathsLoopClose`: loop terminator / completion signal (UI: `File Paths Loop End`) ### Memory note @@ -101,6 +104,8 @@ Use this when you want the simplest setup: `FilePathsForLoop` returns lists, and ### Example workflow (internal loop: once per file) +![Option B — Internal Loop Node Method](screenshots/Option%20A%20(Interal%20Loop%20Node%20Method).jpg) + 1. `FilePathsForLoop` (set folder path + extension) 2. `current_filepath` → your loader node (e.g. Load Image) 3. Your processing nodes diff --git a/nodes.py b/nodes.py index d68a89d..0b1ea46 100644 --- a/nodes.py +++ b/nodes.py @@ -200,8 +200,8 @@ NODE_CLASS_MAPPINGS = { NODE_DISPLAY_NAME_MAPPINGS = { "LoadFilePathsFromFolder": "Load File Paths From Folder", - "GetPathByIndex": "Get Path By Index", - "FilePathsForLoop": "File Paths For Loop", - "FilePathsLoopClose": "File Paths Loop Close", - "FilePathsEnsureExecution": "File Paths Ensure Execution", + "GetPathByIndex": "Get File Path By Index", + "FilePathsForLoop": "File Paths For Loop Start", + "FilePathsLoopClose": "File Paths Loop End", + "FilePathsEnsureExecution": "File Paths Loop Ensure Execution", } diff --git a/screenshots/Option A (External Loop Method).jpg b/screenshots/Option A (External Loop Method).jpg new file mode 100644 index 0000000..c2b7c36 Binary files /dev/null and b/screenshots/Option A (External Loop Method).jpg differ diff --git a/screenshots/Option A (Interal Loop Node Method).jpg b/screenshots/Option A (Interal Loop Node Method).jpg new file mode 100644 index 0000000..a4bca9b Binary files /dev/null and b/screenshots/Option A (Interal Loop Node Method).jpg differ