Seismic charge Preon not working (OS7.5)

Hi Everyone, I’ve probably missed something simple, the code compiles 98% but goes straight to ignition without initial Preon, I have the Preon.wav sound file in the Root of the Preset. Can you take a look please, thanks!

#ifdef CONFIG_TOP
#include "proffieboard_v2_config.h"
#define NUM_BLADES 1
#define NUM_BUTTONS 1
#define VOLUME 2000
const unsigned int maxLedsPerStrip = 144;
#define CLASH_THRESHOLD_G 2.0
#define ENABLE_AUDIO
#define ENABLE_MOTION
#define ENABLE_WS2811
#define ENABLE_SD
#define ENABLE_ALL_EDIT_OPTIONS
#define ENABLE_SERIAL
#define FETT263_EDIT_MODE_MENU
#define MOTION_TIMEOUT 60 * 15 * 1000 // keeps motion chip active for 15 minutes while blade is Off
#define IDLE_OFF_TIME 60 * 15 * 1000
#define COLOR_CHANGE_DIRECT
#define DISABLE_DIAGNOSTIC_COMMANDS
#define DISABLE_BASIC_PARSER_STYLES
#define NO_REPEAT_RANDOM
#define FETT263_THRUST_ON // enables Thrust On Ignition
#define FETT263_THRUST_ON_NO_BM
#define FETT263_SWING_ON // enables Swing On Ignition
#define FETT263_SWING_ON_NO_BM
#define FETT263_SWING_ON_SPEED 350
#define FETT263_TWIST_ON // enables Twist On Ignition
#define FETT263_TWIST_ON_NO_BM
#define FETT263_TWIST_OFF // enables Twist Off Retraction
#define FETT263_BM_CLASH_DETECT 7
//#define FETT263_DUAL_MODE_SOUND
#define FETT263_CLASH_STRENGTH_SOUND
#define FETT263_MAX_CLASH 16
#define FETT263_SAY_COLOR_LIST
#define FETT263_SAY_COLOR_LIST_CC
#define FETT263_SAY_BATTERY_VOLTS
#define FETT263_QUOTE_PLAYER_START_ON
#define FETT263_MOTION_WAKE_POWER_BUTTON
#define FETT263_SPECIAL_ABILITIES
#define FETT263_DISABLE_CHANGE_STYLE
#define FETT263_DISABLE_CHANGE_FONT
#define FETT263_DISABLE_COPY_PRESET
#define FETT263_FORCE_PUSH_ALWAYS_ON
#define FETT263_SAVE_GESTURE_OFF
#define SAVE_STATE

#endif

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

