jatinchowdhury18 / ChowDSP-VCV

ChowDSP modules for VCV Rack
GNU General Public License v3.0
81 stars 8 forks source link

Chow Tape builds fine but with warning #1

Closed Eurikon closed 3 years ago

Eurikon commented 3 years ago

Hi Jatin,

so i successfully build the plugin from source clone. OS: Windows 10/64

I did get a warning during the make procedure: $ make -j4 g++ -std=c++11 -Wsuggest-override -fPIC -I../../include -I../../dep/include -MMD -MP -g -O3 -march=nocona -funsafe-math-optimizations -Wall -Wextra -Wno-unused-parameter -DARCH_WIN -D_USE_MATH_DEFINES -c -o build/src/ChowTape.cpp.o src/ChowTape.cpp g++ -std=c++11 -Wsuggest-override -fPIC -I../../include -I../../dep/include -MMD -MP -g -O3 -march=nocona -funsafe-math-optimizations -Wall -Wextra -Wno-unused-parameter -DARCH_WIN -D_USE_MATH_DEFINES -c -o build/src/HysteresisProcessing.cpp.o src/HysteresisProcessing.cpp g++ -std=c++11 -Wsuggest-override -fPIC -I../../include -I../../dep/include -MMD -MP -g -O3 -march=nocona -funsafe-math-optimizations -Wall -Wextra -Wno-unused-parameter -DARCH_WIN -D_USE_MATH_DEFINES -c -o build/src/plugin.cpp.o src/plugin.cpp In file included from src/ChowTape.cpp:2: src/HysteresisProcessing.h:69:19: warning: inline function 'double HysteresisProcessing::NR(double, double)' used but never defined 69 | inline double NR (double H, double H_d) noexcept; | ^~ g++ -o plugin.dll build/src/ChowTape.cpp.o build/src/plugin.cpp.o build/src/HysteresisProcessing.cpp.o -shared -L../.. -lRack

Other then that the plugin builds fine, and the module loads and works in VCV Rack :)

You might want to join the official forum over here: https://community.vcvrack.com

There is a developers section for question and answers 👍

jatinchowdhury18 commented 3 years ago

Ah yes, I've noticed this warning on the JUCE version as well on some compilers. Doesn't seem to be an issue, as the function is in fact defined (Plus at the moment I'm not using that function in the VCV version).

Thanks for welcoming me to the community, I hope to become more involved! I've added a couple more modules to this plugin if you want to give them a try. I've also noticed some stability issues with the tape module, most likely due to the input voltage range or the lack of oversampling....

Eurikon commented 3 years ago

Plugin built fine! Modules loaded properly :) Is there a specific reason why you labelled the CV inputs with "LFO" ?

As for GUI creation, also at the forum you can find people that are willing to help out or share knowledge. There is this extension for Inkscape v1 that came out earlier last month, you can find it here: https://synthpanels.design/

I am not a coder by trade , so there is not much i can help with at coding. Have done a lot of testing for several plugin developers together with a bunch of other great testers!

Great to see progress here! :D

jatinchowdhury18 commented 3 years ago

Thanks for the testing! In the original phaser architecture that I was borrowing inspiration from, the phaser has allpass sections that are modulated by an LFO, so I used that name for the input. If you think "CV" would be the correct nomenclature for the Rack community, I'm happy to change that?

Thanks for the design resources as well. I think for now I'll put together my own quick & dirty design, and then see if I can get some folks who want to refine it to come along later...

I've also tried posting some experimental builds as releases: https://github.com/jatinchowdhury18/ChowDSP-VCV/releases/tag/AzureCI

Eurikon commented 3 years ago

Hi Jatin!

Yes in the modular synthesis world most inputs i have seen so far that are used for modulation, are assigned with the label: CV

Cause one will connect control voltage there coming from any modulator source, LFO is a possibility but S&H too and so on. People might even want to connect an audio signal to modulate at audio rate, for whatever creative reason :)

Thanks for the link to the experimental builds, i only use Windows here. But will be very useful for other testers as they start to come here.

I build the latest push, MSYS2 MinGW did start to download something when i entered: make -j4 It took a little while as stuff started to appear on screen, and then some warnings :)

