void event_dispatch(event_t *e) { prop_t *p; event_int_t *eu = (event_int_t *)e; if(event_is_type(e, EVENT_UNICODE) && eu->val == 32) { // Convert [space] into playpause event_release(e); e = event_create_action(ACTION_PLAYPAUSE); } event_to_prop(prop_get_by_name(PNVEC("global", "eventsink"), 1, NULL), e); if(event_is_action(e, ACTION_QUIT)) { showtime_shutdown(0); } else if(event_is_action(e, ACTION_STANDBY)) { showtime_shutdown(10); } else if(event_is_action(e, ACTION_POWER_OFF)) { showtime_shutdown(11); } else if(event_is_action(e, ACTION_NAV_BACK) || event_is_action(e, ACTION_NAV_FWD) || event_is_action(e, ACTION_HOME) || event_is_action(e, ACTION_RELOAD_DATA) || event_is_type(e, EVENT_OPENURL)) { event_to_prop(prop_get_by_name(PNVEC("global", "nav", "eventsink"), 1, NULL), e); } else if(event_is_action(e, ACTION_VOLUME_UP) || event_is_action(e, ACTION_VOLUME_DOWN)) { p = prop_get_by_name(PNVEC("global", "audio", "mastervolume"), 1, NULL); prop_add_float(p, event_is_action(e, ACTION_VOLUME_DOWN) ? -1 : 1); prop_ref_dec(p); } else if(event_is_action(e, ACTION_VOLUME_MUTE_TOGGLE)) { p = prop_get_by_name(PNVEC("global", "audio", "mastermute"), 1, NULL); prop_toggle_int(p); prop_ref_dec(p); } else if(event_is_action(e, ACTION_SEEK_FAST_BACKWARD) || event_is_action(e, ACTION_SEEK_BACKWARD) || event_is_action(e, ACTION_SEEK_FAST_FORWARD) || event_is_action(e, ACTION_SEEK_FORWARD) || event_is_action(e, ACTION_PLAYPAUSE) || event_is_action(e, ACTION_PLAY) || event_is_action(e, ACTION_PAUSE) || event_is_action(e, ACTION_STOP) || event_is_action(e, ACTION_EJECT) || event_is_action(e, ACTION_PREV_TRACK) || event_is_action(e, ACTION_NEXT_TRACK) || event_is_action(e, ACTION_SHOW_MEDIA_STATS) || event_is_action(e, ACTION_SHUFFLE) || event_is_action(e, ACTION_REPEAT) || event_is_action(e, ACTION_NEXT_CHANNEL) || event_is_action(e, ACTION_PREV_CHANNEL) || event_is_action(e, ACTION_CYCLE_AUDIO) || event_is_action(e, ACTION_CYCLE_SUBTITLE) || event_is_type(e, EVENT_SELECT_AUDIO_TRACK) || event_is_type(e, EVENT_SELECT_SUBTITLE_TRACK) ) { event_to_prop(prop_get_by_name(PNVEC("global", "media", "eventsink"), 1, NULL), e); } else if(event_is_type(e, EVENT_PLAYTRACK)) { event_to_prop(prop_get_by_name(PNVEC("global", "playqueue", "eventsink"), 1, NULL), e); } event_release(e); }
void settings_toggle_bool(setting_t *s) { prop_toggle_int(s->s_val); }