blender-studio-tools/scripts/project-tools
2024-07-22 22:56:45 +02:00
..
consistency_check.py Scripts: Switch to SPDX format 2024-07-22 22:56:45 +02:00
folder_structure_shared.json Docs: Fix Project Tools Genreate Folder Structures Instructions 2023-11-15 08:33:57 -05:00
folder_structure_svn.json Docs: Fix Project Tools Genreate Folder Structures Instructions 2023-11-15 08:33:57 -05:00
folder_structure.json project-tools: Rename rollback_blender_local to run_blender_previous 2024-01-09 16:36:33 +01:00
init_project_folder_structure.py Scripts: Switch to SPDX format 2024-07-22 22:56:45 +02:00
install_desktop_file.sh project-tools: Update .desktop install script 2024-02-22 19:56:59 +01:00
launch_blender_mac.command project-tools: Mark mac script as executable 2023-10-17 18:23:51 +02:00
launch_blender_win.bat Update scripts to fix windows 2023-10-04 14:07:58 +02:00
pyproject.toml Add project-tools (#142) 2023-08-31 20:33:03 +02:00
README.md project-tools: Add README file 2023-09-13 18:06:22 +02:00
rollback_blender.py Scripts: Switch to SPDX format 2024-07-22 22:56:45 +02:00
run_blender_previous.py Scripts: Switch to SPDX format 2024-07-22 22:56:45 +02:00
run_blender.py Scripts: Switch to SPDX format 2024-07-22 22:56:45 +02:00
setup.cfg Add project-tools (#142) 2023-08-31 20:33:03 +02:00
update_addons.py Scripts: Switch to SPDX format 2024-07-22 22:56:45 +02:00
update_blender.py Scripts: Switch to SPDX format 2024-07-22 22:56:45 +02:00

Project Tools

This is a collection of scripts to help creating and maintaining a movie production folder skeleton.

These are meant to help with getting smaller Blender productions up and running with the only requirement of having a shared network folder available to all participants. This shared folder can be read-only as it is used to ensure that all participants has the same Blender version and add-ons.

The scripts themselves will be explained in the order one needs to execute them to setup everything correctly. Let's get going! :)

NOTE: All scripts besides the init_project_folder_structure.py script, is only meant to be run from within the created folder skeleton!

init_project_folder_structure.py

This script will initialize the folder structure skeleton. To run it successfully, you need to specify the target folder.

Here is how you would create a folder skeleton in the temporary files folder on your Linux system:

./init_project_folder_structure.py /tmp/my_project

If you navigate to the /tmp/my_project folder you will see that there are three folders.

  • local This is where the local copy of Blender and the add-ons will be installed.
  • shared This is the folder that should be shared over the network. (By using Syncthing, NFS shares, Samba, Dropbox, etc)
  • svn This the versioned controlled folder where the .blend production files will live.

Inside of the svn folder, there is a tools folder that contains all scripts listed here. From this point on, all scripts are to be run from within the tools folder

consistency_check.py

This script will check that the folder structure were created correctly. Run it while in the created tools folder with ./consistency_check.py.

update_blender.py

This script will fetch the latest Blender download from https://builder.blender.org/download/ You can specify the branch to fetch by editing the BLENDER_BRANCH variable in the script file.

The Blender download for Linux, Mac, and Windows will be downloaded into the shared/artifacts/blender folder. It will keep up to 10 previous downloaded versions for backup.

It is also possible to manually download Blender with their shasums and put then into this folder. Note that only one version for each platform should exist at the same this in this folder if you do so.

update_addons.py

This is a script to fetch add-on .zip files and put them into shared/artifacts/addons folder.

As with the update_blender.py script, it is possible to manually download the zip files and their shasums and put them in the addons folder.

To specify which add-ons to download, edit the script file and use the download_file function.

run_blender.py

This script will take the correct blender version for your operating system from shared/artifacts/blender and extract it to the local directory. Along with any add-ons in the shared/artifacts/addons folder.

It will finally launch the extracted Blender.

Note that the script will only update the files in the local directory if the installed files differs from the ones hosted in the shared directory.

If they match, it will simply launch Blender.

rollback_blender.py

If the update_blender.py script was used to download the Blender archive files, then you can use rollback_blender.py to switch the "current" version hosted in shared/artifacts/blender to one the older downloads.

This is intended to be used to rollback to an older version in case of bugs in newer downloaded versions.

install_desktop_file.sh

This is a Linux only script file.

It installs a .desktop entry for the current user so they can easily launch run_blender.py from their application launcher.