ProffieOS compile error - batteryLevelPin?

I’m getting the following compile error repeatedly when trying to verify in Arduino. Can anyone provide any guidance? I’ve tried a fresh install of Arduino and a fresh download of ProffieOS 7.14 multiple times:

In file included from /Users/tom/Desktop/ProffieOS/ProffieOS.ino:437:
/Users/tom/Desktop/ProffieOS/common/battery_monitor.h: In constructor 'BatteryMonitor::BatteryMonitor()':
/Users/tom/Desktop/ProffieOS/common/battery_monitor.h:10:28: error: 'batteryLevelPin' was not declared in this scope
   10 | BatteryMonitor() : reader_(batteryLevelPin,
      |                            ^~~~~~~~~~~~~~~
/Users/tom/Desktop/ProffieOS/common/battery_monitor.h: In member function 'void BatteryMonitor::SetPinHigh(bool)':
/Users/tom/Desktop/ProffieOS/common/battery_monitor.h:34:15: error: 'batteryLevelPin' was not declared in this scope
   34 |       pinMode(batteryLevelPin, OUTPUT);
      |               ^~~~~~~~~~~~~~~
/Users/tom/Desktop/ProffieOS/common/battery_monitor.h:40:15: error: 'batteryLevelPin' was not declared in this scope
   40 |       pinMode(batteryLevelPin, INPUT_PULLDOWN);
      |               ^~~~~~~~~~~~~~~
/Users/tom/Desktop/ProffieOS/common/battery_monitor.h: In member function 'float BatteryMonitor::battery_now()':
/Users/tom/Desktop/ProffieOS/common/battery_monitor.h:133:20: error: 'BATTERY_PULLUP_OHMS' was not declared in this scope
  133 |     float pullup = BATTERY_PULLUP_OHMS;  // External pullup
      |                    ^~~~~~~~~~~~~~~~~~~
In file included from /Users/tom/Desktop/ProffieOS/styles/random_blink.h:15,
                 from /Users/tom/Desktop/ProffieOS/ProffieOS.ino:497:
/Users/tom/Desktop/ProffieOS/functions/random_blink.h: At global scope:
/Users/tom/Desktop/ProffieOS/functions/random_blink.h:28:25: error: 'maxLedsPerStrip' was not declared in this scope
   28 |   unsigned short bits_[(maxLedsPerStrip + 15)/ 16];
      |                         ^~~~~~~~~~~~~~~
/Users/tom/Desktop/ProffieOS/functions/random_blink.h: In member function 'void RandomBlinkF<MILLIHZ>::run(BladeBase*)':
/Users/tom/Desktop/ProffieOS/functions/random_blink.h:19:43: error: 'bits_' was not declared in this scope; did you mean 'bit'?
   19 |       for (size_t i = 0; i < shorts; i++) bits_[i] = rand();
      |                                           ^~~~~
      |                                           bit
/Users/tom/Desktop/ProffieOS/functions/random_blink.h: In member function 'int RandomBlinkF<MILLIHZ>::getInteger(int)':
/Users/tom/Desktop/ProffieOS/functions/random_blink.h:23:13: error: 'bits_' was not declared in this scope; did you mean 'bit'?
   23 |     return (bits_[led>>4] >> (led & 0xf) & 1) * 32768;
      |             ^~~~~
      |             bit
In file included from /Users/tom/Desktop/ProffieOS/transitions/doeffect.h:5,
                 from /Users/tom/Desktop/ProffieOS/ProffieOS.ino:570:
/Users/tom/Desktop/ProffieOS/sound/hybrid_font.h: At global scope:
/Users/tom/Desktop/ProffieOS/sound/hybrid_font.h:268:10: error: 'BufferedWavPlayer' was not declared in this scope
  268 |   RefPtr<BufferedWavPlayer> hum_player_;
      |          ^~~~~~~~~~~~~~~~~
/Users/tom/Desktop/ProffieOS/sound/hybrid_font.h:268:27: error: template argument 1 is invalid
  268 |   RefPtr<BufferedWavPlayer> hum_player_;
      |                           ^
/Users/tom/Desktop/ProffieOS/sound/hybrid_font.h:269:10: error: 'BufferedWavPlayer' was not declared in this scope
  269 |   RefPtr<BufferedWavPlayer> next_hum_player_;
      |          ^~~~~~~~~~~~~~~~~
/Users/tom/Desktop/ProffieOS/sound/hybrid_font.h:269:27: error: template argument 1 is invalid
  269 |   RefPtr<BufferedWavPlayer> next_hum_player_;
      |                           ^
/Users/tom/Desktop/ProffieOS/sound/hybrid_font.h:270:10: error: 'BufferedWavPlayer' was not declared in this scope
  270 |   RefPtr<BufferedWavPlayer> swing_player_;
      |          ^~~~~~~~~~~~~~~~~
/Users/tom/Desktop/ProffieOS/sound/hybrid_font.h:270:27: error: template argument 1 is invalid
  270 |   RefPtr<BufferedWavPlayer> swing_player_;
      |                           ^
/Users/tom/Desktop/ProffieOS/sound/hybrid_font.h:271:10: error: 'BufferedWavPlayer' was not declared in this scope
  271 |   RefPtr<BufferedWavPlayer> lock_player_;
      |          ^~~~~~~~~~~~~~~~~
/Users/tom/Desktop/ProffieOS/sound/hybrid_font.h:271:27: error: template argument 1 is invalid
  271 |   RefPtr<BufferedWavPlayer> lock_player_;
      |                           ^
/Users/tom/Desktop/ProffieOS/sound/hybrid_font.h:310:10: error: 'BufferedWavPlayer' was not declared in this scope
  310 |   RefPtr<BufferedWavPlayer> PlayPolyphonic(const Effect::FileID& f)  {
      |          ^~~~~~~~~~~~~~~~~
/Users/tom/Desktop/ProffieOS/sound/hybrid_font.h:310:27: error: template argument 1 is invalid
  310 |   RefPtr<BufferedWavPlayer> PlayPolyphonic(const Effect::FileID& f)  {
      |                           ^
/Users/tom/Desktop/ProffieOS/sound/hybrid_font.h:323:10: error: 'BufferedWavPlayer' was not declared in this scope
  323 |   RefPtr<BufferedWavPlayer> PlayPolyphonic(Effect* f)  {
      |          ^~~~~~~~~~~~~~~~~
/Users/tom/Desktop/ProffieOS/sound/hybrid_font.h:323:27: error: template argument 1 is invalid
  323 |   RefPtr<BufferedWavPlayer> PlayPolyphonic(Effect* f)  {
      |                           ^
/Users/tom/Desktop/ProffieOS/sound/hybrid_font.h:464:33: error: 'BufferedWavPlayer' was not declared in this scope
  464 |   Effect::FileID getNext(RefPtr<BufferedWavPlayer> previous, Effect* next) {
      |                                 ^~~~~~~~~~~~~~~~~
/Users/tom/Desktop/ProffieOS/sound/hybrid_font.h:464:50: error: template argument 1 is invalid
  464 |   Effect::FileID getNext(RefPtr<BufferedWavPlayer> previous, Effect* next) {
      |                                                  ^
/Users/tom/Desktop/ProffieOS/sound/hybrid_font.h: In member function 'void HybridFont::Activate()':
/Users/tom/Desktop/ProffieOS/sound/hybrid_font.h:202:5: error: 'SetupStandardAudio' was not declared in this scope
  202 |     SetupStandardAudio();
      |     ^~~~~~~~~~~~~~~~~~
/Users/tom/Desktop/ProffieOS/sound/hybrid_font.h: In member function 'void HybridFont::Deactivate()':
/Users/tom/Desktop/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();
      |                  ^~~~
/Users/tom/Desktop/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();
      |                 ^~~~
/Users/tom/Desktop/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();
      |                      ^~~~
/Users/tom/Desktop/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();
      |                   ^~~~
/Users/tom/Desktop/ProffieOS/sound/hybrid_font.h: In member function 'void HybridFont::PlayMonophonic(const Effect::FileID&, Effect*, float)':
/Users/tom/Desktop/ProffieOS/sound/hybrid_font.h:276:26: error: 'GetFreeWavPlayer' was not declared in this scope
  276 |       next_hum_player_ = GetFreeWavPlayer();
      |                          ^~~~~~~~~~~~~~~~
/Users/tom/Desktop/ProffieOS/sound/hybrid_font.h:283:18: error: base operand of '->' is not a pointer
  283 |       hum_player_->set_fade_time(xfade);
      |                  ^~
/Users/tom/Desktop/ProffieOS/sound/hybrid_font.h:284:18: error: base operand of '->' is not a pointer
  284 |       hum_player_->FadeAndStop();
      |                  ^~
/Users/tom/Desktop/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();
      |                   ^~~~
/Users/tom/Desktop/ProffieOS/sound/hybrid_font.h:286:23: error: base operand of '->' is not a pointer
  286 |       next_hum_player_->set_volume_now(0);
      |                       ^~
/Users/tom/Desktop/ProffieOS/sound/hybrid_font.h:287:23: error: base operand of '->' is not a pointer
  287 |       next_hum_player_->set_fade_time(xfade);
      |                       ^~
/Users/tom/Desktop/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);
      |                       ^~
/Users/tom/Desktop/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);
      |                       ^~
/Users/tom/Desktop/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();
      |                      ^~~~
/Users/tom/Desktop/ProffieOS/sound/hybrid_font.h:294:16: error: base operand of '->' is not a pointer
  294 |     hum_player_->PlayOnce(f);
      |                ^~
/Users/tom/Desktop/ProffieOS/sound/hybrid_font.h:295:41: error: base operand of '->' is not a pointer
  295 |     current_effect_length_ = hum_player_->length();
      |                                         ^~
/Users/tom/Desktop/ProffieOS/sound/hybrid_font.h:296:26: error: base operand of '->' is not a pointer
  296 |     if (loop) hum_player_->PlayLoop(loop);
      |                          ^~
/Users/tom/Desktop/ProffieOS/sound/hybrid_font.h: In member function 'void HybridFont::RestartHum()':
/Users/tom/Desktop/ProffieOS/sound/hybrid_font.h:305:35: error: base operand of '->' is not a pointer
  305 |     if (hum_player_ && hum_player_->isPlaying()) {
      |                                   ^~
/Users/tom/Desktop/ProffieOS/sound/hybrid_font.h: In member function 'int HybridFont::PlayPolyphonic(const Effect::FileID&)':
/Users/tom/Desktop/ProffieOS/sound/hybrid_font.h:312:27: error: 'BufferedWavPlayer' was not declared in this scope
  312 |     if (!f) return RefPtr<BufferedWavPlayer>(nullptr);
      |                           ^~~~~~~~~~~~~~~~~
/Users/tom/Desktop/ProffieOS/sound/hybrid_font.h:312:44: error: template argument 1 is invalid
  312 |     if (!f) return RefPtr<BufferedWavPlayer>(nullptr);
      |                                            ^
/Users/tom/Desktop/ProffieOS/sound/hybrid_font.h:313:12: error: 'BufferedWavPlayer' was not declared in this scope
  313 |     RefPtr<BufferedWavPlayer> player = GetOrFreeWavPlayer(f.GetEffect());
      |            ^~~~~~~~~~~~~~~~~
/Users/tom/Desktop/ProffieOS/sound/hybrid_font.h:313:29: error: template argument 1 is invalid
  313 |     RefPtr<BufferedWavPlayer> player = GetOrFreeWavPlayer(f.GetEffect());
      |                             ^
/Users/tom/Desktop/ProffieOS/sound/hybrid_font.h:313:40: error: 'GetOrFreeWavPlayer' was not declared in this scope
  313 |     RefPtr<BufferedWavPlayer> player = GetOrFreeWavPlayer(f.GetEffect());
      |                                        ^~~~~~~~~~~~~~~~~~
/Users/tom/Desktop/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);
      |             ^~
/Users/tom/Desktop/ProffieOS/sound/hybrid_font.h:316:13: error: base operand of '->' is not a pointer
  316 |       player->PlayOnce(f);
      |             ^~
/Users/tom/Desktop/ProffieOS/sound/hybrid_font.h:317:38: error: base operand of '->' is not a pointer
  317 |       current_effect_length_ = player->length();
      |                                      ^~
/Users/tom/Desktop/ProffieOS/sound/hybrid_font.h: In member function 'virtual void HybridFont::StartSwing(const Vec3&, float, float)':
/Users/tom/Desktop/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) {
      |                            ^~
/Users/tom/Desktop/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) {
      |                                                   ^~
/Users/tom/Desktop/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());
      |                          ^~
/Users/tom/Desktop/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());
      |                                                       ^~
/Users/tom/Desktop/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());
      |                                                                                 ^~
/Users/tom/Desktop/ProffieOS/sound/hybrid_font.h:364:26: error: base operand of '->' is not a pointer
  364 |             swing_player_->FadeAndStop();
      |                          ^~
/Users/tom/Desktop/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();
      |                           ^~~~
/Users/tom/Desktop/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();
      |                     ^~~~
/Users/tom/Desktop/ProffieOS/sound/hybrid_font.h: In member function 'virtual float HybridFont::SetSwingVolume(float, float)':
/Users/tom/Desktop/ProffieOS/sound/hybrid_font.h:427:24: error: base operand of '->' is not a pointer
  427 |       if (swing_player_->isPlaying()) {
      |                        ^~
/Users/tom/Desktop/ProffieOS/sound/hybrid_font.h:430:22: error: base operand of '->' is not a pointer
  430 |         swing_player_->set_fade_time(0.04);
      |                      ^~
/Users/tom/Desktop/ProffieOS/sound/hybrid_font.h:431:22: error: base operand of '->' is not a pointer
  431 |         swing_player_->set_volume(accent_volume);
      |                      ^~
/Users/tom/Desktop/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();
      |                       ^~~~
/Users/tom/Desktop/ProffieOS/sound/hybrid_font.h: In member function 'void HybridFont::SB_Preon()':
/Users/tom/Desktop/ProffieOS/sound/hybrid_font.h:453:14: error: 'BufferedWavPlayer' was not declared in this scope
  453 |       RefPtr<BufferedWavPlayer> tmp = PlayPolyphonic(&SFX_preon);
      |              ^~~~~~~~~~~~~~~~~
/Users/tom/Desktop/ProffieOS/sound/hybrid_font.h:453:31: error: template argument 1 is invalid
  453 |       RefPtr<BufferedWavPlayer> tmp = PlayPolyphonic(&SFX_preon);
      |                               ^
/Users/tom/Desktop/ProffieOS/sound/hybrid_font.h: In member function 'Effect::FileID HybridFont::getNext(int, Effect*)':
/Users/tom/Desktop/ProffieOS/sound/hybrid_font.h:466:22: error: base operand of '->' is not a pointer
  466 |       return previous->current_file_id().GetFollowing(next);
      |                      ^~
/Users/tom/Desktop/ProffieOS/sound/hybrid_font.h: In member function 'void HybridFont::SB_Postoff()':
/Users/tom/Desktop/ProffieOS/sound/hybrid_font.h:475:12: error: 'BufferedWavPlayer' was not declared in this scope
  475 |     RefPtr<BufferedWavPlayer> tmp = GetWavPlayerPlaying(&SFX_pstoff);
      |            ^~~~~~~~~~~~~~~~~
/Users/tom/Desktop/ProffieOS/sound/hybrid_font.h:475:29: error: template argument 1 is invalid
  475 |     RefPtr<BufferedWavPlayer> tmp = GetWavPlayerPlaying(&SFX_pstoff);
      |                             ^
/Users/tom/Desktop/ProffieOS/sound/hybrid_font.h:475:37: error: 'GetWavPlayerPlaying' was not declared in this scope
  475 |     RefPtr<BufferedWavPlayer> tmp = GetWavPlayerPlaying(&SFX_pstoff);
      |                                     ^~~~~~~~~~~~~~~~~~~
/Users/tom/Desktop/ProffieOS/sound/hybrid_font.h:477:10: error: base operand of '->' is not a pointer
  477 |       tmp->UpdateSaberBaseSoundInfo();
      |          ^~
/Users/tom/Desktop/ProffieOS/sound/hybrid_font.h: In member function 'virtual void HybridFont::SB_On()':
/Users/tom/Desktop/ProffieOS/sound/hybrid_font.h:494:22: error: 'GetFreeWavPlayer' was not declared in this scope
  494 |        hum_player_ = GetFreeWavPlayer();
      |                      ^~~~~~~~~~~~~~~~
/Users/tom/Desktop/ProffieOS/sound/hybrid_font.h:496:21: error: base operand of '->' is not a pointer
  496 |          hum_player_->set_volume_now(0);
      |                     ^~
/Users/tom/Desktop/ProffieOS/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));
      |               ^~
/Users/tom/Desktop/ProffieOS/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));
      |                                  ^~~~~~~~~~~~~~~~~~~
