Changeset 5982:c38f275b38ae in roaraudio for roard/light.c
- Timestamp:
- 02/23/14 15:46:19 (10 years ago)
- Branch:
- default
- Phase:
- public
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
roard/light.c
r5981 r5982 70 70 71 71 g_light_state.channels = channels; 72 g_light_state.filter = NULL; 72 73 73 74 if ( (g_light_mixer.stream = add_mixer(ROAR_SUBSYS_LIGHT, _MIXER_NAME("Light Control"), &ss)) == -1 ) { … … 92 93 93 94 int light_free (void) { 95 if ( g_light_state.filter != NULL ) { 96 roar_slfi_unref(g_light_state.filter); 97 } 98 94 99 if ( g_light_state.state != NULL ) { 95 100 roar_mm_free(g_light_state.state); … … 162 167 163 168 // TODO: next run filters 169 if ( g_light_state.filter != NULL ) { 170 if ( roar_slfi_update(g_light_state.filter, 171 g_light_state.output, g_light_state.channels, 172 ((int32_t)1000000LU)/(int32_t)ROAR_OUTPUT_CFREQ, 173 g_light_state.events, g_light_state.eventsqueuelen) == -1 ) { 174 ROAR_WARN("light_update(void): Can not run SLFI filter: %s", roar_errorstring); 175 } 176 } 164 177 165 178 // calculate diffrence: … … 267 280 } 268 281 282 int light_filter_load(int primary, const char * name, int autoload, const struct roar_keyval * para, ssize_t paralen) { 283 struct roar_slfi_inst * filter; 284 int ret; 285 int err; 286 287 if ( primary && g_light_state.filter != NULL ) { 288 roar_err_set(ROAR_ERROR_ALREADY); 289 return -1; 290 } else if ( !primary && g_light_state.filter == NULL ) { 291 roar_err_set(ROAR_ERROR_BADSTATE); 292 return -1; 293 } 294 295 filter = roar_slfi_new(name, autoload, para, paralen); 296 if ( filter == NULL ) 297 return -1; 298 299 if ( primary ) { 300 g_light_state.filter = filter; 301 return 0; 302 } 303 304 ret = roar_slfi_ctl(g_light_state.filter, ROAR_SLFI_CMD_PUSH, filter); 305 err = roar_error; 306 307 roar_slfi_unref(filter); 308 309 roar_err_set(err); 310 return ret; 311 } 312 269 313 int light_dmxchannel_get(size_t index) { 270 314 if ( (size_t)g_light_state.channels <= index ) {
Note: See TracChangeset
for help on using the changeset viewer.