Mercurial > pub > dyncall > bindings
diff R/rdyncall/demo/playtune.R @ 0:0cfcc391201f
initial from svn dyncall-1745
author | Daniel Adler |
---|---|
date | Thu, 19 Mar 2015 22:26:28 +0100 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/R/rdyncall/demo/playtune.R Thu Mar 19 22:26:28 2015 +0100 @@ -0,0 +1,35 @@ + +# Package: rdyncall +# File: demo/playtune.R +# Description: play a nice oldsch00l tune. +# Uses: SDL/audio, SDL_mixer + +rsrc <- function(name) system.file(paste("demo-files",name,sep=.Platform$file.sep), package="rdyncall") +music <- NULL +init <- function() +{ + require(rdyncall) + dynport(SDL) + SDL_Init(SDL_INIT_AUDIO) + dynport(SDL_mixer) + Mix_OpenAudio(MIX_DEFAULT_FREQUENCY, MIX_DEFAULT_FORMAT, 2, 4096) + music <<- Mix_LoadMUS(rsrc("external.xm")) +} +cleanup <- function() +{ + stopTune() + Mix_FreeMusic(music) + Mix_CloseAudio() + SDL_Quit() +} + +playTune <- function() { + Mix_PlayMusic(music, 1) + cat("playing music... [to stop, call 'stopTune()']\n") +} +pauseTune <- function() Mix_PauseMusic() +stopTune <- function() Mix_HaltMusic() + +init() +playTune() +