/Users/tom/Desktop/ProffieOS/sound/hybrid_font.h:498:21: error: base operand of '->' is not a pointer
  498 |          hum_player_->PlayLoop(SFX_humm ? &SFX_humm : &SFX_hum);
      |                     ^~
/Users/tom/Desktop/ProffieOS/sound/hybrid_font.h:502:14: error: 'BufferedWavPlayer' was not declared in this scope
  502 |       RefPtr<BufferedWavPlayer> tmp;
      |              ^~~~~~~~~~~~~~~~~
/Users/tom/Desktop/ProffieOS/sound/hybrid_font.h:502:31: error: template argument 1 is invalid
  502 |       RefPtr<BufferedWavPlayer> tmp;
      |                               ^
/Users/tom/Desktop/ProffieOS/sound/hybrid_font.h:504:15: error: 'GetWavPlayerPlaying' was not declared in this scope
  504 |         tmp = GetWavPlayerPlaying(getOut());
      |               ^~~~~~~~~~~~~~~~~~~
/Users/tom/Desktop/ProffieOS/sound/hybrid_font.h:507:13: error: base operand of '->' is not a pointer
  507 |          tmp->UpdateSaberBaseSoundInfo();
      |             ^~
/Users/tom/Desktop/ProffieOS/sound/hybrid_font.h:516:27: error: base operand of '->' is not a pointer
  516 |         hum_fade_in_ = tmp->length();
      |                           ^~
/Users/tom/Desktop/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;
      |                                  ^~
/Users/tom/Desktop/ProffieOS/sound/hybrid_font.h: In member function 'virtual void HybridFont::SB_Off(SaberBase::OffType)':
/Users/tom/Desktop/ProffieOS/sound/hybrid_font.h:564:24: error: base operand of '->' is not a pointer
  564 |             hum_player_->set_fade_time(0.2);
      |                        ^~
/Users/tom/Desktop/ProffieOS/sound/hybrid_font.h:565:24: error: base operand of '->' is not a pointer
  565 |             hum_player_->FadeAndStop();
      |                        ^~
/Users/tom/Desktop/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();
      |                         ^~~~
/Users/tom/Desktop/ProffieOS/sound/hybrid_font.h: In member function 'virtual void HybridFont::SB_BladeDetect(bool)':
/Users/tom/Desktop/ProffieOS/sound/hybrid_font.h:634:5: error: 'beeper' was not declared in this scope
  634 |     beeper.Beep(0.05, 2000.0);
      |     ^~~~~~
/Users/tom/Desktop/ProffieOS/sound/hybrid_font.h: In member function 'void HybridFont::SB_NewFont()':
/Users/tom/Desktop/ProffieOS/sound/hybrid_font.h:638:7: error: 'beeper' was not declared in this scope
  638 |       beeper.Beep(0.05, 2000.0);
      |       ^~~~~~
/Users/tom/Desktop/ProffieOS/sound/hybrid_font.h: In member function 'virtual void HybridFont::SB_Change(SaberBase::ChangeType)':
/Users/tom/Desktop/ProffieOS/sound/hybrid_font.h:645:11: error: 'beeper' was not declared in this scope
  645 |           beeper.Beep(0.20, 1000.0);
      |           ^~~~~~
/Users/tom/Desktop/ProffieOS/sound/hybrid_font.h:652:11: error: 'beeper' was not declared in this scope
  652 |           beeper.Beep(0.20, 2000.0);
      |           ^~~~~~
/Users/tom/Desktop/ProffieOS/sound/hybrid_font.h:659:11: error: 'beeper' was not declared in this scope
  659 |           beeper.Beep(0.05, 2000.0);
      |           ^~~~~~
/Users/tom/Desktop/ProffieOS/sound/hybrid_font.h: In member function 'void HybridFont::SB_BeginLockup()':
/Users/tom/Desktop/ProffieOS/sound/hybrid_font.h:708:39: error: base operand of '->' is not a pointer
  708 |         if (lock_player_) lock_player_->PlayLoop(loop);
      |                                       ^~
/Users/tom/Desktop/ProffieOS/sound/hybrid_font.h: In member function 'void HybridFont::SB_EndLockup()':
/Users/tom/Desktop/ProffieOS/sound/hybrid_font.h:745:19: error: base operand of '->' is not a pointer
  745 |       lock_player_->set_fade_time(0.3);
      |                   ^~
