godotengine / godotengine/godot
Advanced audio editor for loops/beat setup broken/different for .ogg and ,mp3s, ogg file freezes editor with offset change (not ignored as editor claims in tooltip)
- Dominant language
- C++
- Stars
- 117k
- Forks
- 26.8k
- PR merge metrics
- PR metrics pending
Description
### Tested versions
- Reproduceable in 4.3
### System information
Windows 10 - Godot 4.3
### Issue description
Strange behavior with Ogg and MP3 bpm looping and Offset together. The offset control claims to ignore if set when BPM is also set in its tooltip. However, it does work with them together in the editor, runtime test, and exported .exe. If offset is set past the loop end in BPM checked, the MP3 tries and buzzes; it can just be stopped or started again. Oggs freeze whatever .exe instantiated the playback.
I also just noticed while messing a bit that the eggs sometimes don't hang whatever instantiates it, making playback impossible in the AudioStreamPlayer being used. However, this leads to instability in the "instantiator" that will eventually freeze it.
### Steps to reproduce
In the editor, when you double click an .ogg or .mp3 file, or click on the Advanced button in the Import tab, it opens the dialog for editing loops, bpm, beats, and bars.
If you hover over the offset it claims it is ignored if the BPM is set. This is not true. If you set it for MP3s it works just fine in the dialog and at runtime, when the clip or beat count (bpm loop end) is reached, if the offset is before that, it will start the loop over at that offset, otherwise it will try and buzz as it's trying to play after the end of the loop but cannot.
If you do the same with .ogg files, it will work the same unless you set up like the latter described above, the offset after the loop end, it then hangs Godot Editor, probably forever until you end task either by task manager or windows telling you it is not responding dialog. This behavior is the same for the editor dialog, testing rutime in the editor, and will also freeze the exported .exe standalone in the same way with oggs.
### Minimal reproduction project (MRP)
N/A
Contributor guide
Research direction
Open an OGG or MP3 in Godot 4.3, use the Import tab's Advanced audio editor, and reproduce the BPM-plus-offset cases described in the report. Compare editor playback, runtime playback, and an exported executable; the issue is done when an offset beyond the loop end is handled without buzzing, freezing, or destabilizing the editor or player.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp, godot
- Domain
- audio-video-rtc, tooling
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 28/100