altNNN and altchng.wav working.
Fett263
February 8, 2023, 1:21pm
12
Join profezzorn (Fredrik) and I tomorrow (Thursday, February 9, 10PM EST (7:00PM PST)) as we discuss some of the new features and answer questions for ProffieOS7 Alpha.
2 Likes
Fett263
February 8, 2023, 3:12pm
13
For users who haven’t used github before, if you’re wanting to test OS7 use link below.
Click Green “Code” button
Select “Download ZIP”
Extract contents to a folder on you computer.
Rename the main folder from “ProffieOS-master” to “ProffieOS”
Put a copy of your config in the /config folder
Open ProffieOS.ino and define your config
Upload as normal
If you successfully test a feature from first post -or- have questions or encounter any issues report in this thread and provide your config and as much detail as possible.
1 Like
COUNT ME IN. I’ll monitor the list above
ProffieOS 7.x Alpha - #11 by NoSloppy
In addition to the altNNN sounds test, this video posted also shows successful testing for AltF, as it was used to select the blade animations as well.
Layers<
MultiTransitionEffectL<TrSelect<AltF,
TrConcat<TrWipe<150>,Red,TrWipe<100>>,
TrConcat<TrWipe<200>,Stripes<1000,-2000,Cyan,Blue>,TrWipe<100>>>,
EFFECT_BLAST>>,
TransitionEffectL<
TrDoEffectX<TrInstant, EFFECT_ALT_SOUND,
EffectIncrementF<EFFECT_FORCE, Int<2>, Int<1>>>,
EFFECT_FORCE>
>
Fett263
February 10, 2023, 6:05pm
16
@profezzorn These are probably good to link to for users to look through as they test and as a start point for “documentation”.
In ProffieOS7 the “Alt Font” capability will allow style code to change the font sounds being used by setting up “altNNN” folders within the font.
This may not look like much on the surface, but this is a key piece to a whole new level of synergy between styles and fonts.
In OS7, style code will now be able to change the sounds your font is using in real-time. “Alt” font is a new way to set up your fonts to work with styles so that you can change any and all sounds in the font to match to the visual effects.
Here are some demos I’ve shot so far but there are many more uses.
Alt Font can be used with Kyber Select styles to allow the change in color/effect to also align to a specific “alt” folder in your current font.
[ProffieOS7 Visual and Sound Effect Synergy Demo (1 of 11) - Kyber Select 2.0]
Alt Font can be used with ColorSelect<> styles for Dual Phase or Multi Phase blades so each color/effect aligns to a specific “alt” folder.
[ProffieOS7 Visual and Sound Effect Synergy Demo (2 of 11) - "Pull to the Darkness" with alt Font]
[ProffieOS7 Visual and Sound Effect Synergy Demo (3 of 11) - Corran Horn Dual Phase]
Alt Font can also be used with “interactive” styles to create “states” in your blade styles that not only change how the blade looks but how it sounds for a temporary or toggled effect
[ProffieOS7 Visual and Sound Effect Synergy Demo (4 of 11) - Interactive Ice Blade 2.0]
[ProffieOS7 Visual and Sound Effect Synergy Demo (5 of 11) - Interactive DOOM Crucible Blade 2.0]
In order to implement you will need to set up “alt” folders in your font for the sounds you want to toggle/synchronize and then include the necessary transitions (coming soon) in the style code to interact with the font.
Setting Up “alt” sounds in your font.
What this means is you can set up any of the sounds you want to change via the style code in an “altXXX” folder. So let’s say we want to change the hum, in, out, swingh, swingl and swng sounds in our current font to match to visual changes in the style code.
We would set up the font like so:
<root>
alt000/
alt001/
alt002/
alt003/
alt004/
bgndrag/
bgnlb/
bgnlock/
bgnmelt/
blst/
boot/
clsh/
drag/
enddrag/
endlb/
endlock/
endmelt/
font/
force/
lb/
lock/
melt/
quote/
...
you’ll then put the hum, in, out, swingh, swingl, swng sounds into the “altXXX” folders, this will allow these sounds to be selected by the style code
<root>
alt000/
hum/
in/
ou…
This allows for the randomization of selected sounds. This can be used for any effect but is especially important for Transition Sounds here: ProffieOS7.x "Transition Sounds" pre-alpha discussion
The Transition Sound is a selected sound, meaning the style code will select the exact sound file to play. In order to prevent monotony Fredrik has added this new way to randomize sounds.
If I set up a “Lightning” bolt sound, an explosion sound, a fireball sound, etc. for use in transition animations, the style code would select and play that sound by it’s number so say it’s:
tr000.wav for lightning
tr001.wav for explosion
tr002.wav for fireball
When I want the lightning sound to trigger the style code calls sound “0” (which = 000), for explosion it would call “1” and fireball it would call “002”. Now if I wanted to have multiple sounds for each to get more diversity in the sounds I would set up the tr sounds like so:
<root>
tr/
000/
000.wav
001.wav
002.wav
003.wav
004.wav
001/
000.wav
001.wav
002.wav
003.wav
004.wav
002/
000.wav
001.wav
002.wav
003.wav
004.wav
Then when the 0 sound is called the OS will randomly select from the 000.wav, 001.wav, 002.wav, 003.wav or 004.wav available.
NOTE: all sounds must have the same number of sub files or you will get an error in font directory.
This allows the style to pick the right sound but still have some randomization in what’s played.
You’ll need a prop that supports the sound for it to work, the base OS doesn’t support.
This is the accelerating/decelerating transition effects capability.
[Sneak Peek / Proof of Concept - New Accelerating / Decelerating Ignition and Retraction Effects]
[Sneak Peek - Demo - Accelerating / Decelerating SparkTip Ignition and Retraction for ProffieOS]
Usage:
When “Bend” Time is less than 32768 the transition will start fast and decelerate at the end, when it is above 32768 it will start slow and accelerate to the end.
You can use IgnitionTime<0>, RetractionTime<0> or WanLen<> to auto time the transition to the sound.
In testing thus far you need longer transition times to show the accel or decel well.
Best bend values to start are either Int<10992> and Int<98304> but you can play with values to adjust accel/decel times.
The BEND values will be editable via Edit Mode and ProffieOS Workbench using below arguments so you will be able to test and adjust on the saber when OS7 releases
IGNITION_OPTION2_ARG
RETRACTION_OPTION2_ARG
TrWipeX<
BendTimePowX<
IgnitionTime<0>,
Int<10992>>
>
TrWipeInX<
BendTimePowX<
RetractionTime<0>,
Int<98304>>
>
These are used for “Conditional” effects within style code, they allow for us to set up specific conditions in which an effect is triggered; i.e. BladeAngle<>, SwingSpeed<>, etc. This is especially helpful for Staff or Dual bladed sabers running on a single board but can also be applied to multiple other uses.
[Proof of Concept - Conditional Lockup Effects for Dual Blade / Staff Sabers]
1 Like
I’ve got my Transcendence test saber Proffie 1.5 loaded with OS7.??. I’ll begin testing on Fernando’s prop, then I’ll try out the new prop and BC’s prop. The other stuff looks to be quite beyond my capacity.
Battery level not working in idle on Fernando’s prop.
I did add several defines:
#define FETT263_DISABLE_CHANGE_STYLE
#define FETT263_DISABLE_COPY_PRESET
Entire config top if needed:
#include "proffieboard_v1_config.h"
#define NUM_BLADES 1
#define NUM_BUTTONS 2
#define VOLUME 2300
const unsigned int maxLedsPerStrip = 144;
#define CLASH_THRESHOLD_G 2.2
#define ENABLE_AUDIO
#define ENABLE_MOTION
#define ENABLE_WS2811
#define FETT263_EDIT_MODE_MENU
#define ENABLE_ALL_EDIT_OPTIONS
#define FETT263_DUAL_MODE_SOUND
#define FETT263_CLASH_STRENGTH_SOUND
#define FETT263_MAX_CLASH 16
#define FETT263_SAY_BATTERY_VOLTS
#define FETT263_TWIST_OFF
#define FETT263_TWIST_ON
#define FETT263_TWIST_ON_NO_BM
#define FETT263_THRUST_ON
#define FETT263_SWING_ON
#define FETT263_SWING_ON_SPEED 350
#define FETT263_DISABLE_CHANGE_FONT
#define FETT263_DISABLE_CHANGE_STYLE
#define FETT263_DISABLE_COPY_PRESET
#define FETT263_HOLD_BUTTON_OFF
#define FETT263_HOLD_BUTTON_LOCKUP
#define FETT263_SAY_COLOR_LIST
#define FETT263_SAY_COLOR_LIST_CC
#define FETT263_SAY_BATTERY_VOLTS
#define MOTION_TIMEOUT 60 * 15 * 1000
#define IDLE_OFF_TIME 60 * 10 * 1000
#define SAVE_STATE
#define DISABLE_DIAGNOSTIC_COMMANDS
#define DISABLE_BASIC_PARSER_STYLES
#define ENABLE_SD
#define ENABLE_SERIAL
#define ENABLE_SSD1306
// Max 20 characters
#define BLE_PASSWORD "1234"
// Max 32 characters.
#define BLE_NAME "Tran"
// Max 9 characters
#define BLE_SHORTNAME "Tran"
#endif
#ifdef CONFIG_PROP
#include "../props/saber_fett263_buttons.h"
#endif
Fett263
February 11, 2023, 1:14am
18
Can you explain what you did and what’s not working? Also, need preset you’re trying as BatteryLevel is style based
say battery volts. I pressed aux then power in idle. on my os 6 sabers, it then says battery volts, not on os7. If the buttons changed, I didnt read buttons instructions on os7 prop.
Fett263
February 11, 2023, 1:33am
20
EDIT: I found it - typo in the define. I’ll get it fixed. Thanks.
1 Like
hey, I did something! Ill try and test some other things. I didnt see the double blast issue I read about. Right now Im running saber, testing all saber functions, and edit mode. All seems ok so far except say battery volts.
Fett263
February 11, 2023, 2:14am
22
FETT263_SAY_BATTERY_VOLTS fixed, profezzorn just merged update. Just grab updated zip from github.
2 Likes
Fett263
February 11, 2023, 3:02pm
23
profezzorn:
FETT263_ENABLE_SPIN_MODE
This was a typo, change to
FETT263_SPIN_MODE
thanks
FETT263_SPIN_MODE tested and works great.
I created a wiki post which will eventually have links to the documentation for all the new features:
Since we have a new documentation site, I want to make sure that all the new stuff we’re adding in ProffieOS 7.x gets documented.
Unlike the alpha testing thread, where I go and update the top post as needed, I’m making this a wiki post, which should mean that anybody can update it.
Some things might not have an easy way to document it, but for now I will make space in the table for everything.
For props, I’ve limited the features to just the defines. Feel free to add additional entries as needed.
feeature
documentaton url
new ini file format
teensy4 support
alt sounds
sub-sub sounds
updated clash detection
StylePtr default arguments
Bendable time in transitions
sorted track/font menus
OLED error messages
low-power OLED mode
Dynamic mixer bugfix
CONFIG_STYLES
config.ini search path
saber_caiwyn_buttons.h
TrConcat updates
ProffieOSHumDelay
BOOT_VOLUME
AUDIO_CLASH_SUPPRESSION_LEVEL
DISABLE_TALKIE
BLADE_ID_SCAN_MILLIS
KILL_OLD_PLAYERS
POV_INCLUDE_FILE
BLADE_ID_TIMES
altchng
SubBladeZZ
EFFECT_VOLUME_LEVEL
EFFECT_ON
EFFECT_QUOTE
EFFECT_SECONDARY_IGNITION
EFFECT_SECONDARY_RETRACTION
EFFECT_OFF
EFFECT_FAST_OFF
EFFECT_OFF_CLASH
EFFECT_NEXT_QUOTE
EFFECT_INTERACTIVE_PREON
EFFECT_INTERACTIVE_BLAST
EFFECT_TRACK
EFFECT_BEGIN_BATTLE_MODE
EFFECT_END_BATTLE_MODE
EFFECT_BEGIN_AUTO_BLAST
EFFECT_END_AUTO_BLAST
EFFECT_ALT_SOUND
EFFECT_TRANSITION_SOUND
EFFECT_SOUND_LOOP
EFFECT_GAME_START
EFFECT_GAME_ACTION1
EFFECT_GAME_ACTION2
EFFECT_GAME_CHOICE
EFFECT_GAME_RESPONSE1
EFFECT_GAME_RESPONSE2
EFFECT_GAME_RESULT1
EFFECT_GAME_RESULT2
EFFECT_GAME_WIN
EFFECT_GAME_LOSE
EFFECT_USER5
EFFECT_USER6
EFFECT_USER7
EFFECT_USER8
EFFECT_SD_CARD_NOT_FOUND
EFFECT_FONT_DIRECTORY_NOT_FOUND
EFFECT_ERROR_IN_FONT_DIRECTORY
EFFECT_ERROR_IN_BLADE_ARRAY
OFF_FAST
LockupTrL
StylePOV
ContinuousPOV
ChargingStylePtr
TransitionPulseL
ClampF / ClampFX
Divide
IsBetween
Subtract
TwistAcceleration
AltF
SyncAltToVarianceF
LockupPulseF
ModF
VolumeLevel
TrBlink(X)
TrDoEffect(X)
TrLoop
ProffieOS/loop.h at 8d05db621cee41a809839ff9e0df5cd718acf51d · profezzorn/ProffieOS · GitHub
TrLoopN(X)
ProffieOS/loop.h at 8d05db621cee41a809839ff9e0df5cd718acf51d · profezzorn/ProffieOS · GitHub
TrLoopUntil
ProffieOS/loop.h at 8d05db621cee41a809839ff9e0df5cd718acf51d · profezzorn/Prof…
I figure since I wrote many of the new features, I’ll be working mostly on documenting them, while other people can try them.
Once the documentation is in good shape, I’ll go back and test whatever hasn’t been tested yet.
1 Like
Is it just me or is multi blast mode not working in battle mode?
I see there are new controls:
Blast Effect = Click AUX
NEW! swing within 2 seconds to enter Multi-Blast Mode
Is that the method you are trying, rather than the older
Multi-Blast Mode = Long Click Aux
Each Swing in Multi-Blast Mode will deflect Blast effect
To exit, click AUX or do Clash
?
Will try this at home later.