Zachary Kotlarek 13 лет назад
Родитель
Сommit
532dd71281
1 измененных файлов с 15 добавлено и 4 удалено
  1. 15 4
      dmx/rave.pl

+ 15 - 4
dmx/rave.pl

@@ -36,6 +36,7 @@ $EFFECTS{'LSR'} = { 'cmd' => \&lsr_init, 'next' => \&lsr_run, 'loop' => \&lsr_lo
 $FILES{'LSR'} = 'DMX/Rave.mp3';
 
 # Utility prototypes
+sub loadFiles($);
 sub ampWait($$$);
 
 # App config
@@ -56,10 +57,8 @@ if ($ENV{'DEBUG'}) {
 	$DEBUG = 1;
 }
 
-# Load all our audio files
-foreach my $file (keys(%FILES)) {
-	Audio::load($file, $FILES{$file});
-}
+# Load all defined audio files (which will kill us if they are not availble)
+loadFiles(\%FILES);
 
 # Sockets
 DMX::stateSocket($STATE_SOCK);
@@ -192,11 +191,23 @@ while (1) {
 		unlink($EFFECT_FILE);
 		die("Unexpected EFFECT file\n");
 	}
+
+	# Ensure our audio files are always loaded
+	loadFiles(\%FILES);
 }
 
 # ======================================
 # Utility routines
 # ======================================
+sub loadFiles($) {
+	my ($files) = @_;
+	foreach my $file (keys(%{$files})) {
+		if (!Audio::loaded($file)) {
+			Audio::load($file, $files->{$file});
+		}
+	}
+}
+
 sub ampWait($$$) {
 	my ($name, $exists, $params) = @_;
 	if ($DEBUG) {