Das ist eine Plugin für den Video Disk Recorder. Es erweitert ihn um die einfache Funktionalität, einen Piepton über den internen Lautsprecher des Mainboards auszugeben.

Der Piepton ertönt zu ausgewählten Ereignissen, die im VDR auftreten können.

Folgende Ereignisse können ein Piepton auslösen:

  • Taste drücken, um Ausschalten abzubrechen - Press any key to cancel shutdown
  • Schnittvorgang abgeschlossen - Cutting process finished
  • Schnittvorgang fehlgeschlagen! - Cutting process failed!
  • auch optional bei jeder OSD Nachricht - too optionally on any osd message

Kernfunktion

Als Beispiel von Open Source, ist hier die elementare Funktion die in meinem Plugin verwendet wird.

#include <stdlib.h>
#include <fcntl.h>
#include <linux/kd.h>
#include <unistd.h>
#define ESC 27

int beep(int freq, int duration)
{
  int fd = open("/dev/console", O_WRONLY);
  if (fd==-1) {
    perror("/dev/console");
    return 1;
  }
  char szBuf[64];
  snprintf(szBuf,sizeof(szBuf),
    "%c[10;%d]%c[11;%d]%c%c[10]%c[11]",
    ESC,freq,ESC,duration,0x07,ESC,ESC);
  write(fd,szBuf,strlen(szBuf));
  usleep(duration*1000);
  return 0;
}

int main(int argc, char *argv[])
{
  if (argc != 3) { printf("bad parameter\n");return -1;}
  return  beep(atoi(argv[1]),atoi(argv[2]));
}

Zum Übersetzen des Beispieles, einfach folgenden Befehl verwenden.

$ gcc -o beep beep.c

und zum Ausführen, dann mit den Parametern Frequenz(Hz) und Tondauer(ms) starten.

$ beep 444 333

Kompilieren des Plugins

Zum Kompilieren des Plugins, das aktuelle Quellcodepaket herunterladen, und das Paket entpacken.

$ cd /usr/local/src/VDR/PLUGINS/src
$ tar -xzvf vdr-beep-0.1.0.tgz
$ ln -s beep-0.1.0 beep

Zum Übersetzen des Plugins (wird zusätzlich VDR 1.7.37 oder neuer benötigt)

$ cd /usr/local/src/VDR
$ make all

Starten bzw. Testen des Plugin

$ ./vdr -Pbeep
Tipp

Bei System mit GNU/Linux Kernel 2.6 muss das Kernelmodule "pcspkr" geladen oder fest in den Kernel integriert sein.

Downloads

Size: 18kb, Date: 30.12.2012

MD5: 9F6121DC8C3C253AB913B88472A1E0C9

Size: 13kb, Date: 13.03.2004

MD5: 0995781A1110DD8055A53D7F38ECB010