Commit Graph

244 Commits

Author SHA1 Message Date
Brett Williams
f9c114bf32 Add UI options for aerender 2024-08-04 10:00:16 -05:00
Brett Williams
dad9b8c250 Misc improvements 2024-08-04 01:19:22 -05:00
Brett Williams
8826382f86 Misc worker cleanup 2024-08-04 01:03:24 -05:00
Brett Williams
58822c4a20 get_project_info gets comp names from .aepx files now 2024-08-04 01:01:21 -05:00
Brett Williams
dc7f3877b2 Cleanup subprocess generation 2024-08-03 21:23:25 -05:00
Brett Williams
b1280ad445 Add AERender to supported_engines in EngineManager 2024-08-03 21:03:01 -05:00
Brett Williams
0cebb93ba2 Merge remote-tracking branch 'origin/feature/84-after-effects-support' into feature/84-after-effects-support 2024-08-03 20:56:54 -05:00
Brett Williams
a2785400ac Fix generate_worker_subprocess in aerender_worker.py 2024-08-03 20:55:48 -05:00
Brett Williams
d9201b5082 Changes to engine file extensions structure 2024-08-03 20:55:48 -05:00
Brett Williams
7d633d97c2 Fix getting path to After Effects 2024-08-03 20:55:48 -05:00
Brett Williams
220b3fcc25 Streamline job runtime - improve logging 2024-08-03 20:55:22 -05:00
Brett Williams
e6e2ff8e07 Fix generate_worker_subprocess in aerender_worker.py 2024-08-03 20:45:43 -05:00
Brett Williams
7986960b21 Changes to engine file extensions structure 2024-08-03 20:21:26 -05:00
Brett Williams
ebb847b09e Fix getting path to After Effects 2024-08-03 20:00:36 -05:00
82613c3963 Persist args in db and return args in job json (#82) 2024-08-03 18:42:21 -05:00
Brett Williams
abc9724f01 Quickfix: Forgot to commit one rename 2024-08-03 18:28:33 -05:00
ef4fc0e42e Blender GPU / CPU Render (#81)
* Add script to get GPU information from Blender

* Change run_python_script to allow it to run without a project file

* Simplify run_python_script code

* Fix mistake

* Add system_info to engine classes and api_server. /api/renderer_info now supports standard and full response modes.

* Get full renderer_info response for add job UI

* Enable setting specific Blender render_device using args

* Add Blender render device options to UI
2024-08-03 18:26:56 -05:00
Brett Williams
9bc490acae Misc cleanup / renaming 2024-08-03 14:04:17 -05:00
21de69ca4f Improve performance on several API calls (#80)
* Streamline fetching renderer_info from API - use threading for performance improvements

* Use concurrent.futures instead of Threading

* Fix timeout issue with server proxy

* Minor fixes to code that handles proxy server online / offline status
2024-08-03 11:02:40 -05:00
Brett Williams
47770c4fdd Update blender worker to get current frame from filepath output 2024-07-30 20:00:07 -05:00
8a3e74660c Create subjobs after submission - #54 (#79)
* Force start in render queue only starts NOT_STARTED and SCHEDULED jobs

* Refactor adding jobs / subjobs

* Remove dead code

* Fixed issue with bulk job submission

* Cancel job now cancels all subjobs

* Misc fixes

* JSON now returns job hostname

* Add hostname as optional column in DB

* Misc fixes

* Error handling for removing zip file after download

* Clean up imports

* Fixed issue where worker child information would not be saved
2024-07-30 19:22:38 -05:00
Brett Williams
6d33f262b3 Better error handling when posting a new job 2024-07-29 14:50:14 -05:00
a0729d71f1 Add long_polling_jobs to API (#78) 2024-02-13 13:11:56 -06:00
ecf836c235 Zeroconf offline-handling improvements (#77)
* Add benchmark.py

* Add cpu / disk benchmark APIs

* Add cpu_benchmark method to distributed_job_manager.py

* Do a better job of storing hostnames =

* Remove hostname from Zeroconf cache if server goes offline

* Add cpu / disk benchmark APIs

* Add cpu_benchmark method to distributed_job_manager.py

* Do a better job of storing hostnames =

* Remove hostname from Zeroconf cache if server goes offline

* Wrap main code in try finally block to always stop zeroconf

* Add missing import
2024-02-12 14:57:00 -06:00
a31fe98964 Cpu benchmarks #48 (#76)
* Add benchmark.py

* Add cpu / disk benchmark APIs

* Add cpu_benchmark method to distributed_job_manager.py

* Make sure cpu_benchmark is an int

* Improve distributed_job_manager test
2024-02-11 05:19:24 -06:00
Brett Williams
79db960383 Add MIT license 2024-01-28 20:54:12 -06:00
85785d9167 Check engine permissions and chmod it to executable if not already (#75) 2024-01-28 10:53:14 -06:00
9757ba9276 Pylint cleanup (#74)
* Misc fixes

* Misc cleanup

* Add all_versions to blender_downloader.py

* More cleanup

* Fix issue with status not reporting engine info

* Misc fixes

* Misc cleanup

* Add all_versions to blender_downloader.py

* More cleanup

* Fix issue with status not reporting engine info
2024-01-28 10:30:57 -06:00
d673d7d4bf Misc cleanup (#73)
* Stop previously running zeroconf instances

* Lots of formatting fixes

* Use f-strings for time delta

* More line fixes

* Update requirements.txt

* More misc cleanup

* Simplify README.md
2024-01-27 22:56:33 -06:00
Brett Williams
d216ae822e Merge remote-tracking branch 'origin/master' 2023-12-25 17:47:03 -06:00
Brett Williams
dabe46bdda Add .pylintrc 2023-12-25 17:46:45 -06:00
2c82c65305 Update pylint.yml
Update python versions
2023-12-25 17:40:55 -06:00
Brett Williams
4004ad893b Update .gitignore 2023-12-21 20:47:38 -06:00
Brett Williams
685297e2f2 Use alphanumeric API tokens instead of ints 2023-12-21 20:46:55 -06:00
d55f6a5187 Remove web components (#70)
* Remove old web code

* Add back missing gears file

* Client fetches thumbnails instead of being sent by server
2023-12-17 12:07:10 -06:00
Brett Williams
8863a38904 Add more docstrings 2023-12-16 22:23:02 -06:00
f663430984 Fix py2app (#69)
* Initial commit of py2app code

* Use environment variable RESOURCE_PATH when running as a bundle

* Move config files to system config location
2023-12-16 22:20:24 -06:00
525fd99a58 Ffmpeg versioning issues (#68)
* FFMPEG version cleanup

* Make sure attempts don't go on forever

* Use latest version when version not defined. Add latest to UI
2023-11-22 08:47:47 -08:00
Brett Williams
4847338fc2 Fix FFMPEG version regex 2023-11-22 07:48:28 -08:00
c0d0ec64a8 Dynamic engine options in UI for blender / ffmpeg (#66)
* Make sure progress UI updates occur on main thread

* Cleanup unnecessary code in FFMPEG

* Cleanup extension matching

* Make sure supported_extensions is now called as a method everywhere

* Fix add_job crashing

* Update the renderer to reflect the current file type

* Sort engine versions from newest to oldest

* Consolidate Project Group and Server Group

* Split UI options into its own file for easier updating

* Add ffmpeg ui stem
2023-11-21 01:31:56 -08:00
32afcf945d Use loopback address for local host (fixes issue with locked down networks) (#65) 2023-11-21 01:16:26 -08:00
e9f9521924 Report Engine Download Status in UI (#64)
* Report downloads in status bar

* Update engine_browser.py UI with any active downloads
2023-11-20 19:58:31 -08:00
Brett Williams
0e0eba7b22 Close the session properly - part 2 2023-11-11 10:59:39 -06:00
Brett Williams
86c5d4cc15 Properly close the renderqueue when shutting down 2023-11-11 10:58:21 -06:00
da61bf72f8 Add job polish (#63)
* Remove legacy client

* Misc cleanup

* Add message box after submission success / fail

* Use a new is_localhost method to handle localhost not including '.local'

* Code cleanup

* Fix issue where engine browser would think we're downloading forever

* Add message box after submission success / fail

* Use a new is_localhost method to handle localhost not including '.local'

* Code cleanup

* Fix issue where engine browser would think we're downloading forever

* Add pubsub messages to serverproxy_manager.py

* Add resolution, fps and renderer versions to add_job.py

* Add cameras to add_job.py

* Add message box after submission success / fail

* Use a new is_localhost method to handle localhost not including '.local'

* Code cleanup

* Fix issue where engine browser would think we're downloading forever

* Add message box after submission success / fail

* Code cleanup

* Add cameras to add_job.py

* Add dynamic engine options and output format

* Move UI work out of BG threads and add engine presubmission tasks

* Submit dynamic args when creating a new job

* Hide groups and show messagebox after submission

* Choose file when pressing New Job in main window now
2023-11-11 07:35:56 -06:00
0271abf705 Serverproxy manager (#61)
* Create serverproxy_manager.py

* Replace use of direct RenderServerProxy with ServerProxyManager method
2023-11-05 01:00:36 -05:00
c3b446be8e Don't create empty output directories in the source path (#60) 2023-11-04 23:58:08 -05:00
06a613fcc4 Zeroconf reports system properties (#59)
* Zeroconf.found_clients() now returns dicts of clients, not just hostnames

* Adjustments to distributed_job_manager.py

* Undo config change

* Report system metrics (cpu, os, etc) via zeroconf_server.py

* Zeroconf.found_clients() now returns dicts of clients, not just hostnames

* Adjustments to distributed_job_manager.py

* Undo config change

* Zeroconf.found_clients() now returns dicts of clients, not just hostnames

* Adjustments to distributed_job_manager.py

* Undo config change

* Adjustments to distributed_job_manager.py

* Undo config change

* Rename ZeroconfServer.found_clients() to found_hostnames()
2023-11-04 20:46:27 -05:00
d3b84c6212 Remove legacy client (#58)
* Remove legacy client

* Misc cleanup
2023-11-04 16:13:40 -05:00
Brett Williams
014489e3bf Add engine_help_viewer.py 2023-11-04 10:41:33 -05:00