Example #1
0
/**
 * 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
}
Example #2
0
/**
 * 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
}
Example #3
0
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;
}