Пример #1
0
void
game_quit ()
{
  if (false == initialized)
    {
      LOG_FATAL ("not initialized");
    }

  mouse_quit ();
  audio_quit ();
  keyboard_quit ();
  video_quit ();
  filepath_quit ();
  conf_quit ();

  initialized = false;
}
Пример #2
0
int
main (int ac, char **av)
{
    sisy_t sisy;
    bank_t bank;
    audio_t audio;
    int done=0;

    init_tab();

    memset(&sisy, 0, sizeof(sisy));

    bank.pos = 0;
    bank.watches_size = 0;
    bank.name = "sisy IO";
    bank.size = sizeof(sisy_IO_t);
    bank.data = &sisy.IO;
    bank.symtab = IO_symtab;
    bank_push(&bank);

    sisy_getopt(ac, av);

    instru_path[instru_path_size] = Malloc(strlen(getenv("HOME")) + strlen("/.sisy/") + 200);
    strcat(instru_path[instru_path_size], getenv("HOME"));
    strcat(instru_path[instru_path_size++], "/.sisy/");
    instru_path[instru_path_size++] = "/usr/share/sisy/";

    sisy.buffer = buffer_create();

    printf("Init midi: ");

    if(sisy_midi_init(&sisy, midi_device) < 0)
	{
	    fprintf(stderr, "ERROR: got some troubles while opening midi device %s\n", midi_device);
	    goto error;
	}

    printf("Ok\nInit audio: ");

    if(audio_init(&audio, audio_device) < 0)
	{
	    fprintf(stderr, "ERROR: got some troubles while opening audio device %s\n", audio_device);
	    goto error;
	}

    printf("Ok\nEnter in main loop...\n");

    while(!done)
	{
	    int t;
	    done=1;
	    ck_err(buffer_zero(sisy.buffer)<0);
//	    printf("%d\r", midi_timestamp_get());
	    for(t=0; t<sisy.nb_tracks; t++)
		{
		    sisy_track_t *track=&sisy.tracks[t];
		    if(!track->EOT)
			{
			    done=0;//We are not done !
			    ck_err(bank_push(&track->midi.bank));
			    ck_err(buffer_zero(track->buffer) < 0);

			    ck_err(sisy_track_process(track) < 0);

			    ck_err(bank_pop_check(&track->midi.bank));
			    ck_err(buffer_mix(track->buffer, sisy.buffer));
			}
		}
	    
/* 	    if(!is_buffer_flat(sisy.buffer)) */
/* 		printf("sisy: buffer qui bouge\n"); */

	    ck_err(audio_write(&audio, sisy.buffer)<0);
	}

/* 	ck_err(bank_pop_check(&sisy.midi.bank)); */
/* 	ck_err(bank_pop_check(&bank)); */

    audio_quit(&audio);

    return 0;
  error:
    return -1;
}