-- Leo's gemini proxy

-- Connecting to nanako.mooo.com:1965...

-- Connected

-- Sending request

-- Meta line: 20 text/gemini; charset=utf-8

What's Coming in Benben v0.4.0


So first, ignore the previous posts about porting Benben to Common Lisp. I'm now confident that it can continue to be written in Crystal without worrying about threads and such. So uhh... yeah *Jedi mind trick hand wave*


Benben's source repository

Preview of the NES support (performance has since nearly doubled)


It's looking like I'll have v0.4.0 of Benben (my VGM player) out late Spring or early Summer, or maybe even a bit earlier. The bulk of work that's left is adding new chips to its underlying library, YunoSynth, which takes time but is also a well established procedure now. Most of the features I planned for Benben v0.4.0 are already finished:


Automatic peak normalization for rendered files with the --normalize command line option.

CUE files can be generated automatically when rendering.

The CPU usage is now shown during playback and rendering.

You can pass a directory to Benben directly and it will play all files it finds in that directory.

You can now go to the next/previous song, pause, or quit at all times while a song is playing.

Errors that get printed on stderr are now redirected to a file (e.g. ~/.local/share/benben/stderr.log) by default. This is to prevent things such as PortAudio or YunoSynth from printing errors to the screen that can mess up the UI. This can be disabled in the config.

Added the --quiet command line option for rendering. This will keep Benben from showing anything in the console while rendering music to WAV or Au files.

Added the equalizer-disabled-during-rendering config option. Turning this on will allow you to normally have an EQ enabled during playback, but also have it automatically disabled when rendering. This also works in per-song config files.

JSPF playlist loading is fixed. Derp.

Fixed the EQ setting not sticking between songs when it's toggled during playback.

General performance tweaks and small bug fixes.


And lastly, there's a few extra things I plan to add that aren't in yet:


Seeking.

An "Exit after current song is done" toggle.


Changes to The Library, YunoSynth


YunoSynth is Benben's companion library (also written in 100% pure Crystal), which is where the actual VGM chip emulation and rendering happens. Normally I work on this concurrently with Benben, then release updates to both at the same time, but this is going to be changing after v0.4.0 because...


YunoSynth will be ready for beta! :D


Basically, by the time Benben v0.4.0 is done, I'll have implemented all of the chips I had planned for YunoSynth, and it will be functionally ready to have its API stabilized. I'll probably call the next release of YunoSynth v0.99.0, following my usual versioning scheme, so Benben v0.4.0 will ship with YunoSynth v0.99.0. This doesn't impact end users, it's just a change in how things will be handled internally going forward.


Anyway, these are the new chips I'm looking to have implemented (or already implemented) in v0.4.0:


NES APU and DMC (already done)

The Famicom Disk System chip (already done)

Seta X1-010 (already done)

Phillips SAA1099

Sega PWM

Bandai Wonderswan

Yamaha YM2413 (also includes the Konami VRC7)

Yamaha YMF278B

Yamaha YMF271

Atari POKEY


There's only a few extra chips outside of these that the VGM specs supports, such as the Sega SCSP, but I haven't found any VGM files that actually use this yet. I'm sure they exist, but I haven't found them yet, and without a VGM to test that it works... well... :-P


---------
Page served by Aya https://nanako.mooo.com/fossil/aya/
Aya is under the GNU Affero GPLv3 license

-- Response ended

-- Page fetched on Sun May 19 22:53:00 2024