fake-bpy-module 20250612__py3-none-any.whl → 20260118__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {bl_console_utils → _bl_console_utils}/autocomplete/complete_calltip/__init__.pyi +0 -13
- {bl_console_utils → _bl_console_utils}/autocomplete/complete_import/__init__.pyi +0 -5
- {bl_console_utils → _bl_console_utils}/autocomplete/complete_namespace/__init__.pyi +0 -11
- {bl_console_utils → _bl_console_utils}/autocomplete/intellisense/__init__.pyi +0 -10
- {bl_i18n_utils → _bl_i18n_utils}/__init__.pyi +1 -0
- {bl_i18n_utils → _bl_i18n_utils}/bl_extract_messages/__init__.pyi +1 -0
- {bl_i18n_utils → _bl_i18n_utils}/settings/__init__.pyi +3 -1
- {bl_i18n_utils → _bl_i18n_utils}/utils/__init__.pyi +4 -4
- _bl_i18n_utils/utils_spell_check/__init__.pyi +22 -0
- {bl_ui_utils → _bl_ui_utils}/__init__.pyi +1 -0
- _blendfile_header/__init__.pyi +48 -0
- _bpy_internal/__init__.pyi +4 -1
- _bpy_internal/assets/__init__.pyi +5 -0
- _bpy_internal/assets/remote_library_listing/__init__.pyi +5 -0
- _bpy_internal/assets/remote_library_listing/blender_asset_library_openapi/__init__.pyi +13 -0
- _bpy_internal/disk_file_hash_service/__init__.pyi +19 -0
- _bpy_internal/disk_file_hash_service/backend_sqlite/__init__.pyi +48 -0
- _bpy_internal/disk_file_hash_service/hash_service/__init__.pyi +64 -0
- _bpy_internal/disk_file_hash_service/types/__init__.pyi +53 -0
- _bpy_internal/extensions/wheel_manager/__init__.pyi +1 -1
- _bpy_internal/filesystem/__init__.pyi +5 -0
- _bpy_internal/filesystem/locking/__init__.pyi +28 -0
- _bpy_internal/grease_pencil/stroke/__init__.pyi +2 -2
- _bpy_internal/platform/__init__.pyi +5 -0
- _bpy_types/__init__.pyi +1592 -0
- {keyingsets_utils → _keyingsets_utils}/__init__.pyi +2 -0
- {rna_info → _rna_info}/__init__.pyi +4 -2
- addon_utils/__init__.pyi +0 -13
- aud/__init__.pyi +122 -145
- bl_app_templates_system/Storyboarding/__init__.pyi +11 -0
- bl_app_templates_system/__init__.pyi +5 -0
- bl_app_templates_system/py.typed +0 -0
- bl_math/__init__.pyi +3 -13
- bl_operators/__init__.pyi +1 -0
- bl_operators/add_mesh_torus/__init__.pyi +2 -3
- bl_operators/anim/__init__.pyi +62 -38
- bl_operators/assets/__init__.pyi +4 -9
- bl_operators/bone_selection_sets/__init__.pyi +15 -42
- bl_operators/clip/__init__.pyi +12 -31
- bl_operators/connect_to_output/__init__.pyi +2 -3
- bl_operators/console/__init__.pyi +6 -15
- bl_operators/constraint/__init__.pyi +6 -13
- bl_operators/copy_global_transform/__init__.pyi +261 -0
- bl_operators/file/__init__.pyi +6 -11
- bl_operators/freestyle/__init__.pyi +5 -12
- bl_operators/geometry_nodes/__init__.pyi +5 -12
- bl_operators/grease_pencil/__init__.pyi +2 -3
- bl_operators/image/__init__.pyi +6 -15
- bl_operators/image_as_planes/__init__.pyi +3 -10
- bl_operators/mesh/__init__.pyi +3 -49
- bl_operators/node/__init__.pyi +294 -73
- bl_operators/object/__init__.pyi +17 -53
- bl_operators/object_align/__init__.pyi +2 -3
- bl_operators/object_quick_effects/__init__.pyi +5 -12
- bl_operators/object_randomize_transform/__init__.pyi +2 -3
- bl_operators/presets/__init__.pyi +27 -76
- bl_operators/rigidbody/__init__.pyi +4 -9
- bl_operators/screen_play_rendered_anim/__init__.pyi +2 -3
- bl_operators/sequencer/__init__.pyi +12 -27
- bl_operators/spreadsheet/__init__.pyi +2 -3
- bl_operators/userpref/__init__.pyi +26 -75
- bl_operators/uvcalc_follow_active/__init__.pyi +3 -4
- bl_operators/uvcalc_lightmap/__init__.pyi +3 -4
- bl_operators/uvcalc_transform/__init__.pyi +26 -16
- bl_operators/vertexpaint_dirt/__init__.pyi +2 -3
- bl_operators/view3d/__init__.pyi +9 -24
- bl_operators/wm/__init__.pyi +48 -139
- bl_operators/world/__init__.pyi +3 -4
- bl_ui/__init__.pyi +7 -7
- bl_ui/anim/__init__.pyi +2 -3
- bl_ui/asset_shelf/__init__.pyi +2 -3
- bl_ui/generic_ui_list/__init__.pyi +4 -19
- bl_ui/node_add_menu/__init__.pyi +263 -7
- bl_ui/node_add_menu_compositor/__init__.pyi +96 -79
- bl_ui/node_add_menu_geometry/__init__.pyi +309 -270
- bl_ui/node_add_menu_shader/__init__.pyi +49 -49
- bl_ui/node_add_menu_texture/__init__.pyi +17 -62
- bl_ui/properties_collection/__init__.pyi +9 -22
- bl_ui/properties_constraint/__init__.pyi +129 -282
- bl_ui/properties_data_armature/__init__.pyi +22 -57
- bl_ui/properties_data_bone/__init__.pyi +12 -31
- bl_ui/properties_data_camera/__init__.pyi +18 -47
- bl_ui/properties_data_curve/__init__.pyi +18 -47
- bl_ui/properties_data_curves/__init__.pyi +11 -26
- bl_ui/properties_data_empty/__init__.pyi +3 -6
- bl_ui/properties_data_grease_pencil/__init__.pyi +23 -62
- bl_ui/properties_data_lattice/__init__.pyi +7 -14
- bl_ui/properties_data_light/__init__.pyi +13 -32
- bl_ui/properties_data_lightprobe/__init__.pyi +16 -43
- bl_ui/properties_data_mesh/__init__.pyi +47 -62
- bl_ui/properties_data_metaball/__init__.pyi +9 -20
- bl_ui/properties_data_modifier/__init__.pyi +22 -28
- bl_ui/properties_data_pointcloud/__init__.pyi +8 -19
- bl_ui/properties_data_shaderfx/__init__.pyi +2 -3
- bl_ui/properties_data_speaker/__init__.pyi +9 -20
- bl_ui/properties_data_volume/__init__.pyi +12 -29
- bl_ui/properties_freestyle/__init__.pyi +27 -76
- bl_ui/properties_grease_pencil_common/__init__.pyi +10 -168
- bl_ui/properties_mask_common/__init__.pyi +8 -21
- bl_ui/properties_material/__init__.pyi +26 -86
- bl_ui/properties_material_gpencil/__init__.pyi +36 -57
- bl_ui/properties_object/__init__.pyi +59 -65
- bl_ui/properties_output/__init__.pyi +21 -60
- bl_ui/properties_paint_common/__init__.pyi +30 -22
- bl_ui/properties_particle/__init__.pyi +58 -161
- bl_ui/properties_physics_cloth/__init__.pyi +15 -42
- bl_ui/properties_physics_common/__init__.pyi +2 -3
- bl_ui/properties_physics_dynamicpaint/__init__.pyi +23 -66
- bl_ui/properties_physics_field/__init__.pyi +11 -30
- bl_ui/properties_physics_fluid/__init__.pyi +29 -84
- bl_ui/properties_physics_geometry_nodes/__init__.pyi +2 -3
- bl_ui/properties_physics_rigidbody/__init__.pyi +9 -24
- bl_ui/properties_physics_rigidbody_constraint/__init__.pyi +14 -39
- bl_ui/properties_physics_softbody/__init__.pyi +16 -45
- bl_ui/properties_render/__init__.pyi +139 -197
- bl_ui/properties_scene/__init__.pyi +46 -50
- bl_ui/properties_strip/__init__.pyi +744 -0
- bl_ui/properties_strip_modifier/__init__.pyi +45 -0
- bl_ui/properties_texture/__init__.pyi +30 -83
- bl_ui/properties_view_layer/__init__.pyi +84 -39
- bl_ui/properties_workspace/__init__.pyi +6 -13
- bl_ui/properties_world/__init__.pyi +14 -35
- bl_ui/space_clip/__init__.pyi +150 -231
- bl_ui/space_console/__init__.pyi +7 -18
- bl_ui/space_dopesheet/__init__.pyi +143 -100
- bl_ui/space_filebrowser/__init__.pyi +33 -90
- bl_ui/space_graph/__init__.pyi +48 -85
- bl_ui/space_image/__init__.pyi +111 -229
- bl_ui/space_info/__init__.pyi +7 -18
- bl_ui/space_nla/__init__.pyi +44 -73
- bl_ui/space_node/__init__.pyi +161 -123
- bl_ui/space_outliner/__init__.pyi +16 -45
- bl_ui/space_properties/__init__.pyi +34 -10
- bl_ui/space_sequencer/__init__.pyi +164 -901
- bl_ui/space_spreadsheet/__init__.pyi +4 -9
- bl_ui/space_statusbar/__init__.pyi +2 -3
- bl_ui/space_text/__init__.pyi +17 -48
- bl_ui/space_time/__init__.pyi +25 -71
- bl_ui/space_toolsystem_common/__init__.pyi +2 -2
- bl_ui/space_toolsystem_toolbar/__init__.pyi +30 -7
- bl_ui/space_topbar/__init__.pyi +35 -79
- bl_ui/space_userpref/__init__.pyi +185 -321
- bl_ui/space_view3d/__init__.pyi +337 -817
- bl_ui/space_view3d_sidebar/__init__.pyi +127 -0
- bl_ui/space_view3d_toolbar/__init__.pyi +110 -880
- bl_ui/utils/__init__.pyi +0 -17
- blend_render_info/__init__.pyi +1 -0
- blf/__init__.pyi +8 -54
- bmesh/__init__.pyi +2 -9
- bmesh/geometry/__init__.pyi +1 -4
- bmesh/ops/__init__.pyi +125 -508
- bmesh/types/__init__.pyi +318 -664
- bmesh/utils/__init__.pyi +17 -43
- bpy/__init__.pyi +1 -1
- bpy/app/__init__.pyi +93 -88
- bpy/app/handlers/__init__.pyi +19 -19
- bpy/app/icons/__init__.pyi +0 -6
- bpy/app/timers/__init__.pyi +2 -7
- bpy/app/translations/__init__.pyi +8 -23
- bpy/msgbus/__init__.pyi +4 -6
- bpy/ops/action/__init__.pyi +68 -199
- bpy/ops/anim/__init__.pyi +142 -299
- bpy/ops/armature/__init__.pyi +78 -209
- bpy/ops/asset/__init__.pyi +46 -108
- bpy/ops/boid/__init__.pyi +28 -45
- bpy/ops/brush/__init__.pyi +13 -108
- bpy/ops/buttons/__init__.pyi +16 -75
- bpy/ops/cachefile/__init__.pyi +8 -65
- bpy/ops/camera/__init__.pyi +0 -11
- bpy/ops/clip/__init__.pyi +173 -471
- bpy/ops/cloth/__init__.pyi +0 -5
- bpy/ops/collection/__init__.pyi +23 -36
- bpy/ops/console/__init__.pyi +40 -98
- bpy/ops/constraint/__init__.pyi +14 -85
- bpy/ops/curve/__init__.pyi +94 -277
- bpy/ops/curves/__init__.pyi +119 -166
- bpy/ops/cycles/__init__.pyi +4 -15
- bpy/ops/dpaint/__init__.pyi +14 -24
- bpy/ops/ed/__init__.pyi +44 -92
- bpy/ops/export_anim/__init__.pyi +2 -10
- bpy/ops/export_scene/__init__.pyi +16 -170
- bpy/ops/extensions/__init__.pyi +60 -165
- bpy/ops/file/__init__.pyi +110 -246
- bpy/ops/fluid/__init__.pyi +52 -83
- bpy/ops/font/__init__.pyi +40 -144
- bpy/ops/geometry/__init__.pyi +12 -127
- bpy/ops/gizmogroup/__init__.pyi +4 -13
- bpy/ops/gpencil/__init__.pyi +22 -54
- bpy/ops/graph/__init__.pyi +92 -343
- bpy/ops/grease_pencil/__init__.pyi +218 -550
- bpy/ops/image/__init__.pyi +85 -435
- bpy/ops/import_anim/__init__.pyi +3 -17
- bpy/ops/import_curve/__init__.pyi +2 -5
- bpy/ops/import_scene/__init__.pyi +15 -49
- bpy/ops/info/__init__.pyi +16 -39
- bpy/ops/lattice/__init__.pyi +12 -36
- bpy/ops/marker/__init__.pyi +12 -51
- bpy/ops/mask/__init__.pyi +68 -193
- bpy/ops/material/__init__.pyi +18 -18
- bpy/ops/mball/__init__.pyi +4 -31
- bpy/ops/mesh/__init__.pyi +140 -967
- bpy/ops/nla/__init__.pyi +87 -206
- bpy/ops/node/__init__.pyi +714 -744
- bpy/ops/object/__init__.pyi +461 -1341
- bpy/ops/outliner/__init__.pyi +192 -376
- bpy/ops/paint/__init__.pyi +94 -319
- bpy/ops/paintcurve/__init__.pyi +20 -40
- bpy/ops/palette/__init__.pyi +14 -30
- bpy/ops/particle/__init__.pyi +86 -184
- bpy/ops/pointcloud/__init__.pyi +12 -38
- bpy/ops/pose/__init__.pyi +108 -261
- bpy/ops/poselib/__init__.pyi +32 -67
- bpy/ops/preferences/__init__.pyi +37 -187
- bpy/ops/ptcache/__init__.pyi +22 -36
- bpy/ops/render/__init__.pyi +20 -72
- bpy/ops/rigidbody/__init__.pyi +25 -63
- bpy/ops/scene/__init__.pyi +122 -181
- bpy/ops/screen/__init__.pyi +93 -221
- bpy/ops/script/__init__.pyi +4 -13
- bpy/ops/sculpt/__init__.pyi +69 -324
- bpy/ops/sculpt_curves/__init__.pyi +10 -23
- bpy/ops/sequencer/__init__.pyi +410 -730
- bpy/ops/sound/__init__.pyi +16 -114
- bpy/ops/spreadsheet/__init__.pyi +20 -37
- bpy/ops/surface/__init__.pyi +0 -48
- bpy/ops/text/__init__.pyi +112 -250
- bpy/ops/text_editor/__init__.pyi +0 -5
- bpy/ops/texture/__init__.pyi +14 -21
- bpy/ops/transform/__init__.pyi +18 -386
- bpy/ops/ui/__init__.pyi +117 -188
- bpy/ops/uilist/__init__.pyi +0 -13
- bpy/ops/uv/__init__.pyi +238 -305
- bpy/ops/view2d/__init__.pyi +16 -76
- bpy/ops/view3d/__init__.pyi +153 -377
- bpy/ops/wm/__init__.pyi +277 -1397
- bpy/ops/workspace/__init__.pyi +32 -39
- bpy/ops/world/__init__.pyi +10 -12
- bpy/path/__init__.pyi +1 -35
- bpy/props/__init__.pyi +347 -218
- bpy/stub_internal/rna_enums/__init__.pyi +142 -108
- bpy/types/__init__.pyi +77367 -101305
- bpy/utils/__init__.pyi +11 -82
- bpy/utils/previews/__init__.pyi +2 -11
- bpy/utils/units/__init__.pyi +5 -15
- bpy_extras/anim_utils/__init__.pyi +24 -16
- bpy_extras/bmesh_utils/__init__.pyi +0 -1
- bpy_extras/id_map_utils/__init__.pyi +14 -6
- bpy_extras/image_utils/__init__.pyi +2 -11
- bpy_extras/io_utils/__init__.pyi +8 -27
- bpy_extras/keyconfig_utils/__init__.pyi +1 -1
- bpy_extras/mesh_utils/__init__.pyi +0 -12
- bpy_extras/node_shader_utils/__init__.pyi +1 -9
- bpy_extras/object_utils/__init__.pyi +1 -15
- bpy_extras/view3d_utils/__init__.pyi +0 -18
- bpy_extras/wm_utils/progress_report/__init__.pyi +1 -1
- {fake_bpy_module-20250612.dist-info → fake_bpy_module-20260118.dist-info}/METADATA +4 -1
- fake_bpy_module-20260118.dist-info/RECORD +385 -0
- {fake_bpy_module-20250612.dist-info → fake_bpy_module-20260118.dist-info}/top_level.txt +17 -16
- freestyle/chainingiterators/__init__.pyi +5 -27
- freestyle/functions/__init__.pyi +0 -139
- freestyle/predicates/__init__.pyi +2 -53
- freestyle/shaders/__init__.pyi +15 -81
- freestyle/types/__init__.pyi +159 -799
- freestyle/utils/ContextFunctions/__init__.pyi +0 -23
- freestyle/utils/__init__.pyi +5 -11
- gpu/capabilities/__init__.pyi +0 -21
- gpu/matrix/__init__.pyi +1 -10
- gpu/platform/__init__.pyi +2 -7
- gpu/shader/__init__.pyi +26 -9
- gpu/state/__init__.pyi +60 -39
- gpu/texture/__init__.pyi +3 -5
- gpu/types/__init__.pyi +116 -184
- gpu_extras/batch/__init__.pyi +1 -5
- gpu_extras/presets/__init__.pyi +6 -8
- idprop/types/__init__.pyi +6 -6
- imbuf/__init__.pyi +3 -10
- imbuf/types/__init__.pyi +7 -21
- keyingsets_builtins/__init__.pyi +24 -67
- mathutils/__init__.pyi +241 -2207
- mathutils/bvhtree/__init__.pyi +18 -26
- mathutils/geometry/__init__.pyi +82 -132
- mathutils/interpolate/__init__.pyi +6 -5
- mathutils/kdtree/__init__.pyi +1 -11
- mathutils/noise/__init__.pyi +61 -106
- rna_prop_ui/__init__.pyi +1 -1
- bgl/__init__.pyi +0 -4256
- bpy_types/__init__.pyi +0 -30
- fake_bpy_module-20250612.dist-info/RECORD +0 -367
- {animsys_refactor → _animsys_refactor}/__init__.pyi +0 -0
- {animsys_refactor → _animsys_refactor}/py.typed +0 -0
- {bl_console_utils → _bl_console_utils}/__init__.pyi +0 -0
- {bl_console_utils → _bl_console_utils}/autocomplete/__init__.pyi +0 -0
- {bgl → _bl_console_utils}/py.typed +0 -0
- {bl_i18n_utils → _bl_i18n_utils}/merge_po/__init__.pyi +0 -0
- {bl_console_utils → _bl_i18n_utils}/py.typed +0 -0
- {bl_i18n_utils → _bl_i18n_utils}/utils_cli/__init__.pyi +0 -0
- {bl_i18n_utils → _bl_i18n_utils}/utils_languages_menu/__init__.pyi +0 -0
- {bl_i18n_utils → _bl_i18n_utils}/utils_rtl/__init__.pyi +0 -0
- {bl_previews_utils → _bl_previews_utils}/__init__.pyi +0 -0
- {bl_previews_utils → _bl_previews_utils}/bl_previews_render/__init__.pyi +0 -0
- {bl_i18n_utils → _bl_previews_utils}/py.typed +0 -0
- {bl_rna_utils → _bl_rna_utils}/__init__.pyi +0 -0
- {bl_rna_utils → _bl_rna_utils}/data_path/__init__.pyi +0 -0
- {bl_previews_utils → _bl_rna_utils}/py.typed +0 -0
- {bl_text_utils → _bl_text_utils}/__init__.pyi +0 -0
- {bl_text_utils → _bl_text_utils}/external_editor/__init__.pyi +0 -0
- {bl_rna_utils → _bl_text_utils}/py.typed +0 -0
- {bl_ui_utils → _bl_ui_utils}/layout/__init__.pyi +0 -0
- {bl_text_utils → _bl_ui_utils}/py.typed +0 -0
- {bl_ui_utils → _blendfile_header}/py.typed +0 -0
- /_bpy_internal/{freedesktop → platform/freedesktop}/__init__.pyi +0 -0
- {bpy_restrict_state → _bpy_restrict_state}/__init__.pyi +0 -0
- {bpy_restrict_state → _bpy_restrict_state}/py.typed +0 -0
- {bpy_types → _bpy_types}/py.typed +0 -0
- {console_python → _console_python}/__init__.pyi +0 -0
- {console_python → _console_python}/py.typed +0 -0
- {console_shell → _console_shell}/__init__.pyi +0 -0
- {console_shell → _console_shell}/py.typed +0 -0
- {graphviz_export → _graphviz_export}/__init__.pyi +0 -0
- {graphviz_export → _graphviz_export}/py.typed +0 -0
- {keyingsets_utils → _keyingsets_utils}/py.typed +0 -0
- {rna_info → _rna_info}/py.typed +0 -0
- {rna_xml → _rna_xml}/__init__.pyi +0 -0
- {rna_xml → _rna_xml}/py.typed +0 -0
- {fake_bpy_module-20250612.dist-info → fake_bpy_module-20260118.dist-info}/WHEEL +0 -0
aud/__init__.pyi
CHANGED
|
@@ -16,6 +16,45 @@ import collections.abc
|
|
|
16
16
|
import typing_extensions
|
|
17
17
|
import numpy.typing as npt
|
|
18
18
|
|
|
19
|
+
class AnimateableProperty:
|
|
20
|
+
"""An AnimateableProperty object stores an array of float values for animating sound properties (e.g. pan, volume, pitch-scale)"""
|
|
21
|
+
|
|
22
|
+
animated: typing.Any
|
|
23
|
+
""" Whether the property is animated."""
|
|
24
|
+
|
|
25
|
+
count: typing.Any
|
|
26
|
+
""" The count of floats for a property."""
|
|
27
|
+
|
|
28
|
+
def read(self, position: float) -> None:
|
|
29
|
+
"""Reads the properties value at the given position.
|
|
30
|
+
|
|
31
|
+
:param position: The position in the animation in frames.
|
|
32
|
+
:return: A numpy array of values representing the properties value.
|
|
33
|
+
"""
|
|
34
|
+
|
|
35
|
+
def readSingle(self, position: float) -> float:
|
|
36
|
+
"""Reads the properties value at the given position, assuming there is exactly one value.
|
|
37
|
+
|
|
38
|
+
:param position: The position in the animation in frames.
|
|
39
|
+
:return: The value at that position.
|
|
40
|
+
"""
|
|
41
|
+
|
|
42
|
+
def write(self, data, position: int) -> None:
|
|
43
|
+
"""Writes the properties value.If position is also given, the property is marked animated and
|
|
44
|
+
the values are written starting at position.
|
|
45
|
+
|
|
46
|
+
:param data: numpy array of float32 values.
|
|
47
|
+
:param position: The starting position in frames.
|
|
48
|
+
"""
|
|
49
|
+
|
|
50
|
+
def writeConstantRange(self, data, position_start: int, position_end: int) -> None:
|
|
51
|
+
"""Fills the properties frame range with a constant value and marks it animated.
|
|
52
|
+
|
|
53
|
+
:param data: numpy array of float values representing the constant value.
|
|
54
|
+
:param position_start: The start position in frames.
|
|
55
|
+
:param position_end: The end position in frames.
|
|
56
|
+
"""
|
|
57
|
+
|
|
19
58
|
class Device:
|
|
20
59
|
"""Device objects represent an audio output backend like OpenAL or SDL, but might also represent a file output or RAM buffer output."""
|
|
21
60
|
|
|
@@ -52,7 +91,7 @@ The speed of sound in air is typically 343.3 m/s."""
|
|
|
52
91
|
""" The overall volume of the device."""
|
|
53
92
|
|
|
54
93
|
def lock(self) -> None:
|
|
55
|
-
"""Locks the device so that
|
|
94
|
+
"""Locks the device so that its guaranteed, that no samples are
|
|
56
95
|
read from the streams until `unlock` is called.
|
|
57
96
|
This is useful if you want to do start/stop/pause/resume some
|
|
58
97
|
sounds at the same time.
|
|
@@ -63,12 +102,9 @@ The speed of sound in air is typically 343.3 m/s."""
|
|
|
63
102
|
"""Plays a sound.
|
|
64
103
|
|
|
65
104
|
:param sound: The sound to play.
|
|
66
|
-
:type sound: Sound
|
|
67
105
|
:param keep: See `Handle.keep`.
|
|
68
|
-
:type keep: bool
|
|
69
106
|
:return: The playback handle with which playback can be
|
|
70
107
|
controlled with.
|
|
71
|
-
:rtype: Handle
|
|
72
108
|
"""
|
|
73
109
|
|
|
74
110
|
def stopAll(self) -> None:
|
|
@@ -104,66 +140,53 @@ class DynamicMusic:
|
|
|
104
140
|
"""Adds a new scene.
|
|
105
141
|
|
|
106
142
|
:param scene: The scene sound.
|
|
107
|
-
:type scene: Sound
|
|
108
143
|
:return: The new scene id.
|
|
109
|
-
:rtype: int
|
|
110
144
|
"""
|
|
111
145
|
|
|
112
146
|
def addTransition(self, ini: int, end: int, transition: Sound) -> bool:
|
|
113
147
|
"""Adds a new scene.
|
|
114
148
|
|
|
115
149
|
:param ini: the initial scene foor the transition.
|
|
116
|
-
:type ini: int
|
|
117
150
|
:param end: The final scene for the transition.
|
|
118
|
-
:type end: int
|
|
119
151
|
:param transition: The transition sound.
|
|
120
|
-
:
|
|
121
|
-
:return: false if the ini or end scenes don't exist, true othrwise.
|
|
122
|
-
:rtype: bool
|
|
152
|
+
:return: false if the ini or end scenes dont exist, true otherwise.
|
|
123
153
|
"""
|
|
124
154
|
|
|
125
155
|
def pause(self) -> bool:
|
|
126
156
|
"""Pauses playback of the scene.
|
|
127
157
|
|
|
128
158
|
:return: Whether the action succeeded.
|
|
129
|
-
:rtype: bool
|
|
130
159
|
"""
|
|
131
160
|
|
|
132
161
|
def resume(self) -> bool:
|
|
133
162
|
"""Resumes playback of the scene.
|
|
134
163
|
|
|
135
164
|
:return: Whether the action succeeded.
|
|
136
|
-
:rtype: bool
|
|
137
165
|
"""
|
|
138
166
|
|
|
139
167
|
def stop(self) -> bool:
|
|
140
168
|
"""Stops playback of the scene.
|
|
141
169
|
|
|
142
170
|
:return: Whether the action succeeded.
|
|
143
|
-
:rtype: bool
|
|
144
171
|
"""
|
|
145
172
|
|
|
146
173
|
class HRTF:
|
|
147
|
-
"""An HRTF object represents a set of head related transfer functions as impulse responses.
|
|
174
|
+
"""An HRTF object represents a set of head related transfer functions as impulse responses. Its used for binaural sound"""
|
|
148
175
|
|
|
149
176
|
def loadLeftHrtfSet(self, extension: str, directory) -> typing_extensions.Self:
|
|
150
177
|
"""Loads all HRTFs from a directory.
|
|
151
178
|
|
|
152
179
|
:param extension: The file extension of the hrtfs.
|
|
153
|
-
:type extension: str
|
|
154
180
|
:param directory: The path to where the HRTF files are located.
|
|
155
181
|
:return: The loaded `HRTF` object.
|
|
156
|
-
:rtype: typing_extensions.Self
|
|
157
182
|
"""
|
|
158
183
|
|
|
159
184
|
def loadRightHrtfSet(self, extension: str, directory) -> typing_extensions.Self:
|
|
160
185
|
"""Loads all HRTFs from a directory.
|
|
161
186
|
|
|
162
187
|
:param extension: The file extension of the hrtfs.
|
|
163
|
-
:type extension: str
|
|
164
188
|
:param directory: The path to where the HRTF files are located.
|
|
165
189
|
:return: The loaded `HRTF` object.
|
|
166
|
-
:rtype: typing_extensions.Self
|
|
167
190
|
"""
|
|
168
191
|
|
|
169
192
|
def addImpulseResponseFromSound(
|
|
@@ -172,13 +195,9 @@ class HRTF:
|
|
|
172
195
|
"""Adds a new hrtf to the HRTF object
|
|
173
196
|
|
|
174
197
|
:param sound: The sound that contains the hrtf.
|
|
175
|
-
:type sound: Sound
|
|
176
198
|
:param azimuth: The azimuth angle of the hrtf.
|
|
177
|
-
:type azimuth: float
|
|
178
199
|
:param elevation: The elevation angle of the hrtf.
|
|
179
|
-
:type elevation: float
|
|
180
200
|
:return: Whether the action succeeded.
|
|
181
|
-
:rtype: bool
|
|
182
201
|
"""
|
|
183
202
|
|
|
184
203
|
class Handle:
|
|
@@ -246,21 +265,18 @@ This can be used to seek the sound to some position and start playback again."""
|
|
|
246
265
|
"""Pauses playback.
|
|
247
266
|
|
|
248
267
|
:return: Whether the action succeeded.
|
|
249
|
-
:rtype: bool
|
|
250
268
|
"""
|
|
251
269
|
|
|
252
270
|
def resume(self) -> bool:
|
|
253
271
|
"""Resumes playback.
|
|
254
272
|
|
|
255
273
|
:return: Whether the action succeeded.
|
|
256
|
-
:rtype: bool
|
|
257
274
|
"""
|
|
258
275
|
|
|
259
276
|
def stop(self) -> bool:
|
|
260
277
|
"""Stops playback.
|
|
261
278
|
|
|
262
279
|
:return: Whether the action succeeded.
|
|
263
|
-
:rtype: bool
|
|
264
280
|
"""
|
|
265
281
|
|
|
266
282
|
class ImpulseResponse:
|
|
@@ -273,9 +289,7 @@ class PlaybackManager:
|
|
|
273
289
|
"""Adds a category with a custom volume.
|
|
274
290
|
|
|
275
291
|
:param volume: The volume for ther new category.
|
|
276
|
-
:type volume: float
|
|
277
292
|
:return: The key of the new category.
|
|
278
|
-
:rtype: int
|
|
279
293
|
"""
|
|
280
294
|
|
|
281
295
|
def clean(self) -> None:
|
|
@@ -285,59 +299,45 @@ class PlaybackManager:
|
|
|
285
299
|
"""Retrieves the volume of a category.
|
|
286
300
|
|
|
287
301
|
:param catKey: the key of the category.
|
|
288
|
-
:
|
|
289
|
-
:return: The volume of the cateogry.
|
|
290
|
-
:rtype: float
|
|
302
|
+
:return: The volume of the category.
|
|
291
303
|
"""
|
|
292
304
|
|
|
293
305
|
def pause(self, catKey: int) -> bool:
|
|
294
306
|
"""Pauses playback of the category.
|
|
295
307
|
|
|
296
308
|
:param catKey: the key of the category.
|
|
297
|
-
:type catKey: int
|
|
298
309
|
:return: Whether the action succeeded.
|
|
299
|
-
:rtype: bool
|
|
300
310
|
"""
|
|
301
311
|
|
|
302
312
|
def play(self, sound: Sound, catKey: int) -> Handle:
|
|
303
313
|
"""Plays a sound through the playback manager and assigns it to a category.
|
|
304
314
|
|
|
305
315
|
:param sound: The sound to play.
|
|
306
|
-
:type sound: Sound
|
|
307
316
|
:param catKey: the key of the category in which the sound will be added,
|
|
308
|
-
if it
|
|
309
|
-
:type catKey: int
|
|
317
|
+
if it doesnt exist, a new one will be created.
|
|
310
318
|
:return: The playback handle with which playback can be controlled with.
|
|
311
|
-
:rtype: Handle
|
|
312
319
|
"""
|
|
313
320
|
|
|
314
321
|
def resume(self, catKey: int) -> bool:
|
|
315
322
|
"""Resumes playback of the catgory.
|
|
316
323
|
|
|
317
324
|
:param catKey: the key of the category.
|
|
318
|
-
:type catKey: int
|
|
319
325
|
:return: Whether the action succeeded.
|
|
320
|
-
:rtype: bool
|
|
321
326
|
"""
|
|
322
327
|
|
|
323
328
|
def setVolume(self, volume: float, catKey: int) -> int:
|
|
324
329
|
"""Changes the volume of a category.
|
|
325
330
|
|
|
326
331
|
:param volume: the new volume value.
|
|
327
|
-
:type volume: float
|
|
328
332
|
:param catKey: the key of the category.
|
|
329
|
-
:type catKey: int
|
|
330
333
|
:return: Whether the action succeeded.
|
|
331
|
-
:rtype: int
|
|
332
334
|
"""
|
|
333
335
|
|
|
334
336
|
def stop(self, catKey: int) -> bool:
|
|
335
337
|
"""Stops playback of the category.
|
|
336
338
|
|
|
337
339
|
:param catKey: the key of the category.
|
|
338
|
-
:type catKey: int
|
|
339
340
|
:return: Whether the action succeeded.
|
|
340
|
-
:rtype: bool
|
|
341
341
|
"""
|
|
342
342
|
|
|
343
343
|
class Sequence:
|
|
@@ -370,7 +370,6 @@ The speed of sound in air is typically 343.3 m/s."""
|
|
|
370
370
|
"""Adds a new entry to the sequence.
|
|
371
371
|
|
|
372
372
|
:return: The entry added.
|
|
373
|
-
:rtype: SequenceEntry
|
|
374
373
|
"""
|
|
375
374
|
|
|
376
375
|
def remove(self) -> None:
|
|
@@ -428,7 +427,7 @@ class Sound:
|
|
|
428
427
|
"""Sound objects are immutable and represent a sound that can be played simultaneously multiple times. They are called factories because they create reader objects internally that are used for playback."""
|
|
429
428
|
|
|
430
429
|
length: typing.Any
|
|
431
|
-
""" The
|
|
430
|
+
""" The sample specification of the sound as a tuple with rate and channel count."""
|
|
432
431
|
|
|
433
432
|
specs: typing.Any
|
|
434
433
|
""" The sample specification of the sound as a tuple with rate and channel count."""
|
|
@@ -439,9 +438,7 @@ class Sound:
|
|
|
439
438
|
|
|
440
439
|
:param data: The data as two dimensional numpy array.
|
|
441
440
|
:param rate: The sample rate.
|
|
442
|
-
:type rate: float
|
|
443
441
|
:return: The created `Sound` object.
|
|
444
|
-
:rtype: typing_extensions.Self
|
|
445
442
|
"""
|
|
446
443
|
|
|
447
444
|
@classmethod
|
|
@@ -449,9 +446,7 @@ class Sound:
|
|
|
449
446
|
"""Creates a sound object of a sound file.
|
|
450
447
|
|
|
451
448
|
:param filename: Path of the file.
|
|
452
|
-
:type filename: str
|
|
453
449
|
:return: The created `Sound` object.
|
|
454
|
-
:rtype: typing_extensions.Self
|
|
455
450
|
"""
|
|
456
451
|
|
|
457
452
|
@classmethod
|
|
@@ -459,7 +454,6 @@ class Sound:
|
|
|
459
454
|
"""Creates an empty sound list that can contain several sounds.
|
|
460
455
|
|
|
461
456
|
:return: The created `Sound` object.
|
|
462
|
-
:rtype: typing_extensions.Self
|
|
463
457
|
"""
|
|
464
458
|
|
|
465
459
|
@classmethod
|
|
@@ -467,23 +461,18 @@ class Sound:
|
|
|
467
461
|
"""Creates a sawtooth sound which plays a sawtooth wave.
|
|
468
462
|
|
|
469
463
|
:param frequency: The frequency of the sawtooth wave in Hz.
|
|
470
|
-
:
|
|
471
|
-
|
|
472
|
-
value to the playback device's samling rate to avoid resamping.
|
|
473
|
-
:type rate: int
|
|
464
|
+
:param rate: The sampling rate in Hz. Its recommended to set this
|
|
465
|
+
value to the playback devices sampling rate to avoid resampling.
|
|
474
466
|
:return: The created `Sound` object.
|
|
475
|
-
:rtype: typing_extensions.Self
|
|
476
467
|
"""
|
|
477
468
|
|
|
478
469
|
@classmethod
|
|
479
470
|
def silence(cls, rate: int = 48000) -> typing_extensions.Self:
|
|
480
471
|
"""Creates a silence sound which plays simple silence.
|
|
481
472
|
|
|
482
|
-
:param rate: The sampling rate in Hz.
|
|
483
|
-
value to the playback
|
|
484
|
-
:type rate: int
|
|
473
|
+
:param rate: The sampling rate in Hz. Its recommended to set this
|
|
474
|
+
value to the playback devices sampling rate to avoid resampling.
|
|
485
475
|
:return: The created `Sound` object.
|
|
486
|
-
:rtype: typing_extensions.Self
|
|
487
476
|
"""
|
|
488
477
|
|
|
489
478
|
@classmethod
|
|
@@ -491,12 +480,9 @@ class Sound:
|
|
|
491
480
|
"""Creates a sine sound which plays a sine wave.
|
|
492
481
|
|
|
493
482
|
:param frequency: The frequency of the sine wave in Hz.
|
|
494
|
-
:
|
|
495
|
-
|
|
496
|
-
value to the playback device's samling rate to avoid resamping.
|
|
497
|
-
:type rate: int
|
|
483
|
+
:param rate: The sampling rate in Hz. Its recommended to set this
|
|
484
|
+
value to the playback devices sampling rate to avoid resampling.
|
|
498
485
|
:return: The created `Sound` object.
|
|
499
|
-
:rtype: typing_extensions.Self
|
|
500
486
|
"""
|
|
501
487
|
|
|
502
488
|
@classmethod
|
|
@@ -504,12 +490,9 @@ class Sound:
|
|
|
504
490
|
"""Creates a square sound which plays a square wave.
|
|
505
491
|
|
|
506
492
|
:param frequency: The frequency of the square wave in Hz.
|
|
507
|
-
:
|
|
508
|
-
|
|
509
|
-
value to the playback device's samling rate to avoid resamping.
|
|
510
|
-
:type rate: int
|
|
493
|
+
:param rate: The sampling rate in Hz. Its recommended to set this
|
|
494
|
+
value to the playback devices sampling rate to avoid resampling.
|
|
511
495
|
:return: The created `Sound` object.
|
|
512
|
-
:rtype: typing_extensions.Self
|
|
513
496
|
"""
|
|
514
497
|
|
|
515
498
|
@classmethod
|
|
@@ -517,12 +500,9 @@ class Sound:
|
|
|
517
500
|
"""Creates a triangle sound which plays a triangle wave.
|
|
518
501
|
|
|
519
502
|
:param frequency: The frequency of the triangle wave in Hz.
|
|
520
|
-
:
|
|
521
|
-
|
|
522
|
-
value to the playback device's samling rate to avoid resamping.
|
|
523
|
-
:type rate: int
|
|
503
|
+
:param rate: The sampling rate in Hz. Its recommended to set this
|
|
504
|
+
value to the playback devices sampling rate to avoid resampling.
|
|
524
505
|
:return: The created `Sound` object.
|
|
525
|
-
:rtype: typing_extensions.Self
|
|
526
506
|
"""
|
|
527
507
|
|
|
528
508
|
def ADSR(
|
|
@@ -532,15 +512,10 @@ class Sound:
|
|
|
532
512
|
Note: there is currently no way to trigger the release with this API.
|
|
533
513
|
|
|
534
514
|
:param attack: The attack time in seconds.
|
|
535
|
-
:type attack: float
|
|
536
515
|
:param decay: The decay time in seconds.
|
|
537
|
-
:type decay: float
|
|
538
516
|
:param sustain: The sustain level.
|
|
539
|
-
:type sustain: float
|
|
540
517
|
:param release: The release level.
|
|
541
|
-
:type release: float
|
|
542
518
|
:return: The created `Sound` object.
|
|
543
|
-
:rtype: typing_extensions.Self
|
|
544
519
|
"""
|
|
545
520
|
|
|
546
521
|
def accumulate(self, additive=False) -> typing_extensions.Self:
|
|
@@ -551,21 +526,36 @@ class Sound:
|
|
|
551
526
|
|
|
552
527
|
:param additive: Whether the accumulation should be additive or not.
|
|
553
528
|
:return: The created `Sound` object.
|
|
554
|
-
:rtype: typing_extensions.Self
|
|
555
529
|
"""
|
|
556
530
|
|
|
557
531
|
def addSound(self, sound: typing_extensions.Self) -> None:
|
|
558
532
|
"""Adds a new sound to a sound list.
|
|
559
533
|
|
|
560
534
|
:param sound: The sound that will be added to the list.
|
|
561
|
-
|
|
535
|
+
"""
|
|
536
|
+
|
|
537
|
+
def animateableTimeStretchPitchScale(
|
|
538
|
+
self,
|
|
539
|
+
fps: float,
|
|
540
|
+
time_stretch: float,
|
|
541
|
+
pitch_scale: float,
|
|
542
|
+
quality: int,
|
|
543
|
+
preserve_formant: bool,
|
|
544
|
+
) -> typing_extensions.Self:
|
|
545
|
+
"""Applies time-stretching and pitch-scaling to the sound.
|
|
546
|
+
|
|
547
|
+
:param fps: The FPS of the animation system.
|
|
548
|
+
:param time_stretch: The factor by which to stretch or compress time.
|
|
549
|
+
:param pitch_scale: The factor by which to adjust the pitch.
|
|
550
|
+
:param quality:
|
|
551
|
+
:param preserve_formant: Whether to preserve the vocal formants during pitch-shifting.
|
|
552
|
+
:return: The created `Sound` object.
|
|
562
553
|
"""
|
|
563
554
|
|
|
564
555
|
def binaural(self) -> typing_extensions.Self:
|
|
565
556
|
"""Creates a binaural sound using another sound as source. The original sound must be mono
|
|
566
557
|
|
|
567
558
|
:return: The created `Sound` object.
|
|
568
|
-
:rtype: typing_extensions.Self
|
|
569
559
|
"""
|
|
570
560
|
|
|
571
561
|
def cache(self) -> typing_extensions.Self:
|
|
@@ -574,14 +564,12 @@ class Sound:
|
|
|
574
564
|
but it consumes a lot of memory.
|
|
575
565
|
|
|
576
566
|
:return: The created `Sound` object.
|
|
577
|
-
:rtype: typing_extensions.Self
|
|
578
567
|
"""
|
|
579
568
|
|
|
580
569
|
def convolver(self) -> typing_extensions.Self:
|
|
581
570
|
"""Creates a sound that will apply convolution to another sound.
|
|
582
571
|
|
|
583
572
|
:return: The created `Sound` object.
|
|
584
|
-
:rtype: typing_extensions.Self
|
|
585
573
|
"""
|
|
586
574
|
|
|
587
575
|
def data(self) -> None:
|
|
@@ -591,29 +579,31 @@ class Sound:
|
|
|
591
579
|
"""
|
|
592
580
|
|
|
593
581
|
def delay(self, time: float) -> typing_extensions.Self:
|
|
594
|
-
"""Delays by playing adding silence in front of the other
|
|
582
|
+
"""Delays by playing adding silence in front of the other sounds data.
|
|
595
583
|
|
|
596
584
|
:param time: How many seconds of silence should be added before the sound.
|
|
597
|
-
:type time: float
|
|
598
585
|
:return: The created `Sound` object.
|
|
599
|
-
|
|
586
|
+
"""
|
|
587
|
+
|
|
588
|
+
def Echo(self, delay: float, feedback: float, mix: float) -> typing_extensions.Self:
|
|
589
|
+
"""Adds Echo effect to the sound.
|
|
590
|
+
|
|
591
|
+
:param delay: The delay time in seconds.
|
|
592
|
+
:param feedback: The feedback amount (0.0 to 1.0).
|
|
593
|
+
:param mix: The wet/dry mix (0.0 to 1.0).
|
|
594
|
+
:return: The created `Sound` object.
|
|
600
595
|
"""
|
|
601
596
|
|
|
602
597
|
def envelope(
|
|
603
598
|
self, attack: float, release: float, threshold: float, arthreshold: float
|
|
604
599
|
) -> typing_extensions.Self:
|
|
605
|
-
"""Delays by playing adding silence in front of the other
|
|
600
|
+
"""Delays by playing adding silence in front of the other sounds data.
|
|
606
601
|
|
|
607
602
|
:param attack: The attack factor.
|
|
608
|
-
:type attack: float
|
|
609
603
|
:param release: The release factor.
|
|
610
|
-
:type release: float
|
|
611
604
|
:param threshold: The general threshold value.
|
|
612
|
-
:type threshold: float
|
|
613
605
|
:param arthreshold: The attack/release threshold value.
|
|
614
|
-
:type arthreshold: float
|
|
615
606
|
:return: The created `Sound` object.
|
|
616
|
-
:rtype: typing_extensions.Self
|
|
617
607
|
"""
|
|
618
608
|
|
|
619
609
|
def fadein(self, start: float, length: float) -> typing_extensions.Self:
|
|
@@ -621,11 +611,8 @@ class Sound:
|
|
|
621
611
|
time interval.
|
|
622
612
|
|
|
623
613
|
:param start: Time in seconds when the fading should start.
|
|
624
|
-
:type start: float
|
|
625
614
|
:param length: Time in seconds how long the fading should last.
|
|
626
|
-
:type length: float
|
|
627
615
|
:return: The created `Sound` object.
|
|
628
|
-
:rtype: typing_extensions.Self
|
|
629
616
|
"""
|
|
630
617
|
|
|
631
618
|
def fadeout(self, start: float, length: float) -> typing_extensions.Self:
|
|
@@ -633,27 +620,21 @@ class Sound:
|
|
|
633
620
|
time interval.
|
|
634
621
|
|
|
635
622
|
:param start: Time in seconds when the fading should start.
|
|
636
|
-
:type start: float
|
|
637
623
|
:param length: Time in seconds how long the fading should last.
|
|
638
|
-
:type length: float
|
|
639
624
|
:return: The created `Sound` object.
|
|
640
|
-
:rtype: typing_extensions.Self
|
|
641
625
|
"""
|
|
642
626
|
|
|
643
627
|
def filter(self, b: list[float], a: list[float] = (1)) -> typing_extensions.Self:
|
|
644
628
|
"""Filters a sound with the supplied IIR filter coefficients.
|
|
645
|
-
Without the second parameter
|
|
629
|
+
Without the second parameter youll get a FIR filter.If the first value of the a sequence is 0,
|
|
646
630
|
it will be set to 1 automatically.
|
|
647
631
|
If the first value of the a sequence is neither 0 nor 1, all
|
|
648
632
|
filter coefficients will be scaled by this value so that it is 1
|
|
649
|
-
in the end, you
|
|
633
|
+
in the end, you dont have to scale yourself.
|
|
650
634
|
|
|
651
635
|
:param b: The nominator filter coefficients.
|
|
652
|
-
:type b: list[float]
|
|
653
636
|
:param a: The denominator filter coefficients.
|
|
654
|
-
:type a: list[float]
|
|
655
637
|
:return: The created `Sound` object.
|
|
656
|
-
:rtype: typing_extensions.Self
|
|
657
638
|
"""
|
|
658
639
|
|
|
659
640
|
def highpass(self, frequency: float, Q: float = 0.5) -> typing_extensions.Self:
|
|
@@ -661,31 +642,23 @@ class Sound:
|
|
|
661
642
|
function H(s) = s^2 / (s^2 + s/Q + 1)
|
|
662
643
|
|
|
663
644
|
:param frequency: The cut off trequency of the highpass.
|
|
664
|
-
:type frequency: float
|
|
665
645
|
:param Q: Q factor of the lowpass.
|
|
666
|
-
:type Q: float
|
|
667
646
|
:return: The created `Sound` object.
|
|
668
|
-
:rtype: typing_extensions.Self
|
|
669
647
|
"""
|
|
670
648
|
|
|
671
649
|
def join(self, sound: typing_extensions.Self) -> typing_extensions.Self:
|
|
672
650
|
"""Plays two factories in sequence.
|
|
673
651
|
|
|
674
652
|
:param sound: The sound to play second.
|
|
675
|
-
:type sound: typing_extensions.Self
|
|
676
653
|
:return: The created `Sound` object.
|
|
677
|
-
:rtype: typing_extensions.Self
|
|
678
654
|
"""
|
|
679
655
|
|
|
680
656
|
def limit(self, start: float, end: float) -> typing_extensions.Self:
|
|
681
657
|
"""Limits a sound within a specific start and end time.
|
|
682
658
|
|
|
683
659
|
:param start: Start time in seconds.
|
|
684
|
-
:type start: float
|
|
685
660
|
:param end: End time in seconds.
|
|
686
|
-
:type end: float
|
|
687
661
|
:return: The created `Sound` object.
|
|
688
|
-
:rtype: typing_extensions.Self
|
|
689
662
|
"""
|
|
690
663
|
|
|
691
664
|
def loop(self, count: int) -> typing_extensions.Self:
|
|
@@ -693,38 +666,29 @@ class Sound:
|
|
|
693
666
|
|
|
694
667
|
:param count: How often the sound should be looped.
|
|
695
668
|
Negative values mean endlessly.
|
|
696
|
-
:type count: int
|
|
697
669
|
:return: The created `Sound` object.
|
|
698
|
-
:rtype: typing_extensions.Self
|
|
699
670
|
"""
|
|
700
671
|
|
|
701
672
|
def lowpass(self, frequency: float, Q: float = 0.5) -> typing_extensions.Self:
|
|
702
673
|
"""Creates a second order lowpass filter based on the transfer function H(s) = 1 / (s^2 + s/Q + 1)
|
|
703
674
|
|
|
704
675
|
:param frequency: The cut off trequency of the lowpass.
|
|
705
|
-
:type frequency: float
|
|
706
676
|
:param Q: Q factor of the lowpass.
|
|
707
|
-
:type Q: float
|
|
708
677
|
:return: The created `Sound` object.
|
|
709
|
-
:rtype: typing_extensions.Self
|
|
710
678
|
"""
|
|
711
679
|
|
|
712
680
|
def mix(self, sound: typing_extensions.Self) -> typing_extensions.Self:
|
|
713
681
|
"""Mixes two factories.
|
|
714
682
|
|
|
715
683
|
:param sound: The sound to mix over the other.
|
|
716
|
-
:type sound: typing_extensions.Self
|
|
717
684
|
:return: The created `Sound` object.
|
|
718
|
-
:rtype: typing_extensions.Self
|
|
719
685
|
"""
|
|
720
686
|
|
|
721
687
|
def modulate(self, sound: typing_extensions.Self) -> typing_extensions.Self:
|
|
722
688
|
"""Modulates two factories.
|
|
723
689
|
|
|
724
690
|
:param sound: The sound to modulate over the other.
|
|
725
|
-
:type sound: typing_extensions.Self
|
|
726
691
|
:return: The created `Sound` object.
|
|
727
|
-
:rtype: typing_extensions.Self
|
|
728
692
|
"""
|
|
729
693
|
|
|
730
694
|
def mutable(self) -> typing_extensions.Self:
|
|
@@ -732,7 +696,6 @@ class Sound:
|
|
|
732
696
|
If the original sound is a sound list, the playing sound can change.
|
|
733
697
|
|
|
734
698
|
:return: The created `Sound` object.
|
|
735
|
-
:rtype: typing_extensions.Self
|
|
736
699
|
"""
|
|
737
700
|
|
|
738
701
|
def pingpong(self) -> typing_extensions.Self:
|
|
@@ -740,50 +703,40 @@ class Sound:
|
|
|
740
703
|
This is like joining a sound with its reverse.
|
|
741
704
|
|
|
742
705
|
:return: The created `Sound` object.
|
|
743
|
-
:rtype: typing_extensions.Self
|
|
744
706
|
"""
|
|
745
707
|
|
|
746
708
|
def pitch(self, factor: float) -> typing_extensions.Self:
|
|
747
709
|
"""Changes the pitch of a sound with a specific factor.
|
|
748
710
|
|
|
749
711
|
:param factor: The factor to change the pitch with.
|
|
750
|
-
:type factor: float
|
|
751
712
|
:return: The created `Sound` object.
|
|
752
|
-
:rtype: typing_extensions.Self
|
|
753
713
|
"""
|
|
754
714
|
|
|
755
715
|
def rechannel(self, channels: int) -> typing_extensions.Self:
|
|
756
716
|
"""Rechannels the sound.
|
|
757
717
|
|
|
758
718
|
:param channels: The new channel configuration.
|
|
759
|
-
:type channels: int
|
|
760
719
|
:return: The created `Sound` object.
|
|
761
|
-
:rtype: typing_extensions.Self
|
|
762
720
|
"""
|
|
763
721
|
|
|
764
722
|
def resample(self, rate: float, quality: int) -> typing_extensions.Self:
|
|
765
723
|
"""Resamples the sound.
|
|
766
724
|
|
|
767
725
|
:param rate: The new sample rate.
|
|
768
|
-
:type rate: float
|
|
769
726
|
:param quality: Resampler performance vs quality choice (0=fastest, 3=slowest).
|
|
770
|
-
:type quality: int
|
|
771
727
|
:return: The created `Sound` object.
|
|
772
|
-
:rtype: typing_extensions.Self
|
|
773
728
|
"""
|
|
774
729
|
|
|
775
730
|
def reverse(self) -> typing_extensions.Self:
|
|
776
731
|
"""Plays a sound reversed.
|
|
777
732
|
|
|
778
733
|
:return: The created `Sound` object.
|
|
779
|
-
:rtype: typing_extensions.Self
|
|
780
734
|
"""
|
|
781
735
|
|
|
782
736
|
def sum(self) -> typing_extensions.Self:
|
|
783
737
|
"""Sums the samples of a sound.
|
|
784
738
|
|
|
785
739
|
:return: The created `Sound` object.
|
|
786
|
-
:rtype: typing_extensions.Self
|
|
787
740
|
"""
|
|
788
741
|
|
|
789
742
|
def threshold(self, threshold: float = 0) -> typing_extensions.Self:
|
|
@@ -793,18 +746,30 @@ class Sound:
|
|
|
793
746
|
|
|
794
747
|
:param threshold: Threshold value over which an amplitude counts
|
|
795
748
|
non-zero.
|
|
796
|
-
:type threshold: float
|
|
797
749
|
:return: The created `Sound` object.
|
|
798
|
-
|
|
750
|
+
"""
|
|
751
|
+
|
|
752
|
+
def timeStretchPitchScale(
|
|
753
|
+
self,
|
|
754
|
+
time_stretch: float,
|
|
755
|
+
pitch_scale: float,
|
|
756
|
+
quality: int,
|
|
757
|
+
preserve_formant: bool,
|
|
758
|
+
) -> typing_extensions.Self:
|
|
759
|
+
"""Applies time-stretching and pitch-scaling to the sound.
|
|
760
|
+
|
|
761
|
+
:param time_stretch: The factor by which to stretch or compress time.
|
|
762
|
+
:param pitch_scale: The factor by which to adjust the pitch.
|
|
763
|
+
:param quality: Rubberband stretcher quality (STRETCHER_QUALITY_*).
|
|
764
|
+
:param preserve_formant: Whether to preserve the vocal formants during pitch-shifting.
|
|
765
|
+
:return: The created `Sound` object.
|
|
799
766
|
"""
|
|
800
767
|
|
|
801
768
|
def volume(self, volume: float) -> typing_extensions.Self:
|
|
802
769
|
"""Changes the volume of a sound.
|
|
803
770
|
|
|
804
771
|
:param volume: The new volume..
|
|
805
|
-
:type volume: float
|
|
806
772
|
:return: The created `Sound` object.
|
|
807
|
-
:rtype: typing_extensions.Self
|
|
808
773
|
"""
|
|
809
774
|
|
|
810
775
|
def write(
|
|
@@ -821,21 +786,13 @@ class Sound:
|
|
|
821
786
|
"""Writes the sound to a file.
|
|
822
787
|
|
|
823
788
|
:param filename: The path to write to.
|
|
824
|
-
:type filename: str
|
|
825
789
|
:param rate: The sample rate to write with.
|
|
826
|
-
:type rate: int
|
|
827
790
|
:param channels: The number of channels to write with.
|
|
828
|
-
:type channels: int
|
|
829
791
|
:param format: The sample format to write with.
|
|
830
|
-
:type format: int
|
|
831
792
|
:param container: The container format for the file.
|
|
832
|
-
:type container: int
|
|
833
793
|
:param codec: The codec to use in the file.
|
|
834
|
-
:type codec: int
|
|
835
794
|
:param bitrate: The bitrate to write with.
|
|
836
|
-
:type bitrate: int
|
|
837
795
|
:param buffersize: The size of the writing buffer.
|
|
838
|
-
:type buffersize: int
|
|
839
796
|
"""
|
|
840
797
|
|
|
841
798
|
class Source:
|
|
@@ -871,6 +828,14 @@ AP_PITCH: typing.Any
|
|
|
871
828
|
""" Constant value 2
|
|
872
829
|
"""
|
|
873
830
|
|
|
831
|
+
AP_PITCH_SCALE: typing.Any
|
|
832
|
+
""" Constant value 6
|
|
833
|
+
"""
|
|
834
|
+
|
|
835
|
+
AP_TIME_STRETCH: typing.Any
|
|
836
|
+
""" Constant value 5
|
|
837
|
+
"""
|
|
838
|
+
|
|
874
839
|
AP_VOLUME: typing.Any
|
|
875
840
|
""" Constant value 0
|
|
876
841
|
"""
|
|
@@ -1098,3 +1063,15 @@ STATUS_PLAYING: typing.Any
|
|
|
1098
1063
|
STATUS_STOPPED: typing.Any
|
|
1099
1064
|
""" Constant value 3
|
|
1100
1065
|
"""
|
|
1066
|
+
|
|
1067
|
+
STRETCHER_QUALITY_CONSISTENT: typing.Any
|
|
1068
|
+
""" Constant value 2
|
|
1069
|
+
"""
|
|
1070
|
+
|
|
1071
|
+
STRETCHER_QUALITY_FAST: typing.Any
|
|
1072
|
+
""" Constant value 1
|
|
1073
|
+
"""
|
|
1074
|
+
|
|
1075
|
+
STRETCHER_QUALITY_HIGH: typing.Any
|
|
1076
|
+
""" Constant value 0
|
|
1077
|
+
"""
|