30f55a42c73387f72f6f75d571a66909d47b2404
[nit.git] / lib / linux / audio.nit
1 # This file is part of NIT ( http://www.nitlanguage.org ).
2 #
3 # Copyright 2015 Romain Chanoir <romain.chanoir@viacesi.fr>
4 #
5 # Licensed under the Apache License, Version 2.0 (the "License");
6 # you may not use this file except in compliance with the License.
7 # You may obtain a copy of the License at
8 #
9 # http://www.apache.org/licenses/LICENSE-2.0
10 #
11 # Unless required by applicable law or agreed to in writing, software
12 # distributed under the License is distributed on an "AS IS" BASIS,
13 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 # See the License for the specific language governing permissions and
15 # limitations under the License.
16
17 # Linux audio services
18 module audio
19
20 import app::audio
21 import mnit::linux::linux_assets
22
23 # Simple audio asset
24 redef class Sound
25
26 redef fun play do
27 if name.has_suffix(".wav") then
28 sys.system "aplay -q {app.assets_dir}{name} &"
29 else if name.has_suffix(".mp3") then
30 sys.system "mpg123 -q {app.assets_dir}{name} &"
31 end
32 end
33
34 redef fun load do end
35 redef fun pause do end
36 redef fun resume do end
37 end
38
39 redef class Music
40
41 redef fun play do
42 if name.has_suffix(".wav") then
43 sys.system "aplay -q {app.assets_dir}{name} &"
44 else if name.has_suffix(".mp3") then
45 sys.system "mpg123 -q {app.assets_dir}{name} &"
46 end
47 end
48
49 redef fun load do end
50 redef fun pause do end
51 redef fun resume do end
52 end
53
54 redef class App
55 redef fun load_sound(name)
56 do
57 return new Sound(name)
58 end
59
60 redef fun load_music(name)
61 do
62 return new Music(name)
63 end
64 end