sfxr.lua/README.md

59 lines
1.4 KiB
Markdown
Raw Normal View History

2014-04-11 18:16:20 +00:00
sfxr.lua
========
2014-04-11 17:31:10 +00:00
2014-05-24 13:32:13 +00:00
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.
2014-04-11 18:16:20 +00:00
Demo
----
To run the demo application you first need to download
[LoveFrames](https://github.com/NikolaiResokav/LoveFrames) as a submodule:
```
2016-03-01 19:27:54 +00:00
git submodule update --init
love demo
```
2016-03-01 23:37:06 +00:00
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.
2014-04-11 18:16:20 +00:00
Example usage
-------------
2016-03-05 20:41:25 +00:00
The following code examples demonstrate how to play a randomly generated sound:
2014-04-11 18:16:20 +00:00
2016-03-01 23:37:06 +00:00
With [LÖVE](http://love2d.org):
2014-04-11 18:16:20 +00:00
```lua
local sfxr = require("sfxr")
function love.load()
2014-05-07 14:58:37 +00:00
local sound = sfxr.newSound()
2014-04-11 18:16:20 +00:00
sound:randomize()
2016-03-05 20:41:25 +00:00
local sounddata = sound:generateSoundData()
local source = love.audio.newSource(sounddata)
source:play()
2014-04-11 18:16:20 +00:00
end
```
2014-05-25 21:26:49 +00:00
With [lao](https://github.com/TheLinx/lao):
2014-04-11 18:16:20 +00:00
```lua
require("ao")
local sfxr = require("sfxr")
local driverId = ao.defaultDriverId()
local device = ao.openLive(driverId, {bits = 16, rate = 44100, channels = 1})
2014-05-07 14:58:37 +00:00
local sound = sfxr.newSound()
2014-04-11 18:16:20 +00:00
sound:randomize()
2016-03-09 22:00:44 +00:00
device:play(sound:generateString())
2014-04-11 18:16:20 +00:00
```
2014-06-02 16:52:18 +00:00
2016-03-01 23:47:03 +00:00
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.
2016-03-05 19:17:58 +00:00
(Note to self: `ldoc . && git subtree push --prefix doc origin gh-pages`)