Skip to content

Commit 8448b8c

Browse files
add the main frame change handler to always insert at 0
this allows addons to depend on the data provided by the sequence loader
1 parent e0eed7d commit 8448b8c

File tree

5 files changed

+34
-17
lines changed

5 files changed

+34
-17
lines changed

README.md

Lines changed: 29 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -46,17 +46,32 @@ All data is loaded *just-in-time* when the Blender frame changes, in order to av
4646
- [1.2 Install Addon](#12-install-addon)
4747
- [1.3 FAQs](#13-faqs)
4848
- [2. How to use](#2-how-to-use)
49-
- [2. Load the animation sequence you want](#2-load-the-animation-sequence-you-want)
50-
- [2.1 Absolute vs. Relative Paths](#21-absolute-vs-relative-paths)
51-
- [2.2 Sequence List View](#22-sequence-list-view)
52-
- [2.2.1 Enable/ Disable](#221-enable-disable)
53-
- [2.2.1 Refresh Sequence](#221-refresh-sequence)
54-
- [2.3 Settings](#23-settings)
55-
- [2.3.1 Geometry Nodes](#231-geometry-nodes)
56-
- [2.3.2 Path Information](#232-path-information)
57-
- [2.3.3 Attributes Settings](#233-attributes-settings)
58-
- [2.3.4 Split Norm per Vertex](#234-split-norm-per-vertex)
59-
- [2.3.5 Advanced Settings](#235-advanced-settings)
49+
- [1. Load the animation sequence you want](#1-load-the-animation-sequence-you-want)
50+
- [1.1 Relative Paths](#11-relative-paths)
51+
- [1.2 Import Default Normals](#12-import-default-normals)
52+
- [1.3 Custom Transformation Matrix](#13-custom-transformation-matrix)
53+
- [1.4 Load sequences from folder (Legacy importer)](#14-load-sequences-from-folder-legacy-importer)
54+
- [2. Global Settings](#2-global-settings)
55+
- [2.1 Root Directory](#21-root-directory)
56+
- [2.2 Print Sequence Information](#22-print-sequence-information)
57+
- [2.3 Auto Refresh Active Sequences](#23-auto-refresh-active-sequences)
58+
- [2.4 Auto Refresh All Sequences](#24-auto-refresh-all-sequences)
59+
- [3. Sequence List View](#3-sequence-list-view)
60+
- [3.1 Activate / Deactivate Sequences](#31-activate--deactivate-sequences)
61+
- [3.2 Refresh Sequence](#32-refresh-sequence)
62+
- [3.3 Activate / Deactivate All](#33-activate--deactivate-all)
63+
- [3.4 Set Timeline](#34-set-timeline)
64+
- [4. Sequence Properties](#4-sequence-properties)
65+
- [4.1 Match Blender Frame Numbers](#41-match-blender-frame-numbers)
66+
- [4.2 Path](#42-path)
67+
- [4.3 Pattern](#43-pattern)
68+
- [4.4 Current File](#44-current-file)
69+
- [4.5 Last Loading Time](#45-last-loading-time)
70+
- [4.6 Attributes Settings](#46-attributes-settings)
71+
- [4.6.1 Split Norm per Vertex](#461-split-norm-per-vertex)
72+
- [5. Advanced Settings](#5-advanced-settings)
73+
- [5.1 Script](#51-script)
74+
- [5.2 Geometry Nodes](#52-geometry-nodes)
6075

6176
## 1. Installation
6277

@@ -70,8 +85,9 @@ git clone https://github.com/InteractiveComputerGraphics/blender-sequence-loader
7085

7186
2. Build the installable `.zip` file by simply running the following command. This should produce a file called `blender_sequence_loader_{date}.zip`, where `{date}` is replaced with todays date. No other dependency other than standard python3 libraries are needed to build the addon.
7287

73-
```shell
74-
python3 build_addon.py
88+
```sh
89+
./download_wheels.sh
90+
blender --command extension build
7591
```
7692

7793
### 1.2 Install Addon

blender_manifest.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ schema_version = "1.0.0"
33
# Example of manifest file for a Blender extension
44
# Change the values according to your extension
55
id = "sequence_loader"
6-
version = "0.3.4"
6+
version = "0.3.5"
77
name = "Blender Sequence Loader"
88
tagline = "Just-in-time loader for meshio-supported mesh file sequences"
99
maintainer = "Stefan Rhys Jeske <[email protected]>"

bseq/__init__.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,9 @@
1313
@persistent
1414
def BSEQ_initialize(scene):
1515
if update_obj not in bpy.app.handlers.frame_change_post:
16-
bpy.app.handlers.frame_change_post.append(update_obj)
16+
# Insert at the beginning, so that it runs before other frame change handlers.
17+
# The other handlers don't need to be in the first position.
18+
bpy.app.handlers.frame_change_post.insert(0, update_obj)
1719
if auto_refresh_active not in bpy.app.handlers.frame_change_post:
1820
bpy.app.handlers.frame_change_post.append(auto_refresh_active)
1921
if auto_refresh_all not in bpy.app.handlers.frame_change_post:

bseq/panels.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
import bpy
22
import os
33

4-
54
class BSEQ_UL_Obj_List(bpy.types.UIList):
65
'''
76
This controls the list of imported sequences.

docs/conf.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
project = 'blender-sequence-loader'
1010
copyright = '2025, InteractiveComputerGraphics'
1111
author = 'InteractiveComputerGraphics'
12-
release = '0.3.4'
12+
release = '0.3.5'
1313

1414
# -- General configuration ---------------------------------------------------
1515
# https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration

0 commit comments

Comments
 (0)