Number the files in a folder and this app will automatically generate a vMix playlist, plus a simplified web UI for users who only need the essential controls.
Create a base.vmix preset in the content folder or its parent folder. The closest matching preset is used.
Content folder
|-- base.vmix <- used first, when present
|-- 01 Video.mp4
|-- 02 Audio.mp3
Parent folder
|-- base.vmix <- fallback for child folders
|-- Session A
|-- 01 Video.mp4
For overlays, title base inputs exactly:
Cam -> camera input
Mic -> microphone input
In the folder configuration, the cam and mic options are independent. Selected layers are ordered Mic (when selected), then Cam (when selected), then any visual overlay. If an image has the cam option enabled, the generator creates a colour input so the camera and image can be layered. Audio, video, photo-folder slideshows, and PowerPoint slides receive the selected camera input directly as a layer.
Number files to set playlist order. Unnumbered items are ignored.
Content folder
|-- 01 Welcome.mp4
|-- 02 Teaching.mkv
|-- 03 Meditation.mp3
|-- 03 Slide.png <- overlays 03 Meditation.mp3
|-- 04 Deck.pptx <- PowerPoint slideshow
|-- 05 Photos <- folder slideshow
| |-- image-1.jpg
| |-- image-2.jpg
|-- Notes.txt <- ignored
Same number = overlay:
07 Audio.mp3
07 Image.png
Result:
07 Audio.mp3 + Image.png overlay
+ = reuse one overlay:
03 Audio.mp3
08 Audio.mp3
03+08 Photos
Result:
03 Audio.mp3 + Photos overlay
08 Audio.mp3 + Photos overlay
_ = sub-item ordering:
06_1 Slide.png
06_2 Slide.png
Supported inputs include images, video files, audio files, photo folders, and PowerPoint .pptx files.
-
Create a folder and order all the files with leading numbers.

-
Review the playlist config. If needed, enable or disable the
mic, adjust volume, or change the slideshow rotation time.
-
Save the config, go back, and click "Setup Folder in vMix". The app will create a
.vmixpreset file and open it in vMix.
-
The app also opens a simple web UI for users who are new to vMix and only need a "Next" button:

npm run css
npm run devPublishing uses Electron Builder's GitHub publisher configuration from
package.json. Releases are published automatically when a version tag is
pushed to GitHub.
npm version x.x.x
git push origin master --tagsThe tag push starts the release workflow, builds the Windows installer, and publishes a GitHub release for that tag.
npm run formatnpm run format:check
npm testGitHub Actions runs the same checks on every push and pull request.
