From fbea1b43c3922a6a8277796d2369a4781e891c4d Mon Sep 17 00:00:00 2001 From: Thomas White Date: Sat, 15 Jun 2019 00:48:40 +0200 Subject: Add loads of parameters --- src/command.c | 8 ++++++++ src/nanolight.c | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++++---- src/nanolight.h | 10 +++++++++- 3 files changed, 69 insertions(+), 5 deletions(-) diff --git a/src/command.c b/src/command.c index 32c5ce9..53d9d9c 100644 --- a/src/command.c +++ b/src/command.c @@ -163,6 +163,14 @@ static const char *str_attr(enum attr_class att) case ATT_PAN : return "pan"; case ATT_TILT : return "tilt"; case ATT_STROBE : return "strobe"; + case ATT_CYAN : return "cyan"; + case ATT_MAGENTA : return "magenta"; + case ATT_YELLOW : return "yellow"; + case ATT_RGOBO : return "rgobo"; + case ATT_GOBO : return "gobo"; + case ATT_PRISM : return "prism"; + case ATT_FOCUS : return "focus"; + case ATT_ZOOM : return "zoom"; } return "???"; } diff --git a/src/nanolight.c b/src/nanolight.c index 9b3c699..8b88f91 100644 --- a/src/nanolight.c +++ b/src/nanolight.c @@ -154,8 +154,16 @@ static const char *attr_text(enum attr_class cls) case ATT_PAN : return "(pan)"; case ATT_TILT : return "Pan/tilt"; case ATT_STROBE : return "Strobe"; - default : return "(unknown)"; + case ATT_CYAN : return "Cyan"; + case ATT_MAGENTA : return "Magenta"; + case ATT_YELLOW : return "Yellow"; + case ATT_RGOBO : return "RGobo"; + case ATT_GOBO : return "Gobo"; + case ATT_PRISM : return "Prism"; + case ATT_FOCUS : return "Focus"; + case ATT_ZOOM : return "Zoom"; } + return "(unknown)"; } @@ -556,7 +564,7 @@ int main(int argc, char *argv[]) { struct nanolight nl; struct fixture_class cls; - struct attribute attrs[3]; + struct attribute attrs[128]; int c; GtkWidget *mainwindow; GtkWidget *da; @@ -594,7 +602,7 @@ int main(int argc, char *argv[]) /* Set up data structures */ cls.name = "Dummy fixture"; - cls.n_attrs = 4; + cls.n_attrs = 12; cls.attrs = attrs; cls.attrs[0].cls = ATT_INTENSITY; @@ -614,9 +622,49 @@ int main(int argc, char *argv[]) cls.attrs[3].cls = ATT_STROBE; cls.attrs[3].props = 0; - cls.attrs[3].addr_offset = 49; + cls.attrs[3].addr_offset = 48; cls.attrs[3].home = 255; + cls.attrs[4].cls = ATT_CYAN; + cls.attrs[4].props = ATTR_16BIT; + cls.attrs[4].addr_offset = 8; + cls.attrs[4].home = 0; + + cls.attrs[5].cls = ATT_MAGENTA; + cls.attrs[5].props = ATTR_16BIT; + cls.attrs[5].addr_offset = 10; + cls.attrs[5].home = 0; + + cls.attrs[6].cls = ATT_YELLOW; + cls.attrs[6].props = ATTR_16BIT; + cls.attrs[6].addr_offset = 12; + cls.attrs[6].home = 0; + + cls.attrs[7].cls = ATT_RGOBO; + cls.attrs[7].props = 0; + cls.attrs[7].addr_offset = 24; + cls.attrs[7].home = 0; + + cls.attrs[8].cls = ATT_ZOOM; + cls.attrs[8].props = ATTR_16BIT; + cls.attrs[8].addr_offset = 32; + cls.attrs[8].home = 0; + + cls.attrs[9].cls = ATT_FOCUS; + cls.attrs[9].props = ATTR_16BIT; + cls.attrs[9].addr_offset = 34; + cls.attrs[9].home = 0; + + cls.attrs[10].cls = ATT_GOBO; + cls.attrs[10].props = 0; + cls.attrs[10].addr_offset = 22; + cls.attrs[10].home = 0; + + cls.attrs[11].cls = ATT_PRISM; + cls.attrs[11].props = 0; + cls.attrs[11].addr_offset = 27; + cls.attrs[11].home = 0; + nl.fixture_width = 80.0; nl.fixtures = NULL; nl.n_fixtures = 0; diff --git a/src/nanolight.h b/src/nanolight.h index 046ea38..e5540f5 100644 --- a/src/nanolight.h +++ b/src/nanolight.h @@ -34,7 +34,15 @@ enum attr_class ATT_INTENSITY, ATT_PAN, ATT_TILT, - ATT_STROBE + ATT_STROBE, + ATT_CYAN, + ATT_MAGENTA, + ATT_YELLOW, + ATT_RGOBO, + ATT_GOBO, + ATT_PRISM, + ATT_FOCUS, + ATT_ZOOM, }; -- cgit v1.2.3