What portion of the SVG specification does Audulus have?

It would be very useful if @biminiroad could post the SVG specifications currently available in Audulus 3 so we can have a clearer idea of what will and will not work when we’re trying to create our own SVG files.

3 Likes

From what I tried, it doesn’t support holes (transparent mask). You also have to set Adobe Illustrator SVG export in a certain way for it to work.

1 Like

Recategorized this to Building Help because the topics in Tutorial sections are meant for providing info instead of asking questions. I’ll try to clarify this more in the forum docs.

As far as I know, the only thing it doesn’t support is transparent holes, as Nicolas pointed out. It seemed like you got it to work on iOS (though not on desktop?) If you could post an image of that here, that would be interesting to see.

Other than that though, what other info do you need?

Taylor said he was using this SVG library: https://github.com/memononen/nanosvg
It is lightweight and not platform specific.
It doesn’t support CSS styles or even-odd fills
It has limited support for rasters, but I would avoid them for performance reasons
Keep in mind, that going forward the SVG library may very well change. For iOS in particular, graphics processing is a significant drain on CPU resources and tighter integration with the native GPU might be required to lessen the CPU load. I should be posting some additional info in the SVG tutorial section later today

2 Likes

Those are very good points you raise because the full SVG specification has a lot going on and it’d be almost like having a little web browser that would be invoked every time a patch was loaded up. I’ll check out the link you provided, thank you.

1 Like

The SVG specification can be quite complex and uses XML syntax which is what’s used for web pages too. As @stschoen pointed out, Taylor is using a small subset of the complete specification so Audulus doesn’t get too bogged down trying to deal with the SVG files.

Each SVG app will output its code a little differently so that’s why the Vectornator app doesn’t output SVG files which work with Audulus because it uses some SVG commands that aren’t supported in Audulus versus the Graphic app which does.

Like html Files you can edit them with a text editor so you can tweak them to work with Audulus once you know which commands are supported in Audulus. The github link to nanosvg which Taylor uses will allow me to see what’s supported and I can educated myself about how to use the SVG syntax for the specifications that are.

I don’t really need to do all of this to create SVG files and import them into Audulus for macOS but I do find it very interesting and will try to create the most compact SVG files for my icons as I can.

As Audulus moves forward, there will be some trade off as to how fancy the SVG icons can get before they start to effect its performance. I leave the analysis of such trade offs to those who have some competence in these matters (which wouldn’t be me).

For the layperson who has no interest in editing SVG files with a text editor but would like to create some icons, it shouldn’t be too difficult to provide instructions on what sort of settings are likely to work and those that will be problematic.

In general, the more separate edges an SVG has, the harder it is on the CPU/GPU. I made labels for a module that used lots of little triangles to make up each letter, and it basically ground Audulus to a halt.

This is another benefit of having professional icons made as they’ll know what to do to maximize design esthetics and minimize cpu drain.

1 Like