[FEATURE] Desktop app (Cross-platform)#1010
Closed
Tophness wants to merge 3 commits intodeepbeepmeep:mainfrom
Closed
[FEATURE] Desktop app (Cross-platform)#1010Tophness wants to merge 3 commits intodeepbeepmeep:mainfrom
Tophness wants to merge 3 commits intodeepbeepmeep:mainfrom
Conversation
Collaborator
Author
|
Superseded by #1024 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This is my own experiment that I will take the burden of trying to maintain and don't expect it to get merged to main any time soon, so I'm pushing to my own fork, but I thought I'd just let you know how it's going anyway.
While developing the Gallery plugin, I had the idea of turning it into an actual Video Editor / Studio where the videos generate inline on a timeline over the ranges/frames you select and you can move stuff around, make splits, generate over different layers (This could be incredibly powerful with WAN Alpha) etc.
All the features were there except the actual video editor stuff, and I thought hey it's 2025, someone's probably got an open source html5 / webassembly video editor out there, but all of the options were scant. A lot of people tried to stream ffmpeg to the browser, a lot of them only barely worked on chromium or didnt work at all, and a lot of devs just gave up and said the browser and ffmpeg weren't meant for this (fair).
So I thought about it the other way around.
What if WAN2GP had a native desktop app that the video editor could be easily embedded in, and it just ported wgp.py.
It was a long shot, but I've got the desktop app working already. I was able to hijack all the gradio stuff and nullify them, and the rest is just regular python functions, so it can just import them as is. The UI is then rendered by PyQT.
I guess ideally I would now copy all those functions over to the desktop app, but that would only work if we switched over to using this instead of gradio, which I'm not suggesting.
The way it works now will be far more maintainable as wgp progresses, because I don't have to update anything with any changes in wgp if I can still call the functions. I've taken care not to hardcode anything.
Generating works, configs work, all the UI logic is ported over. It's actually pretty code efficient even with the overhead of hooking wgp.
The UI is actually much more neat and compact this way even before I've tried to design it properly. Not having to run a server and browser client with a bunch of JS means much less memory usage too. There's a lot to like about this.
Haven't added a plugin system yet, but it would be MUCH easier and more powerful to create your own plugins when I do.
No trying to jam 2 gradio elements together and inject them into 1 hidden one to add your own, no hidden triggers, just
self.create_slider('new_loras_multiplers', 1.0, 0)self.widgets['loras_multipliers'].setValue(new_loras_multipliers)Don't have to worry about trying to get file thumbnails to work on linux this way, it'll work super fast out of the box.
Haven't added the video editor yet either, but PyQT can definitely do a fast and powerful video editor, and it'd be much easier to get it to work with WAN2GP in a desktop app.
Screenshots: