summaryrefslogtreecommitdiff
path: root/manuals/chickadee/Audio-Files.html
diff options
context:
space:
mode:
authorDavid Thompson <dthompson@vistahigherlearning.com>2020-04-08 17:10:29 -0400
committerDavid Thompson <dthompson@vistahigherlearning.com>2020-04-08 17:10:29 -0400
commite7d470e954d0a17ab1b2fe0065f46f78475272f9 (patch)
treeca4d9c00789f41dbbdbac33151824812dad879f7 /manuals/chickadee/Audio-Files.html
parentb660cbb5287f7cdcb6cebaba72afe8fc7d512616 (diff)
Add chickade 0.5.0 stuff.
Diffstat (limited to 'manuals/chickadee/Audio-Files.html')
-rw-r--r--manuals/chickadee/Audio-Files.html221
1 files changed, 221 insertions, 0 deletions
diff --git a/manuals/chickadee/Audio-Files.html b/manuals/chickadee/Audio-Files.html
new file mode 100644
index 0000000..a10a418
--- /dev/null
+++ b/manuals/chickadee/Audio-Files.html
@@ -0,0 +1,221 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- Copyright (C) 2017-2020 David Thompson davet@gnu.org
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3
+or any later version published by the Free Software Foundation;
+with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
+A copy of the license is included in the section entitled "GNU
+Free Documentation License".
+
+A copy of the license is also available from the Free Software
+Foundation Web site at http://www.gnu.org/licenses/fdl.html.
+
+
+* Chickadee: (chickadee). Game programming toolkit for Guile.
+
+The document was typeset with
+http://www.texinfo.org/ (GNU Texinfo).
+ -->
+<!-- Created by GNU Texinfo 6.6, http://www.gnu.org/software/texinfo/ -->
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<title>Audio Files (The Chickadee Game Toolkit)</title>
+
+<meta name="description" content="Audio Files (The Chickadee Game Toolkit)">
+<meta name="keywords" content="Audio Files (The Chickadee Game Toolkit)">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="Index.html#Index" rel="index" title="Index">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Audio.html#Audio" rel="up" title="Audio">
+<link href="Sources.html#Sources" rel="next" title="Sources">
+<link href="Audio.html#Audio" rel="prev" title="Audio">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.indentedblock {margin-right: 0em}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+kbd {font-style: oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+span.nolinebreak {white-space: nowrap}
+span.roman {font-family: initial; font-weight: normal}
+span.sansserif {font-family: sans-serif; font-weight: normal}
+ul.no-bullet {list-style: none}
+@media (min-width: 1140px) {
+ body {
+ margin-left: 14rem;
+ margin-right: 4rem;
+ max-width: 52rem;
+ }
+}
+
+@media (min-width: 800px) and (max-width: 1140px) {
+ body {
+ margin-left: 6rem;
+ margin-right: 4rem;
+ max-width: 52rem;
+ }
+}
+
+@media (max-width: 800px) {
+ body {
+ margin: 1rem;
+ }
+}
+
+-->
+</style>
+<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css">
+
+
+</head>
+
+<body lang="en">
+<span id="Audio-Files"></span><div class="header">
+<p>
+Next: <a href="Sources.html#Sources" accesskey="n" rel="next">Sources</a>, Up: <a href="Audio.html#Audio" accesskey="u" rel="up">Audio</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html#Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<hr>
+<span id="Audio-Files-1"></span><h4 class="subsection">2.4.1 Audio Files</h4>
+
+<p>Sound data is represented by a special <code>&lt;audio&gt;</code> data type that
+stores not only the audio samples themselves, but metadata such as
+sample rate, number of channels, and how many bits are used for each
+sample.
+</p>
+<dl>
+<dt id="index-load_002daudio">Procedure: <strong>load-audio</strong> <em>file-name [#:mode <code>static</code>]</em></dt>
+<dd><p>Load audio within <var>file-name</var>. The following file formats are
+currently supported:
+</p>
+<ul>
+<li> WAV
+</li><li> MP3
+</li><li> Ogg Vorbis
+</li></ul>
+
+<p>Audio files can be loaded in two different ways, as indicated by
+<var>mode</var>:
+</p>
+<ul>
+<li> static:
+Load the entire audio file into memory.
+</li><li> stream:
+Load chunks of the audio file as needed.
+</li></ul>
+
+<p>Generally speaking, sound effects don&rsquo;t take up much space and should
+be loaded statically, but music files are much larger and should use
+streaming. Static loading is the default.
+</p></dd></dl>
+
+<dl>
+<dt id="index-audio_003f">Procedure: <strong>audio?</strong> <em><var>obj</var></em></dt>
+<dd><p>Return <code>#t</code> if <var>obj</var> is an audio object.
+</p></dd></dl>
+
+<dl>
+<dt id="index-streaming_002daudio_003f">Procedure: <strong>streaming-audio?</strong> <em><var>audio</var></em></dt>
+<dd><p>Return <code>#t</code> if <var>audio</var> uses stream loading.
+</p></dd></dl>
+
+<dl>
+<dt id="index-static_002daudio_003f">Procedure: <strong>static-audio?</strong></dt>
+<dd><p>Return <code>#t</code> if <var>audio</var> uses static loading.
+</p></dd></dl>
+
+<dl>
+<dt id="index-audio_002dmode">Procedure: <strong>audio-mode</strong> <em>audio</em></dt>
+<dd><p>Return the loading mode for <var>audio</var>, either <code>static</code> or
+<code>stream</code>.
+</p></dd></dl>
+
+<dl>
+<dt id="index-audio_002dduration">Procedure: <strong>audio-duration</strong> <em>audio</em></dt>
+<dd><p>Return the duration of <var>audio</var> in seconds.
+</p></dd></dl>
+
+<dl>
+<dt id="index-audio_002dbits_002dper_002dsample">Procedure: <strong>audio-bits-per-sample</strong> <em>audio</em></dt>
+<dd><p>Return the number of bits per sample in <var>audio</var>.
+</p></dd></dl>
+
+<dl>
+<dt id="index-audio_002dchannels">Procedure: <strong>audio-channels</strong> <em>audio</em></dt>
+<dd><p>Return the number of channels in <var>audio</var>.
+</p></dd></dl>
+
+<dl>
+<dt id="index-audio_002dsample_002drate">Procedure: <strong>audio-sample-rate</strong> <em>audio</em></dt>
+<dd><p>Return the sample rate of <var>audio</var>.
+</p></dd></dl>
+
+<dl>
+<dt id="index-audio_002dplay">Procedure: <strong>audio-play</strong> <em>audio [#:pitch 1.0] [#:volume 1.0] [#:min-volume 0.0] [#:max-volume 1.0] [#:max-distance] [#:reference-distance 0.0] [#:rolloff-factor 1.0] [#:cone-outer-volume 0.0] [#:cone-inner-angle 0.0] [#:cone-outer-angle] [#:position <code>(vec3 0.0 0.0 0.0)</code>] [#:velocity <code>(vec3 0.0 0.0 0.0)</code>] [#:direction <code>(vec3 0.0 0.0 0.0)</code>] [#:relative? <code>#f</code>]</em></dt>
+<dd>
+<p>Play <var>audio</var>. There are many, many knobs to tweak that will
+affect the sound that comes out of the player&rsquo;s speakers.:
+</p>
+<ul>
+<li> <var>pitch</var>:
+Pitch multiplier. The default value of 1.0 means no change in pitch.
+</li><li> <var>volume</var>:
+Volume multiplier. The default value of 1.0 means no change in volume.
+</li><li> <var>min-volume</var>:
+Minimum volume.
+</li><li> <var>max-volume</var>:
+Maximum volume.
+</li><li> <var>max-distance</var>:
+Used with the inverse clamped distance model (the default model) to
+set the distance where there will no longer be any attenuation of the
+source.
+</li><li> <var>reference-distance</var>:
+The distance where the volume for the audio would drop by half (before
+being influenced by the rolloff factor or maximum distance.)
+</li><li> <var>rolloff-factor</var>:
+For slowing down or speeding up the rate of attenuation. The default
+of 1.0 means no attenuation adjustment is made.
+</li><li> <var>cone-outer-volume</var>:
+The volume when outside the oriented cone.
+</li><li> <var>cone-inner-angle</var>:
+Inner angle of the sound cone, in radians. The default value is 0.
+</li><li> <var>cone-outer-angle</var>:
+Outer angle of the sound cone, in radians. The default value is 2pi
+radians, or 360 degrees.
+</li><li> <var>position</var>:
+The source of the sound emitter in 3D space.
+</li><li> <var>velocity</var>:
+The velocity of the sound emitter in 3D space.
+</li><li> <var>direction</var>:
+The direction of the sound emitter in 3D space.
+</li><li> <var>relative?</var>:
+A flag that determines whether the position is in absolute coordinates
+or relative to the listener&rsquo;s location. Absolute coordinates are used
+by default.
+</li></ul>
+
+<p>For games with basic sound needs (that is to say they don&rsquo;t need 3D
+sound modeling), the only things that really matter are <var>volume</var>
+and <var>pitch</var>.
+</p>
+</dd></dl>
+
+<hr>
+<div class="header">
+<p>
+Next: <a href="Sources.html#Sources" accesskey="n" rel="next">Sources</a>, Up: <a href="Audio.html#Audio" accesskey="u" rel="up">Audio</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html#Index" title="Index" rel="index">Index</a>]</p>
+</div>
+
+
+
+</body>
+</html>