audio: move some services between the abstraction and the Android layers
[nit.git] / lib / app / audio.nit
index 0f1ab76..b26ae7b 100644 (file)
@@ -31,14 +31,13 @@ import android::audio is conditional(android)
 # Abstraction of a playable Audio
 abstract class PlayableAudio
 
+       init do sounds.add self
+
        # Path to the audio file in the assets folder
        var path: String
 
        # Last error on this sound, if any
-       var error: nullable Error = null is writable
-
-       # Is `self` already loaded?
-       protected var is_loaded = false is writable
+       fun error: nullable Error do return null
 
        # Load this playable audio
        fun load do end
@@ -62,3 +61,9 @@ end
 class Music
        super PlayableAudio
 end
+
+redef class Sys
+
+       # All instantiated sounds
+       var sounds = new Array[PlayableAudio]
+end