Convert Scratch 3 projects to Snap!

Conversion isn't implemented for Scratch 1.4 projects yet, only 2.0 and 3.0.

When I do add that, it'll use https://github.com/LLK/scratch-sb1-converter as an intermediate SB->SB2 step, like Scratch 3.0 does.

If you're desperate, BYOB 3.1 can read Scratch 1.4 projects, and Snap! can read BYOB projects. But both of those conversions are a little fragile, so try it only if you're desperate.

I found another bug:
grafik
translated makes
TEST script pic
But we have the blocks:
TEST script pic-1

I have a problem


turns into

when it should be

is there a way to get all the instruments that are in scratch into snap, and use the same note blocks?

I created a project with all the scratch primitives in it using snapinator. some blocks didn't get converted, so I put the snap primitive that has the same effect as the one in scratch, or made a custom block with no code, but I might come back and make the code for the non snap primitives. here's the link.

(I'm wondering if there's a way to convert snap into scratch)

The 'username' block can be made like this:

Username Block script pic (1)

The 'days since 2000' block would just involve some math, but I'm not sure why someone would use that block anyway.

it'\s in scratch, and I was wondering about that. I've made the username block, but I didn't export it and I can't remember how to make it.

It lets you do things like find the number of days between two dates, or find the day of the week of a date supposing that weren't otherwise available, without having to deal with how many days in a month, is it leap year, etc.

Will you please tell me how to convert BYOB projects?

just open them in snap (I think) just like you can convert .sb and .sb2 files to .sb3 files just by opening them in scratch

Yes, exactly. The conversion isn't perfect and the code was written a long time ago and not looked at since. This software is provided without any warranty, not even an implicit warranty of merchantability or .... that's all I remember.

... fitness for a particular purpose! That's what I forgot. :~)

Importing large Scratch projects into Snap is a challenge. Using the Scratch 3 format (and then snapin8r3) is not an option, as Scratch 3 cannot load large projects. I tried the desktop version of Scratch 3 too, but even a 100MB project is not loaded at all.

Converting Scratch 1.4 projects to BYOB 3.1 has always worked perfectly for me. Now I have very large Scratch projects (200-300MB) that I want to move to Snap. But unfortunately opening ypr project in Snap, as you said, doesn't work well for everything. You can see all the scripts, but the sounds are not imported at all (not so bad for me, I don't have many sounds) and, very important for me instead, as I have tons of images (even long sequences of costumes created by importing "animated gifs"), many images are not imported at all. This is weird, as several images are imported very well whereas some of them are simply empty.

I tried to export the BYOB sprites from my projects, but for some reasons the export fails (and, more importantly, importing even simple BYOB sprites into Snap doesn't seem to work at all). I tried to export just the missing images from BYOB and then to import them into Snap. This works, so there are no algorithmic reasons why the full import should not work. I guess the real problem is just a "size" problem, that is after importing many images no more images can be imported.

What I don't know is if the limit is in the YPR import function, in Snap or in the browser.

So, to know if I can start to work on the YPR import function, I would like to know if there is a limit to the size of projects that can be imported into Snap, due to known Snap limitations or to browser/memory limitations.

Yes, it's possible to run out of the browser's memory quota. As for Snap! itself, there is a limit (100Mb I think) for uploading a project to the cloud, but we don't impose a limit on projects you save on your own computer.

Thanks Brian. How do I know what is the quota assigned by my browser (Chrome) to the projects I can load?

Further details:

  1. Exporting sprites from BYOB doesn't work when the sprite has global variables inside its scripts. Removing the variable reporters from the scripts allows instead to easly export the sprite

  2. Removing all sprites from the project except for the non-exportable sprite and exporting the now-very-small project is not a solution. Indeed, after importing the small project in Snap, the costumes are still empty

This makes me think that there is a problem with the format of the costume images inside the BYOB project. Note: the costumes can be easily exported from BYOB (and imported in Snap, but they are just too many to use this strategy)

If someone is interested, I can share the now-very-small BYOB project

I think you should recruit a 12-year-old to parse the ypr file and pull out the costumes.

Excellent idea :slightly_smiling_face: Is that doable?

One of the few disadvantages of having our own forum instead of mooching off Scratch is that we don't readily get to know the Advanced Topics kids, only a few of whom end up here. Back in the day we had bazillions of 12-year-olds. (Pretty rare to catch them younger, leading me to think there's something to that "Formal Operational" stuff in Piaget.) And we got to keep them all through high school. Once they went to college they got busy.

Let's see who besides me replies to your question...

Thank you for the information.