virtualx-engine/scene/resources
Juan Linietsky f18d408c08 Add AudioStreamPolyphonic to make it easier to play polyphonic sound from code
* This new audio stream allows to play multiple sounds and control them over time from code.
* It greatly simplifies tasks such as generative music (music generated from code) or audio.

This new type of stream was added with the goal of fixing audio blending in AnimationPlayer and AnimationTree, but can be used by others for their regular audio needs.

Does not fix anything currently, but should help implement #69758 properly.

Some demo code of how to use this:

```GDScript

var player = $SomeNode as AudioStreamPlayer
player.stream = AudioStreamPolyphonic.new()
var playback = player.get_stream_playback() as AudioStreamPlaybackPolyphonic
var id = playback.play_stream(preload("res://Clip1.ogg"))
await get_tree().create_timer(1).timeout
playback.set_stream_volume(id,-12) # Set volume to half after one second
await get_tree().create_timer(2).timeout
var id2 = playback.play_stream(preload("res://Clip2.ogg")) # 2 seconds later, start another clip
await get_tree().create_timer(1).timeout
playback.stop_stream(id) # 1 second later, kill the first clip
playback.set_stream_pitch_scale(id2,1.5) # Make the second clip go 50% faster

```
2023-01-22 16:22:45 +01:00
..
default_theme One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
animation.cpp Use range iterators in LocalVector loops 2023-01-21 18:44:42 +01:00
animation.h One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
animation_library.cpp One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
animation_library.h One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
audio_stream_polyphonic.cpp Add AudioStreamPolyphonic to make it easier to play polyphonic sound from code 2023-01-22 16:22:45 +01:00
audio_stream_polyphonic.h Add AudioStreamPolyphonic to make it easier to play polyphonic sound from code 2023-01-22 16:22:45 +01:00
audio_stream_wav.cpp One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
audio_stream_wav.h One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
bit_map.cpp One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
bit_map.h One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
bone_map.cpp One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
bone_map.h One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
box_shape_3d.cpp One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
box_shape_3d.h One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
camera_attributes.cpp One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
camera_attributes.h One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
canvas_item_material.cpp One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
canvas_item_material.h One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
capsule_shape_2d.cpp One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
capsule_shape_2d.h One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
capsule_shape_3d.cpp One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
capsule_shape_3d.h One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
circle_shape_2d.cpp One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
circle_shape_2d.h One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
concave_polygon_shape_2d.cpp One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
concave_polygon_shape_2d.h One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
concave_polygon_shape_3d.cpp One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
concave_polygon_shape_3d.h One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
convex_polygon_shape_2d.cpp Fix scaling issue in draw_line and similar methods 2023-01-16 12:49:58 +03:00
convex_polygon_shape_2d.h One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
convex_polygon_shape_3d.cpp One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
convex_polygon_shape_3d.h One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
curve.cpp One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
curve.h One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
cylinder_shape_3d.cpp One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
cylinder_shape_3d.h One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
environment.cpp Merge pull request #70602 from Calinou/environment-no-sky-hide-ambient-light-properties 2023-01-19 21:53:02 +01:00
environment.h One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
fog_material.cpp One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
fog_material.h One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
font.cpp One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
font.h One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
gradient.cpp One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
gradient.h One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
height_map_shape_3d.cpp One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
height_map_shape_3d.h One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
immediate_mesh.cpp Use range iterators in LocalVector loops 2023-01-21 18:44:42 +01:00
immediate_mesh.h Use BitField<> hint for ArrayFormat 2023-01-08 18:47:48 +01:00
importer_mesh.cpp Use range iterators in LocalVector loops 2023-01-21 18:44:42 +01:00
importer_mesh.h One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
label_settings.cpp One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
label_settings.h One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
material.cpp Clean up shader parameter remap 2023-01-21 12:56:28 +01:00
material.h Clean up shader parameter remap 2023-01-21 12:56:28 +01:00
mesh.cpp Fix LOD sort order; checks in add_surface; and document all parameters of ArrayMesh::add_surface_from_arrays 2023-01-19 10:30:25 +01:00
mesh.h Use BitField<> hint for ArrayFormat 2023-01-08 18:47:48 +01:00
mesh_data_tool.cpp One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
mesh_data_tool.h One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
mesh_library.cpp Merge pull request #63667 from AntonioDell/bugfix/63549 2023-01-21 11:32:28 +01:00
mesh_library.h One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
multimesh.cpp One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
multimesh.h One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
navigation_mesh.cpp Rework const on NavigationServer methods 2023-01-07 17:29:00 -08:00
navigation_mesh.h One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
navigation_polygon.cpp One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
navigation_polygon.h One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
packed_scene.cpp Use range iterators in LocalVector loops 2023-01-21 18:44:42 +01:00
packed_scene.h One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
particle_process_material.cpp Merge pull request #70716 from Calinou/particles-tweak-animation-offset-property-hint 2023-01-10 11:01:14 +01:00
particle_process_material.h One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
physics_material.cpp One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
physics_material.h One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
polygon_path_finder.cpp One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
polygon_path_finder.h One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
primitive_meshes.cpp Implement BiDi override mode for GDScript source. 2023-01-18 19:22:20 +02:00
primitive_meshes.h Implement BiDi override mode for GDScript source. 2023-01-18 19:22:20 +02:00
rectangle_shape_2d.cpp One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
rectangle_shape_2d.h One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
resource_format_text.cpp Merge pull request #71687 from reduz/support-script-class-name-in-efs 2023-01-21 16:54:23 +01:00
resource_format_text.h Merge pull request #71687 from reduz/support-script-class-name-in-efs 2023-01-21 16:54:23 +01:00
SCsub SCons: Add explicit dependencies on thirdparty code in cloned env 2020-12-18 10:29:34 +01:00
segment_shape_2d.cpp One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
segment_shape_2d.h One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
separation_ray_shape_2d.cpp One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
separation_ray_shape_2d.h One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
separation_ray_shape_3d.cpp One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
separation_ray_shape_3d.h One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
shader.cpp Clean up shader parameter remap 2023-01-21 12:56:28 +01:00
shader.h Clean up shader parameter remap 2023-01-21 12:56:28 +01:00
shader_include.cpp One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
shader_include.h One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
shape_2d.cpp One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
shape_2d.h One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
shape_3d.cpp One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
shape_3d.h One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
skeleton_modification_2d.cpp One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
skeleton_modification_2d.h One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
skeleton_modification_2d_ccdik.cpp One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
skeleton_modification_2d_ccdik.h One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
skeleton_modification_2d_fabrik.cpp One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
skeleton_modification_2d_fabrik.h One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
skeleton_modification_2d_jiggle.cpp One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
skeleton_modification_2d_jiggle.h One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
skeleton_modification_2d_lookat.cpp One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
skeleton_modification_2d_lookat.h One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
skeleton_modification_2d_physicalbones.cpp One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
skeleton_modification_2d_physicalbones.h One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
skeleton_modification_2d_stackholder.cpp One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
skeleton_modification_2d_stackholder.h One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
skeleton_modification_2d_twoboneik.cpp One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
skeleton_modification_2d_twoboneik.h One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
skeleton_modification_stack_2d.cpp One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
skeleton_modification_stack_2d.h One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
skeleton_profile.cpp One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
skeleton_profile.h One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
skin.cpp One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
skin.h One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
sky.cpp One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
sky.h One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
sky_material.cpp One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
sky_material.h One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
sphere_shape_3d.cpp One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
sphere_shape_3d.h One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
sprite_frames.cpp Merge pull request #65609 from dalexeev/animated-sprite 2023-01-05 15:00:31 +01:00
sprite_frames.h Merge pull request #65609 from dalexeev/animated-sprite 2023-01-05 15:00:31 +01:00
style_box.cpp One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
style_box.h One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
surface_tool.cpp Use range iterators in LocalVector loops 2023-01-21 18:44:42 +01:00
surface_tool.h One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
syntax_highlighter.cpp One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
syntax_highlighter.h One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
text_file.cpp One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
text_file.h One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
text_line.cpp One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
text_line.h One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
text_paragraph.cpp Use range iterators in LocalVector loops 2023-01-21 18:44:42 +01:00
text_paragraph.h One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
texture.cpp One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
texture.h One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
theme.cpp One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
theme.h One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
tile_set.cpp Use range iterators in LocalVector loops 2023-01-21 18:44:42 +01:00
tile_set.h One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
video_stream.h One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
visual_shader.cpp Some refactoring for visual shader texture functions 2023-01-20 12:54:20 +03:00
visual_shader.h Add uint type support to visual shaders 2023-01-06 10:35:25 +03:00
visual_shader_nodes.cpp Fix code generation for ProximityRange node in visual shader 2023-01-20 22:31:37 +03:00
visual_shader_nodes.h Fix code generation for ProximityRange node in visual shader 2023-01-20 22:31:37 +03:00
visual_shader_particle_nodes.cpp Add few improvements for VisualShaderNodeParticleRandomness 2023-01-09 20:33:45 +03:00
visual_shader_particle_nodes.h Add few improvements for VisualShaderNodeParticleRandomness 2023-01-09 20:33:45 +03:00
visual_shader_sdf_nodes.cpp One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
visual_shader_sdf_nodes.h One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
world_2d.cpp Merge pull request #68429 from KoBeWi/PropertySettings 2023-01-06 22:59:29 +01:00
world_2d.h One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
world_3d.cpp Merge pull request #68429 from KoBeWi/PropertySettings 2023-01-06 22:59:29 +01:00
world_3d.h One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
world_boundary_shape_2d.cpp One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
world_boundary_shape_2d.h One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
world_boundary_shape_3d.cpp One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
world_boundary_shape_3d.h One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00