Snapinator development (Snap! programmers wanted)

I made a pull request on GitHub for support of the Scratch 3.0 list index of block. I was wondering if you at least noticed it?

Oh, yes, I saw it. It's nearing the end of the semester, so I'm currently drowning in schoolwork (more so than usual). I'll review it and start to incorporate the blocks from this thread when I have more time in a week or two. :slight_smile:

I am working on some of the text2speech blocks using google cloud, google text to speech and google translate.

var msg = new SpeechSynthesisUtterance();
msg.volume = 1;
msg.rate = 1;
msg.pitch = 2;
msg.text = "Hello";
msg.lang = 'english';
window.speechSynthesis.speak(msg);

What expression gives "0" in Scratch?
I've checked this.
The first letter of "0XXX" should be "0", for sure, but see the result ...
join
It seems that the list containing only digits, even "0", in Scratch, is joined as letters.
So this
Untitled script pic (39)
can be used to choose between "join" and "join words" in Snap!

String operations and generic round inputs give the JS string "0"
Screenshot from 2020-12-04 18-43-36

Math operations give the JS number 0
Screenshot from 2020-12-04 18-43-54

They look and behave identically except for the list behavior.

@elliott47732 and @ego-lay_atman-bay made a nice version of Scratch's translate block.

So now the main missing features now are Scratch-style text-to-speech and the instruments.

It's actually possible to do without JS.
untitled script pic (18)

Oh, cool! Thank you for that.

I was saying that I was using the google translate voice for the text 2 speech, not the actual translate :slight_smile:

Here are the blocks I have right now, sadly no meow meow voice.
t2s script pic


Update added more languages

um when I do


in snapinator it turned into
but it should be

that's because makeymakey and set drag mode isare unsupported currently

ok, i get makey makey, but not the draggable.

Snap! didn't support setting the drag mode that way at the time I wrote Snapinator 3. Support for the block will be added.

ok good

Solution
[scratchblocks]
if <(voice) = [meow]> {
  set [voice:type] to [meow]
} :: control
//The scratchblocks formatting was messing up.
[/scratchblocks]

thanks I will add this soon

Where do you find the: join list input block?

It's just a normal join block. Drag the input reporter over the arrows next to the inputs, and once you get a red circle, drop the reporter.

It's the regular join block. For all the variadic blocks (the ones with ◄►arrows), if you hover another reporter over the arrows, you get a red halo instead of the usual white one, and if you drop your reporter there, it has to report a list, and the items of that list become the inputs to the variadic slot(s).