Commit Graph

24 Commits

Author SHA1 Message Date
65c256b641 New UI Redesign in pyqt6 (#56)
* Initial commit for new UI

* Initial commit for new UI

* WIP

* Status bar updates and has an icon for online / offline

* Add log_viewer.py

* Use JSON for delete_engine_download API

* Fix class issue with Downloaders

* Move Config class to new ui

* Add engine_browser.py

* Add a close event handler to the main window

* Fix issue with engine manager not deleting engines properly

* Rearrange all the files

* Add icons and resources

* Cache system info in RenderServerProxy

* Toolbar polish

* Fix resource path in status bar

* Add config_dir to misc_helper.py

* Add try block to zeroconf setup

* Add add_job.py

* Add raw args to add_job.py
2023-11-04 09:52:15 -05:00
bc8e88ea59 Config class (#51)
* Add new Config class to handle loading config files

* Use new config class in api_server.py
2023-10-29 22:22:40 -05:00
6ce69c8d35 Thread Safe Downloads for Renderers (#49)
* Make engines download on another thread

* Fix merge issues
2023-10-29 22:22:29 -05:00
dcc0504d3c Engine and downloader refactoring (#50)
* Make downloaders subclass of base_downloader.py

* Link engines and downloaders together for all engines

* Replace / merge worker_factory.py with engine_manager.py
2023-10-29 20:57:26 -05:00
Brett Williams
22aaa82da7 Simplify database.db logic 2023-10-27 02:41:31 -05:00
Brett Williams
951bebb3a8 Save database.db to upload dir, not code dir 2023-10-27 02:35:21 -05:00
Brett Williams
deac943e4c Add UI notifications to a try block 2023-10-25 21:52:08 -05:00
Brett Williams
32d863f624 Cancel all children if parent job is cancelled 2023-10-25 06:37:46 -05:00
Brett Williams
760d239d0c Minor fixes 2023-10-25 06:29:30 -05:00
cc1cf92118 Add simple notifications on job errors, completion and start. (#46) 2023-10-25 06:15:52 -05:00
Brett Williams
917a15c60c Make engine updating multithreaded 2023-10-25 02:57:25 -05:00
f01192909d Split add job helper (#45)
* Fix issue with engine not being available to download

* Add version caches to ffmpeg downloader

* Remove some test parameters

* "releases" should be "release" in linux ffmpeg url

* CPU was incorrectly reported as OS

* Fix naming structure for FFMPEG downloads for linux

* More linux ffmpeg work

* Improved error handling

* WIP

* Consolidate platform reporting to not use platform directly

* Fix missing folder name

* Fix project output naming

* Undo config.yaml commit

* Add is_engine_available API call

* Fix issue where subjobs would not find servers
2023-10-25 02:49:07 -05:00
Brett Williams
03e7b95e1b Split add_job_handler out to all_job_helpers.py 2023-10-24 20:53:06 -05:00
782a1a4699 Added engine update check on launch (#43) 2023-10-23 08:26:11 -05:00
e52682c8b9 Engine downloader API for #31 (#42)
* Add is_engine_available_to_download API call

* Fix issue with worker never throwing error if engine is not found

* Add API call to get most recent engine version

* Fix some minor import issues

* Fix web urls

* Fix default server log level

* Add progress bar for project download worker_factory downloads missing engine versions

* Better error handling when invalid version is given

* Add timeouts to engine downloaders
2023-10-22 17:02:30 -05:00
Brett Williams
9603046432 Fix path to blender pack_project.py 2023-10-21 22:48:15 -05:00
Brett Williams
9027cd7202 More code re-organizing 2023-10-21 22:45:30 -05:00
7a52cce40a Windows File Path Fixes (#39)
* Added system_safe_path to convert paths to Windows

* Fix issue where engines would not be reported unless a system engine was installed

* Platform independent searching for binaries in engine directory

* Add missing package to requirements.txt

* Better error handling for ffmpeg.get_all_formats()

* Add system_safe_path to more locations in api_server.py

* Fix naming issue with Blender on macos

* Fix path lookups and add engine_path to workers

* Report installed renderers in status

* Remove files included by accident
2023-10-21 22:12:09 -05:00
0b6b971fbc Get detailed formats from engines (#38)
* Add get_detected_gpus() and supported_render_engines() to Blender class

* Parse help args for Blender

* Return dict instead of list

* Parse args for FFMPEG

* Add API to get renderer args

* Only return available renderers

* Parse help args for Blender

* Return dict instead of list

* Parse args for FFMPEG

* Rebase off master

* Rebase

* Change methods from class methods to instance methods

* FFMPEG format fetching
2023-10-20 21:06:16 -05:00
Brett Williams
c499096efc Update requirements.txt 2023-10-20 20:39:44 -05:00
af5eda97c5 FFMPEG downloader (#36)
* Add ffmpeg_downloader.py

* Move shared download logic to downloader_core.py

* Added Windows support and some misc cleanup

* Fix issue with copying contents of .dmg files

* Add FFMPEGDownloader to engine_manager.py
2023-10-20 18:46:54 -05:00
7d1ecf1fa5 Downloadable engines (#34)
* Add blender_downloader.py

* Add engine_manager.py

* Add additional methods to engine_manager.py

* Refactor file layout to make engines on par with workers

* Add system platform info to status response

* Default to using system platform / cpu if none are provided

* Add API to download an engine and some general cleanup

* Add method to delete downloaded engine

* Add API calls to download engines and delete downloads

* Misc fixes
2023-10-20 15:05:29 -05:00
4563dcb255 Fix #20 - Relaunch renderer when renderer crashes (#28)
* Render worker makes multiple attempts if file_path increases on each run

* Change blender_worker.py to not overwrite existing files

* Chmod +x to client
2023-07-02 23:50:15 -05:00
a475aa999a Major file reorganization (#26)
* Major file reorganization

* Rearrange imports

* Fix default log level
2023-06-30 21:24:40 -05:00