(no subject)

Aug 6, 2006 at 11:01am

(no subject)

#27053
Aug 6, 2006 at 11:23am

Rather than banging your head against jit.gl.text2d, you may want to
make a JS that does the newline thing on its own and uses
jit.gl.text2d to draw the text appropriately.

wes

On 8/6/06, David Plans Casal

wrote:
> Hello all,
>
> I’ve posted this question on the jitter list (and now also max/msp
> list) but despite some help there I still can’t figure this out.
>
> I’ve just been given a project where I have to display iterative
> zeros (and after the other, every second) on a screen unless
> something happens, in which case I need to display a 1 and stop. My
> problem right now is that while I can [metro 1000]–>”append $1″ to
> jit.gl.text2d, I cannot get newline to work. I’m thinking about doing
> it with Javascript…
>
> I’ve been searching the archives and I can only find a post in 2003
> here:
>
> http://www.synthesisters.com/hypermail/max-msp/Nov03/8085.html
>
> This solution implements ‘newline’ by truncating through a jit.concat
> object, but I can only get 2 lines, and of course “append $1″ doesn’t
> work because of the symbol conversion.
>
> I see also from the archives that someone asked about doing newline
> in gl text with javascript and jit.gl.text3d, but couldn’t find any
> actual details.
>
> Has anyone done this? Perhaps there is a simpler way to do it,
> without using Jitter?
>
> Maybe I could do it with Javascript?
>
> I would really appreciate any comments at all, I can’t seem to crack
> this. Below I attach my draft patch, which uses the 2003 solution but
> just doesn’t go any further.
>
> Yelp!
>
> David
>
> max v2;
> #N vpatcher 208 44 1023 716;
> #P origin 4 39;
> #P window setfont “Sans Serif” 9.;
> #P window linecount 1;
> #P newex 631 273 61 196617 sprintf %ld;
> #P newex 631 295 93 196617 jit.str.fromsymbol;
> #P button 599 235 15 0;
> #P number 633 231 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
> #P newex 532 271 58 196617 sprintf %d;
> #P newex 529 403 93 196617 jit.gl.text2d zeros;
> #P newex 532 344 176 196617 jit.concat @concatdim 1 @truncate 1;
> #P newex 532 293 95 196617 jit.str.fromsymbol;
> #P message 158 113 68 196617 fullscreen $1;
> #P toggle 158 90 15 0;
> #P newex 158 143 86 196617 jit.window zeros;
> #P message 464 283 55 196617 append $1;
> #P toggle 453 491 15 0;
> #P message 453 511 55 196617 classic $1;
> #P newex 107 192 65 196617 pak rotate 0.;
> #P flonum 107 172 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
> #P flonum 222 172 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
> #P newex 183 192 74 196617 pak scale 1. 1.;
> #P flonum 183 172 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
> #P newex 103 545 60 196617 pak size 12;
> #P user jit.fpsgui 14 135 60 196617 0;
> #P button 16 438 15 0;
> #P newex 16 459 42 196617 fontlist;
> #P message 190 546 64 196617 tracking $1;
> #P flonum 190 527 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
> #P user ubumenu 283 524 60 196617 0 1 1 0;
> #X add left;
> #X add center;
> #X add right;
> #X prefix_set 0 0 0;
> #P message 283 545 50 196617 align $1;
> #P newex 14 70 43 196617 jit.qball;
> #P flonum 392 171 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
> #P number 139 308 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
> #P window linecount 3;
> #P comment 151 350 133 196617 the plane offset sets which plane of a
> multi-plane char matrix to display.;
> #P window linecount 1;
> #P message 139 327 64 196617 plane $1;
> #P window linecount 0;
> #P comment 283 470 158 196617;
> #P window linecount 1;
> #P message 174 281 95 196617 append and cult jam;
> #P comment 299 212 65 196617 color (RGBA);
> #P comment 27 212 71 196617 position (xy);
> #P flonum 355 171 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
> #P flonum 319 171 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
> #P newex 283 190 144 196617 pak color 0. 0. 0. 1.;
> #P flonum 281 170 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
> #P flonum 59 172 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
> #P newex 13 192 85 196617 pak position 0. 0.;
> #P message 285 446 64 196617 leadscale $1;
> #P flonum 285 427 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
> #P message 15 281 98 196617 text Hamburgefonts;
> #P toggle 15 311 15 0;
> #P newex 15 330 51 196617 metro 10;
> #P message 119 281 49 196617 text 310;
> #P hidden newex 132 56 50 196617 loadbang;
> #P comment 31 312 100 196617 char matrix as text.;
> #P flonum 13 172 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
> #P newex 168 460 89 196617 prepend face;
> #P user ubumenu 168 436 95 196617 0 1 1 0;
> #X add normal;
> #X add bold;
> #X add italic;
> #X prefix_set 0 0
0;
> #P number 103 502 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
> #P newex 16 502 66 196617 tosymbol;
> #P newex 16 545 75 196617 pak font Times;
> #P user ubumenu 16 481 147 196617 0 1 1 0;
> #X add Geneva;
> #X add Monaco;
> #X add Times;
> #X add Helvetica;
> #X add Courier;
> #X add Symbol;
> #X add “Lucida Grande”;
> #X add “Zapf Dingbats”;
> #X add .TimesLTMM_1_Wt_1_Wd;
> #X add .HelveLTMM_170_Wt_1200_Wd;
> #X add Osaka;
> #X add OsakaÅ|ìôïù;
> #X add “Apple LiGothic Medium”;
> #X add AppleGothic;
> #X add “Monaco CY”;
> #X add “Lucida Grande CY”;
> #X add “Times CY”;
> #X add Hei;
> #X add “Geneva CE”;
> #X add “Monaco CE”;
> #X add “Times CE”;
> #X add “Helvetica CE”;
> #X add “Lucida Grande CE”;
> #X add “Courier CE”;
> #X add ª™Œƒœ∏∫⁄;
> #X add “Geeza Pro Bold”;
> #X add “ƒ◊∂¬ Pro”;
> #X add “Geeza Pro”;
> #X add ª™Œƒ∫⁄ÃÂ;
> #X add Palatino;
> #X add Seville;
> #X add Zapfino;
> #X add Cracked;
> #X add “Trebuchet MS”;
> #X add “Mona Lisa Solid ITC TT”;
> #X add “Princetown LET”;
> #X add ProFont;
> #X add “Edwardian Script ITC”;
> #X add “Bodoni SvtyTwo OS ITC TT-Book”;
> #X add “Bodoni SvtyTwo OS ITC TT-Bold”;
> #X add “Bodoni SvtyTwo ITC TT-BookIta”;
> #X add “PortagoITC TT”;
> #X add “BlairMdITC TT-Medium”;
> #X add “Stone Sans ITC TT-Bold”;
> #X add “Stone Sans ITC TT-SemiIta”;
> #X add “Arial Narrow”;
> #X add Arial;
> #X add “Century Gothic”;
> #X add “Courier New”;
> #X add “Monotype Sorts”;
> #X add “Times New Roman”;
> #X add Wingdings;
> #X add “Hoefler Text”;
> #X add “Hoefler Text Ornaments”;
> #X add “Marker Felt”;
> #X add Impact;
> #X add Skia;
> #X add “Stone Sans ITC TT-Semi”;
> #X add Copperplate;
> #X add “Synchro LET”;
> #X add “SchoolHouse Printed A”;
> #X add “Apple Chancery”;
> #X add “Bodoni Ornaments ITC TT”;
> #X add “Copperplate Light”;
> #X add Baskerville;
> #X add “Baskerville Semibold”;
> #X add “Big Caslon”;
> #X add “Bodoni SvtyTwo OS ITC TT-BookIt”;
> #X add “Bodoni SvtyTwo ITC TT-Book”;
> #X add “Bradley Hand ITC TT-Bold”;
> #X add “Arial Rounded MT Bold”;
> #X add “Brush Script MT”;
> #X add “Copperplate Gothic Light”;
> #X add JazzPerc;
> #X add “American Typewriter”;
> #X add “American Typewriter Condensed”;
> #X add “American Typewriter Light”;
> #X add “American Typewriter Condensed Light”;
> #X add Maestro;
> #X add “Maestro Wide”;
> #X add Petrucci;
> #X add Tamburo;
> #X add JazzCord;
> #X add Futura;
> #X add “Futura Condensed”;
> #X add “Optima ExtraBlack”;
> #X add Herculanum;
> #X add “Gill Sans”;
> #X add “Gill Sans Light”;
> #X add “Comic Sans MS”;
> #X add “Copperplate Gothic Bold”;
> #X add “Helvetica Neue”;
> #X add “Helvetica Neue Bold Condensed”;
> #X add “Helvetica Neue UltraLight”;
> #X add “Helvetica Neue Light”;
> #X add “Helvetica Neue Black Condensed”;
> #X add Papyrus;
> #X add “Lucida Handwriting”;
> #X add Optima;
> #X add Tahoma;
> #X add “Andale Mono”;
> #X add Verdana;
> #X add “JazzText Extended”;
> #X add JazzText;
> #X add “Snell Roundhand”;
> #X add “Snell Roundhand Bold”;
> #X add “Snell Roundhand Black”;
> #X add Didot;
> #X add EngraverTime;
> #X add “Arial Black”;
> #X add Georgia;
> #X add EngraverTextNCS;
> #X add EngraverTextT;
> #X add EngraverTextH;
> #X add EngraverFontExtras;
> #X add EngraverFontSet;
> #X add “Bodoni SvtyTwo ITC TT-Bold”;
> #X add “Bank Gothic”;
> #X add Opus;
> #X add “Opus Metronome”;
> #X add “Opus Roman Chords”;
> #X add “Opus Japanese Chords”;
> #X add “Opus Figured Bass Extras”;
> #X add “Opus Figured Bass”;
> #X add “Opus Text”;
> #X add “Opus Special”;
> #X add “Opus PlainChords”;
> #X add “Opus Percussion”;
> #X add “Opus Chords”;
> #X add “Inkpen2 Chords”;
> #X add “Inkpen2 Text”;
> #X add “Inkpen2 Script”;
> #X add “Inkpen2 Special”;
> #X add Inkpen2;
> #X add “Inkpen2 Metronome”;
> #X add Helsinki;
> #X add “Helsinki Special”;
> #X add “Helsinki Metronome”;
> #X add “Helsinki Text”;
> #X add Webdings;
> #X add ProFontIsoLatin1;
> #X add Cochin;
> #X add “Maestro Percussion”;
> #X add “Jazz LET”;
> #X add “Savoye LET”;
> #X add Jazz;
> #X add “Santa Fe LET”;
> #X add “Blackmoor LET”;
> #X add “Party LET”;
> #X add “Handwriting – Dakota”;
> #X add BiauKai;
> #X add “Apple LiSung Light”;
> #X add AppleMyungjo;
> #X add #±√º≠√º;
> #X add #«ÏµÂ∂Û¿ŒA;
> #X add #« ±‚√º;
> #X add #PC∏Ì¡∂;
> #X add “Geneva CY”;
> #X add “Charcoal CY”;
> #X add “Helvetica CY”;
> #X add Song;
> #X add Kai;
> #X add “Fang Song”;
> #X add “Bitstream Vera Sans Oblique”;
> #X add “Bitstream Vera Serif”;
> #X add ª™ŒƒÀŒÃÂ;
> #X add Chalkboard;
> #X add “Bell Gothic Bold BT”;
> #X add “Bitstream Vera Serif Bold”;
> #X add OpenSymbol;
> #X add “Euphemia UCAS Italic”;
> #X add “Bitstream Vera Sans Mono Bold Oblique”;
> #X add “ƒ◊ß∫ Pro”;
> #X add “Bell Gothic Black BT”;
> #X add Ayuthaya;
> #X add ProggyTinyTT;
> #X add Thonburi;
> #X add “Bitstream Vera Sans Mono Oblique”;
> #X add ª™Œƒø¨ÃÂ;
> #X add “Bitstream Vera Sans Bold”;
> #X add “Bitstream Vera Sans Bold Oblique”;
> #X add “Bitstream Vera Sans Mono”;
> #X add “Euphemia UCAS Bold”;
> #X add InaiMathi;
> #X add “Euphemia UCAS”;
> #X add “Bitstream Vera Sans Mono Bold”;
> #X add “Chalkboard Bold”;
> #X add “Bitstream Vera Sans”;
> #X add Silom;
> #X add “Bell Gothic BT”;
> #X add ª™Œƒ∑¬ÀŒ;
> #X add “GB18030 Bitmap”;
> #X add “Curlz MT”;
> #X add Krungthep;
> #X add Sathu;
> #X add “Plantagenet Cherokee”;
> #X prefix_set 0 0
0;
> #P newex 14 90 50 196617 t b erase;
> #P toggle 14 27 15 0;
> #P newex 14 49 58 196617 metro 100;
> #P newex 14 113 93 196617 jit.gl.render zeros;
> #P newex 429 598 63 196617 print text2d;
> #P newex 15 352 109 196617 jit.noise 4 char 10 10;
> #P message 523 243 14 196617 0;
> #P connect 5 0 4 0;
> #P connect 4 0 36 0;
> #P connect 36 0 6 0;
> #P connect 6 0 3 0;
> #P fasten 6 1 3 0 59 110 19 110;
> #P connect 3 0 43 0;
> #P hidden connect 15 0 19 0;
> #P connect 18 0 17 0;
> #P connect 17 0 1 0;
> #P hidden connect 15 0 41 0;
> #P connect 42 0 41 0;
> #P connect 41 0 7 0;
> #P fasten 7 1 9 0 89 499 21 499;
> #P fasten 13 0 22 1 18 189 55 189;
> #P fasten 9 0 8 1 21 541 86 541;
> #P fasten 23 0 22 2 64 189 92 189;
> #P connect 34 0 32 0;
> #P fasten 10 0 44 1 108 531 158 531;
> #P connect 54 0 55 0;
> #P connect 55 0 53 0;
> #P fasten 48 0 49 1 112 189 167 189;
> #P fasten 11 1 12 0 215 455 173 455;
> #P connect 39 0 40 0;
> #P fasten 45 0 46 1 188 189 220 189;
> #P fasten 47 0 46 2 227 189 252 189;
> #P connect 38 0 37 0;
> #P connect 20 0 21 0;
> #P fasten 24 0 25 1 286 188 321 188;
> #P fasten 26 0 25 2 324 188 354 188;
> #P fasten 27 0 25 3 360 188 387 188;
> #P fasten 35 0 25 4 397 188 420 188;
> #P connect 51 0 50 0;
> #P connect 57 0 58 0;
> #P connect 44 0 58 0;
> #P connect 22 0 58 0;
> #P connect 49 0 58 0;
> #P connect 25 0 58 0;
> #P connect 46 0 58 0;
> #P connect 61 0 59 0;
> #P connect 0 0 59 0;
> #P connect 59 0 56 0;
> #P connect 56 0 57 0;
> #P connect 60 0 61 0;
> #P connect 61 0 63 0;
> #P connect 60 0 63 0;
> #P connect 63 0 62 0;
> #P connect 62 0 57 1;
> #P pop;
>
>
>
>
>

