Chapter 9. Effects
Prev |  | Next

# Chapter 9. Effects

You may directly inherit by <ags/audio/ags_recall.h> to do some wicked stuff. But generally you should inherit by these subclasses of AgsRecall:

- <ags/audio/ags_recall_audio.h>

- <ags/audio/ags_recall_audio_run.h>

- <ags/audio/ags_recall_channel.h>

- <ags/audio/ags_recall_channel_run.h>

- <ags/audio/ags_recall_recycling.h>

- <ags/audio/ags_recall_audio_signal.h>

You probably wish to have different context for fields of an effect, that's what these objects take on. But before we cover them in detail, we take a look at the lifecycle an effect must accomplish.

## Play/recall context

Don't mix this context up with static/runtime context we talked before. The AgsRecall may have two faces or may be just one for play context.

The play context will be called in case the higher level of AgsRecycling will output to a device e.g. the soundcard and no further processing will be done.

The recall context means that the AgsRecall will pass one or more cycles of copying or sequencing. This design is intended to make ags as modular and reusable over different use cases as possible. Practically it should be possible to chain up several sequencers.

Prev |  | Next
Chapter 8. Your audio data in AgsAudioSignal | Home | Hands-On instantiating an effect