0
0
mirror of https://github.com/Nimac0/SDL_Minigame synced 2026-01-12 09:03:42 +00:00
SDL_Minigame/classSoundManager.html

287 lines
17 KiB
HTML

<!-- HTML header for doxygen 1.10.0-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=11" />
<meta name="generator" content="Doxygen 1.13.2" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>VEGO-Engine: SoundManager Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<script type="text/javascript" src="doxygen-awesome-darkmode-toggle.js"></script>
<script type="text/javascript">
DoxygenAwesomeDarkModeToggle.init()
</script>
<script type="text/javascript" src="doxygen-awesome-fragment-copy-button.js"></script>
<script type="text/javascript">
DoxygenAwesomeFragmentCopyButton.init()
</script>
<script type="text/javascript" src="doxygen-awesome-paragraph-link.js"></script>
<script type="text/javascript">
DoxygenAwesomeParagraphLink.init()
</script>
<script type="text/javascript" src="doxygen-awesome-interactive-toc.js"></script>
<script type="text/javascript">
DoxygenAwesomeInteractiveToc.init()
</script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only-darkmode-toggle.css" rel="stylesheet" type="text/css"/>
<link href="custom.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top">
<!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">VEGO-Engine
<span id="projectnumber">&#160;0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.13.2 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('classSoundManager.html',''); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="classSoundManager-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">SoundManager Class Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Handles music and sound.
<a href="#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="SoundManager_8h_source.html">SoundManager.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-static-methods" name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:a1065dec9d90a6fc8a363329a6e09ea42" id="r_a1065dec9d90a6fc8a363329a6e09ea42"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a1065dec9d90a6fc8a363329a6e09ea42">playSound</a> (SoundEffects sound, bool canOverlap, int loops, int volume, int channel)</td></tr>
<tr class="memdesc:a1065dec9d90a6fc8a363329a6e09ea42"><td class="mdescLeft">&#160;</td><td class="mdescRight">Handles playing of sound effects. <br /></td></tr>
<tr class="separator:a1065dec9d90a6fc8a363329a6e09ea42"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6f38946a458843cfc08ebd9e26c648a5" id="r_a6f38946a458843cfc08ebd9e26c648a5"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a6f38946a458843cfc08ebd9e26c648a5">playMusic</a> (BackgroundMusic sound, int loops, int volume, int milliseconds)</td></tr>
<tr class="memdesc:a6f38946a458843cfc08ebd9e26c648a5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Handles playing of music. <br /></td></tr>
<tr class="separator:a6f38946a458843cfc08ebd9e26c648a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af99aee751f8300ba4041af004a97d319" id="r_af99aee751f8300ba4041af004a97d319"><td class="memItemLeft" align="right" valign="top"><a id="af99aee751f8300ba4041af004a97d319" name="af99aee751f8300ba4041af004a97d319"></a>
static void&#160;</td><td class="memItemRight" valign="bottom"><b>setSoundVolume</b> (int volume, int channel)</td></tr>
<tr class="memdesc:af99aee751f8300ba4041af004a97d319"><td class="mdescLeft">&#160;</td><td class="mdescRight">Volume handling for sound effects (either all or on a specific channel) <br /></td></tr>
<tr class="separator:af99aee751f8300ba4041af004a97d319"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac5ad38c2322c75ba5481c60c4c26e0e8" id="r_ac5ad38c2322c75ba5481c60c4c26e0e8"><td class="memItemLeft" align="right" valign="top"><a id="ac5ad38c2322c75ba5481c60c4c26e0e8" name="ac5ad38c2322c75ba5481c60c4c26e0e8"></a>
static void&#160;</td><td class="memItemRight" valign="bottom"><b>setMusicVolume</b> (int volume)</td></tr>
<tr class="memdesc:ac5ad38c2322c75ba5481c60c4c26e0e8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Volume handling for music track. <br /></td></tr>
<tr class="separator:ac5ad38c2322c75ba5481c60c4c26e0e8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8031476c2ccd2dd1c40a39a102bc5844" id="r_a8031476c2ccd2dd1c40a39a102bc5844"><td class="memItemLeft" align="right" valign="top"><a id="a8031476c2ccd2dd1c40a39a102bc5844" name="a8031476c2ccd2dd1c40a39a102bc5844"></a>
static void&#160;</td><td class="memItemRight" valign="bottom"><b>pauseSound</b> (int channel)</td></tr>
<tr class="memdesc:a8031476c2ccd2dd1c40a39a102bc5844"><td class="mdescLeft">&#160;</td><td class="mdescRight">Handles pausing sound effects (either all or on a specific channel) <br /></td></tr>
<tr class="separator:a8031476c2ccd2dd1c40a39a102bc5844"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5071bf5e87394afdb1e4148227ffc3ea" id="r_a5071bf5e87394afdb1e4148227ffc3ea"><td class="memItemLeft" align="right" valign="top"><a id="a5071bf5e87394afdb1e4148227ffc3ea" name="a5071bf5e87394afdb1e4148227ffc3ea"></a>
static void&#160;</td><td class="memItemRight" valign="bottom"><b>pauseMusic</b> ()</td></tr>
<tr class="memdesc:a5071bf5e87394afdb1e4148227ffc3ea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Handles pausing music track. <br /></td></tr>
<tr class="separator:a5071bf5e87394afdb1e4148227ffc3ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac24dc06983603020f6556273d3c78df3" id="r_ac24dc06983603020f6556273d3c78df3"><td class="memItemLeft" align="right" valign="top"><a id="ac24dc06983603020f6556273d3c78df3" name="ac24dc06983603020f6556273d3c78df3"></a>
static void&#160;</td><td class="memItemRight" valign="bottom"><b>restartSound</b> (int channel)</td></tr>
<tr class="memdesc:ac24dc06983603020f6556273d3c78df3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Handles resuming sound effects (either all or on a specific channel) <br /></td></tr>
<tr class="separator:ac24dc06983603020f6556273d3c78df3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaca970232ead83c6c107331f3d9ee0db" id="r_aaca970232ead83c6c107331f3d9ee0db"><td class="memItemLeft" align="right" valign="top"><a id="aaca970232ead83c6c107331f3d9ee0db" name="aaca970232ead83c6c107331f3d9ee0db"></a>
static void&#160;</td><td class="memItemRight" valign="bottom"><b>restartMusic</b> ()</td></tr>
<tr class="memdesc:aaca970232ead83c6c107331f3d9ee0db"><td class="mdescLeft">&#160;</td><td class="mdescRight">Handles resuming music track. <br /></td></tr>
<tr class="separator:aaca970232ead83c6c107331f3d9ee0db"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aea6a94c8b5456812c49115baa7534bf7" id="r_aea6a94c8b5456812c49115baa7534bf7"><td class="memItemLeft" align="right" valign="top"><a id="aea6a94c8b5456812c49115baa7534bf7" name="aea6a94c8b5456812c49115baa7534bf7"></a>
static void&#160;</td><td class="memItemRight" valign="bottom"><b>fadeOutMusic</b> (int ms)</td></tr>
<tr class="memdesc:aea6a94c8b5456812c49115baa7534bf7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Handles fading out a music track. <br /></td></tr>
<tr class="separator:aea6a94c8b5456812c49115baa7534bf7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a552795938033c602a28162fec202d20c" id="r_a552795938033c602a28162fec202d20c"><td class="memItemLeft" align="right" valign="top"><a id="a552795938033c602a28162fec202d20c" name="a552795938033c602a28162fec202d20c"></a>
static void&#160;</td><td class="memItemRight" valign="bottom"><b>addSoundEffects</b> (const std::map&lt; SoundEffects, const char * &gt; &amp;effects)</td></tr>
<tr class="memdesc:a552795938033c602a28162fec202d20c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes sound-effects and adds them to a cache. <br /></td></tr>
<tr class="separator:a552795938033c602a28162fec202d20c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8717fc6cbf4cc3e863eda97deacad007" id="r_a8717fc6cbf4cc3e863eda97deacad007"><td class="memItemLeft" align="right" valign="top"><a id="a8717fc6cbf4cc3e863eda97deacad007" name="a8717fc6cbf4cc3e863eda97deacad007"></a>
static void&#160;</td><td class="memItemRight" valign="bottom"><b>addBackgroundMusic</b> (const std::map&lt; BackgroundMusic, const char * &gt; &amp;backgroundMusic)</td></tr>
<tr class="memdesc:a8717fc6cbf4cc3e863eda97deacad007"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes background-music and adds them to a cache. <br /></td></tr>
<tr class="separator:a8717fc6cbf4cc3e863eda97deacad007"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Handles music and sound. </p>
<p><a class="el" href="classSoundManager.html" title="Handles music and sound.">SoundManager</a> handles loading in music and sound effects from files, playing music and sound effects and toggling the audio volume. </p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="a6f38946a458843cfc08ebd9e26c648a5" name="a6f38946a458843cfc08ebd9e26c648a5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6f38946a458843cfc08ebd9e26c648a5">&#9670;&#160;</a></span>playMusic()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void SoundManager::playMusic </td>
<td>(</td>
<td class="paramtype">BackgroundMusic</td> <td class="paramname"><span class="paramname"><em>sound</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int</td> <td class="paramname"><span class="paramname"><em>loops</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int</td> <td class="paramname"><span class="paramname"><em>volume</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int</td> <td class="paramname"><span class="paramname"><em>milliseconds</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel static">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Handles playing of music. </p>
<p>Handles how often track can loop, as well as the volume at which the specified track should play and if it fades in. </p>
</div>
</div>
<a id="a1065dec9d90a6fc8a363329a6e09ea42" name="a1065dec9d90a6fc8a363329a6e09ea42"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1065dec9d90a6fc8a363329a6e09ea42">&#9670;&#160;</a></span>playSound()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void SoundManager::playSound </td>
<td>(</td>
<td class="paramtype">SoundEffects</td> <td class="paramname"><span class="paramname"><em>sound</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool</td> <td class="paramname"><span class="paramname"><em>canOverlap</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int</td> <td class="paramname"><span class="paramname"><em>loops</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int</td> <td class="paramname"><span class="paramname"><em>volume</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int</td> <td class="paramname"><span class="paramname"><em>channel</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel static">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Handles playing of sound effects. </p>
<p>Handles if sounds can overlap, how often they can loop, as well as the volume at which the specified sound effect should play and on which channel the soundeffect should play. </p>
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>include/<a class="el" href="SoundManager_8h_source.html">SoundManager.h</a></li>
<li>src/<b>SoundManager.cpp</b></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="classSoundManager.html">SoundManager</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.13.2 </li>
</ul>
</div>
</body>
</html>