Re: Cheesed off by 32xxx

2017-04-03 Thread Dr. Hawkins via use-livecode
On Mon, Apr 3, 2017 at 10:06 AM, Stephen Barncard via use-livecode <
use-livecode@lists.runrev.com> wrote:

> Sometimes an illusion of an illusion in the illusion. So that's my
> allusion.
>

elusively alluded alliteration . . .


-- 
Dr. Richard E. Hawkins, Esq.
(702) 508-8462
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: New Features?

2017-04-03 Thread Alejandro Tejada via use-livecode
Hi Dan,

Dan Friedman wrote:
> I want to request the ability to set the scaleFactor
> of a object (specifically a group of objects).

Could you test the resize script of this stack?
http://forums.livecode.com/viewtopic.php?f=10=28042

After I finish some pending work, I plan to expand
this script to deal with exceptions like reposition
controls that could (or should) not be resized
like radio buttons.

Al
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: Single File Deploy on Windows?

2017-04-03 Thread Roger Eller via use-livecode
Can an empty file placeholder be created within preOpenStack, then extract
the real DLL when it is really needed?

On Apr 3, 2017 6:34 PM, "Dan Friedman via use-livecode" <
use-livecode@lists.runrev.com> wrote:

> So, I deliver a single file for my LC standalones on Windows.  Any
> required DLLs or other needed files are downloaded at runtime and put in
> place on launch.  However, in LC 9.0.0 it seems there is a dll, “tsNet.dll”
> that must be in place to even launch!  UG!!  Is there a way to deploy a
> Windows EXE that is a single file?   For god’s sake, please don’t make be
> use an installer!!
>
> -Dan
>
> ___
> use-livecode mailing list
> use-livecode@lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode

Re: Gradients with transparency?

2017-04-03 Thread Terry Judd via use-livecode
Thanks for all the responses. I really wanted to use a graphic rather than 
importing an image for all the reasons that Scott mentioned. Mark’s method 
works of adding an alpha value to the ramp settings of the fillgradient 
property of the graphic works perfectly so there is a (relatively) simple 
solution available. I just need to make sure that I remember it for next time 
as well ;)

While we’re on gradient properties, does anyone else ever have problems getting 
the backgroundColor gradient setting window to show up? Unless you have a 
pretty big screen (I’m working on a 13 inch Macbook Air) the properties palette 
is so wide that the settings window can open off screen, making it 
inaccessible. If you close the properties palette, open it again and move it so 
the right edge is clear of the right edge of the screen then you can usually 
get the settings window to show.  But not always.

Terry...

On 4/04/2017 8:41 am, "use-livecode on behalf of Alejandro Tejada via 
use-livecode"  wrote:

Hi Terry,

Terry Judd wrote:
> I want to overlay a graphic with a vertical gradient
> that blends from transparent to white to give the effect
> that the underlying content is fading out as you move
> down the screen. I’m able to achieve this effect using a
> black and white linear gradient in combination with the
> blendScreen ink but I need to be able to export the object
> (gradient plus underlying controls) as an image keeping the
> effect intact. When I export it now the ink effect is lost.

In LiveCode, there is another way to do this:

1- Import an Image without Transparency... or
create a snapshot of a group, vector graphic,
field, or any other control inside the card.

2A- Import a transparent PNG... or
2B- Take a snapshot of a vector graphic that
contains a Green to transparent gradient

For example:

on mouseUp
import snapshot from grc 1 with effects
end mouseUp

3- Put that transparent PNG on top of
the image without transparency...

4- Run this script from a button
to create a mask from PNG...

on mouseUp
set the locklocation of img 1 to true
import snapshot from img 1
set the loc of last img to the loc of img 1
delete img 1
-- after deleting img 1 (an image without transparency),
-- then img 2 (a transparent png) becomes img 1

crop img 2 to the rect of img 1

set the width of img 1 to the width of img 2
set the height of img 1 to the height of img 2

set the alphadata of image 2 to the alphadata of image 1
end mouseUp

Download a stack from this forum thread:
http://forums.livecode.com/viewtopic.php?f=10=28352

 Alphamask from Transparent http://PNG.livecode.zip (1k)

Al
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your 
subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode




___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode

Re: Negative Numbers and NumberFormat

2017-04-03 Thread hh via use-livecode
> Bob S. worte:
> I have a function for calculating the difference in time

Then you mean -(01:00:00) and not (-01):(00):(00), quite different.

AFAIK most languages do such time evaluations as follows
1) compute the time in seconds,
2) convert its absolute value to time format, and
3) if negative, put "-" before the formatted time.
That is, the whole display is not an immediate result of setting the
number format.

> You should rather say the number format determines the num of DIGITS.

That's what you wish to have (good idea). But it's not like that, its
the length of the number as string. You gave the proof yourself.
It's the same with the number formats from format(). Probably LC uses
internally format() for its numberFormat.

___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: Negative Numbers and NumberFormat

2017-04-03 Thread Bob Sneidar via use-livecode
The time format is irrelevant. It just so happens I have a function for 
calculating the difference in time, and when the first character is a - I know 
the end time is earlier than the start time, which was what I was checking for. 

And I think you are mistaken. numberFormat sets the format for numeric values, 
not just any characters. You should rather say the number format determine the 
num of DIGITS. Signage is an acceptable part of a numeric value. A dollar sign 
or a comma for example are not. 

Still, if everyone expects that set the number format to "00"; return 0-1 
should return -1, well then that's how it should be. 

Bob S


> On Apr 3, 2017, at 15:49 , hh via use-livecode 
>  wrote:
> 
> TMHO, this could be a feature request rather than a bug report.
> The zeros in the number format determine the num of characters
> and "-" is one.
> 
> Also we have -0 = 0. So what about "-01:-00:-00" ??


___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: Single File Deploy on Windows?

2017-04-03 Thread Richard Gaskin via use-livecode

Dan Friedman wrote:

> So, I deliver a single file for my LC standalones on Windows.  Any
> required DLLs or other needed files are downloaded at runtime and put
> in place on launch.  However, in LC 9.0.0 it seems there is a dll,
> “tsNet.dll” that must be in place to even launch!  UG!!  Is there a
> way to deploy a Windows EXE that is a single file?   For god’s sake,
> please don’t make be use an installer!!

Long-term dream:  I would LOVE to see some way to embed externals within 
the executable file the way SuperCard does (no, SC doesn't use the 
resource fork; never did, everything is mapped in its data fork).  I'm 
not sure why we can't, since AFAIK the code within a DLL is what's 
important to LC, not necessarily that it exists in a physically separate 
file, no?  I long to be able to return to truly stand-alone standalones.


