]> gitweb.factorcode.org Git - factor.git/blob - extra/audio/audio-docs.factor
Update some copyright headers to follow the current convention
[factor.git] / extra / audio / audio-docs.factor
1 ! Copyright (C) 2010 Joe Groff.
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: alien byte-arrays help.markup help.syntax kernel math
4 memory ;
5 IN: audio
6
7 HELP: <audio>
8 { $values
9     { "channels" integer } { "sample-bits" integer } { "sample-rate" integer } { "size" integer } { "data" c-ptr }
10     { "audio" integer }
11 }
12 { $description "Constructs an " { $link audio } " object with the given parameters." } ;
13
14 HELP: audio
15 { $class-description "Objects of this class contain uncompressed PCM audio data. The " { $snippet "data" } " slot contains an " { $link alien } " pointer or " { $link byte-array } " with the binary PCM data, and the " { $link size } " slot indicates the length in bytes of the data. The " { $snippet "channels" } ", " { $snippet "sample-bits" } " and " { $snippet "sample-rate" } " slots indicate the number of channels (1 for mono, 2 for stereo), bits per sample, and sample rate of the data." } ;
16
17 HELP: format-unsupported-by-openal
18 { $values
19     { "audio" audio }
20 }
21 { $description "Errors of this class are thrown when " { $link openal-format } " is called on an " { $link audio } " object for which there is no OpenAL-supported format." } ;
22
23 HELP: openal-format
24 { $values
25     { "audio" audio }
26     { "format" "an ALenum value" }
27 }
28 { $description "Returns the OpenAL format value that corresponds to the format of the " { $snippet "audio" } " object. If the object's format doesn't match an OpenAL-supported format, a " { $link format-unsupported-by-openal } " error is thrown." } ;
29
30 ARTICLE: "audio" "Audio framework"
31 "The " { $vocab-link "audio" } " vocabulary and its child vocabularies provide a framework for reading audio data from disk and playing back audio using prerendered, streaming, or generated audio sources. By itself, the " { $snippet "audio" } " vocabulary provides a container class for prerendered PCM audio data:"
32 { $subsections
33     audio
34     <audio>
35     openal-format
36 }
37 "The following child vocabularies provide additional audio features:"
38 { $list
39 { { $vocab-link "audio.engine" } " provides a high-level OpenAL-based engine for playing audio clips." }
40 { { $vocab-link "audio.loader" } " reads PCM data from files on disk into " { $link audio } " objects. " { $vocab-link "audio.wav" } " and " { $vocab-link "audio.aiff" } " support specific audio file formats." }
41 { { $vocab-link "audio.vorbis" } " implements an " { $snippet "audio.engine" } " compatible generator object for decoding Ogg Vorbis audio data from a stream." }
42 } ;
43
44 ABOUT: "audio"