/Users/tom/Desktop/ProffieOS/sound/hybrid_font.h:749:23: error: base operand of '->' is not a pointer
  749 |           lock_player_->set_fade_time(0.003);
      |                       ^~
/Users/tom/Desktop/ProffieOS/sound/hybrid_font.h:753:19: error: base operand of '->' is not a pointer
  753 |       lock_player_->FadeAndStop();
      |                   ^~
/Users/tom/Desktop/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();
      |                    ^~~~
/Users/tom/Desktop/ProffieOS/sound/hybrid_font.h: In member function 'virtual void HybridFont::SetHumVolume(float)':
/Users/tom/Desktop/ProffieOS/sound/hybrid_font.h:766:23: error: 'GetFreeWavPlayer' was not declared in this scope
  766 |         hum_player_ = GetFreeWavPlayer();
      |                       ^~~~~~~~~~~~~~~~
/Users/tom/Desktop/ProffieOS/sound/hybrid_font.h:768:22: error: base operand of '->' is not a pointer
  768 |           hum_player_->set_volume_now(0);
      |                      ^~
/Users/tom/Desktop/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);
      |                      ^~
/Users/tom/Desktop/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);
      |                      ^~
/Users/tom/Desktop/ProffieOS/sound/hybrid_font.h:805:24: error: base operand of '->' is not a pointer
  805 |             hum_player_->FadeAndStop();
      |                        ^~
/Users/tom/Desktop/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();
      |                         ^~~~
/Users/tom/Desktop/ProffieOS/sound/hybrid_font.h:816:16: error: base operand of '->' is not a pointer
  816 |     hum_player_->set_volume(vol);
      |                ^~
