Preon and Postoff aren't working

I am running ProffieOS 6. I made a custom preon sound font, but there must be something wrong with the code. The time length I specified is “0” so it will match the .wav length, but neither the preon, or the out sounds, or effects are working. The blade simply turns on with the hum wave. Obviously I’m new, and once you show me my error, I’ll learn a lot from it.
Can I paste my single style config file here?

“0” doesn’t automatically time to wav length for Preon or PstOff, you’ll need to use the actual WavLen<> function to do that.

I think you’re confusing it with IgnitionTime<> and RetractionTime<> which are specifically made to work with Edit Mode to enable the “Auto” function. Setting “0” in any other function just means “0”.

Yes, you can post your style code here. Best to use the three ticks “```” to show it in a post.

Yes, you are right with my edit mode thinking. Ok, So by changing a 2 second wav file into 2000ms, the timing should work as planned.

Yes, or just use WavLen<> in place of Int<2000> and it will time itself.

#ifdef CONFIG_TOP
#include "proffieboard_v2_config.h"
#define NUM_BLADES 1
#define NUM_BUTTONS 2
#define VOLUME 2500
const unsigned int maxLedsPerStrip = 144;
#define CLASH_THRESHOLD_G 4.0
#define ENABLE_AUDIO
#define ENABLE_MOTION
#define ENABLE_WS2811
#define ENABLE_SD
//#define COLOR_CHANGE_DIRECT
#define DISABLE_DIAGNOSTIC_COMMANDS
#define NO_REPEAT_RANDOM
#define MOTION_TIMEOUT 60 * 15 * 1000
#define IDLE_OFF_TIME 5 * 60 * 1000
#define FETT263_MULTI_PHASE
//#define FETT263_EDIT_MODE_MENU
//#define ENABLE_ALL_EDIT_OPTIONS
#define FETT263_CLASH_STRENGTH_SOUND
#define FETT263_DUAL_MODE_SOUND
#define DISABLE_BASIC_PARSER_STYLES
#define FETT263_MAX_CLASH 16
#define FETT263_HOLD_BUTTON_LOCKUP
#define ENABLE_SERIAL
#endif

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

#ifdef CONFIG_PRESETS
Preset presets[] = {

{ "Vengeanc", "Vengeanc/font.wav",
/* copyright Fett263 Rotoscope (Primary Blade) OS6 Style
https://fett263.com/fett263-proffieOS6-style-library.html#Rotoscope
OS6.7 v4.014
Single Style 
Base Style: Hyper Responsive Rotoscope (Sequels)

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

--Effects Included--
Preon Effect: Faulty Ignition (PreOn Color)
Ignition Effect: SparkTip Ignition
Retraction Effect: Standard Retraction
PostOff Effect: Emitter Glow (Preon Size)
Lockup Effect: Responsive Lockup, Begin Effect: Real Clash, End Effect: Full Blade Absorb
LightningBlock Effect: Responsive Lightning Block
Drag Effect: Intensity Sparking Drag
Melt Effect: Intensity Melt
Stab Effect: Sparking Stab
Blast Effect: Blast Wave (Random)
Clash Effect: Responsive Clash with Wave
Emitter Effect: Emitter Heat Up
*/
StylePtr<Layers<Mix<HoldPeakF<SwingSpeed<250>,Scale<SwingAcceleration<100>,Int<50>,Int<500>>,Scale<SwingAcceleration<>,Int<20000>,Int<10000>>>,
RandomFlicker<StripesX<Int<14000>,Scale<HoldPeakF<SwingSpeed<200>,Scale<SwingAcceleration<100>,Int<50>,Int<300>>,Scale<SwingAcceleration<100>,Int<24000>,
Int<16000>>>,Int<-4000>,Int<-400>>,RgbArg<BASE_COLOR_ARG,Rgb<0,255,0>>,RgbArg<BASE_COLOR_ARG,Rgb<0,255,0>>,Mix<Int<7710>,Black,RgbArg<BASE_COLOR_ARG,Rgb<0,255,0>>>,
RgbArg<BASE_COLOR_ARG,Rgb<0,255,0>>,Mix<Int<19276>,Black,RgbArg<BASE_COLOR_ARG,Rgb<0,255,0>>>>,RgbArg<BASE_COLOR_ARG,Rgb<0,255,0>>>,RgbArg<BASE_COLOR_ARG,Rgb<0,255,0>>>,
AlphaL<TransitionEffect<RgbArg<EMITTER_COLOR_ARG,Rgb<255,255,255>>,AlphaL<RgbArg<EMITTER_COLOR_ARG,Rgb<255,255,255>>,Int<0>>,TrInstant,TrConcat<TrFade<1000>,Red,TrFade<1000>,
Orange,TrFade<1000>>,EFFECT_IGNITION>,SmoothStep<IntArg<EMITTER_SIZE_ARG,2000>,Int<-6000>>>,TransitionEffectL<TrConcat<TrJoin<TrDelayX<WavLen<>>,TrWipeIn<200>>,
AlphaL<RandomPerLEDFlickerL<RgbArg<STAB_COLOR_ARG,Rgb<255,255,255>>>,SmoothStep<IntArg<MELT_SIZE_ARG,28000>,Int<2000>>>,TrWipe<200>>,EFFECT_STAB>,
MultiTransitionEffectL<TrWaveX<RgbArg<BLAST_COLOR_ARG,Rgb<255,255,255>>,Scale<EffectPosition<EFFECT_BLAST>,Int<100>,Int<400>>,Int<100>,Scale<EffectPosition<EFFECT_BLAST>,Int<100>,Int<400>>,
Scale<EffectPosition<EFFECT_BLAST>,Int<28000>,Int<8000>>>,EFFECT_BLAST>,TransitionEffectL<TrWaveX<RgbArg<CLASH_COLOR_ARG,Rgb<255,255,255>>,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<AlphaMixL<Bump<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>>>>,AudioFlickerL<RgbArg<LOCKUP_COLOR_ARG,Rgb<255,255,255>>>,BrownNoiseFlickerL<RgbArg<LOCKUP_COLOR_ARG,Rgb<255,255,255>>,Int<200>>>,
TrConcat<TrInstant,RgbArg<LOCKUP_COLOR_ARG,Rgb<255,255,255>>,TrFade<400>>,TrConcat<TrInstant,RgbArg<LOCKUP_COLOR_ARG,Rgb<255,255,255>>,TrFade<400>>,SaberBase::LOCKUP_NORMAL>,
ResponsiveLightningBlockL<Strobe<RgbArg<LB_COLOR_ARG,Rgb<255,255,255>>,AudioFlicker<RgbArg<LB_COLOR_ARG,Rgb<255,255,255>>,Blue>,50,1>,TrConcat<TrInstant,AlphaL<RgbArg<LB_COLOR_ARG,Rgb<255,255,255>>,
Bump<Int<12000>,Int<18000>>>,TrFade<200>>,TrConcat<TrInstant,HumpFlickerL<AlphaL<RgbArg<LB_COLOR_ARG,Rgb<255,255,255>>,Int<16000>>,30>,TrSmoothFade<600>>>,
LockupTrL<AlphaL<RandomPerLEDFlickerL<RgbArg<DRAG_COLOR_ARG,Rgb<255,255,255>>>,SmoothStep<IntArg<DRAG_SIZE_ARG,28000>,Int<3000>>>,TrConcat<TrJoin<TrDelay<4000>,TrWipeIn<200>>,
AlphaL<BrownNoiseFlickerL<RgbArg<DRAG_COLOR_ARG,Rgb<255,255,255>>,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<TrWipeSparkTipX<RgbArg<IGNITION_COLOR_ARG,Rgb<255,255,255>>,IgnitionTime<0>>,TrWipeInX<RetractionTime<0>>,
Black>,TransitionEffectL<TrConcat<TrInstant,AlphaL<Mix<Trigger<EFFECT_PREON,Mult<Int<16384>,WavLen<EFFECT_PREON>>,Mult<Int<10922>,WavLen<EFFECT_PREON>>,
Mult<Int<5462>,WavLen<EFFECT_PREON>>>,BrownNoiseFlicker<Black,RgbArg<PREON_COLOR_ARG,Rgb<100,100,150>>,100>,RandomPerLEDFlicker<RgbArg<PREON_COLOR_ARG,Rgb<100,100,150>>,Rgb<50,50,50>>,
BrownNoiseFlicker<Mix<NoisySoundLevel,RgbArg<PREON_COLOR_ARG,Rgb<100,100,150>>,RotateColorsX<Int<4000>,RgbArg<PREON_COLOR_ARG,Rgb<100,100,150>>>>,White,50>>,SmoothStep<Scale<NoisySoundLevel,Int<-10000>,
Int<36000>>,Int<-4000>>>,TrDelayX<WavLen<EFFECT_PREON>>>,EFFECT_PREON>,TransitionEffectL<TrConcat<TrInstant,AlphaL<White,Int<0>>,TrJoin<TrDelay<1000>,TrInstant>,AlphaL<RgbArg<POSTOFF_COLOR_ARG,Rgb<108,255,0>>,
SmoothStep<IntArg<PREON_SIZE_ARG,-227>,Int<-2000>>>,TrSmoothFadeX<Scale<IsLessThan<WavLen<EFFECT_POSTOFF>,Int<200>>,WavLen<EFFECT_POSTOFF>,Int<4000>>>>,EFFECT_POSTOFF>>>(),
"venggreen"
},

};

BladeConfig blades[] = {
 { 0, WS281XBladePtr<144, bladePin, Color8::GRB, PowerPINS<bladePowerPin2, bladePowerPin3> >()
  , CONFIGARRAY(presets) },
};
#endif

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

EDIT: Scratch that are these modified or straight from the Library? What did you change to “0”? As written these “should” work fine.

This code came from the library. I ran it also through fredrik’s style editor (which worked fine), but won’t work on the saber. I tried different preon wav files to make sure. Also tried different blade styles from the library. no joy

Does the preon sound play? Are you sure the style uploaded to your board?

The style is uploading to the board without errors. The correctly named sound fonts are on the memory card. When the saber ignites, it is instant on, with the hum wav. No preon, and no ignition, sound or light. Retraction and postoff are working as expected.

Your preon and/or out sound must not be formatted correctly then. You can hook up to Serial Monitor to see if it is trying to play them.

1 Like

I know it’s a dumb sounding sound, but I’m just practicing.

The file has to be formatted correctly for the OS to use, they should be 44khz mono wav file. If you hook up to Tools > Serial Monitor in Arduino it will show if it is able to find and play the sounds, my guess is the sounds are missing or not formatted correctly but the Serial Monitor will let you know for sure.

That’s going to be it. I know I didn’t change it to mono.

Thank you sir!! Problem solved.

You’re welcome, good to hear.

I think it’s great!