Style Editor BETA

Even subbing that in it’s still just dark. hmm.
RetractionTime<> is the same, but correcting the Expanded template does work there.

It’s a bug in the editor, hence me reporting it :wink:

IgnitionTime, RetractionTime and some transition-related problems, as illustrated by the TrCenterWipeX example above should now be fixed.

1 Like

I’ve made some improvements to the argify button, it should catch a few more things now.

1 Like

I just ran argument conversions on what I was running in 5.9 with the modded/customized Fett263 and other styles. So far no compilation issues. It was a long day at work so I’ll have to upload and test these in a saber tomorrow and report back if anything comes up.

/Users/Library/Arduino15/packages/proffieboard/tools/arm-none-eabi-gcc/9-2020-q2-update/bin/../lib/gcc/arm-none-eabi/9.3.1/../../../../arm-none-eabi/bin/ld: warning: changing start of section .bss by 16 bytes
Sketch uses 191256 bytes (72%) of program storage space. Maximum is 262144 bytes.

Here’s a couple for others to play with and LMK if anything kicks back.

//GhostOfTapal
{"Fallen;common","tracks/obiwanholomsg.wav",
StylePtr<
Layers<
  RgbArg<BASE_COLOR_ARG,Black>,
  AudioFlickerL<Rgb<108,108,108>>,
  AudioFlickerL<Rgb<0,0,158>>,
  AlphaL<Stripes<10000,-2000,HumpFlicker<Rgb<0,0,40>,Rgb<20,30,0>,50>,HumpFlicker<Blue,NavajoWhite,50>,HumpFlicker<Rgb<0,0,80>,Rgb<40,60,0>,50>>,SwingSpeed<600>>,
  TransitionLoopL<TrConcat<TrDelayX<Scale<Sin<Int<12>>,Int<400>,Int<100>>>,AlphaL<Black,Int<0>>,TrWaveX<BrownNoiseFlicker<White,Rgb<50,50,255>,50>,Scale<Sin<Int<10>>,Int<500>,Int<1500>>,Int<100>,Scale<SlowNoise<Int<1200>>,Int<600>,Int<1200>>,Int<0>>>>,
  TransitionEffectL<TrConcat<TrFade<600>,RandomFlicker<ColorChange<TrInstant,Rgb<0,0,100>>,ColorChange<TrInstant,Blue>>,TrDelay<30000>>,EFFECT_FORCE>,
  TransitionEffectL<TrConcat<TrInstant,BrownNoiseFlickerL<AlphaL<White,Int<16000>>,Int<50>>,TrSmoothFade<600>>,EFFECT_LOCKUP_END>,
  LockupTrL<Layers<
    AlphaL<AudioFlickerL<RgbArg<LOCKUP_COLOR_ARG,White>>,Bump<Scale<BladeAngle<>,Scale<BladeAngle<90,890>,Int<25>,Int<8000>>,Int<800>>,Scale<SwingSpeed<100>,Int<8>,Int<100>>>>,
    AlphaL<White,Bump<Scale<BladeAngle<>,Scale<BladeAngle<0,16000>,Int<40>,Int<26000>>,Int<6000>>,Int<10000>>>>,TrConcat<TrInstant,Red,TrFade<400>>,TrConcat<TrInstant,Red,TrFade<400>>,SaberBase::LOCKUP_NORMAL>,
  ResponsiveLightningBlockL<Strobe<RgbArg<LB_COLOR_ARG,White>,AudioFlicker<White,Blue>,50,1>,TrConcat<TrInstant,AlphaL<White,Bump<Int<12000>,Int<18000>>>,TrFade<200>>,TrConcat<TrInstant,HumpFlickerL<AlphaL<White,Int<16000>>,30>,TrSmoothFade<600>>>,
  ResponsiveStabL<RgbArg<STAB_COLOR_ARG,Red>>,
  ResponsiveBlastL<TransitionEffect<RgbArg<BLAST_COLOR_ARG,Azure>,White,TrInstant,TrFade<100>,EFFECT_BLAST>,Int<400>,Scale<SwingSpeed<200>,Int<100>,Int<400>>>,
  ResponsiveClashL<TransitionEffect<RgbArg<CLASH_COLOR_ARG,Azure>,White,TrInstant,TrFade<100>,EFFECT_CLASH>,TrInstant,TrFade<400>,Scale<BladeAngle<0,16000>,Int<4000>,Int<26000>>,Int<6000>,Int<20000>>,
  LockupTrL<AlphaL<Mix<TwistAngle<>,Stripes<1000,3000,RgbArg<DRAG_COLOR_ARG,Cyan>,White,Rgb<0,50,50>,Rgb<75,75,75>>,Stripes<2000,3000,Rgb<75,75,75>,Rgb<75,75,75>,Rgb<100,100,100>,Rgb<60,60,60>>>,SmoothStep<Scale<TwistAngle<>,Int<29000>,Int<26000>>,Int<5000>>>,TrWipeIn<600>,TrFade<300>,SaberBase::LOCKUP_DRAG>,
  LockupTrL<AlphaL<Mix<TwistAngle<>,Stripes<1000,3000,Red,Black,Rgb<200,0,0>,Rgb<90,0,0>>,Stripes<2000,3000,Rgb<255,200,0>,Rgb<100,75,0>,Rgb<200,160,0>,Rgb<60,40,0>>>,SmoothStep<Scale<TwistAngle<>,Int<29000>,Int<26000>>,Int<5000>>>,TrWipeIn<600>,TrFade<300>,SaberBase::LOCKUP_MELT>,
  InOutTrL<TrWipe<300>,TrWipeIn<500>>,
  TransitionEffectL<TrConcat<TrDelay<1500>,Black,TrFade<1000>,AlphaL<Mix<BatteryLevel,Red,Green>,Bump<Int<0>,Int<6000>>>,TrFade<3000>>,EFFECT_BOOT>,
  TransitionEffectL<TrConcat<TrInstant,AlphaL<Mix<BatteryLevel,Red,Green>,SmoothStep<Int<4000>,Int<-4000>>>,TrDelay<2000>,AlphaL<Mix<BatteryLevel,Red,Green>,SmoothStep<Int<4000>,Int<4000>>>,TrFade<1000>>,EFFECT_BATTERY_LEVEL>,
  AlphaL<Black,Scale<IsLessThan<BatteryLevel,Int<11000>>,Int<0>,Int<11000>>>>>(), "GhostOfTapal"},


