1

I want to build a list of the audiovisualiser elements to be able to offer them in a dropdown list within a python program and same for audio effects but how do you access the gstreamer-1.0 registry.

Rolf of Saxony
  • 21,661
  • 5
  • 39
  • 60

1 Answers1

1

The solution was simple and yet it took an age to find it.
Here is some sample code to illustrate the method.
Updated to python3

#!/usr/bin/env python3
#Access the registry to find out what plugins are available
#list elements within a plugin
#list all elements within a Klass
import gi
gi.require_version('Gst', '1.0')
from gi.repository import Gst
Gst.init(None)
reg = Gst.Registry.get()

print ("List Available Plugins\n")
for x in reg.get_plugin_list():
    print (x.get_name())
print ("End Available Plugins\n")

print ("List Plugins in AudioVisual\n")
for x in reg.get_feature_list_by_plugin("audiovisualizers"):
    print(x.get_name(), "\t", x.get_longname())
print ("END\n")

print ("All Available visualisations\n")
vis_list = [filt for filt in reg.get_feature_list(Gst.ElementFactory) \
        if (filt.get_klass().find("Visualization") >= 0)]
for x in vis_list:
    short = x.get_name()
    name = x.get_longname()
    print (short + "\t\t" + name)
print ("END\n")

print ("All Available Audio filters\n")
audio_filter_list = [filt for filt in reg.get_feature_list(Gst.ElementFactory) \
        if (filt.get_klass().find("Filter/Effect/Audio") >= 0)]
for x in audio_filter_list:
    short = x.get_name()
    name = x.get_longname()
    print (short + "\t\t" + name)
print ("END\n")

Results on my machine (with ladspa audio plugins loaded) your results may differ:

List Available Plugins

vaapi
libav
ladspa
gtk
gio
lv2
mms
id3tag
mpegtsmux
ivtc
bs2b
rtmp
aom
webrtc
rtponvif
fluidsynthmidi
mxf
dvdspu
videoparsersbad
realmedia
siren
pcapparse
asfmux
videofiltersbad
dtls
netsim
ivfparse
debugutilsbad
rfbsrc
dvdsub
pnm
gdp
mplex
bluez
flite
audiofxbad
dvdlpcmdec
shm
voamrwbenc
hls
dvdread
y4mdec
freeverb
gsm
webrtcdsp
ipcpipeline
kms
ttmlsubs
legacyrawparse
audiolatency
adpcmenc
de265
coloreffects
zbar
cdio
openexr
autoconvert
srt
a52dec
uvch264
dvbsuboverlay
x264
dashdemux
gme
frei0r
inter
geometrictransform
videoframe_audiolevel
dc1394
fbdevsink
faad
aiff
yadif
accurip
xingmux
audiovisualizers
dvb
midi
srtp
colormanagement
spandsp
mpeg2enc
dtsdec
vmnc
smooth
adpcmdec
openjpeg
timecode
segmentclip
faceoverlay
rsvg
festival
interlace
mpegpsmux
proxy
chromaprint
videosignal
audiomixmatrix
soundtouch
kate
asf
closedcaption
speed
bz2
openmpt
openal
mpegpsdemux
mpegtsdemux
modplug
assrender
smoothstreaming
teletext
amrwbdec
decklink
musepack
gaudieffects
mpeg2dec
x265
resindvd
wildmidi
curl
bayer
sdpelem
opusparse
webp
fieldanalysis
voaacenc
waylandsink
sbc
sid
jp2kdecimator
vulkan
sndfile
ofa
removesilence
subenc
audiobuffersplit
sctp
amrnb
cluttergst3
twolame
oss4
audiorate
alsa
rtp
gdkpixbuf
playback
ximagesrc
png
taglib
multipart
udp
opus
y4menc
videorate
cutter
jpeg
cairo
level
flxdec
videotestsrc
volume
cdparanoia
monoscope
lame
coreelements
opengl
id3demux
shout2
vpx
navigationtest
libvisual
app
ossaudio
video4linux2
audiofx
dv
coretracers
wavenc
xvimagesink
pulseaudio
pango
rtsp
alaw
wavpack
avi
tcp
subparse
replaygain
cacasink
speex
videobox
multifile
audioresample
auparse
camerabin
compositor
alpha
overlaycomposition
pbtypes
jpegformat
alphacolor
mulaw
aasink
equalizer
dtmf
goom2k1
videofilter
matroska
videoscale
audioparsers
wavparse
deinterlace
jack
audiotestsrc
encoding
audioconvert
goom
theora
smpte
1394
videocrop
ogg
autodetect
flac
ximagesink
spectrum
icydemux
debug
flv
soup
adder
rtpmanager
effectv
interleave
shapewipe
apetag
audiomixer
videomixer
imagefreeze
typefindfunctions
videoconvert
vorbis
isomp4
mpg123
rawparse
staticelements
End Available Plugins

