Could you guys add OPTIONS for Emitter Flare? That way we can chose to enable/disable in Edit Mode/WebUSB. I was able to rig this to work using Swing Options, which is cool since I pretty much use one option there, so I know it’s possible.
What is emitter flare exactly and how do you think it should work?
Sorry, I think I meant “Base Flare/Emitter Effect” - Emitter Flare is an option in that:
It would work like the other options available; being able to choose what emitter option you wanted based on ColorSelect<IntArg<EMITTER_OPTION_ARG, 0>
… presumably.
I have it already working, but using SWING_OPTION_ARG instead, so it would be nice if it had it’s own option to be used in conjunction with swing options.
//////////////////////////// EMITTER FLARE OPTIONS (Swing Option) ////////////////////////////////
ColorSelect<IntArg<SWING_OPTION_ARG,0>,TrInstant,
// FLARE 0 - Disable //
AlphaL<Black,Int<0>>,
// FLARE 1 - Stable Flare //
AlphaL<RgbArg<EMITTER_COLOR_ARG,Rgb<255,255,255>>,SmoothStep<IntArg<EMITTER_SIZE_ARG,2000>,Int<-6000>>>,
// FLARE 2 - Flickering Flare //
AlphaL<AudioFlickerL<RgbArg<EMITTER_COLOR_ARG,Rgb<255,255,255>>>,SmoothStep<IntArg<EMITTER_SIZE_ARG,2000>,Int<-6000>>>,
// FLARE 3 - Unstable Flare //
AlphaL<RandomPerLEDFlickerL<RgbArg<EMITTER_COLOR_ARG,Rgb<255,255,255>>>,SmoothStep<Scale<NoisySoundLevel,IntArg<EMITTER_SIZE_ARG,2000>,Sum<IntArg<EMITTER_SIZE_ARG,2000>,Int<6000>>>,Int<-6000>>>
>,
It’s an effect in my library that adds a localized color or effect at the base of the blade.
You can just do
ColorSelect<IntArg<33,0>...>
IntArg 1 ~ 32 are dedicated to Edit Mode but you can add user specific arguments to IntArg sequentially above 32 for anything you wanted.
Now if you’re asking to have more Argument options added to Edit Mode itself, that’s a bigger ask as it would require new menus and voice prompts to support, I’m on the fence about expanding the menu system at this time.
In my set ups I would just make a preset with an emitter flare and a preset without an emitter flare and change the Style Number itself when you wanted to toggle. If all other layers are the same the addition of a style with an emitter flare wouldn’t take up much more memory. This would be simpler than adding another argument and menu to support it as it’s a lesser used option.
I see what you’re saying, that makes sense. That’s super great though there are more IntArgs to use! I’ll experiment with adding a 33 IntArg and see how that goes. For me, it’s nice to be able to quickly add a base flare to any style on the fly and see how that looks and keep all else the same.
If you build identical styles, one with a base flare and one without and put them into your config consecutively, then changing the style number would do this exactly
It would have all other colors and edits in place and just drop in your base flare, this was actually how the original test styles in Beta testing were designed.
It would, but I already have 13 styles in there already… I don’t want to have 26+ with those duplicates. Plus, I have Stable Flare, Flickering Flare, and Unstable Flare options, so that’s x4 needed
Here’s how I implemented it utilizing the swing option. It works great:
ColorSelect<IntArg<STYLE_OPTION_ARG,0>,TrInstant,
// COLOR 0 - AUDIO FLICKER (Original Trilogy) //
Mix<HoldPeakF<SwingSpeed<250>,Scale<SwingAcceleration<100>,Int<50>,Int<500>>,Scale<SwingAcceleration<>,Int<20000>,Int<10000>>>,RandomFlicker<StripesX<Int<15000>,Scale<HoldPeakF<SwingSpeed<200>,Scale<SwingAcceleration<100>,Int<50>,Int<300>>,Scale<SwingAcceleration<100>,Int<24000>,Int<16000>>>,Int<-3200>,Int<-200>>,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>>>,
// COLOR 1 - AUDIO FLICKER (Sequel Trilogy)//
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>>>,
// COLOR 2 - FALLEN ORDER //
Stripes<16000,-1000,RgbArg<BASE_COLOR_ARG,Rgb<2,72,255>>,Pulsing<Mix<Int<11565>,Black,RgbArg<BASE_COLOR_ARG,Rgb<2,72,255>>>,RgbArg<BASE_COLOR_ARG,Rgb<2,72,255>>,800>,RgbArg<BASE_COLOR_ARG,Rgb<2,72,255>>>,
// COLOR 3 - FAST FLICKER (Dual Color) //
AudioFlicker<Stripes<14000,-4000,RgbArg<BASE_COLOR_ARG,Rgb<255,0,0>>,RgbArg<BASE_COLOR_ARG,Rgb<255,0,0>>,RgbArg<ALT_COLOR_ARG,Rgb<115,15,240>>,RgbArg<BASE_COLOR_ARG,Rgb<255,0,0>>,Mix<Int<16448>,Black,RgbArg<ALT_COLOR_ARG,Rgb<115,15,240>>>>,RgbArg<BASE_COLOR_ARG,Rgb<255,0,0>>>,
// COLOR 4 - THE TWINS (Dual Color Gradient) //
Mix<SmoothStep<Int<15000>,Int<18000>>,Stripes<22000,-2000,RgbArg<BASE_COLOR_ARG,Rgb<255,36,118>>,Mix<Int<18000>,Black,RgbArg<BASE_COLOR_ARG,Rgb<255,36,118>>>,HumpFlicker<Mix<Int<6000>,Black,RgbArg<BASE_COLOR_ARG,Rgb<255,36,118>>>,RgbArg<BASE_COLOR_ARG,Rgb<255,36,118>>,20>>,Stripes<20000,-1800,RgbArg<ALT_COLOR_ARG,Rgb<0,135,255>>,Mix<Int<18000>,Black,RgbArg<ALT_COLOR_ARG,Rgb<0,135,255>>>,HumpFlicker<Mix<Int<6000>,Black,RgbArg<ALT_COLOR_ARG,Rgb<0,135,255>>>,RgbArg<ALT_COLOR_ARG,Rgb<0,135,255>>,20>>>,
// COLOR 5 - THE DUEL RONIN (Hump Flicker) //
HumpFlicker<Stripes<20000,-800,RgbArg<BASE_COLOR_ARG,Rgb<255,0,0>>,Mix<Int<12000>,Black,RgbArg<BASE_COLOR_ARG,Rgb<255,0,0>>>>,RgbArg<BASE_COLOR_ARG,Rgb<255,0,0>>,50>,
// COLOR 6 - UNSTABLE KYLO //
StaticFire<BrownNoiseFlicker<RgbArg<BASE_COLOR_ARG,Rgb<255,0,0>>,RandomPerLEDFlicker<Mix<Int<3213>,Black,RgbArg<BASE_COLOR_ARG,Rgb<255,0,0>>>,Mix<Int<7710>,Black,RgbArg<BASE_COLOR_ARG,Rgb<255,0,0>>>>,300>,Mix<Int<10280>,Black,RgbArg<BASE_COLOR_ARG,Rgb<255,0,0>>>,0,6,10,1000,2>,
// COLOR 7 - UNSTABLE UNLEASHED //
StaticFire<Stripes<2500,-5000,BrownNoiseFlicker<RgbArg<BASE_COLOR_ARG,Rgb<255,0,0>>,Black,20>,Mix<Int<1285>,Black,RgbArg<BASE_COLOR_ARG,Rgb<255,0,0>>>,BrownNoiseFlicker<Black,Mix<Int<3212>,RgbArg<BASE_COLOR_ARG,Rgb<255,0,0>>,White>,70>,Mix<Int<16384>,Black,RgbArg<BASE_COLOR_ARG,Rgb<255,0,0>>>>,Mix<Int<10280>,Black,RgbArg<BASE_COLOR_ARG,Rgb<255,0,0>>>,0,5,2,3000,0>,
// COLOR 8 - MAGNAGUARD //
StaticFire<Strobe<RgbArg<BASE_COLOR_ARG,Rgb<118,0,194>>,Strobe<Rgb<100,100,150>,RandomPerLEDFlicker<RgbArg<BASE_COLOR_ARG,Rgb<118,0,194>>,Black>,50,1>,100,1>,Mix<Int<6425>,Black,RgbArg<BASE_COLOR_ARG,Rgb<118,0,194>>>,0,5,2,1000,5>,
// COLOR 9 - DARK SABER //
Mix<HoldPeakF<SwingSpeed<400>,Scale<SwingAcceleration<>,Int<2000>,Int<4000>>,Int<8000>>,HumpFlicker<RgbArg<BASE_COLOR_ARG,Rgb<100,100,150>>,Stripes<35000,-200,Mix<Int<14000>,Black,RgbArg<BASE_COLOR_ARG,Rgb<100,100,150>>>,Mix<Int<24000>,Black,RgbArg<BASE_COLOR_ARG,Rgb<100,100,150>>>,Mix<Int<28000>,Black,RgbArg<BASE_COLOR_ARG,Rgb<100,100,150>>>>,100>,RgbArg<BASE_COLOR_ARG,Rgb<100,100,150>>>,
// COLOR 10 - RAINBOW SCROLL / ROLLING RAINBOW UP //
AudioFlicker<Stripes<1000,-1200,Magenta,Blue,Cyan,Green,Yellow,Orange,Red>,Mix<Int<12000>,Stripes<1000,-1200,Magenta,Blue,Cyan,Green,Yellow,Orange,Red>,White>>,
//Mix<HoldPeakF<SwingSpeed<250>,Scale<SwingAcceleration<100>,Int<50>,Int<500>>,Scale<SwingAcceleration<>,Int<20000>,Int<10000>>>,RandomFlicker<StripesX<Int<15000>,Scale<HoldPeakF<SwingSpeed<200>,Scale<SwingAcceleration<100>,Int<50>,Int<300>>,Scale<SwingAcceleration<100>,Int<24000>,Int<16000>>>,Int<-3200>,Int<-200>>,RotateColorsX<Saw<Int<20>>,Gradient<RgbArg<BASE_COLOR_ARG,Rgb<255,0,0>>,RotateColorsX<Int<-4000>,RgbArg<BASE_COLOR_ARG,Rgb<255,0,0>>>,RotateColorsX<Int<-8000>,RgbArg<BASE_COLOR_ARG,Rgb<255,0,0>>>>>,RotateColorsX<Saw<Int<20>>,Gradient<RgbArg<BASE_COLOR_ARG,Rgb<255,0,0>>,RotateColorsX<Int<-4000>,RgbArg<BASE_COLOR_ARG,Rgb<255,0,0>>>,RotateColorsX<Int<-8000>,RgbArg<BASE_COLOR_ARG,Rgb<255,0,0>>>>>,Mix<Int<7710>,Black,RotateColorsX<Saw<Int<20>>,Gradient<RgbArg<BASE_COLOR_ARG,Rgb<255,0,0>>,RotateColorsX<Int<-4000>,RgbArg<BASE_COLOR_ARG,Rgb<255,0,0>>>,RotateColorsX<Int<-8000>,RgbArg<BASE_COLOR_ARG,Rgb<255,0,0>>>>>>,RotateColorsX<Saw<Int<20>>,Gradient<RgbArg<BASE_COLOR_ARG,Rgb<255,0,0>>,RotateColorsX<Int<-4000>,RgbArg<BASE_COLOR_ARG,Rgb<255,0,0>>>,RotateColorsX<Int<-8000>,RgbArg<BASE_COLOR_ARG,Rgb<255,0,0>>>>>,Mix<Int<19276>,Black,RotateColorsX<Saw<Int<20>>,Gradient<RgbArg<BASE_COLOR_ARG,Rgb<255,0,0>>,RotateColorsX<Int<-4000>,RgbArg<BASE_COLOR_ARG,Rgb<255,0,0>>>,RotateColorsX<Int<-8000>,RgbArg<BASE_COLOR_ARG,Rgb<255,0,0>>>>>>>,RotateColorsX<Saw<Int<20>>,Gradient<RgbArg<BASE_COLOR_ARG,Rgb<255,0,0>>,RotateColorsX<Int<-4000>,RgbArg<BASE_COLOR_ARG,Rgb<255,0,0>>>,RotateColorsX<Int<-8000>,RgbArg<BASE_COLOR_ARG,Rgb<255,0,0>>>>>>,RotateColorsX<Saw<Int<20>>,Gradient<RgbArg<BASE_COLOR_ARG,Rgb<255,0,0>>,RotateColorsX<Int<-4000>,RgbArg<BASE_COLOR_ARG,Rgb<255,0,0>>>,RotateColorsX<Int<-8000>,RgbArg<BASE_COLOR_ARG,Rgb<255,0,0>>>>>>,
// COLOR 11 - X-MAS STRIPES //
Stripes<1000,-1000,Red,White,Green,White>,
// COLOR 12 - RED, WHITE, & BLUE //
//Pulsing<Stripes<2000,-800,Blue,White,Red>,Mix<Int<16000>,Stripes<2000,-800,Blue,White,Red>,White>,1600>
AudioFlicker<Stripes<2000,-800,Blue,Rgb<235,235,235>,Red>,Mix<Int<16000>,Stripes<2000,-800,Blue,Rgb<235,235,235>,Red>,White>>
>,
//////////////////////////// EMITTER FLARE OPTIONS (Swing Option) ////////////////////////////////
ColorSelect<IntArg<SWING_OPTION_ARG,0>,TrInstant,
// FLARE 0 - Disable //
AlphaL<Black,Int<0>>,
// FLARE 1 - Stable Flare //
AlphaL<RgbArg<EMITTER_COLOR_ARG,Rgb<255,255,255>>,SmoothStep<IntArg<EMITTER_SIZE_ARG,2000>,Int<-6000>>>,
// FLARE 2 - Flickering Flare //
AlphaL<AudioFlickerL<RgbArg<EMITTER_COLOR_ARG,Rgb<255,255,255>>>,SmoothStep<IntArg<EMITTER_SIZE_ARG,2000>,Int<-6000>>>,
// FLARE 3 - Unstable Flare //
AlphaL<RandomPerLEDFlickerL<RgbArg<EMITTER_COLOR_ARG,Rgb<255,255,255>>>,SmoothStep<Scale<NoisySoundLevel,IntArg<EMITTER_SIZE_ARG,2000>,Sum<IntArg<EMITTER_SIZE_ARG,2000>,Int<6000>>>,Int<-6000>>>
>,
Ok, I mean technically it sounds like you DO want more than 26 styles, you just want to set them up differently.
You can also just Layer<> the base effect and base flare together and then just use the STYLE_OPTION_ARG as well like so:
ColorSelect<IntArg<STYLE_OPTION_ARG,0>,TrInstant,
Base Style 1, // option 0
Layers<Base Style 1, AlphaL<Emitter 1>>, // option 1
Layers<Base Style 1, AlphaL<Emitter 2>>, // option 2
Base Style 2, // option 3
Layers<Base Style 2,AlphaL<Emitter 1>>, // option 4
Layers<Base Style 2,AlphaL<Emitter 2>>, // option 5
...>,
At this time, I’m not planning to update Edit Mode’s menus but you can use IntArg<33,34,35…> however you want, you’d just need to manually edit any values not in Edit Mode as there is no corresponding menu for these.
Yeah, that’s true. I technically want to have seemingly unlimited styles, but keep the Base Styles paired down so it’s not crazier than I already have it, and so I can easily swap them out as needed.
I like what you have going on with using Layer<>. That will come in handy for other uses as well.
How about setting the Emitter up as OFF_OPTION_ARG if you’re not using?
I guess I can look at maybe just dropping in 1 or 2 “generic” options that users can interchange for things like this but I have a lot of other things to get through first, so can’t promise.
I appreciate that if you’re able! I know you have a lot on your plate.
I am using all the options in this main style, but hijacked the SWING_OPTION_ARG since I like the bright audio flicker swing so much, I typically only use that. Would be nice to be able to utilize more though.
I don’t think a new sound would work, because
- existing fonts would need to be retrofitted to use it
- additional work for font creators in the future
- personally, I always end up editing any shots, especially rapid-fire blaster sounds down to one good deflection effect…because that’s what it is.
That said, you could just do it in the blade style very easily…
have a TrDelay in the blast layer TransitionEffect offset the shot->deflect time.
Something like:
MultiTransitionEffectL<TrConcat<TrDelay<300>,AlphaL<Black,Int<0>>,TrWaveX<White,Int<400>,Int<100>,Int<400>,Scale<BladeAngle<>,Int<28000>,Int<8000>>>>,EFFECT_BLAST>
We’ve added new sounds several times over the years, which is why I suggested a fallback if either were missing.
Accents were added.
push.wav.
Quotes.
lightning blocks.
preons/postoffs.
Oh I am all about moar things audio, trust me. I was just saying blaster block sounds are pretty well established, like from the beginning of saber sounds. Being the only board who does it differently all of a sudden might be “annoying” in this case, whereas a new sound for a new effect that doesn’t have an established history is a different story.
Not totally dissimilar to clashes being sequentially softer-harder. That’s a supported thing now if you choose to use it, but I have yet to see one font maker adhere to the format as they’re making sounds for all boards at the same time, and it ends up being on the user to make that work.
Dunno. I personally have no issues with it as Proffieboards are all I use and welcome any/all kinds of audio stuff… I was just considering the masses.
If this were to become a thing, I think the way you proposed the names should be reversed. blst should stay as the deflect sound as it is now. If adding a new effect, it should be the shot itself and called something like blstshot.
Coding it to be a linked file gets into a good amount of code editing, especially since it’s to proceed a blst and not follow it. Adding a second sound that followed blst and was just a sound would likely be easier.
Moving blst to blstdf and then adding
I have something that could potentially be used for this in the works already, it’s not specific to any EFFECT but could be applied to create this. It’s not done yet but when it is it would be applicable.
I don’t think there is support for this currently but if I’m mistaken let me know, but it would be cool to have support for neopixel matrix effects, e.g. convert an image or video to a blade style for a pixel matrix or other ways of easily programming effects for nxn pixel layouts
I have been toying with the idea of having a WIDTH in addition to LENGTH for blades. It would be useful for my quad-zig-zag blade.
There isn’t enough space on the board for actual video, but it could be possible to read it from the SD card.
It gets impractical pretty fast though, strings longer than ~100 LEDs won’t work well, so matrices greater than 32x32 would be impractical.
Yeah makes sense, in my particular case I’ve got a 42 pixel (14x3) that I want to do some simple effects with and just finding it a hair messy lol
Better LCD support where you can use graphics files like the cfx. I feel like the LCD easy of use is where cfx totally out preforms and out shines the proffie… I know they arent used often in builds but it would be great if they could. and its too bad we cant use txt files for styles. It would remove a lot of the limits of the number of fonts. You could have 200 fonts on a saber. if you can fit it on an sd card.