Skip to content

Commit

Permalink
v0.6.0
Browse files Browse the repository at this point in the history
  • Loading branch information
nununoisy committed Nov 26, 2023
1 parent d9f8c04 commit 3667820
Show file tree
Hide file tree
Showing 28 changed files with 252 additions and 111 deletions.
2 changes: 1 addition & 1 deletion Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "gb-presenter-rs"
version = "0.5.0"
version = "0.6.0"
edition = "2021"
build = "build.rs"

Expand All @@ -12,7 +12,7 @@ codegen-units = 1
panic = "abort"

[dependencies]
sameboy = { path = "sameboy", features = ["include-bootroms"] }
sameboy = { path = "sameboy", default-features = false, features = ["include-bootroms"] }
tiny-skia = "0.11.2"
image = "0.24"
ringbuf = "0.3.3"
Expand Down
15 changes: 9 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
<p align="center">
<img src="gb-presenter-icon-xl.png" />
<img src="assets/gb-presenter-icon-xl.png" />
</p>

# GBPresenter

GBPresenter is a tool I wrote to generate visualizations of GameBoy
GBPresenter is a tool I wrote to generate visualizations of Game Boy
chiptunes, based on [SameBoy][sameboy], [FFmpeg][ffmpeg],
and [Slint][slint].
The visualization design is essentially a port of the piano roll from
Expand All @@ -13,6 +13,9 @@ It supports playing music from GBS files, VGM files exported from
[Furnace][furnace]/[DefleMask][deflemask], and from save files for most
versions of [Little Sound Dj][lsdj].

![Slint logo](assets/MadeWithSlint-logo-light.svg#gh-light-mode-only)
![Slint logo](assets/MadeWithSlint-logo-dark.svg#gh-dark-mode-only)

## Functionality

GBPresenter runs your GBS, VGM, or LSDj ROM in SameBoy and captures the
Expand All @@ -28,18 +31,18 @@ and feeds it to FFmpeg to be encoded as a video.
- Built on SameBoy for extremely accurate sound emulation.
- It usually sounds just as good as a recording of a DMG with a ProSound mod.
- Outputs a video file:
- Customizable resolution (default 1080p) at 59.97 FPS (the GameBoy's true framerate).
- Customizable resolution (default 1080p) at 59.97 FPS (the Game Boy's true framerate).
- MPEG-4 container with fast-start (`moov` atom at beginning of file).
- Matroska (MKV) and QuickTime (MOV) containers are also supported.
- yuv420p H.264 video stream encoded with libx264, crf: 16.
- yuv420p H.264 video stream encoded with libx264, crf: 20.
- If using QuickTime, ProRes 4444 streams encoded with prores_ks are also supported.
- Stereo AAC LC audio stream encoded with FFmpeg's aac encoder, bitrate: 384k.
- Video files are suitable for direct upload to most websites:
- Outputs the recommended format for YouTube, Twitter, and Discord (w/ Nitro).
- Typical exports (1080p, up to 5 minutes) are usually below 100MB.
- Loop detection for LSDj songs.
- Supported on LSDj 3.x and up.
- Support for `HFF` detection is planned.
- Supported on stable versions of LSDj starting from 3.x.
- Support for automatically stopping when `HFF` is encountered.
- Support for loop detection for tracker-exported GBS files is planned.
- Loop detection for VGM files is supported.

Expand Down
12 changes: 12 additions & 0 deletions assets/MadeWithSlint-logo-dark.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit 3667820

Please sign in to comment.