1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-04 12:00:25 +00:00
Commit Graph

120 Commits

Author SHA1 Message Date
nikitalita
a09a5d2b47 AudioStreamOggVorbis: only show invalid comment warning in Editor 2025-10-24 09:51:44 -07:00
Thaddeus Crews
b17aa3343a Revert "SCons: Add CPPEXTPATH for external includes" 2025-10-06 13:09:22 -05:00
Thaddeus Crews
30a0a41982 Merge pull request #111274 from chocola-mint/include-optimization-logger
Remove `file_access.h` and `script_backtrace.h` includes from `logger.h`.
2025-10-06 09:06:32 -05:00
Lukas Tenbrink
9d44b68867 Remove rw_lock.h and rb_map.h includes from object.h. 2025-10-05 23:29:04 +02:00
chocola-mint
ead282ff13 Remove file_access.h and script_backtrace.h includes from logger.h. 2025-10-05 17:49:23 +09:00
Rémi Verschelde
b9cdc74b2b Vorbis: Add details to warning about invalid comment header 2025-09-18 12:19:25 +02:00
Bernat Arlandis
a16b04fe07 Add Ogg Theora support to MovieWriter
Movie Maker mode can now record files in `.ogv` format, which can be
directly viewed in Godot's VideoStreamPlayer node along with most
video players. This is a lossy format with inter-frame compression,
unlike AVI + MJPEG which only performs intra-frame compression.

Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
Co-authored-by: Leo de Penning <leo.depenning@illuminoo.com>
2025-06-10 15:52:24 +02:00
Capry
20c0a0b489 Add metadata tags to WAV and OGG audio streams 2025-05-31 11:43:01 +02:00
DeeJayLSP
15b09e2e03 Add an actual name for Ogg Vorbis importer/visible name. 2025-04-08 11:47:46 -03:00
Thaddeus Crews
f25fc34439 SCons: Add CPPEXTPATH for external includes 2025-04-02 07:29:08 -05:00
David Snopek
393465ce92 Register editor classes normally, rather than via ClassDB::set_current_api() 2025-03-13 15:17:45 -05:00
Thaddeus Crews
324512e11c Style: Replace header guards with #pragma once 2025-03-07 17:33:47 -06:00
Rémi Verschelde
4396f8fbd3 Add AudioStreamMP3 load_from_file/load_from_buffer and harmonize other audio streams
Move OggVorbis and MP3 loading code to their AudioStream class, matching how it's done for WAV.

The duplicate functions in ResourceImporterOggVorbis are now deprecated.

Co-authored-by: MaxIsJoe <34368774+MaxIsJoe@users.noreply.github.com>
2025-01-09 15:46:04 +01:00
Yufeng Ying
34d8255947 Force build editor with regex module, remove checking code.
Fix include.

Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2025-01-07 19:43:23 +08:00
Yufeng Ying
33817b186f Remove unused header in drivers and modules.
Co-authored-by: Thaddeus Crews <repiteo@outlook.com>
2024-12-24 00:40:47 +08:00
Juan
fe34c45d2a Allow passing UID to importer
This helps, for importers spitting out new resources to the res://
filesystem to actually hash them to generate deterministic UIDs.

