Sudden problems with sound_library.h

I am extremely new to the whole proffie and arduino thing. Up until yesterday i was making progress with small changes to my lightsaber but all of a sudden i keep getting error messages while compiling. I have tried redownloading the sound_library.h file but nothing seems to be working. Help would be greatly appreciated

toy_saber_config.h (62.3 KB)
sound_library.h (9.7 KB)

In file included from C:\Users\deurl\Desktop\ProffieOS\config\toy_saber_config.h:28,
                 from C:\Users\deurl\Desktop\ProffieOS\ProffieOS.ino:625:
C:\Users\deurl\Desktop\ProffieOS\sound\sound_library.h:47:3: error: 'SoundQueue' does not name a type
   47 |   SoundQueue<16> sound_queue_;
      |   ^~~~~~~~~~
C:\Users\deurl\Desktop\ProffieOS\sound\sound_library.h:49:13: error: 'SoundToPlay' has not been declared
   49 |   void Play(SoundToPlay stp) { sound_queue_.Play(stp); }
      |             ^~~~~~~~~~~
C:\Users\deurl\Desktop\ProffieOS\sound\sound_library.h: In member function 'void SoundLibrary::Play(const char*)':
C:\Users\deurl\Desktop\ProffieOS\sound\sound_library.h:48:33: error: 'sound_queue_' was not declared in this scope
   48 |   void Play(const char* file) { sound_queue_.Play(file); }
      |                                 ^~~~~~~~~~~~
C:\Users\deurl\Desktop\ProffieOS\sound\sound_library.h: In member function 'void SoundLibrary::Play(int)':
C:\Users\deurl\Desktop\ProffieOS\sound\sound_library.h:49:32: error: 'sound_queue_' was not declared in this scope
   49 |   void Play(SoundToPlay stp) { sound_queue_.Play(stp); }
      |                                ^~~~~~~~~~~~
C:\Users\deurl\Desktop\ProffieOS\sound\sound_library.h: In member function 'void SoundLibrary::Poll(RefPtr<BufferedWavPlayer>&)':
C:\Users\deurl\Desktop\ProffieOS\sound\sound_library.h:51:5: error: 'sound_queue_' was not declared in this scope
   51 |     sound_queue_.PollSoundQueue(wav_player);
      |     ^~~~~~~~~~~~
C:\Users\deurl\Desktop\ProffieOS\sound\sound_library.h: In member function 'void SoundLibrary::TensValue(int)':
C:\Users\deurl\Desktop\ProffieOS\sound\sound_library.h:57:12: error: 'SoundToPlay' was not declared in this scope
   57 |       Play(SoundToPlay(&SFX_mnum, number - 1));
      |            ^~~~~~~~~~~
C:\Users\deurl\Desktop\ProffieOS\sound\sound_library.h:64:9: error: 'SoundToPlay' was not declared in this scope
   64 |    Play(SoundToPlay(&SFX_mnum, (tens * 10) - 1));
      |         ^~~~~~~~~~~
C:\Users\deurl\Desktop\ProffieOS\sound\sound_library.h:88:29: error: 'SoundToPlay' was not declared in this scope
   88 |       if (number != 0) Play(SoundToPlay(&SFX_mnum, number - 1));
      |                             ^~~~~~~~~~~
C:\Users\deurl\Desktop\ProffieOS\sound\sound_library.h: In member function 'void SoundLibrary::SayNumber(float, SayType)':
C:\Users\deurl\Desktop\ProffieOS\sound\sound_library.h:102:9: error: 'SoundToPlay' was not declared in this scope
  102 |    Play(SoundToPlay("mzero.wav"));
      |         ^~~~~~~~~~~
C:\Users\deurl\Desktop\ProffieOS\sound\sound_library.h:107:7: error: 'SoundToPlay' was not declared in this scope
  107 |  Play(SoundToPlay("mpoint.wav"));
      |       ^~~~~~~~~~~

exit status 1

Compilation error: 'SoundQueue' does not name a type

Don’t include sound_library.h from your config file.

As Profezzorn said, this does not belong in the config file.

#include "../sound/sound_library.h"

Change this section:

#ifdef CONFIG_PROP
#include "../sound/sound_library.h"
#include "../props/saber_BC_buttons.h"
#endif

to just be this instead:

#ifdef CONFIG_PROP
#include "../props/saber_BC_buttons.h"
#endif

This is one of those things that China started doing for some reason and it spread like wildfire, but it’s incorrect.

Thanks for the quick response and the explanation. This turned out to be te problem so my saber is working as it should again

1 Like