In the news:

If I bothered to post it...

The coder's credo

27 June 2021

We believe our work is neither clever nor difficult; it is done because we thought it would be easy.

Programming can neither eliminate jobs nor make human beings worthless. Programming is a tool like a lever that allows someone to lift far more than with their body alone. This is only an analogy; of course we don't do physical work with program code.

Give me a lever long enough and a fulcrum on which to place it, and I shall move the world.

— Archimedes

What is replaced is human computational effort. In other words: stress.

No person should ever be required to do mindless tasks involving enormous effort without purpose. No human being should ever be made to feel worthless. We are not replaceable, mindless cogs turning in society the machine without purpose other than to drive senselessly onward. Programs are our weapons in this battle against wasted potential.

Another progress update

20 June 2020

Work has continued in improving underlying code and frameworks used by Xhip. Skinning and configuration systems have seen many new additions. The alpha versions and upcoming Xhip Effects releases will include these new features.

The ability to replace the dynamic GUI elements with bitmap graphics has been improved. This includes bitmap scaling and selection features aimed at optimizing data size and performance.

Since the GUIs can be scaled to any ratio, the best method to avoid blurring during up-scaling is to prefer down-scaling bitmaps from higher resolution sources. This requires high quality interpolation (e.g. lanczos) at higher ratios to avoid aliasing. Such filters are also used for oversampling during bitmap rendering.

The LED and knob renderers have been improved significantly and now provide much higher quality output. Work is ongoing to ensure quality is always ideal. At higher target resolutions this has the issue of significant cost/time. Deferred processing and multi-threading are potential solutions. Most users will see some cost when opening a plug-in GUI only for the very first time.


(click to zoom)


XFX Clipper r1207.

Progress report

30 July 2019

Xhip development continues... although I have not posted any news updates for a long time. Most of the work has focused on improvements to the underlying frameworks.

Some notable new features will include: (some yet to be completed)

Reduced modulation rate support
Saving effects in presets
Significant GUI improvements (faster redraw)
Crossfeed effect (mono bass filter)
Linear interpolation mode for PCM (fully anti-aliased)
Improvements/fixes for RIFF WAVE loading
Numerous other small improvements

Released Xhip Synthesizer alpha r1112

01 May 2018

This version of the synthesizer builds on previous alpha versions and includes native Windows dialogs once again.


(click to zoom)


Xhip ALPHA r1112.

Previous versions of the plug-in were not released as alpha due to the lack of native dialog support. In addition, native dialogs are now isolated in their own independent threads and no longer interrupt normal program flow in the GUI thread. This is a significant improvement compared to previous versions where this was a problem.

Updated alpha r1100

13 March 2018

This version of the synthesizer for Linux is placed on the main synthesizer page. I haven't made the alpha available due to the dialog system not yet working fully on Windows.

The primary feature of this version is that it generates an "init state" populated with the factory bank on first run. This will give new users a bank of presets to play with immediately.

It also includes new preset library functionality. This version includes the two "factory" preset banks embedded in the plug-in and these are now written out and available to be loaded from the "load - library" entry in the menu.

The path of the library folder depends upon your OS. On Windows you can usually find it in /ProgramData/xhip/synth/library/ while on Linux currently it is ~/.xhip/synth/library/.

In order to use the preset library you can simply save or copy a Xhip bank file there and load it from the menu. Since banks are listed by bank name rather than file name it is important to carefully name your bank using the bank name editbox.

More work remains to be completed in fine-tuning of existing features. This r1100 is very close to becoming a release candidate once those fine-tuning steps are completed. You can read more about that on the alpha page if desired.