gurkenlabs / litiengine

LITIENGINE 🕹 The pure 2D java game engine.
https://litiengine.com/
MIT License
731 stars 94 forks source link

Sound source dropdown is only updated after project reload #772

Closed steffen-wilke closed 1 year ago

steffen-wilke commented 1 year ago

What feature / which classes are you referring to? The dropdown that is used to select which sound is allocated to a Sound source is not updating when resources are changed (added/removed). Therefore it is not possible to select sounds that have been added during the current application session and even worse: it's possible to select sounds that have already been removed. This will ultimately result in an unloadable project file that causes exceptions when it's opened.

SEVERE  de.gurkenlabs.litiengine.resources.ResourceLoadException: javax.imageio.IIOException: Can't get input stream from URL!
    at de.gurkenlabs.litiengine.resources.ResourcesContainer.loadResource(ResourcesContainer.java:395)
    at java.base/java.util.concurrent.ConcurrentHashMap.computeIfAbsent(Unknown Source)
    at de.gurkenlabs.litiengine.resources.ResourcesContainer.get(ResourcesContainer.java:276)
    at de.gurkenlabs.litiengine.resources.ResourcesContainer.get(ResourcesContainer.java:281)
    at de.gurkenlabs.litiengine.resources.ResourcesContainer.get(ResourcesContainer.java:213)
    at de.gurkenlabs.litiengine.environment.tilemap.MapRenderer.renderImageLayer(MapRenderer.java:190)
    at de.gurkenlabs.litiengine.environment.tilemap.MapRenderer.renderLayers(MapRenderer.java:100)
    at de.gurkenlabs.litiengine.environment.tilemap.MapRenderer.render(MapRenderer.java:75)
...

Describe what could be enhanced. Update the control upon changes to the sound resources.