LMMS/lmms

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.

Pull request #7398 should fix the problem at the root where it was reported for @M4rotte, in BasicFilters.h where array is declared and used.