34 lines
		
	
	
		
			833 B
		
	
	
	
		
			Factor
		
	
	
			
		
		
	
	
			34 lines
		
	
	
		
			833 B
		
	
	
	
		
			Factor
		
	
	
| ! Copyright (C) 2007 Chris Double.
 | |
| ! See http://factorcode.org/license.txt for BSD license.
 | |
| !
 | |
| IN: openal.example
 | |
| USING: openal kernel alien threads sequences calendar ;
 | |
| 
 | |
| : play-hello ( -- )
 | |
|   init-openal
 | |
|   1 gen-sources
 | |
|   first dup AL_BUFFER  alutCreateBufferHelloWorld set-source-param
 | |
|   source-play
 | |
|   1000 milliseconds sleep ;
 | |
|   
 | |
| : (play-file) ( source -- )
 | |
|   100 milliseconds sleep
 | |
|   dup source-playing? [ (play-file) ] [ drop ] if ;
 | |
| 
 | |
| : play-file ( filename -- )
 | |
|   init-openal
 | |
|   create-buffer-from-file 
 | |
|   1 gen-sources
 | |
|   first dup >r AL_BUFFER rot set-source-param r>
 | |
|   dup source-play
 | |
|   check-error
 | |
|   (play-file) ;
 | |
| 
 | |
| : play-wav ( filename -- )
 | |
|   init-openal
 | |
|   create-buffer-from-wav 
 | |
|   1 gen-sources
 | |
|   first dup >r AL_BUFFER rot set-source-param r>
 | |
|   dup source-play
 | |
|   check-error
 | |
|   (play-file) ; |