Merge Song & Sample (Audio 3.0, supersedes #441) #562
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
One "issue" with using SDL_sound for audio loading is that it supports formats with built-in loop points. When Gosu::Sample#initialize tries to completely preload such a file, it will crash.
This seems like a great chance to merge Sample & Song by having them both stream the file by default. If it is short enough, it can stay loaded in memory as an optimization (= the old Sample behavior).
This was meant to land in Gosu 1.0, but given #560, I think I will push this back since it is easy enough to work around this issue during development by not using looping samples.