factor/extra/audio/loader/loader.factor

21 lines
494 B
Factor

! (c)2009 Joe Groff bsd license
USING: ascii assocs io.pathnames kernel namespaces
vocabs.loader ;
IN: audio.loader
ERROR: unknown-audio-extension extension ;
SYMBOL: audio-types
audio-types [ H{ } clone ] initialize
: register-audio-extension ( extension quot -- )
swap audio-types get set-at ;
: read-audio ( path -- audio )
dup file-extension >lower audio-types get ?at
[ call( path -- audio ) ]
[ unknown-audio-extension ] if ;
"audio.wav" require
"audio.aiff" require