Changeset 5977:6b7d6fcf80b5 in roaraudio for roarclients


Ignore:
Timestamp:
01/27/14 18:57:46 (10 years ago)
Author:
phi
Branch:
default
Phase:
public
Message:

Added support for rangeset to roard and roarlight.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • roarclients/roarlight.c

    r5961 r5977  
    9595} 
    9696 
     97static int cmd_rangeset (char * arg) { 
     98 char * next = arg; 
     99 char * k, * v; 
     100 int32_t start, end, val; 
     101 struct roar_roardmx_message mes; 
     102 
     103 roar_roardmx_message_new_rangeset(&mes); 
     104 
     105 while (next != NULL) { 
     106  arg  = next; 
     107  next = strstr(next, ","); 
     108  if ( next != NULL ) { 
     109   *next = 0; 
     110    next++; 
     111  } 
     112 
     113  k = arg; 
     114  v = strstr(arg, "="); 
     115  if ( v == NULL ) 
     116   return -1; 
     117 
     118  *v = 0; 
     119   v++; 
     120 
     121  val  = atoi(v); 
     122 
     123  v = strstr(arg, "-"); 
     124  if ( v == NULL ) { 
     125   start = end = atoi(k); 
     126  } else { 
     127  *v = 0; 
     128   v++; 
     129   start = atoi(k); 
     130   end = atoi(v); 
     131  } 
     132 
     133//  printf("k='%s'(%i), v='%s'(%i)\n", k, chan, v, val); 
     134  if ( roar_roardmx_message_add_rangeval(&mes, start, end, val) == -1 ) { 
     135   return -1; 
     136  } 
     137 } 
     138 
     139 if ( roar_roardmx_message_send(&mes, g_stream) == -1 ) { 
     140  return -1; 
     141 } 
     142 
     143 return 0; 
     144} 
     145 
    97146static int cmd_event (char * arg) { 
    98147 struct roar_roardmx_message mes; 
     
    146195   i++; 
    147196   if ( cmd_sset(argv[i]) == -1 ) { 
     197    fprintf(stderr, "Error: can not set channels\n"); 
     198   } else { 
     199    printf("channels changed\n"); 
     200   } 
     201  } else if ( !strcmp(k, "rangeset") ) { 
     202   ROAR_CKHAVEARGS(1); 
     203   i++; 
     204   if ( cmd_rangeset(argv[i]) == -1 ) { 
    148205    fprintf(stderr, "Error: can not set channels\n"); 
    149206   } else { 
Note: See TracChangeset for help on using the changeset viewer.