#ifdef CONFIG_PRESETS
Preset presets[] = {

{"Macewin;common", "Macewin/tracks/MaceTrack.wav",
/* copyright Fett263 CustomBlade (Primary Blade) OS6 Style
https://fett263.com/fett263-proffieOS6-style-library.html#CustomBlade
OS6.7 v4.021
This Style Contains 4 Unique Combinations
Dual Phase (Oscillate)
Default: Hyper Responsive Rotoscope (Prequels)
1: Unstable Unleashed

Base Color: Rgb<0,0,255> (0)

--Effects Included--
Ignition Effect Options: Default (0): SparkTip Ignition, 1: Standard Ignition
PowerUp Effect: Power Surge (Stable)
Retraction Effect Options: Default (0): SparkTip Retraction, 1: Standard Retraction
CoolDown Effect: Power Burst Reverse
PostOff Effect: Emitter Spark (Emitter Size)
Lockup Effect: Intensity Lockup V1, Begin Effect: Real Clash, End Effect: Dissipate
LightningBlock Effect: Responsive Lightning Block
Drag Effect: Intensity Sparking Drag
Melt Effect: Intensity Melt
Stab Effect: Normal Stab
Blast Effect (Randomly Selected): Blast Wave (Random), Blast Fade (Random)
Clash Effect: Real Clash V3
Emitter Effect: Emitter Flare
Battery Level: Blade Location (Green to Red)
*/

StylePtr<Layers<
  Mix<Sin<Int<6>>,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,Magenta>,RgbArg<BASE_COLOR_ARG,Magenta>,Mix<Int<7710>,Black,RgbArg<BASE_COLOR_ARG,Magenta>>,RgbArg<BASE_COLOR_ARG,Magenta>,Mix<Int<19276>,Black,RgbArg<BASE_COLOR_ARG,Magenta>>>,RgbArg<BASE_COLOR_ARG,Magenta>>,RgbArg<BASE_COLOR_ARG,Magenta>>,StaticFire<Stripes<2500,-5000,BrownNoiseFlicker<RgbArg<ALT_COLOR_ARG,Rgb<115,15,240>>,Black,20>,Mix<Int<1285>,Black,RgbArg<ALT_COLOR_ARG,Rgb<115,15,240>>>,BrownNoiseFlicker<Black,Mix<Int<3212>,RgbArg<ALT_COLOR_ARG,Rgb<115,15,240>>,White>,70>,Mix<Int<16384>,Black,RgbArg<ALT_COLOR_ARG,Rgb<115,15,240>>>>,Mix<Int<10280>,Black,RgbArg<ALT_COLOR_ARG,Rgb<115,15,240>>>,0,5,2,3000,0>>,
  AlphaL<RgbArg<EMITTER_COLOR_ARG,LemonChiffon>,SmoothStep<IntArg<EMITTER_SIZE_ARG,2306>,Int<-6000>>>,
  TransitionEffectL<TrConcat<TrInstant,AudioFlickerL<RgbArg<IGNITION_COLOR_ARG,White>>,TrFade<1200>>,EFFECT_IGNITION>,
  TransitionEffectL<TrConcat<TrJoin<TrDelayX<RetractionTime<800>>,TrInstant>,Stripes<5000,2500,RgbArg<RETRACTION_COLOR_ARG,White>,Mix<Int<7710>,Black,RgbArg<RETRACTION_COLOR_ARG,White>>,Mix<Int<3855>,Black,RgbArg<RETRACTION_COLOR_ARG,White>>>,TrFade<800>>,EFFECT_RETRACTION>,
  TransitionEffectL<TrConcat<TrJoin<TrDelayX<WavLen<>>,TrWipeIn<200>>,AlphaL<RgbArg<STAB_COLOR_ARG,Red>,SmoothStep<IntArg<MELT_SIZE_ARG,28000>,Int<2000>>>,TrWipe<200>>,EFFECT_STAB>,
  TransitionEffectL<TrRandom<TrWaveX<RgbArg<BLAST_COLOR_ARG,Red>,Scale<EffectRandomF<EFFECT_BLAST>,Int<100>,Int<400>>,Int<100>,Scale<EffectPosition<EFFECT_BLAST>,Int<100>,Int<400>>,Scale<EffectPosition<EFFECT_BLAST>,Int<28000>,Int<8000>>>,TrConcat<TrInstant,AlphaMixL<Bump<EffectPosition<EFFECT_BLAST>,Scale<EffectPosition<EFFECT_BLAST>,Int<9000>,Int<12000>>>,RgbArg<BLAST_COLOR_ARG,Red>,Mix<Int<16384>,Black,RgbArg<BLAST_COLOR_ARG,Red>>>,TrFade<300>>>,EFFECT_BLAST>,
  AlphaL<TransitionEffectL<TrSelect<Scale<ClashImpactF<>,Int<0>,Int<4>>,TrConcat<TrInstant,AlphaL<RgbArg<CLASH_COLOR_ARG,Red>,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<8000>,Int<12000>>>>,TrFadeX<Scale<ClashImpactF<>,Int<200>,Int<600>>>>,TrWaveX<RgbArg<CLASH_COLOR_ARG,Red>,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>>>>,TrSparkX<Remap<CenterDistF<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>>>>,Stripes<1500,-3000,RgbArg<CLASH_COLOR_ARG,Red>,Mix<Int<16384>,Black,RgbArg<CLASH_COLOR_ARG,Red>>>>,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>>>>,TrConcat<TrInstant,RgbArg<CLASH_COLOR_ARG,Red>,TrFadeX<Scale<ClashImpactF<>,Int<200>,Int<400>>>>,TrConcat<TrInstant,RgbArg<CLASH_COLOR_ARG,Red>,TrFadeX<Scale<ClashImpactF<>,Int<300>,Int<500>>>>>,EFFECT_CLASH>,Scale<ClashImpactF<>,Int<24000>,Int<32768>>>,
  LockupTrL<TransitionEffect<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<18000>>>,BrownNoiseFlickerL<RgbArg<LOCKUP_COLOR_ARG,NavajoWhite>,Int<200>>,StripesX<Int<1800>,Scale<NoisySoundLevel,Int<-3500>,Int<-5000>>,Mix<Int<6425>,Black,RgbArg<LOCKUP_COLOR_ARG,NavajoWhite>>,RgbArg<LOCKUP_COLOR_ARG,NavajoWhite>,Mix<Int<12850>,Black,RgbArg<LOCKUP_COLOR_ARG,NavajoWhite>>>>,AlphaL<AudioFlicker<RgbArg<LOCKUP_COLOR_ARG,NavajoWhite>,Mix<Int<10280>,Black,RgbArg<LOCKUP_COLOR_ARG,NavajoWhite>>>,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>>>,Int<13000>>>,TrJoin<TrDelay<8000>,TrInstant>,TrFade<3000>,EFFECT_LOCKUP_BEGIN>,TrConcat<TrJoin<TrDelay<50>,TrInstant>,Mix<IsLessThan<ClashImpactF<>,Int<26000>>,RgbArg<LOCKUP_COLOR_ARG,NavajoWhite>,AlphaL<RgbArg<LOCKUP_COLOR_ARG,NavajoWhite>,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,AlphaL<RgbArg<LOCKUP_COLOR_ARG,NavajoWhite>,Int<0>>,TrWaveX<RgbArg<LOCKUP_COLOR_ARG,NavajoWhite>,Int<300>,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>>>,Scale<SwingSpeed<100>,Int<14000>,Int<18000>>>>>,SaberBase::LOCKUP_NORMAL>,
  ResponsiveLightningBlockL<Strobe<RgbArg<LB_COLOR_ARG,NavajoWhite>,AudioFlicker<RgbArg<LB_COLOR_ARG,NavajoWhite>,Blue>,50,1>,TrConcat<TrInstant,AlphaL<RgbArg<LB_COLOR_ARG,NavajoWhite>,Bump<Int<12000>,Int<18000>>>,TrDoEffect<TrFade<200>,EFFECT_TRANSITION_SOUND>>,TrConcat<TrInstant,HumpFlickerL<AlphaL<RgbArg<LB_COLOR_ARG,NavajoWhite>,Int<16000>>,30>,TrSmoothFade<600>>>,
  LockupTrL<AlphaL<RandomPerLEDFlickerL<RgbArg<DRAG_COLOR_ARG,NavajoWhite>>,SmoothStep<IntArg<DRAG_SIZE_ARG,28000>,Int<3000>>>,TrConcat<TrJoin<TrDelay<4000>,TrWipeIn<200>>,AlphaL<BrownNoiseFlickerL<RgbArg<DRAG_COLOR_ARG,NavajoWhite>,Int<300>>,SmoothStep<IntArg<DRAG_SIZE_ARG,28000>,Int<3000>>>,TrFade<4000>>,TrFade<300>,SaberBase::LOCKUP_DRAG>,
  LockupTrL<AlphaL<Remap<Scale<RampF,Int<65536>,Int<0>>,StaticFire<Mix<TwistAngle<>,RgbArg<STAB_COLOR_ARG,Rgb<255,24,0>>,RotateColorsX<Int<3000>,RgbArg<STAB_COLOR_ARG,Rgb<255,24,0>>>>,Mix<TwistAngle<>,RotateColorsX<Int<3000>,RgbArg<STAB_COLOR_ARG,Rgb<255,24,0>>>,RotateColorsX<Int<3000>,Mix<Int<12000>,Black,RgbArg<STAB_COLOR_ARG,Rgb<255,24,0>>>>>,0,3,5,3000,10>>,SmoothStep<IntArg<MELT_SIZE_ARG,28000>,Int<4000>>>,TrConcat<TrWipeIn<100>,AlphaL<RgbArg<STAB_COLOR_ARG,Rgb<255,24,0>>,SmoothStep<IntArg<MELT_SIZE_ARG,28000>,Int<4000>>>,TrJoin<TrDelay<4000>,TrFade<300>>,AlphaL<Mix<TwistAngle<>,RgbArg<STAB_COLOR_ARG,Rgb<255,24,0>>,RotateColorsX<Int<3000>,RgbArg<STAB_COLOR_ARG,Rgb<255,24,0>>>>,SmoothStep<IntArg<MELT_SIZE_ARG,28000>,Int<4000>>>,TrFade<4000>>,TrWipe<200>,SaberBase::LOCKUP_MELT>,
  InOutTrL<TrSelect<IntArg<IGNITION_OPTION_ARG,0>,TrWipeSparkTipX<RgbArg<IGNITION_COLOR_ARG,White>,IgnitionTime<600>>,TrWipeX<IgnitionTime<600>>>,TrSelect<IntArg<RETRACTION_OPTION_ARG,0>,TrWipeInSparkTipX<RgbArg<RETRACTION_COLOR_ARG,White>,RetractionTime<800>>,TrWipeInX<RetractionTime<800>>>>,
  TransitionEffectL<TrConcat<TrInstant,AlphaL<PulsingL<RgbArg<BASE_COLOR_ARG,Rgb<255,0,255>>,Int<400>>,Bump<Scale<Trigger<EFFECT_PREON,Int<800>,Int<2000>,Int<500>>,Int<0>,Int<16384>>,Int<8000>>>,TrDelayX<Mult<WavLen<EFFECT_PREON>,Int<18432>>>,Mix<Bump<Int<16384>,Int<8000>>,Black,RgbArg<BASE_COLOR_ARG,Rgb<255,0,255>>>,TrCenterWipeX<Mult<WavLen<EFFECT_PREON>,Int<4096>>,Int<16384>>,Mix<Bump<Int<16384>,Int<8000>>,Black,PulsingL<RgbArg<BASE_COLOR_ARG,Rgb<255,0,255>>,Int<300>>>,TrDelayX<Mult<WavLen<EFFECT_PREON>,Int<10240>>>>,EFFECT_PREON>,TransitionEffectL<TrConcat<TrJoin<TrDelay<2000>,TrInstant>,AlphaL<Mix<BatteryLevel,Red,Green>,Bump<BatteryLevel,Int<10000>>>,TrFade<300>>,EFFECT_BATTERY_LEVEL>>>()},

Does the preon.wav sound play?

I had the same issue on my saber running OS7.6 beta, I also noticed this happening with Closing the Eye of Sauron based post offs. I just ran another program with it, no sound is played it just skips into the ignition and post off for me.

Hook up to Serial Monitor and see if its trying to play the sound. Preon effects only run if the OS can find the preon.wav file. So if the sound is in the font but not playing then it is probably not formatted correctly.

Hooking up to serial monitor, double-checking my code for issues, and attempting to change my pre-on and post-off for something else, this is what I can conclude.

I’ve noticed that it will attempt to play the pre on for about 100ms and now that I see that, when I pay attention to it, I can actually hear the start tone,

If I use a different pre on, it works as usual and plays for the correct amount of time.
If I change the post off, it also functions correctly, Closing the Eye of Sauron does not seem to do anything at all. (Only reason I mention that is they seem like similar effects in terms of the actions they perform visually.)

Right now I’m just going to try something simple with everything standard, most effects disabled and just the pre on and post off I’m having issues with.

This is a different and known issue, the post off layer is blocked, I just haven’t had time to update library yet.

You can fix by moving the TransitionEffectL<> for EFFECT_POSTOFF after the InOutTrL<> layer.

That means the sound file is the issue.

Alright I made progress, using a fresh flash with a minimal config, the animation plays, seems it was a sound file thing.

Hi Fett um it doesnt play before ignition at all, no sound? No animation either

Hmm switched to a different preon sound file, still nothing, straight to ignition?

Hook up to Serial Monitor and see what it says, most likely the wav file is not formatted correctly.
The preon animation will not run if the preon.wav cannot be found or played.

Ok, thanks, sorry for the delay in replying, diff time zone

I discovered the problem, the motion wake power button define was interfering and after playing the boot sound skipped the preon effect when the saber ignites😅

Just one more question, how do i time the preon sound to the seismic charge? TrDoEffect effect_transition_sound? I already have one of these in the preset, can you have two separate ones?

Preon effects from the library already time to the sound automatically.

If you’re building your own you’d use WavLen<> function.