This PR also fixes the determinism for translations.
2024-11-11 15:22:42 +01:00
Micky
39534e1a28 Fix interactive music docs saying it's "not implemented" 2024-11-10 11:35:08 +01:00
Hunter Loftis
bbb8c1703b Fix freeze on non-thread-safe custom importers 2024-10-15 11:46:14 -04:00
Lalit Shankar Chowdhury
2caaa2cae5 Vorbis: Remove redundant bounds check 2024-09-27 21:04:46 +05:30
Thaddeus Crews
9f9ee0c813 SCons: Add unobtrusive type hints in SCons files 2024-09-25 09:34:35 -05:00
Adam Scott
d3ddce6b88 Fix leak when using audio samples instead of streams 2024-09-04 12:56:03 -04:00
Adam Scott
52fa4f05f3 Add samples playback support 2024-06-18 11:06:31 -04:00
A Thousand Ships
24c9d442e9 [Doc] Fix some incorrect uses of a/an 2024-03-13 21:20:28 +01:00
Rémi Verschelde
9705ac40c9 Merge pull request #87246 from bs-mwoerner/ogg_crash
Fix a possible crash when importing an OGG file with zero-length packets
2024-02-14 14:08:03 +01:00
A Thousand Ships
d8b29efe66 Fix member names of AudioFrame to match extension 2024-02-13 15:37:09 +01:00
Michael Wörner
a4db4ae658 Fixed an issue that could cause a crash when encountering a zero-length packet in an OGG stream.
A zero-length memcpy into a null pointer itself does not fail, but for gcc with optimizations, this can cause incorrect code to be generated further down the line since the pointer is then assumed to be non-null.
Now stripping zero-length packets and pages without packets from the OggPacketSequence during import. This prevents various warning and error messages for files that end on a zero-length packet.
2024-01-16 23:42:25 +01:00
Juan Linietsky
a40fe16866 Implement audio stream playback parameters.
Implements a way for audio stream playback to be configured via parameters
directly in the edited AudioStreamPlayer[2D/3D].

Currently, configuring the playback stream is not possible (or is sometimes hacky
as the user has to obtain the currently played stream, which is not always immediately available).

This PR only implements this new feature to control looping in stream playback instances (a commonly requested feature, which was lost in the transition from Godot 2 to Godot 3).
But the idea is that it can do a lot more:

