Hangman / TuningFork

Advanced 3D audio features for libGDX desktop users.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

logo

TuningFork

Release Workflow WorkflowNative Versioning

Introduction

TuningFork is a library for libGDX that provides advanced audio features. The goal was to make most of the features of OpenAL accessible and provide a comfortable, easy to use, low overhead and object oriented high-level API. In addition, the library offers some convenience features that are needed for most games, such as the music player.
Note that TuningFork is not an extension to libGDX audio but a replacement.

Main Features

  • Spatial 3D and 2D audio
  • Directional audio (3D)
  • Real-time effects such as Reverb, Echo, Flanger, Distortion (and many more)
  • Filters
  • Music player with support for playlists and fading
  • Loop-points
  • HRTF support (aka binaural)
  • Streaming is handled on a background thread
  • Load wav, aiff, ogg, flac, mp3 (see the full list)
  • Supports surround sound formats
  • AssetManager integration
  • Play raw PCM data
  • Record audio

Limitations

  • Desktop only

Why

The standard audio capabilities of libGDX are very limited compared to sound APIs like OpenAL - probably due to its cross-platform nature. Especially if you are developing a 3D application and want to create realistic spatial sound, use features like HRTF etc., you'll face some problems with libGDX.

Install

TuningFork is available via Jitpack. First make sure you have Jitpack declared as repository in your root build.gradle file:

allprojects {
    repositories {
        // ...
        maven { url 'https://jitpack.io' }
    }
}

Then add TuningFork as dependency in your core project:

project(":core") {
    dependencies {
    	// ...
        implementation 'com.github.Hangman:TuningFork:4.2.1'
    }
}

Compatibility

Java 8 is required, make sure to set sourceCompatibility = JavaLanguageVersion.of(8) (or higher) in your gradle scripts.

Version of libGDX Latest compatible version of TuningFork
1.12.1 4.2.1
1.12.0 4.1.0
1.9.12 - 1.11.0 3.3.0
1.9.11 2.0.1
< 1.9.11 not supported, might work though: 2.0.1

Upgrading

This library follows semantic versioning. Breaking changes are indicated by a major version increase. You can find the release notes here.

Getting Started

Go to the wiki

Building From Source

To build TuningFork from source, you need a JDK >= 8 installed. Like Adoptium JDK for example.
TuningFork uses Gradle as it's build tool (you don't need to have Gradle installed).

./gradlew build

Compiles the library. The resulting jar is located under core/build/libs/.

./gradlew publishToMavenLocal

Publishes the core artifact to your local Maven repository.

About

Advanced 3D audio features for libGDX desktop users.

License:Apache License 2.0


Languages

Language:Java 93.4%Language:Rust 6.6%