Missing knobs on Android devices

Hi! A friend of mine reported that my knobs doesn’t show up in Android. It is the graphics that don’t work. He can control the instrument as if the knobs where there. You can see where the knobs should have been by reading the text, for example cut off.

My friend uses Chrome on Android.

Whats the URL? I can test on android here.

It’s here! BassMatrix WAM

Thanks - yes I get the same result (the tempo knob shows on android, but not the others which show on desktop).

Can you file an issue on GitHub? Can you also make it clear which graphic backend you are on (NanoVG or Canvas) - I’d be interested to know if you build with the other graphics backend if the issue goes away.

Off cource. I will try to report it as an issue.

My *-web.mk file includes this:

WEB_CFLAGS += -DIGRAPHICS_NANOVG -DIGRAPHICS_GLES2
WAM_LDFLAGS += -O3 -s EXPORT_NAME="'AudioWorkletGlobalScope.WAM.BassMatrix'" -s ASSERTIONS=0
WEB_LDFLAGS += -O0 -s ASSERTIONS=0
WEB_LDFLAGS += $(NANOVG_LDFLAGS)

So I guess I use NanoVG.

How do I do to change to Canvas?

Change

To

WEB_CFLAGS += -DIGRAPHICS_CANVAS

You might also need -DIGRAPHICS_CPU - I’m not sure about that one - I haven’t built a WAM in a while @olilarkin - can you remind us?

you could try

WEB_CFLAGS += -DIGRAPHICS_CANVAS
WAM_LDFLAGS += -O3 -s EXPORT_NAME="'AudioWorkletGlobalScope.WAM.BassMatrix'" -s ASSERTIONS=0
WEB_LDFLAGS += -O3 -s ASSERTIONS=0
#WEB_LDFLAGS += $(NANOVG_LDFLAGS)

But what i expect is happening is that the textures for some of your bitmaps are too tall for OpenGLES on android

gl_max_texture_size is probably lower on these android devices

Now I have changed to Canvas if you want to try again.

The knobs that are invisible is 100x100 pixels and 127 animations.

Apologies - just seen this - Canvas works fine!

For the knobs as outlined you have 12700 pixels as one of your dimensions. It seems highly likely that android considers this to be bigger than supported. I guess there is a way to confirm on the device what gl_max_texture_size is, but I wouldn’t know exactly how to do that, and it seems pretty definite this will be the case (values on stack overflow of what you might expect to be allowed are far lower than this).