Config on ProffieOS v 8.10

Hi Team,

been a long time and I wanted to update my saber and I’m getting this error.

Arduino: 1.8.19 (Linux), Board: “Proffieboard V2, Serial, SDCARD (SPI), 80 MHz, full, Smallest Code”

cc1: warning: command-line option ‘-felide-constructors’ is valid for C++/ObjC++ but not for C
cc1: warning: command-line option ‘-felide-constructors’ is valid for C++/ObjC++ but not for C
cc1: warning: command-line option ‘-felide-constructors’ is valid for C++/ObjC++ but not for C
cc1: warning: command-line option ‘-felide-constructors’ is valid for C++/ObjC++ but not for C
cc1: warning: command-line option ‘-felide-constructors’ is valid for C++/ObjC++ but not for C
cc1: warning: command-line option ‘-felide-constructors’ is valid for C++/ObjC++ but not for C
cc1: warning: command-line option ‘-felide-constructors’ is valid for C++/ObjC++ but not for C
cc1: warning: command-line option ‘-felide-constructors’ is valid for C++/ObjC++ but not for C
cc1: warning: command-line option ‘-felide-constructors’ is valid for C++/ObjC++ but not for C
cc1: warning: command-line option ‘-felide-constructors’ is valid for C++/ObjC++ but not for C
cc1: warning: command-line option ‘-felide-constructors’ is valid for C++/ObjC++ but not for C
cc1: warning: command-line option ‘-felide-constructors’ is valid for C++/ObjC++ but not for C
Archiving built core (caching) in: /tmp/arduino_cache_867413/core/core_proffieboard_stm32l4_ProffieboardV2-L433CC_usb_cdc,dosfs_sdspi,speed_80,pclk_2,opt_os_53a316b3c8584596027c522b61460171.a
/home/maxb/.arduino15/packages/proffieboard/tools/arm-none-eabi-gcc/14-2-rel1-xpack/bin/../lib/gcc/arm-none-eabi/14.2.1/../../../../arm-none-eabi/bin/ld:/home/maxb/.arduino15/packages/proffieboard/hardware/stm32l4/4.6.0/variants/STM32L433CC-ProffieboardV2/linker_scripts/STM32L433CC_FLASH.ld:224: warning: memory region `SRAM2’ not declared
lto-wrapper: warning: using serial compilation of 7 LTRANS jobs
lto-wrapper: note: see the ‘-flto’ option documentation for more information
/home/maxb/.arduino15/packages/proffieboard/tools/arm-none-eabi-gcc/14-2-rel1-xpack/bin/../lib/gcc/arm-none-eabi/14.2.1/../../../../arm-none-eabi/bin/ld: warning: start of section .bss changed by 16
fork/exec /home/maxb/.arduino15/packages/proffieboard/hardware/stm32l4/4.6.0/tools/linux//dfu-suffix: exec format error
Error compiling for board Proffieboard V2.

This report would have more information with
“Show verbose output during compilation”
option enabled in File → Preferences.

the config is prop file is fett263 with a v7 config and I can’t get it to compile.

incendiusv810.h (53.6 KB)

proffie plugin version is 4.6.0

What up!? :smiley: I’ll take a quick look for ya.

NOTE: FWIW you can disable these defines while you’re at it. They’re standard in OS8

#define ENABLE_AUDIO //NotNeeded in OS_8.10
#define ENABLE_MOTION //NotNeeded in OS_8.10
#define ENABLE_WS2811 //NotNeeded in OS_8.10 
#define ENABLE_SD //NotNeeded in OS_8.10
#define KILL_OLD_PLAYERS //NotNeeded in OS_8.10 
#define NO_REPEAT_RANDOM //NotNeeded in OS_8.10

*Maybe try to avoid the use of SAVE_PRESET as it, in @Fett263’s words, “..does funny stuff.”

Changing that to SAVE_STATE allows it to compile now. :wink:

Sketch uses 231152 bytes (88%) of program storage space. Maximum is 262144 bytes.

I don’t recall saying that, the only issue I’ve seen with users having this define is they forget that it’s active and lose track of the last preset they were on when they last used the saber and wonder why their first preset is different. This define just boots up the last preset used instead of the first preset in the config, there’s nothing else it impacts.

2 Likes

The error is because one of the executables (dfu-suffix) is damaged or maybe @Afrojedi is on ARM machine or something like that.

It has nothing to do with the config.

I was going to wait to let @profezzorn comment.

@Afrojedi I assume you’ve done the obvious and reinstalled the plugin?

2 Likes

I think that my issue is that I’m raspberry pi desktop and this ARM server is not powerful enough to compile to do so cause I just tried and it’s a similar error. I turned off the compiling settings

Oh, well that’s your reason then. The exec is for x86, it won’t run on ARM.

I’m not sure if Fredrik has a version that’ll run on Arm or a solution for that.

I could have sworn I configured this to before but that makes sense. sorry I should have led with that.

thanks Peeps and I will wait for @profezzorn

Arduino: 1.8.19 (Linux), Board: "Proffieboard V2, Serial, SDCARD (SPI), 80 MHz, half, Smallest Code"











Build options changed, rebuilding all
/home/maxb/.arduino15/packages/proffieboard/tools/arm-none-eabi-gcc/14-2-rel1-xpack/bin/../lib/gcc/arm-none-eabi/14.2.1/../../../../arm-none-eabi/bin/ld:/home/maxb/.arduino15/packages/proffieboard/hardware/stm32l4/4.6.0/variants/STM32L433CC-ProffieboardV2/linker_scripts/STM32L433CC_FLASH.ld:224: warning: memory region `SRAM2' not declared
lto-wrapper: warning: using serial compilation of 7 LTRANS jobs
lto-wrapper: note: see the '-flto' option documentation for more information
/home/maxb/.arduino15/packages/proffieboard/tools/arm-none-eabi-gcc/14-2-rel1-xpack/bin/../lib/gcc/arm-none-eabi/14.2.1/../../../../arm-none-eabi/bin/ld: warning: start of section .bss changed by 16
fork/exec /home/maxb/.arduino15/packages/proffieboard/hardware/stm32l4/4.6.0/tools/linux//dfu-suffix: exec format error
Error compiling for board Proffieboard V2.


This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.

This is due to the ARM being used rather then x86

I can see it being an ARM issue given it did the same error list on the MacBook but removing the define and changing to SAVE_STATE didn’t produce errors.

Do I at least get Jedi Points for *possibly* identifying it in under 30 minutes? :wink:

1 Like

I appreciate your assistance on this.

Thanks for confirming that.

1 Like

