Top | ![]() |
![]() |
![]() |
![]() |
GObject ╰── GInitiallyUnowned ╰── GstObject ╰── GstElement ╰── GstBaseSrc ╰── GstBtAudioSynth ├── GstBtEBeats ├── GstBtFluidSynth ├── GstBtSidSyn ├── GstBtSimSyn ├── GstBtWaveReplay ╰── GstBtWaveTabSyn
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.
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.