* If effects are bundled to the stream, control per playback instance parameters such as cutoff or resoance, or any other exposed effect parameter per playback instance.
* For the upcoming interactive music PR (#64488), this exposes an easy way to change the active clip, which was not possible before.
* For the upcoming parametrizable audio support (https://github.com/godotengine/godot-proposals/issues/3394) this allows editing and animating audio graph parameters.

In any case, this PR is required to complete #64488.

Update modules/vorbis/audio_stream_ogg_vorbis.h

Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>

Update modules/minimp3/audio_stream_mp3.h

Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>

Update modules/minimp3/audio_stream_mp3.h

Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>

Update modules/vorbis/audio_stream_ogg_vorbis.h

Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>

Update doc/classes/AudioStream.xml

Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
2024-01-16 10:31:52 +01:00
Yuri Sizov
0f8c955c1a Correctly register editor-only module classes with the API 2023-12-15 18:58:30 +01:00
Aaron Franke
a8dc34b8f0 Rename ImportSettings dialogs to have "Dialog" in the name 2023-11-26 22:59:01 -06:00
Hugo Locurcio
e5270c0db2 Link to runtime loading/saving tutorial and improve Image documentation 2023-11-14 12:05:54 +01:00
lawnjelly
188266af47 Fix OGG Vorbis infinite error spam with corrupt file.
When OGG Vorbis encountered unreadable file, it emitted infinite error spam.
This PR returns the full number of frames in the case of error, to prevent infinite loop.
2023-11-10 15:48:28 +00:00
strellydev
9c9f1154f8 Fix OGG audio loop offset pop.
Co-authored-by: MJacred <loesch.benny92@gmx.de>
Co-authored-by: Ellen Poe <ellen.h.poe@gmail.com>
Co-authored-by: Michael Wörner <mwoerner@semw-software.com>
2023-10-13 19:54:24 +01:00
Ellen Poe
729d270a25 Only warn once about OGG seeking issues 2023-09-15 11:04:39 -07:00
Hugo Locurcio
469c462b76 Add missing tutorials to documentation classes 2023-08-19 20:29:24 +02:00
Yuri Sizov
da81ca62a5 Merge pull request #79405 from Calinou/doc-import-options
Fill in descriptions for import options in the class reference
2023-07-27 20:32:04 +02:00
Hugo Locurcio
bc58a8a34e Fill in descriptions for import options in the class reference 2023-07-27 19:18:27 +02:00
Oğuzhan Eroğlu
e391eae4b0 Load OGGs from file system 2023-07-14 19:05:58 -07:00
Yuri Sizov
287f3aa4e9 Fix documentation validation after 8352122e70 2023-07-12 17:30:34 +02:00
Yuri Sizov
f25233cbc9 Merge pull request #49524 from Calinou/document-editor-import-options
Document editor import options in the class reference
2023-07-12 17:15:19 +02:00
Rémi Verschelde
81064cc239 Doctool: Remove version attribute from XML header
We don't use that info for anything, and it generates unnecessary diffs
every time we bump the minor version (and CI failures if we forget to
sync some files from opt-in modules (mono, text_server_fb).
2023-07-06 10:08:21 +02:00
Rémi Verschelde
346f1ab86b Bump version to 4.2-dev
Keep on waitin'
2023-07-05 22:07:03 +02:00
Rémi Verschelde
25b2f1780a Style: Harmonize header includes in modules
This applies our existing style guide, and adds a new rule to that style
guide for modular components such as platform ports and modules:

Includes from the platform port or module ("local" includes) should be listed
first in their own block using relative paths, before Godot's "core" includes
which use "absolute" (project folder relative) paths, and finally thirdparty
includes.

Includes in `#ifdef`s come after their relevant section, i.e. the overall
structure is:

- Local includes
  * Conditional local includes
- Core includes
  * Conditional core includes
- Thirdparty includes
  * Conditional thirdparty includes
2023-06-15 14:35:45 +02:00
Hugo Locurcio
8352122e70 Document editor import options in the class reference
Tooltips are displayed when hovering import options, both in the Import
dock and in the import defaults editor (which is in the Project Settings).

Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2023-06-15 08:30:48 +02:00
Rémi Verschelde
1c1524a651 Bump version to 4.1-dev
Can't stop, won't stop, they said, huh?
2023-03-01 01:44:37 +01:00
Rémi Verschelde
e2fc0acd36 Fix includes of thirdparty libs which can be unbundled on Linux
Changes `builtin_icu` and `builtin_recast` to match the folder names in
`thirdparty`.
2023-02-16 15:52:13 +01:00
Juan Linietsky
6a87cdf6d2 Disable OGG and MP3 looping by default on import
* From Godot 4.0 onwards, proper music looping is supported which requires setting the BPM and then the loop point in beats.
* As such, importing with loop by default does not serve much of a purpose. Its annoying to disable for SFX or clips that do not loop and it also requires manual intervention to loop music.
* This way, it should work out of the box for any sound effect or non looping audio clip, and manual work is required anyway for looping music.
2023-01-22 15:45:45 +01:00
Rémi Verschelde
d95794ec8a One Copyright Update to rule them all
As many open source projects have started doing it, we're removing the
current year from the copyright notice, so that we don't need to bump
it every year.

It seems like only the first year of publication is technically
relevant for copyright notices, and even that seems to be something
that many companies stopped listing altogether (in a version controlled
codebase, the commits are a much better source of date of publication
than a hardcoded copyright statement).

We also now list Godot Engine contributors first as we're collectively
the current maintainers of the project, and we clarify that the
"exclusive" copyright of the co-founders covers the timespan before
opensourcing (their further contributions are included as part of Godot
Engine contributors).

Also fixed "cf." Frenchism - it's meant as "refer to / see".
2023-01-05 13:25:55 +01:00
Markus Sauermann
28af870750 Code simplifications found by cppcheck
They are based on:
- Boolean arithmetic simplifications
- setting variables that are not accessed
- constant variables
2022-11-21 08:43:36 +01:00
Rémi Verschelde
166df0896c Fix typos with codespell
Using codespell 2.3-dev from current git.

And fix typo in `methods.py` for `vsproj=yes` option (still won't work
though).
2022-09-30 14:23:36 +02:00
Rémi Verschelde
0e53dd642c Fix MSVC warning C4706: assignment within conditional expression
Part of #66537.
2022-09-28 16:05:07 +02:00