summaryrefslogtreecommitdiff
path: root/scene/3d/audio_stream_player_3d.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'scene/3d/audio_stream_player_3d.cpp')
-rw-r--r--scene/3d/audio_stream_player_3d.cpp31
1 files changed, 16 insertions, 15 deletions
diff --git a/scene/3d/audio_stream_player_3d.cpp b/scene/3d/audio_stream_player_3d.cpp
index f0a61a905c..097368853e 100644
--- a/scene/3d/audio_stream_player_3d.cpp
+++ b/scene/3d/audio_stream_player_3d.cpp
@@ -29,11 +29,12 @@
/*************************************************************************/
#include "audio_stream_player_3d.h"
+
#include "core/engine.h"
-#include "scene/3d/area.h"
-#include "scene/3d/camera.h"
-#include "scene/3d/listener.h"
-#include "scene/main/viewport.h"
+#include "scene/3d/area_3d.h"
+#include "scene/3d/camera_3d.h"
+#include "scene/3d/listener_3d.h"
+#include "scene/main/window.h"
// Based on "A Novel Multichannel Panning Method for Standard and Arbitrary Loudspeaker Configurations" by Ramy Sadek and Chris Kyriakakis (2004)
// Speaker-Placement Correction Amplitude Panning (SPCAP)
@@ -96,7 +97,7 @@ static const Vector3 speaker_directions[7] = {
};
void AudioStreamPlayer3D::_calc_output_vol(const Vector3 &source_dir, real_t tightness, AudioStreamPlayer3D::Output &output) {
- unsigned int speaker_count; // only main speakers (no LFE)
+ unsigned int speaker_count = 0; // only main speakers (no LFE)
switch (AudioServer::get_singleton()->get_speaker_mode()) {
case AudioServer::SPEAKER_MODE_STEREO:
speaker_count = 2;
@@ -384,7 +385,7 @@ void AudioStreamPlayer3D::_notification(int p_what) {
linear_velocity = velocity_tracker->get_tracked_linear_velocity();
}
- Ref<World> world = get_world();
+ Ref<World3D> world = get_world();
ERR_FAIL_COND(world.is_null());
int new_output_count = 0;
@@ -395,18 +396,18 @@ void AudioStreamPlayer3D::_notification(int p_what) {
//check if any area is diverting sound into a bus
- PhysicsDirectSpaceState *space_state = PhysicsServer::get_singleton()->space_get_direct_state(world->get_space());
+ PhysicsDirectSpaceState3D *space_state = PhysicsServer3D::get_singleton()->space_get_direct_state(world->get_space());
- PhysicsDirectSpaceState::ShapeResult sr[MAX_INTERSECT_AREAS];
+ PhysicsDirectSpaceState3D::ShapeResult sr[MAX_INTERSECT_AREAS];
int areas = space_state->intersect_point(global_pos, sr, MAX_INTERSECT_AREAS, Set<RID>(), area_mask, false, true);
- Area *area = NULL;
+ Area3D *area = nullptr;
for (int i = 0; i < areas; i++) {
if (!sr[i].collider)
continue;
- Area *tarea = Object::cast_to<Area>(sr[i].collider);
+ Area3D *tarea = Object::cast_to<Area3D>(sr[i].collider);
if (!tarea)
continue;
@@ -417,20 +418,20 @@ void AudioStreamPlayer3D::_notification(int p_what) {
break;
}
- List<Camera *> cameras;
+ List<Camera3D *> cameras;
world->get_camera_list(&cameras);
- for (List<Camera *>::Element *E = cameras.front(); E; E = E->next()) {
+ for (List<Camera3D *>::Element *E = cameras.front(); E; E = E->next()) {
- Camera *camera = E->get();
+ Camera3D *camera = E->get();
Viewport *vp = camera->get_viewport();
if (!vp->is_audio_listener())
continue;
bool listener_is_camera = true;
- Spatial *listener_node = camera;
+ Node3D *listener_node = camera;
- Listener *listener = vp->get_listener();
+ Listener3D *listener = vp->get_listener();
if (listener) {
listener_node = listener;
listener_is_camera = false;