SFML - Simple and Fast Multimedia Library

SFML 3.0.2
Loading...
Searching...
No Matches
Listener.hpp
Go to the documentation of this file.
1
2//
3// SFML - Simple and Fast Multimedia Library
4// Copyright (C) 2007-2025 Laurent Gomila (laurent@sfml-dev.org)
5//
6// This software is provided 'as-is', without any express or implied warranty.
7// In no event will the authors be held liable for any damages arising from the use of this software.
8//
9// Permission is granted to anyone to use this software for any purpose,
10// including commercial applications, and to alter it and redistribute it freely,
11// subject to the following restrictions:
12//
13// 1. The origin of this software must not be misrepresented;
14// you must not claim that you wrote the original software.
15// If you use this software in a product, an acknowledgment
16// in the product documentation would be appreciated but is not required.
17//
18// 2. Altered source versions must be plainly marked as such,
19// and must not be misrepresented as being the original software.
20//
21// 3. This notice may not be removed or altered from any source distribution.
22//
24
25#pragma once
26
28// Headers
30#include <SFML/Audio/Export.hpp>
31
32#include <SFML/System/Angle.hpp>
33#include <SFML/System/Vector3.hpp>
34
35
41 namespace sf::Listener
42{
54 struct Cone
55{
56 Angle innerAngle;
57 Angle outerAngle;
58 float outerGain{};
59};
60
73 SFML_AUDIO_API void setGlobalVolume(float volume);
74
83[[nodiscard]] SFML_AUDIO_API float getGlobalVolume();
84
95 SFML_AUDIO_API void setPosition(const Vector3f& position);
96
105[[nodiscard]] SFML_AUDIO_API Vector3f getPosition();
106
122 SFML_AUDIO_API void setDirection(const Vector3f& direction);
123
132[[nodiscard]] SFML_AUDIO_API Vector3f getDirection();
133
144 SFML_AUDIO_API void setVelocity(const Vector3f& velocity);
145
154[[nodiscard]] SFML_AUDIO_API Vector3f getVelocity();
155
167 SFML_AUDIO_API void setCone(const Listener::Cone& cone);
168
177[[nodiscard]] SFML_AUDIO_API Listener::Cone getCone();
178
194 SFML_AUDIO_API void setUpVector(const Vector3f& upVector);
195
204[[nodiscard]] SFML_AUDIO_API Vector3f getUpVector();
205} // namespace sf::Listener
206
207
Angle.hpp
Export.hpp
SFML_AUDIO_API
#define SFML_AUDIO_API
Definition Audio/Export.hpp:42
Vector3.hpp
sf::Angle
Represents an angle value.
Definition Angle.hpp:35
sf::Listener
The audio listener is the point in the scene from where all the sounds are heard.
Definition Listener.hpp:42
sf::Listener::getPosition
Vector3f getPosition()
Get the current position of the listener in the scene.
sf::Listener::setUpVector
void setUpVector(const Vector3f &upVector)
Set the upward vector of the listener in the scene.
sf::Listener::getVelocity
Vector3f getVelocity()
Get the current forward vector of the listener in the scene.
sf::Listener::setPosition
void setPosition(const Vector3f &position)
Set the position of the listener in the scene.
sf::Listener::setCone
void setCone(const Listener::Cone &cone)
Set the cone properties of the listener in the audio scene.
sf::Listener::setVelocity
void setVelocity(const Vector3f &velocity)
Set the velocity of the listener in the scene.
sf::Listener::getGlobalVolume
float getGlobalVolume()
Get the current value of the global volume.
sf::Listener::setDirection
void setDirection(const Vector3f &direction)
Set the forward vector of the listener in the scene.
sf::Listener::getUpVector
Vector3f getUpVector()
Get the current upward vector of the listener in the scene.
sf::Listener::setGlobalVolume
void setGlobalVolume(float volume)
Change the global volume of all the sounds and musics.
sf::Listener::getCone
Listener::Cone getCone()
Get the cone properties of the listener in the audio scene.
sf::Listener::getDirection
Vector3f getDirection()
Get the current forward vector of the listener in the scene.
sf::Vector3f
Vector3< float > Vector3f
Definition Vector3.hpp:306
sf::Listener::Cone
Structure defining the properties of a directional cone.
Definition Listener.hpp:55
sf::Listener::Cone::outerGain
float outerGain
Outer gain.
Definition Listener.hpp:58
sf::Listener::Cone::outerAngle
Angle outerAngle
Outer angle.
Definition Listener.hpp:57
sf::Listener::Cone::innerAngle
Angle innerAngle
Inner angle.
Definition Listener.hpp:56