Hi Marc!
My version 4.4.2 has kernel version 3.4.0-gac9222c that is dated Wed Nov 20 14:50:44 PST 2013 so it really is not a new one.
I have no external storage devices and the directory I am trying to save my .jpg file to is the default rfo-basic/data.
I'm attaching my code so you can try it if you have time. The code is self-contained, so all you need to do is to run it.
But I repeat: the same code creates a blank .jpg when run in v01.78 and a valid .jpg when run in v01.77. So there has to be some difference between these versions that is responsible for this behaviour change even though it may be that there isn't.
For some reason I can't get the choose-file-add-file-procedure below so I try to insert the code below my name. (Seems to succeed but the indentations disappear, at least in preview)
Jussi
REM Start of BASIC! Program
fn.def arr_prn(arr[]) array.length al,arr[] for i=1 to al print format$("###", arr[i]), " "; next i print " " fn.end
fn.def mmq123(press[], which, mmq[]) array.length last, press[] mmq[which,1] = press[1] mmq[which,2] = press[ceil(last/4)] mmq[which,3] = press[ceil(last/2)] mmq[which,4] = press[ceil(3*last/4)] mmq[which,5] = press[last] fn.end
fn.def jsmin(m,n) if m < n then fn.rtn m else fn.rtn n fn.end
fn.def jsmax(m,n) if m < n then fn.rtn n else fn.rtn m fn.end
! Set the device independent sizes height = 100 width = 100 h_offset = 5 w_offset = 5 w_free = 15 hmho = height - h_offset
! get the actual width and height gr.open 255, 255, 255, 255, 0, 0 gr.color 255, 0, 0, 0, 0 gr.screen actual_w, actual_h !print actual_w, actual_h ! calculate the scale factors scale_width = actual_w /width scale_height = actual_h /height ! Set the scale !print scale_width, scale_height !print width*scale_width, height*scale_height gr.scale scale_width, scale_height
gr.text.typeface 2 gr.text.size 2 !gr.text.align 1 s$ = "This" !gr.get.textbounds s$,l,t,r,b !print l,t,r,b gr.rect x, w_offset, 1, width-w_free,height-h_offset
d$ = "109/79 114/80 111/81 108/78 114/79 106/75 " + ~ "110/77 110/78 109/79 110/77 110/81 108/77 " + ~ "111/84 116/84 107/81 110/82 108/80 116/83 116/82"
split result$[],d$,"[ /]+" array.length length,result$[]
for i=1 to length ! print result$[i] + "|"; next i !print " "
dim mmq[2,5] plen = length / 2 !print plen dim p2[2,plen], p[plen]
for i=0 to 1 ind = 1 for j=1 to length step 2 !print result$[j+i] + "|"; p[ind] = val(result$[j+i]) p2[i+1,ind] = p[ind] ind += 1 next j !print " " !dummy = arr_prn(p[]) array.sort p[] !dummy = arr_prn(p[]) dummy = mmq123(p[], i+1, mmq[]) next i
for i=1 to 2 for j=1 to 5 !print format$("###",mmq[i,j]), " "; next j !print " " next i
gr.text.draw x, width-w_free+1, 3, " |Sys|Dia|" gr.text.draw x, width-w_free+1, 4, "___|___|___|" array.load descr$[],"Min"," Q1"," Q2"," Q3","Max" for i=1 to 5 gr.text.draw x, width-w_free+1, 4+i*2, descr$[i] + "|" + mid$(format$("###",mmq[1,i]),3) + "|" + mid$(format$("###",mmq[2,i]),3) + "|" next i
min = jsmin(mmq[1,1],mmq[2,1]) max = jsmax(mmq[1,5],mmq[2,5]) min = floor(min/10) * 10 max = ceil(max/10) * 10 sc = hmho / (max - min) !print "sc=",sc,min,max
fn.def tr(press,hmho,scale) fn.rtn hmho - press*scale fn.end
!dummy = arr_prn(press[]) for i=1 to 2 for j=1 to plen-1 p1 = tr(p2[i,j]-min,hmho,sc) p2 = tr(p2[i,j+1]-min,hmho,sc) !print i,j,p1,p2 gr.line x, j+w_offset, p1, j+w_offset+1, p2 !gr.line x, j+w_offset, 1, j+w_offset, hmho next j next i !print " "
for i=min to max step 5 p1 = tr(i-min,hmho,sc) gr.line x, w_offset, p1, width-w_free, p1 gr.text.draw x,1,p1,mid$(format$("###",i),3) next i
gr.render
gr.save "bpm.jpg",100 pause 1000 popup "DONE",0,0,0
do until 0
|