/** * input_poll: * * Input polling callback function. **/ void input_poll(void) { size_t i; settings_t *settings = config_get_ptr(); current_input->poll(current_input_data); input_driver_turbo_btns.count++; for (i = 0; i < settings->input.max_users; i++) { libretro_input_binds[i] = settings->input.binds[i]; input_driver_turbo_btns.frame_enable[i] = 0; } if (!input_driver_block_libretro_input) { for (i = 0; i < settings->input.max_users; i++) input_driver_turbo_btns.frame_enable[i] = current_input->input_state( current_input_data, libretro_input_binds, i, RETRO_DEVICE_JOYPAD, 0, RARCH_TURBO_ENABLE); } #ifdef HAVE_OVERLAY if (overlay_ptr) input_poll_overlay(overlay_ptr, settings->input.overlay_opacity); #endif #ifdef HAVE_COMMAND if (input_driver_command) command_poll(input_driver_command); #endif #ifdef HAVE_NETWORKGAMEPAD if (input_driver_remote) input_remote_poll(input_driver_remote); #endif }
/** * input_poll: * * Input polling callback function. **/ void input_poll(void) { size_t i; settings_t *settings = config_get_ptr(); input_driver_poll(); for (i = 0; i < MAX_USERS; i++) libretro_input_binds[i] = settings->input.binds[i]; #ifdef HAVE_OVERLAY input_poll_overlay(NULL, settings->input.overlay_opacity); #endif #ifdef HAVE_COMMAND if (input_driver_command) command_poll(input_driver_command); #endif #ifdef HAVE_NETWORKGAMEPAD if (input_driver_remote) input_remote_poll(input_driver_remote); #endif }
int main(int argc, char *argv[]) { int rc=0; signal(SIGINT, ctrlc); oscstreamdb_defaults(); init_playmode_default(argv[0]); if (cmdline(argc, argv)) return 1; if (n_device_strings < 1) { printf("You must specify a device name to record. (-d)\n"); return 1; } switch (backend) { case BACKEND_TEXT: backend_start = text_start; backend_stop = text_stop; backend_poll = text_poll; backend_write_value = text_write_value; backend_write_generic = text_write_generic; backend_seek_start = text_seek_start; backend_read = text_read; break; case BACKEND_BINARY: backend_start = binary_start; backend_stop = binary_stop; backend_poll = binary_poll; backend_write_value = binary_write_value; //WIP //backend_write_generic = binary_write_generic; break; case BACKEND_OSCSTREAMDB: if (backend_oscstreamdb_options.stream==0) { help(); return 1; } backend_start = oscstreamdb_start; backend_stop = oscstreamdb_stop; backend_poll = oscstreamdb_poll; backend_write_value = oscstreamdb_write_value; //WIP //backend_write_generic = oscstreamdb_write_generic; break; default: printf("Unknown backend selected.\n"); return 1; } if (playback_mode) { playback(0); return 0; } if (backend_start()) { printf("Error starting backend.\n"); rc = 1; goto done; } if (recmonitor_start()) { printf("Error starting monitor.\n"); rc = 1; goto done; } if (recdevice_start()) { printf("Error starting device.\n"); rc = 1; goto done; } while (!(backend_poll() || command_poll() || done)) { recmonitor_poll(); recdevice_poll(100); } done: printf("Exiting.\n"); recmonitor_stop(); recdevice_stop(); backend_stop(); return rc; }