Short-term reality: You can download via HTTP/HTTPS using only libURL, 
no externals needed.  HTTPS will require the revSecurity DLL, but 
conceivably (as I've done on one project) you could download that via 
HTTP and then use it for anything needing HTTPS.


All that said, I think I've given up on the dream of stand-alone 
standalones, and have gotten back to finishing my installer. Drag.  I 
used to love sending people a single file they could just unzip-and-go.


--
 Richard Gaskin
 Fourth World Systems
 Software Design and Development for the Desktop, Mobile, and the Web
 
 ambassa...@fourthworld.comhttp://www.FourthWorld.com

___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode

Re: Negative Numbers and NumberFormat

2017-04-03 Thread hh via use-livecode
TMHO, this could be a feature request rather than a bug report.
The zeros in the number format determine the num of characters
and "-" is one.

Also we have -0 = 0. So what about "-01:-00:-00" ??

> Bob S. wrote:
> "-01:00:00"?
> Yes I expected this. It's not that I cannot work around it,
> it's just that it seems it ought to put 2 zeros where 2 zeros
> are specified in the numberFormat and if it doesn't and should,
> then I will file an (admittedly low priority) bug report. 


___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: Gradients with transparency?

2017-04-03 Thread Alejandro Tejada via use-livecode
Hi Terry,

Terry Judd wrote:
> I want to overlay a graphic with a vertical gradient
> that blends from transparent to white to give the effect
> that the underlying content is fading out as you move
> down the screen. I’m able to achieve this effect using a
> black and white linear gradient in combination with the
> blendScreen ink but I need to be able to export the object
> (gradient plus underlying controls) as an image keeping the
> effect intact. When I export it now the ink effect is lost.

In LiveCode, there is another way to do this:

1- Import an Image without Transparency... or
create a snapshot of a group, vector graphic,
field, or any other control inside the card.

2A- Import a transparent PNG... or
2B- Take a snapshot of a vector graphic that
contains a Green to transparent gradient

For example:

on mouseUp
import snapshot from grc 1 with effects
end mouseUp

3- Put that transparent PNG on top of
the image without transparency...

4- Run this script from a button
to create a mask from PNG...

on mouseUp
set the locklocation of img 1 to true
import snapshot from img 1
set the loc of last img to the loc of img 1
delete img 1
-- after deleting img 1 (an image without transparency),
-- then img 2 (a transparent png) becomes img 1

crop img 2 to the rect of img 1

set the width of img 1 to the width of img 2
set the height of img 1 to the height of img 2

set the alphadata of image 2 to the alphadata of image 1
end mouseUp

Download a stack from this forum thread:
http://forums.livecode.com/viewtopic.php?f=10=28352

 Alphamask from Transparent PNG.livecode.zip (1k)

Al
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode

Re: Script to find bottom of lowest field

2017-04-03 Thread Peter Bogdanoff via use-livecode
Yes, max and an array.

Thanks Hermann!!

On Apr 3, 2017, at 2:58 PM, hh via use-livecode  
wrote:

> on mouseUp
>  put 20+maxbottom()
> end mouseUp
> 
> -- note: invisible or hidden fields are included
> function maxbottom
>  repeat with i=1 to the num of fields of this card
>put the bottom of fld i of this card into b[i]
>  end repeat
>  return max(b)
> end maxbottom
> 
> 
> ___
> use-livecode mailing list
> use-livecode@lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your subscription 
> preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode


___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: Script to find bottom of lowest field

2017-04-03 Thread Bob Sneidar via use-livecode
A sneakier way would be to select all, group them, then get the bottom of the 
group, then ungroup them again. Account for group margins (2 or 3 pixels or 
something). If there are other objects of course that won't help you. 

Bob S


> On Apr 3, 2017, at 15:02 , Ralph DiMola via use-livecode 
>  wrote:
> 
> Put -9 into tMax
> Repeat with I = 1 to the number of fields of this card
> Put the max (tmax,the bottom of field I) into tMax
> End repeat
> 
> Create field
> Put it into tField
> Set the top tField to tMax + 20
> 
> Ralph DiMola


___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Single File Deploy on Windows?

2017-04-03 Thread Dan Friedman via use-livecode
So, I deliver a single file for my LC standalones on Windows.  Any required 
DLLs or other needed files are downloaded at runtime and put in place on 
launch.  However, in LC 9.0.0 it seems there is a dll, “tsNet.dll” that must be 
in place to even launch!  UG!!  Is there a way to deploy a Windows EXE that is 
a single file?   For god’s sake, please don’t make be use an installer!!

-Dan

___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode

Re: Negative Numbers and NumberFormat

2017-04-03 Thread Bob Sneidar via use-livecode
Yes I expected this. It's not that I cannot work around it, it's just that it 
seems it ought to put 2 zeros where 2 zeros are specified in the numberFormat 
and if it doesn't and should, then I will file an (admittedly low priority) bug 
report. 

Bob S


> On Apr 3, 2017, at 10:16 , dunbarx via use-livecode 
>  wrote:
> 
> -01:00:00
> 
> Craig Newman


___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


RE: Script to find bottom of lowest field

2017-04-03 Thread Ralph DiMola via use-livecode
Not tested:

Put -9 into tMax
Repeat with I = 1 to the number of fields of this card
 Put the max (tmax,the bottom of field I) into tMax
End repeat

Create field
Put it into tField
Set the top tField to tMax + 20

Ralph DiMola
IT Director
Evergreen Information Services
rdim...@evergreeninfo.net


-Original Message-
From: use-livecode [mailto:use-livecode-boun...@lists.runrev.com] On Behalf
Of Peter Bogdanoff via use-livecode
Sent: Monday, April 03, 2017 5:34 PM
To: How to use LiveCode
Cc: Peter Bogdanoff
Subject: Script to find bottom of lowest field

Hi script wizards!

I have a card containing a number of fields. I want to add another field,
but position this new field to have its top 20 pixels lower than the bottom
of any of the existing fields.

Does anyone already have a magic script to do this?

I also want to learn something new!

Peter Bogdanoff
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: Script to find bottom of lowest field

2017-04-03 Thread hh via use-livecode
on mouseUp
  put 20+maxbottom()
end mouseUp

-- note: invisible or hidden fields are included
function maxbottom
  repeat with i=1 to the num of fields of this card
put the bottom of fld i of this card into b[i]
  end repeat
  return max(b)
end maxbottom


___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


RE: iOS app rejected five times because of background audio setting

2017-04-03 Thread Ralph DiMola via use-livecode
I just looked at the info.plist from my last app that Apple approved.

1) The UIApplicationExitsOnSuspend key is not there.
2) the UIBackgroundModes key looks like what you see.
UIBackgroundModes
 
 
 

What does your info.plist in the app look like?

OPTION 2: You bumped up against an less than expert reviewer. If your plist
looks correct then challenge them. I have done that in the past when I was
sure they were wrong and they acquiesced. If that does not work then go to
arbitration.

I feel your pain... Let us know how it ends.

Ralph DiMola
IT Director
Evergreen Information Services
rdim...@evergreeninfo.net


-Original Message-
From: use-livecode [mailto:use-livecode-boun...@lists.runrev.com] On Behalf
Of Richard Miller via use-livecode
Sent: Monday, April 03, 2017 5:31 PM
To: use-livecode@lists.runrev.com
Cc: Richard Miller
Subject: Re: iOS app rejected five times because of background audio setting

Thanks for the info, Ralph. I had figured out the exit-on-suspend issue
previously. In my last app submission, I completely removed the entire
section in the info.plist file which referenced UIBackgroundModes, but they
still rejected it on the same claim that background audio was enabled. This
tells me one of two things: there is some other file in the standalone that
is referencing this function, or, by completely removing it from info.plist,
this effectively defaults to enabling that function. 

I am hoping that the precise code I included in my previous email is the
correct way to disable background audio in info.plist, and that there is no
other file other than the info.plist that needs to be addressed.

Richard


Sent from my iPhone

> On Apr 3, 2017, at 5:03 PM, Ralph DiMola 
wrote:
> 
> After reading closer:
> 1) Make sure that the "Background Audio" is un-ticked.
> 2) Do the "plist hack" as enumerated in my last email.
> 3) This is all I do and have never been rejected for the "Background
Audio"
> issue.
> 4) I have never tried to submit to the store with v9. This might be a 
> v9 issue.
> 
> UIBackgroundModes
> 
> 
> 
> 
> Seems to be correct. 
> 
> Ralph DiMola
> IT Director
> Evergreen Information Services
> rdim...@evergreeninfo.net
> 
> 
> -Original Message-
> From: use-livecode [mailto:use-livecode-boun...@lists.runrev.com] On 
> Behalf Of Richard Miller via use-livecode
> Sent: Monday, April 03, 2017 3:52 PM
> To: How to use LiveCode
> Cc: Richard Miller
> Subject: iOS app rejected five times because of background audio 
> setting
> 
> I have gone back and forth with Apple five times in an attempt to get 
> this setting correct. I made the mistake originally of enabling the 
> background audio option in the iOS standalone settings area. I was 
> trying to prevent the app from exiting when the user switched to a 
> different app. I know that this setting solves that issue, but it also 
> caused Apple to reject my app because I was not including any background
audio.
> 
> I have since realized that the correct way to deal with this is to 
> modify the "exit on suspend" clause in the livecodescript file. But 
> after creating a new standalone and submitting it to Apple, they keep 
> telling me I am still referencing the backgroundaudio option. I tried 
> making changes to the info.plist and settings.plist files, but I can't
seem to get this right.
> 
> I just downloaded a fresh copy of LC 9.0 and created a new standalone. 
> When I look at the info.plist file in the standalone, this is what I find:
> 
> UIBackgroundModes
> 
> 
> 
> 
> 
> Is this correct? Is this the way the code should read when the 
> background audio option is not being used?
> 
> Thanks for any help with this,
> Richard Miller
> ___
> use-livecode mailing list
> use-livecode@lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your 
> subscription
> preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
> 