src_sinc.c: In function 'calc_output_multi': src_sinc.c:906:16: warning: this statement may fall through [-Wimplicit-fallthrough=] 906 | left [ch] += icoeff * filter->buffer [data_index + ch] ; | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src_sinc.c:907:5: note: here 907 | case 7 : | ^~~~ src_sinc.c:909:16: warning: this statement may fall through [-Wimplicit-fallthrough=] 909 | left [ch] += icoeff * filter->buffer [data_index + ch] ; | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src_sinc.c:910:5: note: here 910 | case 6 : | ^~~~ src_sinc.c:912:16: warning: this statement may fall through [-Wimplicit-fallthrough=] 912 | left [ch] += icoeff * filter->buffer [data_index + ch] ; | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src_sinc.c:913:5: note: here 913 | case 5 : | ^~~~ src_sinc.c:915:16: warning: this statement may fall through [-Wimplicit-fallthrough=] 915 | left [ch] += icoeff * filter->buffer [data_index + ch] ; | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src_sinc.c:916:5: note: here 916 | case 4 : | ^~~~ src_sinc.c:918:16: warning: this statement may fall through [-Wimplicit-fallthrough=] 918 | left [ch] += icoeff * filter->buffer [data_index + ch] ; | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src_sinc.c:919:5: note: here 919 | case 3 : | ^~~~ src_sinc.c:921:16: warning: this statement may fall through [-Wimplicit-fallthrough=] 921 | left [ch] += icoeff * filter->buffer [data_index + ch] ; | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src_sinc.c:922:5: note: here 922 | case 2 : | ^~~~ src_sinc.c:924:16: warning: this statement may fall through [-Wimplicit-fallthrough=] 924 | left [ch] += icoeff * filter->buffer [data_index + ch] ; | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src_sinc.c:925:5: note: here 925 | case 1 : | ^~~~ src_sinc.c:956:17: warning: this statement may fall through [-Wimplicit-fallthrough=] 956 | right [ch] += icoeff * filter->buffer [data_index + ch] ; | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src_sinc.c:957:5: note: here 957 | case 7 : | ^~~~ src_sinc.c:959:17: warning: this statement may fall through [-Wimplicit-fallthrough=] 959 | right [ch] += icoeff * filter->buffer [data_index + ch] ; | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src_sinc.c:960:5: note: here 960 | case 6 : | ^~~~ src_sinc.c:962:17: warning: this statement may fall through [-Wimplicit-fallthrough=] 962 | right [ch] += icoeff * filter->buffer [data_index + ch] ; | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src_sinc.c:963:5: note: here 963 | case 5 : | ^~~~ src_sinc.c:965:17: warning: this statement may fall through [-Wimplicit-fallthrough=] 965 | right [ch] += icoeff * filter->buffer [data_index + ch] ; | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src_sinc.c:966:5: note: here 966 | case 4 : | ^~~~ src_sinc.c:968:17: warning: this statement may fall through [-Wimplicit-fallthrough=] 968 | right [ch] += icoeff * filter->buffer [data_index + ch] ; | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src_sinc.c:969:5: note: here 969 | case 3 : | ^~~~ src_sinc.c:971:17: warning: this statement may fall through [-Wimplicit-fallthrough=] 971 | right [ch] += icoeff * filter->buffer [data_index + ch] ; | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src_sinc.c:972:5: note: here 972 | case 2 : | ^~~~ src_sinc.c:974:17: warning: this statement may fall through [-Wimplicit-fallthrough=] 974 | right [ch] += icoeff * filter->buffer [data_index + ch] ; | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src_sinc.c:975:5: note: here 975 | case 1 : | ^~~~ src_sinc.c:993:17: warning: this statement may fall through [-Wimplicit-fallthrough=] 993 | output [ch] = scale * (left [ch] + right [ch]) ; | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src_sinc.c:994:4: note: here 994 | case 7 : | ^~~~ src_sinc.c:996:17: warning: this statement may fall through [-Wimplicit-fallthrough=] 996 | output [ch] = scale * (left [ch] + right [ch]) ; | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src_sinc.c:997:4: note: here 997 | case 6 : | ^~~~ src_sinc.c:999:17: warning: this statement may fall through [-Wimplicit-fallthrough=] 999 | output [ch] = scale * (left [ch] + right [ch]) ; | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src_sinc.c:1000:4: note: here 1000 | case 5 : | ^~~~ src_sinc.c:1002:17: warning: this statement may fall through [-Wimplicit-fallthrough=] 1002 | output [ch] = scale * (left [ch] + right [ch]) ; | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src_sinc.c:1003:4: note: here 1003 | case 4 : | ^~~~ src_sinc.c:1005:17: warning: this statement may fall through [-Wimplicit-fallthrough=] 1005 | output [ch] = scale * (left [ch] + right [ch]) ; | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src_sinc.c:1006:4: note: here 1006 | case 3 : | ^~~~ src_sinc.c:1008:17: warning: this statement may fall through [-Wimplicit-fallthrough=] 1008 | output [ch] = scale * (left [ch] + right [ch]) ; | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src_sinc.c:1009:4: note: here 1009 | case 2 : | ^~~~ src_sinc.c:1011:17: warning: this statement may fall through [-Wimplicit-fallthrough=] 1011 | output [ch] = scale * (left [ch] + right [ch]) ; | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src_sinc.c:1012:4: note: here

I ignored this and built the plugin, it loaded in VCV and all appears to be working. chowtapetest1