# Buzztrax Bt-Core Reference Manual

for Buzztrax &BT_VERSION;. The latest version of this documentation can be found on-line at http://www.buzztrax.org/files/apidocs/bt-core/.

## Introduction

Buzztrax aims to be a successor of the freeware music tracker called Buzz with a focus on Linux. The development of Buzz for windows had been discontinued as the author lost all his source-codes. Buzztrax is only related to Buzz in the concepts, Buzztraxs source code is written from scratch.

The homepage of the buzztrax project can be found at www.buzztrax.org. It is a social site containing forums, a wiki and bug tracker and many other resoures.

## Overview

### Conventions

During the API docs some conventions are used to avoid duplication and improve precision.

1. It is never valid to supply NULL for an object reference, unless it is explicitly said so.

2. Methods do checking of preconditions using `g_return_if_fail()` or `g_return_val_if_fail()`. Therefore watch for the glib log messages indicating wrong API usage.

3. All methods that return a pointer to an object, increase the reference counter. Therefore you should do release this reference by calling `g_object_unref()` when you are done with the object.

4. When a return value is marked as const e.g. const gchar * or const BtObjectName * then this is a static reference. You must not call `g_free()` or `g_object_unref()` on it.

## API Reference

libbuzztrax-core is the main library for the buzztrax software system. This library contains all classes needed for the components of a song like machines, patterns, wires and so on. It further defines bases classes for common operations such as song input/output. The synthesis engine and the low-level parts of the sequencer are built into GStreamer. Please make sure you have read section conventions before reading further.

All data structures are encapsulated in objects based on GObject. Central starting points are BtApplication and BtSong. All the objects that belong to a song have their song-instance as their member. Likewise all objects that belong to the applications have their application instance as a member.

### Core Class Reference

### Song Class Reference

### Song IO Reference

## Appendix

### Object Hierarchy

API Index

Index of deprecated API

Index of new API in 0.3

Index of new API in 0.5

Index of new API in 0.6

Index of new API in 0.7