___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Script to find bottom of lowest field

2017-04-03 Thread Peter Bogdanoff via use-livecode
Hi script wizards!

I have a card containing a number of fields. I want to add another field, but 
position this new field to have its top 20 pixels lower than the bottom of any 
of the existing fields.

Does anyone already have a magic script to do this?

I also want to learn something new!

Peter Bogdanoff
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: New Features?

2017-04-03 Thread hh via use-livecode
Interesting thread about scalefactor (lower half is your issue):

http://runtime-revolution.278305.n4.nabble.com/scaleFactor-strangeness-tc4697399.html#none

>Dan F. wrote:
>Anyone know where to write LC for a feature request?
>In case your curious…  Don’t know if it’s possible or not, but I want to 
>request the >abliltiy to set the scaleFactor of a object (specifically a group 
>of objects).


___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode

Re: iOS app rejected five times because of background audio setting

2017-04-03 Thread Richard Miller via use-livecode
Thanks for the info, Ralph. I had figured out the exit-on-suspend issue 
previously. In my last app submission, I completely removed the entire section 
in the info.plist file which referenced UIBackgroundModes, but they still 
rejected it on the same claim that background audio was enabled. This tells me 
one of two things: there is some other file in the standalone that is 
referencing this function, or, by completely removing it from info.plist, this 
effectively defaults to enabling that function. 

I am hoping that the precise code I included in my previous email is the 
correct way to disable background audio in info.plist, and that there is no 
other file other than the info.plist that needs to be addressed.

Richard


Sent from my iPhone

> On Apr 3, 2017, at 5:03 PM, Ralph DiMola  wrote:
> 
> After reading closer:
> 1) Make sure that the "Background Audio" is un-ticked.
> 2) Do the "plist hack" as enumerated in my last email.
> 3) This is all I do and have never been rejected for the "Background Audio"
> issue.
> 4) I have never tried to submit to the store with v9. This might be a v9
> issue.
> 
> UIBackgroundModes
> 
> 
> 
> 
> Seems to be correct. 
> 
> Ralph DiMola
> IT Director
> Evergreen Information Services
> rdim...@evergreeninfo.net
> 
> 
> -Original Message-
> From: use-livecode [mailto:use-livecode-boun...@lists.runrev.com] On Behalf
> Of Richard Miller via use-livecode
> Sent: Monday, April 03, 2017 3:52 PM
> To: How to use LiveCode
> Cc: Richard Miller
> Subject: iOS app rejected five times because of background audio setting
> 
> I have gone back and forth with Apple five times in an attempt to get this
> setting correct. I made the mistake originally of enabling the background
> audio option in the iOS standalone settings area. I was trying to prevent
> the app from exiting when the user switched to a different app. I know that
> this setting solves that issue, but it also caused Apple to reject my app
> because I was not including any background audio.
> 
> I have since realized that the correct way to deal with this is to modify
> the "exit on suspend" clause in the livecodescript file. But after creating
> a new standalone and submitting it to Apple, they keep telling me I am still
> referencing the backgroundaudio option. I tried making changes to the
> info.plist and settings.plist files, but I can't seem to get this right.
> 
> I just downloaded a fresh copy of LC 9.0 and created a new standalone. 
> When I look at the info.plist file in the standalone, this is what I find:
> 
> UIBackgroundModes
> 
> 
> 
> 
> 
> Is this correct? Is this the way the code should read when the background
> audio option is not being used?
> 
> Thanks for any help with this,
> Richard Miller
> ___
> use-livecode mailing list
> use-livecode@lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your subscription
> preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
> 


___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


RE: iOS app rejected five times because of background audio setting

2017-04-03 Thread Ralph DiMola via use-livecode
After reading closer:
1) Make sure that the "Background Audio" is un-ticked.
2) Do the "plist hack" as enumerated in my last email.
3) This is all I do and have never been rejected for the "Background Audio"
issue.
4) I have never tried to submit to the store with v9. This might be a v9
issue.

UIBackgroundModes
 

 

Seems to be correct. 

Ralph DiMola
IT Director
Evergreen Information Services
rdim...@evergreeninfo.net


-Original Message-
From: use-livecode [mailto:use-livecode-boun...@lists.runrev.com] On Behalf
Of Richard Miller via use-livecode
Sent: Monday, April 03, 2017 3:52 PM
To: How to use LiveCode
Cc: Richard Miller
Subject: iOS app rejected five times because of background audio setting

I have gone back and forth with Apple five times in an attempt to get this
setting correct. I made the mistake originally of enabling the background
audio option in the iOS standalone settings area. I was trying to prevent
the app from exiting when the user switched to a different app. I know that
this setting solves that issue, but it also caused Apple to reject my app
because I was not including any background audio.

I have since realized that the correct way to deal with this is to modify
the "exit on suspend" clause in the livecodescript file. But after creating
a new standalone and submitting it to Apple, they keep telling me I am still
referencing the backgroundaudio option. I tried making changes to the
info.plist and settings.plist files, but I can't seem to get this right.

I just downloaded a fresh copy of LC 9.0 and created a new standalone. 
When I look at the info.plist file in the standalone, this is what I find:

UIBackgroundModes
 

 


Is this correct? Is this the way the code should read when the background
audio option is not being used?

Thanks for any help with this,
Richard Miller
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: New Features?

2017-04-03 Thread Richard Gaskin via use-livecode

Dan Friedman wrote:

> Anyone know where to write LC for a feature request?

The bug DB allows feature request submissions.

> In case your curious…  Don’t know if it’s possible or not, but I
> want to request the abliltiy to set the scaleFactor of a object
> (specifically a group of objects).

Already there:
http://quality.livecode.com/show_bug.cgi?id=11842

--
 Richard Gaskin
 Fourth World Systems
 Software Design and Development for the Desktop, Mobile, and the Web
 
 ambassa...@fourthworld.comhttp://www.FourthWorld.com

___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode

Re: Is there a way to find out the SQLite Driver version of my LC ?

2017-04-03 Thread Tom Glod via use-livecode
thanks mikeshould have thought of that.

On Mon, Apr 3, 2017 at 4:09 PM, Mike Bonner via use-livecode <
use-livecode@lists.runrev.com> wrote:

> btw. on ver 9 dp6 I get 3.15.0
>
> On Mon, Apr 3, 2017 at 2:06 PM, Mike Bonner  wrote:
>
> > You should be able to open an in memory database (or database file,
> > whatever) and then do..
> >
> > *get *revdatafromquery(,,1,"select sqlite_version()") -- where 1 is the
> > database connector id, and the select statement is obvious.
> >
> > On Mon, Apr 3, 2017 at 1:48 PM, Tom Glod via use-livecode <
> > use-livecode@lists.runrev.com> wrote:
> >
> >> is there a way of finding the SQLite driver version of my LC Version?
> >> can't
> >> find it for the life of me... its probably obvious and right
> >> there...preferably by script ..
> >>
> >> There appear tp be lots of performance improvements, dramatic ones, in
> >> recent versions.
> >>
> >> https://www.sqlite.org/news.html
> >>
> >>
> >>
> >> Thanks,
> >>
> >> Tom
> >> ___
> >> use-livecode mailing list
> >> use-livecode@lists.runrev.com
> >> Please visit this url to subscribe, unsubscribe and manage your
> >> subscription preferences:
> >> http://lists.runrev.com/mailman/listinfo/use-livecode
> >>
> >
> >
> ___
> use-livecode mailing list
> use-livecode@lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
>



