On 7/23/2021 11:07 AM, Jorge Manuel wrote:
Dear Sirs

If I tried:

\starttext
\startluacode
sample = {10,30,30,40}

  function MP.GetP()
  mp.print(sample)
  end
\stopluacode

\startMPcode
draw lmt_chart_bar [
  width = 8cm,
  height = 10mm,
  samples = {lua.MP.GetP()} ,
  trace = true,
  maximum = 100,
  linewidth = 1mm,
  showlabels = false,
  originsize = 0,
  labelanchor = "lft",
  labelcolor = "black"
  labelstyle = "bfxx"
  legendstyle = "tfxx",
  labelstrut = "yes",
] ;
\stopMPcode

\stoptext

This works.

But with an extra element in the sample table:

\starttext
\startluacode
sample = {10,30,30,40,50}

  function MP.GetP()
  mp.print(sample)
  end
\stopluacode

\startMPcode
draw lmt_chart_bar [
  width = 8cm,
  height = 10mm,
  samples = {lua.MP.GetP()} ,
  trace = true,
  maximum = 100,
  linewidth = 1mm,
  showlabels = false,
  originsize = 0,
  labelanchor = "lft",
  labelcolor = "black"
  labelstyle = "bfxx"
  legendstyle = "tfxx",
  labelstrut = "yes",
] ;
\stopMPcode

\stoptext

Don't works anymore. Why?
(watch out: samples is global in your code)

your lua.MP.GetP() becomes some mp quantity and 4 entries becomes a cmykcolor and you're just lucky that that works (reverse casting makes it a table) and there is no 5 element quantity so, you end up in scantokens not being able to understand it

I'll think of a way to pass records (new submechanism) at some point but for now i added this:

\startluacode
    document.samples = {
        { 10, 30, 30, 40, 50 }
    }
\stopluacode

\startMPcode

draw lmt_chart_bar [
 width = 8cm,
 height = 10mm,
 trace = true,
 maximum = 100,
 linewidth = 1mm,
 showlabels = false,
 sampleset = "document.samples",
 originsize = 0,
 labelanchor = "lft",
 labelcolor = "black"
 labelstyle = "bfxx"
 legendstyle = "tfxx",
 labelstrut = "yes",
] ;
\stopMPcode

with the spec being some lua, so this will also work:

 sampleset = "table.load('foo.lua')",

asuming foo.lua has this:

return {
    { 10, 30, 30, 40, 50 }
}



-----------------------------------------------------------------
                                          Hans Hagen | PRAGMA ADE
              Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
       tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl
-----------------------------------------------------------------
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the 
Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki     : http://contextgarden.net
___________________________________________________________________________________

Reply via email to