Lines Matching refs:audio
62 static void VbGetDevMusicNotes(VbAudioContext *audio, int use_short)
85 if (!audio->background_beep)
192 audio->music_notes = notebuf;
193 audio->note_count = count;
194 audio->free_notes_when_done = 1;
200 audio->music_notes = builtin;
201 audio->note_count = count;
202 audio->free_notes_when_done = 0;
212 VbAudioContext *audio = &au;
218 /* Calibrate audio delay */
227 Memset(audio, 0, sizeof(*audio));
228 audio->background_beep = 1;
229 audio->play_until = b; /* "zero" starts now */
234 audio->background_beep = 0;
238 * Prepare to generate audio/delay event. Use a short developer screen
247 VbGetDevMusicNotes(audio, use_short);
248 VBDEBUG(("VbAudioOpen() - note count %d\n", audio->note_count));
250 return audio;
256 int VbAudioLooping(VbAudioContext *audio)
259 uint16_t freq = audio->current_frequency;
264 while (audio->next_note < audio->note_count &&
265 now >= audio->play_until) {
266 freq = audio->music_notes[audio->next_note].frequency;
267 msec = audio->music_notes[audio->next_note].msec;
268 audio->play_until += VbMsecToTicks(msec);
269 audio->next_note++;
272 if (now >= audio->play_until) {
278 if (audio->background_beep) {
279 if (audio->current_frequency != freq) {
281 audio->current_frequency = freq;
288 audio->last_time = now;
295 void VbAudioClose(VbAudioContext *audio)
298 if (audio->free_notes_when_done)
299 VbExFree(audio->music_notes);