-- 
*Tom Glod*

CEO @ *MakeShyft R.D.A* - www.makeshyft.com



Developer of *U.M.P* - www.IamUMP.com
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


RE: iOS app rejected five times because of background audio setting

2017-04-03 Thread Ralph DiMola via use-livecode
Richard,

Been down this road. Ticking the "Background Audio" option sets
UIBackgroundModes key to "audio" as well as setting
UIApplicationExitsOnSuspend=False to keep you app active. If you are not
actually playing background audio then you will get rejected. The way to do
this is to edit the app.

1) In Tools/Runtime/iOS... set all the folders to read/write.
2) Edit the setting.plist in each of the folders and change
UIApplicationExitsOnSuspend key value to "False" (or like I do...delete the
key all together) 

That's it! Apple will not complain. If you need to have some apps with it on
and some with it off then make a copy of the app and change the
setting.plist's in the copy.

I only change the devices(only 2) and leave the simulators as is (I have 5
of them). If I want to test this behavior I just put the app on a device.

Ralph DiMola
IT Director
Evergreen Information Services
rdim...@evergreeninfo.net


-Original Message-
From: use-livecode [mailto:use-livecode-boun...@lists.runrev.com] On Behalf
Of Richard Miller via use-livecode
Sent: Monday, April 03, 2017 3:52 PM
To: How to use LiveCode
Cc: Richard Miller
Subject: iOS app rejected five times because of background audio setting

I have gone back and forth with Apple five times in an attempt to get this
setting correct. I made the mistake originally of enabling the background
audio option in the iOS standalone settings area. I was trying to prevent
the app from exiting when the user switched to a different app. I know that
this setting solves that issue, but it also caused Apple to reject my app
because I was not including any background audio.

I have since realized that the correct way to deal with this is to modify
the "exit on suspend" clause in the livecodescript file. But after creating
a new standalone and submitting it to Apple, they keep telling me I am still
referencing the backgroundaudio option. I tried making changes to the
info.plist and settings.plist files, but I can't seem to get this right.

I just downloaded a fresh copy of LC 9.0 and created a new standalone. 
When I look at the info.plist file in the standalone, this is what I find:

UIBackgroundModes
 

 


Is this correct? Is this the way the code should read when the background
audio option is not being used?

Thanks for any help with this,
Richard Miller
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: New Features?

2017-04-03 Thread Devin Asay via use-livecode

On Apr 3, 2017, at 1:49 PM, Dan Friedman via use-livecode 
> wrote:

Anyone know where to write LC for a feature request?

In case your curious…  Don’t know if it’s possible or not, but I want to 
request the abliltiy to set the scaleFactor of a object (specifically a group 
of objects).

Dan,

You can file a feature request at http://quality.livecode.com/enter_bug.cgi. 
Just select Feature Request under step 2, then describe it as best you can in 
the description section.

HTH

Devin


Devin Asay
Director
Office of Digital Humanities
Brigham Young University

___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode

Re: Is there a way to find out the SQLite Driver version of my LC ?

2017-04-03 Thread Mike Bonner via use-livecode
btw. on ver 9 dp6 I get 3.15.0

On Mon, Apr 3, 2017 at 2:06 PM, Mike Bonner  wrote:

> You should be able to open an in memory database (or database file,
> whatever) and then do..
>
> *get *revdatafromquery(,,1,"select sqlite_version()") -- where 1 is the
> database connector id, and the select statement is obvious.
>
> On Mon, Apr 3, 2017 at 1:48 PM, Tom Glod via use-livecode <
> use-livecode@lists.runrev.com> wrote:
>
>> is there a way of finding the SQLite driver version of my LC Version?
>> can't
>> find it for the life of me... its probably obvious and right
>> there...preferably by script ..
>>
>> There appear tp be lots of performance improvements, dramatic ones, in
>> recent versions.
>>
>> https://www.sqlite.org/news.html
>>
>>
>>
>> Thanks,
>>
>> Tom
>> ___
>> use-livecode mailing list
>> use-livecode@lists.runrev.com
>> Please visit this url to subscribe, unsubscribe and manage your
>> subscription preferences:
>> http://lists.runrev.com/mailman/listinfo/use-livecode
>>
>
>
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: Is there a way to find out the SQLite Driver version of my LC ?

2017-04-03 Thread Mike Bonner via use-livecode
You should be able to open an in memory database (or database file,
whatever) and then do..

*get *revdatafromquery(,,1,"select sqlite_version()") -- where 1 is the
database connector id, and the select statement is obvious.

On Mon, Apr 3, 2017 at 1:48 PM, Tom Glod via use-livecode <
use-livecode@lists.runrev.com> wrote:

> is there a way of finding the SQLite driver version of my LC Version? can't
> find it for the life of me... its probably obvious and right
> there...preferably by script ..
>
> There appear tp be lots of performance improvements, dramatic ones, in
> recent versions.
>
> https://www.sqlite.org/news.html
>
>
>
> Thanks,
>
> Tom
> ___
> use-livecode mailing list
> use-livecode@lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
>
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


iOS app rejected five times because of background audio setting

2017-04-03 Thread Richard Miller via use-livecode
I have gone back and forth with Apple five times in an attempt to get 
this setting correct. I made the mistake originally of enabling the 
background audio option in the iOS standalone settings area. I was 
trying to prevent the app from exiting when the user switched to a 
different app. I know that this setting solves that issue, but it also 
caused Apple to reject my app because I was not including any background 
audio.


I have since realized that the correct way to deal with this is to 
modify the "exit on suspend" clause in the livecodescript file. But 
after creating a new standalone and submitting it to Apple, they keep 
telling me I am still referencing the backgroundaudio option. I tried 
making changes to the info.plist and settings.plist files, but I can't 
seem to get this right.


I just downloaded a fresh copy of LC 9.0 and created a new standalone. 
When I look at the info.plist file in the standalone, this is what I find:


UIBackgroundModes





Is this correct? Is this the way the code should read when the 
background audio option is not being used?


Thanks for any help with this,
Richard Miller
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


New Features?

2017-04-03 Thread Dan Friedman via use-livecode
Anyone know where to write LC for a feature request?

In case your curious…  Don’t know if it’s possible or not, but I want to 
request the abliltiy to set the scaleFactor of a object (specifically a group 
of objects).

Thanks in advance,
-Dan

___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode

Is there a way to find out the SQLite Driver version of my LC ?

2017-04-03 Thread Tom Glod via use-livecode
is there a way of finding the SQLite driver version of my LC Version? can't
find it for the life of me... its probably obvious and right
there...preferably by script ..

There appear tp be lots of performance improvements, dramatic ones, in
recent versions.

https://www.sqlite.org/news.html



Thanks,

Tom
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: Cheesed off by 32xxx

2017-04-03 Thread Jim Lambert via use-livecode
> RichardG wrote:
> 
> the memory and CPU requirements for working with tens of thousands of objects 
> can be onerous

Not to mention how onerous it would be for the poor end user to work with tens 
of thousands of objects!

Jim Lambert

___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: Cheesed off by 32xxx

2017-04-03 Thread Richmond Mathewson via use-livecode

Thanks for such an informative posting.

On 4/3/17 9:58 am, Mark Waddingham via use-livecode wrote:

On 2017-04-02 19:07, Richmond Mathewson via use-livecode wrote:

The problem, such as it is, is that the Unicode specifications have
128 * 8703 slots for glyphs (= a big number my mind cannot cope with)
and the display in my "CHAR REF" stack is set up to cope with 128
glyphs a go: hence 8703 buttons.

Of course I could be racist and leave out the Chinese ideograph slots
(= about 70%) . . .


You'd probably be okay with 8703 buttons (were there not a co-ordinate 
magnitude limit), but certainly not with 128*8703 buttons.


Oh: I am perfectly capable of pumping out 8703 buttons, that is NOT the 
problem.