It’s not possibly, that’s exactly what the error message states. (See here for the error message mapping (Ctrl+F for the message or “ENOEXEC”) and here for the description.

It would’ve given different errors for you (if any, they probably weren’t config related either). macOS’ handling of Arm is quite different from Linux. (And different binaries are distributed for macOS also)

Unless define names interfere with other code symbols (or is a “real”/used one and doesn’t contain what ProffieOS expects), having one won’t cause a compile to fail.
In any case, SAVE_STATE just #defines SAVE_PRESET anyways, so this is particularly moot.

But for this, all of the config stuff is particularly irrelevant since the primary compilation phase seems to have completed w/o issue. dfu-suffix runs after that, and you can see the linker already ran also from the warnings it produced.

Hopefully that helps explain what’s going on so you know what to look at for the future :slight_smile:

1 Like

I get that, just know and understand that most casual to mid-level users, let alone even myself most times would not be looking that deep into things. When this sort of specific error comes up a post in the book of faces or here will happen. It’s just how things are.

1 Like

I had a backup of proffie os 7.14 and tested the new incendiusv810.h and I was getting an error but different then the above.

Arduino: 1.8.19 (Linux), Board: "Proffieboard V2, Serial, SDCARD (SPI), 80 MHz, half, Smallest Code"











In file included from sketch/transitions/doeffect.h:5,
                 from /home/maxb/Documents/ProffieOS/ProffieOS.ino:570:
sketch/transitions/../sound/hybrid_font.h:268:10: error: 'BufferedWavPlayer' was not declared in this scope
  268 |   RefPtr<BufferedWavPlayer> hum_player_;
      |          ^~~~~~~~~~~~~~~~~
sketch/transitions/../sound/hybrid_font.h:268:27: error: template argument 1 is invalid
  268 |   RefPtr<BufferedWavPlayer> hum_player_;
      |                           ^
sketch/transitions/../sound/hybrid_font.h:269:10: error: 'BufferedWavPlayer' was not declared in this scope
  269 |   RefPtr<BufferedWavPlayer> next_hum_player_;
      |          ^~~~~~~~~~~~~~~~~
sketch/transitions/../sound/hybrid_font.h:269:27: error: template argument 1 is invalid
  269 |   RefPtr<BufferedWavPlayer> next_hum_player_;
      |                           ^
sketch/transitions/../sound/hybrid_font.h:270:10: error: 'BufferedWavPlayer' was not declared in this scope
  270 |   RefPtr<BufferedWavPlayer> swing_player_;
      |          ^~~~~~~~~~~~~~~~~
sketch/transitions/../sound/hybrid_font.h:270:27: error: template argument 1 is invalid
  270 |   RefPtr<BufferedWavPlayer> swing_player_;
      |                           ^
sketch/transitions/../sound/hybrid_font.h:271:10: error: 'BufferedWavPlayer' was not declared in this scope
  271 |   RefPtr<BufferedWavPlayer> lock_player_;
      |          ^~~~~~~~~~~~~~~~~
sketch/transitions/../sound/hybrid_font.h:271:27: error: template argument 1 is invalid
  271 |   RefPtr<BufferedWavPlayer> lock_player_;
      |                           ^
sketch/transitions/../sound/hybrid_font.h:310:10: error: 'BufferedWavPlayer' was not declared in this scope
  310 |   RefPtr<BufferedWavPlayer> PlayPolyphonic(const Effect::FileID& f)  {
      |          ^~~~~~~~~~~~~~~~~
sketch/transitions/../sound/hybrid_font.h:310:27: error: template argument 1 is invalid
  310 |   RefPtr<BufferedWavPlayer> PlayPolyphonic(const Effect::FileID& f)  {
      |                           ^
sketch/transitions/../sound/hybrid_font.h:323:10: error: 'BufferedWavPlayer' was not declared in this scope
  323 |   RefPtr<BufferedWavPlayer> PlayPolyphonic(Effect* f)  {
      |          ^~~~~~~~~~~~~~~~~
sketch/transitions/../sound/hybrid_font.h:323:27: error: template argument 1 is invalid
  323 |   RefPtr<BufferedWavPlayer> PlayPolyphonic(Effect* f)  {
      |                           ^
sketch/transitions/../sound/hybrid_font.h:464:33: error: 'BufferedWavPlayer' was not declared in this scope
  464 |   Effect::FileID getNext(RefPtr<BufferedWavPlayer> previous, Effect* next) {
      |                                 ^~~~~~~~~~~~~~~~~
sketch/transitions/../sound/hybrid_font.h:464:50: error: template argument 1 is invalid
  464 |   Effect::FileID getNext(RefPtr<BufferedWavPlayer> previous, Effect* next) {
      |                                                  ^
sketch/transitions/../sound/hybrid_font.h: In member function 'void HybridFont::Activate()':
sketch/transitions/../sound/hybrid_font.h:202:5: error: 'SetupStandardAudio' was not declared in this scope
  202 |     SetupStandardAudio();
      |     ^~~~~~~~~~~~~~~~~~
sketch/transitions/../sound/hybrid_font.h: In member function 'void HybridFont::Deactivate()':
sketch/transitions/../sound/hybrid_font.h:259:18: error: request for member 'Free' in '((HybridFont*)this)->HybridFont::lock_player_', which is of non-class type 'int'
  259 |     lock_player_.Free();
      |                  ^~~~
sketch/transitions/../sound/hybrid_font.h:260:17: error: request for member 'Free' in '((HybridFont*)this)->HybridFont::hum_player_', which is of non-class type 'int'
  260 |     hum_player_.Free();
      |                 ^~~~
sketch/transitions/../sound/hybrid_font.h:261:22: error: request for member 'Free' in '((HybridFont*)this)->HybridFont::next_hum_player_', which is of non-class type 'int'
  261 |     next_hum_player_.Free();
      |                      ^~~~
sketch/transitions/../sound/hybrid_font.h:262:19: error: request for member 'Free' in '((HybridFont*)this)->HybridFont::swing_player_', which is of non-class type 'int'
  262 |     swing_player_.Free();
      |                   ^~~~
sketch/transitions/../sound/hybrid_font.h: In member function 'void HybridFont::PlayMonophonic(const Effect::FileID&, Effect*, float)':
sketch/transitions/../sound/hybrid_font.h:276:26: error: 'GetFreeWavPlayer' was not declared in this scope
  276 |       next_hum_player_ = GetFreeWavPlayer();
      |                          ^~~~~~~~~~~~~~~~
sketch/transitions/../sound/hybrid_font.h:283:18: error: base operand of '->' is not a pointer
  283 |       hum_player_->set_fade_time(xfade);
      |                  ^~
sketch/transitions/../sound/hybrid_font.h:284:18: error: base operand of '->' is not a pointer
  284 |       hum_player_->FadeAndStop();
      |                  ^~
sketch/transitions/../sound/hybrid_font.h:285:19: error: request for member 'Free' in '((HybridFont*)this)->HybridFont::hum_player_', which is of non-class type 'int'
  285 |       hum_player_.Free();
      |                   ^~~~
sketch/transitions/../sound/hybrid_font.h:286:23: error: base operand of '->' is not a pointer
  286 |       next_hum_player_->set_volume_now(0);
      |                       ^~
sketch/transitions/../sound/hybrid_font.h:287:23: error: base operand of '->' is not a pointer
  287 |       next_hum_player_->set_fade_time(xfade);
      |                       ^~
sketch/transitions/../sound/hybrid_font.h:288:23: error: base operand of '->' is not a pointer
  288 |       next_hum_player_->set_volume(font_config.volEff / 16.0f);
      |                       ^~
sketch/transitions/../sound/hybrid_font.h:290:23: error: base operand of '->' is not a pointer
  290 |       next_hum_player_->set_volume_now(font_config.volEff / 16.0f);
      |                       ^~
sketch/transitions/../sound/hybrid_font.h:293:22: error: request for member 'Free' in '((HybridFont*)this)->HybridFont::next_hum_player_', which is of non-class type 'int'
  293 |     next_hum_player_.Free();
      |                      ^~~~
sketch/transitions/../sound/hybrid_font.h:294:16: error: base operand of '->' is not a pointer
  294 |     hum_player_->PlayOnce(f);
      |                ^~
sketch/transitions/../sound/hybrid_font.h:295:41: error: base operand of '->' is not a pointer
  295 |     current_effect_length_ = hum_player_->length();
      |                                         ^~
sketch/transitions/../sound/hybrid_font.h:296:26: error: base operand of '->' is not a pointer
  296 |     if (loop) hum_player_->PlayLoop(loop);
      |                          ^~
sketch/transitions/../sound/hybrid_font.h: In member function 'void HybridFont::RestartHum()':
sketch/transitions/../sound/hybrid_font.h:305:35: error: base operand of '->' is not a pointer
  305 |     if (hum_player_ && hum_player_->isPlaying()) {
      |                                   ^~
sketch/transitions/../sound/hybrid_font.h: In member function 'int HybridFont::PlayPolyphonic(const Effect::FileID&)':
sketch/transitions/../sound/hybrid_font.h:312:27: error: 'BufferedWavPlayer' was not declared in this scope
  312 |     if (!f) return RefPtr<BufferedWavPlayer>(nullptr);
      |                           ^~~~~~~~~~~~~~~~~
sketch/transitions/../sound/hybrid_font.h:312:44: error: template argument 1 is invalid
  312 |     if (!f) return RefPtr<BufferedWavPlayer>(nullptr);
      |                                            ^
sketch/transitions/../sound/hybrid_font.h:313:12: error: 'BufferedWavPlayer' was not declared in this scope
  313 |     RefPtr<BufferedWavPlayer> player = GetOrFreeWavPlayer(f.GetEffect());
      |            ^~~~~~~~~~~~~~~~~
sketch/transitions/../sound/hybrid_font.h:313:29: error: template argument 1 is invalid
  313 |     RefPtr<BufferedWavPlayer> player = GetOrFreeWavPlayer(f.GetEffect());
      |                             ^
sketch/transitions/../sound/hybrid_font.h:313:40: error: 'GetOrFreeWavPlayer' was not declared in this scope
  313 |     RefPtr<BufferedWavPlayer> player = GetOrFreeWavPlayer(f.GetEffect());
      |                                        ^~~~~~~~~~~~~~~~~~
sketch/transitions/../sound/hybrid_font.h:315:13: error: base operand of '->' is not a pointer
  315 |       player->set_volume_now(font_config.volEff / 16.0f);
      |             ^~
sketch/transitions/../sound/hybrid_font.h:316:13: error: base operand of '->' is not a pointer
  316 |       player->PlayOnce(f);
      |             ^~
sketch/transitions/../sound/hybrid_font.h:317:38: error: base operand of '->' is not a pointer
  317 |       current_effect_length_ = player->length();
      |                                      ^~
sketch/transitions/../sound/hybrid_font.h: In member function 'virtual void HybridFont::StartSwing(const Vec3&, float, float)':
sketch/transitions/../sound/hybrid_font.h:362:28: error: base operand of '->' is not a pointer
  362 |           if (swing_player_->pos() / swing_player_->length() >= font_config.ProffieOSSwingOverlap) {
      |                            ^~
sketch/transitions/../sound/hybrid_font.h:362:51: error: base operand of '->' is not a pointer
  362 |           if (swing_player_->pos() / swing_player_->length() >= font_config.ProffieOSSwingOverlap) {
      |                                                   ^~
sketch/transitions/../sound/hybrid_font.h:363:26: error: base operand of '->' is not a pointer
  363 |             swing_player_->set_fade_time(swing_player_->length() - swing_player_->pos());
      |                          ^~
sketch/transitions/../sound/hybrid_font.h:363:55: error: base operand of '->' is not a pointer
  363 |             swing_player_->set_fade_time(swing_player_->length() - swing_player_->pos());
      |                                                       ^~
sketch/transitions/../sound/hybrid_font.h:363:81: error: base operand of '->' is not a pointer
  363 |             swing_player_->set_fade_time(swing_player_->length() - swing_player_->pos());
      |                                                                                 ^~
sketch/transitions/../sound/hybrid_font.h:364:26: error: base operand of '->' is not a pointer
  364 |             swing_player_->FadeAndStop();
      |                          ^~
sketch/transitions/../sound/hybrid_font.h:365:27: error: request for member 'Free' in '((HybridFont*)this)->HybridFont::swing_player_', which is of non-class type 'int'
  365 |             swing_player_.Free();
      |                           ^~~~
sketch/transitions/../sound/hybrid_font.h:413:21: error: request for member 'Free' in '((HybridFont*)this)->HybridFont::swing_player_', which is of non-class type 'int'
  413 |       swing_player_.Free();
      |                     ^~~~
sketch/transitions/../sound/hybrid_font.h: In member function 'virtual float HybridFont::SetSwingVolume(float, float)':
sketch/transitions/../sound/hybrid_font.h:427:24: error: base operand of '->' is not a pointer
  427 |       if (swing_player_->isPlaying()) {
      |                        ^~
sketch/transitions/../sound/hybrid_font.h:430:22: error: base operand of '->' is not a pointer
  430 |         swing_player_->set_fade_time(0.04);
      |                      ^~
sketch/transitions/../sound/hybrid_font.h:431:22: error: base operand of '->' is not a pointer
  431 |         swing_player_->set_volume(accent_volume);
      |                      ^~
sketch/transitions/../sound/hybrid_font.h:434:23: error: request for member 'Free' in '((HybridFont*)this)->HybridFont::swing_player_', which is of non-class type 'int'
  434 |         swing_player_.Free();
      |                       ^~~~
sketch/transitions/../sound/hybrid_font.h: In member function 'void HybridFont::SB_Preon()':
sketch/transitions/../sound/hybrid_font.h:453:14: error: 'BufferedWavPlayer' was not declared in this scope
  453 |       RefPtr<BufferedWavPlayer> tmp = PlayPolyphonic(&SFX_preon);
      |              ^~~~~~~~~~~~~~~~~
sketch/transitions/../sound/hybrid_font.h:453:31: error: template argument 1 is invalid
  453 |       RefPtr<BufferedWavPlayer> tmp = PlayPolyphonic(&SFX_preon);
      |                               ^
sketch/transitions/../sound/hybrid_font.h: In member function 'Effect::FileID HybridFont::getNext(int, Effect*)':
sketch/transitions/../sound/hybrid_font.h:466:22: error: base operand of '->' is not a pointer
  466 |       return previous->current_file_id().GetFollowing(next);
      |                      ^~
sketch/transitions/../sound/hybrid_font.h: In member function 'void HybridFont::SB_Postoff()':
sketch/transitions/../sound/hybrid_font.h:475:12: error: 'BufferedWavPlayer' was not declared in this scope
  475 |     RefPtr<BufferedWavPlayer> tmp = GetWavPlayerPlaying(&SFX_pstoff);
      |            ^~~~~~~~~~~~~~~~~
sketch/transitions/../sound/hybrid_font.h:475:29: error: template argument 1 is invalid
  475 |     RefPtr<BufferedWavPlayer> tmp = GetWavPlayerPlaying(&SFX_pstoff);
      |                             ^
sketch/transitions/../sound/hybrid_font.h:475:37: error: 'GetWavPlayerPlaying' was not declared in this scope
  475 |     RefPtr<BufferedWavPlayer> tmp = GetWavPlayerPlaying(&SFX_pstoff);
      |                                     ^~~~~~~~~~~~~~~~~~~
sketch/transitions/../sound/hybrid_font.h:477:10: error: base operand of '->' is not a pointer
  477 |       tmp->UpdateSaberBaseSoundInfo();
      |          ^~
sketch/transitions/../sound/hybrid_font.h: In member function 'virtual void HybridFont::SB_On()':
sketch/transitions/../sound/hybrid_font.h:494:23: error: 'GetFreeWavPlayer' was not declared in this scope
  494 |         hum_player_ = GetFreeWavPlayer();
      |                       ^~~~~~~~~~~~~~~~
sketch/transitions/../sound/hybrid_font.h:496:22: error: base operand of '->' is not a pointer
  496 |           hum_player_->set_volume_now(0);
      |                      ^~
sketch/transitions/../sound/hybrid_font.h:497:22: error: base operand of '->' is not a pointer
  497 |           hum_player_->PlayOnce(getNext(GetWavPlayerPlaying(getOut()), SFX_humm ? &SFX_humm : &SFX_hum));
      |                      ^~
sketch/transitions/../sound/hybrid_font.h:497:41: error: 'GetWavPlayerPlaying' was not declared in this scope
  497 |           hum_player_->PlayOnce(getNext(GetWavPlayerPlaying(getOut()), SFX_humm ? &SFX_humm : &SFX_hum));
      |                                         ^~~~~~~~~~~~~~~~~~~
sketch/transitions/../sound/hybrid_font.h:498:22: error: base operand of '->' is not a pointer
  498 |           hum_player_->PlayLoop(SFX_humm ? &SFX_humm : &SFX_hum);
      |                      ^~
sketch/transitions/../sound/hybrid_font.h:502:14: error: 'BufferedWavPlayer' was not declared in this scope
  502 |       RefPtr<BufferedWavPlayer> tmp;
      |              ^~~~~~~~~~~~~~~~~
sketch/transitions/../sound/hybrid_font.h:502:31: error: template argument 1 is invalid
  502 |       RefPtr<BufferedWavPlayer> tmp;
      |                               ^
sketch/transitions/../sound/hybrid_font.h:504:15: error: 'GetWavPlayerPlaying' was not declared in this scope
  504 |         tmp = GetWavPlayerPlaying(getOut());
      |               ^~~~~~~~~~~~~~~~~~~
sketch/transitions/../sound/hybrid_font.h:507:14: error: base operand of '->' is not a pointer
  507 |           tmp->UpdateSaberBaseSoundInfo();
      |              ^~
sketch/transitions/../sound/hybrid_font.h:516:27: error: base operand of '->' is not a pointer
  516 |         hum_fade_in_ = tmp->length();
      |                           ^~
sketch/transitions/../sound/hybrid_font.h:522:34: error: base operand of '->' is not a pointer
  522 |         int delay_ms = 1000 * tmp->length() - font_config.humStart;
      |                                  ^~
sketch/transitions/../sound/hybrid_font.h: In member function 'virtual void HybridFont::SB_Off(SaberBase::OffType)':
sketch/transitions/../sound/hybrid_font.h:564:24: error: base operand of '->' is not a pointer
  564 |             hum_player_->set_fade_time(0.2);
      |                        ^~
sketch/transitions/../sound/hybrid_font.h:565:24: error: base operand of '->' is not a pointer
  565 |             hum_player_->FadeAndStop();
      |                        ^~
sketch/transitions/../sound/hybrid_font.h:566:25: error: request for member 'Free' in '((HybridFont*)this)->HybridFont::hum_player_', which is of non-class type 'int'
  566 |             hum_player_.Free();
      |                         ^~~~
sketch/transitions/../sound/hybrid_font.h: In member function 'virtual void HybridFont::SB_BladeDetect(bool)':
sketch/transitions/../sound/hybrid_font.h:634:5: error: 'beeper' was not declared in this scope
  634 |     beeper.Beep(0.05, 2000.0);
      |     ^~~~~~
sketch/transitions/../sound/hybrid_font.h: In member function 'void HybridFont::SB_NewFont()':
sketch/transitions/../sound/hybrid_font.h:638:7: error: 'beeper' was not declared in this scope
  638 |       beeper.Beep(0.05, 2000.0);
      |       ^~~~~~
sketch/transitions/../sound/hybrid_font.h: In member function 'virtual void HybridFont::SB_Change(SaberBase::ChangeType)':
sketch/transitions/../sound/hybrid_font.h:645:11: error: 'beeper' was not declared in this scope
  645 |           beeper.Beep(0.20, 1000.0);
      |           ^~~~~~
sketch/transitions/../sound/hybrid_font.h:652:11: error: 'beeper' was not declared in this scope
  652 |           beeper.Beep(0.20, 2000.0);
      |           ^~~~~~
sketch/transitions/../sound/hybrid_font.h:659:11: error: 'beeper' was not declared in this scope
  659 |           beeper.Beep(0.05, 2000.0);
      |           ^~~~~~
sketch/transitions/../sound/hybrid_font.h: In member function 'void HybridFont::SB_BeginLockup()':
sketch/transitions/../sound/hybrid_font.h:708:39: error: base operand of '->' is not a pointer
  708 |         if (lock_player_) lock_player_->PlayLoop(loop);
      |                                       ^~
sketch/transitions/../sound/hybrid_font.h: In member function 'void HybridFont::SB_EndLockup()':
sketch/transitions/../sound/hybrid_font.h:745:19: error: base operand of '->' is not a pointer
  745 |       lock_player_->set_fade_time(0.3);
      |                   ^~
sketch/transitions/../sound/hybrid_font.h:749:23: error: base operand of '->' is not a pointer
  749 |           lock_player_->set_fade_time(0.003);
      |                       ^~
sketch/transitions/../sound/hybrid_font.h:753:19: error: base operand of '->' is not a pointer
  753 |       lock_player_->FadeAndStop();
      |                   ^~
sketch/transitions/../sound/hybrid_font.h:754:20: error: request for member 'Free' in '((HybridFont*)this)->HybridFont::lock_player_', which is of non-class type 'int'
  754 |       lock_player_.Free();
      |                    ^~~~
sketch/transitions/../sound/hybrid_font.h: In member function 'virtual void HybridFont::SetHumVolume(float)':
sketch/transitions/../sound/hybrid_font.h:766:23: error: 'GetFreeWavPlayer' was not declared in this scope
  766 |         hum_player_ = GetFreeWavPlayer();
      |                       ^~~~~~~~~~~~~~~~
sketch/transitions/../sound/hybrid_font.h:768:22: error: base operand of '->' is not a pointer
  768 |           hum_player_->set_volume_now(0);
      |                      ^~
sketch/transitions/../sound/hybrid_font.h:769:22: error: base operand of '->' is not a pointer
  769 |           hum_player_->PlayOnce(SFX_humm ? &SFX_humm : &SFX_hum);
      |                      ^~
sketch/transitions/../sound/hybrid_font.h:770:22: error: base operand of '->' is not a pointer
  770 |           hum_player_->PlayLoop(SFX_humm ? &SFX_humm : &SFX_hum);
      |                      ^~
sketch/transitions/../sound/hybrid_font.h:805:24: error: base operand of '->' is not a pointer
  805 |             hum_player_->FadeAndStop();
      |                        ^~
sketch/transitions/../sound/hybrid_font.h:806:25: error: request for member 'Free' in '((HybridFont*)this)->HybridFont::hum_player_', which is of non-class type 'int'
  806 |             hum_player_.Free();
      |                         ^~~~
sketch/transitions/../sound/hybrid_font.h:816:16: error: base operand of '->' is not a pointer
  816 |     hum_player_->set_volume(vol);
      |                ^~
sketch/transitions/../sound/hybrid_font.h: In member function 'virtual void HybridFont::Loop()':
sketch/transitions/../sound/hybrid_font.h:822:12: error: 'GetWavPlayerPlaying' was not declared in this scope
  822 |       if (!GetWavPlayerPlaying(&SFX_preon)) {
      |            ^~~~~~~~~~~~~~~~~~~
sketch/transitions/../sound/hybrid_font.h:828:12: error: 'GetWavPlayerPlaying' was not declared in this scope
  828 |       if (!GetWavPlayerPlaying(&SFX_in) &&
      |            ^~~~~~~~~~~~~~~~~~~
In file included from /home/maxb/Documents/ProffieOS/ProffieOS.ino:621:
sketch/config/incendiusv810.h: At global scope:
sketch/config/incendiusv810.h:261:7: error: 'WS281XBladePtr' was not declared in this scope; did you mean 'SaviBladePtr'?
  261 |  { 0, WS281XBladePtr<128, bladePin, Color8::GRB, PowerPINS<bladePowerPin2, bladePowerPin3> >(), CONFIGARRAY(presets) },
      |       ^~~~~~~~~~~~~~
      |       SaviBladePtr
sketch/config/incendiusv810.h:261:92: error: expected primary-expression before '>' token
  261 |  { 0, WS281XBladePtr<128, bladePin, Color8::GRB, PowerPINS<bladePowerPin2, bladePowerPin3> >(), CONFIGARRAY(presets) },
      |                                                                                            ^
sketch/config/incendiusv810.h:261:94: error: expected primary-expression before ')' token
  261 |  { 0, WS281XBladePtr<128, bladePin, Color8::GRB, PowerPINS<bladePowerPin2, bladePowerPin3> >(), CONFIGARRAY(presets) },
      |                                                                                              ^
In file included from sketch/config/../props/saber_fett263_buttons.h:960,
                 from sketch/config/incendiusv810.h:48,
                 from /home/maxb/Documents/ProffieOS/ProffieOS.ino:625:
sketch/config/../props/../sound/sound_library.h:47:3: error: 'SoundQueue' does not name a type
   47 |   SoundQueue<16> sound_queue_;
      |   ^~~~~~~~~~
sketch/config/../props/../sound/sound_library.h:49:13: error: 'SoundToPlay' has not been declared
   49 |   void Play(SoundToPlay stp) { sound_queue_.Play(stp); }
      |             ^~~~~~~~~~~
sketch/config/../props/../sound/sound_library.h:50:20: error: 'BufferedWavPlayer' was not declared in this scope
   50 |   void Poll(RefPtr<BufferedWavPlayer>& wav_player) {
      |                    ^~~~~~~~~~~~~~~~~
sketch/config/../props/../sound/sound_library.h:50:37: error: template argument 1 is invalid
   50 |   void Poll(RefPtr<BufferedWavPlayer>& wav_player) {
      |                                     ^
sketch/config/../props/../sound/sound_library.h: In member function 'void SoundLibrary::Play(const char*)':
sketch/config/../props/../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); }
      |                                 ^~~~~~~~~~~~
sketch/config/../props/../sound/sound_library.h: In member function 'void SoundLibrary::Play(int)':
sketch/config/../props/../sound/sound_library.h:49:32: error: 'sound_queue_' was not declared in this scope
   49 |   void Play(SoundToPlay stp) { sound_queue_.Play(stp); }
      |                                ^~~~~~~~~~~~
sketch/config/../props/../sound/sound_library.h: In member function 'void SoundLibrary::Poll(int&)':
sketch/config/../props/../sound/sound_library.h:51:5: error: 'sound_queue_' was not declared in this scope
   51 |     sound_queue_.PollSoundQueue(wav_player);
      |     ^~~~~~~~~~~~
sketch/config/../props/../sound/sound_library.h: In member function 'void SoundLibrary::TensValue(int)':
sketch/config/../props/../sound/sound_library.h:57:12: error: 'SoundToPlay' was not declared in this scope
   57 |       Play(SoundToPlay(&SFX_mnum, number - 1));
      |            ^~~~~~~~~~~
sketch/config/../props/../sound/sound_library.h:64:16: error: 'SoundToPlay' was not declared in this scope
   64 |           Play(SoundToPlay(&SFX_mnum, (tens * 10) - 1));
      |                ^~~~~~~~~~~
sketch/config/../props/../sound/sound_library.h:88:29: error: 'SoundToPlay' was not declared in this scope
   88 |       if (number != 0) Play(SoundToPlay(&SFX_mnum, number - 1));
      |                             ^~~~~~~~~~~
sketch/config/../props/../sound/sound_library.h: In member function 'void SoundLibrary::SayNumber(float, SayType)':
sketch/config/../props/../sound/sound_library.h:102:16: error: 'SoundToPlay' was not declared in this scope
  102 |           Play(SoundToPlay("mzero.wav"));
      |                ^~~~~~~~~~~
sketch/config/../props/../sound/sound_library.h:107:14: error: 'SoundToPlay' was not declared in this scope
  107 |         Play(SoundToPlay("mpoint.wav"));
      |              ^~~~~~~~~~~
sketch/config/../props/../sound/sound_library.h: In member function 'void SoundLibrary::SayColor(ColorNumber)':
sketch/config/../props/../sound/sound_library.h:272:10: error: 'SoundToPlay' was not declared in this scope
  272 |     Play(SoundToPlay(&SFX_clrlst, n - 1));
      |          ^~~~~~~~~~~
sketch/config/../props/saber_fett263_buttons.h: At global scope:
sketch/config/../props/saber_fett263_buttons.h:4808:10: error: 'BufferedWavPlayer' was not declared in this scope
 4808 |   RefPtr<BufferedWavPlayer> wav_player;
      |          ^~~~~~~~~~~~~~~~~
sketch/config/../props/saber_fett263_buttons.h:4808:27: error: template argument 1 is invalid
 4808 |   RefPtr<BufferedWavPlayer> wav_player;
      |                           ^
sketch/config/../props/saber_fett263_buttons.h: In member function 'void SaberFett263Buttons::ToggleCCMode()':
sketch/config/../props/saber_fett263_buttons.h:1771:9: error: 'hybrid_font' was not declared in this scope; did you mean 'HybridFont'?
 1771 |         hybrid_font.PlayCommon(&SFX_ccbegin);
      |         ^~~~~~~~~~~
      |         HybridFont
sketch/config/../props/saber_fett263_buttons.h: In member function 'void SaberFett263Buttons::CheckEvent()':
sketch/config/../props/saber_fett263_buttons.h:1816:35: error: base operand of '->' is not a pointer
 1816 |     if (next_event_ && !wav_player->isPlaying()) {
      |                                   ^~
sketch/config/../props/saber_fett263_buttons.h: In member function 'void SaberFett263Buttons::TrackPlayer()':
sketch/config/../props/saber_fett263_buttons.h:2078:12: error: 'track_player_' was not declared in this scope; did you mean 'TrackPlayer'?
 2078 |       if (!track_player_) {
      |            ^~~~~~~~~~~~~
      |            TrackPlayer
sketch/config/../props/saber_fett263_buttons.h:2099:11: error: 'track_player_' was not declared in this scope; did you mean 'TrackPlayer'?
 2099 |       if (track_player_ && !track_player_->isPlaying()) {
      |           ^~~~~~~~~~~~~
      |           TrackPlayer
sketch/config/../props/saber_fett263_buttons.h: In member function 'void SaberFett263Buttons::PlayEffectTrack()':
sketch/config/../props/saber_fett263_buttons.h:2106:10: error: 'track_player_' was not declared in this scope; did you mean 'TrackPlayer'?
 2106 |     if (!track_player_->isPlaying()) {
      |          ^~~~~~~~~~~~~
      |          TrackPlayer
sketch/config/../props/saber_fett263_buttons.h: In member function 'void SaberFett263Buttons::PlayTrack()':
sketch/config/../props/saber_fett263_buttons.h:2121:5: error: 'track_player_' was not declared in this scope; did you mean 'TrackPlayer'?
 2121 |     track_player_ = GetFreeWavPlayer();
      |     ^~~~~~~~~~~~~
      |     TrackPlayer
sketch/config/../props/saber_fett263_buttons.h:2121:21: error: 'GetFreeWavPlayer' was not declared in this scope
 2121 |     track_player_ = GetFreeWavPlayer();
      |                     ^~~~~~~~~~~~~~~~
sketch/config/../props/saber_fett263_buttons.h: In member function 'void SaberFett263Buttons::StopTrackPlayer()':
sketch/config/../props/saber_fett263_buttons.h:2131:9: error: 'track_player_' was not declared in this scope; did you mean 'TrackPlayer'?
 2131 |     if (track_player_) {
      |         ^~~~~~~~~~~~~
      |         TrackPlayer
sketch/config/../props/saber_fett263_buttons.h: In member function 'void SaberFett263Buttons::SoundLoop()':
sketch/config/../props/saber_fett263_buttons.h:2140:19: error: base operand of '->' is not a pointer
 2140 |     if (wav_player->isPlaying()) {
      |                   ^~
sketch/config/../props/saber_fett263_buttons.h:2141:17: error: base operand of '->' is not a pointer
 2141 |       wav_player->set_fade_time(0.2);
      |                 ^~
sketch/config/../props/saber_fett263_buttons.h:2142:17: error: base operand of '->' is not a pointer
 2142 |       wav_player->FadeAndStop();
      |                 ^~
sketch/config/../props/saber_fett263_buttons.h:2143:18: error: request for member 'Free' in '((SaberFett263Buttons*)this)->SaberFett263Buttons::wav_player', which is of non-class type 'int'
 2143 |       wav_player.Free();
      |                  ^~~~
sketch/config/../props/saber_fett263_buttons.h:2146:20: error: 'GetFreeWavPlayer' was not declared in this scope
 2146 |       wav_player = GetFreeWavPlayer();
      |                    ^~~~~~~~~~~~~~~~
sketch/config/../props/saber_fett263_buttons.h:2148:19: error: base operand of '->' is not a pointer
 2148 |         wav_player->PlayOnce(&SFX_trloop);
      |                   ^~
sketch/config/../props/saber_fett263_buttons.h: In member function 'void SaberFett263Buttons::FreeWavplayerIfPossible()':
sketch/config/../props/saber_fett263_buttons.h:2158:19: error: base operand of '->' is not a pointer
 2158 |     if (wav_player->isPlaying()) return;
      |                   ^~
sketch/config/../props/saber_fett263_buttons.h:2159:16: error: request for member 'Free' in '((SaberFett263Buttons*)this)->SaberFett263Buttons::wav_player', which is of non-class type 'int'
 2159 |     wav_player.Free();
      |                ^~~~
sketch/config/../props/saber_fett263_buttons.h: In member function 'void SaberFett263Buttons::ChangeFont(int)':
sketch/config/../props/saber_fett263_buttons.h:2383:5: error: 'hybrid_font' was not declared in this scope; did you mean 'HybridFont'?
 2383 |     hybrid_font.SB_Effect(EFFECT_NEWFONT, 0);
      |     ^~~~~~~~~~~
      |     HybridFont
sketch/config/../props/saber_fett263_buttons.h: In member function 'void SaberFett263Buttons::StartEditMode()':
sketch/config/../props/saber_fett263_buttons.h:2420:9: error: 'track_player_' was not declared in this scope; did you mean 'TrackPlayer'?
 2420 |     if (track_player_) {
      |         ^~~~~~~~~~~~~
      |         TrackPlayer
sketch/config/../props/saber_fett263_buttons.h: In member function 'void SaberFett263Buttons::CopyPreset(bool)':
sketch/config/../props/saber_fett263_buttons.h:2452:18: error: request for member 'Free' in '((SaberFett263Buttons*)this)->SaberFett263Buttons::wav_player', which is of non-class type 'int'
 2452 |       wav_player.Free();
      |                  ^~~~
sketch/config/../props/saber_fett263_buttons.h: In member function 'bool SaberFett263Buttons::EndColorZoom()':
sketch/config/../props/saber_fett263_buttons.h:2545:9: error: 'hybrid_font' was not declared in this scope; did you mean 'HybridFont'?
 2545 |         hybrid_font.PlayCommon(&SFX_ccend);
      |         ^~~~~~~~~~~
      |         HybridFont
sketch/config/../props/saber_fett263_buttons.h:2550:20: error: request for member 'Free' in '((SaberFett263Buttons*)this)->SaberFett263Buttons::wav_player', which is of non-class type 'int'
 2550 |         wav_player.Free();
      |                    ^~~~
sketch/config/../props/saber_fett263_buttons.h: In member function 'void SaberFett263Buttons::MenuChoice()':
sketch/config/../props/saber_fett263_buttons.h:3200:11: error: 'track_player_' was not declared in this scope; did you mean 'TrackPlayer'?
 3200 |       if (track_player_) {
      |           ^~~~~~~~~~~~~
      |           TrackPlayer
sketch/config/../props/saber_fett263_buttons.h: In member function 'void SaberFett263Buttons::MenuDial(int)':
sketch/config/../props/saber_fett263_buttons.h:3488:13: error: 'track_player_' was not declared in this scope; did you mean 'TrackPlayer'?
 3488 |         if (track_player_) {
      |             ^~~~~~~~~~~~~
      |             TrackPlayer
sketch/config/../props/saber_fett263_buttons.h:3981:13: error: 'track_player_' was not declared in this scope; did you mean 'TrackPlayer'?
 3981 |         if (track_player_) {
      |             ^~~~~~~~~~~~~
      |             TrackPlayer
sketch/config/../props/saber_fett263_buttons.h: In member function 'void SaberFett263Buttons::MenuUndo()':
sketch/config/../props/saber_fett263_buttons.h:4247:9: error: 'dynamic_mixer' was not declared in this scope
 4247 |         dynamic_mixer.set_volume(VOLUME);
      |         ^~~~~~~~~~~~~
sketch/config/../props/saber_fett263_buttons.h:4385:13: error: 'track_player_' was not declared in this scope; did you mean 'TrackPlayer'?
 4385 |         if (track_player_) {
      |             ^~~~~~~~~~~~~
      |             TrackPlayer
sketch/config/../props/saber_fett263_buttons.h: In member function 'void SaberFett263Buttons::MenuExit()':
sketch/config/../props/saber_fett263_buttons.h:4476:16: error: request for member 'Free' in '((SaberFett263Buttons*)this)->SaberFett263Buttons::wav_player', which is of non-class type 'int'
 4476 |     wav_player.Free();
      |                ^~~~
sketch/config/../props/saber_fett263_buttons.h: In member function 'void SaberFett263Buttons::ToggleBattleMode()':
sketch/config/../props/saber_fett263_buttons.h:4606:9: error: 'hybrid_font' was not declared in this scope; did you mean 'HybridFont'?
 4606 |         hybrid_font.PlayCommon(&SFX_bmbegin);
      |         ^~~~~~~~~~~
      |         HybridFont
sketch/config/../props/saber_fett263_buttons.h:4608:9: error: 'hybrid_font' was not declared in this scope; did you mean 'HybridFont'?
 4608 |         hybrid_font.DoEffect(EFFECT_FORCE, 0);
      |         ^~~~~~~~~~~
      |         HybridFont
sketch/config/../props/saber_fett263_buttons.h:4613:9: error: 'hybrid_font' was not declared in this scope; did you mean 'HybridFont'?
 4613 |         hybrid_font.PlayCommon(&SFX_bmend);
      |         ^~~~~~~~~~~
      |         HybridFont
sketch/config/../props/saber_fett263_buttons.h:4615:9: error: 'beeper' was not declared in this scope
 4615 |         beeper.Beep(0.5, 3000);
      |         ^~~~~~
sketch/config/../props/saber_fett263_buttons.h: In member function 'void SaberFett263Buttons::ToggleMultiBlast()':
sketch/config/../props/saber_fett263_buttons.h:4624:9: error: 'hybrid_font' was not declared in this scope; did you mean 'HybridFont'?
 4624 |         hybrid_font.PlayCommon(&SFX_blstbgn);
      |         ^~~~~~~~~~~
      |         HybridFont
sketch/config/../props/saber_fett263_buttons.h:4626:9: error: 'hybrid_font' was not declared in this scope; did you mean 'HybridFont'?
 4626 |         hybrid_font.SB_Effect(EFFECT_BLAST, 0);
      |         ^~~~~~~~~~~
      |         HybridFont
sketch/config/../props/saber_fett263_buttons.h:4630:9: error: 'hybrid_font' was not declared in this scope; did you mean 'HybridFont'?
 4630 |         hybrid_font.PlayCommon(&SFX_blstend);
      |         ^~~~~~~~~~~
      |         HybridFont
sketch/config/../props/saber_fett263_buttons.h:4632:9: error: 'hybrid_font' was not declared in this scope; did you mean 'HybridFont'?
 4632 |         hybrid_font.SB_Effect(EFFECT_BLAST, 0);
      |         ^~~~~~~~~~~
      |         HybridFont
sketch/config/../props/saber_fett263_buttons.h: In member function 'void SaberFett263Buttons::ChangeVolume(int)':
sketch/config/../props/saber_fett263_buttons.h:4773:28: error: 'dynamic_mixer' was not declared in this scope
 4773 |     float current_volume = dynamic_mixer.get_volume();
      |                            ^~~~~~~~~~~~~
sketch/config/../props/saber_fett263_buttons.h: In member function 'virtual bool SaberFett263Buttons::Event2(BUTTON, EVENT, uint32_t)':
sketch/config/../props/saber_fett263_buttons.h:5091:13: error: 'track_player_' was not declared in this scope; did you mean 'TrackPlayer'?
 5091 |         if (track_player_) {
      |             ^~~~~~~~~~~~~
      |             TrackPlayer
sketch/config/../props/saber_fett263_buttons.h:5121:9: error: 'hybrid_font' was not declared in this scope; did you mean 'HybridFont'?
 5121 |         hybrid_font.PlayCommon(&SFX_ccchange);
      |         ^~~~~~~~~~~
      |         HybridFont
sketch/config/../props/saber_fett263_buttons.h:5792:37: error: base operand of '->' is not a pointer
 5792 |         if (wav_player && wav_player->isPlaying()) {
      |                                     ^~
sketch/config/../props/saber_fett263_buttons.h:5813:37: error: base operand of '->' is not a pointer
 5813 |         if (wav_player && wav_player->isPlaying()) {
      |                                     ^~
sketch/config/../props/saber_fett263_buttons.h:5835:37: error: base operand of '->' is not a pointer
 5835 |         if (wav_player && wav_player->isPlaying()) {
      |                                     ^~
sketch/config/../props/saber_fett263_buttons.h:5846:37: error: base operand of '->' is not a pointer
 5846 |         if (wav_player && wav_player->isPlaying()) {
      |                                     ^~
sketch/config/../props/saber_fett263_buttons.h:5868:39: error: base operand of '->' is not a pointer
 5868 |           if (wav_player && wav_player->isPlaying()) {
      |                                       ^~
sketch/config/../props/saber_fett263_buttons.h:5897:39: error: base operand of '->' is not a pointer
 5897 |           if (wav_player && wav_player->isPlaying()) {
      |                                       ^~
sketch/config/../props/saber_fett263_buttons.h:5925:37: error: base operand of '->' is not a pointer
 5925 |         if (wav_player && wav_player->isPlaying()) {
      |                                     ^~
sketch/config/../props/saber_fett263_buttons.h:5958:37: error: base operand of '->' is not a pointer
 5958 |         if (wav_player && wav_player->isPlaying()) {
      |                                     ^~
sketch/config/../props/saber_fett263_buttons.h: In member function 'virtual void SaberFett263Buttons::SB_Effect(EffectType, float)':
sketch/config/../props/saber_fett263_buttons.h:6336:38: error: 'hybrid_font' was not declared in this scope; did you mean 'HybridFont'?
 6336 |       case EFFECT_INTERACTIVE_BLAST: hybrid_font.PlayCommon(&SFX_blast); return;
      |                                      ^~~~~~~~~~~
      |                                      HybridFont
sketch/config/../props/saber_fett263_buttons.h:6369:11: error: 'beeper' was not declared in this scope
 6369 |           beeper.Beep(0.5, 3000);
      |           ^~~~~~
exit status 1
Error compiling for board Proffieboard V2.


This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.

plugin version is 4.6.0, uninstalled and then installed plugin 2.2 and 3.6.0 and I get another error

Arduino: 1.8.19 (Linux), Board: "Proffieboard V2, Serial, SDCARD (SPI), 80 MHz, Smallest Code"











In file included from sketch/transitions/doeffect.h:5,
                 from /home/maxb/Documents/ProffieOS/ProffieOS.ino:570:
sketch/transitions/../sound/hybrid_font.h:268:10: error: 'BufferedWavPlayer' was not declared in this scope
  268 |   RefPtr<BufferedWavPlayer> hum_player_;
      |          ^~~~~~~~~~~~~~~~~
sketch/transitions/../sound/hybrid_font.h:268:27: error: template argument 1 is invalid
  268 |   RefPtr<BufferedWavPlayer> hum_player_;
      |                           ^
sketch/transitions/../sound/hybrid_font.h:269:10: error: 'BufferedWavPlayer' was not declared in this scope
  269 |   RefPtr<BufferedWavPlayer> next_hum_player_;
      |          ^~~~~~~~~~~~~~~~~
sketch/transitions/../sound/hybrid_font.h:269:27: error: template argument 1 is invalid
  269 |   RefPtr<BufferedWavPlayer> next_hum_player_;
      |                           ^
sketch/transitions/../sound/hybrid_font.h:270:10: error: 'BufferedWavPlayer' was not declared in this scope
  270 |   RefPtr<BufferedWavPlayer> swing_player_;
      |          ^~~~~~~~~~~~~~~~~
sketch/transitions/../sound/hybrid_font.h:270:27: error: template argument 1 is invalid
  270 |   RefPtr<BufferedWavPlayer> swing_player_;
      |                           ^
sketch/transitions/../sound/hybrid_font.h:271:10: error: 'BufferedWavPlayer' was not declared in this scope
  271 |   RefPtr<BufferedWavPlayer> lock_player_;
      |          ^~~~~~~~~~~~~~~~~
sketch/transitions/../sound/hybrid_font.h:271:27: error: template argument 1 is invalid
  271 |   RefPtr<BufferedWavPlayer> lock_player_;
      |                           ^
sketch/transitions/../sound/hybrid_font.h:310:10: error: 'BufferedWavPlayer' was not declared in this scope
  310 |   RefPtr<BufferedWavPlayer> PlayPolyphonic(const Effect::FileID& f)  {
      |          ^~~~~~~~~~~~~~~~~
sketch/transitions/../sound/hybrid_font.h:310:27: error: template argument 1 is invalid
  310 |   RefPtr<BufferedWavPlayer> PlayPolyphonic(const Effect::FileID& f)  {
      |                           ^
sketch/transitions/../sound/hybrid_font.h:323:10: error: 'BufferedWavPlayer' was not declared in this scope
  323 |   RefPtr<BufferedWavPlayer> PlayPolyphonic(Effect* f)  {
      |          ^~~~~~~~~~~~~~~~~
sketch/transitions/../sound/hybrid_font.h:323:27: error: template argument 1 is invalid
  323 |   RefPtr<BufferedWavPlayer> PlayPolyphonic(Effect* f)  {
      |                           ^
sketch/transitions/../sound/hybrid_font.h:464:33: error: 'BufferedWavPlayer' was not declared in this scope
  464 |   Effect::FileID getNext(RefPtr<BufferedWavPlayer> previous, Effect* next) {
      |                                 ^~~~~~~~~~~~~~~~~
sketch/transitions/../sound/hybrid_font.h:464:50: error: template argument 1 is invalid
  464 |   Effect::FileID getNext(RefPtr<BufferedWavPlayer> previous, Effect* next) {
      |                                                  ^
sketch/transitions/../sound/hybrid_font.h: In member function 'void HybridFont::Activate()':
sketch/transitions/../sound/hybrid_font.h:202:5: error: 'SetupStandardAudio' was not declared in this scope
  202 |     SetupStandardAudio();
      |     ^~~~~~~~~~~~~~~~~~
sketch/transitions/../sound/hybrid_font.h: In member function 'void HybridFont::Deactivate()':
sketch/transitions/../sound/hybrid_font.h:259:18: error: request for member 'Free' in '((HybridFont*)this)->HybridFont::lock_player_', which is of non-class type 'int'
  259 |     lock_player_.Free();
      |                  ^~~~
sketch/transitions/../sound/hybrid_font.h:260:17: error: request for member 'Free' in '((HybridFont*)this)->HybridFont::hum_player_', which is of non-class type 'int'
  260 |     hum_player_.Free();
      |                 ^~~~
sketch/transitions/../sound/hybrid_font.h:261:22: error: request for member 'Free' in '((HybridFont*)this)->HybridFont::next_hum_player_', which is of non-class type 'int'
  261 |     next_hum_player_.Free();
      |                      ^~~~
sketch/transitions/../sound/hybrid_font.h:262:19: error: request for member 'Free' in '((HybridFont*)this)->HybridFont::swing_player_', which is of non-class type 'int'
  262 |     swing_player_.Free();
      |                   ^~~~
sketch/transitions/../sound/hybrid_font.h: In member function 'void HybridFont::PlayMonophonic(const Effect::FileID&, Effect*, float)':
sketch/transitions/../sound/hybrid_font.h:276:26: error: 'GetFreeWavPlayer' was not declared in this scope
  276 |       next_hum_player_ = GetFreeWavPlayer();
      |                          ^~~~~~~~~~~~~~~~
sketch/transitions/../sound/hybrid_font.h:283:18: error: base operand of '->' is not a pointer
  283 |       hum_player_->set_fade_time(xfade);
      |                  ^~
sketch/transitions/../sound/hybrid_font.h:284:18: error: base operand of '->' is not a pointer
  284 |       hum_player_->FadeAndStop();
      |                  ^~
sketch/transitions/../sound/hybrid_font.h:285:19: error: request for member 'Free' in '((HybridFont*)this)->HybridFont::hum_player_', which is of non-class type 'int'
  285 |       hum_player_.Free();
      |                   ^~~~
sketch/transitions/../sound/hybrid_font.h:286:23: error: base operand of '->' is not a pointer
  286 |       next_hum_player_->set_volume_now(0);
      |                       ^~
sketch/transitions/../sound/hybrid_font.h:287:23: error: base operand of '->' is not a pointer
  287 |       next_hum_player_->set_fade_time(xfade);
      |                       ^~
sketch/transitions/../sound/hybrid_font.h:288:23: error: base operand of '->' is not a pointer
  288 |       next_hum_player_->set_volume(font_config.volEff / 16.0f);
      |                       ^~
sketch/transitions/../sound/hybrid_font.h:290:23: error: base operand of '->' is not a pointer
  290 |       next_hum_player_->set_volume_now(font_config.volEff / 16.0f);
      |                       ^~
sketch/transitions/../sound/hybrid_font.h:293:22: error: request for member 'Free' in '((HybridFont*)this)->HybridFont::next_hum_player_', which is of non-class type 'int'
  293 |     next_hum_player_.Free();
      |                      ^~~~
sketch/transitions/../sound/hybrid_font.h:294:16: error: base operand of '->' is not a pointer
  294 |     hum_player_->PlayOnce(f);
      |                ^~
sketch/transitions/../sound/hybrid_font.h:295:41: error: base operand of '->' is not a pointer
  295 |     current_effect_length_ = hum_player_->length();
      |                                         ^~
sketch/transitions/../sound/hybrid_font.h:296:26: error: base operand of '->' is not a pointer
  296 |     if (loop) hum_player_->PlayLoop(loop);
      |                          ^~
sketch/transitions/../sound/hybrid_font.h: In member function 'void HybridFont::RestartHum()':
sketch/transitions/../sound/hybrid_font.h:305:35: error: base operand of '->' is not a pointer
  305 |     if (hum_player_ && hum_player_->isPlaying()) {
      |                                   ^~
sketch/transitions/../sound/hybrid_font.h: In member function 'int HybridFont::PlayPolyphonic(const Effect::FileID&)':
sketch/transitions/../sound/hybrid_font.h:312:27: error: 'BufferedWavPlayer' was not declared in this scope
  312 |     if (!f) return RefPtr<BufferedWavPlayer>(nullptr);
      |                           ^~~~~~~~~~~~~~~~~
sketch/transitions/../sound/hybrid_font.h:312:44: error: template argument 1 is invalid
  312 |     if (!f) return RefPtr<BufferedWavPlayer>(nullptr);
      |                                            ^
sketch/transitions/../sound/hybrid_font.h:313:12: error: 'BufferedWavPlayer' was not declared in this scope
  313 |     RefPtr<BufferedWavPlayer> player = GetOrFreeWavPlayer(f.GetEffect());
      |            ^~~~~~~~~~~~~~~~~
sketch/transitions/../sound/hybrid_font.h:313:29: error: template argument 1 is invalid
  313 |     RefPtr<BufferedWavPlayer> player = GetOrFreeWavPlayer(f.GetEffect());
      |                             ^
sketch/transitions/../sound/hybrid_font.h:313:40: error: 'GetOrFreeWavPlayer' was not declared in this scope
  313 |     RefPtr<BufferedWavPlayer> player = GetOrFreeWavPlayer(f.GetEffect());
      |                                        ^~~~~~~~~~~~~~~~~~
sketch/transitions/../sound/hybrid_font.h:315:13: error: base operand of '->' is not a pointer
  315 |       player->set_volume_now(font_config.volEff / 16.0f);
      |             ^~
sketch/transitions/../sound/hybrid_font.h:316:13: error: base operand of '->' is not a pointer
  316 |       player->PlayOnce(f);
      |             ^~
sketch/transitions/../sound/hybrid_font.h:317:38: error: base operand of '->' is not a pointer
  317 |       current_effect_length_ = player->length();
      |                                      ^~
sketch/transitions/../sound/hybrid_font.h: In member function 'virtual void HybridFont::StartSwing(const Vec3&, float, float)':
sketch/transitions/../sound/hybrid_font.h:362:28: error: base operand of '->' is not a pointer
  362 |           if (swing_player_->pos() / swing_player_->length() >= font_config.ProffieOSSwingOverlap) {
      |                            ^~
sketch/transitions/../sound/hybrid_font.h:362:51: error: base operand of '->' is not a pointer
  362 |           if (swing_player_->pos() / swing_player_->length() >= font_config.ProffieOSSwingOverlap) {
      |                                                   ^~
sketch/transitions/../sound/hybrid_font.h:363:26: error: base operand of '->' is not a pointer
  363 |             swing_player_->set_fade_time(swing_player_->length() - swing_player_->pos());
      |                          ^~
sketch/transitions/../sound/hybrid_font.h:363:55: error: base operand of '->' is not a pointer
  363 |             swing_player_->set_fade_time(swing_player_->length() - swing_player_->pos());
      |                                                       ^~
sketch/transitions/../sound/hybrid_font.h:363:81: error: base operand of '->' is not a pointer
  363 |             swing_player_->set_fade_time(swing_player_->length() - swing_player_->pos());
      |                                                                                 ^~
sketch/transitions/../sound/hybrid_font.h:364:26: error: base operand of '->' is not a pointer
  364 |             swing_player_->FadeAndStop();
      |                          ^~
sketch/transitions/../sound/hybrid_font.h:365:27: error: request for member 'Free' in '((HybridFont*)this)->HybridFont::swing_player_', which is of non-class type 'int'
  365 |             swing_player_.Free();
      |                           ^~~~
sketch/transitions/../sound/hybrid_font.h:413:21: error: request for member 'Free' in '((HybridFont*)this)->HybridFont::swing_player_', which is of non-class type 'int'
  413 |       swing_player_.Free();
      |                     ^~~~
sketch/transitions/../sound/hybrid_font.h: In member function 'virtual float HybridFont::SetSwingVolume(float, float)':
sketch/transitions/../sound/hybrid_font.h:427:24: error: base operand of '->' is not a pointer
  427 |       if (swing_player_->isPlaying()) {
      |                        ^~
sketch/transitions/../sound/hybrid_font.h:430:22: error: base operand of '->' is not a pointer
  430 |         swing_player_->set_fade_time(0.04);
      |                      ^~
sketch/transitions/../sound/hybrid_font.h:431:22: error: base operand of '->' is not a pointer
  431 |         swing_player_->set_volume(accent_volume);
      |                      ^~
sketch/transitions/../sound/hybrid_font.h:434:23: error: request for member 'Free' in '((HybridFont*)this)->HybridFont::swing_player_', which is of non-class type 'int'
  434 |         swing_player_.Free();
      |                       ^~~~
sketch/transitions/../sound/hybrid_font.h: In member function 'void HybridFont::SB_Preon()':
sketch/transitions/../sound/hybrid_font.h:453:14: error: 'BufferedWavPlayer' was not declared in this scope
  453 |       RefPtr<BufferedWavPlayer> tmp = PlayPolyphonic(&SFX_preon);
      |              ^~~~~~~~~~~~~~~~~
sketch/transitions/../sound/hybrid_font.h:453:31: error: template argument 1 is invalid
  453 |       RefPtr<BufferedWavPlayer> tmp = PlayPolyphonic(&SFX_preon);
      |                               ^
sketch/transitions/../sound/hybrid_font.h: In member function 'Effect::FileID HybridFont::getNext(int, Effect*)':
sketch/transitions/../sound/hybrid_font.h:466:22: error: base operand of '->' is not a pointer
  466 |       return previous->current_file_id().GetFollowing(next);
      |                      ^~
sketch/transitions/../sound/hybrid_font.h: In member function 'void HybridFont::SB_Postoff()':
sketch/transitions/../sound/hybrid_font.h:475:12: error: 'BufferedWavPlayer' was not declared in this scope
  475 |     RefPtr<BufferedWavPlayer> tmp = GetWavPlayerPlaying(&SFX_pstoff);
      |            ^~~~~~~~~~~~~~~~~
sketch/transitions/../sound/hybrid_font.h:475:29: error: template argument 1 is invalid
  475 |     RefPtr<BufferedWavPlayer> tmp = GetWavPlayerPlaying(&SFX_pstoff);
      |                             ^
sketch/transitions/../sound/hybrid_font.h:475:37: error: 'GetWavPlayerPlaying' was not declared in this scope
  475 |     RefPtr<BufferedWavPlayer> tmp = GetWavPlayerPlaying(&SFX_pstoff);
      |                                     ^~~~~~~~~~~~~~~~~~~
sketch/transitions/../sound/hybrid_font.h:477:10: error: base operand of '->' is not a pointer
  477 |       tmp->UpdateSaberBaseSoundInfo();
      |          ^~
sketch/transitions/../sound/hybrid_font.h: In member function 'virtual void HybridFont::SB_On()':
sketch/transitions/../sound/hybrid_font.h:494:22: error: 'GetFreeWavPlayer' was not declared in this scope
  494 |        hum_player_ = GetFreeWavPlayer();
      |                      ^~~~~~~~~~~~~~~~
sketch/transitions/../sound/hybrid_font.h:496:21: error: base operand of '->' is not a pointer
  496 |          hum_player_->set_volume_now(0);
      |                     ^~
sketch/transitions/../sound/hybrid_font.h:497:15: error: base operand of '->' is not a pointer
  497 |    hum_player_->PlayOnce(getNext(GetWavPlayerPlaying(getOut()), SFX_humm ? &SFX_humm : &SFX_hum));
      |               ^~
sketch/transitions/../sound/hybrid_font.h:497:34: error: 'GetWavPlayerPlaying' was not declared in this scope
  497 |    hum_player_->PlayOnce(getNext(GetWavPlayerPlaying(getOut()), SFX_humm ? &SFX_humm : &SFX_hum));
      |                                  ^~~~~~~~~~~~~~~~~~~
sketch/transitions/../sound/hybrid_font.h:498:21: error: base operand of '->' is not a pointer
  498 |          hum_player_->PlayLoop(SFX_humm ? &SFX_humm : &SFX_hum);
      |                     ^~
sketch/transitions/../sound/hybrid_font.h:502:14: error: 'BufferedWavPlayer' was not declared in this scope
  502 |       RefPtr<BufferedWavPlayer> tmp;
      |              ^~~~~~~~~~~~~~~~~
sketch/transitions/../sound/hybrid_font.h:502:31: error: template argument 1 is invalid
  502 |       RefPtr<BufferedWavPlayer> tmp;
      |                               ^
sketch/transitions/../sound/hybrid_font.h:504:15: error: 'GetWavPlayerPlaying' was not declared in this scope
  504 |         tmp = GetWavPlayerPlaying(getOut());
      |               ^~~~~~~~~~~~~~~~~~~
sketch/transitions/../sound/hybrid_font.h:507:13: error: base operand of '->' is not a pointer
  507 |          tmp->UpdateSaberBaseSoundInfo();
      |             ^~
sketch/transitions/../sound/hybrid_font.h:516:27: error: base operand of '->' is not a pointer
  516 |         hum_fade_in_ = tmp->length();
      |                           ^~
sketch/transitions/../sound/hybrid_font.h:522:34: error: base operand of '->' is not a pointer
  522 |         int delay_ms = 1000 * tmp->length() - font_config.humStart;
      |                                  ^~
sketch/transitions/../sound/hybrid_font.h: In member function 'virtual void HybridFont::SB_Off(SaberBase::OffType)':
sketch/transitions/../sound/hybrid_font.h:564:24: error: base operand of '->' is not a pointer
  564 |             hum_player_->set_fade_time(0.2);
      |                        ^~
sketch/transitions/../sound/hybrid_font.h:565:24: error: base operand of '->' is not a pointer
  565 |             hum_player_->FadeAndStop();
      |                        ^~
sketch/transitions/../sound/hybrid_font.h:566:25: error: request for member 'Free' in '((HybridFont*)this)->HybridFont::hum_player_', which is of non-class type 'int'
  566 |             hum_player_.Free();
      |                         ^~~~
sketch/transitions/../sound/hybrid_font.h: In member function 'virtual void HybridFont::SB_BladeDetect(bool)':
sketch/transitions/../sound/hybrid_font.h:634:5: error: 'beeper' was not declared in this scope
  634 |     beeper.Beep(0.05, 2000.0);
      |     ^~~~~~
sketch/transitions/../sound/hybrid_font.h: In member function 'void HybridFont::SB_NewFont()':
sketch/transitions/../sound/hybrid_font.h:638:7: error: 'beeper' was not declared in this scope
  638 |       beeper.Beep(0.05, 2000.0);
      |       ^~~~~~
sketch/transitions/../sound/hybrid_font.h: In member function 'virtual void HybridFont::SB_Change(SaberBase::ChangeType)':
sketch/transitions/../sound/hybrid_font.h:645:11: error: 'beeper' was not declared in this scope
  645 |           beeper.Beep(0.20, 1000.0);
      |           ^~~~~~
sketch/transitions/../sound/hybrid_font.h:652:11: error: 'beeper' was not declared in this scope
  652 |           beeper.Beep(0.20, 2000.0);
      |           ^~~~~~
sketch/transitions/../sound/hybrid_font.h:659:11: error: 'beeper' was not declared in this scope
  659 |           beeper.Beep(0.05, 2000.0);
      |           ^~~~~~
sketch/transitions/../sound/hybrid_font.h: In member function 'void HybridFont::SB_BeginLockup()':
sketch/transitions/../sound/hybrid_font.h:708:39: error: base operand of '->' is not a pointer
  708 |         if (lock_player_) lock_player_->PlayLoop(loop);
      |                                       ^~
sketch/transitions/../sound/hybrid_font.h: In member function 'void HybridFont::SB_EndLockup()':
sketch/transitions/../sound/hybrid_font.h:745:19: error: base operand of '->' is not a pointer
  745 |       lock_player_->set_fade_time(0.3);
      |                   ^~
sketch/transitions/../sound/hybrid_font.h:749:23: error: base operand of '->' is not a pointer
  749 |           lock_player_->set_fade_time(0.003);
      |                       ^~
sketch/transitions/../sound/hybrid_font.h:753:19: error: base operand of '->' is not a pointer
  753 |       lock_player_->FadeAndStop();
      |                   ^~
sketch/transitions/../sound/hybrid_font.h:754:20: error: request for member 'Free' in '((HybridFont*)this)->HybridFont::lock_player_', which is of non-class type 'int'
  754 |       lock_player_.Free();
      |                    ^~~~
sketch/transitions/../sound/hybrid_font.h: In member function 'virtual void HybridFont::SetHumVolume(float)':
sketch/transitions/../sound/hybrid_font.h:766:23: error: 'GetFreeWavPlayer' was not declared in this scope
  766 |         hum_player_ = GetFreeWavPlayer();
      |                       ^~~~~~~~~~~~~~~~
sketch/transitions/../sound/hybrid_font.h:768:22: error: base operand of '->' is not a pointer
  768 |           hum_player_->set_volume_now(0);
      |                      ^~
sketch/transitions/../sound/hybrid_font.h:769:22: error: base operand of '->' is not a pointer
  769 |           hum_player_->PlayOnce(SFX_humm ? &SFX_humm : &SFX_hum);
      |                      ^~
sketch/transitions/../sound/hybrid_font.h:770:22: error: base operand of '->' is not a pointer
  770 |           hum_player_->PlayLoop(SFX_humm ? &SFX_humm : &SFX_hum);
      |                      ^~
sketch/transitions/../sound/hybrid_font.h:805:24: error: base operand of '->' is not a pointer
  805 |             hum_player_->FadeAndStop();
      |                        ^~
sketch/transitions/../sound/hybrid_font.h:806:25: error: request for member 'Free' in '((HybridFont*)this)->HybridFont::hum_player_', which is of non-class type 'int'
  806 |             hum_player_.Free();
      |                         ^~~~
sketch/transitions/../sound/hybrid_font.h:816:16: error: base operand of '->' is not a pointer
  816 |     hum_player_->set_volume(vol);
      |                ^~
sketch/transitions/../sound/hybrid_font.h: In member function 'virtual void HybridFont::Loop()':
sketch/transitions/../sound/hybrid_font.h:822:12: error: 'GetWavPlayerPlaying' was not declared in this scope
  822 |       if (!GetWavPlayerPlaying(&SFX_preon)) {
      |            ^~~~~~~~~~~~~~~~~~~
sketch/transitions/../sound/hybrid_font.h:828:12: error: 'GetWavPlayerPlaying' was not declared in this scope
  828 |       if (!GetWavPlayerPlaying(&SFX_in) &&
      |            ^~~~~~~~~~~~~~~~~~~
In file included from /home/maxb/Documents/ProffieOS/ProffieOS.ino:621:
sketch/config/incendiusv810.h: At global scope:
sketch/config/incendiusv810.h:261:7: error: 'WS281XBladePtr' was not declared in this scope; did you mean 'SaviBladePtr'?
  261 |  { 0, WS281XBladePtr<128, bladePin, Color8::GRB, PowerPINS<bladePowerPin2, bladePowerPin3> >(), CONFIGARRAY(presets) },
      |       ^~~~~~~~~~~~~~
      |       SaviBladePtr
sketch/config/incendiusv810.h:261:92: error: expected primary-expression before '>' token
  261 |  { 0, WS281XBladePtr<128, bladePin, Color8::GRB, PowerPINS<bladePowerPin2, bladePowerPin3> >(), CONFIGARRAY(presets) },
      |                                                                                            ^
sketch/config/incendiusv810.h:261:94: error: expected primary-expression before ')' token
  261 |  { 0, WS281XBladePtr<128, bladePin, Color8::GRB, PowerPINS<bladePowerPin2, bladePowerPin3> >(), CONFIGARRAY(presets) },
      |                                                                                              ^
In file included from sketch/config/../props/saber_fett263_buttons.h:960,
                 from sketch/config/incendiusv810.h:48,
                 from /home/maxb/Documents/ProffieOS/ProffieOS.ino:625:
sketch/config/../props/../sound/sound_library.h:47:3: error: 'SoundQueue' does not name a type
   47 |   SoundQueue<16> sound_queue_;
      |   ^~~~~~~~~~
sketch/config/../props/../sound/sound_library.h:49:13: error: 'SoundToPlay' has not been declared
   49 |   void Play(SoundToPlay stp) { sound_queue_.Play(stp); }
      |             ^~~~~~~~~~~
sketch/config/../props/../sound/sound_library.h:50:20: error: 'BufferedWavPlayer' was not declared in this scope
   50 |   void Poll(RefPtr<BufferedWavPlayer>& wav_player) {
      |                    ^~~~~~~~~~~~~~~~~
sketch/config/../props/../sound/sound_library.h:50:37: error: template argument 1 is invalid
   50 |   void Poll(RefPtr<BufferedWavPlayer>& wav_player) {
      |                                     ^
sketch/config/../props/../sound/sound_library.h: In member function 'void SoundLibrary::Play(const char*)':
sketch/config/../props/../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); }
      |                                 ^~~~~~~~~~~~
sketch/config/../props/../sound/sound_library.h: In member function 'void SoundLibrary::Play(int)':
sketch/config/../props/../sound/sound_library.h:49:32: error: 'sound_queue_' was not declared in this scope
   49 |   void Play(SoundToPlay stp) { sound_queue_.Play(stp); }
      |                                ^~~~~~~~~~~~
sketch/config/../props/../sound/sound_library.h: In member function 'void SoundLibrary::Poll(int&)':
sketch/config/../props/../sound/sound_library.h:51:5: error: 'sound_queue_' was not declared in this scope
   51 |     sound_queue_.PollSoundQueue(wav_player);
      |     ^~~~~~~~~~~~
sketch/config/../props/../sound/sound_library.h: In member function 'void SoundLibrary::TensValue(int)':
sketch/config/../props/../sound/sound_library.h:57:12: error: 'SoundToPlay' was not declared in this scope
   57 |       Play(SoundToPlay(&SFX_mnum, number - 1));
      |            ^~~~~~~~~~~
sketch/config/../props/../sound/sound_library.h:64:9: error: 'SoundToPlay' was not declared in this scope
   64 |    Play(SoundToPlay(&SFX_mnum, (tens * 10) - 1));
      |         ^~~~~~~~~~~
sketch/config/../props/../sound/sound_library.h:88:29: error: 'SoundToPlay' was not declared in this scope
   88 |       if (number != 0) Play(SoundToPlay(&SFX_mnum, number - 1));
      |                             ^~~~~~~~~~~
sketch/config/../props/../sound/sound_library.h: In member function 'void SoundLibrary::SayNumber(float, SayType)':
sketch/config/../props/../sound/sound_library.h:102:9: error: 'SoundToPlay' was not declared in this scope
  102 |    Play(SoundToPlay("mzero.wav"));
      |         ^~~~~~~~~~~
sketch/config/../props/../sound/sound_library.h:107:7: error: 'SoundToPlay' was not declared in this scope
  107 |  Play(SoundToPlay("mpoint.wav"));
      |       ^~~~~~~~~~~
sketch/config/../props/../sound/sound_library.h: In member function 'void SoundLibrary::SayColor(ColorNumber)':
sketch/config/../props/../sound/sound_library.h:272:10: error: 'SoundToPlay' was not declared in this scope
  272 |     Play(SoundToPlay(&SFX_clrlst, n - 1));
      |          ^~~~~~~~~~~
In file included from sketch/config/incendiusv810.h:48,
                 from /home/maxb/Documents/ProffieOS/ProffieOS.ino:625:
sketch/config/../props/saber_fett263_buttons.h: At global scope:
sketch/config/../props/saber_fett263_buttons.h:4808:10: error: 'BufferedWavPlayer' was not declared in this scope
 4808 |   RefPtr<BufferedWavPlayer> wav_player;
      |          ^~~~~~~~~~~~~~~~~
sketch/config/../props/saber_fett263_buttons.h:4808:27: error: template argument 1 is invalid
 4808 |   RefPtr<BufferedWavPlayer> wav_player;
      |                           ^
sketch/config/../props/saber_fett263_buttons.h: In member function 'void SaberFett263Buttons::ToggleCCMode()':
sketch/config/../props/saber_fett263_buttons.h:1771:9: error: 'hybrid_font' was not declared in this scope; did you mean 'HybridFont'?
 1771 |         hybrid_font.PlayCommon(&SFX_ccbegin);
      |         ^~~~~~~~~~~
      |         HybridFont
sketch/config/../props/saber_fett263_buttons.h: In member function 'void SaberFett263Buttons::CheckEvent()':
sketch/config/../props/saber_fett263_buttons.h:1816:35: error: base operand of '->' is not a pointer
 1816 |     if (next_event_ && !wav_player->isPlaying()) {
      |                                   ^~
sketch/config/../props/saber_fett263_buttons.h: In member function 'void SaberFett263Buttons::TrackPlayer()':
sketch/config/../props/saber_fett263_buttons.h:2078:12: error: 'track_player_' was not declared in this scope; did you mean 'TrackPlayer'?
 2078 |       if (!track_player_) {
      |            ^~~~~~~~~~~~~
      |            TrackPlayer
sketch/config/../props/saber_fett263_buttons.h:2099:11: error: 'track_player_' was not declared in this scope; did you mean 'TrackPlayer'?
 2099 |       if (track_player_ && !track_player_->isPlaying()) {
      |           ^~~~~~~~~~~~~
      |           TrackPlayer
sketch/config/../props/saber_fett263_buttons.h: In member function 'void SaberFett263Buttons::PlayEffectTrack()':
sketch/config/../props/saber_fett263_buttons.h:2106:10: error: 'track_player_' was not declared in this scope; did you mean 'TrackPlayer'?
 2106 |     if (!track_player_->isPlaying()) {
      |          ^~~~~~~~~~~~~
      |          TrackPlayer
sketch/config/../props/saber_fett263_buttons.h: In member function 'void SaberFett263Buttons::PlayTrack()':
sketch/config/../props/saber_fett263_buttons.h:2121:5: error: 'track_player_' was not declared in this scope; did you mean 'TrackPlayer'?
 2121 |     track_player_ = GetFreeWavPlayer();
      |     ^~~~~~~~~~~~~
      |     TrackPlayer
sketch/config/../props/saber_fett263_buttons.h:2121:21: error: 'GetFreeWavPlayer' was not declared in this scope
 2121 |     track_player_ = GetFreeWavPlayer();
      |                     ^~~~~~~~~~~~~~~~
sketch/config/../props/saber_fett263_buttons.h: In member function 'void SaberFett263Buttons::StopTrackPlayer()':
sketch/config/../props/saber_fett263_buttons.h:2131:9: error: 'track_player_' was not declared in this scope; did you mean 'TrackPlayer'?
 2131 |     if (track_player_) {
      |         ^~~~~~~~~~~~~
      |         TrackPlayer
sketch/config/../props/saber_fett263_buttons.h: In member function 'void SaberFett263Buttons::SoundLoop()':
sketch/config/../props/saber_fett263_buttons.h:2140:19: error: base operand of '->' is not a pointer
 2140 |     if (wav_player->isPlaying()) {
      |                   ^~
sketch/config/../props/saber_fett263_buttons.h:2141:17: error: base operand of '->' is not a pointer
 2141 |       wav_player->set_fade_time(0.2);
      |                 ^~
sketch/config/../props/saber_fett263_buttons.h:2142:17: error: base operand of '->' is not a pointer
 2142 |       wav_player->FadeAndStop();
      |                 ^~
sketch/config/../props/saber_fett263_buttons.h:2143:18: error: request for member 'Free' in '((SaberFett263Buttons*)this)->SaberFett263Buttons::wav_player', which is of non-class type 'int'
 2143 |       wav_player.Free();
      |                  ^~~~
sketch/config/../props/saber_fett263_buttons.h:2146:20: error: 'GetFreeWavPlayer' was not declared in this scope
 2146 |       wav_player = GetFreeWavPlayer();
      |                    ^~~~~~~~~~~~~~~~
sketch/config/../props/saber_fett263_buttons.h:2148:19: error: base operand of '->' is not a pointer
 2148 |         wav_player->PlayOnce(&SFX_trloop);
      |                   ^~
sketch/config/../props/saber_fett263_buttons.h: In member function 'void SaberFett263Buttons::FreeWavplayerIfPossible()':
sketch/config/../props/saber_fett263_buttons.h:2158:19: error: base operand of '->' is not a pointer
 2158 |     if (wav_player->isPlaying()) return;
      |                   ^~
sketch/config/../props/saber_fett263_buttons.h:2159:16: error: request for member 'Free' in '((SaberFett263Buttons*)this)->SaberFett263Buttons::wav_player', which is of non-class type 'int'
 2159 |     wav_player.Free();
      |                ^~~~
sketch/config/../props/saber_fett263_buttons.h: In member function 'void SaberFett263Buttons::ChangeFont(int)':
sketch/config/../props/saber_fett263_buttons.h:2383:5: error: 'hybrid_font' was not declared in this scope; did you mean 'HybridFont'?
 2383 |     hybrid_font.SB_Effect(EFFECT_NEWFONT, 0);
      |     ^~~~~~~~~~~
      |     HybridFont
sketch/config/../props/saber_fett263_buttons.h: In member function 'void SaberFett263Buttons::StartEditMode()':
sketch/config/../props/saber_fett263_buttons.h:2420:9: error: 'track_player_' was not declared in this scope; did you mean 'TrackPlayer'?
 2420 |     if (track_player_) {
      |         ^~~~~~~~~~~~~
      |         TrackPlayer
sketch/config/../props/saber_fett263_buttons.h: In member function 'void SaberFett263Buttons::CopyPreset(bool)':
sketch/config/../props/saber_fett263_buttons.h:2452:18: error: request for member 'Free' in '((SaberFett263Buttons*)this)->SaberFett263Buttons::wav_player', which is of non-class type 'int'
 2452 |       wav_player.Free();
      |                  ^~~~
sketch/config/../props/saber_fett263_buttons.h: In member function 'bool SaberFett263Buttons::EndColorZoom()':
sketch/config/../props/saber_fett263_buttons.h:2545:9: error: 'hybrid_font' was not declared in this scope; did you mean 'HybridFont'?
 2545 |         hybrid_font.PlayCommon(&SFX_ccend);
      |         ^~~~~~~~~~~
      |         HybridFont
sketch/config/../props/saber_fett263_buttons.h:2550:20: error: request for member 'Free' in '((SaberFett263Buttons*)this)->SaberFett263Buttons::wav_player', which is of non-class type 'int'
 2550 |         wav_player.Free();
      |                    ^~~~
sketch/config/../props/saber_fett263_buttons.h: In member function 'void SaberFett263Buttons::MenuChoice()':
sketch/config/../props/saber_fett263_buttons.h:3200:11: error: 'track_player_' was not declared in this scope; did you mean 'TrackPlayer'?
 3200 |       if (track_player_) {
      |           ^~~~~~~~~~~~~
      |           TrackPlayer
sketch/config/../props/saber_fett263_buttons.h: In member function 'void SaberFett263Buttons::MenuDial(int)':
sketch/config/../props/saber_fett263_buttons.h:3488:13: error: 'track_player_' was not declared in this scope; did you mean 'TrackPlayer'?
 3488 |         if (track_player_) {
      |             ^~~~~~~~~~~~~
      |             TrackPlayer
sketch/config/../props/saber_fett263_buttons.h:3981:13: error: 'track_player_' was not declared in this scope; did you mean 'TrackPlayer'?
 3981 |         if (track_player_) {
      |             ^~~~~~~~~~~~~
      |             TrackPlayer
sketch/config/../props/saber_fett263_buttons.h: In member function 'void SaberFett263Buttons::MenuUndo()':
sketch/config/../props/saber_fett263_buttons.h:4247:9: error: 'dynamic_mixer' was not declared in this scope
 4247 |         dynamic_mixer.set_volume(VOLUME);
      |         ^~~~~~~~~~~~~
sketch/config/../props/saber_fett263_buttons.h:4385:13: error: 'track_player_' was not declared in this scope; did you mean 'TrackPlayer'?
 4385 |         if (track_player_) {
      |             ^~~~~~~~~~~~~
      |             TrackPlayer
sketch/config/../props/saber_fett263_buttons.h: In member function 'void SaberFett263Buttons::MenuExit()':
sketch/config/../props/saber_fett263_buttons.h:4476:16: error: request for member 'Free' in '((SaberFett263Buttons*)this)->SaberFett263Buttons::wav_player', which is of non-class type 'int'
 4476 |     wav_player.Free();
      |                ^~~~
sketch/config/../props/saber_fett263_buttons.h: In member function 'void SaberFett263Buttons::ToggleBattleMode()':
sketch/config/../props/saber_fett263_buttons.h:4606:9: error: 'hybrid_font' was not declared in this scope; did you mean 'HybridFont'?
 4606 |         hybrid_font.PlayCommon(&SFX_bmbegin);
      |         ^~~~~~~~~~~
      |         HybridFont
sketch/config/../props/saber_fett263_buttons.h:4608:9: error: 'hybrid_font' was not declared in this scope; did you mean 'HybridFont'?
 4608 |         hybrid_font.DoEffect(EFFECT_FORCE, 0);
      |         ^~~~~~~~~~~
      |         HybridFont
sketch/config/../props/saber_fett263_buttons.h:4613:9: error: 'hybrid_font' was not declared in this scope; did you mean 'HybridFont'?
 4613 |         hybrid_font.PlayCommon(&SFX_bmend);
      |         ^~~~~~~~~~~
      |         HybridFont
sketch/config/../props/saber_fett263_buttons.h:4615:9: error: 'beeper' was not declared in this scope
 4615 |         beeper.Beep(0.5, 3000);
      |         ^~~~~~
sketch/config/../props/saber_fett263_buttons.h: In member function 'void SaberFett263Buttons::ToggleMultiBlast()':
sketch/config/../props/saber_fett263_buttons.h:4624:9: error: 'hybrid_font' was not declared in this scope; did you mean 'HybridFont'?
 4624 |         hybrid_font.PlayCommon(&SFX_blstbgn);
      |         ^~~~~~~~~~~
      |         HybridFont
sketch/config/../props/saber_fett263_buttons.h:4626:9: error: 'hybrid_font' was not declared in this scope; did you mean 'HybridFont'?
 4626 |         hybrid_font.SB_Effect(EFFECT_BLAST, 0);
      |         ^~~~~~~~~~~
      |         HybridFont
sketch/config/../props/saber_fett263_buttons.h:4630:9: error: 'hybrid_font' was not declared in this scope; did you mean 'HybridFont'?
 4630 |         hybrid_font.PlayCommon(&SFX_blstend);
      |         ^~~~~~~~~~~
      |         HybridFont
sketch/config/../props/saber_fett263_buttons.h:4632:9: error: 'hybrid_font' was not declared in this scope; did you mean 'HybridFont'?
 4632 |         hybrid_font.SB_Effect(EFFECT_BLAST, 0);
      |         ^~~~~~~~~~~
      |         HybridFont
sketch/config/../props/saber_fett263_buttons.h: In member function 'void SaberFett263Buttons::ChangeVolume(int)':
sketch/config/../props/saber_fett263_buttons.h:4773:28: error: 'dynamic_mixer' was not declared in this scope
 4773 |     float current_volume = dynamic_mixer.get_volume();
      |                            ^~~~~~~~~~~~~
sketch/config/../props/saber_fett263_buttons.h: In member function 'virtual bool SaberFett263Buttons::Event2(BUTTON, EVENT, uint32_t)':
sketch/config/../props/saber_fett263_buttons.h:5091:13: error: 'track_player_' was not declared in this scope; did you mean 'TrackPlayer'?
 5091 |         if (track_player_) {
      |             ^~~~~~~~~~~~~
      |             TrackPlayer
sketch/config/../props/saber_fett263_buttons.h:5121:9: error: 'hybrid_font' was not declared in this scope; did you mean 'HybridFont'?
 5121 |         hybrid_font.PlayCommon(&SFX_ccchange);
      |         ^~~~~~~~~~~
      |         HybridFont
sketch/config/../props/saber_fett263_buttons.h:5792:37: error: base operand of '->' is not a pointer
 5792 |         if (wav_player && wav_player->isPlaying()) {
      |                                     ^~
sketch/config/../props/saber_fett263_buttons.h:5813:37: error: base operand of '->' is not a pointer
 5813 |         if (wav_player && wav_player->isPlaying()) {
      |                                     ^~
sketch/config/../props/saber_fett263_buttons.h:5835:37: error: base operand of '->' is not a pointer
 5835 |         if (wav_player && wav_player->isPlaying()) {
      |                                     ^~
sketch/config/../props/saber_fett263_buttons.h:5846:37: error: base operand of '->' is not a pointer
 5846 |         if (wav_player && wav_player->isPlaying()) {
      |                                     ^~
sketch/config/../props/saber_fett263_buttons.h:5868:32: error: base operand of '->' is not a pointer
 5868 |    if (wav_player && wav_player->isPlaying()) {
      |                                ^~
sketch/config/../props/saber_fett263_buttons.h:5897:32: error: base operand of '->' is not a pointer
 5897 |    if (wav_player && wav_player->isPlaying()) {
      |                                ^~
sketch/config/../props/saber_fett263_buttons.h:5925:37: error: base operand of '->' is not a pointer
 5925 |         if (wav_player && wav_player->isPlaying()) {
      |                                     ^~
sketch/config/../props/saber_fett263_buttons.h:5958:37: error: base operand of '->' is not a pointer
 5958 |         if (wav_player && wav_player->isPlaying()) {
      |                                     ^~
sketch/config/../props/saber_fett263_buttons.h: In member function 'virtual void SaberFett263Buttons::SB_Effect(EffectType, float)':
sketch/config/../props/saber_fett263_buttons.h:6336:38: error: 'hybrid_font' was not declared in this scope; did you mean 'HybridFont'?
 6336 |       case EFFECT_INTERACTIVE_BLAST: hybrid_font.PlayCommon(&SFX_blast); return;
      |                                      ^~~~~~~~~~~
      |                                      HybridFont
sketch/config/../props/saber_fett263_buttons.h:6369:11: error: 'beeper' was not declared in this scope
 6369 |           beeper.Beep(0.5, 3000);
      |           ^~~~~~
exit status 1
Error compiling for board Proffieboard V2.


This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.

LMK if sharing the error report from the Mac will help at all. I’m busy the next two days but can get to it ASAP if anyone needs it.

So I was able to installed the v2 of arduino ide with support for arch64 but my raspberry pi is crashing. the arduino page for arm is as follows. GitHub - koendv/arduino-ide-raspberrypi: arduino IDE v2 for raspberry pi · GitHub

the raspberry pi is crashing due to sustained ram overutilisation, I also followed the copying of the *.rules into /etc/udev/ is there a pull request for arm 64 architecture. the reason I ask is that one of the errors was in the hardware directory for the arm-non-gbi-aaee-g++ on my one I don’t have g++.

Only with OS8, correct?

error on os v7

In file included from /home/maxb/Documents/ProffieOS/transitions/doeffect.h:5,
                 from /home/maxb/Documents/ProffieOS/ProffieOS.ino:570:
/home/maxb/Documents/ProffieOS/sound/hybrid_font.h:268:10: error: 'BufferedWavPlayer' was not declared in this scope
  268 |   RefPtr<BufferedWavPlayer> hum_player_;
      |          ^~~~~~~~~~~~~~~~~
/home/maxb/Documents/ProffieOS/sound/hybrid_font.h:268:27: error: template argument 1 is invalid
  268 |   RefPtr<BufferedWavPlayer> hum_player_;
      |                           ^
/home/maxb/Documents/ProffieOS/sound/hybrid_font.h:269:10: error: 'BufferedWavPlayer' was not declared in this scope
  269 |   RefPtr<BufferedWavPlayer> next_hum_player_;
      |          ^~~~~~~~~~~~~~~~~
/home/maxb/Documents/ProffieOS/sound/hybrid_font.h:269:27: error: template argument 1 is invalid
  269 |   RefPtr<BufferedWavPlayer> next_hum_player_;
      |                           ^
/home/maxb/Documents/ProffieOS/sound/hybrid_font.h:270:10: error: 'BufferedWavPlayer' was not declared in this scope
  270 |   RefPtr<BufferedWavPlayer> swing_player_;
      |          ^~~~~~~~~~~~~~~~~
/home/maxb/Documents/ProffieOS/sound/hybrid_font.h:270:27: error: template argument 1 is invalid
  270 |   RefPtr<BufferedWavPlayer> swing_player_;
      |                           ^
/home/maxb/Documents/ProffieOS/sound/hybrid_font.h:271:10: error: 'BufferedWavPlayer' was not declared in this scope
  271 |   RefPtr<BufferedWavPlayer> lock_player_;
      |          ^~~~~~~~~~~~~~~~~
/home/maxb/Documents/ProffieOS/sound/hybrid_font.h:271:27: error: template argument 1 is invalid
  271 |   RefPtr<BufferedWavPlayer> lock_player_;
      |                           ^
/home/maxb/Documents/ProffieOS/sound/hybrid_font.h:310:10: error: 'BufferedWavPlayer' was not declared in this scope
  310 |   RefPtr<BufferedWavPlayer> PlayPolyphonic(const Effect::FileID& f)  {
      |          ^~~~~~~~~~~~~~~~~
/home/maxb/Documents/ProffieOS/sound/hybrid_font.h:310:27: error: template argument 1 is invalid
  310 |   RefPtr<BufferedWavPlayer> PlayPolyphonic(const Effect::FileID& f)  {
      |                           ^
/home/maxb/Documents/ProffieOS/sound/hybrid_font.h:323:10: error: 'BufferedWavPlayer' was not declared in this scope
  323 |   RefPtr<BufferedWavPlayer> PlayPolyphonic(Effect* f)  {
      |          ^~~~~~~~~~~~~~~~~
/home/maxb/Documents/ProffieOS/sound/hybrid_font.h:323:27: error: template argument 1 is invalid
  323 |   RefPtr<BufferedWavPlayer> PlayPolyphonic(Effect* f)  {
      |                           ^
/home/maxb/Documents/ProffieOS/sound/hybrid_font.h:464:33: error: 'BufferedWavPlayer' was not declared in this scope
  464 |   Effect::FileID getNext(RefPtr<BufferedWavPlayer> previous, Effect* next) {
      |                                 ^~~~~~~~~~~~~~~~~
/home/maxb/Documents/ProffieOS/sound/hybrid_font.h:464:50: error: template argument 1 is invalid
  464 |   Effect::FileID getNext(RefPtr<BufferedWavPlayer> previous, Effect* next) {
      |                                                  ^
/home/maxb/Documents/ProffieOS/sound/hybrid_font.h: In member function 'void HybridFont::Activate()':
/home/maxb/Documents/ProffieOS/sound/hybrid_font.h:202:5: error: 'SetupStandardAudio' was not declared in this scope
  202 |     SetupStandardAudio();
      |     ^~~~~~~~~~~~~~~~~~
/home/maxb/Documents/ProffieOS/sound/hybrid_font.h: In member function 'void HybridFont::Deactivate()':
/home/maxb/Documents/ProffieOS/sound/hybrid_font.h:259:18: error: request for member 'Free' in '((HybridFont*)this)->HybridFont::lock_player_', which is of non-class type 'int'
  259 |     lock_player_.Free();
      |                  ^~~~
/home/maxb/Documents/ProffieOS/sound/hybrid_font.h:260:17: error: request for member 'Free' in '((HybridFont*)this)->HybridFont::hum_player_', which is of non-class type 'int'
  260 |     hum_player_.Free();
      |                 ^~~~
/home/maxb/Documents/ProffieOS/sound/hybrid_font.h:261:22: error: request for member 'Free' in '((HybridFont*)this)->HybridFont::next_hum_player_', which is of non-class type 'int'
  261 |     next_hum_player_.Free();
      |                      ^~~~
/home/maxb/Documents/ProffieOS/sound/hybrid_font.h:262:19: error: request for member 'Free' in '((HybridFont*)this)->HybridFont::swing_player_', which is of non-class type 'int'
  262 |     swing_player_.Free();
      |                   ^~~~
/home/maxb/Documents/ProffieOS/sound/hybrid_font.h: In member function 'void HybridFont::PlayMonophonic(const Effect::FileID&, Effect*, float)':
/home/maxb/Documents/ProffieOS/sound/hybrid_font.h:276:26: error: 'GetFreeWavPlayer' was not declared in this scope
  276 |       next_hum_player_ = GetFreeWavPlayer();
      |                          ^~~~~~~~~~~~~~~~
/home/maxb/Documents/ProffieOS/sound/hybrid_font.h:283:18: error: base operand of '->' is not a pointer
  283 |       hum_player_->set_fade_time(xfade);
      |                  ^~
/home/maxb/Documents/ProffieOS/sound/hybrid_font.h:284:18: error: base operand of '->' is not a pointer
  284 |       hum_player_->FadeAndStop();
      |                  ^~
/home/maxb/Documents/ProffieOS/sound/hybrid_font.h:285:19: error: request for member 'Free' in '((HybridFont*)this)->HybridFont::hum_player_', which is of non-class type 'int'
  285 |       hum_player_.Free();
      |                   ^~~~
/home/maxb/Documents/ProffieOS/sound/hybrid_font.h:286:23: error: base operand of '->' is not a pointer
  286 |       next_hum_player_->set_volume_now(0);
      |                       ^~
/home/maxb/Documents/ProffieOS/sound/hybrid_font.h:287:23: error: base operand of '->' is not a pointer
  287 |       next_hum_player_->set_fade_time(xfade);
      |                       ^~
/home/maxb/Documents/ProffieOS/sound/hybrid_font.h:288:23: error: base operand of '->' is not a pointer
  288 |       next_hum_player_->set_volume(font_config.volEff / 16.0f);
      |                       ^~
/home/maxb/Documents/ProffieOS/sound/hybrid_font.h:290:23: error: base operand of '->' is not a pointer
  290 |       next_hum_player_->set_volume_now(font_config.volEff / 16.0f);
      |                       ^~
/home/maxb/Documents/ProffieOS/sound/hybrid_font.h:293:22: error: request for member 'Free' in '((HybridFont*)this)->HybridFont::next_hum_player_', which is of non-class type 'int'
  293 |     next_hum_player_.Free();
      |                      ^~~~
/home/maxb/Documents/ProffieOS/sound/hybrid_font.h:294:16: error: base operand of '->' is not a pointer
  294 |     hum_player_->PlayOnce(f);
      |                ^~
/home/maxb/Documents/ProffieOS/sound/hybrid_font.h:295:41: error: base operand of '->' is not a pointer
  295 |     current_effect_length_ = hum_player_->length();
      |                                         ^~
/home/maxb/Documents/ProffieOS/sound/hybrid_font.h:296:26: error: base operand of '->' is not a pointer
  296 |     if (loop) hum_player_->PlayLoop(loop);
      |                          ^~
/home/maxb/Documents/ProffieOS/sound/hybrid_font.h: In member function 'void HybridFont::RestartHum()':
/home/maxb/Documents/ProffieOS/sound/hybrid_font.h:305:35: error: base operand of '->' is not a pointer
  305 |     if (hum_player_ && hum_player_->isPlaying()) {
      |                                   ^~
/home/maxb/Documents/ProffieOS/sound/hybrid_font.h: In member function 'int HybridFont::PlayPolyphonic(const Effect::FileID&)':
/home/maxb/Documents/ProffieOS/sound/hybrid_font.h:312:27: error: 'BufferedWavPlayer' was not declared in this scope
  312 |     if (!f) return RefPtr<BufferedWavPlayer>(nullptr);
      |                           ^~~~~~~~~~~~~~~~~
/home/maxb/Documents/ProffieOS/sound/hybrid_font.h:312:44: error: template argument 1 is invalid
  312 |     if (!f) return RefPtr<BufferedWavPlayer>(nullptr);
      |                                            ^
/home/maxb/Documents/ProffieOS/sound/hybrid_font.h:313:12: error: 'BufferedWavPlayer' was not declared in this scope
  313 |     RefPtr<BufferedWavPlayer> player = GetOrFreeWavPlayer(f.GetEffect());
      |            ^~~~~~~~~~~~~~~~~
/home/maxb/Documents/ProffieOS/sound/hybrid_font.h:313:29: error: template argument 1 is invalid
  313 |     RefPtr<BufferedWavPlayer> player = GetOrFreeWavPlayer(f.GetEffect());
      |                             ^
/home/maxb/Documents/ProffieOS/sound/hybrid_font.h:313:40: error: 'GetOrFreeWavPlayer' was not declared in this scope
  313 |     RefPtr<BufferedWavPlayer> player = GetOrFreeWavPlayer(f.GetEffect());
      |                                        ^~~~~~~~~~~~~~~~~~
/home/maxb/Documents/ProffieOS/sound/hybrid_font.h:315:13: error: base operand of '->' is not a pointer
  315 |       player->set_volume_now(font_config.volEff / 16.0f);
      |             ^~
/home/maxb/Documents/ProffieOS/sound/hybrid_font.h:316:13: error: base operand of '->' is not a pointer
  316 |       player->PlayOnce(f);
      |             ^~
/home/maxb/Documents/ProffieOS/sound/hybrid_font.h:317:38: error: base operand of '->' is not a pointer
  317 |       current_effect_length_ = player->length();
      |                                      ^~
/home/maxb/Documents/ProffieOS/sound/hybrid_font.h: In member function 'virtual void HybridFont::StartSwing(const Vec3&, float, float)':
/home/maxb/Documents/ProffieOS/sound/hybrid_font.h:362:28: error: base operand of '->' is not a pointer
  362 |           if (swing_player_->pos() / swing_player_->length() >= font_config.ProffieOSSwingOverlap) {
      |                            ^~
/home/maxb/Documents/ProffieOS/sound/hybrid_font.h:362:51: error: base operand of '->' is not a pointer
  362 |           if (swing_player_->pos() / swing_player_->length() >= font_config.ProffieOSSwingOverlap) {
      |                                                   ^~
/home/maxb/Documents/ProffieOS/sound/hybrid_font.h:363:26: error: base operand of '->' is not a pointer
  363 |             swing_player_->set_fade_time(swing_player_->length() - swing_player_->pos());
      |                          ^~
/home/maxb/Documents/ProffieOS/sound/hybrid_font.h:363:55: error: base operand of '->' is not a pointer
  363 |             swing_player_->set_fade_time(swing_player_->length() - swing_player_->pos());
      |                                                       ^~
/home/maxb/Documents/ProffieOS/sound/hybrid_font.h:363:81: error: base operand of '->' is not a pointer
  363 |             swing_player_->set_fade_time(swing_player_->length() - swing_player_->pos());
      |                                                                                 ^~
/home/maxb/Documents/ProffieOS/sound/hybrid_font.h:364:26: error: base operand of '->' is not a pointer
  364 |             swing_player_->FadeAndStop();
      |                          ^~
/home/maxb/Documents/ProffieOS/sound/hybrid_font.h:365:27: error: request for member 'Free' in '((HybridFont*)this)->HybridFont::swing_player_', which is of non-class type 'int'
  365 |             swing_player_.Free();
      |                           ^~~~
/home/maxb/Documents/ProffieOS/sound/hybrid_font.h:413:21: error: request for member 'Free' in '((HybridFont*)this)->HybridFont::swing_player_', which is of non-class type 'int'
  413 |       swing_player_.Free();
      |                     ^~~~
/home/maxb/Documents/ProffieOS/sound/hybrid_font.h: In member function 'virtual float HybridFont::SetSwingVolume(float, float)':
/home/maxb/Documents/ProffieOS/sound/hybrid_font.h:427:24: error: base operand of '->' is not a pointer
  427 |       if (swing_player_->isPlaying()) {
      |                        ^~
/home/maxb/Documents/ProffieOS/sound/hybrid_font.h:430:22: error: base operand of '->' is not a pointer
  430 |         swing_player_->set_fade_time(0.04);
      |                      ^~
/home/maxb/Documents/ProffieOS/sound/hybrid_font.h:431:22: error: base operand of '->' is not a pointer
  431 |         swing_player_->set_volume(accent_volume);
      |                      ^~
/home/maxb/Documents/ProffieOS/sound/hybrid_font.h:434:23: error: request for member 'Free' in '((HybridFont*)this)->HybridFont::swing_player_', which is of non-class type 'int'
  434 |         swing_player_.Free();
      |                       ^~~~
/home/maxb/Documents/ProffieOS/sound/hybrid_font.h: In member function 'void HybridFont::SB_Preon()':
/home/maxb/Documents/ProffieOS/sound/hybrid_font.h:453:14: error: 'BufferedWavPlayer' was not declared in this scope
  453 |       RefPtr<BufferedWavPlayer> tmp = PlayPolyphonic(&SFX_preon);
      |              ^~~~~~~~~~~~~~~~~
/home/maxb/Documents/ProffieOS/sound/hybrid_font.h:453:31: error: template argument 1 is invalid
  453 |       RefPtr<BufferedWavPlayer> tmp = PlayPolyphonic(&SFX_preon);
      |                               ^
/home/maxb/Documents/ProffieOS/sound/hybrid_font.h: In member function 'Effect::FileID HybridFont::getNext(int, Effect*)':
/home/maxb/Documents/ProffieOS/sound/hybrid_font.h:466:22: error: base operand of '->' is not a pointer
  466 |       return previous->current_file_id().GetFollowing(next);
      |                      ^~
/home/maxb/Documents/ProffieOS/sound/hybrid_font.h: In member function 'void HybridFont::SB_Postoff()':
/home/maxb/Documents/ProffieOS/sound/hybrid_font.h:475:12: error: 'BufferedWavPlayer' was not declared in this scope
  475 |     RefPtr<BufferedWavPlayer> tmp = GetWavPlayerPlaying(&SFX_pstoff);
      |            ^~~~~~~~~~~~~~~~~
/home/maxb/Documents/ProffieOS/sound/hybrid_font.h:475:29: error: template argument 1 is invalid
  475 |     RefPtr<BufferedWavPlayer> tmp = GetWavPlayerPlaying(&SFX_pstoff);
      |                             ^
/home/maxb/Documents/ProffieOS/sound/hybrid_font.h:475:37: error: 'GetWavPlayerPlaying' was not declared in this scope
  475 |     RefPtr<BufferedWavPlayer> tmp = GetWavPlayerPlaying(&SFX_pstoff);
      |                                     ^~~~~~~~~~~~~~~~~~~
/home/maxb/Documents/ProffieOS/sound/hybrid_font.h:477:10: error: base operand of '->' is not a pointer
  477 |       tmp->UpdateSaberBaseSoundInfo();
      |          ^~
/home/maxb/Documents/ProffieOS/sound/hybrid_font.h: In member function 'virtual void HybridFont::SB_On()':
/home/maxb/Documents/ProffieOS/sound/hybrid_font.h:494:23: error: 'GetFreeWavPlayer' was not declared in this scope
  494 |         hum_player_ = GetFreeWavPlayer();
      |                       ^~~~~~~~~~~~~~~~
/home/maxb/Documents/ProffieOS/sound/hybrid_font.h:496:22: error: base operand of '->' is not a pointer
  496 |           hum_player_->set_volume_now(0);
      |                      ^~
/home/maxb/Documents/ProffieOS/sound/hybrid_font.h:497:22: error: base operand of '->' is not a pointer
  497 |           hum_player_->PlayOnce(getNext(GetWavPlayerPlaying(getOut()), SFX_humm ? &SFX_humm : &SFX_hum));
      |                      ^~
/home/maxb/Documents/ProffieOS/sound/hybrid_font.h:497:41: error: 'GetWavPlayerPlaying' was not declared in this scope
  497 |           hum_player_->PlayOnce(getNext(GetWavPlayerPlaying(getOut()), SFX_humm ? &SFX_humm : &SFX_hum));
      |                                         ^~~~~~~~~~~~~~~~~~~
/home/maxb/Documents/ProffieOS/sound/hybrid_font.h:498:22: error: base operand of '->' is not a pointer
  498 |           hum_player_->PlayLoop(SFX_humm ? &SFX_humm : &SFX_hum);
      |                      ^~
/home/maxb/Documents/ProffieOS/sound/hybrid_font.h:502:14: error: 'BufferedWavPlayer' was not declared in this scope
  502 |       RefPtr<BufferedWavPlayer> tmp;
      |              ^~~~~~~~~~~~~~~~~
/home/maxb/Documents/ProffieOS/sound/hybrid_font.h:502:31: error: template argument 1 is invalid
  502 |       RefPtr<BufferedWavPlayer> tmp;
      |                               ^
/home/maxb/Documents/ProffieOS/sound/hybrid_font.h:504:15: error: 'GetWavPlayerPlaying' was not declared in this scope
  504 |         tmp = GetWavPlayerPlaying(getOut());
      |               ^~~~~~~~~~~~~~~~~~~
/home/maxb/Documents/ProffieOS/sound/hybrid_font.h:507:14: error: base operand of '->' is not a pointer
  507 |           tmp->UpdateSaberBaseSoundInfo();
      |              ^~
/home/maxb/Documents/ProffieOS/sound/hybrid_font.h:516:27: error: base operand of '->' is not a pointer
  516 |         hum_fade_in_ = tmp->length();
      |                           ^~
/home/maxb/Documents/ProffieOS/sound/hybrid_font.h:522:34: error: base operand of '->' is not a pointer
  522 |         int delay_ms = 1000 * tmp->length() - font_config.humStart;
      |                                  ^~
/home/maxb/Documents/ProffieOS/sound/hybrid_font.h: In member function 'virtual void HybridFont::SB_Off(SaberBase::OffType)':
/home/maxb/Documents/ProffieOS/sound/hybrid_font.h:564:24: error: base operand of '->' is not a pointer
  564 |             hum_player_->set_fade_time(0.2);
      |                        ^~
/home/maxb/Documents/ProffieOS/sound/hybrid_font.h:565:24: error: base operand of '->' is not a pointer
  565 |             hum_player_->FadeAndStop();
      |                        ^~
/home/maxb/Documents/ProffieOS/sound/hybrid_font.h:566:25: error: request for member 'Free' in '((HybridFont*)this)->HybridFont::hum_player_', which is of non-class type 'int'
  566 |             hum_player_.Free();
      |                         ^~~~
/home/maxb/Documents/ProffieOS/sound/hybrid_font.h: In member function 'virtual void HybridFont::SB_BladeDetect(bool)':
/home/maxb/Documents/ProffieOS/sound/hybrid_font.h:634:5: error: 'beeper' was not declared in this scope
  634 |     beeper.Beep(0.05, 2000.0);
      |     ^~~~~~
/home/maxb/Documents/ProffieOS/sound/hybrid_font.h: In member function 'void HybridFont::SB_NewFont()':
/home/maxb/Documents/ProffieOS/sound/hybrid_font.h:638:7: error: 'beeper' was not declared in this scope
  638 |       beeper.Beep(0.05, 2000.0);
      |       ^~~~~~
/home/maxb/Documents/ProffieOS/sound/hybrid_font.h: In member function 'virtual void HybridFont::SB_Change(SaberBase::ChangeType)':
/home/maxb/Documents/ProffieOS/sound/hybrid_font.h:645:11: error: 'beeper' was not declared in this scope
  645 |           beeper.Beep(0.20, 1000.0);
      |           ^~~~~~
/home/maxb/Documents/ProffieOS/sound/hybrid_font.h:652:11: error: 'beeper' was not declared in this scope
  652 |           beeper.Beep(0.20, 2000.0);
      |           ^~~~~~
/home/maxb/Documents/ProffieOS/sound/hybrid_font.h:659:11: error: 'beeper' was not declared in this scope
  659 |           beeper.Beep(0.05, 2000.0);
      |           ^~~~~~
/home/maxb/Documents/ProffieOS/sound/hybrid_font.h: In member function 'void HybridFont::SB_BeginLockup()':
/home/maxb/Documents/ProffieOS/sound/hybrid_font.h:708:39: error: base operand of '->' is not a pointer
  708 |         if (lock_player_) lock_player_->PlayLoop(loop);
      |                                       ^~
/home/maxb/Documents/ProffieOS/sound/hybrid_font.h: In member function 'void HybridFont::SB_EndLockup()':
/home/maxb/Documents/ProffieOS/sound/hybrid_font.h:745:19: error: base operand of '->' is not a pointer
  745 |       lock_player_->set_fade_time(0.3);
      |                   ^~
/home/maxb/Documents/ProffieOS/sound/hybrid_font.h:749:23: error: base operand of '->' is not a pointer
  749 |           lock_player_->set_fade_time(0.003);
      |                       ^~
/home/maxb/Documents/ProffieOS/sound/hybrid_font.h:753:19: error: base operand of '->' is not a pointer
  753 |       lock_player_->FadeAndStop();
      |                   ^~
/home/maxb/Documents/ProffieOS/sound/hybrid_font.h:754:20: error: request for member 'Free' in '((HybridFont*)this)->HybridFont::lock_player_', which is of non-class type 'int'
  754 |       lock_player_.Free();
      |                    ^~~~
/home/maxb/Documents/ProffieOS/sound/hybrid_font.h: In member function 'virtual void HybridFont::SetHumVolume(float)':
/home/maxb/Documents/ProffieOS/sound/hybrid_font.h:766:23: error: 'GetFreeWavPlayer' was not declared in this scope
  766 |         hum_player_ = GetFreeWavPlayer();
      |                       ^~~~~~~~~~~~~~~~
/home/maxb/Documents/ProffieOS/sound/hybrid_font.h:768:22: error: base operand of '->' is not a pointer
  768 |           hum_player_->set_volume_now(0);
      |                      ^~
/home/maxb/Documents/ProffieOS/sound/hybrid_font.h:769:22: error: base operand of '->' is not a pointer
  769 |           hum_player_->PlayOnce(SFX_humm ? &SFX_humm : &SFX_hum);
      |                      ^~
/home/maxb/Documents/ProffieOS/sound/hybrid_font.h:770:22: error: base operand of '->' is not a pointer
  770 |           hum_player_->PlayLoop(SFX_humm ? &SFX_humm : &SFX_hum);
      |                      ^~
/home/maxb/Documents/ProffieOS/sound/hybrid_font.h:805:24: error: base operand of '->' is not a pointer
  805 |             hum_player_->FadeAndStop();
      |                        ^~
/home/maxb/Documents/ProffieOS/sound/hybrid_font.h:806:25: error: request for member 'Free' in '((HybridFont*)this)->HybridFont::hum_player_', which is of non-class type 'int'
  806 |             hum_player_.Free();
      |                         ^~~~
/home/maxb/Documents/ProffieOS/sound/hybrid_font.h:816:16: error: base operand of '->' is not a pointer
  816 |     hum_player_->set_volume(vol);
      |                ^~
/home/maxb/Documents/ProffieOS/sound/hybrid_font.h: In member function 'virtual void HybridFont::Loop()':
/home/maxb/Documents/ProffieOS/sound/hybrid_font.h:822:12: error: 'GetWavPlayerPlaying' was not declared in this scope
  822 |       if (!GetWavPlayerPlaying(&SFX_preon)) {
      |            ^~~~~~~~~~~~~~~~~~~
/home/maxb/Documents/ProffieOS/sound/hybrid_font.h:828:12: error: 'GetWavPlayerPlaying' was not declared in this scope
  828 |       if (!GetWavPlayerPlaying(&SFX_in) &&
      |            ^~~~~~~~~~~~~~~~~~~
In file included from /home/maxb/Documents/ProffieOS/ProffieOS.ino:621:
/home/maxb/Documents/ProffieOS/config/incendiusv810.h: At global scope:
/home/maxb/Documents/ProffieOS/config/incendiusv810.h:299:7: error: 'WS281XBladePtr' was not declared in this scope; did you mean 'SaviBladePtr'?
  299 |  { 0, WS281XBladePtr<128, bladePin, Color8::GRB, PowerPINS<bladePowerPin2, bladePowerPin3> >(), CONFIGARRAY(presets) },
      |       ^~~~~~~~~~~~~~
      |       SaviBladePtr
/home/maxb/Documents/ProffieOS/config/incendiusv810.h:299:92: error: expected primary-expression before '>' token
  299 |  { 0, WS281XBladePtr<128, bladePin, Color8::GRB, PowerPINS<bladePowerPin2, bladePowerPin3> >(), CONFIGARRAY(presets) },
      |                                                                                            ^
/home/maxb/Documents/ProffieOS/config/incendiusv810.h:299:94: error: expected primary-expression before ')' token
  299 |  { 0, WS281XBladePtr<128, bladePin, Color8::GRB, PowerPINS<bladePowerPin2, bladePowerPin3> >(), CONFIGARRAY(presets) },
      |                                                                                              ^
In file included from /home/maxb/Documents/ProffieOS/props/saber_fett263_buttons.h:960,
                 from /home/maxb/Documents/ProffieOS/config/incendiusv810.h:48,
                 from /home/maxb/Documents/ProffieOS/ProffieOS.ino:625:
/home/maxb/Documents/ProffieOS/sound/sound_library.h:47:3: error: 'SoundQueue' does not name a type
   47 |   SoundQueue<16> sound_queue_;
      |   ^~~~~~~~~~
/home/maxb/Documents/ProffieOS/sound/sound_library.h:49:13: error: 'SoundToPlay' has not been declared
   49 |   void Play(SoundToPlay stp) { sound_queue_.Play(stp); }
      |             ^~~~~~~~~~~
/home/maxb/Documents/ProffieOS/sound/sound_library.h:50:20: error: 'BufferedWavPlayer' was not declared in this scope
   50 |   void Poll(RefPtr<BufferedWavPlayer>& wav_player) {
      |                    ^~~~~~~~~~~~~~~~~
/home/maxb/Documents/ProffieOS/sound/sound_library.h:50:37: error: template argument 1 is invalid
   50 |   void Poll(RefPtr<BufferedWavPlayer>& wav_player) {
      |                                     ^
/home/maxb/Documents/ProffieOS/sound/sound_library.h: In member function 'void SoundLibrary::Play(const char*)':
/home/maxb/Documents/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); }
      |                                 ^~~~~~~~~~~~
/home/maxb/Documents/ProffieOS/sound/sound_library.h: In member function 'void SoundLibrary::Play(int)':
/home/maxb/Documents/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); }
      |                                ^~~~~~~~~~~~
/home/maxb/Documents/ProffieOS/sound/sound_library.h: In member function 'void SoundLibrary::Poll(int&)':
/home/maxb/Documents/ProffieOS/sound/sound_library.h:51:5: error: 'sound_queue_' was not declared in this scope
   51 |     sound_queue_.PollSoundQueue(wav_player);
      |     ^~~~~~~~~~~~
/home/maxb/Documents/ProffieOS/sound/sound_library.h: In member function 'void SoundLibrary::TensValue(int)':
/home/maxb/Documents/ProffieOS/sound/sound_library.h:57:12: error: 'SoundToPlay' was not declared in this scope
   57 |       Play(SoundToPlay(&SFX_mnum, number - 1));
      |            ^~~~~~~~~~~
/home/maxb/Documents/ProffieOS/sound/sound_library.h:64:16: error: 'SoundToPlay' was not declared in this scope
   64 |           Play(SoundToPlay(&SFX_mnum, (tens * 10) - 1));
      |                ^~~~~~~~~~~
/home/maxb/Documents/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));
      |                             ^~~~~~~~~~~
/home/maxb/Documents/ProffieOS/sound/sound_library.h: In member function 'void SoundLibrary::SayNumber(float, SayType)':
/home/maxb/Documents/ProffieOS/sound/sound_library.h:102:16: error: 'SoundToPlay' was not declared in this scope
  102 |           Play(SoundToPlay("mzero.wav"));
      |                ^~~~~~~~~~~
/home/maxb/Documents/ProffieOS/sound/sound_library.h:107:14: error: 'SoundToPlay' was not declared in this scope
  107 |         Play(SoundToPlay("mpoint.wav"));
      |              ^~~~~~~~~~~
/home/maxb/Documents/ProffieOS/sound/sound_library.h: In member function 'void SoundLibrary::SayColor(ColorNumber)':
/home/maxb/Documents/ProffieOS/sound/sound_library.h:272:10: error: 'SoundToPlay' was not declared in this scope
  272 |     Play(SoundToPlay(&SFX_clrlst, n - 1));
      |          ^~~~~~~~~~~
/home/maxb/Documents/ProffieOS/props/saber_fett263_buttons.h: At global scope:
/home/maxb/Documents/ProffieOS/props/saber_fett263_buttons.h:4808:10: error: 'BufferedWavPlayer' was not declared in this scope
 4808 |   RefPtr<BufferedWavPlayer> wav_player;
      |          ^~~~~~~~~~~~~~~~~
/home/maxb/Documents/ProffieOS/props/saber_fett263_buttons.h:4808:27: error: template argument 1 is invalid
 4808 |   RefPtr<BufferedWavPlayer> wav_player;
      |                           ^
/home/maxb/Documents/ProffieOS/props/saber_fett263_buttons.h: In member function 'void SaberFett263Buttons::ToggleCCMode()':
/home/maxb/Documents/ProffieOS/props/saber_fett263_buttons.h:1771:9: error: 'hybrid_font' was not declared in this scope; did you mean 'HybridFont'?
 1771 |         hybrid_font.PlayCommon(&SFX_ccbegin);
      |         ^~~~~~~~~~~
      |         HybridFont
/home/maxb/Documents/ProffieOS/props/saber_fett263_buttons.h: In member function 'void SaberFett263Buttons::CheckEvent()':
/home/maxb/Documents/ProffieOS/props/saber_fett263_buttons.h:1816:35: error: base operand of '->' is not a pointer
 1816 |     if (next_event_ && !wav_player->isPlaying()) {
      |                                   ^~
/home/maxb/Documents/ProffieOS/props/saber_fett263_buttons.h: In member function 'void SaberFett263Buttons::TrackPlayer()':
/home/maxb/Documents/ProffieOS/props/saber_fett263_buttons.h:2078:12: error: 'track_player_' was not declared in this scope; did you mean 'TrackPlayer'?
 2078 |       if (!track_player_) {
      |            ^~~~~~~~~~~~~
      |            TrackPlayer
/home/maxb/Documents/ProffieOS/props/saber_fett263_buttons.h:2099:11: error: 'track_player_' was not declared in this scope; did you mean 'TrackPlayer'?
 2099 |       if (track_player_ && !track_player_->isPlaying()) {
      |           ^~~~~~~~~~~~~
      |           TrackPlayer
/home/maxb/Documents/ProffieOS/props/saber_fett263_buttons.h: In member function 'void SaberFett263Buttons::PlayEffectTrack()':
/home/maxb/Documents/ProffieOS/props/saber_fett263_buttons.h:2106:10: error: 'track_player_' was not declared in this scope; did you mean 'TrackPlayer'?
 2106 |     if (!track_player_->isPlaying()) {
      |          ^~~~~~~~~~~~~
      |          TrackPlayer
/home/maxb/Documents/ProffieOS/props/saber_fett263_buttons.h: In member function 'void SaberFett263Buttons::PlayTrack()':
/home/maxb/Documents/ProffieOS/props/saber_fett263_buttons.h:2121:5: error: 'track_player_' was not declared in this scope; did you mean 'TrackPlayer'?
 2121 |     track_player_ = GetFreeWavPlayer();
      |     ^~~~~~~~~~~~~
      |     TrackPlayer
/home/maxb/Documents/ProffieOS/props/saber_fett263_buttons.h:2121:21: error: 'GetFreeWavPlayer' was not declared in this scope
 2121 |     track_player_ = GetFreeWavPlayer();
      |                     ^~~~~~~~~~~~~~~~
/home/maxb/Documents/ProffieOS/props/saber_fett263_buttons.h: In member function 'void SaberFett263Buttons::StopTrackPlayer()':
/home/maxb/Documents/ProffieOS/props/saber_fett263_buttons.h:2131:9: error: 'track_player_' was not declared in this scope; did you mean 'TrackPlayer'?
 2131 |     if (track_player_) {
      |         ^~~~~~~~~~~~~
      |         TrackPlayer
/home/maxb/Documents/ProffieOS/props/saber_fett263_buttons.h: In member function 'void SaberFett263Buttons::SoundLoop()':
/home/maxb/Documents/ProffieOS/props/saber_fett263_buttons.h:2140:19: error: base operand of '->' is not a pointer
 2140 |     if (wav_player->isPlaying()) {
      |                   ^~
/home/maxb/Documents/ProffieOS/props/saber_fett263_buttons.h:2141:17: error: base operand of '->' is not a pointer
 2141 |       wav_player->set_fade_time(0.2);
      |                 ^~
/home/maxb/Documents/ProffieOS/props/saber_fett263_buttons.h:2142:17: error: base operand of '->' is not a pointer
 2142 |       wav_player->FadeAndStop();
      |                 ^~
/home/maxb/Documents/ProffieOS/props/saber_fett263_buttons.h:2143:18: error: request for member 'Free' in '((SaberFett263Buttons*)this)->SaberFett263Buttons::wav_player', which is of non-class type 'int'
 2143 |       wav_player.Free();
      |                  ^~~~
/home/maxb/Documents/ProffieOS/props/saber_fett263_buttons.h:2146:20: error: 'GetFreeWavPlayer' was not declared in this scope
 2146 |       wav_player = GetFreeWavPlayer();
      |                    ^~~~~~~~~~~~~~~~
/home/maxb/Documents/ProffieOS/props/saber_fett263_buttons.h:2148:19: error: base operand of '->' is not a pointer
 2148 |         wav_player->PlayOnce(&SFX_trloop);
      |                   ^~
/home/maxb/Documents/ProffieOS/props/saber_fett263_buttons.h: In member function 'void SaberFett263Buttons::FreeWavplayerIfPossible()':
/home/maxb/Documents/ProffieOS/props/saber_fett263_buttons.h:2158:19: error: base operand of '->' is not a pointer
 2158 |     if (wav_player->isPlaying()) return;
      |                   ^~
/home/maxb/Documents/ProffieOS/props/saber_fett263_buttons.h:2159:16: error: request for member 'Free' in '((SaberFett263Buttons*)this)->SaberFett263Buttons::wav_player', which is of non-class type 'int'
 2159 |     wav_player.Free();
      |                ^~~~
/home/maxb/Documents/ProffieOS/props/saber_fett263_buttons.h: In member function 'void SaberFett263Buttons::ChangeFont(int)':
/home/maxb/Documents/ProffieOS/props/saber_fett263_buttons.h:2383:5: error: 'hybrid_font' was not declared in this scope; did you mean 'HybridFont'?
 2383 |     hybrid_font.SB_Effect(EFFECT_NEWFONT, 0);
      |     ^~~~~~~~~~~
      |     HybridFont
/home/maxb/Documents/ProffieOS/props/saber_fett263_buttons.h: In member function 'void SaberFett263Buttons::StartEditMode()':
/home/maxb/Documents/ProffieOS/props/saber_fett263_buttons.h:2420:9: error: 'track_player_' was not declared in this scope; did you mean 'TrackPlayer'?
 2420 |     if (track_player_) {
      |         ^~~~~~~~~~~~~
      |         TrackPlayer
/home/maxb/Documents/ProffieOS/props/saber_fett263_buttons.h: In member function 'void SaberFett263Buttons::CopyPreset(bool)':
/home/maxb/Documents/ProffieOS/props/saber_fett263_buttons.h:2452:18: error: request for member 'Free' in '((SaberFett263Buttons*)this)->SaberFett263Buttons::wav_player', which is of non-class type 'int'
 2452 |       wav_player.Free();
      |                  ^~~~
/home/maxb/Documents/ProffieOS/props/saber_fett263_buttons.h: In member function 'bool SaberFett263Buttons::EndColorZoom()':
/home/maxb/Documents/ProffieOS/props/saber_fett263_buttons.h:2545:9: error: 'hybrid_font' was not declared in this scope; did you mean 'HybridFont'?
 2545 |         hybrid_font.PlayCommon(&SFX_ccend);
      |         ^~~~~~~~~~~
      |         HybridFont
/home/maxb/Documents/ProffieOS/props/saber_fett263_buttons.h:2550:20: error: request for member 'Free' in '((SaberFett263Buttons*)this)->SaberFett263Buttons::wav_player', which is of non-class type 'int'
 2550 |         wav_player.Free();
      |                    ^~~~
/home/maxb/Documents/ProffieOS/props/saber_fett263_buttons.h: In member function 'void SaberFett263Buttons::MenuChoice()':
/home/maxb/Documents/ProffieOS/props/saber_fett263_buttons.h:3200:11: error: 'track_player_' was not declared in this scope; did you mean 'TrackPlayer'?
 3200 |       if (track_player_) {
      |           ^~~~~~~~~~~~~
      |           TrackPlayer
/home/maxb/Documents/ProffieOS/props/saber_fett263_buttons.h: In member function 'void SaberFett263Buttons::MenuDial(int)':
/home/maxb/Documents/ProffieOS/props/saber_fett263_buttons.h:3488:13: error: 'track_player_' was not declared in this scope; did you mean 'TrackPlayer'?
 3488 |         if (track_player_) {
      |             ^~~~~~~~~~~~~
      |             TrackPlayer
/home/maxb/Documents/ProffieOS/props/saber_fett263_buttons.h:3981:13: error: 'track_player_' was not declared in this scope; did you mean 'TrackPlayer'?
 3981 |         if (track_player_) {
      |             ^~~~~~~~~~~~~
      |             TrackPlayer
/home/maxb/Documents/ProffieOS/props/saber_fett263_buttons.h: In member function 'void SaberFett263Buttons::MenuUndo()':
/home/maxb/Documents/ProffieOS/props/saber_fett263_buttons.h:4247:9: error: 'dynamic_mixer' was not declared in this scope
 4247 |         dynamic_mixer.set_volume(VOLUME);
      |         ^~~~~~~~~~~~~
/home/maxb/Documents/ProffieOS/props/saber_fett263_buttons.h:4385:13: error: 'track_player_' was not declared in this scope; did you mean 'TrackPlayer'?
 4385 |         if (track_player_) {
      |             ^~~~~~~~~~~~~
      |             TrackPlayer
/home/maxb/Documents/ProffieOS/props/saber_fett263_buttons.h: In member function 'void SaberFett263Buttons::MenuExit()':
/home/maxb/Documents/ProffieOS/props/saber_fett263_buttons.h:4476:16: error: request for member 'Free' in '((SaberFett263Buttons*)this)->SaberFett263Buttons::wav_player', which is of non-class type 'int'
 4476 |     wav_player.Free();
      |                ^~~~
/home/maxb/Documents/ProffieOS/props/saber_fett263_buttons.h: In member function 'void SaberFett263Buttons::ToggleBattleMode()':
/home/maxb/Documents/ProffieOS/props/saber_fett263_buttons.h:4606:9: error: 'hybrid_font' was not declared in this scope; did you mean 'HybridFont'?
 4606 |         hybrid_font.PlayCommon(&SFX_bmbegin);
      |         ^~~~~~~~~~~
      |         HybridFont
/home/maxb/Documents/ProffieOS/props/saber_fett263_buttons.h:4608:9: error: 'hybrid_font' was not declared in this scope; did you mean 'HybridFont'?
 4608 |         hybrid_font.DoEffect(EFFECT_FORCE, 0);
      |         ^~~~~~~~~~~
      |         HybridFont
/home/maxb/Documents/ProffieOS/props/saber_fett263_buttons.h:4613:9: error: 'hybrid_font' was not declared in this scope; did you mean 'HybridFont'?
 4613 |         hybrid_font.PlayCommon(&SFX_bmend);
      |         ^~~~~~~~~~~
      |         HybridFont
/home/maxb/Documents/ProffieOS/props/saber_fett263_buttons.h:4615:9: error: 'beeper' was not declared in this scope
 4615 |         beeper.Beep(0.5, 3000);
      |         ^~~~~~
/home/maxb/Documents/ProffieOS/props/saber_fett263_buttons.h: In member function 'void SaberFett263Buttons::ToggleMultiBlast()':
/home/maxb/Documents/ProffieOS/props/saber_fett263_buttons.h:4624:9: error: 'hybrid_font' was not declared in this scope; did you mean 'HybridFont'?
 4624 |         hybrid_font.PlayCommon(&SFX_blstbgn);
      |         ^~~~~~~~~~~
      |         HybridFont
/home/maxb/Documents/ProffieOS/props/saber_fett263_buttons.h:4626:9: error: 'hybrid_font' was not declared in this scope; did you mean 'HybridFont'?
 4626 |         hybrid_font.SB_Effect(EFFECT_BLAST, 0);
      |         ^~~~~~~~~~~
      |         HybridFont
/home/maxb/Documents/ProffieOS/props/saber_fett263_buttons.h:4630:9: error: 'hybrid_font' was not declared in this scope; did you mean 'HybridFont'?
 4630 |         hybrid_font.PlayCommon(&SFX_blstend);
      |         ^~~~~~~~~~~
      |         HybridFont
/home/maxb/Documents/ProffieOS/props/saber_fett263_buttons.h:4632:9: error: 'hybrid_font' was not declared in this scope; did you mean 'HybridFont'?
 4632 |         hybrid_font.SB_Effect(EFFECT_BLAST, 0);
      |         ^~~~~~~~~~~
      |         HybridFont
/home/maxb/Documents/ProffieOS/props/saber_fett263_buttons.h: In member function 'void SaberFett263Buttons::ChangeVolume(int)':
/home/maxb/Documents/ProffieOS/props/saber_fett263_buttons.h:4773:28: error: 'dynamic_mixer' was not declared in this scope
 4773 |     float current_volume = dynamic_mixer.get_volume();
      |                            ^~~~~~~~~~~~~
/home/maxb/Documents/ProffieOS/props/saber_fett263_buttons.h: In member function 'virtual bool SaberFett263Buttons::Event2(BUTTON, EVENT, uint32_t)':
/home/maxb/Documents/ProffieOS/props/saber_fett263_buttons.h:5091:13: error: 'track_player_' was not declared in this scope; did you mean 'TrackPlayer'?
 5091 |         if (track_player_) {
      |             ^~~~~~~~~~~~~
      |             TrackPlayer
/home/maxb/Documents/ProffieOS/props/saber_fett263_buttons.h:5121:9: error: 'hybrid_font' was not declared in this scope; did you mean 'HybridFont'?
 5121 |         hybrid_font.PlayCommon(&SFX_ccchange);
      |         ^~~~~~~~~~~
      |         HybridFont
/home/maxb/Documents/ProffieOS/props/saber_fett263_buttons.h:5792:37: error: base operand of '->' is not a pointer
 5792 |         if (wav_player && wav_player->isPlaying()) {
      |                                     ^~
/home/maxb/Documents/ProffieOS/props/saber_fett263_buttons.h:5813:37: error: base operand of '->' is not a pointer
 5813 |         if (wav_player && wav_player->isPlaying()) {
      |                                     ^~
/home/maxb/Documents/ProffieOS/props/saber_fett263_buttons.h:5835:37: error: base operand of '->' is not a pointer
 5835 |         if (wav_player && wav_player->isPlaying()) {
      |                                     ^~
/home/maxb/Documents/ProffieOS/props/saber_fett263_buttons.h:5846:37: error: base operand of '->' is not a pointer
 5846 |         if (wav_player && wav_player->isPlaying()) {
      |                                     ^~
/home/maxb/Documents/ProffieOS/props/saber_fett263_buttons.h:5868:39: error: base operand of '->' is not a pointer
 5868 |           if (wav_player && wav_player->isPlaying()) {
      |                                       ^~
/home/maxb/Documents/ProffieOS/props/saber_fett263_buttons.h:5897:39: error: base operand of '->' is not a pointer
 5897 |           if (wav_player && wav_player->isPlaying()) {
      |                                       ^~
/home/maxb/Documents/ProffieOS/props/saber_fett263_buttons.h:5925:37: error: base operand of '->' is not a pointer
 5925 |         if (wav_player && wav_player->isPlaying()) {
      |                                     ^~
/home/maxb/Documents/ProffieOS/props/saber_fett263_buttons.h:5958:37: error: base operand of '->' is not a pointer
 5958 |         if (wav_player && wav_player->isPlaying()) {
      |                                     ^~
/home/maxb/Documents/ProffieOS/props/saber_fett263_buttons.h: In member function 'virtual void SaberFett263Buttons::SB_Effect(EffectType, float)':
/home/maxb/Documents/ProffieOS/props/saber_fett263_buttons.h:6336:38: error: 'hybrid_font' was not declared in this scope; did you mean 'HybridFont'?
 6336 |       case EFFECT_INTERACTIVE_BLAST: hybrid_font.PlayCommon(&SFX_blast); return;
      |                                      ^~~~~~~~~~~
      |                                      HybridFont
/home/maxb/Documents/ProffieOS/props/saber_fett263_buttons.h:6369:11: error: 'beeper' was not declared in this scope
 6369 |           beeper.Beep(0.5, 3000);
      |           ^~~~~~

exit status 1

Compilation error: 'BufferedWavPlayer' was not declared in this scope

it crashes on os 8 but the error is above this.