Audio-Audiere
view release on metacpan or search on metacpan
lib/Audio/Audiere.pm view on Meta::CPAN
undef;
}
##############################################################################
# 3D sound support
sub set3DMasterVolume
{
my $self = shift;
$self->{_master3d} = abs($_[0] || 0);
foreach my $id (keys %{$self->{_streams3d}})
{
print "setting $id to $self->{_master3d}\n";
$self->{_streams3d}->{$id}->_set_master($self->{_master3d});
}
$self->{_master3d};
}
sub setMasterVolume
{
my $self = shift;
$self->{_master} = abs($_[0] || 0);
foreach my $id (keys %{$self->{_streams}})
{
$self->{_streams}->{$id}->_set_master($self->{_master});
}
$self->{_master};
}
sub get3DMasterVolume
{
my $self = shift;
$self->{_master3d};
}
sub getMasterVolume
{
my $self = shift;
$self->{_master};
}
sub add3DStream
{
my $self = shift;
my $stream = Audio::Audiere::Stream::3D->new($self,@_);
if ($stream->isa('Audio::Audiere::Stream::3D'))
{
# no error? so register the stream
$self->{_streams3d}->{ $stream->{_id} } = $stream;
}
$stream;
}
sub update3D
{
my $self = shift;
foreach my $id (keys %{$self->{_streams3d}})
{
$self->{_streams3d}->{$id}->_update();
}
}
sub setListenerPosition
{
my $self = shift;
$self->{_lpos} = [ $_[0], $_[1], $_[2] ];
@{$self->{_lpos}};
}
sub setListenerRotation
{
my $self = shift;
$self->{_lrot} = [ $_[0], $_[1], $_[2] ];
@{$self->{_lrot}};
}
sub getListenerPosition
{
my $self = shift;
@{$self->{_lpos}};
}
sub getListenerRotation
{
my $self = shift;
@{$self->{_lrot}};
}
#############################################################################
sub _device
{
# return ptr to the internal Audiere device
my $self = shift;
$self->{_device};
}
sub addStream
{
my $self = shift;
my $stream = Audio::Audiere::Stream->new($self,@_);
if ($stream->isa('Audio::Audiere::Stream'))
{
# no error? so register the stream
$self->{_streams}->{ $stream->{_id} } = $stream;
}
( run in 1.948 second using v1.01-cache-2.11-cpan-9581c071862 )