The problem is to have them placed sequentially one above the other in a 
"monster list" grouped into a 700 pixel high group with
a vertical scrollbar: even that, as such, is not the problem: the 
problem is thatthere is no way I can stack those buttons up

vertically prior to grouping them.

128*8703 not necessary at all (quite apart from the fact that I'd be 
even more out of my box

than I am already to contemplate that).


To give some context...

Each button takes up at least 128 bytes in memory, so:

  8703 buttons is about 1.4Mb - which isn't too bad

  8703*128 buttons would be about 150Mb - which is substantially more

Admittedly, neither of these will 'break the bank' in terms of memory 
availability, even on machines of a G3 Mac vintage, however just 
storing the representation of such things in memory is not the only 
issue. The engine has to do things like:


  - render all the controls on the card

  - perform hit testing when the user clicks or interacts with the card

  - search for controls when you reference them in script

Rendering requires a linear back to front scan of each control, 
painting each one which is within the visible rect of the window the 
card sits in. This means that if you have 8703*128 buttons it will 
need to perform that many steps to render. Additionally, whenever a 
small amount changes, it needs to do this again - as any one control 
*could* have been moved or intersect with the area which has changed 
(and thus require rendering).


Hit testing is similar, although the process is from front to back, 
and stops as soon as a control says it is the target of the mouse / 
user interaction event.


The third case, is the killer though. Looking up a control by name or 
by later requires (on average) number of controls on card / 2 steps to 
perform. If you use the (short) id, then there is a per-stack cache 
which makes the lookup take 1 step if it has been looked up before but 
the normal number of steps if it has not.


In general, we'd never advise using so many controls on a single card 
- and a data-oriented approach which is what others have suggested is 
generally the best approach in this case. i.e. Update the content of a 
small set of buttons as the user browses through the list.



I wonder if that limit is "cast in stone" or the Livecode people could
expand it?


Currently engine controls are limited to 16-bit quantities for 
co-ordinates - which means a range of -32768 to 32768. The underlying 
rendering library we use (libgraphics), however, uses floats (32-bit 
real numbers which given an integer range up to around 2^24). So, 
updating the engine to use floats or similar in its co-ordinates for 
controls is certainly possible, just not a task we've undertaken yet.


Warmest Regards,

Mark.



Best, Richmond.
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: Gradients with transparency?

2017-04-03 Thread Scott Rossi via use-livecode
The thing about using a graphic gradient (as opposed to an image) is the 
graphic is infinitely more flexible:
- variable size (no loss of quality when resizing)
- variable colors
- variable transparency

As far as exporting goes, last I checked, I don’t think ink effects export 
intact, even when using “with effects” in the snapshot syntax, so if you can’t 
get the visual result you want with the default ink, you may need to export a 
snapshot of the region of the card you need.  Maybe support for exporting inks 
has improved recently (though in my quick dp4 test, exporting to the desktop 
crashes).

Regards,

Scott Rossi 
Creative Director 
Tactile Media, UX/UI Design 



> On Apr 3, 2017, at 10:26 AM, J. Landman Gay via use-livecode 
>  wrote:
> 
> Would exporting a snapshot work well enough for your needs?
> 
> --
> Jacqueline Landman Gay | jac...@hyperactivesw.com
> HyperActive Software   | http://www.hyperactivesw.com
> 
> 
> 
> On April 3, 2017 4:39:07 AM Terry Judd via use-livecode 
>  wrote:
> 
>> Is it possible to have a gradient with one of its end-points being 
>> transparent instead of a solid colour?
>> 
>> I want to overlay a graphic with a vertical gradient that blends from 
>> transparent to white to give the effect that the underlying content is 
>> fading out as you move down the screen. I’m able to achieve this effect 
>> using a black and white linear gradient in combination with the blendScreen 
>> ink but I need to be able to export the object (gradient plus underlying 
>> controls) as an image keeping the effect intact. When I export it now the 
>> ink effect is lost.
>> 
>> Terry...
>> ___
>> use-livecode mailing list
>> use-livecode@lists.runrev.com
>> Please visit this url to subscribe, unsubscribe and manage your subscription 
>> preferences:
>> http://lists.runrev.com/mailman/listinfo/use-livecode
> 
> 
> 
> ___
> use-livecode mailing list
> use-livecode@lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your subscription 
> preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode


___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode

Re: Private Repo Services

2017-04-03 Thread Mike Kerner via use-livecode
And I didn't read far enough right on gitlab, either.  When I was looking
at it, I misread the left side, which is for me hosting, not for them
hosting.
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: Gradients with transparency?

2017-04-03 Thread J. Landman Gay via use-livecode

Would exporting a snapshot work well enough for your needs?

--
Jacqueline Landman Gay | jac...@hyperactivesw.com
HyperActive Software   | http://www.hyperactivesw.com



On April 3, 2017 4:39:07 AM Terry Judd via use-livecode 
 wrote:


Is it possible to have a gradient with one of its end-points being 
transparent instead of a solid colour?


I want to overlay a graphic with a vertical gradient that blends from 
transparent to white to give the effect that the underlying content is 
fading out as you move down the screen. I’m able to achieve this effect 
using a black and white linear gradient in combination with the blendScreen 
ink but I need to be able to export the object (gradient plus underlying 
controls) as an image keeping the effect intact. When I export it now the 
ink effect is lost.


Terry...
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your 
subscription preferences:

http://lists.runrev.com/mailman/listinfo/use-livecode




___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode

Re: Negative Numbers and NumberFormat

2017-04-03 Thread dunbarx via use-livecode
Hi.

Hmmm.

When you say "...the sign takes up one of the digital " does this make it
better or worse:

   set the numberformat to "00"
   put -1112 +0 & ":" & 0 +0 & ":" & 0 +0 

or going the other way, with your top snippet, did you expect:

-01:00:00

Craig Newman



--
View this message in context: 
http://runtime-revolution.278305.n4.nabble.com/Negative-Numbers-and-NumberFormat-tp4713609p4713610.html
Sent from the Revolution - User mailing list archive at Nabble.com.

___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Negative Numbers and NumberFormat

2017-04-03 Thread Bob Sneidar via use-livecode
Was anyone aware that the sign takes up one of the digital in number format? 
For instance, 

set the numberformat to "00";put -1 +0 & ":" & 0 +0 & ":" & 0 +0
returns:
-1:00:00

but 
set the numberformat to "00";put -12 +0 & ":" & 0 +0 & ":" & 0 +0
returns:
-12:00:00

Does no one else find that odd??

Bob S



___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: Cheesed off by 32xxx

2017-04-03 Thread Stephen Barncard via use-livecode
20,000 "LIKES" - Richard!
You have expressed so well my feelings that I couldn't find the words for.

[rant]
The power we have in this tool [Livecode] cannot be overstated.
We have to remember it's "just" a tool-kit and there's a lot of stuff
that's already pre-assembled. And the rest can be hand-rolled given enough
desire. But we're also expected to put in some work to make it so.
And the fact that it ALL is an illusion cannot be ignored.  (don't take my
word for it, ask your local guru)
Sometimes an illusion of an illusion in the illusion. So that's my
allusion.

software at the speed of thought, indeed.

[/rant]


On Mon, Apr 3, 2017 at 9:47 AM, Richard Gaskin via use-livecode <
use-livecode@lists.runrev.com> wrote:

> One of the beautiful things about making GUIs in LiveCode is that we
> generally get a very satisfying and immediate sense of physicality with the
> controls we're working with:  we envision the user interface, drag out
> controls to match that vision, and we have a one-to-one correspondence
> between what we're doing as developers and what the end-user is working
> with.




--
Stephen Barncard - Sebastopol Ca. USA -
mixstream.org
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: Gradients with transparency?

2017-04-03 Thread Richmond Mathewson via use-livecode

Personally I'd fake it:

I'd set up a gradient with one end being transparent in my graphics 
weapon of choice (GIMP) and save it as a PNG image,
import it and overlay it on top of your content, then make sure you 
group it with your content before you do an


export from group "JazzyGradient" to file "JazzyGradient.png" as PNG

Richmond.