//CorranHorn_SonOfCorellia_RevoPersonalBladestyle
{"SoC","tracks/JFO1.wav",
StylePtr<
Layers<
  AudioFlicker<StripesX<Int<10000>,Int<-1000>,RgbArg<BASE_COLOR_ARG,Rgb<100,125,215>>,Rgb<127,127,172>,Rgb<100,125,225>,Rgb<23,29,51>>,Rgb<100,125,215>>,
  TransitionEffectL<TrConcat<TrFade<600>,AudioFlicker<Rgb<150,200,200>,Rgb<0,35,40>>,TrDelay<60000>,Black,TrFade<1300>>,EFFECT_FORCE>,
  ResponsiveLightningBlockL<Strobe<RgbArg<LB_COLOR_ARG,Rgb<230,230,30>>,AudioFlicker<GreenYellow,Blue>,50,1>,TrConcat<TrInstant,AlphaL<White,Bump<Int<12000>,Int<18000>>>,TrFade<200>>,TrConcat<TrInstant,HumpFlickerL<AlphaL<White,Int<16000>>,30>,TrSmoothFade<600>>>,
  ResponsiveStabL<RgbArg<STAB_COLOR_ARG,Red>>,
  ResponsiveBlastL<RgbArg<BLAST_COLOR_ARG,Rgb<250,250,0>>,Int<400>,Scale<SwingSpeed<200>,Int<100>,Int<400>>>,
  ResponsiveClashL<RgbArg<CLASH_COLOR_ARG,Rgb<250,250,0>>,TrInstant,TrFade<400>,Scale<BladeAngle<0,16000>,Int<4000>,Int<26000>>,Int<6000>,Int<20000>>,
  LockupTrL<Layers<
    AlphaL<Blinking<RgbArg<LOCKUP_COLOR_ARG,Rgb<250,250,10>>,Strobe<Rgb<200,200,12>,Black,15,30>,60,900>,Bump<Scale<BladeAngle<5000,28000>,Scale<BladeAngle<8000,16000>,Int<3000>,Int<44000>>,Int<3000>>,Scale<SlowNoise<Int<3000>>,Int<8000>,Int<18000>>>>,
    AlphaL<Blinking<BrownNoiseFlicker<Rgb<220,220,12>,Black,50>,BrownNoiseFlicker<White,LemonChiffon,50>,100,500>,Bump<Scale<BladeAngle<5000,28000>,Scale<BladeAngle<8000,16000>,Int<3000>,Int<44000>>,Int<3000>>,Int<9000>>>>,TrConcat<TrInstant,AlphaL<Blinking<White,Strobe<BrownNoiseFlicker<Moccasin,Rgb<30,30,30>,500>,Black,15,30>,60,500>,Bump<Scale<BladeAngle<5000,28000>,Scale<BladeAngle<8000,16000>,Int<3000>,Int<44000>>,Int<3000>>,Scale<SlowNoise<Int<3000>>,Int<25000>,Int<32000>>>>,TrFade<500>>,TrSmoothFade<250>,SaberBase::LOCKUP_NORMAL>,
  TransitionEffectL<TrConcat<TrInstant,AlphaL<Strobe<Rgb<250,250,12>,Black,60,30>,Bump<Scale<BladeAngle<5000,28000>,Scale<BladeAngle<8000,16000>,Int<3000>,Int<44000>>,Int<3000>>,Int<15000>>>,TrFade<600>>,EFFECT_LOCKUP_BEGIN>,
  TransitionEffectL<TrConcat<TrInstant,HumpFlickerL<Strobe<AlphaL<Rgb<250,250,12>,Int<20000>>,Black,20,30>,30>,TrSmoothFade<250>>,EFFECT_LOCKUP_BEGIN>,
  TransitionEffectL<TrConcat<TrInstant,Rgb<250,250,12>,TrDelay<25>>,EFFECT_LOCKUP_BEGIN>,
  TransitionEffectL<TrConcat<TrInstant,Strobe<Rgb<250,250,12>,Black,20,30>,TrFade<200>,BrownNoiseFlickerL<AlphaL<GreenYellow,Int<16000>>,Int<50>>,TrJoinR<TrWipe<200>,TrWipeIn<200>,TrFade<300>>>,EFFECT_LOCKUP_END>,
  ResponsiveLightningBlockL<Strobe<RgbArg<LB_COLOR_ARG,White>,AudioFlicker<White,Rgb<0,0,220>>,50,1>,TrConcat<TrInstant,AlphaL<White,Bump<Int<12000>,Int<18000>>>,TrFade<200>>,TrConcat<TrInstant,HumpFlickerL<AlphaL<White,Int<16000>>,30>,TrSmoothFade<600>>>,
  LockupTrL<AlphaL<Mix<TwistAngle<>,Stripes<1000,3000,RgbArg<DRAG_COLOR_ARG,Cyan>,White,Rgb<0,50,90>,Rgb<75,75,75>>,Stripes<2000,3000,Rgb<75,75,75>,Rgb<0,75,75>,Rgb<100,100,100>,Rgb<0,0,200>>>,SmoothStep<Scale<TwistAngle<>,Int<29000>,Int<26000>>,Int<5000>>>,TrWipeIn<600>,TrFade<300>,SaberBase::LOCKUP_DRAG>,
  LockupTrL<AlphaL<Mix<TwistAngle<>,Stripes<1000,3000,Red,Black,Rgb<200,0,0>,Rgb<90,0,0>>,Stripes<2000,3000,Rgb<255,200,0>,Rgb<100,75,0>,Rgb<200,160,0>,Rgb<60,40,0>>>,SmoothStep<Scale<TwistAngle<>,Int<29000>,Int<26000>>,Int<5000>>>,TrWipeIn<600>,TrFade<300>,SaberBase::LOCKUP_MELT>,
  InOutTrL<TrWipe<300>,TrWipeIn<500>>,
  TransitionEffectL<TrConcat<TrDelay<1500>,Black,TrFade<1000>,AlphaL<Mix<BatteryLevel,Red,Green>,Bump<Int<0>,Int<6000>>>,TrFade<3000>>,EFFECT_BOOT>,
  TransitionEffectL<TrConcat<TrInstant,AlphaL<Mix<BatteryLevel,Red,Green>,SmoothStep<Int<4000>,Int<-4000>>>,TrDelay<2000>,AlphaL<Mix<BatteryLevel,Red,Green>,SmoothStep<Int<4000>,Int<4000>>>,TrFade<1000>>,EFFECT_BATTERY_LEVEL>,
  AlphaL<Black,Scale<IsLessThan<BatteryLevel,Int<11000>>,Int<0>,Int<11000>>>>>(), "RevosPersonalBladestyle"},