#81490
Aug 6, 2006 at 3:02pm

#81491
Aug 7, 2006 at 4:49pm

I must admit I’m a bit confused by exactly you want to do, but here’s
a patch that should help you. It shows how to do the 000001 thing as
well as how to make jit.gl.text2d do multiline text display.

best,
wes

#P window setfont “Sans Serif” 18.;
#P window linecount 1;
#P message 80 193 53 196626 clear;
#P button 358 132 70 14;
#P window setfont “Sans Serif” 9.;
#P message 358 207 46 196617 problem;
#P message 276 207 45 196617 addZero;
#P toggle 276 140 42 0;
#P newex 276 185 64 196617 metro 1000;
#P flonum 200 187 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P message 200 207 69 196617 lineHeight $1;
#P message 160 207 33 196617 draw;
#P newex 160 230 103 196617 js text2d-newline.js;
#P toggle 117 57 15 0;
#P message 117 77 68 196617 fullscreen $1;
#N vpatcher 30 89 166 253;
#P window setfont “Sans Serif” 9.;
#P newex 50 71 35 196617 sel 27;
#P newex 50 50 40 196617 key;
#P outlet 50 93 15 0;
#P connect 1 0 2 0;
#P connect 2 0 0 0;
#P pop;
#P newobj 117 37 33 196617 p Esc;
#P newex 15 55 48 196617 loadbang;
#P newex 117 95 152 196617 jit.window text @depthbuffer 1;
#P message 78 95 34 196617 reset;
#P newex 78 116 187 196617 jit.gl.handle text @inherit_transform 1;
#P toggle 15 76 15 0;
#P newex 15 95 57 196617 qmetro 60;
#P newex 15 116 58 196617 t b b erase;
#P newex 15 156 87 196617 jit.gl.render text;
#P fasten 20 0 11 0 85 226 165 226;
#P connect 7 0 3 0;
#P connect 3 0 2 0;
#P connect 2 0 1 0;
#P connect 1 2 0 0;
#P fasten 1 0 0 0 20 137 20 137;
#P fasten 4 0 0 0 83 137 20 137;
#P connect 5 0 4 0;
#P connect 8 0 10 0;
#P connect 10 0 9 0;
#P connect 9 0 6 0;
#P connect 1 1 12 0;
#P fasten 18 0 11 0 363 226 165 226;
#P fasten 17 0 11 0 281 226 165 226;
#P fasten 13 0 11 0 205 226 165 226;
#P connect 12 0 11 0;
#P connect 14 0 13 0;
#P connect 16 0 15 0;
#P connect 15 0 17 0;
#P connect 19 0 18 0;
#P window clipboard copycount 21;

——————text2d-newline.js————————————–
autowatch = 1;

var renderContext = “text”;

var text2d = new JitterObject(“jit.gl.text2d”, renderContext);
text2d.automatic = 0;
var vOrigin = [0., 0., 0.];
var vLineHeight = 0.1;

var text = “”;
var vProblem = 0;

function draw()
{
text2d.position = vOrigin;
text2d.text(text);
text2d.draw();

//negative because of flipped OpenGL y-axis
text2d.position = [vOrigin[0], vOrigin[1]-vLineHeight, vOrigin[2]];
text2d.text(“new line”);
text2d.draw();
}

function addZero()
{
if(!vProblem)
text += “0″;
}

function clear()
{
text = “”;
vProblem = 0;
}

function problem()
{
text += “1″;
draw();
vProblem = 1;
}

function origin(vals)
{
vOrigin = arrayfromargs(arguments);
}

function lineHeight(val)
{
vLineHeight = val;
}

#81492

You must be logged in to reply to this topic.