SthephanShi
SthephanShi
I made some reorganization in library: https://github.com/SthephanShinkufag/bytebeat-composer/commit/7763d1ad49323bf408e80c7454d45ea4ef88c4c1#commitcomment-63084572
 > mix ints and doubles in ways that aren't valid in c I did not check "Non-JS" formulas with the C compiler, sorting only visually by used functions...
Ok, I will check all the formulas from the [Non-JS] section with C compiler, and move invalid ones to [Compat JS].
Also, there some things that are not obvious at first glance: song by yehar ``` t>>4+!(-t>>13&7)+2*!(t>>17)|t*t*(t>>(t>>12^t>>11)%3+10)/(7+(t>>10&t>>14&3))*!(t&512)14&1) ``` >Warning: overflow is possible in 16 bit addition, casting to 'long' may be...
``` (((1t%1E3?18.9*t:0)|t/1E3
>"non-javascript 8khz song, turned out pretty good (2021-10-11)" > `(t>>4>>(t&t>>11))*(t>>4>>(t&t>>11)&128?-1:1)+(t>>t/(t&65536?2:3)&63)+(3E4/(t&4095)&100)` operand types '' and 'int' are incompatible with the '&' or '&=' operator > called "non-javascript" haha, what an irony...
OK, next step is to rename [Compact JS] into [JS multivar] and move all its one-(t)-variable code (with used sin, arrays, strings, etc) into [JS one-var]
Yes, the code compiles and I leave it in the Classic section because it's a very vague task. I was not so strict, for this you need to implement the...
Moreover, as I remember, some formulas had playback problems on 8-bit microcontroller with a clock rate of 16MHz, because the calculations take too many clocks, hehe. But these are hardware...
At first I splitted all JS formulas in two sections: [JS one-var] and [JS multi-var], but decided finally to keep all JS code in one section.