On 4/3/17 12:37 pm, Terry Judd via use-livecode wrote:

Is it possible to have a gradient with one of its end-points being transparent 
instead of a solid colour?

I want to overlay a graphic with a vertical gradient that blends from 
transparent to white to give the effect that the underlying content is fading 
out as you move down the screen. I’m able to achieve this effect using a black 
and white linear gradient in combination with the blendScreen ink but I need to 
be able to export the object (gradient plus underlying controls) as an image 
keeping the effect intact. When I export it now the ink effect is lost.

Terry...
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode

Re: Cheesed off by 32xxx

2017-04-03 Thread Richard Gaskin via use-livecode
One of the beautiful things about making GUIs in LiveCode is that we 
generally get a very satisfying and immediate sense of physicality with 
the controls we're working with:  we envision the user interface, drag 
out controls to match that vision, and we have a one-to-one 
correspondence between what we're doing as developers and what the 
end-user is working with.


Most of the time this physicality lends itself to an uncommonly 
productive workflow.  I was talking about this with Trevor the other 
day, and we both agreed that the direct manipulation of controls in a 
"live" environment, coupled with a language that includes GUI controls 
as first-class citizens, is a big part of why we continue to rely on and 
enjoy LiveCode.


But from time to time, we find particularly ambitious GUI designs that 
become problematic within this paradigm.  Not impossible, but requiring 
us to abandon the comfortable sense of physicality to consider more 
traditional solutions.


As Mark Waddingham pointed out, the memory and CPU requirements for 
working with tens of thousands of objects can be onerous, in some cases 
perhaps prohibitively so.


That's part of the reason why most of the world solves GUI problems 
through radically different means than LC does.


LiveCode does such a good job of maintaining the illusion that GUIs are 
physical objects that we often take it for granted.  But in lower-level 
tools, you're required to be constantly aware that all of that is just 
an illusion - the structs, the buffering, the hit-testing, it's all 
abstraction that only appears physical at the very end of a very complex 
set of processes.


In lower-level languages, most of the time if it ain't on screen it 
ain't instantiated.  They don't even bother.  No need - no one can see 
it anyway.  They maintain just enough info to know when a control needs 
to be instantiated, and then do so only when it will be visible in the 
window.


The DataGrid is a good example of a middle path between the abstraction 
of lower-level languages and the physicality of LC controls:


You can have any number of rows in a DG, but truth be told the only ones 
that actually exist are the ones you're looking at.


Trevor has made very smart of use of fluid scrollBarDrag message to 
populate the visible portion of the group with the controls relevant for 
that scroll position.  Everything out of view doesn't really exist, at 
least not in terms of GUI controls.


It's a non-trivial task to effectively virtualize large numbers of rows 
and instantiate only what's visible on the fly.  He's done an excellent 
job of that.


In addition to being a very valuable part of the LC toolkit, the DG is 
also a reminder that with a little effort we can solve even big problems 
in LC, even though some of the bigger ones require us to set aside the 
perceived physicality and think about things in a more traditional 
computer science way.


I've found, as Mark confirms, that the coordinate space in LC is limited 
to about 32765 px.


Given the power of computers and the ease of using LC, we might 
sometimes see that as a constraining limitation.


But think about it:  at 96dpi that's just under 28 feet on a side - far 
larger than any monitor you can buy, which means far larger than 
anything any user could possibly see.


When we need to work in unusually large spaces, it becomes time to think 
in unusual ways.


By paging rendered elements, as the DG does, we can handle nearly any 
size of coordinate space.


It requires more work to think through a solution that makes sense for 
the design at hand, but just about anything you can imagine is doable, 
even if the worst that happens is that we have to think about solutions 
using methods similar to how the rest of the world has to deal with them.


In the case of the task at hand here in this thread, the solution is 
even simpler:  the DG already provides one way to virtualize large 
numbers of controls for us with minimal effort to use, and it may be 
possible to take advantage of the flexibility of LC fields, with their 
excelling buffering, to do that as well.


But even the in a worst-case outcome, where we'd need to figure out a 
paging mechanism from scratch. I wager that even though it requires more 
effort than just laying out tens of thousand of controls, it can be done 
in LC far more productively than one could do in just about any other 
GUI toolkit.


--
 Richard Gaskin
 Fourth World Systems
 Software Design and Development for the Desktop, Mobile, and the Web
 
 ambassa...@fourthworld.comhttp://www.FourthWorld.com

___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: Private Repo Services

2017-04-03 Thread pink via use-livecode
I'm a fan of GitLab, you can host your own or use their service for free.

See: 
https://about.gitlab.com/products/



-
---
Greg (pink) Miller
mad, pink and dangerous to code
--
View this message in context: 
http://runtime-revolution.278305.n4.nabble.com/Private-Repo-Services-tp4713596p4713605.html
Sent from the Revolution - User mailing list archive at Nabble.com.

___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: when is LC 8.1.4 to be expected?

2017-04-03 Thread Bob Sneidar via use-livecode
You should have given him the standard response: "Two Weeks"

Bob S


> On Apr 3, 2017, at 02:55 , panagiotis merakos via use-livecode 
>  wrote:
> 
> Hi Tiemo,
> 
> This is just an off_the_record_rumor:
> 
> We would like/expect to release 8.1.4 RC-1 within this week :)
> 
> Best regards,
> Panos


___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: Cheesed off by 32xxx

2017-04-03 Thread Bob Sneidar via use-livecode
The short version: Datagrid GOOD!

Bob S


> On Apr 2, 2017, at 23:58 , Mark Waddingham via use-livecode 
>  wrote:
> 
> On 2017-04-02 19:07, Richmond Mathewson via use-livecode wrote:
>> The problem, such as it is, is that the Unicode specifications have
>> 128 * 8703 slots for glyphs (= a big number my mind cannot cope with)
>> and the display in my "CHAR REF" stack is set up to cope with 128
>> glyphs a go: hence 8703 buttons.
>> Of course I could be racist and leave out the Chinese ideograph slots
>> (= about 70%) . . .
> 
> You'd probably be okay with 8703 buttons (were there not a co-ordinate 
> magnitude limit), but certainly not with 128*8703 buttons.
> 
> To give some context...
> 
> Each button takes up at least 128 bytes in memory, so:
> 
>  8703 buttons is about 1.4Mb - which isn't too bad
> 
>  8703*128 buttons would be about 150Mb - which is substantially more
> 
> Admittedly, neither of these will 'break the bank' in terms of memory 
> availability, even on machines of a G3 Mac vintage, however just storing the 
> representation of such things in memory is not the only issue. The engine has 
> to do things like:
> 
>  - render all the controls on the card
> 
>  - perform hit testing when the user clicks or interacts with the card
> 
>  - search for controls when you reference them in script
> 
> Rendering requires a linear back to front scan of each control, painting each 
> one which is within the visible rect of the window the card sits in. This 
> means that if you have 8703*128 buttons it will need to perform that many 
> steps to render. Additionally, whenever a small amount changes, it needs to 
> do this again - as any one control *could* have been moved or intersect with 
> the area which has changed (and thus require rendering).
> 
> Hit testing is similar, although the process is from front to back, and stops 
> as soon as a control says it is the target of the mouse / user interaction 
> event.
> 
> The third case, is the killer though. Looking up a control by name or by 
> later requires (on average) number of controls on card / 2 steps to perform. 
> If you use the (short) id, then there is a per-stack cache which makes the 
> lookup take 1 step if it has been looked up before but the normal number of 
> steps if it has not.
> 
> In general, we'd never advise using so many controls on a single card - and a 
> data-oriented approach which is what others have suggested is generally the 
> best approach in this case. i.e. Update the content of a small set of buttons 
> as the user browses through the list.
> 
>> I wonder if that limit is "cast in stone" or the Livecode people could
>> expand it?
> 
> Currently engine controls are limited to 16-bit quantities for co-ordinates - 
> which means a range of -32768 to 32768. The underlying rendering library we 
> use (libgraphics), however, uses floats (32-bit real numbers which given an 
> integer range up to around 2^24). So, updating the engine to use floats or 
> similar in its co-ordinates for controls is certainly possible, just not a 
> task we've undertaken yet.
> 
> Warmest Regards,
> 
> Mark.
> 
> -- 
> Mark Waddingham ~ m...@livecode.com ~ http://www.livecode.com/
> LiveCode: Everyone can create apps


