Page 1 of 1
building w/ custom faust plugins?
Posted: 08 Jan 2024 18:15
by autumncheney
hi. i know practically nothing about customizing programs, and especially not radium's inner workings, but i was wondering how i could get started with building radium with my own custom faust plugins
preferably i'd like for them to appear in the same way that the zita reverb and stk instruments do already: with both non-gui controls and a gui
thanks in advance!
Re: building w/ custom faust plugins?
Posted: 16 Jan 2024 22:33
by kjetil
It might not be that hard. If you look at the tapiir plugin, for instance, it uses one .dsp file: audio/faust-examples/tapiir.dsp
Then I would run "git grep faust_tapiir", and use this information as a template for what you have to do:
Code: Select all
Makefile.Qt:OBJ_FAUST=$(T)zita_rev.o $(T)stk_flute.o $(T)stk_bowed.o $(T)stk_blow_bottle.o $(T)stk_bass.o $(T)stk_blow_hole.o $(T)stk_brass.o $(T)stk_clarinet.o $(T)stk_flute_stk.o $(T)stk_glass_harmonica.o $(T)stk_harpsi.o $(T)stk_modal_bar.o $(T)stk_NLF_eks.o $(T)stk_NLF_fm.o $(T)stk_piano.o $(T)stk_saxophony.o $(T)stk_sitar.o $(T)stk_tibetan_bowl.o $(T)stk_tuned_bar.o $(T)stk_uni_bar.o $(T)stk_voice_form.o $(T)faust_tapiir.o $(T)faust_system_eq.o $(T)faust_system_tremolo.o $(T)faust_system_lowpass.o $(T)faust_system_highpass.o $(T)faust_system_lowshelf.o $(T)faust_system_highshelf.o $(T)faust_multibandcomp.o
Makefile.Qt:$(T)faust_tapiir.o: audio/faust_tapiir.cpp
Makefile.Qt: $(CCC2) audio/faust_tapiir.cpp $(FAUST_OPTS2) -DCLASSNAME=Tapiir_dsp -DDSP_NAME=\"Tapiir\" -DCREATE_NAME=create_faust_tapiir_plugin
Makefile.Qt:audio/faust_tapiir.cpp: audio/faust-examples/tapiir.dsp $(FAUST_DEPENDENCIES)
Makefile.Qt: cd audio/faust-examples && $(FAUST) -cn Tapiir_dsp -a ../Faust_plugins_template.cpp tapiir.dsp -o ../faust_tapiir.cpp
audio/SoundPluginRegistry.cpp: create_faust_tapiir_plugin();
audio/SoundPluginRegistry_proc.h:extern void create_faust_tapiir_plugin(void);
build_clean.sh:rm -f audio/zita_rev.cpp audio/stk_flute.cpp audio/stk_bowed.cpp audio/stk_blow_bottle.cpp audio/stk_bass.cpp audio/stk_blow_hole.cpp audio/stk_brass.cpp audio/stk_clarinet.cpp audio/stk_flute_stk.cpp audio/stk_glass_harmonica.cpp audio/stk_harpsi.cpp audio/stk_modal_bar.cpp audio/stk_NLF_eks.cpp audio/stk_NLF_fm.cpp audio/stk_piano.cpp audio/stk_saxophony.cpp audio/stk_sitar.cpp audio/stk_tibetan_bowl.cpp audio/stk_tuned_bar.cpp audio/stk_uni_bar.cpp audio/stk_voice_form.cpp audio/faust_tapiir.cpp audio/faust_multibandcomp.cpp audio/faust_system_eq.cpp audio/faust_system_tremolo.cpp audio/faust_system_lowpass.cpp audio/faust_system_highpass.cpp audio/faust_system_lowshelf.cpp audio/faust_system_highshelf.cpp audio/system_compressor.cpp
Re: building w/ custom faust plugins?
Posted: 21 Feb 2024 01:03
by autumncheney
alright, so i was actually able to do this, using templates like you described; it wasn't that hard either
although, for the faust dev instrument normally i use llvm, since i have it on my self-compiled binary, but it seems that when compiling the program it uses the interpreter backend. llvm runs code faster and since some of my faust plugins are a bit cpu intensive i'm going to see if i can recompile radium's faust with llvm
if i make a pull request i'm not sure if i'll be able to have llvm enabled; would that be possible? or is being llvm agnostic a requirement for the radium source?
thanks!
Re: building w/ custom faust plugins?
Posted: 21 Feb 2024 01:14
by autumncheney
oh wait, it looks like faust's c++ backend is separate from llvm and interpreter. is it?
sorry if i'm being dumb
Re: building w/ custom faust plugins?
Posted: 25 Feb 2024 17:20
by kjetil
autumncheney wrote: ↑21 Feb 2024 01:14
oh wait, it looks like faust's c++ backend is separate from llvm and interpreter. is it?
sorry if i'm being dumb
Yes, that's right.
The built-in faust plugins in Radium are compiled into c++, they don't use llvm or the interpreter.
(sorry for late reply, I didn't get an email notification. Seems like there's something wrong with the webserver)