summaryrefslogtreecommitdiff
path: root/src/til_tap.h
diff options
context:
space:
mode:
authorVito Caputo <vcaputo@pengaru.com>2023-01-19 22:48:33 -0800
committerVito Caputo <vcaputo@pengaru.com>2023-01-21 13:33:27 -0800
commit12e2ea7549ba86893104e1b8117a2ceb50d0ebf2 (patch)
treeb6c3669bc3ff2342575b9cd8e287c964b706bffc /src/til_tap.h
parentbc2a41d33785b744181ef2fee7fb05a9525c4900 (diff)
til_{tap,stream}: introduce til_tap_t.inactive
When a driving tap becomes inactive, til_stream_tap() should be able to notice and replace the driver. An example driving tap becoming inactive would be a GNU Rocket track that once had keys in it, but then had them all deleted. This should set the inactive flag so the tap's automation can take over. This gives the user at the Rocket editor the ability to both take over from the tap automation and surrender control back, by populating vs. emptying the respective track.
Diffstat (limited to 'src/til_tap.h')
-rw-r--r--src/til_tap.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/til_tap.h b/src/til_tap.h
index 6fa47f4..4c0c589 100644
--- a/src/til_tap.h
+++ b/src/til_tap.h
@@ -69,7 +69,8 @@ typedef struct til_tap_t {
size_t n_elems; /* when > 1, *ptr is an array of n_elems elements. Otherwise individual variable. */
void *elems; /* points at the first element of type type, may or may not be an array of them */
const char *name;
- uint32_t name_hash; /* cached hash of name, set once @ initialization */
+ uint32_t name_hash; /* cached hash of name, set once @ initialization */
+ unsigned inactive:1; /* used to signal when a tap should be replaced as driver */
} til_tap_t;
/* just some forward declared higher-order vector and matrix types for the wrappers */
© All Rights Reserved