Bug in one of EYESY's factory modes - Text has zero width

Just got my eyesy and I am BEYOND pumped. Holy hell, I’ve just been sitting here putting on album after album, playing with eyesy on my TV. I haven’t even bothered with any other video gear yet.

But I’ve found a bug in Font Patterns. After going through probably 60 or 70 characters, it crashes.

I’m comfortable with python, but before I dig in to try to find the problem, I was wondering if anyone else had encountered this or fixed it.


1 Like

I think I’ve narrowed it down to sets 2 and 3, I think. Maybe they just have bad characters in them somehow. But I’m not sure how to debug it. It’s some bitwise stuff I’m not entirely comfortable with.

I’m anxiously waiting for mine. I’m in the 600’s of backer numbers so probably still be a while. Interesting about the bug though I will keep an eye on this post. Hope your able to resolve it.

I’ll definitely post the solution here for posterity. It’s the only bug like this that I’ve found. It’s probably just the random number generator reaching too far for those character sets or something.

I’ve encountered this bug too. I always pops up when I move one of the 1-3 encoders. I haven’t dove into the code to try to suss it out yet, but it’s on my list.

I’m fairly sure it’s knob 3, which controls which character set it’s pulling from. I shoved a print statement in to output the position of the knob every step and the break seems to only happen when knob3 is pointing at character sets 2 and 3.

That’s where my skill ends, because I have no idea how to debug the hex values accessing the characters.

Hi, have you solved your problem? I would have a suggestion to go to https://github.com/critterandguitari/EYESY_Modes_Pygame where they have the original presets. maybe a full dump would fix?

That’s something I haven’t tried yet. What’s the easiest way to swap out the modes?

Hi guys, I’ve figured out the font bug, it’s simple indeed, it’s only about single characters inside the .ttf

For arrows replace:
return unichr(random.randint(0x2190, 0x21FF)) # PROBLEMS
return unichr(random.randint(0x219C, 0x21BB))

For maths replace:
return unichr(random.randint(0x2200, 0x22ff)) # PROBLEMS
return unichr(random.randint(0x223D, 0x224D))

also character set “more math” has problems… Replace with fonts of your choice :wink:


Backwash, you beautiful human being, thank you so much! We should make a pull request.

Is more math a lost cause? Or do you have any suggestions or ideas on what to replace it with?

Thanks for the info @Backwash

I replaced More Maths with the I-Ching hexagrams:

if set == 7 :
    # I-Ching
    return unichr(random.randint(0x4DC2, 0x4DCF))
1 Like

thanks so much @Backwash this helps a lot

I ended up changing my # More math to

return unichr(random.randint(0x2ABD, 0x2ADF))