Compile time error
Closed this issue · 12 comments
System Information
Debian 12 - gcc 12.2.0
LMMS Version(s)
LMMS 1.3.0-alpha.1.657+gf2c815b21 (Linux x86_64, Qt 5.15.8, GCC 12.2.0)
Most Recent Working Version
No response
Bug Summary
Hi,
Very last commit of the master branch : commit 1420a1f (HEAD -> master, origin/master, origin/HEAD)
While it is maybe three or four years I haven’t experienced the slightest issue during build, tonight it happened.
commit 1420a1f7e81578aed80e0af96bff11ede98fcc45 (HEAD -> master, origin/master, origin/HEAD)
/usr/local/src/lmms/include/BasicFilters.h:387:81: error: ‘m_oldy1’ was not declared in this scope
387 | m_y2[_chnl] = std::clamp((m_y1[_chnl] + m_oldy1[_chnl]) * m_p
| ^~~~~~~
/usr/local/src/lmms/include/BasicFilters.h:390:81: error: ‘m_oldy2’ was not declared in this scope
390 | m_y3[_chnl] = std::clamp((m_y2[_chnl] + m_oldy2[_chnl]) * m_p
| ^~~~~~~
/usr/local/src/lmms/include/BasicFilters.h:400:33: error: ‘m_last’ was not declared in this scope
400 | m_last[_chnl] = _in0;
| ^~~~~~
/usr/local/src/lmms/include/BasicFilters.h:415:41: error: ‘m_delay2’ was not declared in this scope
415 | m_delay2[_chnl] = m_delay2[_chnl] + m_svf1 * m_delay1[_chnl]; /* delay2/4 = lowpass output */
| ^~~~~~~~
/usr/local/src/lmms/include/BasicFilters.h:415:86: error: ‘m_delay1’ was not declared in this scope
415 | m_delay2[_chnl] = m_delay2[_chnl] + m_svf1 * m_delay1[_chnl]; /* delay2/4 = lowpass output */
| ^~~~~~~~
/usr/local/src/lmms/include/BasicFilters.h:419:41: error: ‘m_delay4’ was not declared in this scope
419 | m_delay4[_chnl] = m_delay4[_chnl] + m_svf2 * m_delay3[_chnl];
| ^~~~~~~~
/usr/local/src/lmms/include/BasicFilters.h:419:86: error: ‘m_delay3’ was not declared in this scope
419 | m_delay4[_chnl] = m_delay4[_chnl] + m_svf2 * m_delay3[_chnl];
| ^~~~~~~~
/usr/local/src/lmms/include/BasicFilters.h:426:43: error: ‘m_delay4’ was not declared in this scope
426 | ? m_delay4[_chnl]
| ^~~~~~~~
/usr/local/src/lmms/include/BasicFilters.h:427:43: error: ‘m_delay3’ was not declared in this scope
427 | : m_delay3[_chnl];
| ^~~~~~~~
/usr/local/src/lmms/include/BasicFilters.h:435:41: error: ‘m_delay2’ was not declared in this scope
435 | m_delay2[_chnl] = m_delay2[_chnl] + m_svf1 * m_delay1[_chnl];
| ^~~~~~~~
/usr/local/src/lmms/include/BasicFilters.h:435:86: error: ‘m_delay1’ was not declared in this scope
435 | m_delay2[_chnl] = m_delay2[_chnl] + m_svf1 * m_delay1[_chnl];
| ^~~~~~~~
/usr/local/src/lmms/include/BasicFilters.h:448:41: error: ‘m_delay2’ was not declared in this scope
448 | m_delay2[_chnl] = m_delay2[_chnl] + m_svf1 * m_delay1[_chnl]; /* delay2/4 = lowpass output */
| ^~~~~~~~
/usr/local/src/lmms/include/BasicFilters.h:448:86: error: ‘m_delay1’ was not declared in this scope
448 | m_delay2[_chnl] = m_delay2[_chnl] + m_svf1 * m_delay1[_chnl]; /* delay2/4 = lowpass output */
| ^~~~~~~~
/usr/local/src/lmms/include/BasicFilters.h:452:41: error: ‘m_delay4’ was not declared in this scope
452 | m_delay4[_chnl] = m_delay4[_chnl] + m_svf2 * m_delay3[_chnl];
| ^~~~~~~~
/usr/local/src/lmms/include/BasicFilters.h:452:86: error: ‘m_delay3’ was not declared in this scope
452 | m_delay4[_chnl] = m_delay4[_chnl] + m_svf2 * m_delay3[_chnl];
| ^~~~~~~~
/usr/local/src/lmms/include/BasicFilters.h:458:40: error: ‘m_delay4’ was not declared in this scope
458 | return m_delay4[_chnl] + hp1;
| ^~~~~~~~
/usr/local/src/lmms/include/BasicFilters.h:472:62: error: ‘m_rcbp0’ was not declared in this scope; did you mean ‘m_rcb’?
472 | sample_t in = _in0 + m_rcbp0[_chnl] * m_rcq;
| ^~~~~~~
| m_rcb
/usr/local/src/lmms/include/BasicFilters.h:475:59: error: ‘m_rclp0’ was not declared in this scope; did you mean ‘m_rca’?
475 | lp = in * m_rcb + m_rclp0[_chnl] * m_rca;
| ^~~~~~~
| m_rca
/usr/local/src/lmms/include/BasicFilters.h:478:64: error: ‘m_rchp0’ was not declared in this scope; did you mean ‘m_rca’?
478 | sample_t hp = m_rcc * (m_rchp0[_chnl] + in - m_rclast0[_chnl]);
| ^~~~~~~
| m_rca
/usr/local/src/lmms/include/BasicFilters.h:478:86: error: ‘m_rclast0’ was not declared in this scope
478 | sample_t hp = m_rcc * (m_rchp0[_chnl] + in - m_rclast0[_chnl]);
| ^~~~~~~~~
/usr/local/src/lmms/include/BasicFilters.h:497:62: error: ‘m_rcbp0’ was not declared in this scope; did you mean ‘m_rcb’?
497 | sample_t in = _in0 + m_rcbp0[_chnl] * m_rcq;
| ^~~~~~~
| m_rcb
/usr/local/src/lmms/include/BasicFilters.h:500:56: error: ‘m_rchp0’ was not declared in this scope; did you mean ‘m_rca’?
500 | hp = m_rcc * ( m_rchp0[_chnl] + in - m_rclast0[_chnl] );
| ^~~~~~~
| m_rca
/usr/local/src/lmms/include/BasicFilters.h:500:78: error: ‘m_rclast0’ was not declared in this scope
500 | hp = m_rcc * ( m_rchp0[_chnl] + in - m_rclast0[_chnl] );
| ^~~~~~~~~
/usr/local/src/lmms/include/BasicFilters.h:519:62: error: ‘m_rcbp0’ was not declared in this scope; did you mean ‘m_rcb’?
519 | sample_t in = _in0 + m_rcbp0[_chnl] * m_rcq;
| ^~~~~~~
| m_rcb
/usr/local/src/lmms/include/BasicFilters.h:522:59: error: ‘m_rclp0’ was not declared in this scope; did you mean ‘m_rca’?
522 | lp = in * m_rcb + m_rclp0[_chnl] * m_rca;
| ^~~~~~~
| m_rca
/usr/local/src/lmms/include/BasicFilters.h:525:65: error: ‘m_rchp0’ was not declared in this scope; did you mean ‘m_rca’?
525 | sample_t hp = m_rcc * ( m_rchp0[_chnl] + in - m_rclast0[_chnl] );
| ^~~~~~~
| m_rca
/usr/local/src/lmms/include/BasicFilters.h:525:87: error: ‘m_rclast0’ was not declared in this scope
525 | sample_t hp = m_rcc * ( m_rchp0[_chnl] + in - m_rclast0[_chnl] );
| ^~~~~~~~~
/usr/local/src/lmms/include/BasicFilters.h:537:51: error: ‘m_rcbp1’ was not declared in this scope; did you mean ‘m_rcb’?
537 | in = lp + m_rcbp1[_chnl] * m_rcq;
| ^~~~~~~
| m_rcb
/usr/local/src/lmms/include/BasicFilters.h:540:59: error: ‘m_rclp1’ was not declared in this scope; did you mean ‘m_rca’?
540 | lp = in * m_rcb + m_rclp1[_chnl] * m_rca;
| ^~~~~~~
| m_rca
/usr/local/src/lmms/include/BasicFilters.h:543:56: error: ‘m_rchp1’ was not declared in this scope; did you mean ‘m_rca’?
543 | hp = m_rcc * ( m_rchp1[_chnl] + in - m_rclast1[_chnl] );
| ^~~~~~~
| m_rca
/usr/local/src/lmms/include/BasicFilters.h:543:78: error: ‘m_rclast1’ was not declared in this scope
543 | hp = m_rcc * ( m_rchp1[_chnl] + in - m_rclast1[_chnl] );
| ^~~~~~~~~
/usr/local/src/lmms/include/BasicFilters.h:563:62: error: ‘m_rcbp0’ was not declared in this scope; did you mean ‘m_rcb’?
563 | sample_t in = _in0 + m_rcbp0[_chnl] * m_rcq;
| ^~~~~~~
| m_rcb
/usr/local/src/lmms/include/BasicFilters.h:566:56: error: ‘m_rchp0’ was not declared in this scope; did you mean ‘m_rca’?
566 | hp = m_rcc * ( m_rchp0[_chnl] + in - m_rclast0[_chnl] );
| ^~~~~~~
| m_rca
/usr/local/src/lmms/include/BasicFilters.h:566:78: error: ‘m_rclast0’ was not declared in this scope
566 | hp = m_rcc * ( m_rchp0[_chnl] + in - m_rclast0[_chnl] );
| ^~~~~~~~~
/usr/local/src/lmms/include/BasicFilters.h:578:56: error: ‘m_rcbp1’ was not declared in this scope; did you mean ‘m_rcb’?
578 | ? hp + m_rcbp1[_chnl] * m_rcq
| ^~~~~~~
| m_rcb
/usr/local/src/lmms/include/BasicFilters.h:583:56: error: ‘m_rchp1’ was not declared in this scope; did you mean ‘m_rca’?
583 | hp = m_rcc * ( m_rchp1[_chnl] + in - m_rclast1[_chnl] );
| ^~~~~~~
| m_rca
/usr/local/src/lmms/include/BasicFilters.h:583:78: error: ‘m_rclast1’ was not declared in this scope
583 | hp = m_rcc * ( m_rchp1[_chnl] + in - m_rclast1[_chnl] );
| ^~~~~~~~~
/usr/local/src/lmms/include/BasicFilters.h:599:75: error: ‘m_vflast’ was not declared in this scope; did you mean ‘m_vfa’?
599 | if (std::abs(_in0) < 1.0e-10f && std::abs(m_vflast[0][_chnl]) < 1.0e-10f) { return 0.0f; } // performance hack - skip processing when the numbers get too small
| ^~~~~~~~
| m_vfa
/usr/local/src/lmms/include/BasicFilters.h:605:62: error: ‘m_vfbp’ was not declared in this scope; did you mean ‘m_vfb’?
605 | sample_t in = _in0 + m_vfbp[0][_chnl] * m_vfq;
| ^~~~~~
| m_vfb
/usr/local/src/lmms/include/BasicFilters.h:608:68: error: ‘m_vfhp’ was not declared in this scope; did you mean ‘m_vfa’?
608 | sample_t hp = m_vfc[0] * ( m_vfhp[0][_chnl] + in - m_vflast[0][_chnl] );
| ^~~~~~
| m_vfa
/usr/local/src/lmms/include/BasicFilters.h:608:92: error: ‘m_vflast’ was not declared in this scope; did you mean ‘m_vfa’?
608 | sample_t hp = m_vfc[0] * ( m_vfhp[0][_chnl] + in - m_vflast[0][_chnl] );
| ^~~~~~~~
| m_vfa
make[2]: *** [plugins/DualFilter/CMakeFiles/dualfilter.dir/build.make:110 : plugins/DualFilter/CMakeFiles/dualfilter.dir/DualFilterControls.cpp.o] Erreur 1
make[1]: *** [CMakeFiles/Makefile2:2795 : plugins/DualFilter/CMakeFiles/dualfilter.dir/all] Erreur 2
make: *** [Makefile:156 : all] Erreur 2
make[2]: *** [plugins/DualFilter/CMakeFiles/dualfilter.dir/build.make:110 : plugins/DualFilter/CMakeFiles/dualfilter.dir/DualFilterControls.cpp.o] Erreur 1
make[1]: *** [CMakeFiles/Makefile2:2795 : plugins/DualFilter/CMakeFiles/dualfilter.dir/all] Erreur 2
make: *** [Makefile:156 : all] Erreur 2
Expected Behaviour
Program is built
Steps To Reproduce
Not sure, maybe try to build on Debian 12
Logs
Compile OK with the jusr previous comit (f2c815b) though.
Screenshots / Minimum Reproducible Project
No response
Please search the issue tracker for existing bug reports before submitting your own.
- I have searched all existing issues and confirmed that this is not a duplicate.
Have you updated submodules? Also do clean build.
Yes I had updated the submodule. I deleted the source directory and clone it again (I guess it what a “clean build” is?) and still have the error(s). I realized I hadn’t post the entire error message from the log in my original message, so here it is:
In file included from /usr/local/src/lmms/plugins/DualFilter/DualFilterControls.cpp:29:
/usr/local/src/lmms/include/BasicFilters.h:138:28: error: ‘array’ in namespace ‘std’ does not name a template type
138 | using frame = std::array<double, CHANNELS>;
| ^~~~~
/usr/local/src/lmms/include/BasicFilters.h:43:1: note: ‘std::array’ is defined in header ‘<array>’; did you forget to ‘#include <array>’?
42 | #include "interpolation.h"
+++ |+#include <array>
43 |
/usr/local/src/lmms/include/BasicFilters.h:139:9: error: ‘frame’ does not name a type
139 | frame m_z1, m_z2, m_z3, m_z4;
| ^~~~~
/usr/local/src/lmms/include/BasicFilters.h: In member function ‘void lmms::LinkwitzRiley<CHANNELS>::clearHistory()’:
/usr/local/src/lmms/include/BasicFilters.h:64:25: error: ‘m_z1’ was not declared in this scope; did you mean ‘m_a1’?
64 | m_z1[i] = m_z2[i] = m_z3[i] = m_z4[i] = 0.0f;
| ^~~~
| m_a1
/usr/local/src/lmms/include/BasicFilters.h:64:35: error: ‘m_z2’ was not declared in this scope; did you mean ‘m_a2’?
64 | m_z1[i] = m_z2[i] = m_z3[i] = m_z4[i] = 0.0f;
| ^~~~
| m_a2
/usr/local/src/lmms/include/BasicFilters.h:64:45: error: ‘m_z3’ was not declared in this scope; did you mean ‘m_b3’?
64 | m_z1[i] = m_z2[i] = m_z3[i] = m_z4[i] = 0.0f;
| ^~~~
| m_b3
[ 73%] Generating qrc_flanger.cpp
/usr/local/src/lmms/include/BasicFilters.h:64:55: error: ‘m_z4’ was not declared in this scope; did you mean ‘m_k4’?
64 | m_z1[i] = m_z2[i] = m_z3[i] = m_z4[i] = 0.0f;
| ^~~~
| m_k4
/usr/local/src/lmms/include/BasicFilters.h: In member function ‘float lmms::LinkwitzRiley<CHANNELS>::update(float, lmms::ch_cnt_t)’:
/usr/local/src/lmms/include/BasicFilters.h:119:41: error: ‘m_z1’ was not declared in this scope; did you mean ‘m_a1’?
119 | const double x = in - ( m_z1[ch] * m_b1 ) - ( m_z2[ch] * m_b2 ) -
| ^~~~
| m_a1
/usr/local/src/lmms/include/BasicFilters.h:119:63: error: ‘m_z2’ was not declared in this scope; did you mean ‘m_a2’?
119 | const double x = in - ( m_z1[ch] * m_b1 ) - ( m_z2[ch] * m_b2 ) -
| ^~~~
| m_a2
/usr/local/src/lmms/include/BasicFilters.h:120:27: error: ‘m_z3’ was not declared in this scope; did you mean ‘m_b3’?
120 | ( m_z3[ch] * m_b3 ) - ( m_z4[ch] * m_b4 );
| ^~~~
| m_b3
/usr/local/src/lmms/include/BasicFilters.h:120:49: error: ‘m_z4’ was not declared in this scope; did you mean ‘m_k4’?
120 | ( m_z3[ch] * m_b3 ) - ( m_z4[ch] * m_b4 );
| ^~~~
| m_k4
/usr/local/src/lmms/include/BasicFilters.h: At global scope:
/usr/local/src/lmms/include/BasicFilters.h:888:28: error: ‘array’ in namespace ‘std’ does not name a template type
888 | using frame = std::array<sample_t, CHANNELS>;
| ^~~~~
/usr/local/src/lmms/include/BasicFilters.h:888:23: note: ‘std::array’ is defined in header ‘<array>’; did you forget to ‘#include <array>’?
888 | using frame = std::array<sample_t, CHANNELS>;
| ^~~
/usr/local/src/lmms/include/BasicFilters.h:891:9: error: ‘frame’ does not name a type
891 | frame m_y1, m_y2, m_y3, m_y4, m_oldx, m_oldy1, m_oldy2, m_oldy3;
| ^~~~~
/usr/local/src/lmms/include/BasicFilters.h:893:9: error: ‘frame’ does not name a type
893 | frame m_last;
| ^~~~~
/usr/local/src/lmms/include/BasicFilters.h:896:9: error: ‘frame’ does not name a type
896 | frame m_rcbp0, m_rclp0, m_rchp0, m_rclast0;
| ^~~~~
/usr/local/src/lmms/include/BasicFilters.h:897:9: error: ‘frame’ does not name a type
897 | frame m_rcbp1, m_rclp1, m_rchp1, m_rclast1;
| ^~~~~
/usr/local/src/lmms/include/BasicFilters.h:900:9: error: ‘frame’ does not name a type
900 | frame m_vfbp[6], m_vfhp[6], m_vflast[6];
| ^~~~~
/usr/local/src/lmms/include/BasicFilters.h:903:9: error: ‘frame’ does not name a type
903 | frame m_delay1, m_delay2, m_delay3, m_delay4;
| ^~~~~
[ 73%] Building CXX object plugins/Flanger/CMakeFiles/flanger.dir/FlangerEffect.cpp.o
/usr/local/src/lmms/include/BasicFilters.h: In member function ‘void lmms::BasicFilters<CHANNELS>::clearHistory()’:
/usr/local/src/lmms/include/BasicFilters.h:309:25: error: ‘m_y1’ was not declared in this scope; did you mean ‘y1’?
309 | m_y1[_chnl] = m_y2[_chnl] = m_y3[_chnl] = m_y4[_chnl] =
| ^~~~
| y1
/usr/local/src/lmms/include/BasicFilters.h:309:39: error: ‘m_y2’ was not declared in this scope
309 | m_y1[_chnl] = m_y2[_chnl] = m_y3[_chnl] = m_y4[_chnl] =
| ^~~~
/usr/local/src/lmms/include/BasicFilters.h:309:53: error: ‘m_y3’ was not declared in this scope
309 | m_y1[_chnl] = m_y2[_chnl] = m_y3[_chnl] = m_y4[_chnl] =
| ^~~~
/usr/local/src/lmms/include/BasicFilters.h:309:67: error: ‘m_y4’ was not declared in this scope
309 | m_y1[_chnl] = m_y2[_chnl] = m_y3[_chnl] = m_y4[_chnl] =
| ^~~~
[ 73%] Building CXX object plugins/CrossoverEQ/CMakeFiles/crossovereq.dir/qrc_crossovereq.cpp.o
/usr/local/src/lmms/include/BasicFilters.h:310:41: error: ‘m_oldx’ was not declared in this scope
310 | m_oldx[_chnl] = m_oldy1[_chnl] =
| ^~~~~~
/usr/local/src/lmms/include/BasicFilters.h:310:57: error: ‘m_oldy1’ was not declared in this scope
310 | m_oldx[_chnl] = m_oldy1[_chnl] =
| ^~~~~~~
/usr/local/src/lmms/include/BasicFilters.h:311:41: error: ‘m_oldy2’ was not declared in this scope
311 | m_oldy2[_chnl] = m_oldy3[_chnl] = 0.0f;
| ^~~~~~~
/usr/local/src/lmms/include/BasicFilters.h:311:58: error: ‘m_oldy3’ was not declared in this scope
311 | m_oldy2[_chnl] = m_oldy3[_chnl] = 0.0f;
| ^~~~~~~
/usr/local/src/lmms/include/BasicFilters.h:314:25: error: ‘m_last’ was not declared in this scope
314 | m_last[_chnl] = 0.0f;
| ^~~~~~
/usr/local/src/lmms/include/BasicFilters.h:317:25: error: ‘m_rclp0’ was not declared in this scope; did you mean ‘m_rca’?
317 | m_rclp0[_chnl] = m_rcbp0[_chnl] = m_rchp0[_chnl] = m_rclast0[_chnl] = 0.0f;
| ^~~~~~~
| m_rca
/usr/local/src/lmms/include/BasicFilters.h:317:42: error: ‘m_rcbp0’ was not declared in this scope; did you mean ‘m_rcb’?
317 | m_rclp0[_chnl] = m_rcbp0[_chnl] = m_rchp0[_chnl] = m_rclast0[_chnl] = 0.0f;
| ^~~~~~~
| m_rcb
/usr/local/src/lmms/include/BasicFilters.h:317:59: error: ‘m_rchp0’ was not declared in this scope; did you mean ‘m_rca’?
317 | m_rclp0[_chnl] = m_rcbp0[_chnl] = m_rchp0[_chnl] = m_rclast0[_chnl] = 0.0f;
| ^~~~~~~
| m_rca
[ 73%] Building CXX object plugins/DualFilter/CMakeFiles/dualfilter.dir/DualFilterControlDialog.cpp.o
/usr/local/src/lmms/include/BasicFilters.h:317:76: error: ‘m_rclast0’ was not declared in this scope
317 | m_rclp0[_chnl] = m_rcbp0[_chnl] = m_rchp0[_chnl] = m_rclast0[_chnl] = 0.0f;
| ^~~~~~~~~
/usr/local/src/lmms/include/BasicFilters.h:318:25: error: ‘m_rclp1’ was not declared in this scope; did you mean ‘m_rca’?
318 | m_rclp1[_chnl] = m_rcbp1[_chnl] = m_rchp1[_chnl] = m_rclast1[_chnl] = 0.0f;
| ^~~~~~~
| m_rca
/usr/local/src/lmms/include/BasicFilters.h:318:42: error: ‘m_rcbp1’ was not declared in this scope; did you mean ‘m_rcb’?
318 | m_rclp1[_chnl] = m_rcbp1[_chnl] = m_rchp1[_chnl] = m_rclast1[_chnl] = 0.0f;
| ^~~~~~~
| m_rcb
/usr/local/src/lmms/include/BasicFilters.h:318:59: error: ‘m_rchp1’ was not declared in this scope; did you mean ‘m_rca’?
318 | m_rclp1[_chnl] = m_rcbp1[_chnl] = m_rchp1[_chnl] = m_rclast1[_chnl] = 0.0f;
| ^~~~~~~
| m_rca
/usr/local/src/lmms/include/BasicFilters.h:318:76: error: ‘m_rclast1’ was not declared in this scope
318 | m_rclp1[_chnl] = m_rcbp1[_chnl] = m_rchp1[_chnl] = m_rclast1[_chnl] = 0.0f;
| ^~~~~~~~~
/usr/local/src/lmms/include/BasicFilters.h:321:28: error: ‘m_vfbp’ was not declared in this scope; did you mean ‘m_vfb’?
321 | m_vfbp[i][_chnl] = m_vfhp[i][_chnl] = m_vflast[i][_chnl] = 0.0f;
| ^~~~~~
| m_vfb
/usr/local/src/lmms/include/BasicFilters.h:321:47: error: ‘m_vfhp’ was not declared in this scope; did you mean ‘m_vfa’?
321 | m_vfbp[i][_chnl] = m_vfhp[i][_chnl] = m_vflast[i][_chnl] = 0.0f;
| ^~~~~~
| m_vfa
/usr/local/src/lmms/include/BasicFilters.h:321:66: error: ‘m_vflast’ was not declared in this scope; did you mean ‘m_vfa’?
321 | m_vfbp[i][_chnl] = m_vfhp[i][_chnl] = m_vflast[i][_chnl] = 0.0f;
| ^~~~~~~~
| m_vfa
/usr/local/src/lmms/include/BasicFilters.h:324:25: error: ‘m_delay1’ was not declared in this scope
324 | m_delay1[_chnl] = 0.0f;
| ^~~~~~~~
/usr/local/src/lmms/include/BasicFilters.h:325:25: error: ‘m_delay2’ was not declared in this scope
325 | m_delay2[_chnl] = 0.0f;
| ^~~~~~~~
/usr/local/src/lmms/include/BasicFilters.h:326:25: error: ‘m_delay3’ was not declared in this scope
326 | m_delay3[_chnl] = 0.0f;
| ^~~~~~~~
/usr/local/src/lmms/include/BasicFilters.h:327:25: error: ‘m_delay4’ was not declared in this scope
327 | m_delay4[_chnl] = 0.0f;
| ^~~~~~~~
/usr/local/src/lmms/include/BasicFilters.h: In member function ‘lmms::sample_t lmms::BasicFilters<CHANNELS>::update(lmms::sample_t, lmms::ch_cnt_t)’:
/usr/local/src/lmms/include/BasicFilters.h:348:57: error: ‘m_y4’ was not declared in this scope
348 | sample_t x = _in0 - m_r*m_y4[_chnl];
| ^~~~
/usr/local/src/lmms/include/BasicFilters.h:352:33: error: ‘m_y1’ was not declared in this scope; did you mean ‘y1’?
352 | m_y1[_chnl] = std::clamp((x + m_oldx[_chnl]) * m_p
| ^~~~
| y1
/usr/local/src/lmms/include/BasicFilters.h:352:63: error: ‘m_oldx’ was not declared in this scope
352 | m_y1[_chnl] = std::clamp((x + m_oldx[_chnl]) * m_p
| ^~~~~~
/usr/local/src/lmms/include/BasicFilters.h:355:33: error: ‘m_y2’ was not declared in this scope
355 | m_y2[_chnl] = std::clamp((m_y1[_chnl] + m_oldy1[_chnl]) * m_p
| ^~~~
/usr/local/src/lmms/include/BasicFilters.h:355:73: error: ‘m_oldy1’ was not declared in this scope
355 | m_y2[_chnl] = std::clamp((m_y1[_chnl] + m_oldy1[_chnl]) * m_p
| ^~~~~~~
/usr/local/src/lmms/include/BasicFilters.h:358:33: error: ‘m_y3’ was not declared in this scope
358 | m_y3[_chnl] = std::clamp((m_y2[_chnl] + m_oldy2[_chnl]) * m_p
| ^~~~
/usr/local/src/lmms/include/BasicFilters.h:358:73: error: ‘m_oldy2’ was not declared in this scope
358 | m_y3[_chnl] = std::clamp((m_y2[_chnl] + m_oldy2[_chnl]) * m_p
| ^~~~~~~
/usr/local/src/lmms/include/BasicFilters.h:361:73: error: ‘m_oldy3’ was not declared in this scope
361 | m_y4[_chnl] = std::clamp((m_y3[_chnl] + m_oldy3[_chnl]) * m_p
| ^~~~~~~
[ 73%] Building CXX object plugins/DualFilter/CMakeFiles/dualfilter.dir/moc_DualFilterControls.cpp.o
/usr/local/src/lmms/include/BasicFilters.h:382:73: error: ‘m_last’ was not declared in this scope
382 | sample_t x = linearInterpolate( m_last[_chnl], _in0, ip ) - m_r * m_y3[_chnl];
| ^~~~~~
/usr/local/src/lmms/include/BasicFilters.h:382:107: error: ‘m_y3’ was not declared in this scope
382 | sample_t x = linearInterpolate( m_last[_chnl], _in0, ip ) - m_r * m_y3[_chnl];
| ^~~~
/usr/local/src/lmms/include/BasicFilters.h:384:41: error: ‘m_y1’ was not declared in this scope; did you mean ‘y1’?
384 | m_y1[_chnl] = std::clamp((x + m_oldx[_chnl]) * m_p
| ^~~~
| y1
/usr/local/src/lmms/include/BasicFilters.h:384:71: error: ‘m_oldx’ was not declared in this scope
384 | m_y1[_chnl] = std::clamp((x + m_oldx[_chnl]) * m_p
| ^~~~~~
/usr/local/src/lmms/include/BasicFilters.h:387:41: error: ‘m_y2’ was not declared in this scope
387 | m_y2[_chnl] = std::clamp((m_y1[_chnl] + m_oldy1[_chnl]) * m_p
| ^~~~
/usr/local/src/lmms/include/BasicFilters.h:387:81: error: ‘m_oldy1’ was not declared in this scope
387 | m_y2[_chnl] = std::clamp((m_y1[_chnl] + m_oldy1[_chnl]) * m_p
| ^~~~~~~
/usr/local/src/lmms/include/BasicFilters.h:390:81: error: ‘m_oldy2’ was not declared in this scope
390 | m_y3[_chnl] = std::clamp((m_y2[_chnl] + m_oldy2[_chnl]) * m_p
| ^~~~~~~
/usr/local/src/lmms/include/BasicFilters.h:400:33: error: ‘m_last’ was not declared in this scope
400 | m_last[_chnl] = _in0;
| ^~~~~~
/usr/local/src/lmms/include/BasicFilters.h:415:41: error: ‘m_delay2’ was not declared in this scope
415 | m_delay2[_chnl] = m_delay2[_chnl] + m_svf1 * m_delay1[_chnl]; /* delay2/4 = lowpass output */
| ^~~~~~~~
/usr/local/src/lmms/include/BasicFilters.h:415:86: error: ‘m_delay1’ was not declared in this scope
415 | m_delay2[_chnl] = m_delay2[_chnl] + m_svf1 * m_delay1[_chnl]; /* delay2/4 = lowpass output */
| ^~~~~~~~
[ 74%] Building CXX object plugins/Dispersion/CMakeFiles/dispersion.dir/DispersionControlDialog.cpp.o
/usr/local/src/lmms/include/BasicFilters.h:419:41: error: ‘m_delay4’ was not declared in this scope
419 | m_delay4[_chnl] = m_delay4[_chnl] + m_svf2 * m_delay3[_chnl];
| ^~~~~~~~
/usr/local/src/lmms/include/BasicFilters.h:419:86: error: ‘m_delay3’ was not declared in this scope
419 | m_delay4[_chnl] = m_delay4[_chnl] + m_svf2 * m_delay3[_chnl];
| ^~~~~~~~
/usr/local/src/lmms/include/BasicFilters.h:426:43: error: ‘m_delay4’ was not declared in this scope
426 | ? m_delay4[_chnl]
| ^~~~~~~~
/usr/local/src/lmms/include/BasicFilters.h:427:43: error: ‘m_delay3’ was not declared in this scope
427 | : m_delay3[_chnl];
| ^~~~~~~~
/usr/local/src/lmms/include/BasicFilters.h:435:41: error: ‘m_delay2’ was not declared in this scope
435 | m_delay2[_chnl] = m_delay2[_chnl] + m_svf1 * m_delay1[_chnl];
| ^~~~~~~~
/usr/local/src/lmms/include/BasicFilters.h:435:86: error: ‘m_delay1’ was not declared in this scope
435 | m_delay2[_chnl] = m_delay2[_chnl] + m_svf1 * m_delay1[_chnl];
| ^~~~~~~~
/usr/local/src/lmms/include/BasicFilters.h:448:41: error: ‘m_delay2’ was not declared in this scope
448 | m_delay2[_chnl] = m_delay2[_chnl] + m_svf1 * m_delay1[_chnl]; /* delay2/4 = lowpass output */
| ^~~~~~~~
/usr/local/src/lmms/include/BasicFilters.h:448:86: error: ‘m_delay1’ was not declared in this scope
448 | m_delay2[_chnl] = m_delay2[_chnl] + m_svf1 * m_delay1[_chnl]; /* delay2/4 = lowpass output */
| ^~~~~~~~
/usr/local/src/lmms/include/BasicFilters.h:452:41: error: ‘m_delay4’ was not declared in this scope
452 | m_delay4[_chnl] = m_delay4[_chnl] + m_svf2 * m_delay3[_chnl];
| ^~~~~~~~
/usr/local/src/lmms/include/BasicFilters.h:452:86: error: ‘m_delay3’ was not declared in this scope
452 | m_delay4[_chnl] = m_delay4[_chnl] + m_svf2 * m_delay3[_chnl];
| ^~~~~~~~
/usr/local/src/lmms/include/BasicFilters.h:458:40: error: ‘m_delay4’ was not declared in this scope
458 | return m_delay4[_chnl] + hp1;
| ^~~~~~~~
/usr/local/src/lmms/include/BasicFilters.h:472:62: error: ‘m_rcbp0’ was not declared in this scope; did you mean ‘m_rcb’?
472 | sample_t in = _in0 + m_rcbp0[_chnl] * m_rcq;
| ^~~~~~~
| m_rcb
/usr/local/src/lmms/include/BasicFilters.h:475:59: error: ‘m_rclp0’ was not declared in this scope; did you mean ‘m_rca’?
475 | lp = in * m_rcb + m_rclp0[_chnl] * m_rca;
| ^~~~~~~
| m_rca
[ 74%] Building CXX object plugins/Delay/CMakeFiles/delay.dir/StereoDelay.cpp.o
/usr/local/src/lmms/include/BasicFilters.h:478:64: error: ‘m_rchp0’ was not declared in this scope; did you mean ‘m_rca’?
478 | sample_t hp = m_rcc * (m_rchp0[_chnl] + in - m_rclast0[_chnl]);
| ^~~~~~~
| m_rca
/usr/local/src/lmms/include/BasicFilters.h:478:86: error: ‘m_rclast0’ was not declared in this scope
478 | sample_t hp = m_rcc * (m_rchp0[_chnl] + in - m_rclast0[_chnl]);
| ^~~~~~~~~
/usr/local/src/lmms/include/BasicFilters.h:497:62: error: ‘m_rcbp0’ was not declared in this scope; did you mean ‘m_rcb’?
497 | sample_t in = _in0 + m_rcbp0[_chnl] * m_rcq;
| ^~~~~~~
| m_rcb
/usr/local/src/lmms/include/BasicFilters.h:500:56: error: ‘m_rchp0’ was not declared in this scope; did you mean ‘m_rca’?
500 | hp = m_rcc * ( m_rchp0[_chnl] + in - m_rclast0[_chnl] );
| ^~~~~~~
| m_rca
/usr/local/src/lmms/include/BasicFilters.h:500:78: error: ‘m_rclast0’ was not declared in this scope
500 | hp = m_rcc * ( m_rchp0[_chnl] + in - m_rclast0[_chnl] );
| ^~~~~~~~~
/usr/local/src/lmms/include/BasicFilters.h:519:62: error: ‘m_rcbp0’ was not declared in this scope; did you mean ‘m_rcb’?
519 | sample_t in = _in0 + m_rcbp0[_chnl] * m_rcq;
| ^~~~~~~
| m_rcb
/usr/local/src/lmms/include/BasicFilters.h:522:59: error: ‘m_rclp0’ was not declared in this scope; did you mean ‘m_rca’?
522 | lp = in * m_rcb + m_rclp0[_chnl] * m_rca;
| ^~~~~~~
| m_rca
/usr/local/src/lmms/include/BasicFilters.h:525:65: error: ‘m_rchp0’ was not declared in this scope; did you mean ‘m_rca’?
525 | sample_t hp = m_rcc * ( m_rchp0[_chnl] + in - m_rclast0[_chnl] );
| ^~~~~~~
| m_rca
/usr/local/src/lmms/include/BasicFilters.h:525:87: error: ‘m_rclast0’ was not declared in this scope
525 | sample_t hp = m_rcc * ( m_rchp0[_chnl] + in - m_rclast0[_chnl] );
| ^~~~~~~~~
/usr/local/src/lmms/include/BasicFilters.h:537:51: error: ‘m_rcbp1’ was not declared in this scope; did you mean ‘m_rcb’?
537 | in = lp + m_rcbp1[_chnl] * m_rcq;
| ^~~~~~~
| m_rcb
/usr/local/src/lmms/include/BasicFilters.h:540:59: error: ‘m_rclp1’ was not declared in this scope; did you mean ‘m_rca’?
540 | lp = in * m_rcb + m_rclp1[_chnl] * m_rca;
| ^~~~~~~
| m_rca
/usr/local/src/lmms/include/BasicFilters.h:543:56: error: ‘m_rchp1’ was not declared in this scope; did you mean ‘m_rca’?
543 | hp = m_rcc * ( m_rchp1[_chnl] + in - m_rclast1[_chnl] );
| ^~~~~~~
| m_rca
/usr/local/src/lmms/include/BasicFilters.h:543:78: error: ‘m_rclast1’ was not declared in this scope
543 | hp = m_rcc * ( m_rchp1[_chnl] + in - m_rclast1[_chnl] );
| ^~~~~~~~~
/usr/local/src/lmms/include/BasicFilters.h:563:62: error: ‘m_rcbp0’ was not declared in this scope; did you mean ‘m_rcb’?
563 | sample_t in = _in0 + m_rcbp0[_chnl] * m_rcq;
| ^~~~~~~
| m_rcb
/usr/local/src/lmms/include/BasicFilters.h:566:56: error: ‘m_rchp0’ was not declared in this scope; did you mean ‘m_rca’?
566 | hp = m_rcc * ( m_rchp0[_chnl] + in - m_rclast0[_chnl] );
| ^~~~~~~
| m_rca
/usr/local/src/lmms/include/BasicFilters.h:566:78: error: ‘m_rclast0’ was not declared in this scope
566 | hp = m_rcc * ( m_rchp0[_chnl] + in - m_rclast0[_chnl] );
| ^~~~~~~~~
/usr/local/src/lmms/include/BasicFilters.h:578:56: error: ‘m_rcbp1’ was not declared in this scope; did you mean ‘m_rcb’?
578 | ? hp + m_rcbp1[_chnl] * m_rcq
| ^~~~~~~
| m_rcb
/usr/local/src/lmms/include/BasicFilters.h:583:56: error: ‘m_rchp1’ was not declared in this scope; did you mean ‘m_rca’?
583 | hp = m_rcc * ( m_rchp1[_chnl] + in - m_rclast1[_chnl] );
| ^~~~~~~
| m_rca
/usr/local/src/lmms/include/BasicFilters.h:583:78: error: ‘m_rclast1’ was not declared in this scope
583 | hp = m_rcc * ( m_rchp1[_chnl] + in - m_rclast1[_chnl] );
| ^~~~~~~~~
/usr/local/src/lmms/include/BasicFilters.h:599:75: error: ‘m_vflast’ was not declared in this scope; did you mean ‘m_vfa’?
599 | if (std::abs(_in0) < 1.0e-10f && std::abs(m_vflast[0][_chnl]) < 1.0e-10f) { return 0.0f; } // performance hack - skip processing when the numbers get too small
| ^~~~~~~~
| m_vfa
/usr/local/src/lmms/include/BasicFilters.h:605:62: error: ‘m_vfbp’ was not declared in this scope; did you mean ‘m_vfb’?
605 | sample_t in = _in0 + m_vfbp[0][_chnl] * m_vfq;
| ^~~~~~
| m_vfb
/usr/local/src/lmms/include/BasicFilters.h:608:68: error: ‘m_vfhp’ was not declared in this scope; did you mean ‘m_vfa’?
608 | sample_t hp = m_vfc[0] * ( m_vfhp[0][_chnl] + in - m_vflast[0][_chnl] );
| ^~~~~~
| m_vfa
/usr/local/src/lmms/include/BasicFilters.h:608:92: error: ‘m_vflast’ was not declared in this scope; did you mean ‘m_vfa’?
608 | sample_t hp = m_vfc[0] * ( m_vfhp[0][_chnl] + in - m_vflast[0][_chnl] );
| ^~~~~~~~
| m_vfa
I will test without parallelization (althoug it should not matter I guess?). If I don’t post a new message it means it fails too.
Try adding #include <array>
in the headers area.
Try adding
#include <array>
in the headers area.
Working fine with this in /usr/local/src/lmms/plugins/DualFilter/DualFilterControls.cpp
Thank you!
(I don’t know if I should close the issue now or wait for the fix to be added in the source, so I let you close it)
It's just you. It works for me, the CI works, also that file wasn't touched recently. It should be working.
Fact is, it wasn’t working for me before I’ve added the include you indicated.
I modify the CMakeLists.txt, could it have any impact on the build? (ie: be the cause of the error I had?) I’d say no, but I’m too ignorant to be sure of that. In any case:
OPTION(WANT_ALSA "Include ALSA (Advanced Linux Sound Architecture) support" ON)
OPTION(WANT_OSS "Include Open Sound System support" OFF)
OPTION(WANT_CALF "Include CALF LADSPA plugins" ON)
OPTION(WANT_CAPS "Include C* Audio Plugin Suite (LADSPA plugins)" ON)
OPTION(WANT_CARLA "Include Carla plugin" ON)
OPTION(WANT_CMT "Include Computer Music Toolkit LADSPA plugins" ON)
OPTION(WANT_JACK "Include JACK (Jack Audio Connection Kit) support" OFF)
OPTION(WANT_WEAKJACK "Loosely link JACK libraries" OFF)
OPTION(WANT_LV2 "Include Lv2 plugins" ON)
OPTION(WANT_SUIL "Include SUIL for LV2 plugin UIs" ON)
OPTION(WANT_MP3LAME "Include MP3/Lame support" ON)
OPTION(WANT_OGGVORBIS "Include OGG/Vorbis support" ON)
OPTION(WANT_PULSEAUDIO "Include PulseAudio support" OFF)
OPTION(WANT_PORTAUDIO "Include PortAudio support" OFF)
OPTION(WANT_SNDIO "Include sndio support" OFF)
OPTION(WANT_SOUNDIO "Include libsoundio support" OFF)
OPTION(WANT_SDL "Include SDL (Simple DirectMedia Layer) support" OFF)
OPTION(WANT_SF2 "Include SoundFont2 player plugin" ON)
OPTION(WANT_GIG "Include GIG player plugin" ON)
option(WANT_SID "Include Sid instrument" ON)
OPTION(WANT_STK "Include Stk (Synthesis Toolkit) support" ON)
OPTION(WANT_SWH "Include Steve Harris's LADSPA plugins" ON)
OPTION(WANT_TAP "Include Tom's Audio Processing LADSPA plugins" ON)
OPTION(WANT_VST "Include VST support" OFF)
OPTION(WANT_VST_32 "Include 32-bit Windows VST support" OFF)
OPTION(WANT_VST_64 "Include 64-bit Windows VST support" OFF)
OPTION(WANT_WINMM "Include WinMM MIDI support" OFF)
OPTION(WANT_DEBUG_FPE "Debug floating point exceptions" OFF)
option(WANT_DEBUG_ASAN "Enable AddressSanitizer" OFF)
option(WANT_DEBUG_TSAN "Enable ThreadSanitizer" OFF)
option(WANT_DEBUG_MSAN "Enable MemorySanitizer" OFF)
option(WANT_DEBUG_UBSAN "Enable UndefinedBehaviorSanitizer" OFF)
OPTION(BUNDLE_QT_TRANSLATIONS "Install Qt translation files for LMMS" OFF)
(I make those setting for a long time, it is not something I attempted recently)
I don’t know if I should close the issue now or wait for the fix to be added in the source
We wait for fixes to be merged before closing issues, so that if a fix doesn't get merged for some reason (there's a mistake in it, or we forget to do it at all), then the issue remains open. When a PR is opened to fix an issue, we usually link them together on GitHub so that the issue is automatically closed when the PR is merged, so you don't need to close it yourself at all.
It's just you. It works for me, the CI works, also that file wasn't touched recently. It should be working.
If the file uses std::array
, but doesn't #include <array>
, that's a bug and we should fix it. It may work by chance if another file (possibly another system header) includes the appropriate header, but this isn't something to rely on.
O yes
#include <array>
in file <include/BasicFilters.h> ~ line 43
My compiler hint ...
Edited: better in 39 after #include <cmath>
(2024.07.27)
This might be an interesting tool to try out on the code base: https://github.com/include-what-you-use/include-what-you-use
I have just checked commit 1420a1f which is mentioned in the description and it contains several changes with regards to array
includes. Most notably, it removes an include from include/lmms_basics.h
which itself should be widely included in the code base.