Confirmed, thanks.

So good.

I do have this style that’s the first one I made in the editor and I like to keep it around.

Here it is layerized and then Argified

StylePtr<Layers<
  Layers<
    DeepSkyBlue,
    PulsingL<Blue,Int<3200>>,
    SparkleL<HotPink,75,750>>,
  BlastL<HotPink>,
  LockupL<AudioFlicker<DeepSkyBlue,HotPink>,AudioFlicker<Blue,White>>,
  SimpleClashL<HotPink>,
  InOutHelperL<InOutFuncX<Int<300>,Int<500>>>>>()

StylePtr<Layers<
  Layers<
    RgbArg<BASE_COLOR_ARG,DeepSkyBlue>,
    PulsingL<Blue,Int<3200>>,
    SparkleL<HotPink,75,750>>,
  BlastL<RgbArg<BLAST_COLOR_ARG,HotPink>>,
  LockupL<AudioFlicker<RgbArg<LOCKUP_COLOR_ARG,DeepSkyBlue>,HotPink>,AudioFlicker<RgbArg<DRAG_COLOR_ARG,Blue>,White>>,
  SimpleClashL<RgbArg<CLASH_COLOR_ARG,HotPink>>,
  InOutHelperL<InOutFuncX<IntArg<IGNITION_TIME_ARG,300>,IntArg<RETRACTION_TIME_ARG,500>>>>>()

