fake-bpy-module 20240321__py3-none-any.whl → 20240322__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.
Potentially problematic release.
This version of fake-bpy-module might be problematic. Click here for more details.
- addon_utils/__init__.pyi +54 -10
- animsys_refactor/__init__.pyi +27 -11
- aud/__init__.pyi +130 -123
- bgl/__init__.pyi +1831 -216
- bl_app_override/__init__.pyi +14 -3
- bl_app_override/helpers/__init__.pyi +19 -10
- bl_app_template_utils/__init__.pyi +19 -4
- bl_console_utils/autocomplete/complete_calltip/__init__.pyi +24 -5
- bl_console_utils/autocomplete/complete_import/__init__.pyi +14 -3
- bl_console_utils/autocomplete/complete_namespace/__init__.pyi +24 -5
- bl_console_utils/autocomplete/intellisense/__init__.pyi +9 -2
- bl_i18n_utils/bl_extract_messages/__init__.pyi +74 -15
- bl_i18n_utils/merge_po/__init__.pyi +4 -1
- bl_i18n_utils/settings/__init__.pyi +19 -23
- bl_i18n_utils/utils/__init__.pyi +81 -143
- bl_i18n_utils/utils_cli/__init__.pyi +29 -6
- bl_i18n_utils/utils_languages_menu/__init__.pyi +4 -1
- bl_i18n_utils/utils_rtl/__init__.pyi +9 -2
- bl_keymap_utils/io/__init__.pyi +44 -9
- bl_keymap_utils/keymap_from_toolbar/__init__.pyi +4 -1
- bl_keymap_utils/keymap_hierarchy/__init__.pyi +4 -1
- bl_keymap_utils/platform_helpers/__init__.pyi +9 -2
- bl_keymap_utils/versioning/__init__.pyi +4 -1
- bl_math/__init__.pyi +3 -3
- bl_operators/__init__.pyi +9 -2
- bl_operators/add_mesh_torus/__init__.pyi +120 -49
- bl_operators/anim/__init__.pyi +903 -297
- bl_operators/assets/__init__.pyi +348 -123
- bl_operators/bmesh/find_adjacent/__init__.pyi +44 -9
- bl_operators/clip/__init__.pyi +1262 -470
- bl_operators/console/__init__.pyi +542 -160
- bl_operators/constraint/__init__.pyi +452 -140
- bl_operators/file/__init__.pyi +339 -114
- bl_operators/freestyle/__init__.pyi +440 -132
- bl_operators/geometry_nodes/__init__.pyi +2131 -842
- bl_operators/image/__init__.pyi +330 -97
- bl_operators/mesh/__init__.pyi +339 -109
- bl_operators/node/__init__.pyi +1506 -621
- bl_operators/object/__init__.pyi +1828 -668
- bl_operators/object_align/__init__.pyi +124 -35
- bl_operators/object_quick_effects/__init__.pyi +470 -149
- bl_operators/object_randomize_transform/__init__.pyi +114 -35
- bl_operators/presets/__init__.pyi +3056 -1374
- bl_operators/rigidbody/__init__.pyi +336 -106
- bl_operators/screen_play_rendered_anim/__init__.pyi +115 -33
- bl_operators/sequencer/__init__.pyi +579 -204
- bl_operators/spreadsheet/__init__.pyi +110 -38
- bl_operators/userpref/__init__.pyi +3201 -1236
- bl_operators/uvcalc_follow_active/__init__.pyi +119 -38
- bl_operators/uvcalc_lightmap/__init__.pyi +137 -54
- bl_operators/uvcalc_transform/__init__.pyi +295 -83
- bl_operators/vertexpaint_dirt/__init__.pyi +119 -34
- bl_operators/view3d/__init__.pyi +542 -184
- bl_operators/wm/__init__.pyi +5554 -2159
- bl_previews_utils/bl_previews_render/__init__.pyi +34 -7
- bl_rna_utils/data_path/__init__.pyi +12 -2
- bl_text_utils/external_editor/__init__.pyi +4 -1
- bl_ui/__init__.pyi +346 -146
- bl_ui/anim/__init__.pyi +107 -47
- bl_ui/asset_shelf/__init__.pyi +111 -33
- bl_ui/generic_ui_list/__init__.pyi +349 -146
- bl_ui/node_add_menu/__init__.pyi +138 -53
- bl_ui/node_add_menu_compositor/__init__.pyi +2134 -1016
- bl_ui/node_add_menu_geometry/__init__.pyi +5833 -2855
- bl_ui/node_add_menu_shader/__init__.pyi +1162 -511
- bl_ui/node_add_menu_texture/__init__.pyi +1008 -450
- bl_ui/properties_animviz/__init__.pyi +14 -12
- bl_ui/properties_collection/__init__.pyi +601 -218
- bl_ui/properties_constraint/__init__.pyi +10115 -10647
- bl_ui/properties_data_armature/__init__.pyi +1550 -648
- bl_ui/properties_data_bone/__init__.pyi +1317 -511
- bl_ui/properties_data_camera/__init__.pyi +1852 -719
- bl_ui/properties_data_curve/__init__.pyi +2015 -781
- bl_ui/properties_data_curves/__init__.pyi +713 -262
- bl_ui/properties_data_empty/__init__.pyi +252 -84
- bl_ui/properties_data_gpencil/__init__.pyi +2505 -1105
- bl_ui/properties_data_grease_pencil/__init__.pyi +1350 -594
- bl_ui/properties_data_lattice/__init__.pyi +374 -123
- bl_ui/properties_data_light/__init__.pyi +1319 -489
- bl_ui/properties_data_lightprobe/__init__.pyi +734 -241
- bl_ui/properties_data_mesh/__init__.pyi +2652 -1189
- bl_ui/properties_data_metaball/__init__.pyi +610 -197
- bl_ui/properties_data_modifier/__init__.pyi +1143 -506
- bl_ui/properties_data_pointcloud/__init__.pyi +670 -303
- bl_ui/properties_data_shaderfx/__init__.pyi +126 -36
- bl_ui/properties_data_speaker/__init__.pyi +618 -195
- bl_ui/properties_data_volume/__init__.pyi +1052 -408
- bl_ui/properties_freestyle/__init__.pyi +3366 -1450
- bl_ui/properties_grease_pencil_common/__init__.pyi +1634 -776
- bl_ui/properties_mask_common/__init__.pyi +803 -371
- bl_ui/properties_material/__init__.pyi +2038 -831
- bl_ui/properties_material_gpencil/__init__.pyi +1272 -523
- bl_ui/properties_object/__init__.pyi +1863 -745
- bl_ui/properties_output/__init__.pyi +2482 -1071
- bl_ui/properties_paint_common/__init__.pyi +317 -424
- bl_ui/properties_particle/__init__.pyi +7235 -2942
- bl_ui/properties_physics_cloth/__init__.pyi +1903 -758
- bl_ui/properties_physics_common/__init__.pyi +164 -51
- bl_ui/properties_physics_dynamicpaint/__init__.pyi +2787 -1114
- bl_ui/properties_physics_field/__init__.pyi +1294 -486
- bl_ui/properties_physics_fluid/__init__.pyi +3631 -1545
- bl_ui/properties_physics_geometry_nodes/__init__.pyi +115 -34
- bl_ui/properties_physics_rigidbody/__init__.pyi +983 -312
- bl_ui/properties_physics_rigidbody_constraint/__init__.pyi +1718 -656
- bl_ui/properties_physics_softbody/__init__.pyi +2091 -836
- bl_ui/properties_render/__init__.pyi +7177 -2939
- bl_ui/properties_scene/__init__.pyi +1881 -760
- bl_ui/properties_texture/__init__.pyi +3539 -1399
- bl_ui/properties_view_layer/__init__.pyi +2368 -940
- bl_ui/properties_workspace/__init__.pyi +517 -202
- bl_ui/properties_world/__init__.pyi +862 -269
- bl_ui/space_clip/__init__.pyi +9127 -4137
- bl_ui/space_console/__init__.pyi +666 -286
- bl_ui/space_dopesheet/__init__.pyi +3287 -1504
- bl_ui/space_filebrowser/__init__.pyi +3958 -1935
- bl_ui/space_graph/__init__.pyi +2406 -1142
- bl_ui/space_image/__init__.pyi +9242 -4526
- bl_ui/space_info/__init__.pyi +664 -285
- bl_ui/space_nla/__init__.pyi +2014 -932
- bl_ui/space_node/__init__.pyi +4549 -1949
- bl_ui/space_outliner/__init__.pyi +1619 -745
- bl_ui/space_properties/__init__.pyi +340 -105
- bl_ui/space_sequencer/__init__.pyi +9396 -4264
- bl_ui/space_spreadsheet/__init__.pyi +110 -60
- bl_ui/space_statusbar/__init__.pyi +107 -32
- bl_ui/space_text/__init__.pyi +1907 -872
- bl_ui/space_time/__init__.pyi +812 -327
- bl_ui/space_toolsystem_common/__init__.pyi +203 -99
- bl_ui/space_toolsystem_toolbar/__init__.pyi +845 -289
- bl_ui/space_topbar/__init__.pyi +3131 -1437
- bl_ui/space_userpref/__init__.pyi +11510 -4926
- bl_ui/space_view3d/__init__.pyi +31358 -14417
- bl_ui/space_view3d_toolbar/__init__.pyi +12401 -6163
- bl_ui/utils/__init__.pyi +7 -16
- bl_ui_utils/bug_report_url/__init__.pyi +4 -1
- bl_ui_utils/layout/__init__.pyi +4 -1
- blend_render_info/__init__.pyi +13 -3
- blf/__init__.pyi +5 -7
- bmesh/__init__.pyi +7 -7
- bmesh/geometry/__init__.pyi +5 -5
- bmesh/ops/__init__.pyi +490 -504
- bmesh/types/__init__.pyi +253 -247
- bmesh/utils/__init__.pyi +54 -54
- bpy/__init__.pyi +2 -2
- bpy/app/__init__.pyi +4 -5
- bpy/app/handlers/__init__.pyi +36 -36
- bpy/app/icons/__init__.pyi +8 -10
- bpy/app/timers/__init__.pyi +9 -11
- bpy/app/translations/__init__.pyi +20 -22
- bpy/msgbus/__init__.pyi +3 -12
- bpy/ops/action/__init__.pyi +316 -415
- bpy/ops/anim/__init__.pyi +428 -566
- bpy/ops/armature/__init__.pyi +360 -488
- bpy/ops/asset/__init__.pyi +146 -183
- bpy/ops/boid/__init__.pyi +50 -67
- bpy/ops/brush/__init__.pyi +72 -96
- bpy/ops/buttons/__init__.pyi +128 -142
- bpy/ops/cachefile/__init__.pyi +124 -137
- bpy/ops/camera/__init__.pyi +22 -28
- bpy/ops/clip/__init__.pyi +768 -1005
- bpy/ops/cloth/__init__.pyi +10 -13
- bpy/ops/collection/__init__.pyi +36 -50
- bpy/ops/console/__init__.pyi +150 -203
- bpy/ops/constraint/__init__.pyi +150 -201
- bpy/ops/curve/__init__.pyi +474 -607
- bpy/ops/curves/__init__.pyi +170 -221
- bpy/ops/cycles/__init__.pyi +18 -26
- bpy/ops/dpaint/__init__.pyi +34 -46
- bpy/ops/ed/__init__.pyi +122 -149
- bpy/ops/export_anim/__init__.pyi +18 -21
- bpy/ops/export_mesh/__init__.pyi +26 -29
- bpy/ops/export_scene/__init__.pyi +307 -342
- bpy/ops/file/__init__.pyi +342 -436
- bpy/ops/fluid/__init__.pyi +88 -117
- bpy/ops/font/__init__.pyi +252 -311
- bpy/ops/geometry/__init__.pyi +86 -113
- bpy/ops/gizmogroup/__init__.pyi +22 -27
- bpy/ops/gpencil/__init__.pyi +1444 -1864
- bpy/ops/graph/__init__.pyi +642 -822
- bpy/ops/grease_pencil/__init__.pyi +426 -576
- bpy/ops/image/__init__.pyi +612 -733
- bpy/ops/import_anim/__init__.pyi +26 -29
- bpy/ops/import_curve/__init__.pyi +6 -9
- bpy/ops/import_mesh/__init__.pyi +18 -23
- bpy/ops/import_scene/__init__.pyi +86 -101
- bpy/ops/info/__init__.pyi +60 -77
- bpy/ops/lattice/__init__.pyi +64 -85
- bpy/ops/marker/__init__.pyi +106 -137
- bpy/ops/mask/__init__.pyi +318 -420
- bpy/ops/material/__init__.pyi +18 -24
- bpy/ops/mball/__init__.pyi +70 -93
- bpy/ops/mesh/__init__.pyi +1988 -2460
- bpy/ops/nla/__init__.pyi +330 -428
- bpy/ops/node/__init__.pyi +852 -1115
- bpy/ops/object/__init__.pyi +2420 -3081
- bpy/ops/outliner/__init__.pyi +498 -661
- bpy/ops/paint/__init__.pyi +518 -667
- bpy/ops/paintcurve/__init__.pyi +64 -84
- bpy/ops/palette/__init__.pyi +48 -66
- bpy/ops/particle/__init__.pyi +264 -355
- bpy/ops/pose/__init__.pyi +336 -438
- bpy/ops/poselib/__init__.pyi +70 -92
- bpy/ops/preferences/__init__.pyi +336 -440
- bpy/ops/ptcache/__init__.pyi +46 -62
- bpy/ops/render/__init__.pyi +114 -147
- bpy/ops/rigidbody/__init__.pyi +102 -135
- bpy/ops/scene/__init__.pyi +270 -364
- bpy/ops/screen/__init__.pyi +378 -477
- bpy/ops/script/__init__.pyi +18 -26
- bpy/ops/sculpt/__init__.pyi +400 -488
- bpy/ops/sculpt_curves/__init__.pyi +40 -53
- bpy/ops/sequencer/__init__.pyi +1040 -1279
- bpy/ops/sound/__init__.pyi +208 -226
- bpy/ops/spreadsheet/__init__.pyi +30 -40
- bpy/ops/surface/__init__.pyi +108 -126
- bpy/ops/text/__init__.pyi +382 -486
- bpy/ops/text_editor/__init__.pyi +10 -13
- bpy/ops/texture/__init__.pyi +26 -35
- bpy/ops/transform/__init__.pyi +790 -905
- bpy/ops/ui/__init__.pyi +216 -291
- bpy/ops/uilist/__init__.pyi +20 -29
- bpy/ops/uv/__init__.pyi +600 -742
- bpy/ops/view2d/__init__.pyi +156 -195
- bpy/ops/view3d/__init__.pyi +576 -742
- bpy/ops/wm/__init__.pyi +2360 -2702
- bpy/ops/workspace/__init__.pyi +42 -57
- bpy/ops/world/__init__.pyi +6 -8
- bpy/path/__init__.pyi +110 -81
- bpy/props/__init__.pyi +263 -267
- bpy/types/__init__.pyi +86353 -87337
- bpy/utils/__init__.pyi +242 -154
- bpy/utils/previews/__init__.pyi +57 -57
- bpy/utils/units/__init__.pyi +19 -22
- bpy_extras/anim_utils/__init__.pyi +11 -31
- bpy_extras/asset_utils/__init__.pyi +4 -1
- bpy_extras/image_utils/__init__.pyi +2 -2
- bpy_extras/io_utils/__init__.pyi +30 -27
- bpy_extras/keyconfig_utils/__init__.pyi +4 -1
- bpy_extras/mesh_utils/__init__.pyi +18 -18
- bpy_extras/node_utils/__init__.pyi +4 -1
- bpy_extras/object_utils/__init__.pyi +25 -26
- bpy_extras/view3d_utils/__init__.pyi +33 -38
- bpy_restrict_state/__init__.pyi +14 -1
- bpy_types/__init__.pyi +3748 -1248
- console_python/__init__.pyi +41 -7
- console_shell/__init__.pyi +24 -5
- {fake_bpy_module-20240321.dist-info → fake_bpy_module-20240322.dist-info}/METADATA +1 -1
- fake_bpy_module-20240322.dist-info/RECORD +343 -0
- freestyle/chainingiterators/__init__.pyi +50 -52
- freestyle/functions/__init__.pyi +303 -207
- freestyle/predicates/__init__.pyi +299 -115
- freestyle/shaders/__init__.pyi +49 -80
- freestyle/types/__init__.pyi +463 -470
- freestyle/utils/ContextFunctions/__init__.pyi +9 -9
- freestyle/utils/__init__.pyi +27 -17
- gpu/capabilities/__init__.pyi +19 -20
- gpu/matrix/__init__.pyi +14 -16
- gpu/platform/__init__.pyi +5 -5
- gpu/shader/__init__.pyi +2 -5
- gpu/state/__init__.pyi +1 -1
- gpu/texture/__init__.pyi +3 -3
- gpu/types/__init__.pyi +54 -85
- gpu_extras/batch/__init__.pyi +26 -6
- gpu_extras/presets/__init__.pyi +51 -16
- graphviz_export/__init__.pyi +9 -2
- idprop/types/__init__.pyi +36 -12
- imbuf/__init__.pyi +8 -9
- imbuf/types/__init__.pyi +8 -15
- keyingsets_builtins/__init__.pyi +2520 -1085
- keyingsets_utils/__init__.pyi +69 -14
- mathutils/__init__.pyi +491 -423
- mathutils/bvhtree/__init__.pyi +26 -31
- mathutils/geometry/__init__.pyi +176 -185
- mathutils/kdtree/__init__.pyi +14 -17
- mathutils/noise/__init__.pyi +47 -48
- nodeitems_builtins/__init__.pyi +37 -15
- nodeitems_utils/__init__.pyi +45 -13
- rna_info/__init__.pyi +177 -76
- rna_keymap_ui/__init__.pyi +29 -6
- rna_prop_ui/__init__.pyi +56 -14
- rna_xml/__init__.pyi +29 -6
- sys_info/__init__.pyi +4 -1
- fake_bpy_module-20240321.dist-info/RECORD +0 -343
- {fake_bpy_module-20240321.dist-info → fake_bpy_module-20240322.dist-info}/WHEEL +0 -0
- {fake_bpy_module-20240321.dist-info → fake_bpy_module-20240322.dist-info}/top_level.txt +0 -0
aud/__init__.pyi
CHANGED
|
@@ -46,16 +46,16 @@ The speed of sound in air is typically 343.3 m/s."""
|
|
|
46
46
|
"""
|
|
47
47
|
...
|
|
48
48
|
|
|
49
|
-
def play(self, sound:
|
|
49
|
+
def play(self, sound: Sound, keep: bool = False) -> bool:
|
|
50
50
|
"""Plays a sound.
|
|
51
51
|
|
|
52
52
|
:param sound: The sound to play.
|
|
53
|
-
:type sound:
|
|
53
|
+
:type sound: Sound
|
|
54
54
|
:param keep: See `Handle.keep`.
|
|
55
55
|
:type keep: bool
|
|
56
|
-
:rtype: 'Handle'
|
|
57
56
|
:return: The playback handle with which playback can be
|
|
58
57
|
controlled with.
|
|
58
|
+
:rtype: Handle
|
|
59
59
|
"""
|
|
60
60
|
...
|
|
61
61
|
|
|
@@ -90,17 +90,17 @@ class DynamicMusic:
|
|
|
90
90
|
volume: typing.Any
|
|
91
91
|
""" The volume of the scene."""
|
|
92
92
|
|
|
93
|
-
def addScene(self, scene:
|
|
93
|
+
def addScene(self, scene: Sound) -> Sound:
|
|
94
94
|
"""Adds a new scene.
|
|
95
95
|
|
|
96
96
|
:param scene: The scene sound.
|
|
97
|
-
:type scene:
|
|
98
|
-
:rtype: int
|
|
97
|
+
:type scene: Sound
|
|
99
98
|
:return: The new scene id.
|
|
99
|
+
:rtype: int
|
|
100
100
|
"""
|
|
101
101
|
...
|
|
102
102
|
|
|
103
|
-
def addTransition(self, ini: int, end: int, transition:
|
|
103
|
+
def addTransition(self, ini: int, end: int, transition: Sound) -> Sound:
|
|
104
104
|
"""Adds a new scene.
|
|
105
105
|
|
|
106
106
|
:param ini: the initial scene foor the transition.
|
|
@@ -108,76 +108,74 @@ class DynamicMusic:
|
|
|
108
108
|
:param end: The final scene for the transition.
|
|
109
109
|
:type end: int
|
|
110
110
|
:param transition: The transition sound.
|
|
111
|
-
:type transition:
|
|
112
|
-
:rtype: bool
|
|
111
|
+
:type transition: Sound
|
|
113
112
|
:return: false if the ini or end scenes don't exist, true othrwise.
|
|
113
|
+
:rtype: bool
|
|
114
114
|
"""
|
|
115
115
|
...
|
|
116
116
|
|
|
117
117
|
def pause(self) -> bool:
|
|
118
118
|
"""Pauses playback of the scene.
|
|
119
119
|
|
|
120
|
-
:rtype: bool
|
|
121
120
|
:return: Whether the action succeeded.
|
|
121
|
+
:rtype: bool
|
|
122
122
|
"""
|
|
123
123
|
...
|
|
124
124
|
|
|
125
125
|
def resume(self) -> bool:
|
|
126
126
|
"""Resumes playback of the scene.
|
|
127
127
|
|
|
128
|
-
:rtype: bool
|
|
129
128
|
:return: Whether the action succeeded.
|
|
129
|
+
:rtype: bool
|
|
130
130
|
"""
|
|
131
131
|
...
|
|
132
132
|
|
|
133
133
|
def stop(self) -> bool:
|
|
134
134
|
"""Stops playback of the scene.
|
|
135
135
|
|
|
136
|
-
:rtype: bool
|
|
137
136
|
:return: Whether the action succeeded.
|
|
137
|
+
:rtype: bool
|
|
138
138
|
"""
|
|
139
139
|
...
|
|
140
140
|
|
|
141
141
|
class HRTF:
|
|
142
142
|
"""An HRTF object represents a set of head related transfer functions as impulse responses. It's used for binaural sound"""
|
|
143
143
|
|
|
144
|
-
def loadLeftHrtfSet(self, extension: str, directory)
|
|
144
|
+
def loadLeftHrtfSet(self, extension: typing.Union[str, str], directory):
|
|
145
145
|
"""Loads all HRTFs from a directory.
|
|
146
146
|
|
|
147
147
|
:param extension: The file extension of the hrtfs.
|
|
148
|
-
:type extension: str
|
|
148
|
+
:type extension: typing.Union[str, str]
|
|
149
149
|
:param directory: The path to where the HRTF files are located.
|
|
150
|
-
:type directory:
|
|
151
|
-
:rtype: 'HRTF'
|
|
152
150
|
:return: The loaded `HRTF` object.
|
|
151
|
+
:rtype: HRTF
|
|
153
152
|
"""
|
|
154
153
|
...
|
|
155
154
|
|
|
156
|
-
def loadLeftHrtfSet(self, extension: str, directory)
|
|
155
|
+
def loadLeftHrtfSet(self, extension: typing.Union[str, str], directory):
|
|
157
156
|
"""Loads all HRTFs from a directory.
|
|
158
157
|
|
|
159
158
|
:param extension: The file extension of the hrtfs.
|
|
160
|
-
:type extension: str
|
|
159
|
+
:type extension: typing.Union[str, str]
|
|
161
160
|
:param directory: The path to where the HRTF files are located.
|
|
162
|
-
:type directory:
|
|
163
|
-
:rtype: 'HRTF'
|
|
164
161
|
:return: The loaded `HRTF` object.
|
|
162
|
+
:rtype: HRTF
|
|
165
163
|
"""
|
|
166
164
|
...
|
|
167
165
|
|
|
168
166
|
def addImpulseResponseFromSound(
|
|
169
|
-
self, sound:
|
|
170
|
-
) ->
|
|
167
|
+
self, sound: Sound, azimuth: float, elevation: float
|
|
168
|
+
) -> float:
|
|
171
169
|
"""Adds a new hrtf to the HRTF object
|
|
172
170
|
|
|
173
171
|
:param sound: The sound that contains the hrtf.
|
|
174
|
-
:type sound:
|
|
172
|
+
:type sound: Sound
|
|
175
173
|
:param azimuth: The azimuth angle of the hrtf.
|
|
176
174
|
:type azimuth: float
|
|
177
175
|
:param elevation: The elevation angle of the hrtf.
|
|
178
176
|
:type elevation: float
|
|
179
|
-
:rtype: bool
|
|
180
177
|
:return: Whether the action succeeded.
|
|
178
|
+
:rtype: bool
|
|
181
179
|
"""
|
|
182
180
|
...
|
|
183
181
|
|
|
@@ -242,27 +240,27 @@ This can be used to seek the sound to some position and start playback again."""
|
|
|
242
240
|
volume_minimum: typing.Any
|
|
243
241
|
""" The minimum volume of the source.:attr:`Device.distance_model`"""
|
|
244
242
|
|
|
245
|
-
def pause(self)
|
|
243
|
+
def pause(self):
|
|
246
244
|
"""Pauses playback.
|
|
247
245
|
|
|
248
|
-
:rtype: bool
|
|
249
246
|
:return: Whether the action succeeded.
|
|
247
|
+
:rtype: bool
|
|
250
248
|
"""
|
|
251
249
|
...
|
|
252
250
|
|
|
253
251
|
def resume(self) -> bool:
|
|
254
252
|
"""Resumes playback.
|
|
255
253
|
|
|
256
|
-
:rtype: bool
|
|
257
254
|
:return: Whether the action succeeded.
|
|
255
|
+
:rtype: bool
|
|
258
256
|
"""
|
|
259
257
|
...
|
|
260
258
|
|
|
261
259
|
def stop(self) -> bool:
|
|
262
260
|
"""Stops playback.
|
|
263
261
|
|
|
264
|
-
:rtype: bool
|
|
265
262
|
:return: Whether the action succeeded.
|
|
263
|
+
:rtype: bool
|
|
266
264
|
"""
|
|
267
265
|
...
|
|
268
266
|
|
|
@@ -274,13 +272,13 @@ class ImpulseResponse:
|
|
|
274
272
|
class PlaybackManager:
|
|
275
273
|
"""A PlabackManager object allows to easily control groups os sounds organized in categories."""
|
|
276
274
|
|
|
277
|
-
def addCategory(self, volume: float) ->
|
|
275
|
+
def addCategory(self, volume: float) -> float:
|
|
278
276
|
"""Adds a category with a custom volume.
|
|
279
277
|
|
|
280
278
|
:param volume: The volume for ther new category.
|
|
281
279
|
:type volume: float
|
|
282
|
-
:rtype: int
|
|
283
280
|
:return: The key of the new category.
|
|
281
|
+
:rtype: int
|
|
284
282
|
"""
|
|
285
283
|
...
|
|
286
284
|
|
|
@@ -288,46 +286,46 @@ class PlaybackManager:
|
|
|
288
286
|
"""Cleans all the invalid and finished sound from the playback manager."""
|
|
289
287
|
...
|
|
290
288
|
|
|
291
|
-
def getVolume(self, catKey: int) ->
|
|
289
|
+
def getVolume(self, catKey: int) -> int:
|
|
292
290
|
"""Retrieves the volume of a category.
|
|
293
291
|
|
|
294
292
|
:param catKey: the key of the category.
|
|
295
293
|
:type catKey: int
|
|
296
|
-
:rtype: float
|
|
297
294
|
:return: The volume of the cateogry.
|
|
295
|
+
:rtype: float
|
|
298
296
|
"""
|
|
299
297
|
...
|
|
300
298
|
|
|
301
|
-
def pause(self, catKey: int) ->
|
|
299
|
+
def pause(self, catKey: int) -> int:
|
|
302
300
|
"""Pauses playback of the category.
|
|
303
301
|
|
|
304
302
|
:param catKey: the key of the category.
|
|
305
303
|
:type catKey: int
|
|
306
|
-
:rtype: bool
|
|
307
304
|
:return: Whether the action succeeded.
|
|
305
|
+
:rtype: bool
|
|
308
306
|
"""
|
|
309
307
|
...
|
|
310
308
|
|
|
311
|
-
def play(self, sound:
|
|
309
|
+
def play(self, sound: Sound, catKey: int) -> int:
|
|
312
310
|
"""Plays a sound through the playback manager and assigns it to a category.
|
|
313
311
|
|
|
314
312
|
:param sound: The sound to play.
|
|
315
|
-
:type sound:
|
|
313
|
+
:type sound: Sound
|
|
316
314
|
:param catKey: the key of the category in which the sound will be added,
|
|
317
315
|
if it doesn't exist, a new one will be created.
|
|
318
316
|
:type catKey: int
|
|
319
|
-
:rtype: 'Handle'
|
|
320
317
|
:return: The playback handle with which playback can be controlled with.
|
|
318
|
+
:rtype: Handle
|
|
321
319
|
"""
|
|
322
320
|
...
|
|
323
321
|
|
|
324
|
-
def resume(self, catKey: int) ->
|
|
322
|
+
def resume(self, catKey: int) -> int:
|
|
325
323
|
"""Resumes playback of the catgory.
|
|
326
324
|
|
|
327
325
|
:param catKey: the key of the category.
|
|
328
326
|
:type catKey: int
|
|
329
|
-
:rtype: bool
|
|
330
327
|
:return: Whether the action succeeded.
|
|
328
|
+
:rtype: bool
|
|
331
329
|
"""
|
|
332
330
|
...
|
|
333
331
|
|
|
@@ -338,18 +336,18 @@ class PlaybackManager:
|
|
|
338
336
|
:type volume: float
|
|
339
337
|
:param catKey: the key of the category.
|
|
340
338
|
:type catKey: int
|
|
341
|
-
:rtype: int
|
|
342
339
|
:return: Whether the action succeeded.
|
|
340
|
+
:rtype: int
|
|
343
341
|
"""
|
|
344
342
|
...
|
|
345
343
|
|
|
346
|
-
def stop(self, catKey: int) ->
|
|
344
|
+
def stop(self, catKey: int) -> int:
|
|
347
345
|
"""Stops playback of the category.
|
|
348
346
|
|
|
349
347
|
:param catKey: the key of the category.
|
|
350
348
|
:type catKey: int
|
|
351
|
-
:rtype: bool
|
|
352
349
|
:return: Whether the action succeeded.
|
|
350
|
+
:rtype: bool
|
|
353
351
|
"""
|
|
354
352
|
...
|
|
355
353
|
|
|
@@ -379,11 +377,11 @@ This factor is a scaling factor for the velocity vectors in doppler calculation.
|
|
|
379
377
|
""" The speed of sound of the sequence.
|
|
380
378
|
The speed of sound in air is typically 343.3 m/s."""
|
|
381
379
|
|
|
382
|
-
def add(self)
|
|
380
|
+
def add(self):
|
|
383
381
|
"""Adds a new entry to the sequence.
|
|
384
382
|
|
|
385
|
-
:rtype: 'SequenceEntry'
|
|
386
383
|
:return: The entry added.
|
|
384
|
+
:rtype: SequenceEntry
|
|
387
385
|
"""
|
|
388
386
|
...
|
|
389
387
|
|
|
@@ -451,37 +449,40 @@ class Sound:
|
|
|
451
449
|
specs: typing.Any
|
|
452
450
|
""" The sample specification of the sound as a tuple with rate and channel count."""
|
|
453
451
|
|
|
454
|
-
|
|
452
|
+
@classmethod
|
|
453
|
+
def buffer(cls, data, rate: float) -> float:
|
|
455
454
|
"""Creates a sound from a data buffer.
|
|
456
455
|
|
|
457
456
|
:param data: The data as two dimensional numpy array.
|
|
458
|
-
:type data: typing.Any
|
|
459
457
|
:param rate: The sample rate.
|
|
460
458
|
:type rate: float
|
|
461
|
-
:rtype: 'Sound'
|
|
462
459
|
:return: The created `Sound` object.
|
|
460
|
+
:rtype: Sound
|
|
463
461
|
"""
|
|
464
462
|
...
|
|
465
463
|
|
|
466
|
-
|
|
464
|
+
@classmethod
|
|
465
|
+
def file(cls, filename: str) -> str:
|
|
467
466
|
"""Creates a sound object of a sound file.
|
|
468
467
|
|
|
469
468
|
:param filename: Path of the file.
|
|
470
469
|
:type filename: str
|
|
471
|
-
:rtype: 'Sound'
|
|
472
470
|
:return: The created `Sound` object.
|
|
471
|
+
:rtype: Sound
|
|
473
472
|
"""
|
|
474
473
|
...
|
|
475
474
|
|
|
476
|
-
|
|
475
|
+
@classmethod
|
|
476
|
+
def list(cls) -> Sound:
|
|
477
477
|
"""Creates an empty sound list that can contain several sounds.
|
|
478
478
|
|
|
479
|
-
:rtype: 'Sound'
|
|
480
479
|
:return: The created `Sound` object.
|
|
480
|
+
:rtype: Sound
|
|
481
481
|
"""
|
|
482
482
|
...
|
|
483
483
|
|
|
484
|
-
|
|
484
|
+
@classmethod
|
|
485
|
+
def sawtooth(cls, frequency: float, rate: int = 48000) -> int:
|
|
485
486
|
"""Creates a sawtooth sound which plays a sawtooth wave.
|
|
486
487
|
|
|
487
488
|
:param frequency: The frequency of the sawtooth wave in Hz.
|
|
@@ -489,23 +490,25 @@ class Sound:
|
|
|
489
490
|
:param rate: The sampling rate in Hz. It's recommended to set this
|
|
490
491
|
value to the playback device's samling rate to avoid resamping.
|
|
491
492
|
:type rate: int
|
|
492
|
-
:rtype: 'Sound'
|
|
493
493
|
:return: The created `Sound` object.
|
|
494
|
+
:rtype: Sound
|
|
494
495
|
"""
|
|
495
496
|
...
|
|
496
497
|
|
|
497
|
-
|
|
498
|
+
@classmethod
|
|
499
|
+
def silence(cls, rate: int = 48000) -> int:
|
|
498
500
|
"""Creates a silence sound which plays simple silence.
|
|
499
501
|
|
|
500
502
|
:param rate: The sampling rate in Hz. It's recommended to set this
|
|
501
503
|
value to the playback device's samling rate to avoid resamping.
|
|
502
504
|
:type rate: int
|
|
503
|
-
:rtype: 'Sound'
|
|
504
505
|
:return: The created `Sound` object.
|
|
506
|
+
:rtype: Sound
|
|
505
507
|
"""
|
|
506
508
|
...
|
|
507
509
|
|
|
508
|
-
|
|
510
|
+
@classmethod
|
|
511
|
+
def sine(cls, frequency: float, rate: int = 48000) -> int:
|
|
509
512
|
"""Creates a sine sound which plays a sine wave.
|
|
510
513
|
|
|
511
514
|
:param frequency: The frequency of the sine wave in Hz.
|
|
@@ -513,12 +516,13 @@ class Sound:
|
|
|
513
516
|
:param rate: The sampling rate in Hz. It's recommended to set this
|
|
514
517
|
value to the playback device's samling rate to avoid resamping.
|
|
515
518
|
:type rate: int
|
|
516
|
-
:rtype: 'Sound'
|
|
517
519
|
:return: The created `Sound` object.
|
|
520
|
+
:rtype: Sound
|
|
518
521
|
"""
|
|
519
522
|
...
|
|
520
523
|
|
|
521
|
-
|
|
524
|
+
@classmethod
|
|
525
|
+
def square(cls, frequency: float, rate: int = 48000) -> int:
|
|
522
526
|
"""Creates a square sound which plays a square wave.
|
|
523
527
|
|
|
524
528
|
:param frequency: The frequency of the square wave in Hz.
|
|
@@ -526,12 +530,13 @@ class Sound:
|
|
|
526
530
|
:param rate: The sampling rate in Hz. It's recommended to set this
|
|
527
531
|
value to the playback device's samling rate to avoid resamping.
|
|
528
532
|
:type rate: int
|
|
529
|
-
:rtype: 'Sound'
|
|
530
533
|
:return: The created `Sound` object.
|
|
534
|
+
:rtype: Sound
|
|
531
535
|
"""
|
|
532
536
|
...
|
|
533
537
|
|
|
534
|
-
|
|
538
|
+
@classmethod
|
|
539
|
+
def triangle(cls, frequency: float, rate: int = 48000) -> int:
|
|
535
540
|
"""Creates a triangle sound which plays a triangle wave.
|
|
536
541
|
|
|
537
542
|
:param frequency: The frequency of the triangle wave in Hz.
|
|
@@ -539,14 +544,14 @@ class Sound:
|
|
|
539
544
|
:param rate: The sampling rate in Hz. It's recommended to set this
|
|
540
545
|
value to the playback device's samling rate to avoid resamping.
|
|
541
546
|
:type rate: int
|
|
542
|
-
:rtype: 'Sound'
|
|
543
547
|
:return: The created `Sound` object.
|
|
548
|
+
:rtype: Sound
|
|
544
549
|
"""
|
|
545
550
|
...
|
|
546
551
|
|
|
547
552
|
def ADSR(
|
|
548
553
|
self, attack: float, decay: float, sustain: float, release: float
|
|
549
|
-
) ->
|
|
554
|
+
) -> float:
|
|
550
555
|
"""Attack-Decay-Sustain-Release envelopes the volume of a sound.
|
|
551
556
|
Note: there is currently no way to trigger the release with this API.
|
|
552
557
|
|
|
@@ -558,79 +563,77 @@ class Sound:
|
|
|
558
563
|
:type sustain: float
|
|
559
564
|
:param release: The release level.
|
|
560
565
|
:type release: float
|
|
561
|
-
:rtype: 'Sound'
|
|
562
566
|
:return: The created `Sound` object.
|
|
567
|
+
:rtype: Sound
|
|
563
568
|
"""
|
|
564
569
|
...
|
|
565
570
|
|
|
566
|
-
def accumulate(self, additive=False)
|
|
571
|
+
def accumulate(self, additive=False):
|
|
567
572
|
"""Accumulates a sound by summing over positive input
|
|
568
573
|
differences thus generating a monotonic sigal.
|
|
569
574
|
If additivity is set to true negative input differences get added too,
|
|
570
575
|
but positive ones with a factor of two.Note that with additivity the signal is not monotonic anymore.
|
|
571
576
|
|
|
572
577
|
:param additive: Whether the accumulation should be additive or not.
|
|
573
|
-
:type additive:
|
|
574
|
-
:rtype: 'Sound'
|
|
575
578
|
:return: The created `Sound` object.
|
|
579
|
+
:rtype: Sound
|
|
576
580
|
"""
|
|
577
581
|
...
|
|
578
582
|
|
|
579
|
-
def addSound(self, sound:
|
|
583
|
+
def addSound(self, sound: Sound):
|
|
580
584
|
"""Adds a new sound to a sound list.
|
|
581
585
|
|
|
582
586
|
:param sound: The sound that will be added to the list.
|
|
583
|
-
:type sound:
|
|
587
|
+
:type sound: Sound
|
|
584
588
|
"""
|
|
585
589
|
...
|
|
586
590
|
|
|
587
|
-
def binaural(self) ->
|
|
591
|
+
def binaural(self) -> Sound:
|
|
588
592
|
"""Creates a binaural sound using another sound as source. The original sound must be mono
|
|
589
593
|
|
|
590
|
-
:rtype: 'Sound'
|
|
591
594
|
:return: The created `Sound` object.
|
|
595
|
+
:rtype: Sound
|
|
592
596
|
"""
|
|
593
597
|
...
|
|
594
598
|
|
|
595
|
-
def cache(self) ->
|
|
599
|
+
def cache(self) -> Sound:
|
|
596
600
|
"""Caches a sound into RAM.This saves CPU usage needed for decoding and file access if the
|
|
597
601
|
underlying sound reads from a file on the harddisk,
|
|
598
602
|
but it consumes a lot of memory.
|
|
599
603
|
|
|
600
|
-
:rtype: 'Sound'
|
|
601
604
|
:return: The created `Sound` object.
|
|
605
|
+
:rtype: Sound
|
|
602
606
|
"""
|
|
603
607
|
...
|
|
604
608
|
|
|
605
|
-
def convolver(self) ->
|
|
609
|
+
def convolver(self) -> Sound:
|
|
606
610
|
"""Creates a sound that will apply convolution to another sound.
|
|
607
611
|
|
|
608
|
-
:rtype: 'Sound'
|
|
609
612
|
:return: The created `Sound` object.
|
|
613
|
+
:rtype: Sound
|
|
610
614
|
"""
|
|
611
615
|
...
|
|
612
616
|
|
|
613
|
-
def data(self) ->
|
|
617
|
+
def data(self) -> Sound:
|
|
614
618
|
"""Retrieves the data of the sound as numpy array.
|
|
615
619
|
|
|
616
|
-
:rtype: typing.Any
|
|
617
620
|
:return: A two dimensional numpy float array.
|
|
618
621
|
"""
|
|
619
622
|
...
|
|
620
623
|
|
|
621
|
-
def delay(self, time: float) ->
|
|
624
|
+
def delay(self, time: float) -> float:
|
|
622
625
|
"""Delays by playing adding silence in front of the other sound's data.
|
|
623
626
|
|
|
624
627
|
:param time: How many seconds of silence should be added before the sound.
|
|
625
628
|
:type time: float
|
|
626
|
-
:rtype: 'Sound'
|
|
627
629
|
:return: The created `Sound` object.
|
|
630
|
+
:rtype: Sound
|
|
628
631
|
"""
|
|
629
632
|
...
|
|
630
633
|
|
|
631
634
|
def envelope(
|
|
632
635
|
self, attack: float, release: float, threshold: float, arthreshold: float
|
|
633
|
-
) ->
|
|
636
|
+
) -> float:
|
|
634
637
|
"""Delays by playing adding silence in front of the other sound's data.
|
|
635
638
|
|
|
636
639
|
:param attack: The attack factor.
|
|
@@ -641,12 +644,12 @@ class Sound:
|
|
|
641
644
|
:type threshold: float
|
|
642
645
|
:param arthreshold: The attack/release threshold value.
|
|
643
646
|
:type arthreshold: float
|
|
644
|
-
:rtype: 'Sound'
|
|
645
647
|
:return: The created `Sound` object.
|
|
648
|
+
:rtype: Sound
|
|
646
649
|
"""
|
|
647
650
|
...
|
|
648
651
|
|
|
649
|
-
def fadein(self, start: float, length: float) ->
|
|
652
|
+
def fadein(self, start: float, length: float) -> float:
|
|
650
653
|
"""Fades a sound in by raising the volume linearly in the given
|
|
651
654
|
time interval.
|
|
652
655
|
|
|
@@ -654,12 +657,12 @@ class Sound:
|
|
|
654
657
|
:type start: float
|
|
655
658
|
:param length: Time in seconds how long the fading should last.
|
|
656
659
|
:type length: float
|
|
657
|
-
:rtype: 'Sound'
|
|
658
660
|
:return: The created `Sound` object.
|
|
661
|
+
:rtype: Sound
|
|
659
662
|
"""
|
|
660
663
|
...
|
|
661
664
|
|
|
662
|
-
def fadeout(self, start: float, length: float) ->
|
|
665
|
+
def fadeout(self, start: float, length: float) -> float:
|
|
663
666
|
"""Fades a sound in by lowering the volume linearly in the given
|
|
664
667
|
time interval.
|
|
665
668
|
|
|
@@ -667,12 +670,14 @@ class Sound:
|
|
|
667
670
|
:type start: float
|
|
668
671
|
:param length: Time in seconds how long the fading should last.
|
|
669
672
|
:type length: float
|
|
670
|
-
:rtype: 'Sound'
|
|
671
673
|
:return: The created `Sound` object.
|
|
674
|
+
:rtype: Sound
|
|
672
675
|
"""
|
|
673
676
|
...
|
|
674
677
|
|
|
675
|
-
def filter(
|
|
678
|
+
def filter(
|
|
679
|
+
self, b: typing.List[float], a: typing.List[float] = 1
|
|
680
|
+
) -> typing.List[float]:
|
|
676
681
|
"""Filters a sound with the supplied IIR filter coefficients.
|
|
677
682
|
Without the second parameter you'll get a FIR filter.If the first value of the a sequence is 0,
|
|
678
683
|
it will be set to 1 automatically.
|
|
@@ -684,12 +689,12 @@ class Sound:
|
|
|
684
689
|
:type b: typing.List[float]
|
|
685
690
|
:param a: The denominator filter coefficients.
|
|
686
691
|
:type a: typing.List[float]
|
|
687
|
-
:rtype: 'Sound'
|
|
688
692
|
:return: The created `Sound` object.
|
|
693
|
+
:rtype: Sound
|
|
689
694
|
"""
|
|
690
695
|
...
|
|
691
696
|
|
|
692
|
-
def highpass(self, frequency: float, Q: float = 0.5) ->
|
|
697
|
+
def highpass(self, frequency: float, Q: float = 0.5) -> float:
|
|
693
698
|
"""Creates a second order highpass filter based on the transfer
|
|
694
699
|
function H(s) = s^2 / (s^2 + s/Q + 1)
|
|
695
700
|
|
|
@@ -697,143 +702,142 @@ class Sound:
|
|
|
697
702
|
:type frequency: float
|
|
698
703
|
:param Q: Q factor of the lowpass.
|
|
699
704
|
:type Q: float
|
|
700
|
-
:rtype: 'Sound'
|
|
701
705
|
:return: The created `Sound` object.
|
|
706
|
+
:rtype: Sound
|
|
702
707
|
"""
|
|
703
708
|
...
|
|
704
709
|
|
|
705
|
-
def join(self, sound:
|
|
710
|
+
def join(self, sound: Sound) -> Sound:
|
|
706
711
|
"""Plays two factories in sequence.
|
|
707
712
|
|
|
708
713
|
:param sound: The sound to play second.
|
|
709
|
-
:type sound:
|
|
710
|
-
:rtype: 'Sound'
|
|
714
|
+
:type sound: Sound
|
|
711
715
|
:return: The created `Sound` object.
|
|
716
|
+
:rtype: Sound
|
|
712
717
|
"""
|
|
713
718
|
...
|
|
714
719
|
|
|
715
|
-
def limit(self, start: float, end: float) ->
|
|
720
|
+
def limit(self, start: float, end: float) -> float:
|
|
716
721
|
"""Limits a sound within a specific start and end time.
|
|
717
722
|
|
|
718
723
|
:param start: Start time in seconds.
|
|
719
724
|
:type start: float
|
|
720
725
|
:param end: End time in seconds.
|
|
721
726
|
:type end: float
|
|
722
|
-
:rtype: 'Sound'
|
|
723
727
|
:return: The created `Sound` object.
|
|
728
|
+
:rtype: Sound
|
|
724
729
|
"""
|
|
725
730
|
...
|
|
726
731
|
|
|
727
|
-
def loop(self, count
|
|
732
|
+
def loop(self, count):
|
|
728
733
|
"""Loops a sound.
|
|
729
734
|
|
|
730
735
|
:param count: How often the sound should be looped.
|
|
731
736
|
Negative values mean endlessly.
|
|
732
|
-
:type count: typing.Any
|
|
733
|
-
:rtype: 'Sound'
|
|
734
737
|
:return: The created `Sound` object.
|
|
738
|
+
:rtype: Sound
|
|
735
739
|
"""
|
|
736
740
|
...
|
|
737
741
|
|
|
738
|
-
def lowpass(self, frequency: float, Q: float = 0.5) ->
|
|
742
|
+
def lowpass(self, frequency: float, Q: float = 0.5) -> float:
|
|
739
743
|
"""Creates a second order lowpass filter based on the transfer function H(s) = 1 / (s^2 + s/Q + 1)
|
|
740
744
|
|
|
741
745
|
:param frequency: The cut off trequency of the lowpass.
|
|
742
746
|
:type frequency: float
|
|
743
747
|
:param Q: Q factor of the lowpass.
|
|
744
748
|
:type Q: float
|
|
745
|
-
:rtype: 'Sound'
|
|
746
749
|
:return: The created `Sound` object.
|
|
750
|
+
:rtype: Sound
|
|
747
751
|
"""
|
|
748
752
|
...
|
|
749
753
|
|
|
750
|
-
def mix(self, sound:
|
|
754
|
+
def mix(self, sound: Sound) -> Sound:
|
|
751
755
|
"""Mixes two factories.
|
|
752
756
|
|
|
753
757
|
:param sound: The sound to mix over the other.
|
|
754
|
-
:type sound:
|
|
755
|
-
:rtype: 'Sound'
|
|
758
|
+
:type sound: Sound
|
|
756
759
|
:return: The created `Sound` object.
|
|
760
|
+
:rtype: Sound
|
|
757
761
|
"""
|
|
758
762
|
...
|
|
759
763
|
|
|
760
|
-
def modulate(self, sound:
|
|
764
|
+
def modulate(self, sound: Sound) -> Sound:
|
|
761
765
|
"""Modulates two factories.
|
|
762
766
|
|
|
763
767
|
:param sound: The sound to modulate over the other.
|
|
764
|
-
:type sound:
|
|
765
|
-
:rtype: 'Sound'
|
|
768
|
+
:type sound: Sound
|
|
766
769
|
:return: The created `Sound` object.
|
|
770
|
+
:rtype: Sound
|
|
767
771
|
"""
|
|
768
772
|
...
|
|
769
773
|
|
|
770
|
-
def mutable(self) ->
|
|
774
|
+
def mutable(self) -> Sound:
|
|
771
775
|
"""Creates a sound that will be restarted when sought backwards.
|
|
772
776
|
If the original sound is a sound list, the playing sound can change.
|
|
773
777
|
|
|
774
|
-
:rtype: 'Sound'
|
|
775
778
|
:return: The created `Sound` object.
|
|
779
|
+
:rtype: Sound
|
|
776
780
|
"""
|
|
777
781
|
...
|
|
778
782
|
|
|
779
|
-
def pingpong(self) ->
|
|
783
|
+
def pingpong(self) -> Sound:
|
|
780
784
|
"""Plays a sound forward and then backward.
|
|
781
785
|
This is like joining a sound with its reverse.
|
|
782
786
|
|
|
783
|
-
:rtype: 'Sound'
|
|
784
787
|
:return: The created `Sound` object.
|
|
788
|
+
:rtype: Sound
|
|
785
789
|
"""
|
|
786
790
|
...
|
|
787
791
|
|
|
788
|
-
def pitch(self, factor: float) ->
|
|
792
|
+
def pitch(self, factor: float) -> float:
|
|
789
793
|
"""Changes the pitch of a sound with a specific factor.
|
|
790
794
|
|
|
791
795
|
:param factor: The factor to change the pitch with.
|
|
792
796
|
:type factor: float
|
|
793
|
-
:rtype: 'Sound'
|
|
794
797
|
:return: The created `Sound` object.
|
|
798
|
+
:rtype: Sound
|
|
795
799
|
"""
|
|
796
800
|
...
|
|
797
801
|
|
|
798
|
-
def rechannel(self, channels: int) ->
|
|
802
|
+
def rechannel(self, channels: int) -> int:
|
|
799
803
|
"""Rechannels the sound.
|
|
800
804
|
|
|
801
805
|
:param channels: The new channel configuration.
|
|
802
806
|
:type channels: int
|
|
803
|
-
:rtype: 'Sound'
|
|
804
807
|
:return: The created `Sound` object.
|
|
808
|
+
:rtype: Sound
|
|
805
809
|
"""
|
|
806
810
|
...
|
|
807
811
|
|
|
808
|
-
def resample(self, rate: float, quality: int) ->
|
|
812
|
+
def resample(self, rate: float, quality: int) -> int:
|
|
809
813
|
"""Resamples the sound.
|
|
810
814
|
|
|
811
815
|
:param rate: The new sample rate.
|
|
812
816
|
:type rate: float
|
|
813
817
|
:param quality: Resampler performance vs quality choice (0=fastest, 3=slowest).
|
|
814
818
|
:type quality: int
|
|
815
|
-
:rtype: 'Sound'
|
|
816
819
|
:return: The created `Sound` object.
|
|
820
|
+
:rtype: Sound
|
|
817
821
|
"""
|
|
818
822
|
...
|
|
819
823
|
|
|
820
|
-
def reverse(self) ->
|
|
824
|
+
def reverse(self) -> Sound:
|
|
821
825
|
"""Plays a sound reversed.
|
|
822
826
|
|
|
823
|
-
:rtype: 'Sound'
|
|
824
827
|
:return: The created `Sound` object.
|
|
828
|
+
:rtype: Sound
|
|
825
829
|
"""
|
|
826
830
|
...
|
|
827
831
|
|
|
828
|
-
def sum(self) ->
|
|
832
|
+
def sum(self) -> Sound:
|
|
829
833
|
"""Sums the samples of a sound.
|
|
830
834
|
|
|
831
|
-
:rtype: 'Sound'
|
|
832
835
|
:return: The created `Sound` object.
|
|
836
|
+
:rtype: Sound
|
|
833
837
|
"""
|
|
834
838
|
...
|
|
835
839
|
|
|
836
|
-
def threshold(self, threshold: float = 0) ->
|
|
840
|
+
def threshold(self, threshold: float = 0) -> float:
|
|
837
841
|
"""Makes a threshold wave out of an audio wave by setting all samples
|
|
838
842
|
with a amplitude >= threshold to 1, all <= -threshold to -1 and
|
|
839
843
|
all between to 0.
|
|
@@ -841,18 +845,18 @@ class Sound:
|
|
|
841
845
|
:param threshold: Threshold value over which an amplitude counts
|
|
842
846
|
non-zero.
|
|
843
847
|
:type threshold: float
|
|
844
|
-
:rtype: 'Sound'
|
|
845
848
|
:return: The created `Sound` object.
|
|
849
|
+
:rtype: Sound
|
|
846
850
|
"""
|
|
847
851
|
...
|
|
848
852
|
|
|
849
|
-
def volume(self, volume: float) ->
|
|
853
|
+
def volume(self, volume: float) -> float:
|
|
850
854
|
"""Changes the volume of a sound.
|
|
851
855
|
|
|
852
856
|
:param volume: The new volume..
|
|
853
857
|
:type volume: float
|
|
854
|
-
:rtype: 'Sound'
|
|
855
858
|
:return: The created `Sound` object.
|
|
859
|
+
:rtype: Sound
|
|
856
860
|
"""
|
|
857
861
|
...
|
|
858
862
|
|
|
@@ -905,7 +909,10 @@ class ThreadPool:
|
|
|
905
909
|
|
|
906
910
|
...
|
|
907
911
|
|
|
908
|
-
class error:
|
|
912
|
+
class error:
|
|
913
|
+
""" """
|
|
914
|
+
|
|
915
|
+
...
|
|
909
916
|
|
|
910
917
|
AP_LOCATION: typing.Any
|
|
911
918
|
""" Constant value 3
|