Managed to rewrite the Rubber Band based bindings, based on the official code samples. Seems I was allocating the scratch buffers wrong. Now all crashes are fixed and now the Rubber Band based effects can work to their fullest extents.
Managed to add some new DSPs….
Spent a bit working on doing up a small shader editing tool, has the fundamentals of realtime shader editing.
Many things are missing:
- Audio (FFT, playback, 4klang playback)
- Widgets (progressbar, shader uniform editing)
- Post processing (DoF/AA)
- GNU Rocket integration
One thing that annoys me about GitHub is the current theme it uses.
Looked quite garish, and I personally couldn’t stand it at all.
So I did this.
Looks much nicer to me on Windows. YMMV.
If anyone wants it the GreaseMonkey script to do this is here.
So far the work is almost complete:
Did what I mainly wanted to. Wanted to rewrite access so that its easily keybindable and has easy access. The remaining issue is due to a audio buffer issue with librubberband and how samples vary depend on the pitch ratio. At the moment the code is quite brittle and won’t work for anything above 48khz. Which is a problem considering FB2K’s userbase (I only had sub 48k samples at the time of development and testing). So need to spend the next few days rewriting things to be more robust for the pitch/tempo DSPs.
Did more work on DSP effects in foobar2000.
Found an amusing bug when tinkering the pitch which caused sliders to completely break. Found that (was multiplying and dividing values wrong), so thats fixed. Now left to implement playback rate shift. Was pondering integrating PaulStretch for long tempo ratios, due to SoundTouch having artifacts at medium/long ratios of tempo stretching. Haven’t really messed around with librubberbands much.
Another day, spending more time fleshing out the controls. Trying to work out if hooking mousedown/up messages would work, so that if sliders are selected, changes are only applied *when* a button is released, so allowing smooth changes (which removes the need for rewriting buffering). Will have to look up MFC/ATL things for that. From there the roadmap is to get all the other DSPs working like this, and from there, who knows, I am pretty content then. Probably having more accurate reverb simulation ala EAX and more effects.
And yes, Dream Fiend’s song is nice, I recommend getting it and getting a FLAC copy from his bandcamp page.
Finally got around to adding in non modal dialog boxes again for the component. This was a long time coming and I should have done this a long time ago. I thought it was a nice half way between UI elements and the old, buggy and hacky method.
Did more messing around with my Odroid.