From 57b7ac42a651192aeccf0f1ff2255886bf211708 Mon Sep 17 00:00:00 2001 From: BlackMinou Date: Thu, 15 Jan 2015 13:33:50 +0100 Subject: [PATCH] App: Audio abstraction in App Signed-off-by: BlackMinou --- lib/app/audio.nit | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 lib/app/audio.nit diff --git a/lib/app/audio.nit b/lib/app/audio.nit new file mode 100644 index 0000000..de68bb9 --- /dev/null +++ b/lib/app/audio.nit @@ -0,0 +1,43 @@ +# This file is part of NIT ( http://www.nitlanguage.org ). +# +# Copyright 2014 Romain Chanoir +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# App audio abstraction +# +# Once the application has started (after `App.setup`) +# use `App.load_sound` to get a sound +# then `Sound.play` to play it +module audio + +import app_base + +# Abstraction of a sound +abstract class Sound + + # Plays the sound + fun play is abstract + + # Pauses the sound + fun pause is abstract + + # Resumes the sound + fun resume is abstract +end + +redef class App + + # Loads a sound from the assets of the app, returns `null` if the loading failed + fun load_sound(name: String): nullable Sound do return null +end -- 1.7.9.5