]> www.fi.muni.cz Git - slotcarman.git/blobdiff - SCX/Sound.pm
Sound: joined sound files
[slotcarman.git] / SCX / Sound.pm
index 5c501c36785c91cbae731c88c65e7fad08e5ede3..5d50bfb78a3e50336aa2ab1a77a9dda35b30a2a9 100644 (file)
@@ -9,6 +9,7 @@ sub new {
 
        my $self = {
                data_dir => $args->{data_dir} || './sounds/',
+               muted => 1,
        };
 
        bless $self, $class;
@@ -19,23 +20,27 @@ sub new {
 sub _play {
        my ($self, @names) = @_;
 
-       @names = map { $self->{data_dir} . '/' . $_ . '.wav' } @names;
-       system (join(' ', 'aplay', @names). ' &');
+       return if $self->{muted};
+
+       system 'aplay', $self->{data_dir} . '/' . join('-', @names) . '.wav';
 }
 
+sub mute { shift->{muted} = 1; }
+sub unmute { shift->{muted} = 0; }
+
 sub start { shift->_play('start'); }
 sub filled { shift->_play('filled'); }
 
 sub winner {
        my ($self, $car_id) = @_;
 
-       $self->_play('winner', $car_id, 'winner');
+       $self->_play('winner', $car_id);
 }
 
 sub box {
        my ($self, $car_id) = @_;
 
-       $self->_play('box', $car_id, 'box');
+       $self->_play('box', $car_id);
 }
 
 sub best_lap {