]> gitweb.factorcode.org Git - factor.git/blob - extra/openal/example/example.factor
move alut stuff to openal.alut so alut only gets deployed if we use it
[factor.git] / extra / openal / example / example.factor
1 ! Copyright (C) 2007 Chris Double.\r
2 ! See http://factorcode.org/license.txt for BSD license.\r
3 USING: calendar kernel openal openal.alut sequences threads ;\r
4 IN: openal.example\r
5 \r
6 : play-hello ( -- )\r
7     init-openal\r
8     1 gen-sources\r
9     first dup AL_BUFFER  alutCreateBufferHelloWorld set-source-param\r
10     source-play\r
11     1000 milliseconds sleep ;\r
12   \r
13 : (play-file) ( source -- )\r
14     100 milliseconds sleep\r
15     dup source-playing? [ (play-file) ] [ drop ] if ;\r
16 \r
17 : play-file ( filename -- )\r
18     init-openal\r
19     create-buffer-from-file \r
20     1 gen-sources\r
21     first dup [ AL_BUFFER rot set-source-param ] dip\r
22     dup source-play\r
23     check-error\r
24     (play-file) ;\r
25 \r
26 : play-wav ( filename -- )\r
27     init-openal\r
28     create-buffer-from-wav \r
29     1 gen-sources\r
30     first dup [ AL_BUFFER rot set-source-param ] dip\r
31     dup source-play\r
32     check-error\r
33     (play-file) ;\r