blob: b06c6a4cfbb19d6407e5536cb7adae0838a0dd93 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
|
#ifndef _RKT_H
#define _RKT_H
#include "til.h"
#include "til_module_context.h"
#include "til_settings.h"
typedef struct rkt_scener_t rkt_scener_t;
typedef struct rkt_scene_t {
til_module_context_t *module_ctxt;
} rkt_scene_t;
typedef struct rkt_context_t {
til_module_context_t til_module_context;
rkt_scener_t *scener;
struct sync_device *sync_device;
const struct sync_track *scene_track;
double rows_per_ms;
double rocket_row;
unsigned last_ticks;
unsigned paused:1;
size_t n_scenes;
rkt_scene_t *scenes;
unsigned scene; /* current scene (usually driven by the scene track data,
* but scener may override it to force showing a specific scene)
*/
} rkt_context_t;
typedef struct rkt_setup_scene_t {
const til_module_t *module;
til_setup_t *setup; /* Baked setup as-configured via setup. */
} rkt_setup_scene_t;
typedef struct rkt_setup_t {
til_setup_t til_setup;
til_settings_t *settings; /* Settings instance used to produce rkt's root setup,
* which rkt grabs a reference to for serializing its
* entirety "as args". The per-scene setups also grab
* reference to their respective settings instances, for
* editability within their levels of the rkt settings
* heirarchy.
*/
til_settings_t *scenes_settings;
const char *base;
double rows_per_ms;
unsigned connect:1;
unsigned scener_listen:1;
const char *host, *scener_address;
unsigned short port, scener_port;
size_t n_scenes;
rkt_setup_scene_t scenes[];
} rkt_setup_t;
#endif
|