GstBtAudioSynth

GstBtAudioSynth — base audio synthesizer

Types and Values

Object Hierarchy

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

Implemented Interfaces

GstBtAudioSynth implements GstPreset.

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.

There are a few virtual methods that can subclasses will implement: The negotiate vmethod provides the GstCaps to negotiate. Once the caps are negotiated, setup is called. There the element can take parameters such as sampling rate or data format from the GstAudioInfo parameter. The reset method, if implemented, is called on discontinuities - e.g. after seeking. It can be used to e.g. cut off playing notes. Finally the process method is where the audio generation is going to be implemented.

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 (*reset) (GstBtAudioSynth * src);
  void (*negotiate) (GstBtAudioSynth * src, GstCaps * caps);
  void (*setup) (GstBtAudioSynth * src, GstAudioInfo * info);
};

Class structure.

Members

process ()

vmethod for generating a block of audio, return false to indicate that a GAP buffer should be sent

 

reset ()

vmethod call on stream discontinuities

 

negotiate ()

vmethod for format negotiation

 

setup ()

vmethod for initial processign setup