## GstBtAudioSynth

GstBtAudioSynth — base audio synthesizer

## Types and Values

struct | GstBtAudioSynth
struct | GstBtAudioSynthClass

## Object Hierarchy

        GObject
        ╰── GInitiallyUnowned
            ╰── GstObject
                ╰── GstElement
                    ╰── GstBaseSrc
                        ╰── GstBtAudioSynth
                            ├── GstBtEBeats
                            ├── GstBtFluidSynth
                            ├── GstBtSidSyn
                            ├── GstBtSimSyn
                            ├── GstBtWaveReplay
                            ╰── GstBtWaveTabSyn

## Implemented Interfaces

GstBtAudioSynth implements GstPreset and GstBtTempo.

## Includes

    #include <libgstbuzztrax/audiosynth.h>

## Description

Base audio synthesizer to use as a foundation for new synthesizers. Handles tempo, seeking, trick mode playback and format negotiation. The pure virtual process and setup methods must be implemented by the child class. The setup vmethod provides the caps to negotiate. Form them the elemnt can take parameters such as sampling rate or data format.

## Functions

## Types and Values

### struct GstBtAudioSynth

    struct GstBtAudioSynth;

Instance data.

### struct GstBtAudioSynthClass

    struct GstBtAudioSynthClass {
      GstBaseSrcClass parent_class;

      /* virtual functions */
      gboolean (*process) (GstBtAudioSynth * src, GstBuffer * data, GstMapInfo *info);
      void (*setup) (GstBtAudioSynth * src, GstPad * pad, GstCaps * caps);
    };

Class structure.

#### Members

`process` () | vmethod for generating a block of audio, return false to indicate that a GAP buffer should be sent |
`setup` () | vmethod for initial processign setup |