summaryrefslogtreecommitdiffstats
path: root/scene/resources/audio_stream_sample.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Rename AudioStreamSample to a more discoverable nameDeeJayLSP2022-07-281-667/+0
|
* Implement BPM supportreduz2022-07-231-1/+5
| | | | | | | | | | | Based on #62896, only implements the BPM support part. * Implements BPM support in the AudioStreamOGG/MP3 importers. * Can select BPM/Bar Size and total beats in a song file, as well as edit looping points. * Looping is now BPM aware * Added a special importer UI for configuring this. * Added a special preview showing the audio waveform as well as the playback position in the resource picker. * Renamed `AudioStream::instance` to `instantiate` for correctness.
* Make FileAccess and DirAccess classes reference counted.bruvzg2022-04-111-4/+2
|
* Update copyright statements to 2022Rémi Verschelde2022-01-031-2/+2
| | | | Happy new year to the wonderful Godot community!
* Merge pull request #53819 from TokageItLab/re-implement-ping-pongRémi Verschelde2021-11-091-3/+3
|\ | | | | Reimplement ping-pong animation and reverse playback
| * reimplement ping-pongSilc 'Tokage' Renew2021-11-031-3/+3
| |
* | Rename `PROPERTY_USAGE_NOEDITOR` to `PROPERTY_USAGE_NO_EDITOR`Hugo Locurcio2021-11-031-1/+1
|/ | | | | This is consistent with other constants that include `NO`, such as `PROPERTY_HINT_COLOR_NO_ALPHA`.
* Revert "Implement reverse playback and ping-pong loop in AnimationPlayer and ↵Juan Linietsky2021-10-111-3/+3
| | | | NodeAnimation"
* implement ping-pong loop in animationTokage2021-10-091-3/+3
| | | | Co-authored-by: Chaosus <chaosus89@gmail.com>
* Add polyphony to Audio Stream Player nodesEllen Poe2021-09-071-0/+4
|
* Require AudioStream::mix to return the number of frames successfully mixedEllen Poe2021-08-271-2/+5
|
* Invert how `global_rate_scale` value works, and rename it to ↵Michael Alexsander2021-08-071-3/+3
| | | | `playback_speed_scale`
* Rename `instance()`->`instantiate()` when it's a verbLightning_A2021-06-191-1/+1
|
* Core: Move DirAccess and FileAccess to `core/io`Rémi Verschelde2021-06-111-1/+1
| | | | | File handling APIs are typically considered part of I/O, and we did have most `FileAccess` implementations in `core/io` already.
* Core: Drop custom `copymem`/`zeromem` definesRémi Verschelde2021-04-271-3/+3
| | | | | | | | We've been using standard C library functions `memcpy`/`memset` for these since 2016 with 67f65f66391327b2967a20a89c3627e1dd6e84eb. There was still the possibility for third-party platform ports to override the definitions with a custom header, but this doesn't seem useful anymore.
* Initialize class variables with default values in scene/ [2/2]Rafał Mikrut2021-02-091-15/+2
|
* Update copyright statements to 2021Rémi Verschelde2021-01-011-2/+2
| | | | | | | | | | | | | | Happy new year to the wonderful Godot community! 2020 has been a tough year for most of us personally, but a good year for Godot development nonetheless with a huge amount of work done towards Godot 4.0 and great improvements backported to the long-lived 3.2 branch. We've had close to 400 contributors to engine code this year, authoring near 7,000 commit! (And that's only for the `master` branch and for the engine code, there's a lot more when counting docs, demos and other first-party repos.) Here's to a great year 2021 for all Godot users 🎆
* Fix WAV resources ignoring the AudioServer's 'global_rate_scale' valueMichael Alexsander2020-11-041-1/+2
|
* Style: Enforce braces around if blocks and loopsRémi Verschelde2020-05-141-20/+36
| | | | | Using clang-tidy's `readability-braces-around-statements`. https://clang.llvm.org/extra/clang-tidy/checks/readability-braces-around-statements.html
* Style: Enforce separation line between function definitionsRémi Verschelde2020-05-141-0/+8
| | | | | | | | | | | | | | | | | | | | | | | I couldn't find a tool that enforces it, so I went the manual route: ``` find -name "thirdparty" -prune \ -o -name "*.cpp" -o -name "*.h" -o -name "*.m" -o -name "*.mm" \ -o -name "*.glsl" > files perl -0777 -pi -e 's/\n}\n([^#])/\n}\n\n\1/g' $(cat files) misc/scripts/fix_style.sh -c ``` This adds a newline after all `}` on the first column, unless they are followed by `#` (typically `#endif`). This leads to having lots of places with two lines between function/class definitions, but clang-format then fixes it as we enforce max one line of separation. This doesn't fix potential occurrences of function definitions which are indented (e.g. for a helper class defined in a .cpp), but it's better than nothing. Also can't be made to run easily on CI/hooks so we'll have to be careful with new code. Part of #33027.
* Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocksRémi Verschelde2020-05-141-39/+0
| | | | | | | | | | | | | | Which means that reduz' beloved style which we all became used to will now be changed automatically to remove the first empty line. This makes us lean closer to 1TBS (the one true brace style) instead of hybridating it with some Allman-inspired spacing. There's still the case of braces around single-statement blocks that needs to be addressed (but clang-format can't help with that, but clang-tidy may if we agree about it). Part of #33027.
* Style: clang-format: Disable AllowShortCaseLabelsOnASingleLineRémi Verschelde2020-05-101-9/+27
| | | | Part of #33027.
* Replace NULL with nullptrlupoDharkael2020-04-021-3/+3
|
* Remove the audio memory allocator, use regular one instead.Juan Linietsky2020-03-271-3/+3
|
* Fix divison by zero issueEv1lbl0w2020-03-141-1/+1
|
* PoolVector is gone, replaced by VectorJuan Linietsky2020-02-181-10/+10
| | | | | Typed `PoolTypeArray` types are now renamed `PackedTypeArray` and are sugar for `Vector<Type>`.
* Remove duplicate WARN_PRINT macro.Marcel Admiraal2020-02-051-1/+1
|
* doc: Complete documentation for VideoStreamsRémi Verschelde2020-01-261-1/+2
| | | | Also quick clean up of the matching C++ files.
* Update copyright statements to 2020Rémi Verschelde2020-01-011-2/+2
| | | | | | | | | | | Happy new year to the wonderful Godot community! We're starting a new decade with a well-established, non-profit, free and open source game engine, and tons of further improvements in the pipeline from hundreds of contributors. Godot will keep getting better, and we're looking forward to all the games that the community will keep developing and releasing with it.
* Fix some overflows and unitialized variablesRafał Mikrut2019-11-201-2/+3
|
* Fix invalid write in AudioStreamSample::save_to_wavBojidar Marinov2019-07-161-1/+2
| | | | Fixes #29955
* AudioStreamSample: Don't crash when writing to file failsmerumelu2019-03-121-4/+7
|
* Update copyright statements to 2019Rémi Verschelde2019-01-011-2/+2
| | | | Happy new year to the wonderful Godot community!
* Add backward looping support to AudioStreamSample (wav files)MrCdK2018-10-281-1/+6
|
* Fix warnings for comparison between signed and unsigned integers ↵Rémi Verschelde2018-09-271-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [-Wsign-compare] Also turn off -Wsign-compare warnings in the future, we do not consider them important. Fixes the following GCC 5 warnings: ``` core/node_path.cpp:279:24: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] core/oa_hash_map.h:169:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] core/oa_hash_map.h:314:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] drivers/gles2/shader_gles2.cpp:985:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] drivers/gles3/rasterizer_storage_gles3.cpp:1075:25: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] drivers/pulseaudio/audio_driver_pulseaudio.cpp:343:34: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] editor/editor_plugin.cpp:525:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] editor/editor_properties_array_dict.cpp:747:25: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] editor/plugins/spatial_editor_plugin.cpp:2078:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] editor/plugins/spatial_editor_plugin.cpp:4096:27: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] editor/plugins/sprite_editor_plugin.cpp:100:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] modules/cvtt/image_compress_cvtt.cpp:122:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] modules/cvtt/image_compress_cvtt.cpp:134:77: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] modules/cvtt/image_compress_cvtt.cpp:339:25: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] modules/etc/image_etc.cpp:222:34: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] modules/gdnative/register_types.cpp:242:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] modules/gdnative/register_types.cpp:258:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] modules/opensimplex/simplex_noise.cpp:200:13: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] modules/opensimplex/simplex_noise.cpp:222:13: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] modules/opensimplex/simplex_noise.cpp:246:13: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] platform/android/export/export.cpp:1085:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] platform/android/export/export.cpp:1489:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] platform/android/export/export.cpp:1623:22: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] platform/iphone/export/export.cpp:206:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] platform/iphone/export/export.cpp:356:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] platform/iphone/export/export.cpp:406:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] platform/iphone/export/export.cpp:493:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] scene/3d/audio_stream_player_3d.cpp:420:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] scene/resources/audio_stream_sample.cpp:565:22: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] scene/resources/audio_stream_sample.cpp:571:22: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] servers/audio/audio_rb_resampler.cpp:156:36: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] ``` The following warnings were not fixed, as they implied casting for no gain: ``` core/io/packet_peer.cpp:228:38: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] core/io/resource_format_binary.cpp:109:11: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] drivers/gles2/rasterizer_scene_gles2.cpp:144:57: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] drivers/unix/file_access_unix.cpp:249:46: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] scene/3d/voxel_light_baker.cpp:889:14: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] scene/3d/voxel_light_baker.cpp:1020:14: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] scene/3d/voxel_light_baker.cpp:1154:14: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] scene/3d/voxel_light_baker.cpp:2255:38: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] scene/resources/bit_mask.cpp:336:25: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] servers/audio/audio_stream.cpp:141:49: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] servers/audio/audio_stream.cpp:150:19: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] servers/audio/audio_stream.cpp:154:19: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] servers/audio_server.cpp:86:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] servers/audio_server.cpp:89:17: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] ```
* Make core/ includes absolute, remove subfolders from include pathRémi Verschelde2018-09-121-2/+2
| | | | | | This allows more consistency in the manner we include core headers, where previously there would be a mix of absolute, relative and include path-dependent includes.
* AudioStreamSample can now be saved to a WAV fileGustav Lund2018-07-261-1/+71
| | | | 8 and 16 bit sample saving has been implemented.
* Audio Recording moduleGustav Lund2018-07-261-0/+4
| | | | | | Implements an Audio bus effect that outputs the audio from the bus into a wav file Now channels audio recording into an AudioStreamSample instead of saving to wav
* Fully exposes data variable on AudioStreamSample/AudioStreamOGGVorbis...Zumo2018-05-011-4/+4
| | | | ...and also changes "_set_data" and "_get_data" to "set_data" and "get_data" respectively.
* Expose audio streams get_length()MrCdK2018-01-221-17/+17
|
* Bind many more properties to scriptsBojidar Marinov2018-01-121-3/+3
| | | | | | | Notable potentially breaking changes: - PROPERTY_USAGE_NOEDITOR is now PROPERTY_USAGE_STORAGE | PROPERTY_USAGE_NETWORK, without PROPERTY_USAGE_INTERNAL - Some properties were renamed, and sometimes even shadowed by new ones - New getter methods (some virtual) were added
* Add missing copyright headers and fix formattingRémi Verschelde2018-01-051-0/+1
| | | | | | Using `misc/scripts/fix_headers.py` on all Godot files. Some missing header guards were added, and the header inclusion order was fixed in the Bullet module.
* Update copyright statements to 2018Rémi Verschelde2018-01-011-2/+2
| | | | Happy new year to the wonderful Godot community!
* -Added ramp fadeout in AudioStreamPlayer, removes clips on audio restartJuan Linietsky2017-11-121-9/+23
| | | | -Fixed bug in AudioStreamPlayerSampler not completely writing the target buffer if sample ends, fixes #12307
* Fix data alignment issues in get_data() in AudioStreamSamplehungrymonkey2017-10-091-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I am fixing the issue by adding DATA_PAD to the return pointer as suggested by hi-ogawa When using set_data in AudioStreamSample in PoolByteArray, the data is set using a DATA_PAD to pad the pointer to the correct place as such uint8_t *dataptr = (uint8_t *)data; copymem(dataptr + DATA_PAD, r.ptr(), datalen); data_bytes = datalen; godot/scene/resources/audio_stream_sample.cpp#L473 All I am doing is adding a DATA_PAD to the return pointer to get_data() in AudioStreamSample to change godot/scene/resources/audio_stream_sample.cpp#L48 PoolVector<uint8_t>::Write w = pv.write(); copymem(w.ptr(), data, data_bytes); to PoolVector<uint8_t>::Write w = pv.write(); uint8_t *dataptr = (uint8_t *)data; copymem(w.ptr(), dataptr + DATA_PAD, data_bytes); Please review whether or not set or get is correct. Because this issue seems to be fixable by removing DATA_PAD in set_data() instead of adding DATA_PAD to get_data(). I have not tested the latter fix Fixes #issue, 11873
* Rename get_position => get_playback_position and seek_pos => seek on audio ↵Marcelo Fernandez2017-09-231-3/+3
| | | | classes
* Rename pos to position in user facing methods and variablesletheed2017-09-201-1/+1
| | | | | | | | | | | Rename user facing methods and variables as well as the corresponding C++ methods according to the folloming changes: * pos -> position * rot -> rotation * loc -> location C++ variables are left as is.
* Fix enums bindingsMaxim Sheronov2017-09-131-0/+8
| | | | | Add missed bindings for enums Move some enums to class to have correct output of api.json
* Use HTTPS URL for Godot's website in the headersRémi Verschelde2017-08-271-1/+1
|
* Lots of work on Audio & Physics engine:Juan Linietsky2017-07-151-1/+1
| | | | | | | | -Added new 3D stream player node -Added ability for Area to capture sound from streams -Added small features in physics to be able to properly guess distance to areas for sound -Fixed 3D CollisionObject so shapes are added the same as in 2D, directly from children -Fixed KinematicBody API to make it the same as 2D.