예제 #1
0
파일: beep.c 프로젝트: MarkMielke/brltty
int
playBeep (unsigned short frequency, unsigned int duration) {
  if (asynchronousBeep(frequency, duration*4)) {
    asyncWait(duration);
    stopBeep();
    return 1;
  }

  if (startBeep(frequency)) {
    asyncWait(duration);
    stopBeep();
    return 1;
  }

  return synchronousBeep(frequency, duration);
}
예제 #2
0
파일: beeper.c 프로젝트: Banzay40/brltty
static int
beeperPlay (NoteDevice *device, unsigned char note, unsigned int duration) {
  logMessage(LOG_DEBUG, "tone: msec=%d note=%d", duration, note);

  if (!note) {
    accurateDelay(duration);
    return 1;
  }

  if (asynchronousBeep(getIntegerNoteFrequency(note), duration*4)) {
    accurateDelay(duration);
    stopBeep();
    return 1;
  }

  if (startBeep(getIntegerNoteFrequency(note))) {
    accurateDelay(duration);
    stopBeep();
    return 1;
  }

  return synchronousBeep(getIntegerNoteFrequency(note), duration);
}