___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: Cheesed off by 32xxx

2017-04-03 Thread Bob Sneidar via use-livecode
:-D

> On Apr 2, 2017, at 18:23 , Curry Kenworthy via use-livecode 
>  wrote:
> 
> Channeling Sensei again for fun - Does man with million chopsticks line them 
> all side by side, only one layer deep? He need very big custom table, very 
> expensive, no more bamboo or tree left for chopstick.


___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: OMG WTF detailed files BST?

2017-04-03 Thread Ben Rubinstein via use-livecode
The plot is slightly thickening. I restarted the VM, set the date+time to not 
adjust for daylight saving, restarted again. This removed some 30,000 images 
from the list with allegedly modified timestamps; the ones that were no longer 
consider to have changed were - in some year or other - modified between late 
march and the end of September.


I've now switched the 'adjust' setting back on, restarted the VM again, and 
await tomorrow's report with interest.


(In the meantime I've asked the clients IT dept what the server in question is 
running, but on the whole they tend to be very unresponsive... sigh.)


Ben




On 03/04/2017 09:06, Mark Waddingham via use-livecode wrote:

On 2017-03-31 19:23, Local (BenR) wrote:

Hi Mark,

Thanks for your response, very helpful.

Unfortunately I don't know what the filesystem of the volume with the
files is - this is a client's network, and they set up a VM in the DMZ
for me to work on, with this network share mounted - but I've no idea
what the fileserver is.


Hmmm - I suspect something to do with the fileserver is at play here.

LiveCode uses FindFirstFileW and similar Win32 APIs to fetch the detailed file
into. Beyond converting the raw 'filetime' value which you get to 'seconds
since 1970' (UTC) which is just (essentially) done by adding a constant offset
it doesn't do anything suspect with such values.

I can't explain why Explorer shows the correct values unless:

  1) It 'knows' about some sort of DST drift problem and has hard-coded
handling of it

  2) It is using a different API to LiveCode to get the same info

Of course (2) requires there being a different file system API one could use,
but to
my knowledge all Win32 FS operations are implemented in terms of the family we
are
using.

Therefore, some more precise details of the setup your app is running on is
probably
the best thing to try and get now - i.e. the details of the network share and 
how
it is configured in the VM.

Warmest Regards,

Mark.



___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: Private Repo Services

2017-04-03 Thread Mike Kerner via use-livecode
Crap.  I didn't think of BitBucket.

On Mon, Apr 3, 2017 at 7:55 AM, Mark Waddingham via use-livecode <
use-livecode@lists.runrev.com> wrote:

> On 2017-04-03 13:44, Mike Kerner via use-livecode wrote:
>
>> Github is nice, but all your repos have to be public in order to be free.
>> I went looking for private ones (because there are things you just can't
>> do
>> without a remote repo, and I don't want all my code in the open)
>>
>> So far I've found two:
>> 1) Github - $7/month
>> 2) Google - free, but it's more complicated to get set up, and they have
>> quotas.  I have had no trouble getting an increase, but I'm sure there are
>> limits to their generosity
>>
>> Does anyone know of others?
>>
>
> Atlassian Bitbucket is free (as far as I can tell!) for small teams - I
> don't know if there are any usage limits, but it certainly seems more than
> sufficient for my personal use.
>
> Warmest Regards,
>
> Mark.
>
> --
> Mark Waddingham ~ m...@livecode.com ~ http://www.livecode.com/
> LiveCode: Everyone can create apps
>
> ___
> use-livecode mailing list
> use-livecode@lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
>



-- 
On the first day, God created the heavens and the Earth
On the second day, God created the oceans.
On the third day, God put the animals on hold for a few hours,
   and did a little diving.
And God said, "This is good."
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: Gradients with transparency?

2017-04-03 Thread Terry Judd via use-livecode
Thanks Mark, I'll try that out.

Regards,

Terry...

Sent from my iPad

> On 3 Apr 2017, at 8:30 pm, Mark Waddingham via use-livecode 
>  wrote:
> 
>> On 2017-04-03 11:37, Terry Judd via use-livecode wrote:
>> Is it possible to have a gradient with one of its end-points being
>> transparent instead of a solid colour?
> 
> Yes the color values you specify for gradients can have an alpha component. 
> For example:
> 
>  0.5,255,0,0 -> at half way through the gradient, the color should be solid 
> red
> 
>  0.5,255,0,0,127 -> at half way through the gradient, the color should be 50% 
> transparent red.
> 
> Hope this helps!
> 
> Mark.
> 
> -- 
> Mark Waddingham ~ m...@livecode.com ~ http://www.livecode.com/
> LiveCode: Everyone can create apps
> 
> ___
> use-livecode mailing list
> use-livecode@lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your subscription 
> preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
> 


___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: Line numbers for soft-wrapped styled text?

2017-04-03 Thread Mark Waddingham via use-livecode

On 2017-03-29 12:48, hh via use-livecode wrote:

Alex,
before you waste valuable time:
The formattedRect can NOT be used in LC 7/8/9, because of the
(2^15 div 2)-limit for coordinates is active for that.


I couldn't find a bug report for that so I filed one:

http://quality.livecode.com/show_bug.cgi?id=19515

Warmest Regards,

Mark.

--
Mark Waddingham ~ m...@livecode.com ~ http://www.livecode.com/
LiveCode: Everyone can create apps

___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: Private Repo Services

2017-04-03 Thread Mark Waddingham via use-livecode

On 2017-04-03 13:44, Mike Kerner via use-livecode wrote:
Github is nice, but all your repos have to be public in order to be 
free.
I went looking for private ones (because there are things you just 
can't do

without a remote repo, and I don't want all my code in the open)

So far I've found two:
1) Github - $7/month
2) Google - free, but it's more complicated to get set up, and they 
have
quotas.  I have had no trouble getting an increase, but I'm sure there 
are

limits to their generosity

Does anyone know of others?


Atlassian Bitbucket is free (as far as I can tell!) for small teams - I 
don't know if there are any usage limits, but it certainly seems more 
than sufficient for my personal use.


Warmest Regards,

Mark.

--
Mark Waddingham ~ m...@livecode.com ~ http://www.livecode.com/
LiveCode: Everyone can create apps

___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Private Repo Services

2017-04-03 Thread Mike Kerner via use-livecode
Github is nice, but all your repos have to be public in order to be free.
I went looking for private ones (because there are things you just can't do
without a remote repo, and I don't want all my code in the open)

So far I've found two:
1) Github - $7/month
2) Google - free, but it's more complicated to get set up, and they have
quotas.  I have had no trouble getting an increase, but I'm sure there are
limits to their generosity

Does anyone know of others?

-- 
On the first day, God created the heavens and the Earth
On the second day, God created the oceans.
On the third day, God put the animals on hold for a few hours,
   and did a little diving.
And God said, "This is good."
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


[ANN] This Week in LiveCode 77

2017-04-03 Thread panagiotis merakos via use-livecode
Hi all,

Read about new developments in LiveCode open source and the open source
community in today's edition of the "This Week in LiveCode" newsletter!

Read issue #77 here: https://goo.gl/Bh2qCb

This is a weekly newsletter about LiveCode, focussing on what's been
going on in and around the open source project.  New issues will be
released weekly on Mondays.  We have a dedicated mailing list that will
deliver each issue directly to you e-mail, so you don't miss any!

If you have anything you'd like mentioned (a project, a discussion
somewhere, an upcoming event) then please get in touch.

-- 
Panagiotis Merakos 
LiveCode Software Developer

Everyone Can Create Apps 
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: Gradients with transparency?

2017-04-03 Thread Mark Waddingham via use-livecode

