1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174
|
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE chapter>
<!-- Copyright (C) 2005-2018 Jo\u00EBl Kr\u00E4hemann -->
<!-- Permission is granted to copy, distribute and/or modify this document -->
<!-- under the terms of the GNU Free Documentation License, Version 1.3 -->
<!-- or any later version published by the Free Software Foundation; -->
<!-- with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -->
<!-- A copy of the license is included in the section entitled "GNU -->
<!-- Free Documentation License". -->
<chapter xmlns="http://docbook.org/ns/docbook"
xmlns:xi="http://www.w3.org/2001/XInclude" version="5.0">
<title>Advanced Gtk+ Sequencer's fx engine</title>
<para>
There a well know set of recalls described here. Additionally you might
want to take advantage of recalls interfacing plugin APIs like LADSPA, DSSI
or LV2. You can instantiate them simply with
<code language="C">GList* ags_fx_factory_create(AgsAudio*, AgsRecallContainer*, AgsRecallContainer*, gchar*, gchar *, gchar *, guint, guint, guint, guint, gint, guint, guint)</code>
</para>
<example>
<title>Using ags_fx_factory_create()</title>
<programlisting language="C">
<xi:include href="../listings/fx_factory.c" parse="text" />
</programlisting>
</example>
<variablelist>
<varlistentry>
<term>
<code>ags-fx-buffer</code>
</term>
<listitem>
<para>
Buffer audio data, produces new destination as on source occurs
AgsRecycling::add_audio_signal().
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<code>ags-fx-playback</code>
</term>
<listitem>
<para>
Play or capture audio data and store it in wave objects.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<code>ags-fx-volume</code>
</term>
<listitem>
<para>
Adjust volume of audio data.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<code>ags-fx-peak</code>
</term>
<listitem>
<para>
Calculate peak of audio data.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<code>ags-fx-eq10</code>
</term>
<listitem>
<para>
Adjust 10 band equalizer.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<code>ags-fx-analyse</code>
</term>
<listitem>
<para>
Get frequency hints using FFTW3.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<code>ags-fx-envelope</code>
</term>
<listitem>
<para>
Apply envelope data per piano roll note or pattern note.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<code>ags-fx-pattern</code>
</term>
<listitem>
<para>
Play audio data based on boolean patterns.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<code>ags-fx-notation</code>
</term>
<listitem>
<para>
Play, capture and feed audio data based on notation.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<code>ags-fx-ladspa</code>
</term>
<listitem>
<para>
Interface LADSPA plugins.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<code>ags-fx-dssi</code>
</term>
<listitem>
<para>
Interface DSSI plugins.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<code>ags-fx-lv2</code>
</term>
<listitem>
<para>
Interface LV2 plugins.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<code>ags-fx-vst3</code>
</term>
<listitem>
<para>
Interface VST3 plugins - requires libags-vst.so to be available.
</para>
</listitem>
</varlistentry>
</variablelist>
</chapter>
|