Using/Changing Fonts used in ETC Modes


#21

cool, sounds progressive :wink:

but i really have no clue where to put the new code lines in the main.py of font patterns and font recedes exactly (numbers have to be changed for each font of course).

then it should also be possible to use more fonts in one patch… just an idea… knob 3 set to 0: randoms of all ranges we like of font 1, knob 3 set to 1: all ranges we want from font 2 and so on? all fonts having a relative path like @fanwander’s idea…


#22

T font patterns, already works very similar like this


#23

yes it does. but it’s just limited to randoms out of one range on each knob setting (0-10). i would need randoms out of multiple ranges for each knob-setting and if set to another position the font and then the array of multiple ranges change as well. you know how to combine font patterns and font recedes with owens new code “array of ranges”?


#24

Aaah, ok, understood.
I think you have to do this while initialization.
read all character numbers into a new array by incrementing through all allowed ranges (as described by @oweno). This new array contains all useful character numbers, and now you can do the random read on this array.


#25

thanks i understand that in theory but practically i’ve no clue. a new modification of font patterns or font recedes would be cool to check where the code line(s) should be :wink:


#26

Hello there,

i’ve been able to play with some cool glyphs using font pattern and font recedes and it’s definetely a lot of fun.
I what to try something a little bit different now : instead of loading randomly glyphs, i want to load them in precise order. So I assume i’ve to change the random.int function but i’m very new to programming and i’m lost.
Any help will be very appreciated (and cool for the community i guess) !!
Thanks !


#27

Hey TonyLB,

I do this pretty easily by defining a list of unicode characters in the order I want them then using a counter variable to load them, so if the glyphs i want map to unicode “a”, “F”, “1” and “%”, I’ll include something like:

 glyph_list = ["a", "F", "1","%"]

in the main.py initialization and then include that variable in the global variable list of the draw() with

 global glyph_list

Then, with a counter of some sort, say a variable that counts every time a trigger event happens that I’ll call “triggers”

  if etc.audio_trig : triggers += 1

I can change the list position and load it with something like

 glyph_display = glyph_list[ triggers % len(glyph_list) ]

This will rotate through however many glyphs are included. You just need to do a little homework on which glyph maps to which unicode character.

I’m not great a python, so I’m sure there’s something more elegant out there, but this works for me and


#28

Thank you so much, it’s very nice of you.
I will try that :slight_smile: