-
Notifications
You must be signed in to change notification settings - Fork 1
usine chunks
senso edited this page Jun 22, 2026
·
2 revisions
#example #chunks #persistence #advanced
Chunk-based shared data persistence between modules.
| Module Name | usine chunks |
| Type | mtSimple |
| Color | clChunkModuleColor |
| Source | examples/UsineChunks/ |
Demonstrates the Usine Chunks system for sharing named data between modules. Chunks are persistent key-value stores that survive save/load cycles and can notify subscribers when data changes.
| # | Name | Type | I/O | Callback |
|---|---|---|---|---|
| 0 | set item1 |
ptArray |
Input | ctImmediate |
| 1 | commatxt idx 1 |
ptText |
Input | ctImmediate |
| 2 | get item1 |
ptArray |
Output | None |
| 3 | get commatxt |
ptText |
Output (DontSave) | None |
-
onInitModule: Gets/creates chunk"mychunk"viasdkGetChunk. Subscribes to notifications for chunk deletion,"item1"changes, and"commatxt"changes. -
Writing: On input change, writes data to chunk items using
sdkChunkOperation(..., coAddOrModifyItem) -
Reading: On subscription notification, reads data from chunk using
sdkChunkOperation(..., coGetItem) -
Cleanup: Destructor calls
sdkChunkUnSubscribeAll()
// Get or create a chunk
TUsineChunkPtr chunk = sdkGetChunk("mychunk");
// Write float array to chunk item
sdkChunkOperation(chunk, "item1", ftDataFloat,
inputEvent, coAddOrModifyItem, 0);
// Write text to chunk item at index
sdkChunkOperation(chunk, "commatxt", ftTextGeneral,
textEvent, coAddOrModifyItem, 1);
// Subscribe to changes (fires callbackID when item changes)
sdkChunkSubscribe(chunk, "item1", MY_CALLBACK_ID, TRUE);
// Read chunk item
sdkChunkOperation(chunk, "item1", ftDataFloat,
outputEvent, coGetItem, 0);
// Cleanup
sdkChunkUnSubscribeAll();-
sdkGetChunk— get or create a named chunk -
sdkChunkOperation— read/write chunk items withcoAddOrModifyItemandcoGetItem -
sdkChunkSubscribe— receive notifications when chunk data changes -
Flow types:
ftDataFloatfor float data,ftTextGeneralfor text -
MSG_CHUNK_DESTROYED/MSG_CHUNK_ITEM_LIST_CHANGED— lifecycle notifications - Cross-module data sharing via named chunks
onGetModuleInfo · onGetNumberOfParams · onAfterQuery · onInitModule · onGetParamInfo · onCallBack
- GlobalArray — Simpler cross-module data sharing
- UsineObjects — Remote object access
- DrawTrajectoryBox — Module-local chunk persistence