]> gitweb.factorcode.org Git - factor.git/blob - extra/audio/loader/loader.factor
factor: trim using lists
[factor.git] / extra / audio / loader / loader.factor
1 ! Copyright (C) 2009 Joe Groff.
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: ascii assocs io.pathnames namespaces vocabs ;
4 IN: audio.loader
5
6 ERROR: unknown-audio-extension extension ;
7
8 SYMBOL: audio-types
9 audio-types [ H{ } clone ] initialize
10
11 : register-audio-extension ( extension quot -- )
12     swap audio-types get set-at ;
13
14 : read-audio ( path -- audio )
15     dup file-extension >lower audio-types get ?at
16     [ call( path -- audio ) ]
17     [ unknown-audio-extension ] if ;
18
19 "audio.wav" require
20 "audio.aiff" require