summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorVito Caputo <vcaputo@pengaru.com>2023-01-11 16:03:12 -0800
committerVito Caputo <vcaputo@pengaru.com>2023-01-11 22:31:31 -0800
commit6153122a24e847ade9c9d2b84ef8dd125e2a772b (patch)
tree04f457c9e94acbcd05fa77508853540835858a24 /src
parentb08baac7e388bf32fefd4f1ab129b28d5fc57aa9 (diff)
til: intrdouce a couple new module flags
TIL_MODULE_HERMETIC: There's likely to be some new modules that are more orchestration style components having external runtime dependencies. Think stuff like a sequencer talking to GNU Rocket, or something that plays back pattern data from external files. Those would need a GNU Rocket process to talk to somewhere, or input pattern file paths. So they shouldn't participate in stuff like random rtv shows unless they have some fallbacks for when the dependencies are unavailable. For pattern data it's realistic to include some builtin patterns to fallback on, but we're not there yet. So this flag when specified should opt out of things like rtv or checkers fill_module random selections. TIL_MODULE_EXPERIMENTAL: Theres no current way to have knowingly unstable/unfinished modules available in-tree for development/collaboration purposes without having them also make stuff like rtv unstable. Modules having this flag set should be excluded from random inclusion without a --experimental or some such runtime flag specified. This commit only assigns values and names for the flags, it doesn't implement anything.
Diffstat (limited to 'src')
-rw-r--r--src/til.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/til.h b/src/til.h
index b863868..b074158 100644
--- a/src/til.h
+++ b/src/til.h
@@ -20,7 +20,9 @@ typedef struct til_setting_desc_t til_setting_desc_t;
typedef struct til_knob_t til_knob_t;
typedef struct til_stream_t til_stream_t;
-#define TIL_MODULE_OVERLAYABLE 1u
+#define TIL_MODULE_OVERLAYABLE 1u /* module is appropriate for overlay use */
+#define TIL_MODULE_HERMETIC 2u /* module doesn't work readily with other modules / requires manual settings */
+#define TIL_MODULE_EXPERIMENTAL 4u /* module is buggy / unfinished */
typedef struct til_module_t {
til_module_context_t * (*create_context)(til_stream_t *stream, unsigned seed, unsigned ticks, unsigned n_cpus, char *path, til_setup_t *setup);
© All Rights Reserved