Buz 0.4 Documentation

Frequently Asked Questions

Answers to questions and solutions to problems that have come up.

Q: Can Buz co-exist with Buzz?

A: Yes. The recommended method to install Buz is to first install a Buzz pack and then add the necessary files from the Buz install. At minimum you need buze.exe, libsndfile-1.dll, Gear/blacklist.txt and Gear/Native/buzz2zzub.dll.

Q: Can you recommend a good Buzz pack?

A: These are the Buzz distributions I know of:

There will probably be an official Buz distribution some time in the future, but right now other things have higher priority.

Q: Where can I get Psycle and LADSPA plugins?

Q: I get this error message when Buz starts: MI.H: GetInfo() called

MI.H: GetInfo() called

A: This message appears when Paniq's Plutonium is initialized. While it is a harmless message, this machine is defunct and can safely be deleted.

Q: I get the error message above (or some other error message), but I cannot press OK or X...

A: You might have (an older version of) Gear/Generators/CyanPhase Buzz Overloader.dll. Please delete it - Buz will not work when it is there.

Q: What is the deal with the text mode console window that opens on startup?

A: This window appears when Paniq's Pybuzz is initialized. Whenever Pybuzz is used, it will print debug messages and other output to this window.

Q: Buz crashes on startup...

A: Buzz and Buz normally crashes on startup for the same reason: unstable machines. While we have attempted to put the most well-known broken machines in blacklist.txt, you will occasionally need to track down unstable machines by yourself. Use a tool such as Dependency Walker or buze.exe /debug to help finding problem DLLs. If you encounter a machine that you think ought to be placed in the blacklist, please let us know by logging a bug report.

Known startup problems:

Q: I get noise bursts...

A: You are apparently using a broken machine. Don't do that. Find out which machine causes the noise and delete it. If you encounter a machine that causes noise bursts, please let us know by logging a bug report.

Q: Can Buz use VSTs?

A: Yes. The Polac VST plugins enable both VST and VSTI. Make sure you have latest version though.

Q: I have problems with a machine I use a lot in Buzz...

First make sure you have all DLLs the machine needs. Some machines use runtime libraries from Visual Studio, such as msvcp60.dll, msvcrt.dll and these must exist on your system, either in Buzs program folder or in c:\windows\system32.

Polac VST & Polac VSTi:

All WaveOut/WaveIn machines, Jeskola/Polac ASIO In/Out machines:
These machines depend on functionality in Buzz' native wave output drivers, which are not available in libzzub. Use the built-in Audio Input and Audio Output plugins instead.

BTDSys PeerCtrl, BTDSys PeerCtrl 'Basic', BTDSys LiveJumpHACK:
These machines use known offset hacks and were attempted patched, but caused the wrapper to fail altogether. Therefore, they are currently blacklisted as they will cause trouble no matter what.

ld mixer:
Please see the separate ld mixer 1.03 checklist page.

Q: Does Buz crash if I use any of the machines utilizing hacks?

A: No, most likely not. The Buzz machine wrapper patches several known hacks to prohibit crashes.

For a list of the currently patched plugins, have a look at Gear/Native/buzz2zzub.ini, which controls patching options per DLL. The .ini-file has some documentation, which shortly explains the purpose of each patch option. Patched plugins are probably safe to use, although if their core functionality is based on hacks they may not (yet) function properly.

If you are a machine author using hacks in your Buzz machine (not recommended), make sure the supported patches are enabled in buzz2zzub.ini for it to work as expected in Buzz. The wrapper does not support any direct GUI-hacks, such as responding to correct window messages, but instead focuses on the memory offset hacks used by several popular plugins.

Q: I can't get any sound after enabling a DirectSound recording device, only Elapsed Time counts, but nothing happens in the sequencer...

A: Try to reduce the hardware acceleration level to "Basic Acceleration". (start dxdiag.exe from Start->Run and check for a Hardware Sound Acceleration Level slider the Sound tab). Note that changing this setting may introduce problems later if you are using e.g the kX Project ASIO drivers with other audio applications.

Q: What is aliases.txt?

A: This file is meant for mapping plugin namespaces into each other, but no longer has any practical use. Buz will auto-generate aliases for all DLLs in Gear/Generators and Gear/Effects to relieve the user of maintaining aliases.txt. Currently, its only application is to allow using native zzub-plugins in place of missing Buzz machines.

Q: How can I report a bug?

A: The one place to keep bug reports and feature requests is in the ticket database. To enter tickets, login with u/p user/user.

Q: What is signature.h and why is it missing from the SVN repository?

A: This is a file that is normally generated when building with SCons. At the moment, there is no mechanism in place to generate it when building with Visual Studio. Meanwhile, get one here and copy it into src/zzub/include. The file contains a single constant string that uniquely identifies the version of the build. In order for a plugin to load, it must be built with the same signature as the host.

Q: Did you buy the Buzzlib license from Oskari Tammelin and is it possible to use libzzub in commercial projects?

A: The libzzub/Buz project owns a Buzzlib license, which was aqcuired mainly to distribute binaries legally. None of the buzzlib code has been used in libzzub or Buz. Unfortunately the overall licensing scheme is quite messy. Buz is released under the same license as WTL. libzzub is LGPL, which means you can use the replayer engine in a commercial project as long as any changes you make to libzzub are returned to the community.

libzzub uses a Buzz-wrapper to provide support for original Buzz machines. The wrapper is GPL-licensed, except Oskaris original headers which have the following notice:

// This header file may be used to write _freeware_ DLL "machines" for Buzz
// Using it for anything else is not allowed without a permission from the author

I am not a lawyer, but I think you should talk to Oskari if you want to use libzzubs Buzz-wrapper commercially.

Q: What's the difference/purpose/relationship of all this Buz, BuzzRMX, Aldrin and libzzub-stuff?

A: Aldrin, Buz and Buzz RMX are three different Buzz clones with entirely different design goals. All three are based on the same replayer engine which is called libzzub.

Aldrin is a successor of Jeskola Buzz developed mainly on and for the Linux operating system.

Buz is a modern remake of Jeskola Buzz for Windows. It tries to do the same as Buzz, only with some updated user interface features.

Buzz RMX is a 1:1 remake of Jeskola Buzz for Windows. It is forked from an an earlier version of Aldrin and is intended as a pick-up point for developers that want to tweak and extend the original Buzz user interface.

libzzub is an open source platform independent C/C++ music tracking and sequencing library compatible to Jeskola Buzz. It's written in C++ and currently has language wrappers for C and Python.

Q: How do I pronounce Buz?

A: It's pronounced with a french accent, preferably in a slightly gay tone. Try yourself: Buh-zeh, buh-zeh, buh-zeh.

Buz 0.4