Can I add arguments for SparkleL and PulseL to add them to edit mode in the Argified version?

One of them could use ALT_COLOR_ARG, but I’m not sure about the other one.

1 Like

InvertF<> is currently missing.

AlphaL<White,SmoothStep<InvertF<SwingSpeed<600>>,Int<0>>

If the template buttons area is getting too crowded, maybe they could use dropdown menus or subgrouping? I’m don’t know if the plan is to eventually include ALL the things (such as less “popular”, more obscure functions), but dropdown menus could make the long list more easily navigated? (small image for visual example)
Screen Shot 2022-02-07 at 10.26.25 PM

For the most part, the tabs have a button for every function/style there is. There may be a few exceptions, like I don’t always include both the Style and the StyleX buttons.

I’m not sure how drop-downs would help though. Drop-downs are super-hard to navigate once you have too many things in them. I suppose I could put a bunch of drop-downs in each tab, but that depends on having a reasonable way to group things…

I suppose I could solve the whole Style/StyleX problem by having a Style button which brings up both options, but it’s probably easier to just hit Style and then Expand.

InvertF has been added now.

Expand button is great, if you know how to use it.
If dropdowns get too long/unruly, how about at least fixed width columns, so sorting is top to bottom left to right?
The buttons rearranging themselves as window size changes, with a button landing in a different spot all the time is I think what makes it feel jumbled (to me anyway).
-EDIT- To clarify, this primarily happens when resizing the style box larger for more visibility, and it’s dragged right, beyond the default width of the tabs/buttons area. The browser window itself would need to start as small as it gets, then enlarged substatially to have the same effect.

I agree that having the buttons move around makes it harder. If they would stay put, the common buttons would be much easier to find. I’m not sure if fixed-sized columns is the solution though, because I would then have to change the number of columns when you re-scale.

Seems like this is a problem that should occur in other apps as well, but I’m not sure how they solve it… It’s not like I’m a UI designer. :slight_smile:

Looks like EffectPosition<> isn’t reading the last_detected if set to EFFECT_NONE.

TransitionEffectL<TrConcat<TrInstant,AlphaL<White,Bump<EffectPosition<>,Int<8000>>>,TrFade<300>>,EFFECT_BLAST>

EffectPosition should be fixed now.
Also, you can now swing the blade by mousing over the preview, and mouse clicks will trigger a clash.

1 Like

PS: if you hold shift while moving the mouse, the blade will not move, but SwingSpeed/SwingAcceleration will.

2 Likes

I can’t seem to get the mouse over the preview or clicks to work, I tried clearing cache.

Looks like I failed to copy it over to the beta URL.
Fixed now.

1 Like

Yup working now (confirmed above controls work as expected), it’s pretty cool being able to use the mouse to swing around, takes a little getting used to (or maybe it’s my mouse) because moving too much got super jumpy but definitely a very cool feature. Might want to increase the canvas height a bit, if possible, as the blade seems to disappear off the canvas a lot when trying to tip up or down for me or jump back to stationary.

1 Like