/Users/tom/Desktop/ProffieOS/sound/hybrid_font.h: In member function 'virtual void HybridFont::Loop()':
/Users/tom/Desktop/ProffieOS/sound/hybrid_font.h:822:12: error: 'GetWavPlayerPlaying' was not declared in this scope
  822 |       if (!GetWavPlayerPlaying(&SFX_preon)) {
      |            ^~~~~~~~~~~~~~~~~~~
/Users/tom/Desktop/ProffieOS/sound/hybrid_font.h:828:12: error: 'GetWavPlayerPlaying' was not declared in this scope
  828 |       if (!GetWavPlayerPlaying(&SFX_in) &&
      |            ^~~~~~~~~~~~~~~~~~~
In file included from /Users/tom/Desktop/ProffieOS/ProffieOS.ino:585:
/Users/tom/Desktop/ProffieOS/blades/simple_blade.h: At global scope:
/Users/tom/Desktop/ProffieOS/blades/simple_blade.h:274:22: error: 'bladePowerPin1' was not declared in this scope
  274 |           int pin1 = bladePowerPin1,
      |                      ^~~~~~~~~~~~~~
/Users/tom/Desktop/ProffieOS/blades/simple_blade.h:275:22: error: 'bladePowerPin2' was not declared in this scope
  275 |           int pin2 = bladePowerPin2,
      |                      ^~~~~~~~~~~~~~
/Users/tom/Desktop/ProffieOS/blades/simple_blade.h:276:22: error: 'bladePowerPin3' was not declared in this scope
  276 |           int pin3 = bladePowerPin3,
      |                      ^~~~~~~~~~~~~~
/Users/tom/Desktop/ProffieOS/blades/simple_blade.h:277:22: error: 'bladePin' was not declared in this scope
  277 |           int pin4 = bladePin>
      |                      ^~~~~~~~
In file included from /Users/tom/Desktop/ProffieOS/ProffieOS.ino:595:
/Users/tom/Desktop/ProffieOS/styles/style_parser.h: In member function 'virtual bool StyleParser::Parse(const char*, const char*)':
/Users/tom/Desktop/ProffieOS/styles/style_parser.h:379:26: error: 'NUM_BLADES' was not declared in this scope; did you mean 'NO_BLADE'?
  379 |  for (size_t j = 1; j <= NUM_BLADES; j++) {
      |                          ^~~~~~~~~~
      |                          NO_BLADE
In file included from /Users/tom/Desktop/ProffieOS/props/saber.h:30,
                 from /Users/tom/Desktop/ProffieOS/ProffieOS.ino:629:
/Users/tom/Desktop/ProffieOS/props/prop_base.h: In member function 'float PropBase::GetCurrentClashThreshold()':
/Users/tom/Desktop/ProffieOS/props/prop_base.h:235:45: error: 'CLASH_THRESHOLD_G' was not declared in this scope
  235 |   float GetCurrentClashThreshold() { return CLASH_THRESHOLD_G; }
      |                                             ^~~~~~~~~~~~~~~~~
In file included from /Users/tom/Desktop/ProffieOS/ProffieOS.ino:590:
/Users/tom/Desktop/ProffieOS/props/prop_base.h: In member function 'float PropBase::id()':
/Users/tom/Desktop/ProffieOS/blades/blade_id.h:106:40: error: 'bladeIdentifyPin' was not declared in this scope
  106 | #define BLADE_ID_CLASS SnapshotBladeID<bladeIdentifyPin>
      |                                        ^~~~~~~~~~~~~~~~
/Users/tom/Desktop/ProffieOS/blades/blade_id.h:116:25: note: in expansion of macro 'BLADE_ID_CLASS'
  116 | #define BLADE_ID_CLASS2 BLADE_ID_CLASS
      |                         ^~~~~~~~~~~~~~
/Users/tom/Desktop/ProffieOS/blades/blade_id.h:122:33: note: in expansion of macro 'BLADE_ID_CLASS2'
  122 | #define BLADE_ID_CLASS_INTERNAL BLADE_ID_CLASS2
      |                                 ^~~~~~~~~~~~~~~
/Users/tom/Desktop/ProffieOS/props/prop_base.h:548:5: note: in expansion of macro 'BLADE_ID_CLASS_INTERNAL'
  548 |     BLADE_ID_CLASS_INTERNAL blade_id;
      |     ^~~~~~~~~~~~~~~~~~~~~~~
/Users/tom/Desktop/ProffieOS/blades/blade_id.h:106:56: error: template argument 1 is invalid
  106 | #define BLADE_ID_CLASS SnapshotBladeID<bladeIdentifyPin>
      |                                                        ^
/Users/tom/Desktop/ProffieOS/blades/blade_id.h:116:25: note: in expansion of macro 'BLADE_ID_CLASS'
  116 | #define BLADE_ID_CLASS2 BLADE_ID_CLASS
      |                         ^~~~~~~~~~~~~~
/Users/tom/Desktop/ProffieOS/blades/blade_id.h:122:33: note: in expansion of macro 'BLADE_ID_CLASS2'
  122 | #define BLADE_ID_CLASS_INTERNAL BLADE_ID_CLASS2
      |                                 ^~~~~~~~~~~~~~~
/Users/tom/Desktop/ProffieOS/props/prop_base.h:548:5: note: in expansion of macro 'BLADE_ID_CLASS_INTERNAL'
  548 |     BLADE_ID_CLASS_INTERNAL blade_id;
      |     ^~~~~~~~~~~~~~~~~~~~~~~
In file included from /Users/tom/Desktop/ProffieOS/props/saber.h:30,
                 from /Users/tom/Desktop/ProffieOS/ProffieOS.ino:629:
/Users/tom/Desktop/ProffieOS/props/prop_base.h:549:26: error: request for member 'id' in 'blade_id', which is of non-class type 'int'
  549 |     float ret = blade_id.id();
      |                          ^~
In file included from /Users/tom/Desktop/ProffieOS/ProffieOS.ino:240:
/Users/tom/Desktop/ProffieOS/props/prop_base.h: In member function 'size_t PropBase::FindBestConfig()':
/Users/tom/Desktop/ProffieOS/props/prop_base.h:567:25: error: 'blades' was not declared in this scope
  567 |     static_assert(NELEM(blades) > 0, "blades array cannot be empty");
      |                         ^~~~~~
/Users/tom/Desktop/ProffieOS/common/common.h:18:26: note: in definition of macro 'NELEM'
   18 | #define NELEM(X) (sizeof(X)/sizeof((X)[0]))
      |                          ^
In file included from /Users/tom/Desktop/ProffieOS/props/saber.h:30,
                 from /Users/tom/Desktop/ProffieOS/ProffieOS.ino:629:
/Users/tom/Desktop/ProffieOS/props/prop_base.h: In member function 'void PropBase::FindBlade()':
/Users/tom/Desktop/ProffieOS/props/prop_base.h:622:22: error: 'blades' was not declared in this scope
  622 |     current_config = blades + best_config;
      |                      ^~~~~~
In file included from /Users/tom/Desktop/ProffieOS/props/saber.h:30,
                 from /Users/tom/Desktop/ProffieOS/ProffieOS.ino:629:
/Users/tom/Desktop/ProffieOS/props/prop_base.h: In member function 'virtual void PropBase::DoAccel(const Vec3&, bool)':
/Users/tom/Desktop/ProffieOS/props/prop_base.h:788:14: error: 'CLASH_THRESHOLD_G' was not declared in this scope
  788 |     if (v > (CLASH_THRESHOLD_G + fusor.gyro().len() / 200.0)
      |              ^~~~~~~~~~~~~~~~~
/Users/tom/Desktop/ProffieOS/ProffieOS.ino: In function 'void setup()':
/Users/tom/Desktop/ProffieOS/ProffieOS.ino:1473:44: error: 'batteryLevelPin' was not declared in this scope; did you mean 'BatteryLevel'?
 1473 |     srand((rand() * 917823) ^ LSAnalogRead(batteryLevelPin));
      |                                            ^~~~~~~~~~~~~~~
      |                                            BatteryLevel

exit status 1

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

My config is below:

// ProffieOS7 Config File
#ifdef CONFIG_TOP
#include "proffieboard_v2_config.h"
#define NUM_BLADES 4
#define NUM_BUTTONS 2
const unsigned int maxLedsPerStrip = 144;
#define EXTRA_COLOR_BUFFER_SPACE 60
#define VOLUME 1800
#define CLASH_THRESHOLD_G 3
#define ENABLE_AUDIO
#define ENABLE_MOTION
#define ENABLE_WS2811
#define ENABLE_SD
#define FILTER_CUTOFF_FREQUENCY 100
#define FILTER_ORDER 8
#define MOTION_TIMEOUT 60 * 5 * 1000
#define IDLE_OFF_TIME 60 * 5 * 1000
#define DISABLE_BASIC_PARSER_STYLES
#define DISABLE_DIAGNOSTIC_COMMANDS
#define ENABLE_ALL_EDIT_OPTIONS
#define NO_REPEAT_RANDOM
#define FETT263_EDIT_MODE_MENU
#define FETT263_SPIN_MODE
#define FETT263_SAY_COLOR_LIST
#define FETT263_SAY_COLOR_LIST_CC
#define FETT263_SAY_BATTERY_PERCENT
#define FETT263_MOTION_WAKE_POWER_BUTTON
#define FETT263_QUOTE_PLAYER_START_ON
#define FETT263_RANDOMIZE_QUOTE_PLAYER
#define FETT263_LOCKUP_DELAY 200
#define FETT263_BM_CLASH_DETECT 6
#define FETT263_TWIST_ON
#define FETT263_TWIST_OFF
#define FETT263_FORCE_PUSH
#define FETT263_FORCE_PUSH_LENGTH 5
#endif

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


#ifdef CONFIG_PRESETS

Preset presets[] = {
{ "Menace;common",  "Menace/tracks/track1.wav",
StylePtr<MaulTPM>(""),

StylePtr<OuterPixel>(""),

StylePtr<InnerPixel>(""),

StylePtr<CrystalPixel>(""),

"preset0"
},

{ "CWFinal;common",  "CWFinal/tracks/track1.wav",
StylePtr<MaulAnimated>(""),

StylePtr<OuterPixel>(""),

StylePtr<InnerPixel>(""),

StylePtr<CrystalPixel>(""),

"preset1"
},

{ "Menace4;common",  "Menace4/tracks/track1.wav",
StylePtr<MaulAnimated>(""),

StylePtr<OuterPixel>(""),

StylePtr<InnerPixel>(""),

StylePtr<CrystalPixel>(""),

"preset2"
},

{ "Maul5;common",  "Maul5/tracks/track1.wav",
StylePtr<MaulAnimated>(""),

StylePtr<OuterPixel>(""),

StylePtr<InnerPixel>(""),

StylePtr<CrystalPixel>(""),

"preset3"
},

{ "Menace7;common",  "menace7/tracks/track1.wav",
StylePtr<MaulAnimated>(""),

StylePtr<OuterPixel>(""),

StylePtr<InnerPixel>(""),

StylePtr<CrystalPixel>(""),

"preset4"
},

{ "Phantom;common",  "Phantom/tracks/track1.wav",
StylePtr<MaulTPM>(""),

StylePtr<OuterPixel>(""),

StylePtr<InnerPixel>(""),

StylePtr<CrystalPixel>(""),

"preset5"
},

{ "Shadow;common",  "font6/tracks/track1.wav",
StylePtr<MaulAnimated>(""),

StylePtr<OuterPixel>(""),

StylePtr<InnerPixel>(""),

StylePtr<CrystalPixel>(""),

"preset6"
},

};

BladeConfig blades[] = {
 { 0,
    WS281XBladePtr<136, bladePin, Color8::GRB, PowerPINS<bladePowerPin2, bladePowerPin3> >(),
    WS281XBladePtr<1, blade2Pin, Color8::GRB, PowerPINS<bladePowerPin4> >(),
    WS281XBladePtr<1, blade3Pin, Color8::GRB, PowerPINS<bladePowerPin5> >(),
    WS281XBladePtr<1, blade4Pin, Color8::GRB, PowerPINS<bladePowerPin6> >(),
     CONFIGARRAY(presets) },
  };
#endif

#ifdef CONFIG_BUTTONS
Button PowerButton(BUTTON_POWER, powerButtonPin, "pow");
Button AuxButton(BUTTON_AUX, auxPin, "aux");
#endif
#ifdef CONFIG_STYLES

/*--------------------------------- MaulAnimated---------------------------------*/
using MaulAnimated = 
/* copyright Fett263 Rotoscope (Primary Blade) OS7 Style
https://www.fett263.com/fett263-proffieOS7-style-library.html#Rotoscope
OS7.14 v2.242p
Single Style
Base Style: Hyper Responsive Rotoscope (Prequels)

Base Color: BaseColorArg (0)

--Effects Included--
Ignition Effect: Standard Ignition [Color: IgnitionColorArg]
Retraction Effect: Standard Retraction [Color: RetractionColorArg]
Lockup Effect:
0: mainLockMulti0Shape - Begin: Real Clash - Style: Intensity AudioFlicker - End: Full Blade Absorb
[Color: LockupColorArg]
Lightning Block Effect:
0: mainLBMulti0Shape - Begin: Responsive Impact - Style: Strobing AudioFlicker - End: Localized Absorb
[Color: LBColorArg]
Drag Effect:
0: mainDragMulti0Shape - Begin: Wipe In - Style: Intensity Sparking Drag - End: Wipe Out
[Color: DragColorArg]
Melt Effect:
0: mainMeltMulti0Shape - Begin: Wipe In - Style: Intensity Melt - End: Wipe Out
[Color: StabColorArg]
Stab Effect: AudioFlicker Stab [Color: StabColorArg]
Blast Effect (Randomly Selected): Responsive Blast Wave (Sound Based), Responsive Blast Fade (Sound Based), Full Blade Blast Fade, Responsive Blast Wave (Random), Responsive Blast Ripple Fade [Color: BlastColorArg]
Clash Effect: Real Clash V1 [Color: ClashColorArg]
Battery Level: % Blade (Green to Red)
Display Volume: % Blade [Color: AltColorArg]
Battery Monitor: Passive Battery Monitor (Change Preset)
Power Save: 50% Toggle
*/
Layers<Mix<HoldPeakF<SwingSpeed<250>,Scale<SwingAcceleration<100>,Int<50>,Int<500>>,Scale<SwingAcceleration<>,Int<20000>,Int<10000>>>,RandomFlicker<StripesX<Int<24000>,Scale<HoldPeakF<SwingSpeed<200>,Scale<SwingAcceleration<100>,Int<50>,Int<300>>,Scale<SwingAcceleration<100>,Int<24000>,Int<16000>>>,Int<-1400>,Int<-100>>,RgbArg<BASE_COLOR_ARG,Rgb<255,0,0>>,RgbArg<BASE_COLOR_ARG,Rgb<255,0,0>>,Mix<Int<7710>,Black,RgbArg<BASE_COLOR_ARG,Rgb<255,0,0>>>,RgbArg<BASE_COLOR_ARG,Rgb<255,0,0>>,Mix<Int<19276>,Black,RgbArg<BASE_COLOR_ARG,Rgb<255,0,0>>>>,RgbArg<BASE_COLOR_ARG,Rgb<255,0,0>>>,RgbArg<BASE_COLOR_ARG,Rgb<255,0,0>>>,TransitionEffectL<TrConcat<TrJoin<TrDelayX<WavLen<>>,TrWipeIn<200>>,AlphaL<AudioFlickerL<RgbArg<STAB_COLOR_ARG,Rgb<255,97,0>>>,SmoothStep<IntArg<MELT_SIZE_ARG,28000>,Int<2000>>>,TrWipe<200>>,EFFECT_STAB>,TransitionEffectL<TrRandom<TrWaveX<RgbArg<BLAST_COLOR_ARG,Rgb<255,199,119>>,Scale<WavLen<>,Int<100>,Int<400>>,Int<100>,Scale<WavLen<>,Int<100>,Int<400>>,Scale<BladeAngle<>,Int<28000>,Int<8000>>>,TrConcat<TrInstant,AlphaMixL<Bump<Scale<BladeAngle<>,Int<28000>,Int<8000>>,Scale<WavLen<>,Int<9000>,Int<13000>>>,RgbArg<BLAST_COLOR_ARG,Rgb<255,199,119>>,Mix<Int<16384>,Black,RgbArg<BLAST_COLOR_ARG,Rgb<255,199,119>>>>,TrFade<300>>,TrConcat<TrJoin<TrDelay<30>,TrInstant>,RgbArg<BLAST_COLOR_ARG,Rgb<255,199,119>>,TrFade<300>>,TrWaveX<RgbArg<BLAST_COLOR_ARG,Rgb<255,199,119>>,Scale<EffectPosition<EFFECT_BLAST>,Int<100>,Int<400>>,Int<100>,Scale<EffectPosition<EFFECT_BLAST>,Int<100>,Int<400>>,Scale<BladeAngle<>,Int<28000>,Int<8000>>>,TrConcat<TrInstant,AlphaL<RgbArg<BLAST_COLOR_ARG,Rgb<255,199,119>>,Bump<Scale<BladeAngle<>,Int<3000>,Int<29000>>,Int<6000>>>,TrCenterWipeX<Int<100>,Scale<BladeAngle<>,Int<3000>,Int<29000>>>,AlphaL<Remap<CenterDistF<Scale<BladeAngle<>,Int<3000>,Int<29000>>>,Stripes<1600,-2000,RgbArg<BLAST_COLOR_ARG,Rgb<255,199,119>>,Mix<Int<2096>,Black,RgbArg<BLAST_COLOR_ARG,Rgb<255,199,119>>>>>,Bump<Scale<BladeAngle<>,Int<3000>,Int<29000>>,Int<32000>>>,TrJoin<TrSmoothFade<50>,TrCenterWipeX<Int<100>,Scale<BladeAngle<>,Int<3000>,Int<29000>>>>>>,EFFECT_BLAST>,Mix<IsLessThan<ClashImpactF<>,Int<26000>>,TransitionEffectL<TrConcat<TrInstant,AlphaL<RgbArg<CLASH_COLOR_ARG,Rgb<255,199,119>>,Bump<Scale<BladeAngle<>,Scale<BladeAngle<0,16000>,Sum<IntArg<LOCKUP_POSITION_ARG,16000>,Int<-12000>>,Sum<IntArg<LOCKUP_POSITION_ARG,16000>,Int<10000>>>,Sum<IntArg<LOCKUP_POSITION_ARG,16000>,Int<-10000>>>,Scale<ClashImpactF<>,Int<12000>,Int<60000>>>>,TrFadeX<Scale<ClashImpactF<>,Int<200>,Int<400>>>>,EFFECT_CLASH>,TransitionEffectL<TrWaveX<RgbArg<CLASH_COLOR_ARG,Rgb<255,199,119>>,Scale<ClashImpactF<>,Int<100>,Int<400>>,Int<100>,Scale<ClashImpactF<>,Int<100>,Int<400>>,Scale<BladeAngle<>,Scale<BladeAngle<0,16000>,Sum<IntArg<LOCKUP_POSITION_ARG,16000>,Int<-12000>>,Sum<IntArg<LOCKUP_POSITION_ARG,16000>,Int<10000>>>,Sum<IntArg<LOCKUP_POSITION_ARG,16000>,Int<-10000>>>>,EFFECT_CLASH>>,LockupTrL<TransitionEffect<AlphaL<AlphaMixL<Bump<Scale<BladeAngle<>,Scale<BladeAngle<0,16000>,Sum<IntArg<LOCKUP_POSITION_ARG,16000>,Int<-12000>>,Sum<IntArg<LOCKUP_POSITION_ARG,16000>,Int<10000>>>,Sum<IntArg<LOCKUP_POSITION_ARG,16000>,Int<-10000>>>,Scale<SwingSpeed<100>,Int<14000>,Int<22000>>>,AudioFlicker<RgbArg<LOCKUP_COLOR_ARG,Rgb<255,199,119>>,Mix<Int<12000>,Black,RgbArg<LOCKUP_COLOR_ARG,Rgb<255,199,119>>>>,BrownNoiseFlicker<RgbArg<LOCKUP_COLOR_ARG,Rgb<255,199,119>>,Mix<Int<12000>,Black,RgbArg<LOCKUP_COLOR_ARG,Rgb<255,199,119>>>,300>>,Bump<Scale<BladeAngle<>,Scale<BladeAngle<0,16000>,Sum<IntArg<LOCKUP_POSITION_ARG,16000>,Int<-12000>>,Sum<IntArg<LOCKUP_POSITION_ARG,16000>,Int<10000>>>,Sum<IntArg<LOCKUP_POSITION_ARG,16000>,Int<-10000>>>,Scale<SwingSpeed<100>,Int<14000>,Int<22000>>>>,AlphaL<AudioFlicker<RgbArg<LOCKUP_COLOR_ARG,Rgb<255,199,119>>,Mix<Int<20000>,Black,RgbArg<LOCKUP_COLOR_ARG,Rgb<255,199,119>>>>,Bump<Scale<BladeAngle<>,Scale<BladeAngle<0,16000>,Sum<IntArg<LOCKUP_POSITION_ARG,16000>,Int<-12000>>,Sum<IntArg<LOCKUP_POSITION_ARG,16000>,Int<10000>>>,Sum<IntArg<LOCKUP_POSITION_ARG,16000>,Int<-10000>>>,Scale<SwingSpeed<100>,Int<14000>,Int<18000>>>>,TrExtend<5000,TrInstant>,TrFade<5000>,EFFECT_LOCKUP_BEGIN>,TrConcat<TrJoin<TrDelay<50>,TrInstant>,Mix<IsLessThan<ClashImpactF<>,Int<26000>>,RgbArg<LOCKUP_COLOR_ARG,Rgb<255,199,119>>,AlphaL<RgbArg<LOCKUP_COLOR_ARG,Rgb<255,199,119>>,Bump<Scale<BladeAngle<>,Scale<BladeAngle<0,16000>,Sum<IntArg<LOCKUP_POSITION_ARG,16000>,Int<-12000>>,Sum<IntArg<LOCKUP_POSITION_ARG,16000>,Int<10000>>>,Sum<IntArg<LOCKUP_POSITION_ARG,16000>,Int<-10000>>>,Scale<ClashImpactF<>,Int<20000>,Int<60000>>>>>,TrFade<300>>,TrConcat<TrInstant,RgbArg<LOCKUP_COLOR_ARG,Rgb<255,199,119>>,TrFade<400>>,SaberBase::LOCKUP_NORMAL,Int<1>>,ResponsiveLightningBlockL<Strobe<RgbArg<LB_COLOR_ARG,Rgb<180,180,255>>,AudioFlicker<RgbArg<LB_COLOR_ARG,Rgb<180,180,255>>,Blue>,50,1>,TrConcat<TrExtend<200,TrInstant>,AlphaL<RgbArg<LB_COLOR_ARG,Rgb<180,180,255>>,Bump<Scale<BladeAngle<>,Int<10000>,Int<21000>>,Int<10000>>>,TrFade<200>>,TrConcat<TrInstant,AlphaL<RgbArg<LB_COLOR_ARG,Rgb<180,180,255>>,Bump<Int<18000>,Int<13000>>>,TrFade<400>>,Int<1>>,LockupTrL<AlphaL<TransitionEffect<RandomPerLEDFlickerL<RgbArg<DRAG_COLOR_ARG,Rgb<255,199,119>>>,BrownNoiseFlickerL<RgbArg<DRAG_COLOR_ARG,Rgb<255,199,119>>,Int<300>>,TrExtend<4000,TrInstant>,TrFade<4000>,EFFECT_DRAG_BEGIN>,SmoothStep<Scale<TwistAngle<>,IntArg<DRAG_SIZE_ARG,28000>,Int<30000>>,Int<3000>>>,TrWipeIn<200>,TrWipe<200>,SaberBase::LOCKUP_DRAG,Int<1>>,LockupTrL<AlphaL<Stripes<2000,4000,Mix<TwistAngle<>,RgbArg<STAB_COLOR_ARG,Rgb<255,97,0>>,RotateColorsX<Int<3000>,RgbArg<STAB_COLOR_ARG,Rgb<255,97,0>>>>,Mix<Sin<Int<50>>,Black,Mix<TwistAngle<>,RgbArg<STAB_COLOR_ARG,Rgb<255,97,0>>,RotateColorsX<Int<3000>,RgbArg<STAB_COLOR_ARG,Rgb<255,97,0>>>>>,Mix<Int<4096>,Black,Mix<TwistAngle<>,RgbArg<STAB_COLOR_ARG,Rgb<255,97,0>>,RotateColorsX<Int<3000>,RgbArg<STAB_COLOR_ARG,Rgb<255,97,0>>>>>>,SmoothStep<Scale<TwistAngle<>,IntArg<MELT_SIZE_ARG,28000>,Int<30000>>,Int<3000>>>,TrConcat<TrExtend<4000,TrWipeIn<200>>,AlphaL<HumpFlicker<Mix<TwistAngle<>,RgbArg<STAB_COLOR_ARG,Rgb<255,97,0>>,RotateColorsX<Int<3000>,RgbArg<STAB_COLOR_ARG,Rgb<255,97,0>>>>,RotateColorsX<Int<3000>,Mix<TwistAngle<>,RgbArg<STAB_COLOR_ARG,Rgb<255,97,0>>,RotateColorsX<Int<3000>,RgbArg<STAB_COLOR_ARG,Rgb<255,97,0>>>>>,100>,SmoothStep<Scale<TwistAngle<>,IntArg<MELT_SIZE_ARG,28000>,Int<30000>>,Int<3000>>>,TrFade<4000>>,TrWipe<200>,SaberBase::LOCKUP_MELT,Int<1>>,InOutTrL<TrWipeX<BendTimePowInvX<IgnitionTime<300>,Mult<IntArg<IGNITION_OPTION2_ARG,10992>,Int<98304>>>>,TrWipeInX<BendTimePowInvX<RetractionTime<0>,Mult<IntArg<RETRACTION_OPTION2_ARG,10992>,Int<98304>>>>,Black>,EffectSequence<EFFECT_POWERSAVE,AlphaL<Black,Int<16384>>,AlphaL<Black,Int<0>>>,TransitionEffectL<TrConcat<TrJoin<TrDelay<2000>,TrWipe<1000>>,AlphaL<Mix<BatteryLevel,Red,Green>,SmoothStep<BatteryLevel,Int<-10>>>,TrWipeIn<1000>>,EFFECT_BATTERY_LEVEL>,TransitionEffectL<TrConcat<TrJoin<TrDelay<2000>,TrInstant>,AlphaL<Mix<BatteryLevel,Red,Green>,SmoothStep<IntArg<EMITTER_SIZE_ARG,2000>,Int<-4000>>>,TrFade<300>>,EFFECT_NEWFONT>,TransitionEffectL<TrConcat<TrExtend<2000,TrWipe<100>>,AlphaL<RgbArg<ALT_COLOR_ARG,Rgb<255,0,255>>,SmoothStep<VolumeLevel,Int<-1>>>,TrFade<300>>,EFFECT_VOLUME_LEVEL>>
;
/*
 add to preset as StylePtr<MaulAnimated>()
*/

/*--------------------------------- MaulTPM---------------------------------*/
using MaulTPM = 
/* copyright Fett263 Rotoscope (Primary Blade) OS7 Style
https://www.fett263.com/fett263-proffieOS7-style-library.html#Rotoscope
OS7.14 v2.242p
Single Style
Base Style: Hyper Responsive Rotoscope (Prequels)

Base Color: BaseColorArg (0)

--Effects Included--
Ignition Effect: Standard Ignition [Color: IgnitionColorArg]
Retraction Effect: Standard Retraction [Color: RetractionColorArg]
Lockup Effect:
0: mainLockMulti0Shape - Begin: Real Clash - Style: Intensity AudioFlicker - End: Full Blade Absorb
[Color: LockupColorArg]
Lightning Block Effect:
0: mainLBMulti0Shape - Begin: Responsive Impact - Style: Strobing AudioFlicker - End: Full Blade Absorb
[Color: LBColorArg]
Drag Effect:
0: mainDragMulti0Shape - Begin: Wipe In - Style: Intensity Sparking Drag - End: Wipe Out
[Color: DragColorArg]
Melt Effect:
0: mainMeltMulti0Shape - Begin: Wipe In - Style: Intensity Melt - End: Wipe Out
[Color: StabColorArg]
Stab Effect: Normal Stab [Color: StabColorArg]
Blast Effect (Randomly Selected): Responsive Blast Wave (Sound Based), Responsive Blast Fade (Sound Based), Responsive Blast Ripple Fade [Color: BlastColorArg]
Clash Effect: Real Clash V1 [Color: ClashColorArg]
Battery Level: % Blade (Green to Red)
Display Volume: Blade Location [Color: AltColorArg]
Battery Monitor: Passive Battery Monitor (Boot & Change Preset)
Power Save: 50% Toggle
*/
Layers<Mix<HoldPeakF<SwingSpeed<250>,Scale<SwingAcceleration<100>,Int<50>,Int<500>>,Scale<SwingAcceleration<>,Int<20000>,Int<10000>>>,RandomFlicker<StripesX<Int<24000>,Scale<HoldPeakF<SwingSpeed<200>,Scale<SwingAcceleration<100>,Int<50>,Int<300>>,Scale<SwingAcceleration<100>,Int<24000>,Int<16000>>>,Int<-1400>,Int<-100>>,RgbArg<BASE_COLOR_ARG,Rgb<255,0,0>>,RgbArg<BASE_COLOR_ARG,Rgb<255,0,0>>,Mix<Int<7710>,Black,RgbArg<BASE_COLOR_ARG,Rgb<255,0,0>>>,RgbArg<BASE_COLOR_ARG,Rgb<255,0,0>>,Mix<Int<19276>,Black,RgbArg<BASE_COLOR_ARG,Rgb<255,0,0>>>>,RgbArg<BASE_COLOR_ARG,Rgb<255,0,0>>>,RgbArg<BASE_COLOR_ARG,Rgb<255,0,0>>>,TransitionEffectL<TrConcat<TrJoin<TrDelayX<WavLen<>>,TrWipeIn<200>>,AlphaL<RgbArg<STAB_COLOR_ARG,Rgb<255,68,0>>,SmoothStep<IntArg<MELT_SIZE_ARG,28000>,Int<2000>>>,TrWipe<200>>,EFFECT_STAB>,TransitionEffectL<TrRandom<TrWaveX<RgbArg<BLAST_COLOR_ARG,Rgb<255,187,108>>,Scale<WavLen<>,Int<100>,Int<400>>,Int<100>,Scale<WavLen<>,Int<100>,Int<400>>,Scale<BladeAngle<>,Int<28000>,Int<8000>>>,TrConcat<TrInstant,AlphaMixL<Bump<Scale<BladeAngle<>,Int<28000>,Int<8000>>,Scale<WavLen<>,Int<9000>,Int<13000>>>,RgbArg<BLAST_COLOR_ARG,Rgb<255,187,108>>,Mix<Int<16384>,Black,RgbArg<BLAST_COLOR_ARG,Rgb<255,187,108>>>>,TrFade<300>>,TrConcat<TrInstant,AlphaL<RgbArg<BLAST_COLOR_ARG,Rgb<255,187,108>>,Bump<Scale<BladeAngle<>,Int<3000>,Int<29000>>,Int<6000>>>,TrCenterWipeX<Int<100>,Scale<BladeAngle<>,Int<3000>,Int<29000>>>,AlphaL<Remap<CenterDistF<Scale<BladeAngle<>,Int<3000>,Int<29000>>>,Stripes<1600,-2000,RgbArg<BLAST_COLOR_ARG,Rgb<255,187,108>>,Mix<Int<2096>,Black,RgbArg<BLAST_COLOR_ARG,Rgb<255,187,108>>>>>,Bump<Scale<BladeAngle<>,Int<3000>,Int<29000>>,Int<32000>>>,TrJoin<TrSmoothFade<50>,TrCenterWipeX<Int<100>,Scale<BladeAngle<>,Int<3000>,Int<29000>>>>>>,EFFECT_BLAST>,Mix<IsLessThan<ClashImpactF<>,Int<26000>>,TransitionEffectL<TrConcat<TrInstant,AlphaL<RgbArg<CLASH_COLOR_ARG,Rgb<255,187,108>>,Bump<Scale<BladeAngle<>,Scale<BladeAngle<0,16000>,Sum<IntArg<LOCKUP_POSITION_ARG,16463>,Int<-12000>>,Sum<IntArg<LOCKUP_POSITION_ARG,16463>,Int<10000>>>,Sum<IntArg<LOCKUP_POSITION_ARG,16463>,Int<-10000>>>,Scale<ClashImpactF<>,Int<12000>,Int<60000>>>>,TrFadeX<Scale<ClashImpactF<>,Int<200>,Int<400>>>>,EFFECT_CLASH>,TransitionEffectL<TrWaveX<RgbArg<CLASH_COLOR_ARG,Rgb<255,187,108>>,Scale<ClashImpactF<>,Int<100>,Int<400>>,Int<100>,Scale<ClashImpactF<>,Int<100>,Int<400>>,Scale<BladeAngle<>,Scale<BladeAngle<0,16000>,Sum<IntArg<LOCKUP_POSITION_ARG,16463>,Int<-12000>>,Sum<IntArg<LOCKUP_POSITION_ARG,16463>,Int<10000>>>,Sum<IntArg<LOCKUP_POSITION_ARG,16463>,Int<-10000>>>>,EFFECT_CLASH>>,LockupTrL<TransitionEffect<AlphaL<AlphaMixL<Bump<Scale<BladeAngle<>,Scale<BladeAngle<0,16000>,Sum<IntArg<LOCKUP_POSITION_ARG,16463>,Int<-12000>>,Sum<IntArg<LOCKUP_POSITION_ARG,16463>,Int<10000>>>,Sum<IntArg<LOCKUP_POSITION_ARG,16463>,Int<-10000>>>,Scale<SwingSpeed<100>,Int<15000>,Int<23000>>>,AudioFlicker<RgbArg<LOCKUP_COLOR_ARG,Rgb<255,187,108>>,Mix<Int<12000>,Black,RgbArg<LOCKUP_COLOR_ARG,Rgb<255,187,108>>>>,BrownNoiseFlicker<RgbArg<LOCKUP_COLOR_ARG,Rgb<255,187,108>>,Mix<Int<12000>,Black,RgbArg<LOCKUP_COLOR_ARG,Rgb<255,187,108>>>,300>>,Bump<Scale<BladeAngle<>,Scale<BladeAngle<0,16000>,Sum<IntArg<LOCKUP_POSITION_ARG,16463>,Int<-12000>>,Sum<IntArg<LOCKUP_POSITION_ARG,16463>,Int<10000>>>,Sum<IntArg<LOCKUP_POSITION_ARG,16463>,Int<-10000>>>,Scale<SwingSpeed<100>,Int<15000>,Int<23000>>>>,AlphaL<AudioFlicker<RgbArg<LOCKUP_COLOR_ARG,Rgb<255,187,108>>,Mix<Int<20000>,Black,RgbArg<LOCKUP_COLOR_ARG,Rgb<255,187,108>>>>,Bump<Scale<BladeAngle<>,Scale<BladeAngle<0,16000>,Sum<IntArg<LOCKUP_POSITION_ARG,16463>,Int<-12000>>,Sum<IntArg<LOCKUP_POSITION_ARG,16463>,Int<10000>>>,Sum<IntArg<LOCKUP_POSITION_ARG,16463>,Int<-10000>>>,Scale<SwingSpeed<100>,Int<15000>,Int<19000>>>>,TrExtend<5000,TrInstant>,TrFade<5000>,EFFECT_LOCKUP_BEGIN>,TrConcat<TrJoin<TrDelay<50>,TrInstant>,Mix<IsLessThan<ClashImpactF<>,Int<26000>>,RgbArg<LOCKUP_COLOR_ARG,Rgb<255,187,108>>,AlphaL<RgbArg<LOCKUP_COLOR_ARG,Rgb<255,187,108>>,Bump<Scale<BladeAngle<>,Scale<BladeAngle<0,16000>,Sum<IntArg<LOCKUP_POSITION_ARG,16463>,Int<-12000>>,Sum<IntArg<LOCKUP_POSITION_ARG,16463>,Int<10000>>>,Sum<IntArg<LOCKUP_POSITION_ARG,16463>,Int<-10000>>>,Scale<ClashImpactF<>,Int<20000>,Int<60000>>>>>,TrFade<300>>,TrConcat<TrInstant,RgbArg<LOCKUP_COLOR_ARG,Rgb<255,187,108>>,TrFade<400>>,SaberBase::LOCKUP_NORMAL,Int<1>>,ResponsiveLightningBlockL<Strobe<RgbArg<LB_COLOR_ARG,Rgb<255,187,108>>,AudioFlicker<RgbArg<LB_COLOR_ARG,Rgb<255,187,108>>,Blue>,50,1>,TrConcat<TrExtend<200,TrInstant>,AlphaL<RgbArg<LB_COLOR_ARG,Rgb<255,187,108>>,Bump<Scale<BladeAngle<>,Int<10000>,Int<21000>>,Int<10000>>>,TrFade<200>>,TrConcat<TrInstant,RgbArg<LB_COLOR_ARG,Rgb<255,187,108>>,TrFade<400>>,Int<1>>,LockupTrL<AlphaL<TransitionEffect<RandomPerLEDFlickerL<RgbArg<DRAG_COLOR_ARG,Rgb<255,187,108>>>,BrownNoiseFlickerL<RgbArg<DRAG_COLOR_ARG,Rgb<255,187,108>>,Int<300>>,TrExtend<4000,TrInstant>,TrFade<4000>,EFFECT_DRAG_BEGIN>,SmoothStep<Scale<TwistAngle<>,IntArg<DRAG_SIZE_ARG,28000>,Int<30000>>,Int<3000>>>,TrWipeIn<200>,TrWipe<200>,SaberBase::LOCKUP_DRAG,Int<1>>,LockupTrL<AlphaL<Stripes<2000,4000,Mix<TwistAngle<>,RgbArg<STAB_COLOR_ARG,Rgb<255,68,0>>,RotateColorsX<Int<3000>,RgbArg<STAB_COLOR_ARG,Rgb<255,68,0>>>>,Mix<Sin<Int<50>>,Black,Mix<TwistAngle<>,RgbArg<STAB_COLOR_ARG,Rgb<255,68,0>>,RotateColorsX<Int<3000>,RgbArg<STAB_COLOR_ARG,Rgb<255,68,0>>>>>,Mix<Int<4096>,Black,Mix<TwistAngle<>,RgbArg<STAB_COLOR_ARG,Rgb<255,68,0>>,RotateColorsX<Int<3000>,RgbArg<STAB_COLOR_ARG,Rgb<255,68,0>>>>>>,SmoothStep<Scale<TwistAngle<>,IntArg<MELT_SIZE_ARG,28000>,Int<30000>>,Int<3000>>>,TrConcat<TrExtend<4000,TrWipeIn<200>>,AlphaL<HumpFlicker<Mix<TwistAngle<>,RgbArg<STAB_COLOR_ARG,Rgb<255,68,0>>,RotateColorsX<Int<3000>,RgbArg<STAB_COLOR_ARG,Rgb<255,68,0>>>>,RotateColorsX<Int<3000>,Mix<TwistAngle<>,RgbArg<STAB_COLOR_ARG,Rgb<255,68,0>>,RotateColorsX<Int<3000>,RgbArg<STAB_COLOR_ARG,Rgb<255,68,0>>>>>,100>,SmoothStep<Scale<TwistAngle<>,IntArg<MELT_SIZE_ARG,28000>,Int<30000>>,Int<3000>>>,TrFade<4000>>,TrWipe<200>,SaberBase::LOCKUP_MELT,Int<1>>,InOutTrL<TrWipeX<BendTimePowInvX<IgnitionTime<300>,Mult<IntArg<IGNITION_OPTION2_ARG,10992>,Int<98304>>>>,TrWipeInX<BendTimePowInvX<RetractionTime<0>,Mult<IntArg<RETRACTION_OPTION2_ARG,10992>,Int<98304>>>>,Black>,EffectSequence<EFFECT_POWERSAVE,AlphaL<Black,Int<16384>>,AlphaL<Black,Int<0>>>,TransitionEffectL<TrConcat<TrJoin<TrDelay<2000>,TrWipe<1000>>,AlphaL<Mix<BatteryLevel,Red,Green>,SmoothStep<BatteryLevel,Int<-10>>>,TrWipeIn<1000>>,EFFECT_BATTERY_LEVEL>,TransitionEffectL<TrConcat<TrJoin<TrDelay<2000>,TrInstant>,AlphaL<Mix<BatteryLevel,Red,Green>,SmoothStep<IntArg<EMITTER_SIZE_ARG,2000>,Int<-4000>>>,TrFade<300>>,EFFECT_BOOT>,TransitionEffectL<TrConcat<TrJoin<TrDelay<2000>,TrInstant>,AlphaL<Mix<BatteryLevel,Red,Green>,SmoothStep<IntArg<EMITTER_SIZE_ARG,2000>,Int<-4000>>>,TrFade<300>>,EFFECT_NEWFONT>,TransitionEffectL<TrConcat<TrExtend<2000,TrFade<100>>,AlphaL<RgbArg<ALT_COLOR_ARG,Rgb<255,0,255>>,Bump<VolumeLevel,Int<8000>>>,TrFade<300>>,EFFECT_VOLUME_LEVEL>>;
/*
 add to preset as StylePtr<MaulTPM>()
*/

/*--------------------------------- OuterPixel---------------------------------*/
using OuterPixel = 
/* copyright Fett263 (Accent LED / PCB) OS7 Style
https://www.fett263.com/fett263-proffieOS7-style-library.html#FallenOrder
OS7.14 v2.242p
Single Style
On Behavior: Solid Color [Color: BaseColorArg]
Off Behavior: Blinking On-Off [Color: OffColorArg]

Base Color: BaseColorArg (0)

--Effects Included--
Ignition Effect: Instant [Color: IgnitionColorArg]
Retraction Effect: Instant [Color: RetractionColorArg]
Lockup Effect:
0: accentLockMulti0Shape - Begin: Full Blade Flash - Style: AudioFlicker - End: Full Blade Absorb
[Color: LockupColorArg]
Lightning Block Effect:
0: accentLBMulti0Shape - Begin: Full Blade Flash - Style: Strobing AudioFlicker - End: Full Blade Absorb
[Color: LBColorArg]
Drag Effect: NoneMelt Effect: NoneClash Effect: Clash Ripple (Full Blade) [Color: ClashColorArg]
Power Save: 50% Toggle */
Layers<RgbArg<BASE_COLOR_ARG,Rgb<255,0,0>>,TransitionEffectL<TrConcat<TrJoin<TrDelay<30>,TrInstant>,Remap<CenterDistF<EffectPosition<EFFECT_CLASH>>,Stripes<2000,-2000,RgbArg<CLASH_COLOR_ARG,Rgb<255,68,0>>,Mix<Int<2096>,Black,RgbArg<CLASH_COLOR_ARG,Rgb<255,68,0>>>>>,TrFadeX<Scale<ClashImpactF<>,Int<200>,Int<400>>>>,EFFECT_CLASH>,LockupTrL<AudioFlicker<RgbArg<LOCKUP_COLOR_ARG,Rgb<255,68,0>>,Mix<Int<20000>,Black,RgbArg<LOCKUP_COLOR_ARG,Rgb<255,68,0>>>>,TrConcat<TrInstant,RgbArg<LOCKUP_COLOR_ARG,Rgb<255,68,0>>,TrFade<300>>,TrConcat<TrInstant,RgbArg<LOCKUP_COLOR_ARG,Rgb<255,68,0>>,TrFade<400>>,SaberBase::LOCKUP_NORMAL,Int<1>>,LockupTrL<Strobe<RgbArg<LB_COLOR_ARG,Rgb<255,68,0>>,AudioFlicker<RgbArg<LB_COLOR_ARG,Rgb<255,68,0>>,Blue>,50,1>,TrConcat<TrExtend<200,TrInstant>,RgbArg<LB_COLOR_ARG,Rgb<255,68,0>>,TrFade<200>>,TrConcat<TrInstant,RgbArg<LB_COLOR_ARG,Rgb<255,68,0>>,TrFade<400>>,SaberBase::LOCKUP_LIGHTNING_BLOCK,Int<1>>,InOutTrL<TrInstant,TrInstant,Blinking<RgbArg<OFF_COLOR_ARG,Rgb<255,0,0>>,Black,500,500>>,EffectSequence<EFFECT_POWERSAVE,AlphaL<Black,Int<16384>>,AlphaL<Black,Int<0>>>>;
/*
 add to preset as StylePtr<OuterPixel>()
*/

/*--------------------------------- InnerPixel---------------------------------*/
using InnerPixel = 
/* copyright Fett263 (Accent LED / PCB) OS7 Style
https://www.fett263.com/fett263-proffieOS7-style-library.html#Rotoscope
OS7.14 v2.242p
Single Style
On Behavior: Solid Color [Color: BaseColorArg]
Off Behavior: Blinking Off-On [Color: OffColorArg]

Base Color: BaseColorArg (0)

--Effects Included--
Ignition Effect: Instant [Color: IgnitionColorArg]
Retraction Effect: Instant [Color: RetractionColorArg]
Lockup Effect:
0: accentLockMulti0Shape - Begin: Full Blade Flash - Style: Intensity AudioFlicker - End: Full Blade Absorb
[Color: LockupColorArg]
Lightning Block Effect:
0: accentLBMulti0Shape - Begin: Full Blade Flash - Style: Strobing AudioFlicker - End: Full Blade Absorb
[Color: LBColorArg]
Drag Effect: NoneMelt Effect: NoneBattery Level: Full Blade (Green to Red)
Power Save: 50% Toggle */
Layers<RgbArg<BASE_COLOR_ARG,Rgb<255,0,0>>,LockupTrL<TransitionEffect<AudioFlicker<RgbArg<LOCKUP_COLOR_ARG,Rgb<255,68,0>>,Mix<Int<12000>,Black,RgbArg<LOCKUP_COLOR_ARG,Rgb<255,68,0>>>>,AudioFlicker<RgbArg<LOCKUP_COLOR_ARG,Rgb<255,68,0>>,Mix<Int<20000>,Black,RgbArg<LOCKUP_COLOR_ARG,Rgb<255,68,0>>>>,TrExtend<5000,TrInstant>,TrFade<5000>,EFFECT_LOCKUP_BEGIN>,TrConcat<TrInstant,RgbArg<LOCKUP_COLOR_ARG,Rgb<255,68,0>>,TrFade<300>>,TrConcat<TrInstant,RgbArg<LOCKUP_COLOR_ARG,Rgb<255,68,0>>,TrFade<400>>,SaberBase::LOCKUP_NORMAL,Int<1>>,LockupTrL<Strobe<RgbArg<LB_COLOR_ARG,Rgb<255,68,0>>,AudioFlicker<RgbArg<LB_COLOR_ARG,Rgb<255,68,0>>,Blue>,50,1>,TrConcat<TrExtend<200,TrInstant>,RgbArg<LB_COLOR_ARG,Rgb<255,68,0>>,TrFade<200>>,TrConcat<TrInstant,RgbArg<LB_COLOR_ARG,Rgb<255,68,0>>,TrFade<400>>,SaberBase::LOCKUP_LIGHTNING_BLOCK,Int<1>>,InOutTrL<TrInstant,TrInstant,Blinking<Black,RgbArg<OFF_COLOR_ARG,Rgb<255,0,0>>,500,500>>,EffectSequence<EFFECT_POWERSAVE,AlphaL<Black,Int<16384>>,AlphaL<Black,Int<0>>>,TransitionEffectL<TrConcat<TrJoin<TrDelay<2000>,TrInstant>,Mix<BatteryLevel,Red,Green>,TrFade<300>>,EFFECT_BATTERY_LEVEL>>;
/*
 add to preset as StylePtr<InnerPixel>()
*/

/*--------------------------------- CrystalPixel---------------------------------*/
using CrystalPixel = 
/* copyright Fett263 Rotoscope (Crystal Chamber) OS7 Style
https://www.fett263.com/fett263-proffieOS7-style-library.html#Rotoscope
OS7.14 v2.242p
Single Style
Base Style: Hyper Responsive Rotoscope (Prequels)

Off Behavior: Slow Pulse Off-On [Color: OffColorArg]

Base Color: BaseColorArg (0)

--Effects Included--
Ignition Effect: Instant [Color: IgnitionColorArg]
PowerUp Effect: Power Flash [Color: IgnitionColorArg]
Retraction Effect: Standard Retraction [Color: RetractionColorArg]
Lockup Effect:
0: crystalLockMulti0Shape - Begin: Full Blade Flash - Style: Intensity AudioFlicker - End: Full Blade Absorb
[Color: LockupColorArg]
Lightning Block Effect:
0: crystalLBMulti0Shape - Begin: Full Blade Flash - Style: Strobing AudioFlicker - End: Full Blade Absorb
[Color: LBColorArg]
Drag Effect:
0: crystalDragMulti0Shape - Begin: Wipe In - Style: Intensity Sparking Drag - End: Wipe Out
[Color: DragColorArg]
Melt Effect:
0: crystalMeltMulti0Shape - Begin: Wipe In - Style: Intensity Melt - End: Wipe Out
[Color: StabColorArg]
Clash Effect: Clash Ripple (Full Blade) [Color: ClashColorArg]
Battery Level: Full Blade (Green to Red)
Power Save: 50% Toggle */
Layers<Mix<HoldPeakF<SwingSpeed<250>,Scale<SwingAcceleration<100>,Int<50>,Int<500>>,Scale<SwingAcceleration<>,Int<20000>,Int<10000>>>,RandomFlicker<StripesX<Int<24000>,Scale<HoldPeakF<SwingSpeed<200>,Scale<SwingAcceleration<100>,Int<50>,Int<300>>,Scale<SwingAcceleration<100>,Int<24000>,Int<16000>>>,Int<-1400>,Int<-100>>,RgbArg<BASE_COLOR_ARG,Rgb<255,0,0>>,RgbArg<BASE_COLOR_ARG,Rgb<255,0,0>>,Mix<Int<7710>,Black,RgbArg<BASE_COLOR_ARG,Rgb<255,0,0>>>,RgbArg<BASE_COLOR_ARG,Rgb<255,0,0>>,Mix<Int<19276>,Black,RgbArg<BASE_COLOR_ARG,Rgb<255,0,0>>>>,RgbArg<BASE_COLOR_ARG,Rgb<255,0,0>>>,RgbArg<BASE_COLOR_ARG,Rgb<255,0,0>>>,TransitionEffectL<TrConcat<TrJoin<TrDelayX<IgnitionTime<0>>,TrInstant>,RgbArg<IGNITION_COLOR_ARG,Rgb<255,199,119>>,TrFade<1000>>,EFFECT_IGNITION>,TransitionEffectL<TrConcat<TrJoin<TrDelay<30>,TrInstant>,Remap<CenterDistF<EffectPosition<EFFECT_CLASH>>,Stripes<2000,-2000,RgbArg<CLASH_COLOR_ARG,Rgb<255,199,119>>,Mix<Int<2096>,Black,RgbArg<CLASH_COLOR_ARG,Rgb<255,199,119>>>>>,TrFadeX<Scale<ClashImpactF<>,Int<200>,Int<400>>>>,EFFECT_CLASH>,LockupTrL<TransitionEffect<AudioFlicker<RgbArg<LOCKUP_COLOR_ARG,Rgb<255,199,119>>,Mix<Int<12000>,Black,RgbArg<LOCKUP_COLOR_ARG,Rgb<255,199,119>>>>,AudioFlicker<RgbArg<LOCKUP_COLOR_ARG,Rgb<255,199,119>>,Mix<Int<20000>,Black,RgbArg<LOCKUP_COLOR_ARG,Rgb<255,199,119>>>>,TrExtend<5000,TrInstant>,TrFade<5000>,EFFECT_LOCKUP_BEGIN>,TrConcat<TrInstant,RgbArg<LOCKUP_COLOR_ARG,Rgb<255,199,119>>,TrFade<300>>,TrConcat<TrInstant,RgbArg<LOCKUP_COLOR_ARG,Rgb<255,199,119>>,TrFade<400>>,SaberBase::LOCKUP_NORMAL,Int<1>>,LockupTrL<Strobe<RgbArg<LB_COLOR_ARG,Rgb<180,180,255>>,AudioFlicker<RgbArg<LB_COLOR_ARG,Rgb<180,180,255>>,Blue>,50,1>,TrConcat<TrExtend<200,TrInstant>,RgbArg<LB_COLOR_ARG,Rgb<180,180,255>>,TrFade<200>>,TrConcat<TrInstant,RgbArg<LB_COLOR_ARG,Rgb<180,180,255>>,TrFade<400>>,SaberBase::LOCKUP_LIGHTNING_BLOCK,Int<1>>,LockupTrL<AlphaL<TransitionEffect<RandomPerLEDFlickerL<RgbArg<DRAG_COLOR_ARG,Rgb<255,199,119>>>,BrownNoiseFlickerL<RgbArg<DRAG_COLOR_ARG,Rgb<255,199,119>>,Int<300>>,TrExtend<4000,TrInstant>,TrFade<4000>,EFFECT_DRAG_BEGIN>,SmoothStep<Scale<TwistAngle<>,IntArg<DRAG_SIZE_ARG,31000>,Int<30000>>,Int<3000>>>,TrWipeIn<200>,TrWipe<200>,SaberBase::LOCKUP_DRAG,Int<1>>,LockupTrL<AlphaL<Stripes<2000,4000,Mix<TwistAngle<>,RgbArg<STAB_COLOR_ARG,Rgb<255,97,0>>,RotateColorsX<Int<3000>,RgbArg<STAB_COLOR_ARG,Rgb<255,97,0>>>>,Mix<Sin<Int<50>>,Black,Mix<TwistAngle<>,RgbArg<STAB_COLOR_ARG,Rgb<255,97,0>>,RotateColorsX<Int<3000>,RgbArg<STAB_COLOR_ARG,Rgb<255,97,0>>>>>,Mix<Int<4096>,Black,Mix<TwistAngle<>,RgbArg<STAB_COLOR_ARG,Rgb<255,97,0>>,RotateColorsX<Int<3000>,RgbArg<STAB_COLOR_ARG,Rgb<255,97,0>>>>>>,SmoothStep<Scale<TwistAngle<>,IntArg<MELT_SIZE_ARG,26000>,Int<30000>>,Int<3000>>>,TrConcat<TrExtend<4000,TrWipeIn<200>>,AlphaL<HumpFlicker<Mix<TwistAngle<>,RgbArg<STAB_COLOR_ARG,Rgb<255,97,0>>,RotateColorsX<Int<3000>,RgbArg<STAB_COLOR_ARG,Rgb<255,97,0>>>>,RotateColorsX<Int<3000>,Mix<TwistAngle<>,RgbArg<STAB_COLOR_ARG,Rgb<255,97,0>>,RotateColorsX<Int<3000>,RgbArg<STAB_COLOR_ARG,Rgb<255,97,0>>>>>,100>,SmoothStep<Scale<TwistAngle<>,IntArg<MELT_SIZE_ARG,26000>,Int<30000>>,Int<3000>>>,TrFade<4000>>,TrWipe<200>,SaberBase::LOCKUP_MELT,Int<1>>,InOutTrL<TrInstant,TrWipeInX<BendTimePowInvX<RetractionTime<0>,Mult<IntArg<RETRACTION_OPTION2_ARG,10992>,Int<98304>>>>,Pulsing<Black,RgbArg<OFF_COLOR_ARG,Rgb<255,0,0>>,8000>>,EffectSequence<EFFECT_POWERSAVE,AlphaL<Black,Int<16384>>,AlphaL<Black,Int<0>>>,TransitionEffectL<TrConcat<TrJoin<TrDelay<2000>,TrInstant>,Mix<BatteryLevel,Red,Green>,TrFade<300>>,EFFECT_BATTERY_LEVEL>>;
/*
 add to preset as StylePtr<CrystalPixel>()
*/

#endif



 /* Generated with Fett263 Config Helper v3.10 */

Is this the whole compilation error?

A quick search of this forum indicates that a number of people have had similar errors, and that in most cases, it seems to be caused by unintended changes in ProffieOS.ino when changing CONFIG_FILE.

Perhaps try re-downloading ProffieOS, or post the first 100 lines of ProffieOS.ino so we can inspect them.

Yes, that is indeed the whole compilation error, pasted directly out of Arduino. I’ve tried re-downloading ProffieOS multiple times, but hoping this is just some kind of ID-10T error on my part. Here’s the first 100 lines of ProffieOS.ino

/*
 ProffieOS: Control software for lightsabers and other props.
 http://fredrik.hubbe.net/lightsaber/teensy_saber.html
 Copyright (c) 2016-2019 Fredrik Hubinette
 Additional copyright holders listed inline below.

 This program is free software: you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
 the Free Software Foundation, either version 3 of the License, or
 (at your option) any later version.

 This program is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 GNU General Public License for more details.

 You should have received a copy of the GNU General Public License
 along with this program.  If not, see <http://www.gnu.org/licenses/>.
*/

/*-----------------------------------------------------------------*\
|  You can have multiple configuration files, and specify which one |
|  to use here by removing the two slashes at the beginning.        |
|  **NOTE** Only ONE line should be left uncommented at a time!     |
|  Add the slashes to any that you are not using.                   |
\*-----------------------------------------------------------------*/

#define CONFIG_FILE "config/LordDM1Config.h"

// #define CONFIG_FILE "config/default_proffieboard_config.h"
// #define CONFIG_FILE "config/default_v3_config.h"
// #define CONFIG_FILE "config/crossguard_config.h"
// #define CONFIG_FILE "config/graflex_v1_config.h"
// #define CONFIG_FILE "config/prop_shield_fastled_v1_config.h"
// #define CONFIG_FILE "config/owk_v2_config.h"
// #define CONFIG_FILE "config/test_bench_config.h"
// #define CONFIG_FILE "config/toy_saber_config.h"
// #define CONFIG_FILE "config/proffieboard_v1_test_bench_config.h"
// #define CONFIG_FILE "config/proffieboard_v2_testing_config.h"
// #define CONFIG_FILE "config/td_proffieboard_config.h"
// #define CONFIG_FILE "config/proffieboard_v1_graflex.h"
// #define CONFIG_FILE "config/teensy_audio_shield_micom.h"
// #define CONFIG_FILE "config/proffieboard_v2_ob4.h"
// #define CONFIG_FILE "config/testconfig.h"
// #define CONFIG_FILE "config/test_bench_config.h"

#ifdef CONFIG_FILE_TEST
#undef CONFIG_FILE
#define CONFIG_FILE CONFIG_FILE_TEST
#endif

#ifndef CONFIG_FILE
#error Please set CONFIG_FILE as shown above.
#endif

#define CONFIG_TOP
#include CONFIG_FILE
#undef CONFIG_TOP

#ifndef BOOT_VOLUME
#define BOOT_VOLUME VOLUME
#endif

#ifdef SAVE_STATE
#define SAVE_VOLUME
#define SAVE_PRESET
#define SAVE_COLOR_CHANGE
#define SAVE_BLADE_DIMMING
#endif

#ifdef ENABLE_ALL_EDIT_OPTIONS
#define DYNAMIC_BLADE_LENGTH
#define DYNAMIC_BLADE_DIMMING
#define DYNAMIC_CLASH_THRESHOLD
#define SAVE_VOLUME
#define SAVE_BLADE_DIMMING
#define SAVE_CLASH_THRESHOLD
#define SAVE_COLOR_CHANGE
#endif

// #define ENABLE_DEBUG

#ifdef KEEP_SAVEFILES_WHEN_PROGRAMMING
#warning Your config file has KEEP_SAVEFILES_WHEN_PROGRAMMING in it. If you experience problems, please remove it and try again before asking for help. For more information, see: https://pod.hubbe.net/config/keeping-edits-when-uploading.html
#endif

//
// OVERVIEW
//
// Here explain some general code concepts to make it easier
// to understand the code below.
//
// Most things start with the ProbBase class. Depending on the
// configuration, this class is extended by the Saber class,
// the Detonator class, or some other class. The extended class
// is instantiated as "prop", and is responsible for handling
// button clicks, clashes, swings and other events. These events
// are then send to all registered SaberBase classes.
///

Do you have Proffieboard V2 selected in Arduino → Tools → Board ?

I don’t see anything obvious wrong, neither in the config file, nor in ProffieOS.ino.
When I get home I can try to compile ProffieOS with your config file and see if I get the same error.

yes, Proffieboard V2 is selected in Arduino > tools > board

Welp, after the 8th try of uninstalling and reinstalling Arduino and same with deleting and redownloading ProffieOS, it compiled and flashed. Ghost in the machine or something :upside_down_face: