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 )