Skip to content

Commit

Permalink
Prepare 4.1.0 release
Browse files Browse the repository at this point in the history
  • Loading branch information
Hangman committed Oct 5, 2023
1 parent 98805dd commit 1f4dcd2
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 13 deletions.
20 changes: 10 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
</td></tr></table>

## Introduction
TuningFork is a library for [libGDX](https://github.com/libgdx/libgdx) that provides advanced audio features. The goal was to make most of the features of [OpenAL](https://github.com/kcat/openal-soft) 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 almost every game, such as the music player.<br>
TuningFork is a library for [libGDX](https://github.com/libgdx/libgdx) that provides advanced audio features. The goal was to make most of the features of [OpenAL](https://github.com/kcat/openal-soft) 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.<br>
Note that TuningFork is not an extension to libGDX audio but a replacement.

### Main Features
Expand All @@ -25,15 +25,15 @@ Note that TuningFork is not an extension to libGDX audio but a replacement.
* Streaming is handled on a background thread
* Load **wav**, **aiff**, **ogg**, **flac**, **mp3** ([see the full list](https://github.com/Hangman/TuningFork/wiki/Supported-audio-formats-and-codecs))
* Supports surround sound formats
* Load asynchronously via `AssetManager`
* [AssetManager](https://libgdx.com/wiki/managing-your-assets) integration
* Play raw PCM data
* Record audio

### Limitations
* Lwjgl3 only, sorry mobile and web users
* 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 modern features like HRTF etc., you'll face some problems with libGDX.
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.
Expand All @@ -53,33 +53,33 @@ Then add TuningFork as dependency in your core project:
project(":core") {
dependencies {
// ...
implementation 'com.github.Hangman:TuningFork:4.0.0'
implementation 'com.github.Hangman:TuningFork:4.1.0'
}
}
```
### 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.0 | 4.0.0 |
| 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](https://semver.org/). That means upgrading is always "safe" unless it is a major version increase. Accordingly, breaking changes are only made in major versions.
Nevertheless, I think it's a good habit to check out the latest patch notes before depending on a new version: [Patch Notes](https://github.com/Hangman/TuningFork/wiki/Patch-Notes)
This library follows [semantic versioning](https://semver.org/). Breaking changes are indicated by a major version increase.
You can find the release notes [here](https://github.com/Hangman/TuningFork/wiki/Patch-Notes).

## Getting Started
[Go to the wiki](https://github.com/Hangman/TuningFork/wiki)

## Building From Source
To build TuningFork from source, you need a JDK >= 8 installed. Like [Adoptium JDK](https://adoptium.net/) for example.
TuningFork uses [Gradle](https://gradle.org/) as it's build tool (you don't need to have Gradle installed), for those who are not familiar with it:
TuningFork uses [Gradle](https://gradle.org/) as it's build tool (you don't need to have Gradle installed).
```console
./gradlew build
```
Compiles the library. After that, you can find the resulting jar under `core/build/libs/`.
Compiles the library. The resulting jar is located under `core/build/libs/`.
```console
./gradlew publishToMavenLocal
```
Expand Down
8 changes: 5 additions & 3 deletions core/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -70,10 +70,11 @@ tasks {

tasks {
test {
useJUnit()
useJUnitPlatform()
testLogging {
events("passed", "skipped", "failed")
}
failFast = true

exclude("de/pottgames/tuningfork/test/InputAdapter.class")
exclude("de/pottgames/tuningfork/test/Rng.class")
Expand Down Expand Up @@ -147,8 +148,9 @@ jmh {
fork = 0 // How many times to forks a single benchmark. Use 0 to disable forking altogether
failOnError = true // Should JMH fail immediately if any benchmark had experienced the unrecoverable error?
forceGC = true // Should JMH force GC between iterations?
humanOutputFile = project.file("${project.buildDir}/reports/jmh/human.txt") // human-readable output file
resultsFile = project.file("${project.buildDir}/reports/jmh/results.txt") // results file
humanOutputFile =
project.file("build/reports/jmh/human.txt") // human-readable output file
resultsFile = project.file("build/reports/jmh/results.txt") // results file
operationsPerInvocation = 10 // Operations per invocation.
timeOnIteration = "2s" // Time to spend at each measurement iteration.
resultFormat = "TEXT" // Result format type (one of CSV, JSON, NONE, SCSV, TEXT)
Expand Down

0 comments on commit 1f4dcd2

Please sign in to comment.