pl_gen.pl 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. #!/usr/bin/perl
  2. use strict;
  3. use warnings;
  4. my $ROOT="/mnt/usb/spesktv";
  5. my $BUMPER_DIR="$ROOT/bumpers";
  6. my $VID_DIR="$ROOT/videos";
  7. my $PFILE="$ROOT/playlist.vlc";
  8. my $PLENGTH=20;
  9. my @video_paths = split("\n", `ls $VID_DIR/*.mp4`);
  10. my @bumper_paths = split("\n", `ls $BUMPER_DIR/*.mp4`);
  11. sub wr($$) {
  12. my $path = shift;
  13. my $line = shift;
  14. open(my $fh, '>', $path) or die "Couldn't open $path";
  15. print $fh $line;
  16. close($fh);
  17. }
  18. sub apd($$) {
  19. my $path = shift;
  20. my $line = shift;
  21. open(my $fh, '>>', $path) or die "Couldn't open $path";
  22. print $fh $line;
  23. close($fh);
  24. }
  25. sub rnd_vid_path {
  26. my $path =$video_paths[ rand @video_paths ];
  27. $path = $path . "\n";
  28. return $path;
  29. }
  30. sub rnd_bmp_path() {
  31. my $path = $bumper_paths[ rand @bumper_paths ];
  32. $path = $path . "\n";
  33. return $path;
  34. }
  35. sub gen_pl() {
  36. wr($PFILE,"");
  37. apd($PFILE,rnd_bmp_path());
  38. foreach my $i ( 1..$PLENGTH ) {
  39. if ( $i % 2 == 0 ) {
  40. apd($PFILE,rnd_bmp_path());
  41. }
  42. apd($PFILE,rnd_vid_path());
  43. }
  44. apd($PFILE,$PFILE . "\n");
  45. }
  46. while () {
  47. my $date = `date`;
  48. chomp $date;
  49. print("$date\n");
  50. print("Generating playlist...\n");
  51. gen_pl();
  52. print("Sleeping for 1hr minutes...\n");
  53. sleep 3600;
  54. }