API Overview - Hangman/TuningFork GitHub Wiki
TuningFork tries to be a thin wrapper around OpenAL Soft while providing some high-level and convenience features that reduce developer effort. Here is a rough overview of its components.
Core
Class |
Description |
Audio |
The main class needed for initialization. It provides general settings like setting the attenuation model, master volume and provides access to the used AudioDevice and the SoundListener. |
AudioDevice |
Provides access to hardware specific settings like HRTF. |
SoundListener |
Represents the listener in the audio world (there's only one at a time). You can set the position, orientation and some more attributes to adjust the audio output. |
SoundBuffer |
Holds a buffer with audio data that can be played directly or used by a BufferedSoundSource. |
ReadableSoundBuffer |
Just like SoundBuffer, but it keeps a copy of the samples for you to read back. |
BufferedSoundSource |
An audio source that can play fully loaded audio (not streaming). |
StreamedSoundSource |
An audio source that streams audio data from disk. |
SoundLoader |
Used to load sound files. Returns a SoundBuffer or a ReadableSoundBuffer. |
SoundEffect |
Can be attached to a SoundSource to change the sound output of the source based on one of the various effects available. |
Music Player
Class |
Description |
JukeBox |
This is the music player, it needs to be updated every frame and offers methods to play Songs from PlayLists. |
PlayList |
A PlayList is a collection of any number of Songs that should be grouped together. The JukeBox plays them in order. |
PlayListProvider |
Provides the JukeBox with PlayLists. This is just an interface, available implementations are listed on the Music Player wiki page. |
Song |
A Song groups a SoundSource, SongSettings and SongMeta. |
SongSettings |
Defines volume and fading settings for a Song. |
SongMeta |
An optional data class to provide custom meta-data for a Song (like title, artist, etc.). |
Audio Capture
Class |
Description |
CaptureDevice |
Used to record audio from capture devices like microphones. |
Low-level API
Class |
Description |
AudioStream |
An interface you can implement to plug-in custom decoders or other sources of audio. SoundLoader and StreamedSoundSources accept AudioStreams as sources. You can also extend one of the built-in implementations below. |
WavInputStream |
An AudioStream that decodes wav files. |
AiffInputStream |
An AudioStream that decodes aiff files. |
FlacInputStream |
An AudioStream that decodes flac files. |
Mp3InputStream |
An AudioStream that decodes mp3 files. |
OggInputStream |
An AudioStream that decodes ogg vorbis files. |
QoaInputStream |
An AudioStream that decodes qoa files. |
PcmSoundSource |
An audio source that can be fed with raw pcm data. |
PcmUtil |
Provides utility functions to analyze or modify PCM samples. |