Openal fixes

db4
Alex Chapman 2009-04-16 11:05:59 +10:00
parent 601f8fdd29
commit ea903a67ba
13 changed files with 8 additions and 10 deletions

View File

@ -1,7 +1,7 @@
! Copyright (C) 2007 Chris Double. ! Copyright (C) 2007 Chris Double.
! See http://factorcode.org/license.txt for BSD license. ! See http://factorcode.org/license.txt for BSD license.
USING: alien.c-types kernel alien alien.syntax shuffle USING: alien.c-types kernel alien alien.syntax shuffle
combinators.lib openal.backend namespaces system ; openal.backend namespaces system generalizations ;
IN: openal.macosx IN: openal.macosx
LIBRARY: alut LIBRARY: alut
@ -10,5 +10,5 @@ FUNCTION: void alutLoadWAVFile ( ALbyte* fileName, ALenum* format, void** data,
M: macosx load-wav-file ( path -- format data size frequency ) M: macosx load-wav-file ( path -- format data size frequency )
0 <int> f <void*> 0 <int> 0 <int> 0 <int> f <void*> 0 <int> 0 <int>
[ alutLoadWAVFile ] 4keep [ alutLoadWAVFile ] 4 nkeep
[ [ [ *int ] dip *void* ] dip *int ] dip *int ; [ [ [ *int ] dip *void* ] dip *int ] dip *int ;

View File

@ -1,8 +1,8 @@
! Copyright (C) 2007 Chris Double. ! Copyright (C) 2007 Chris Double.
! See http://factorcode.org/license.txt for BSD license. ! See http://factorcode.org/license.txt for BSD license.
USING: kernel arrays alien system combinators alien.syntax namespaces USING: kernel accessors arrays alien system combinators alien.syntax namespaces
alien.c-types sequences vocabs.loader shuffle alien.c-types sequences vocabs.loader shuffle
openal.backend specialized-arrays.uint ; openal.backend specialized-arrays.uint alien.libraries generalizations ;
IN: openal IN: openal
<< "alut" { << "alut" {
@ -245,13 +245,11 @@ SYMBOL: init
f init set-global f init set-global
] unless ; ] unless ;
: <uint-array> ( n -- byte-array ) "ALuint" <c-array> ;
: gen-sources ( size -- seq ) : gen-sources ( size -- seq )
dup <uint-array> 2dup underlying>> alGenSources swap ; dup <uint-array> [ alGenSources ] keep ;
: gen-buffers ( size -- seq ) : gen-buffers ( size -- seq )
dup <uint-array> 2dup underlying>> alGenBuffers swap ; dup <uint-array> [ alGenBuffers ] keep ;
: gen-buffer ( -- buffer ) 1 gen-buffers first ; : gen-buffer ( -- buffer ) 1 gen-buffers first ;
@ -264,10 +262,10 @@ os macosx? "openal.macosx" "openal.other" ? require
: create-buffer-from-wav ( filename -- buffer ) : create-buffer-from-wav ( filename -- buffer )
gen-buffer dup rot load-wav-file gen-buffer dup rot load-wav-file
[ alBufferData ] 4keep alutUnloadWAV ; [ alBufferData ] 4 nkeep alutUnloadWAV ;
: queue-buffers ( source buffers -- ) : queue-buffers ( source buffers -- )
[ length ] [ >uint-array underlying>> ] bi alSourceQueueBuffers ; [ length ] [ >uint-array ] bi alSourceQueueBuffers ;
: queue-buffer ( source buffer -- ) : queue-buffer ( source buffer -- )
1array queue-buffers ; 1array queue-buffers ;