INNER CODE UNIT · C

_a_song_reset

tek256/astera · src/audio.c:350

static uint8_t _a_song_reset(a_ctx* ctx, a_song* song) {
  song->delta         = 0.f;
  song->curr          = 0.f;
  song->sample_offset = 0;
  song->curr          = 0;

  stb_vorbis_seek_start(song->vorbis);

  /* uint32_t error = stb_vorbis_get_error(song->vorbis); */

  /* Unqueue anything existing */
  alSourceStop(song->source);
  alSourceUnqueueBuffers(song->source, song->buffer_count, song->buffers);

  for (uint8_t i = 0; i < song->buffer_count; ++i) {
    uint32_t buffer = song->buffers[i];
    float    buf_time =
        (float)((float)song->buffer_sizes[0] / song->info.sample_rate) * 1000.f;

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…