For those who aren't familiar, Snapinator is a web app that allows you to open Scratch projects in Snap!
It's been about 6 years since the first version, and there are still quite a few blocks that Snapinator doesn't support. In the past, there was no way to replicate many of these features in Snap! except with the JS function block, and I was hesitant to do this.
By now, Snap! has grown into a much more capable language. New, exciting features like media computation should make it possible to reimplement almost all of the core Scratch features (which don't require external devices) in Snap! itself. I want to finally bring Snapinator to feature completion by writing these missing features, and I'd appreciate some help with this.
These are the "help wanted" features. No JS allowed unless it's used by library blocks. Show off what Snap! can do!
These blocks appear to be easy to implement, but they have quirks that need to be investigated:
when [loudness v] > (10) // Done, thanks spaceelephant!
when video motion > (10) :: pen // Done, thanks spaceelephant!
These blocks should be possible to implement with Snap! media computation features:
change [pitch v] effect by (10)
set [pitch v] effect to (100)
clear sound effects
play drum [(1) Snare Drum v] for (0.25) beats :: pen
set instrument to [(1) Piano v] :: pen
These features should be possible with the web services library, media computation, and external services like AWS Polly and Google Translate:
speak [hello] :: pen
set voice to [squeak v] :: pen
set language to [Icelandic v] :: pen
(translate [hello] to [Russian v] :: pen)