diff options
author | Vito Caputo <vcaputo@pengaru.com> | 2023-01-11 16:03:12 -0800 |
---|---|---|
committer | Vito Caputo <vcaputo@pengaru.com> | 2023-01-11 22:31:31 -0800 |
commit | 6153122a24e847ade9c9d2b84ef8dd125e2a772b (patch) | |
tree | 04f457c9e94acbcd05fa77508853540835858a24 | |
parent | b08baac7e388bf32fefd4f1ab129b28d5fc57aa9 (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.
-rw-r--r-- | src/til.h | 4 |
1 files changed, 3 insertions, 1 deletions
@@ -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); |