On 2017-04-03 11:37, Terry Judd via use-livecode wrote:

Is it possible to have a gradient with one of its end-points being
transparent instead of a solid colour?


Yes the color values you specify for gradients can have an alpha 
component. For example:


  0.5,255,0,0 -> at half way through the gradient, the color should be 
solid red


  0.5,255,0,0,127 -> at half way through the gradient, the color should 
be 50% transparent red.


Hope this helps!

Mark.

--
Mark Waddingham ~ m...@livecode.com ~ http://www.livecode.com/
LiveCode: Everyone can create apps

___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


AW: when is LC 8.1.4 to be expected?

2017-04-03 Thread Tiemo Hollmann TB via use-livecode
Thanks Panos, I won't spread such rumors!
Tiemo

-Ursprüngliche Nachricht-
Von: use-livecode [mailto:use-livecode-boun...@lists.runrev.com] Im Auftrag
von panagiotis merakos via use-livecode
Gesendet: Montag, 3. April 2017 11:56
An: How to use LiveCode 
Cc: panagiotis merakos 
Betreff: Re: when is LC 8.1.4 to be expected?

Hi Tiemo,

This is just an off_the_record_rumor:

We would like/expect to release 8.1.4 RC-1 within this week :)

Best regards,
Panos
--

On Mon, Apr 3, 2017 at 9:47 AM, Tiemo Hollmann TB via use-livecode <
use-livecode@lists.runrev.com> wrote:

> Hello headquarter,
>
> I am just releasing a new version and the only remaining bug is the 
> wrong windows systemVersion in 8.1.3.
>
> That's why I would like to know, if 8.1.4 is shortly to be expected 
> and it would be worth for me to wait a few days or if it still is 
> unscheduled and I'll go with the wrong systemversion.
>
> Thanks for any rumors off the records :)
>
> Tiemo
>
>
>
>
>
> ___
> use-livecode mailing list
> use-livecode@lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your 
> subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
>



--
Panagiotis Merakos  LiveCode Software Developer

Everyone Can Create Apps 
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: when is LC 8.1.4 to be expected?

2017-04-03 Thread panagiotis merakos via use-livecode
Hi Tiemo,

This is just an off_the_record_rumor:

We would like/expect to release 8.1.4 RC-1 within this week :)

Best regards,
Panos
--

On Mon, Apr 3, 2017 at 9:47 AM, Tiemo Hollmann TB via use-livecode <
use-livecode@lists.runrev.com> wrote:

> Hello headquarter,
>
> I am just releasing a new version and the only remaining bug is the wrong
> windows systemVersion in 8.1.3.
>
> That's why I would like to know, if 8.1.4 is shortly to be expected and it
> would be worth for me to wait a few days or if it still is unscheduled and
> I'll go with the wrong systemversion.
>
> Thanks for any rumors off the records :)
>
> Tiemo
>
>
>
>
>
> ___
> use-livecode mailing list
> use-livecode@lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
>



-- 
Panagiotis Merakos 
LiveCode Software Developer

Everyone Can Create Apps 
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Gradients with transparency?

2017-04-03 Thread Terry Judd via use-livecode
Is it possible to have a gradient with one of its end-points being transparent 
instead of a solid colour?

I want to overlay a graphic with a vertical gradient that blends from 
transparent to white to give the effect that the underlying content is fading 
out as you move down the screen. I’m able to achieve this effect using a black 
and white linear gradient in combination with the blendScreen ink but I need to 
be able to export the object (gradient plus underlying controls) as an image 
keeping the effect intact. When I export it now the ink effect is lost.

Terry...
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode

when is LC 8.1.4 to be expected?

2017-04-03 Thread Tiemo Hollmann TB via use-livecode
Hello headquarter,

I am just releasing a new version and the only remaining bug is the wrong
windows systemVersion in 8.1.3.

That's why I would like to know, if 8.1.4 is shortly to be expected and it
would be worth for me to wait a few days or if it still is unscheduled and
I'll go with the wrong systemversion.

Thanks for any rumors off the records :)

Tiemo

 

 

___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: OMG WTF detailed files BST?

2017-04-03 Thread Mark Waddingham via use-livecode

On 2017-03-31 19:23, Local (BenR) wrote:

Hi Mark,

Thanks for your response, very helpful.

Unfortunately I don't know what the filesystem of the volume with the
files is - this is a client's network, and they set up a VM in the DMZ
for me to work on, with this network share mounted - but I've no idea
what the fileserver is.


Hmmm - I suspect something to do with the fileserver is at play here.

LiveCode uses FindFirstFileW and similar Win32 APIs to fetch the 
detailed file
into. Beyond converting the raw 'filetime' value which you get to 
'seconds
since 1970' (UTC) which is just (essentially) done by adding a constant 
offset

it doesn't do anything suspect with such values.

I can't explain why Explorer shows the correct values unless:

  1) It 'knows' about some sort of DST drift problem and has hard-coded 
handling of it


  2) It is using a different API to LiveCode to get the same info

Of course (2) requires there being a different file system API one could 
use, but to
my knowledge all Win32 FS operations are implemented in terms of the 
family we are

using.

Therefore, some more precise details of the setup your app is running on 
is probably
the best thing to try and get now - i.e. the details of the network 
share and how

it is configured in the VM.

Warmest Regards,

Mark.

--
Mark Waddingham ~ m...@livecode.com ~ http://www.livecode.com/
LiveCode: Everyone can create apps

___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: Cheesed off by 32xxx

2017-04-03 Thread Mark Waddingham via use-livecode

On 2017-04-02 19:07, Richmond Mathewson via use-livecode wrote:

The problem, such as it is, is that the Unicode specifications have
128 * 8703 slots for glyphs (= a big number my mind cannot cope with)
and the display in my "CHAR REF" stack is set up to cope with 128
glyphs a go: hence 8703 buttons.

Of course I could be racist and leave out the Chinese ideograph slots
(= about 70%) . . .


You'd probably be okay with 8703 buttons (were there not a co-ordinate 
magnitude limit), but certainly not with 128*8703 buttons.


To give some context...

Each button takes up at least 128 bytes in memory, so:

  8703 buttons is about 1.4Mb - which isn't too bad

  8703*128 buttons would be about 150Mb - which is substantially more

Admittedly, neither of these will 'break the bank' in terms of memory 
availability, even on machines of a G3 Mac vintage, however just storing 
the representation of such things in memory is not the only issue. The 
engine has to do things like:


  - render all the controls on the card

  - perform hit testing when the user clicks or interacts with the card

  - search for controls when you reference them in script

Rendering requires a linear back to front scan of each control, painting 
each one which is within the visible rect of the window the card sits 
in. This means that if you have 8703*128 buttons it will need to perform 
that many steps to render. Additionally, whenever a small amount 
changes, it needs to do this again - as any one control *could* have 
been moved or intersect with the area which has changed (and thus 
require rendering).


Hit testing is similar, although the process is from front to back, and 
stops as soon as a control says it is the target of the mouse / user 
interaction event.


The third case, is the killer though. Looking up a control by name or by 
later requires (on average) number of controls on card / 2 steps to 
perform. If you use the (short) id, then there is a per-stack cache 
which makes the lookup take 1 step if it has been looked up before but 
the normal number of steps if it has not.


In general, we'd never advise using so many controls on a single card - 
and a data-oriented approach which is what others have suggested is 
generally the best approach in this case. i.e. Update the content of a 
small set of buttons as the user browses through the list.



I wonder if that limit is "cast in stone" or the Livecode people could
expand it?


Currently engine controls are limited to 16-bit quantities for 
co-ordinates - which means a range of -32768 to 32768. The underlying 
rendering library we use (libgraphics), however, uses floats (32-bit 
real numbers which given an integer range up to around 2^24). So, 
updating the engine to use floats or similar in its co-ordinates for 
controls is certainly possible, just not a task we've undertaken yet.


Warmest Regards,

Mark.

--
Mark Waddingham ~ m...@livecode.com ~ http://www.livecode.com/
LiveCode: Everyone can create apps

___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode