sfxr.lua/README.md

59 lines
1.4 KiB
Markdown

sfxr.lua
========
A port of the sfxr sound effect synthesizer to pure Lua, designed to be used
together with the *awesome* [LÖVE](https://love2d.org) game framework.
Demo
----
To run the demo application you first need to download
[LoveFrames](https://github.com/NikolaiResokav/LoveFrames) as a submodule:
```
git submodule update --init
love demo
```
Note: Due to LoveFrames only supporting LÖVE 0.9.x, this dependency is inherited
by the demo. A move to a new GUI framework is pending.
Example usage
-------------
The following code examples demonstrate how to play a randomly generated sound:
With [LÖVE](http://love2d.org):
```lua
local sfxr = require("sfxr")
function love.load()
local sound = sfxr.newSound()
sound:randomize()
local sounddata = sound:generateSoundData()
local source = love.audio.newSource(sounddata)
source:play()
end
```
With [lao](https://github.com/TheLinx/lao):
```lua
require("ao")
local sfxr = require("sfxr")
local driverId = ao.defaultDriverId()
local device = ao.openLive(driverId, {bits = 16, rate = 44100, channels = 1})
local sound = sfxr.newSound()
sound:randomize()
device:play(sound:generateString())
```
Documentation
-------------
[**The latest documentation build is available here**](http://nucular.github.io/sfxrlua/)
This project uses [LDoc](http://stevedonovan.github.io/ldoc/) for autogenerated
API documentation.
(Note to self: `ldoc . && git subtree push --prefix doc origin gh-pages`)