List Plugins in AudioVisual

spacescope   Stereo visualizer
spectrascope     Frequency spectrum scope
synaescope   Synaescope
wavescope    Waveform oscilloscope
END

All Available visualisations

goom        GOOM: what a GOOM!
goom2k1     GOOM: what a GOOM! 2k1 edition
libvisual_oinksie       libvisual oinksie plugin plugin v.0.1
libvisual_lv_scope      libvisual libvisual scope plugin v.0.1
libvisual_lv_analyzer       libvisual libvisual analyzer plugin v.1.0
libvisual_jakdaw        libvisual Jakdaw plugin plugin v.0.0.1
libvisual_infinite      libvisual infinite plugin plugin v.0.1
libvisual_corona        libvisual libvisual corona plugin plugin v.0.1
libvisual_bumpscope     libvisual Bumpscope plugin plugin v.0.0.1
libvisual_jess      libvisual jess plugin plugin v.0.1
monoscope       Monoscope
spacescope      Stereo visualizer
spectrascope        Frequency spectrum scope
synaescope      Synaescope
wavescope       Waveform oscilloscope
END

All Available Audio filters

equalizer-10bands       10 Band Equalizer
equalizer-3bands        3 Band Equalizer
equalizer-nbands        N Band Equalizer
rgvolume        ReplayGain volume
rglimiter       ReplayGain limiter
stereo      Stereo effect
audioecho       Audio echo
audiofirfilter      Audio FIR filter
audiowsincband      Band pass & band reject filter
audiowsinclimit     Low pass & high pass filter
audioiirfilter      Audio IIR filter
audiochebband       Band pass & band reject filter
audiocheblimit      Low pass & high pass filter
audiodynamic        Dynamic range controller
audioamplify        Audio amplifier
audiokaraoke        AudioKaraoke
audioinvert     Audio inversion
audiopanorama       Stereo positioning
volume      Volume
audiorate       Audio rate adjuster
removesilence       RemoveSilence
speed       Speed
pitch       Pitch controller
festival        Festival Text-to-Speech synthesizer
spanplc     SpanDSP PLC
freeverb        Reverberation/room effect
bs2b        Crossfeed effect
ladspa-decay-1886-so-decay      Exponential signal decay
ladspa-comb-1887-so-comb-n      Comb delay line, noninterpolating
ladspa-comb-1887-so-comb-l      Comb delay line, linear interpolation
ladspa-comb-1887-so-comb-c      Comb delay line, cubic spline interpolation
ladspa-karaoke-1409-so-karaoke      Karaoke
ladspa-triple-para-1204-so-triplepara       Triple band parametric with shelves
ladspa-sifter-1210-so-sifter        Signal sifter
ladspa-valve-rect-1405-so-valverect     Valve rectifier
ladspa-matrix-ms-st-1421-so-matrixmsst      Matrix: MS to Stereo
ladspa-gverb-1216-so-gverb      GVerb
ladspa-sc4m-1916-so-sc4m        SC4 mono
ladspa-tap-reflector-so-tap-reflector       TAP Reflector
ladspa-transient-1206-so-transient      Transient mangler
ladspa-matrix-st-ms-1420-so-matrixstms      Matrix: Stereo to MS
ladspa-gsm-1215-so-gsm      GSM simulator
ladspa-delayorama-1402-so-delayorama        Delayorama
ladspa-satan-maximiser-1408-so-satanmaximiser       Barry's Satan Maximiser
ladspa-mbeq-1197-so-mbeq        Multiband EQ
ladspa-bode-shifter-1431-so-bodeshifter     Bode frequency shifter
ladspa-tap-pinknoise-so-tap-pinknoise       TAP Pink/Fractal Noise
ladspa-phasers-1217-so-lfophaser        LFO Phaser
ladspa-phasers-1217-so-fourbyfourpole       4 x 4 pole allpass
ladspa-phasers-1217-so-autophaser       Auto phaser
ladspa-comb-1190-so-comb        Comb Filter
ladspa-pitch-scale-1194-so-pitchscalehq     Higher Quality Pitch Scaler
ladspa-decimator-1202-so-decimator      Decimator
ladspa-tap-chorusflanger-so-tap-chorusflanger       TAP Chorus/Flanger
ladspa-tape-delay-1211-so-tapedelay     Tape Delay Simulation
ladspa-notch-iir-1894-so-notch-iir      Mag's Notch Filter
ladspa-tap-deesser-so-tap-deesser       TAP DeEsser
ladspa-amp-so-amp-mono      Mono Amplifier
ladspa-amp-so-amp-stereo        Stereo Amplifier
ladspa-gong-beater-1439-so-gongbeater       Gong beater
ladspa-diode-1185-so-diode      Diode Processor
ladspa-amp-1181-so-amp      Simple amplifier
ladspa-shaper-1187-so-shaper        Wave shaper
ladspa-foverdrive-1196-so-foverdrive        Fast overdrive
ladspa-ls-filter-1908-so-lsfilter       LS Filter
ladspa-flanger-1191-so-flanger      Flanger
ladspa-chebstortion-1430-so-chebstortion        Chebyshev distortion
ladspa-inv-1429-so-inv      Inverter
ladspa-split-1406-so-split      Mono to Stereo splitter
ladspa-gate-1410-so-gate        Gate
ladspa-tap-dynamics-st-so-tap-dynamics-st       TAP Dynamics (St)
ladspa-sc2-1426-so-sc2      SC2
ladspa-pitch-scale-1193-so-pitchscale       Pitch Scaler
ladspa-tap-sigmoid-so-tap-sigmoid       TAP Sigmoid Booster
ladspa-tap-tremolo-so-tap-tremolo       TAP Tremolo
ladspa-ringmod-1188-so-ringmod-2i1o     Ringmod with two inputs
ladspa-ringmod-1188-so-ringmod-1i1o1l       Ringmod with LFO
ladspa-harmonic-gen-1220-so-harmonicgen     Harmonic generator
ladspa-dj-eq-1901-so-dj-eq-mono     DJ EQ (mono)
ladspa-dj-eq-1901-so-dj-eq      DJ EQ
ladspa-cmt-so-bf2cube       Ambisonic Decoder (B-Format to Cube)
ladspa-cmt-so-bf2quad       Ambisonic Decoder (B-Format to Quad)
ladspa-cmt-so-bf2stereo     Ambisonic Decoder (B-Format to Stereo)
ladspa-cmt-so-fmh2oct       Ambisonic Decoder (FMH-Format to Octagon)
ladspa-cmt-so-encode-bformat        Ambisonic Encoder (B-Format)
ladspa-cmt-so-encode-fmh        Ambisonic Encoder (FMH-Format)
ladspa-cmt-so-bf-rotate-z       Ambisonic Rotation (B-Format, Horizontal)
ladspa-cmt-so-fmh-rotate-z      Ambisonic Rotation (FMH-Format, Horizontal)
ladspa-cmt-so-amp-mono      Amplifier (Mono)
ladspa-cmt-so-amp-stereo        Amplifier (Stereo)
ladspa-cmt-so-am        Amplitude Modulator
ladspa-cmt-so-canyon-delay      Canyon Delay
ladspa-cmt-so-disintegrator     Disintegrator
ladspa-cmt-so-sledgehammer      Dynamic Sledgehammer
ladspa-cmt-so-delay-0-01s       Echo Delay Line (Maximum Delay 0.01s)
ladspa-cmt-so-delay-0-1s        Echo Delay Line (Maximum Delay 0.1s)
ladspa-cmt-so-delay-1s      Echo Delay Line (Maximum Delay 1s)
ladspa-cmt-so-delay-5s      Echo Delay Line (Maximum Delay 5s)
ladspa-cmt-so-delay-60s     Echo Delay Line (Maximum Delay 60s)
ladspa-cmt-so-fmh2bf        FMH-Format to B-Format (Discards RSTUV Channels)
ladspa-cmt-so-fbdelay-0-01s     Feedback Delay Line (Maximum Delay 0.01s)
ladspa-cmt-so-fbdelay-0-1s      Feedback Delay Line (Maximum Delay 0.1s)
ladspa-cmt-so-fbdelay-1s        Feedback Delay Line (Maximum Delay 1s)
ladspa-cmt-so-fbdelay-5s        Feedback Delay Line (Maximum Delay 5s)
ladspa-cmt-so-fbdelay-60s       Feedback Delay Line (Maximum Delay 60s)
ladspa-cmt-so-freeverb3     Freeverb (Version 3)
ladspa-cmt-so-grain-scatter     Granular Scatter Processor
ladspa-cmt-so-hard-gate     Hard Gate
ladspa-cmt-so-hpf       High Pass Filter (One Pole)
ladspa-cmt-so-identity-audio        Identity (Audio)
ladspa-cmt-so-lofi      Lo Fi
ladspa-cmt-so-lpf       Low Pass Filter (One Pole)
ladspa-cmt-so-mixer     Mixer (Stereo to Mono)
ladspa-cmt-so-compress-peak     Simple Compressor (Peak Envelope Tracking)
ladspa-cmt-so-compress-rms      Simple Compressor (RMS Envelope Tracking)
ladspa-cmt-so-expand-peak       Simple Expander (Peak Envelope Tracking)
ladspa-cmt-so-expand-rms        Simple Expander (RMS Envelope Tracking)
ladspa-cmt-so-limit-peak        Simple Limiter (Peak Envelope Tracking)
ladspa-cmt-so-limit-rms     Simple Limiter (RMS Envelope Tracking)
ladspa-cmt-so-sine-faaa     Sine Oscillator (Freq:audio, Amp:audio)
ladspa-cmt-so-sine-faac     Sine Oscillator (Freq:audio, Amp:control)
ladspa-cmt-so-sine-fcaa     Sine Oscillator (Freq:control, Amp:audio)
ladspa-cmt-so-vcf303        VCF 303
ladspa-cmt-so-wshape-sine       Wave Shaper (Sine-Based)
ladspa-tap-pitch-so-tap-pitch       TAP Pitch Shifter
ladspa-step-muxer-1212-so-stepmuxer     Step Demuxer
ladspa-tap-vibrato-so-tap-vibrato       TAP Vibrato
ladspa-surround-encoder-1401-so-surroundencoder     Surround matrix encoder
ladspa-se4-1883-so-se4      SE4
ladspa-lowpass-iir-1891-so-lowpass-iir      Glame Lowpass Filter
ladspa-am-pitchshift-1433-so-ampitchshift       AM pitchshifter
ladspa-bandpass-a-iir-1893-so-bandpass-a-iir        Glame Bandpass Analog Filter
ladspa-alias-1407-so-alias      Aliasing
ladspa-vocoder-1337-so-vocoder      Vocoder
ladspa-delay-so-delay-5s        Simple Delay Line
ladspa-tap-dynamics-m-so-tap-dynamics-m     TAP Dynamics (M)
ladspa-tap-autopan-so-tap-autopan       TAP AutoPanner
ladspa-allpass-1895-so-allpass-n        Allpass delay line, noninterpolating
ladspa-allpass-1895-so-allpass-l        Allpass delay line, linear interpolation
ladspa-allpass-1895-so-allpass-c        Allpass delay line, cubic spline interpolation
ladspa-wave-terrain-1412-so-waveterrain     Wave Terrain Oscillator
ladspa-filter-so-lpf        Simple Low Pass Filter
ladspa-filter-so-hpf        Simple High Pass Filter
ladspa-tap-eq-so-tap-equalizer      TAP Equalizer
ladspa-crossover-dist-1404-so-crossoverdist     Crossover distortion
ladspa-giant-flange-1437-so-giantflange     Giant flange
ladspa-lcr-delay-1436-so-lcrdelay       L/C/R Delay
ladspa-butterworth-1902-so-bwxover-iir      Glame Butterworth X-over Filter
ladspa-butterworth-1902-so-buttlow-iir      GLAME Butterworth Lowpass
ladspa-butterworth-1902-so-butthigh-iir     GLAME Butterworth Highpass
ladspa-comb-splitter-1411-so-combsplitter       Comb Splitter
ladspa-rate-shifter-1417-so-rateshifter     Rate shifter
ladspa-highpass-iir-1890-so-highpass-iir        Glame Highpass Filter
ladspa-dc-remove-1207-so-dcremove       DC Offset Remover
ladspa-fast-lookahead-limiter-1913-so-fastlookaheadlimiter      Fast Lookahead limiter
ladspa-retro-flange-1208-so-retroflange     Retro Flanger
ladspa-dj-flanger-1438-so-djflanger     DJ flanger
ladspa-tap-limiter-so-tap-limiter       TAP Scaling Limiter
ladspa-latency-1914-so-artificiallatency        Artificial latency
ladspa-tap-doubler-so-tap-doubler       TAP Fractal Doubler
ladspa-bs2b-so-bs2b     Bauer stereophonic-to-binaural 0.9.1 (3.1.0)
ladspa-tap-tubewarmth-so-tap-tubewarmth     TAP TubeWarmth
ladspa-freq-tracker-1418-so-freqtracker     Frequency tracker
ladspa-valve-1209-so-valve      Valve saturation
ladspa-single-para-1203-so-singlepara       Single band parametric
ladspa-bandpass-iir-1892-so-bandpass-iir        Glame Bandpass Filter
ladspa-pointer-cast-1910-so-pointercastdistortion       Pointer cast distortion
ladspa-bode-shifter-cv-1432-so-bodeshiftercv        Bode frequency shifter (CV)
ladspa-hilbert-1440-so-hilbert      Hilbert transformer
ladspa-zm1-1428-so-zm1      z-1
ladspa-svf-1214-so-svf      State Variable Filter
ladspa-revdelay-1605-so-revdelay        Reverse Delay (5s max)
ladspa-tap-reverb-so-tap-reverb     TAP Reverberator
ladspa-smooth-decimate-1414-so-smoothdecimate       Smooth Decimator
ladspa-foldover-1213-so-foldover        Foldover distortion
ladspa-imp-1199-so-imp      Impulse convolver
ladspa-tap-rotspeak-so-tap-rotspeak     TAP Rotary Speaker
ladspa-hermes-filter-1200-so-hermesfilter       Hermes Filter
ladspa-fad-delay-1192-so-faddelay       Fractionally Addressed Delay Line
ladspa-declip-1195-so-declip        Declipper
ladspa-tap-eqbw-so-tap-equalizer-bw     TAP Equalizer/BW
ladspa-hard-limiter-1413-so-hardlimiter     Hard Limiter
ladspa-vynil-1905-so-vynil      VyNil (Vinyl Effect)
ladspa-vlevel-ladspa-so-vlevel-mono     VLevel (Mono)
ladspa-vlevel-ladspa-so-vlevel-stereo       VLevel (Stereo)
ladspa-xfade-1915-so-xfade      Crossfade
ladspa-xfade-1915-so-xfade4     Crossfade (4 outs)
ladspa-multivoice-chorus-1201-so-multivoicechorus       Multivoice Chorus
ladspa-sine-so-sine-faaa        Sine Oscillator (Freq:audio, Amp:audio)
ladspa-sine-so-sine-faac        Sine Oscillator (Freq:audio, Amp:control)
ladspa-sine-so-sine-fcaa        Sine Oscillator (Freq:control, Amp:audio)
ladspa-tap-echo-so-tap-stereo-echo      TAP Stereo Echo
ladspa-sc1-1425-so-sc1      SC1
ladspa-dyson-compress-1403-so-dysoncompress     Dyson compressor
ladspa-mod-delay-1419-so-moddelay       Modulatable delay
ladspa-matrix-spatialiser-1422-so-matrixspatialiser     Matrix Spatialiser
ladspa-sc4-1882-so-sc4      SC4
ladspa-fm-osc-1415-so-fmosc     FM Oscillator
ladspa-sc3-1427-so-sc3      SC3
ladspa-plate-1423-so-plate      Plate reverb
ladspa-divider-1186-so-divider      Audio Divider (Suboctave Generator)
ladspa-const-1909-so-const      Constant Signal Generator
ladspa-sinus-wavewrapper-1198-so-sinuswavewrapper       Sinus wavewrapper
ladspa-gong-1424-so-gong        Gong model
ladspa-delay-1898-so-delay-n        Simple delay line, noninterpolating
ladspa-delay-1898-so-delay-l        Simple delay line, linear interpolation
ladspa-delay-1898-so-delay-c        Simple delay line, cubic spline interpolation
END
Rolf of Saxony
  • 21,661
  • 5
  • 39
  • 60