Example #1
0
void Stream::loadOgg(const char *filename)
{
   sound = filename;

   file = fopen(filename, "rb");
   if (!file)
      throw RubyException(rb_eRuntimeError, "Cannot open the stream file.");
   ov_open(file, &stream, NULL, 0);

   info = ov_info(&stream, -1);
   comment = ov_comment(&stream, -1);

   format = SAMPLES_FORMAT;
   
   alGenBuffers(2, buffers);
   if (alGetError() != AL_NO_ERROR)
      throw RubyException(rb_eRuntimeError, "Cannot generate the buffer.");

   generateSource();
   if (alGetError() != AL_NO_ERROR)
     throw RubyException(rb_eRuntimeError, "Cannot generate sources.");

   setPos(0.f, 0.f, 0.f);
   setVelocity(0.f, 0.f, 0.f);
   setDirection(0.f, 0.f, 0.f);

   setPitch(1.f);
   setGain(1.f);
}
RendererCreator::RendererCreator(MainWindow& aUi) : iUi( aUi )
{
    generateFolders();
    generateResource();
    generateBuildFile();
    generateMMP();
    generateHeader();
    generateSource();
}
Example #3
0
void Sound::loadWav(const char *filename)
{
   sound = filename;

   buffer = Manager::getInstance().getBuffer(filename);

   // We create a source, binded to our buffer :
   generateSource();
   if (alGetError() != AL_NO_ERROR)
      throw RubyException(rb_eRuntimeError, "Cannot generator source.");

   setBuffer(buffer);

   setPos(0.f, 0.f, 0.f);
   setVelocity(0.f, 0.f, 0.f);
   setDirection(0.f, 0.f, 0.f);
   
   if (alGetError() != AL_NO_ERROR)
      throw RubyException(rb_eRuntimeError, "Cannot set buffer.");
}
Example #4
0
static void generateCode(ATermList terms, ATermList afuns)
{
  FILE *source, *header;
  char path_source[BUFSIZ];
  char path_header[BUFSIZ];

  sprintf(path_source, "%s.c", file_prefix);
  sprintf(path_header, "%s.h", file_prefix);

  source = fopen(path_source, "wb");
  header = fopen(path_header, "wb");

  if (!source || !header) {
    fprintf(stderr, "could not open source and/or header files (%s,%s)\n",
	    path_source, path_header);
    exit(1);
  }

  generateHeader(header, terms, afuns);
  generateSource(source, terms, afuns);

  fclose(header);
  fclose(source);
}