From keith.clarke at me.com Wed Aug 1 02:45:38 2018 From: keith.clarke at me.com (Keith Clarke) Date: Wed, 01 Aug 2018 07:45:38 +0100 Subject: LiveCode Server on CentOS 6? In-Reply-To: <197a828d-ce89-88ae-0da7-7c8677eb0adc@fourthworld.com> References: <3C22A388-D737-40BD-A6FF-CEB7F56726D6@me.com> <197a828d-ce89-88ae-0da7-7c8677eb0adc@fourthworld.com> Message-ID: Thanks Richard & Brian for digging into this. Lacking the Linux knowledge I tried working backwards from LC Server 9.0, trying 8.0 and 7.14 with no joy (internal server 500 error codes) - though whether the issues are down to glibc version dependencies is beyond me. Earlier versions have less/no documentation in the packages and seem to only have 32-bit downloads available, which could introduce other issues (as the server is running 64-bit CentOS 6). I think it?s time to stop flogging this particular dead horse and find an alternative dev environment pending target VPS OS upgrade, but thanks to all for trying. ?and that opens another can of worms that may warrant another thread or two - apologies in advance! :-) Regards, Keith > On 31 Jul 2018, at 17:31, Richard Gaskin via use-livecode wrote: > > Keith Clarke wrote: > > > Thanks Martin (& Brian). It transpires that the VPS in question only > > has CentOS 6 OS option, even if recreated - so the OS is a given for > > the short term, pending replacement / upgrade discussions with the > > hosting provider, which are not my call. > > > > One option to get underway might be to deploy an earlier version of LC > > Server that can both: > > Run happily under Linux with GLIBC at 2.12 > > Use LC9-compatible stacks - so I can develop on my desktop and deploy. > > > > I just hope these criteria aren?t mutually exclusive! > > Apparently glibc has a very conservative version numbering scheme - v2.12 was from 2010: > https://sourceware.org/glibc/wiki/Glibc%20Timeline > > LC 9's native format is the same as with v8.1, so I checked the Release Notes for that version and apparently it requires glibc 2.13 or later. > > Oddly, looking back to LC v7.0 the glibc required versions were *higher* than they are in later versions - from the v7 release notes: > > Requirements for 32-bit Intel/AMD: > glibc 2.3.6 or later > Requirements for 64-bit Intel/AMD: > glibc 2.15 or later > > Even odder is that support for the older 32-bit architecture requires a much newer version (?). > > In fact, I went back as far as LC v4.5 and found the glibc required version listed as "glibc 2.3.2 or later". > > This is confusing to me, so it seems we could benefit from some guidance from Mark Waddingham or one of the Linux-savvy team members. > > I wonder how difficult it would be to recompile LC 9.0.1 with glibc 2.12... > > -- > Richard Gaskin > Fourth World Systems > Software Design and Development for the Desktop, Mobile, and the Web > ____________________________________________________________________ > Ambassador at FourthWorld.com http://www.FourthWorld.com > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From iowahengst at mac.com Wed Aug 1 10:06:48 2018 From: iowahengst at mac.com (Randy Hengst) Date: Wed, 01 Aug 2018 09:06:48 -0500 Subject: acceleratedRendering Message-ID: <2DB0710D-51C1-4E9B-BA9D-D53EC6A12F86@mac.com> Hi All, Given what we?re heard about iOS12 problems with LC apps? and the suggestion that setting acceleratedRendering to true in preOpenStack ?solves? that issue with iOS12, I?ve been messing around with acceleratedRendering for the current LC project I?m developing for iOS. I have not used acceleratedRendering in so long, consider me unknowledgeable about its use. I?m working with LC 9.0.1 RC1 with MacOS 10.12.6 and Xcode 9.2. But, I've seen essentially the same results when building with LC8.1.8, 9.0.0 When setting acceleratedRendering to true in preOpenStack as shared in an earlier message, the IDE slows to a crawl. When setting acceleratedRendering to false, the IDE returns to normal responsiveness. ? is that the expected behavior? When loaded on my iPad, the app I?m working on has shown partial screen updates with acceleratedRendering on? and with some aspects has actually slowed to a crawl when loaded onto an iPad. To check this out, I?ve included buttons to set acceleratedRendering to true and false so I can change the setting when the app is loaded on my iPad? when set to false, the app responds as I would expect, but when set to true again one portion of the app slows down to unusable speeds. The fact that the IDE slows to a crawl? and that only some aspects of the new app I?m building slow down when loaded on an iPad has made this very confusing. Is there some element that goes hand-in-hand with acceleratedRendering that I?ve overlooked? be well, randy www.classroomFocusedSoftware.com From dvglasgow at gmail.com Wed Aug 1 12:34:04 2018 From: dvglasgow at gmail.com (David V Glasgow) Date: Wed, 1 Aug 2018 17:34:04 +0100 Subject: Newbie Regex confusion In-Reply-To: References: <5BC9F109-4EB8-4E4B-B445-DA99365712D8@hindu.org> Message-ID: <93F6331F-D967-4E06-97FC-13D60C1DDDCE@gmail.com> I am just dipping my toes in the shallows of regex, and have already stubbed my toe on a rock. Well two, actually. I am looking to identify the lines of a field (that contain lots of words and symbols with no particular structure or separator ) finding age related terms, which can be in a variety of forms. I made a list of the terms that I want to use. First problem: I use the following filter line filter lines of it with regex pattern i ? where i is a keyword lifted from my list. Oddly, where i is just ordinary characters, it works fine. However if it includes a wildcard symbol, it chokes with ?execution error at line 9 (matchChunk: error in pattern expression), char 1?. For example, if i = child* (intending to match child, childlike, childhood, childish etc). I know that?s a bad example, because just ?child' will do the trick. However, there seems to be some voodoo needed to put a regex expression into a variable, is that right? Second problem is the sheer brain ache from trying to work out how to efficiently match lines containing 8 yo, 8 yr, 8yr, 8yo, 8 year and 8year, but not 18 year, 38yo etc etc. The simplest way would be to include all variants in the keyword list. However, that means more sweeps through the repeat loop. And it wouldn?t solve the problem of excluding 18 yo, 28 yo matching, unless I can construct a regex expression which will test the absence of any number between 1 and 9 immediately before the actual string I am finding. Am I on a wild goose chase here? Best Wishes, David Glasgow From smaclean at madmansoft.com Wed Aug 1 12:57:41 2018 From: smaclean at madmansoft.com (Stephen MacLean) Date: Wed, 1 Aug 2018 12:57:41 -0400 Subject: Newbie Regex confusion In-Reply-To: <93F6331F-D967-4E06-97FC-13D60C1DDDCE@gmail.com> References: <5BC9F109-4EB8-4E4B-B445-DA99365712D8@hindu.org> <93F6331F-D967-4E06-97FC-13D60C1DDDCE@gmail.com> Message-ID: Hi David, While no expert on Regex, there are some online tools and libraries that you can use to work out the appropriate regex before putting it into your LC script. Some sites I use: https://www.regextester.com https://regex101.com https://www.rexegg.com/regex-quickstart.html and http://www.regexlib.com which has a lot of pre-built regex codes and examples. Most work without issue when putting them into LCS. You can also take a look, if you haven?t already, at an example that I made using LCS and LCB, rsIsValid: https://forums.livecode.com/viewtopic.php?t=26653 HTH! Steve MacLean > On Aug 1, 2018, at 12:34 PM, David V Glasgow via use-livecode wrote: > > > I am just dipping my toes in the shallows of regex, and have already stubbed my toe on a rock. Well two, actually. > > I am looking to identify the lines of a field (that contain lots of words and symbols with no particular structure or separator ) finding age related terms, which can be in a variety of forms. I made a list of the terms that I want to use. > > First problem: > > I use the following filter line > > filter lines of it with regex pattern i > > ? where i is a keyword lifted from my list. Oddly, where i is just ordinary characters, it works fine. However if it includes a wildcard symbol, it chokes with ?execution error at line 9 (matchChunk: error in pattern expression), char 1?. For example, if i = child* (intending to match child, childlike, childhood, childish etc). I know that?s a bad example, because just ?child' will do the trick. However, there seems to be some voodoo needed to put a regex expression into a variable, is that right? > > Second problem is the sheer brain ache from trying to work out how to efficiently match lines containing 8 yo, 8 yr, 8yr, 8yo, 8 year and 8year, but not 18 year, 38yo etc etc. > > The simplest way would be to include all variants in the keyword list. However, that means more sweeps through the repeat loop. And it wouldn?t solve the problem of excluding 18 yo, 28 yo matching, unless I can construct a regex expression which will test the absence of any number between 1 and 9 immediately before the actual string I am finding. > > Am I on a wild goose chase here? > > > > > Best Wishes, > David Glasgow > > > > > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From brian at milby7.com Wed Aug 1 13:24:18 2018 From: brian at milby7.com (Brian Milby) Date: Wed, 1 Aug 2018 12:24:18 -0500 Subject: Newbie Regex confusion In-Reply-To: References: <5BC9F109-4EB8-4E4B-B445-DA99365712D8@hindu.org> <93F6331F-D967-4E06-97FC-13D60C1DDDCE@gmail.com> Message-ID: <0474fb74-840b-47f1-b1ec-f0189d3a344f@Spark> Don?t have time to test right now but something along these lines: \b[0-9] ?(yr|yo|year) \b is a word break ? Means 0 or 1 of previous char (space) | is alternate separator Thanks, Brian On Aug 1, 2018, 11:58 AM -0500, Stephen MacLean via use-livecode , wrote: > Hi David, > > While no expert on Regex, there are some online tools and libraries that you can use to work out the appropriate regex before putting it into your LC script. > > Some sites I use: > > https://www.regextester.com > > https://regex101.com > > https://www.rexegg.com/regex-quickstart.html > > and > > http://www.regexlib.com > > which has a lot of pre-built regex codes and examples. Most work without issue when putting them into LCS. > > You can also take a look, if you haven?t already, at an example that I made using LCS and LCB, rsIsValid: https://forums.livecode.com/viewtopic.php?t=26653 > > HTH! > > Steve MacLean > > > On Aug 1, 2018, at 12:34 PM, David V Glasgow via use-livecode wrote: > > > > > > I am just dipping my toes in the shallows of regex, and have already stubbed my toe on a rock. Well two, actually. > > > > I am looking to identify the lines of a field (that contain lots of words and symbols with no particular structure or separator ) finding age related terms, which can be in a variety of forms. I made a list of the terms that I want to use. > > > > First problem: > > > > I use the following filter line > > > > filter lines of it with regex pattern i > > > > ? where i is a keyword lifted from my list. Oddly, where i is just ordinary characters, it works fine. However if it includes a wildcard symbol, it chokes with ?execution error at line 9 (matchChunk: error in pattern expression), char 1?. For example, if i = child* (intending to match child, childlike, childhood, childish etc). I know that?s a bad example, because just ?child' will do the trick. However, there seems to be some voodoo needed to put a regex expression into a variable, is that right? > > > > Second problem is the sheer brain ache from trying to work out how to efficiently match lines containing 8 yo, 8 yr, 8yr, 8yo, 8 year and 8year, but not 18 year, 38yo etc etc. > > > > The simplest way would be to include all variants in the keyword list. However, that means more sweeps through the repeat loop. And it wouldn?t solve the problem of excluding 18 yo, 28 yo matching, unless I can construct a regex expression which will test the absence of any number between 1 and 9 immediately before the actual string I am finding. > > > > Am I on a wild goose chase here? > > > > > > > > > > Best Wishes, > > David Glasgow > > > > > > > > > > > > > > _______________________________________________ > > use-livecode mailing list > > use-livecode at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From dvglasgow at gmail.com Wed Aug 1 14:28:29 2018 From: dvglasgow at gmail.com (David V Glasgow) Date: Wed, 1 Aug 2018 19:28:29 +0100 Subject: Newbie Regex confusion In-Reply-To: <0474fb74-840b-47f1-b1ec-f0189d3a344f@Spark> References: <5BC9F109-4EB8-4E4B-B445-DA99365712D8@hindu.org> <93F6331F-D967-4E06-97FC-13D60C1DDDCE@gmail.com> <0474fb74-840b-47f1-b1ec-f0189d3a344f@Spark> Message-ID: <36A4B3FA-D231-4103-894D-9242845556B1@gmail.com> Thank you both. Wow. Looks like it really is worth the effort! I played around on regex101.com, but the problem is if you don?t know the terms for what you want to do, its really hard to find the appropriate symbol. Thanks again. > On 1 Aug 2018, at 6:24 pm, Brian Milby via use-livecode wrote: > > Don?t have time to test right now but something along these lines: > > \b[0-9] ?(yr|yo|year) > > \b is a word break > ? Means 0 or 1 of previous char (space) > | is alternate separator > > Thanks, > Brian > On Aug 1, 2018, 11:58 AM -0500, Stephen MacLean via use-livecode , wrote: >> Hi David, >> >> While no expert on Regex, there are some online tools and libraries that you can use to work out the appropriate regex before putting it into your LC script. >> >> Some sites I use: >> >> https://www.regextester.com >> >> https://regex101.com >> >> https://www.rexegg.com/regex-quickstart.html >> >> and >> >> http://www.regexlib.com >> >> which has a lot of pre-built regex codes and examples. Most work without issue when putting them into LCS. >> >> You can also take a look, if you haven?t already, at an example that I made using LCS and LCB, rsIsValid: https://forums.livecode.com/viewtopic.php?t=26653 >> >> HTH! >> >> Steve MacLean >> >>> On Aug 1, 2018, at 12:34 PM, David V Glasgow via use-livecode wrote: >>> >>> >>> I am just dipping my toes in the shallows of regex, and have already stubbed my toe on a rock. Well two, actually. >>> >>> I am looking to identify the lines of a field (that contain lots of words and symbols with no particular structure or separator ) finding age related terms, which can be in a variety of forms. I made a list of the terms that I want to use. >>> >>> First problem: >>> >>> I use the following filter line >>> >>> filter lines of it with regex pattern i >>> >>> ? where i is a keyword lifted from my list. Oddly, where i is just ordinary characters, it works fine. However if it includes a wildcard symbol, it chokes with ?execution error at line 9 (matchChunk: error in pattern expression), char 1?. For example, if i = child* (intending to match child, childlike, childhood, childish etc). I know that?s a bad example, because just ?child' will do the trick. However, there seems to be some voodoo needed to put a regex expression into a variable, is that right? >>> >>> Second problem is the sheer brain ache from trying to work out how to efficiently match lines containing 8 yo, 8 yr, 8yr, 8yo, 8 year and 8year, but not 18 year, 38yo etc etc. >>> >>> The simplest way would be to include all variants in the keyword list. However, that means more sweeps through the repeat loop. And it wouldn?t solve the problem of excluding 18 yo, 28 yo matching, unless I can construct a regex expression which will test the absence of any number between 1 and 9 immediately before the actual string I am finding. >>> >>> Am I on a wild goose chase here? >>> >>> >>> >>> >>> Best Wishes, >>> David Glasgow >>> >>> >>> >>> >>> >>> >>> _______________________________________________ >>> use-livecode mailing list >>> use-livecode at 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 at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From bobsneidar at iotecdigital.com Wed Aug 1 14:42:28 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Wed, 1 Aug 2018 18:42:28 +0000 Subject: Newbie Regex confusion In-Reply-To: <93F6331F-D967-4E06-97FC-13D60C1DDDCE@gmail.com> References: <5BC9F109-4EB8-4E4B-B445-DA99365712D8@hindu.org> <93F6331F-D967-4E06-97FC-13D60C1DDDCE@gmail.com> Message-ID: <072313C2-16E8-4A74-9809-BCCD573B27FD@iotecdigital.com> Wait until you get to the rapids. Bob S > On Aug 1, 2018, at 09:34 , David V Glasgow via use-livecode wrote: > > I am just dipping my toes in the shallows of regex, and have already stubbed my toe on a rock. Well two, actually. From brahma at hindu.org Wed Aug 1 16:17:50 2018 From: brahma at hindu.org (Sannyasin Brahmanathaswami) Date: Wed, 1 Aug 2018 20:17:50 +0000 Subject: acceleratedRendering In-Reply-To: <2DB0710D-51C1-4E9B-BA9D-D53EC6A12F86@mac.com> References: <2DB0710D-51C1-4E9B-BA9D-D53EC6A12F86@mac.com> Message-ID: <5A86D6A0-88C9-4D00-B7D5-749568F74900@hindu.org> FWIW... acceleratedRendering in causing trouble on Android, 9.0.1. RC 1. Disables "touch" messages in some contexts... Bug report is in, confirmed. I've struggling for 2 Years with this (!) Now on iOS? Yikes! I am sure it is a priority with team. Keep fingers crossed. BR ?On 8/1/18, 4:07 AM, "use-livecode on behalf of Randy Hengst via use-livecode" wrote: Is there some element that goes hand-in-hand with acceleratedRendering that I?ve overlooked? From warren at warrensweb.us Wed Aug 1 16:56:50 2018 From: warren at warrensweb.us (Warren Samples) Date: Wed, 1 Aug 2018 15:56:50 -0500 Subject: LiveCode Server on CentOS 6? In-Reply-To: References: <3C22A388-D737-40BD-A6FF-CEB7F56726D6@me.com> <197a828d-ce89-88ae-0da7-7c8677eb0adc@fourthworld.com> Message-ID: <0bb37a63-3156-bfd9-08c4-e6d05e0af711@warrensweb.us> On 08/01/2018 01:45 AM, Keith Clarke via use-livecode wrote: > whether the issues are down to glibc version dependencies is beyond me. You can check this by running ldd [/path/to/livecode-server] It will return a list that looks something like this (from my desktop system): linux-vdso.so.1 (0x0000631efbacc000) libdl.so.2 => /usr/lib/libdl.so.2 (0x0000631efb6a6000) libpthread.so.0 => /usr/lib/libpthread.so.0 (0x0000631efb488000) libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0x0000631efb245000) libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x0000631efaf7c000) librt.so.1 => /usr/lib/librt.so.1 (0x0000631efad74000) libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x0000631efa9eb000) libm.so.6 => /usr/lib/libm.so.6 (0x0000631efa656000) libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x0000631efa43e000) libc.so.6 => /usr/lib/libc.so.6 (0x0000631efa082000) /lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x0000631efb8aa000) libexpat.so.1 => /usr/lib/libexpat.so.1 (0x0000631ef9e50000) libuuid.so.1 => /usr/lib/libuuid.so.1 (0x0000631ef9c49000) libbz2.so.1.0 => /usr/lib/libbz2.so.1.0 (0x0000631ef9a39000) libpng16.so.16 => /usr/lib/libpng16.so.16 (0x0000631ef9803000) libz.so.1 => /usr/lib/libz.so.1 (0x0000631ef95ec000) libharfbuzz.so.0 => /usr/lib/libharfbuzz.so.0 (0x0000631ef9340000) libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0 (0x0000631ef9029000) libgraphite2.so.3 => /usr/lib/libgraphite2.so.3 (0x0000631ef8dfd000) libpcre.so.1 => /usr/lib/libpcre.so.1 (0x0000631ef8b8b000) Don't worry about the first line where there is no returned path. Some systems may return those like this "linux-vdso.so.1 => (0x00007fff6ffff000)" with the memory location after a "=>". There may be one or two of those. What's important is that if something is not found or is found but in a mismatched version, you will see an explicit message stating as much, like so: libfontconfig.so.1 => not found If you try running 64bit LC-server on a 32bit machine or 32bit Server on a 64 bit machine without any of the 32 bit libs, you will probably see the message that the file is not a dynamic executable. Here's a little bit about ldd that you and others might find helpful: https://www.lifewire.com/find-shared-libraries-ldd-command-4017941 https://circleci.com/blog/tracking-dependencies-with-ldd/ https://circleci.com/blog/tracking-dependencies-with-ldd/ Good luck! Warren From warren at warrensweb.us Wed Aug 1 18:02:54 2018 From: warren at warrensweb.us (Warren Samples) Date: Wed, 1 Aug 2018 17:02:54 -0500 Subject: LiveCode Server on CentOS 6? In-Reply-To: <1cc74cd0-3922-bb0c-10d7-ab594b6e1a48@fourthworld.com> References: <1cc74cd0-3922-bb0c-10d7-ab594b6e1a48@fourthworld.com> Message-ID: On 07/29/2018 07:56 PM, Richard Gaskin via use-livecode wrote: > > First question (an admittedly ignorant one, but I haven't spent much > time in the CentOS community):? Why does their package manager not > automatically keep system components current? > > Second question: If the first question cannot be resolved easily, what > is the advantage of CentOS for this project over Ubuntu or Debian? Richard, The explanation that addresses your first question can be expressed in a very long-winded manner but also boiled down to this: It's RHEL's approach to enforcing stability. They and their clients are interested in a system that gives them no bad surprises. This takes into account the fact that many of those clients are using complicated proprietary software for critical tasks; commercial software and/or software developed in-house, which is expected to be fail-proof. There's is an obviously ultra-conservative approach, but you can't deny they've been successful at what they do :D CentOS naturally inherits the result of this philosophy. The perception of extreme stability, along with the fact that it's one of only a very few OSs supported by cPanel, make CentOS very popular among hosting companies. All versions of RHEL and CentOS are supported for ten years which by design is to eliminate a disruption of services caused by forced upgrades. This sometimes leads to hosting companies running a version or two behind the latest, which can result in the problem Keith is encountering. Keith has admitted he doesn't have a lot of knowledge and skills in Linux, so a managed VPS is a great solution for him. (I feel pretty much in that same boat. There are probably a lot of people trying to manage their own VPS who shouldn't be! Being well versed on maintaining a Linux desktop does not begin to address the skills and knowledge a server admin needs.) So, he's a little bit at the mercy of his hosting company. Of course the market is open and it's relatively easy to switch hosts. There are several distros that would qualify as reliable enough for server usage including a few that aren't as widely available as the more popular ones. Debian and Ubuntu are totally valid along with CentOS and those are probably the most widely available in hosting packages. Warren From ambassador at fourthworld.com Wed Aug 1 20:24:36 2018 From: ambassador at fourthworld.com (Richard Gaskin) Date: Wed, 1 Aug 2018 17:24:36 -0700 Subject: LiveCode Server on CentOS 6? In-Reply-To: References: Message-ID: <85a3468c-0936-59be-0b73-dbabf4e18bb3@fourthworld.com> Warren Samples wrote: > On 07/29/2018 07:56 PM, Richard Gaskin via use-livecode wrote: >> >> First question (an admittedly ignorant one, but I haven't spent much >> time in the CentOS community): Why does their package manager not >> automatically keep system components current? >> >> Second question: If the first question cannot be resolved easily, what >> is the advantage of CentOS for this project over Ubuntu or Debian? > > Richard, > > The explanation that addresses your first question can be expressed in a > very long-winded manner but also boiled down to this: It's RHEL's > approach to enforcing stability. They and their clients are interested > in a system that gives them no bad surprises. This takes into account > the fact that many of those clients are using complicated proprietary > software for critical tasks; commercial software and/or software > developed in-house, which is expected to be fail-proof. There's is an > obviously ultra-conservative approach, but you can't deny they've been > successful at what they do :D CentOS naturally inherits the result of > this philosophy. Ubuntu's LTS (Long Term Support) releases serve the same goal, with similar methods: patches are allowed, security patches can be automated, but new features are held back until the next LTS release. It's a tough call, though, with supplemental packages getting long in the tooth. In addition to the potential vulnerabilities, older packages can introduce their own compatibility issues, as we've seen here. I tend to stick with only LTS releases myself, so I appreciate the goals with such things. But unless one is managing a legacy system with known dependencies on older packages, using a more recent version would seem a good fit, esp. for non-experts, as it establishes a fresh baseline using the latest and greatest. I guess the missing piece of the puzzle here is why his VPS service doesn't offer CentOS 7. But as you say: > Of course the market is open and it's relatively easy to switch hosts. > There are several distros that would qualify as reliable enough for > server usage including a few that aren't as widely available as the more > popular ones. Debian and Ubuntu are totally valid along with CentOS and > those are probably the most widely available in hosting packages -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ____________________________________________________________________ Ambassador at FourthWorld.com http://www.FourthWorld.com From monte at appisle.net Wed Aug 1 23:02:00 2018 From: monte at appisle.net (Monte Goulding) Date: Thu, 2 Aug 2018 13:02:00 +1000 Subject: acceleratedRendering In-Reply-To: <5A86D6A0-88C9-4D00-B7D5-749568F74900@hindu.org> References: <2DB0710D-51C1-4E9B-BA9D-D53EC6A12F86@mac.com> <5A86D6A0-88C9-4D00-B7D5-749568F74900@hindu.org> Message-ID: <15A9647D-69B8-4FE6-93C4-D2899CCD9F45@appisle.net> Hi Brahma > > I am sure it is a priority with team. Keep fingers crossed. Yes I just patched it https://github.com/livecode/livecode/pull/6620 > FWIW... acceleratedRendering in causing trouble on Android, 9.0.1. RC 1. > > Disables "touch" messages in some contexts? ^ is not a very good description of the issue. The touches are fine. It?s groups not redrawing when scrolled under some circumstances. Cheers Monte From tom at makeshyft.com Thu Aug 2 00:07:00 2018 From: tom at makeshyft.com (Tom Glod) Date: Thu, 2 Aug 2018 00:07:00 -0400 Subject: sending javascript to browser widget? In-Reply-To: References: Message-ID: *on* mouseUp *local* js_do *put* "document.getElementById('email').value='mylogin'" into js_do *do* js_do in widget "Browser 1" *put* "document.getElementById('pass').value='mypass'" into js_do *do* js_do in widget "Browser 1" *put* "document.getElementById('login_form').submit();" into js_do *do* js_do in widget "Browser 1" *end* mouseUp this will log you into facebook. :D :D :D On Tue, Jul 31, 2018 at 4:30 PM, Tom Glod wrote: > http://runtime-revolution.278305.n4.nabble.com/Browser- > Widget-HTML5-LC-Integration-td4712003.html > > On Tue, Jul 31, 2018 at 4:06 PM, Tom Glod wrote: > >> Yeah..... cool.....thanks for that .....I figured as much ,,,,,, it would >> make sense why these kinds of protections would exist........ but imagine >> what could be done without them...lol.... >> >> So how bout those cookies? for the browser? is there any possible >> workaround to log into twitter or facebook using the browser ? and not be >> asked the password each time? >> >> I know that accessing api is the next option....but I actually wanted >> the actual sites in a lc browser widget without having to log in every time. >> >> Yeah.... maybe i will do a more detailed search to see what has been >> posted on the subject of browser cookies. >> >> maybe its a lc 10 feature ... local storage for browser widgets. can't a >> cookie be a custom property of a browser widget? :D :D :D >> >> >> >> >> >> On Tue, Jul 31, 2018 at 2:56 PM, Bob Sneidar via use-livecode < >> use-livecode at lists.runrev.com> wrote: >> >>> I'm going to say that Javascript is written to prevent you from doing >>> that. Javascript sandboxes their commands and functions so that only >>> certain ones are visible from outside the applications "sandbox". They call >>> it Scope and Context. >>> >>> Here is a good article on it which helped me understand why I could not >>> access certain commands and functions outside Acrobat: >>> >>> http://ryanmorr.com/understanding-scope-and-context-in-javascript/ >>> >>> If you can set a username and password in a web page javascript control, >>> then you can probably GET them too. The reason why plugins like password >>> managers work is because they operate inside the context of the browser >>> application itself. Of course, all of my posts are subject to scrutiny and >>> correction. >>> >>> Bob S >>> >>> >>> > On Jul 31, 2018, at 11:03 , Tom Glod via use-livecode < >>> use-livecode at lists.runrev.com> wrote: >>> > >>> > Hi Peeps, can anyone clarify for me if its possible to have a browser >>> > widget on a card and send javascript commands to it? >>> > >>> > Can I for example put text (login & password) into fields on the page >>> if I >>> > know the names of the field controls? >>> > >>> > Can I trigger the login button? >>> > >>> > Looking for workarounds for the lack of cookie support in the browser >>> > widget. (so i'm trying to do auto login) >>> > >>> > Unless it does support cookies?!?!!? Will it ever? >>> > >>> > Thank you. >>> >>> >>> _______________________________________________ >>> use-livecode mailing list >>> use-livecode at lists.runrev.com >>> Please visit this url to subscribe, unsubscribe and manage your >>> subscription preferences: >>> http://lists.runrev.com/mailman/listinfo/use-livecode >>> >> >> > From selander at tkf.att.ne.jp Thu Aug 2 03:56:13 2018 From: selander at tkf.att.ne.jp (Tim Selander) Date: Thu, 02 Aug 2018 16:56:13 +0900 Subject: $_POST[] variable? Message-ID: <5B62B91D.6020003@tkf.att.ne.jp> Hi, Is it possible to manipulate the contents of the $_Post[] global directly on Livecode serve? When I reload a page, the values in the array still have the values in them from the previous time the "Submit" button was used... efforts to delete or put empty into, do not seem to work. Thanks. Tim Selander Tokyo, Japan From brahma at hindu.org Thu Aug 2 09:45:20 2018 From: brahma at hindu.org (Sannyasin Brahmanathaswami) Date: Thu, 2 Aug 2018 13:45:20 +0000 Subject: iOS 12 compatibility In-Reply-To: References: <20180725161308.Horde.Fz3R8CzkDbWDj-xrt5gRdGx@ua850258.serversignin.com> <8E291208-2309-4A00-B44D-485525F325A8@mac.com> <2066DA1D-B2E3-4638-A305-84A412AFC202@gmail.com> <099EB476-3070-4A84-9455-8BCEB2D3ACB0@mac.com> Message-ID: Hmmm. I want to see the "beautiful work" ?? that Randy has done... Brahmanathaswami ? Stephen Barncard Beautiful work, Randy From brahma at hindu.org Thu Aug 2 09:48:24 2018 From: brahma at hindu.org (Sannyasin Brahmanathaswami) Date: Thu, 2 Aug 2018 13:48:24 +0000 Subject: acceleratedRendering In-Reply-To: <15A9647D-69B8-4FE6-93C4-D2899CCD9F45@appisle.net> References: <2DB0710D-51C1-4E9B-BA9D-D53EC6A12F86@mac.com> <5A86D6A0-88C9-4D00-B7D5-749568F74900@hindu.org> <15A9647D-69B8-4FE6-93C4-D2899CCD9F45@appisle.net> Message-ID: <33472F1A-28A2-4ED2-8AEC-0D358340EC33@hindu.org> Aloha Monte You are wonderful! "it groups not redrawing..." Right, it's not "touch". Though from a user perspective, suddenly "my swiping doesn't work..." And thank you for fixing the returnField error also [Bug 18395] ReturninField error on android app) @team-- would it possible to send a new build out this week? Even it has only this patch It is the one thing in Android that is blocking. Everything else you have accomplished on 9.0.1 is fantastic, and I really *need* get an Android version that works one on Google Play asap. So I need to get this out to beta tester asap BR PS... would it would also be nice if get the home screen icon to load in iOS at the same time, in an interim patch release. https://quality.livecode.com/show_bug.cgi?id=21451 ?On 8/1/18, 5:02 PM, "use-livecode on behalf of Monte Goulding via use-livecode" wrote: Yes I just patched it https://github.com/livecode/livecode/pull/6620 >FWIW... acceleratedRendering in causing trouble on Android, 9.0.1. RC 1. >Disables "touch" messages in some contexts? ^ is not a very good description of the issue. The touches are fine. It?s groups not redrawing when scrolled under some circumstances. From brahma at hindu.org Thu Aug 2 10:06:13 2018 From: brahma at hindu.org (Sannyasin Brahmanathaswami) Date: Thu, 2 Aug 2018 14:06:13 +0000 Subject: Getting Started with DataGrid Message-ID: <19BF7D87-2FD8-4524-AE25-BEFC8AA24AC5@hindu.org> I have stayed away from the Data Grid because of scrolling issues and the complexity issues were too much for my "baby talk xTalk brain" ? but my UX designer has implement a module that has index of row that include various little icon and controls that will be hard to do in the old "all control separate in a single group" that I have been using. And the indexes are small. So, time for DataGrid2 (has that been implemented or still pending? I have not kept up with DG dev) . I am willing to pay for the third party tools, if they are considered really helpful, and it they are maintained and up to date and have "recommendations" from the community. Any thoughts on get starting, caveats? Particularly what *not* to do? Meanwhile, we are off to the on-line academy to check out the lessons?. BR From iowahengst at mac.com Thu Aug 2 10:24:52 2018 From: iowahengst at mac.com (Randy Hengst) Date: Thu, 02 Aug 2018 09:24:52 -0500 Subject: acceleratedRendering In-Reply-To: <33472F1A-28A2-4ED2-8AEC-0D358340EC33@hindu.org> References: <2DB0710D-51C1-4E9B-BA9D-D53EC6A12F86@mac.com> <5A86D6A0-88C9-4D00-B7D5-749568F74900@hindu.org> <15A9647D-69B8-4FE6-93C4-D2899CCD9F45@appisle.net> <33472F1A-28A2-4ED2-8AEC-0D358340EC33@hindu.org> Message-ID: <922E095A-6020-418D-A194-6F3464A293D9@mac.com> All, I?ve been messing with this slowdown issue ? there is a connection between having acceleratedRendering set to true? and my objects that move set to dynamic. I see the slowdown in the IDE and on the iPad. Using LC 9.0.1 RC1 still. The ?catch? is that I haven?t been able to reproduce the same problem for a demo stack? so, still investigating. If anyone has a thought for something I can check out, please share. be well, randy classroomFocusedSoftware.com > On Aug 2, 2018, at 8:48 AM, Sannyasin Brahmanathaswami via use-livecode wrote: > > Aloha Monte > > You are wonderful! "it groups not redrawing..." > > Right, it's not "touch". Though from a user perspective, suddenly "my swiping doesn't work..." > > And thank you for fixing the returnField error also [Bug 18395] ReturninField error on android app) > > @team-- would it possible to send a new build out this week? Even it has only this patch > > It is the one thing in Android that is blocking. Everything else you have accomplished on 9.0.1 is fantastic, and I really *need* get an Android version that works one on Google Play asap. So I need to get this out to beta tester asap > > BR > > PS... > > would it would also be nice if get the home screen icon to load in iOS at the same time, in an interim patch release. > > https://quality.livecode.com/show_bug.cgi?id=21451 > > ?On 8/1/18, 5:02 PM, "use-livecode on behalf of Monte Goulding via use-livecode" wrote: > > Yes I just patched it https://github.com/livecode/livecode/pull/6620 > >> FWIW... acceleratedRendering in causing trouble on Android, 9.0.1. RC 1. >> Disables "touch" messages in some contexts? > > ^ is not a very good description of the issue. The touches are fine. It?s groups not redrawing when scrolled under some circumstances. > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From bobsneidar at iotecdigital.com Thu Aug 2 10:59:33 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Thu, 2 Aug 2018 14:59:33 +0000 Subject: Getting Started with DataGrid In-Reply-To: <19BF7D87-2FD8-4524-AE25-BEFC8AA24AC5@hindu.org> References: <19BF7D87-2FD8-4524-AE25-BEFC8AA24AC5@hindu.org> Message-ID: <99C99846-7F5A-432B-A058-FE4E10106F58@iotecdigital.com> I can give you a "not to do". DO NOT send selectionChanged to a datagrid in the middle of processing a selectionChanged message already. This will crash LC to desktop. I have not used form style datagrids, which is what you are talking about methinks, but the idea is fairly simple. Instead of every row behaving exactly the same way, form datagrids allow each row to behave independently, as though they were individual "forms" stacked in a column. You change the look of the rows in the row behavior script, and alter the overall look of the rows by modifying the rowTemplate. In the datagrid properties window data grid tab, change the style of the datagrid to "Form" and the options for editing these become available. The Row template is just a group so you can modify it like any other group. If you edit the script, you can see that there are already handlers defined, like fillInData, layoutControl etc. And since V9 other messages that can be used are in the left pane of the script editor to give you some idea on what you can do. I would say open a new stack, drag a datagrid to it, change the type to Form and dig in. You cannot damage your existing project that way. Bob S > On Aug 2, 2018, at 07:06 , Sannyasin Brahmanathaswami via use-livecode wrote: > > I have stayed away from the Data Grid because of scrolling issues and the complexity issues were too much for my "baby talk xTalk brain" ? but my UX designer has implement a module that has index of row that include various little icon and controls that will be hard to do in the old "all control separate in a single group" that I have been using. And the indexes are small. So, time for DataGrid2 (has that been implemented or still pending? I have not kept up with DG dev) . > > I am willing to pay for the third party tools, if they are considered really helpful, and it they are maintained and up to date and have "recommendations" from the community. Any thoughts on get starting, caveats? Particularly what *not* to do? > > Meanwhile, we are off to the on-line academy to check out the lessons?. > > BR From brahma at hindu.org Thu Aug 2 11:48:15 2018 From: brahma at hindu.org (Sannyasin Brahmanathaswami) Date: Thu, 2 Aug 2018 15:48:15 +0000 Subject: Getting Started with DataGrid In-Reply-To: <99C99846-7F5A-432B-A058-FE4E10106F58@iotecdigital.com> References: <19BF7D87-2FD8-4524-AE25-BEFC8AA24AC5@hindu.org> <99C99846-7F5A-432B-A058-FE4E10106F58@iotecdigital.com> Message-ID: Thank Bob for the tips... Actually this is for a YouTube index, and all the "rows" would behave the same way. The only thing changing on each row would be 1. https://i.ytimg/#########/hddefault.jbg (the thumbnail) 2. Metadata for our date base (SQlite on the mobile app) Title, description. Etc. appear in a field. 3. Click on a row and drives the user to a Browser by setting the YouTube as the HTML source. I am starting here: https://livecode.com/docs/9-0-0/components/livecode-data-grid/ of a course a test stack.. What do you all think of "A Slug on the Road" Data Grid Helper? Brahmanathaswami ?On 8/2/18, 4:59 AM, "use-livecode on behalf of Bob Sneidar via use-livecode" wrote: I can give you a "not to do". DO NOT send selectionChanged to a datagrid in the middle of processing a selectionChanged message already. This will crash LC to desktop. I have not used form style datagrids, which is what you are talking about methinks, but the idea is fairly simple. Instead of every row behaving exactly the same way, form datagrids allow each row to behave independently, as though they were individual "forms" stacked in a column. You change the look of the rows in the row behavior script, and alter the overall look of the rows by modifying the rowTemplate. In the datagrid properties window data grid tab, change the style of the datagrid to "Form" and the options for editing these become available. The Row template is just a group so you can modify it like any other group. If you edit the script, you can see that there are already handlers defined, like fillInData, layoutControl etc. And since V9 other messages that can be used are in the left pane of the script editor to give you some idea on what you can do. I would say open a new stack, drag a datagrid to it, change the type to Form and dig in. You cannot damage your existing project that way. Bob S From stephen at barncard.com Thu Aug 2 13:01:58 2018 From: stephen at barncard.com (Stephen Barncard) Date: Thu, 2 Aug 2018 10:01:58 -0700 Subject: iOS 12 compatibility In-Reply-To: References: <20180725161308.Horde.Fz3R8CzkDbWDj-xrt5gRdGx@ua850258.serversignin.com> <8E291208-2309-4A00-B44D-485525F325A8@mac.com> <2066DA1D-B2E3-4638-A305-84A412AFC202@gmail.com> <099EB476-3070-4A84-9455-8BCEB2D3ACB0@mac.com> Message-ID: follow the links. -- Stephen Barncard - Sebastopol Ca. USA - mixstream.org On Thu, Aug 2, 2018 at 6:45 AM, Sannyasin Brahmanathaswami via use-livecode wrote: > Hmmm. I want to see the "beautiful work" ?? that Randy has done... > > Brahmanathaswami > > > ? Stephen Barncard > > Beautiful work, Randy > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From ambassador at fourthworld.com Thu Aug 2 14:45:52 2018 From: ambassador at fourthworld.com (Richard Gaskin) Date: Thu, 2 Aug 2018 11:45:52 -0700 Subject: $_POST[] variable? In-Reply-To: <5B62B91D.6020003@tkf.att.ne.jp> References: <5B62B91D.6020003@tkf.att.ne.jp> Message-ID: <7213285d-964a-8be3-8055-ab17736007dd@fourthworld.com> Tim Selander wrote: > Is it possible to manipulate the contents of the $_Post[] global > directly on Livecode serve? > > When I reload a page, the values in the array still have the values in > them from the previous time the "Submit" button was used... efforts to > delete or put empty into, do not seem to work. I wonder if the problem may be that the browser is caching the result of the last call to the CGI? On the server side, any CGI (whether it be LC Server, PHP, Python, or any other engine) is launched, executes, and dies with each request. As such, environment variables can't help but be fresh, as the process is not persistent between requests. As a diagnostic step I would use a browser's debugging tools to watch that request carefully. If your API expects only LC clients without supporting generic browsers, the detailed logging option for libURL may be helpful, using a spare field to display some of the transaction details: https://livecode.com/resources/api/#livecode_script/liburlsetlogfield You may also consider the old trick of appending the URL with a random string in the non-actionable part of the URL beyond a hash tag, e.g.: https://someserver.com/cgi-bin/myscript.lc#123456789 ...where "123456789" is the millisecs, so that each request is seen by libURL as unique (which I believe also works with tsNet; Charles may have additional guidance). -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ____________________________________________________________________ Ambassador at FourthWorld.com http://www.FourthWorld.com From brahma at hindu.org Thu Aug 2 15:08:35 2018 From: brahma at hindu.org (Sannyasin Brahmanathaswami) Date: Thu, 2 Aug 2018 19:08:35 +0000 Subject: iOS 12 compatibility In-Reply-To: References: <20180725161308.Horde.Fz3R8CzkDbWDj-xrt5gRdGx@ua850258.serversignin.com> <8E291208-2309-4A00-B44D-485525F325A8@mac.com> <2066DA1D-B2E3-4638-A305-84A412AFC202@gmail.com> <099EB476-3070-4A84-9455-8BCEB2D3ACB0@mac.com> Message-ID: <6AE1AF75-BF42-4934-A31E-33DC29161A74@hindu.org> Wow (www.classroomFocusedSoftware.com) Yes great job! Brahmanathaswami ? Stephen Barncard via use-livecode" wrote: follow the links. From brahma at hindu.org Thu Aug 2 15:24:26 2018 From: brahma at hindu.org (Sannyasin Brahmanathaswami) Date: Thu, 2 Aug 2018 19:24:26 +0000 Subject: Getting Started with DataGrid In-Reply-To: References: <19BF7D87-2FD8-4524-AE25-BEFC8AA24AC5@hindu.org> <99C99846-7F5A-432B-A058-FE4E10106F58@iotecdigital.com> Message-ID: I loaded DataGrid in stack Now I wonder if is tool of choice for http://wiki.hindu.org/screenshots/data-grid-candidate.png There needs to alternate rows, with the "alt" row as blank and showing the card .....?? before I go down the path: Yes or No -- can data grid to this? Brahmanathaswami From klaus at major-k.de Thu Aug 2 15:29:28 2018 From: klaus at major-k.de (Klaus major-k) Date: Thu, 2 Aug 2018 21:29:28 +0200 Subject: Getting Started with DataGrid In-Reply-To: References: <19BF7D87-2FD8-4524-AE25-BEFC8AA24AC5@hindu.org> <99C99846-7F5A-432B-A058-FE4E10106F58@iotecdigital.com> Message-ID: Hi Swami, > Am 02.08.2018 um 21:24 schrieb Sannyasin Brahmanathaswami via use-livecode : > > I loaded DataGrid in stack > > Now I wonder if is tool of choice for > http://wiki.hindu.org/screenshots/data-grid-candidate.png > There needs to alternate rows, with the "alt" row as blank and showing the card .....?? before I go down the path: > > Yes or No -- can data grid to this? YES! :-) > Brahmanathaswami Best Klaus -- Klaus Major http://www.major-k.de klaus at major-k.de From iowahengst at mac.com Thu Aug 2 15:56:06 2018 From: iowahengst at mac.com (Randy Hengst) Date: Thu, 02 Aug 2018 14:56:06 -0500 Subject: New Apple iPad & Chipset Message-ID: <31C29805-99B9-4DFB-9D70-0F1C2E5FC6C9@mac.com> Hi All, Well, school districts around the United States are starting to get things going for new school year? and many will have new iPads? I just received this info from one district today? Has anyone else seen issues with LC apps downloading or running on the newest iPads? I don?t have one, but just ordered one to do some checking. ================== From the IT Operations Manager: I recently tired to install 10 Frame Fill on our new fleet of iPads running iOS 11.4.1 and the app keeps failing to install. I'm using an MDM with VPP licensing. Is 10 Frame Fill compatible with this new iOS? ================== I followed up with a couple questions and asked for a bit more detail? he replied: OK. Apples hardware upgrades with 3rd party apps are becoming finicky. My new devices are Model MR7J2LL/A with the new apple pencil functionality and a new 64bit chipset. I may try to recommend using one of your other apps if they work with this device. If you make any modification to your iOS apps, will the new app upgrades automatically install themselves are would I have to reinstall the/ newest version of the app? ================== be well, randy www.classroomFocusedSoftware.com From andrew at midwestcoastmedia.com Thu Aug 2 16:05:43 2018 From: andrew at midwestcoastmedia.com (andrew at midwestcoastmedia.com) Date: Thu, 02 Aug 2018 20:05:43 +0000 Subject: acceleratedRendering In-Reply-To: Message-ID: <20180802200543.Horde.aIslc3tdEFU4LEYOxT5kARi@ua850258.serversignin.com> Panos asked me to file a bug report on what I was experiencing, but I haven't been able to nail down the formula yet. Simply enabling acceleratedRendering would allow my app to launch, but things weren't moving or responding as they should have. It does seem like some mouseUp messages are getting ignored, but I'm also dealing with screen redraw issues when moving objects and groups in time as well as using mobileControls (a side navigation that opens up from off screen and hides mobile browser). I'm currently redesigning the navigation so I can get an update out the door quickly as users are already complaining about iOS 12 compatibility. You've given me some insight into the possible problem so I can try to work out a proper bug report formula. --Andrew Bell > From: Sannyasin Brahmanathaswami > To: How to use LiveCode > Subject: Re: acceleratedRendering > Message-ID: <5A86D6A0-88C9-4D00-B7D5-749568F74900 at hindu.org> > Content-Type: text/plain; charset="utf-8" > > FWIW... acceleratedRendering in causing trouble on Android, 9.0.1. RC 1. > > Disables "touch" messages in some contexts... > > Bug report is in, confirmed. > > I've struggling for 2 Years with this (!) > > Now on iOS? Yikes! > > I am sure it is a priority with team. Keep fingers crossed. > > BR > > > ?On 8/1/18, 4:07 AM, "use-livecode on behalf of Randy Hengst via > use-livecode" use-livecode at lists.runrev.com> wrote: > > Is there some element that goes hand-in-hand with > acceleratedRendering that I?ve overlooked? > From brian at milby7.com Thu Aug 2 16:33:09 2018 From: brian at milby7.com (Brian Milby) Date: Thu, 2 Aug 2018 15:33:09 -0500 Subject: New Apple iPad & Chipset In-Reply-To: <31C29805-99B9-4DFB-9D70-0F1C2E5FC6C9@mac.com> References: <31C29805-99B9-4DFB-9D70-0F1C2E5FC6C9@mac.com> Message-ID: <8785bc1a-9df7-4cbf-96d4-25dae93f6740@Spark> I have a new iPad and it works for me from the normal App Store. I have the same model as below and am at 11.4.1. On Aug 2, 2018, 2:56 PM -0500, Randy Hengst via use-livecode , wrote: > Hi All, > > Well, school districts around the United States are starting to get things going for new school year? and many will have new iPads? I just received this info from one district today? Has anyone else seen issues with LC apps downloading or running on the newest iPads? I don?t have one, but just ordered one to do some checking. > > ================== > From the IT Operations Manager: > I recently tired to install 10 Frame Fill on our new fleet of iPads running iOS 11.4.1 and the app keeps failing to install. I'm using an MDM with VPP licensing. Is 10 Frame Fill compatible with this new iOS? > ================== > I followed up with a couple questions and asked for a bit more detail? he replied: > OK. Apples hardware upgrades with 3rd party apps are becoming finicky. My new devices are Model MR7J2LL/A with the new apple pencil functionality and a new 64bit chipset. I may try to recommend using one of your other apps if they work with this device. If you make any modification to your iOS apps, will the new app upgrades automatically install themselves are would I have to reinstall the/ newest version of the app? > ================== > > be well, > randy > www.classroomFocusedSoftware.com > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From zryip.theslug at gmail.com Thu Aug 2 18:01:28 2018 From: zryip.theslug at gmail.com (zryip theSlug) Date: Fri, 3 Aug 2018 00:01:28 +0200 Subject: Getting Started with DataGrid In-Reply-To: References: <19BF7D87-2FD8-4524-AE25-BEFC8AA24AC5@hindu.org> <99C99846-7F5A-432B-A058-FE4E10106F58@iotecdigital.com> Message-ID: Dear Swami, We have some free material about datagrids form or table. 1. A tutorial written long time ago before I created DGH, exploring the very basic concepts of the datagrid control (form and table): http://www.aslugontheroad.com/download/category/3-tutorials 2. Some demo stacks created for demonstrating datagrid's possibilities such as drag and drop, calculation, etc http://www.aslugontheroad.com/download/category/4-lab 3. About your screenshot, a datagrid form will be your better option in my opinion. 4. And about Data Grid Helper, I can not answer objectively to your question, for sure. All I can say is the tool has regular updates for supporting the new versions of LiveCode. A new major (nothing to do with our friend Klaus :) (I prefer to specify because he made me the joke on the livecode forum, haha :) )) 2.5 version has been released in June supporting dg2 properties, widgets, custom headers, etc. A blog article has been published about it, with some available screenshots of the new features: https://livecode.com/data-grid-helper-2-5-adds-support-for-datagrid-2/ Now, if someone in the List want to add a comment about DGH, positive or not, he / she is welcome. :) Best Regards, On Thu, Aug 2, 2018 at 9:29 PM, Klaus major-k via use-livecode < use-livecode at lists.runrev.com> wrote: > Hi Swami, > > > Am 02.08.2018 um 21:24 schrieb Sannyasin Brahmanathaswami via > use-livecode : > > > > I loaded DataGrid in stack > > > > Now I wonder if is tool of choice for > > http://wiki.hindu.org/screenshots/data-grid-candidate.png > > There needs to alternate rows, with the "alt" row as blank and showing > the card .....?? before I go down the path: > > > > Yes or No -- can data grid to this? > > YES! :-) > > > Brahmanathaswami > > Best > > Klaus > > -- > Klaus Major > http://www.major-k.de > klaus at major-k.de > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > -- Zryip TheSlug http://www.aslugontheroad.com From iowahengst at mac.com Thu Aug 2 18:21:27 2018 From: iowahengst at mac.com (Randy Hengst) Date: Thu, 02 Aug 2018 18:21:27 -0400 Subject: New Apple iPad & Chipset In-Reply-To: <8785bc1a-9df7-4cbf-96d4-25dae93f6740@Spark> References: <31C29805-99B9-4DFB-9D70-0F1C2E5FC6C9@mac.com> <8785bc1a-9df7-4cbf-96d4-25dae93f6740@Spark> Message-ID: That?s good to hear, Brian. Did you download the 10 Frame Fill app? be well, randy www.classroomFocusedSoftware.com > On Aug 2, 2018, at 4:33 PM, Brian Milby wrote: > > I have a new iPad and it works for me from the normal App Store. I have the same model as below and am at 11.4.1. >> On Aug 2, 2018, 2:56 PM -0500, Randy Hengst via use-livecode , wrote: >> Hi All, >> >> Well, school districts around the United States are starting to get things going for new school year? and many will have new iPads? I just received this info from one district today? Has anyone else seen issues with LC apps downloading or running on the newest iPads? I don?t have one, but just ordered one to do some checking. >> >> ================== >> From the IT Operations Manager: >> I recently tired to install 10 Frame Fill on our new fleet of iPads running iOS 11.4.1 and the app keeps failing to install. I'm using an MDM with VPP licensing. Is 10 Frame Fill compatible with this new iOS? >> ================== >> I followed up with a couple questions and asked for a bit more detail? he replied: >> OK. Apples hardware upgrades with 3rd party apps are becoming finicky. My new devices are Model MR7J2LL/A with the new apple pencil functionality and a new 64bit chipset. I may try to recommend using one of your other apps if they work with this device. If you make any modification to your iOS apps, will the new app upgrades automatically install themselves are would I have to reinstall the/ newest version of the app? >> ================== >> >> be well, >> randy >> www.classroomFocusedSoftware.com >> >> >> _______________________________________________ >> use-livecode mailing list >> use-livecode at lists.runrev.com >> Please visit this url to subscribe, unsubscribe and manage your subscription preferences: >> http://lists.runrev.com/mailman/listinfo/use-livecode From selander at tkf.att.ne.jp Thu Aug 2 18:37:24 2018 From: selander at tkf.att.ne.jp (Tim Selander) Date: Fri, 03 Aug 2018 07:37:24 +0900 Subject: Using the $_POST global in LiveCode server Message-ID: <5B6387A4.2010304@tkf.att.ne.jp> Hi, Is it possible to change, or even delete, the $_POST[] array in LiveCode server? I want to clear it after my script has pulled out the info it needs. Or, maybe there's another way to skin the cat. I have a search page that returns a list of our online TV programs. But even if the page is reloaded, the previous search term is still "live" in the $_P, so the page returns the previously searched list of programs. If a user reloads the page, I want the page to come up with no program list until they enter a new search term. Any pointers? Thanks! Tim Selander Tokyo Japan From bonnmike at gmail.com Thu Aug 2 19:15:37 2018 From: bonnmike at gmail.com (Mike Bonner) Date: Thu, 2 Aug 2018 17:15:37 -0600 Subject: Using the $_POST global in LiveCode server In-Reply-To: <5B6387A4.2010304@tkf.att.ne.jp> References: <5B6387A4.2010304@tkf.att.ne.jp> Message-ID: I don't really understand what I've read yet, but I think what you're looking for is Post/Redirect/Get (prg) Basically.. Accept the post, process it, redirect to another page without the post. (One example I read basically placed the generated html into a session variable and displayed it after the get, then cleared it from the session so that a reload wouldn't show anything) Lots of examples in php, not sure how to implement with lc. Another though has just occurred to me also.. If you use session variables, you can store the search term in the session, and since the browser will re-post on reload, if $_POST and your session variable contain the same search term, its possible (likely?) that it was a reload rather than a new search, then don't do the search. Not sure if this is helpful, and not sure how to handle the back button either. On Thu, Aug 2, 2018 at 4:37 PM Tim Selander via use-livecode < use-livecode at lists.runrev.com> wrote: > Hi, > > Is it possible to change, or even delete, the $_POST[] array in LiveCode > server? I want to clear it after my script has pulled out the info it > needs. > > Or, maybe there's another way to skin the cat. I have a search page that > returns a list of our online TV programs. But even if the page is > reloaded, the previous search term is still "live" in the $_P, so the > page returns the previously searched list of programs. If a user reloads > the page, I want the page to come up with no program list until they > enter a new search term. > > Any pointers? > > Thanks! > > Tim Selander > Tokyo Japan > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From monte at appisle.net Thu Aug 2 19:23:26 2018 From: monte at appisle.net (Monte Goulding) Date: Fri, 3 Aug 2018 09:23:26 +1000 Subject: acceleratedRendering In-Reply-To: <33472F1A-28A2-4ED2-8AEC-0D358340EC33@hindu.org> References: <2DB0710D-51C1-4E9B-BA9D-D53EC6A12F86@mac.com> <5A86D6A0-88C9-4D00-B7D5-749568F74900@hindu.org> <15A9647D-69B8-4FE6-93C4-D2899CCD9F45@appisle.net> <33472F1A-28A2-4ED2-8AEC-0D358340EC33@hindu.org> Message-ID: <8BF0250B-67C9-4197-9778-073260D67CB0@appisle.net> > @team-- would it possible to send a new build out this week? Even it has only this patch > > It is the one thing in Android that is blocking. Everything else you have accomplished on 9.0.1 is fantastic, and I really *need* get an Android version that works one on Google Play asap. So I need to get this out to beta tester asap Given it?s Friday and these patches have yet to be reviewed I very much doubt we will be releasing an RC 2 with them in this week. We do have a service providing access to nightly builds I believe but I don?t know the full details (cost ect) so you could contact support about that if it is of interest. Cheers Monte From selander at tkf.att.ne.jp Thu Aug 2 19:53:32 2018 From: selander at tkf.att.ne.jp (Tim Selander) Date: Fri, 03 Aug 2018 08:53:32 +0900 Subject: Using the $_POST global in LiveCode server In-Reply-To: References: <5B6387A4.2010304@tkf.att.ne.jp> Message-ID: <5B63997C.1060901@tkf.att.ne.jp> Thanks, Mike. This seemed like a good hint/possible solution. > Another though has just occurred to me also.. If you use session > variables, you can store the search term in the session, and since the > browser will re-post on reload, if $_POST and your session variable contain > the same search term, its possible (likely?) that it was a reload rather > than a new search, then don't do the search. Not sure if this is helpful, However, when I tried and the server returned the error file "/home/pba/public_html/lifelinesearch.lc" row 2, col 1: This snippet is at the very top of the page, so row 2 is "start session." Am I misundertanding the syntax of 'session'? Thanks, Tim From bonnmike at gmail.com Thu Aug 2 20:03:45 2018 From: bonnmike at gmail.com (Mike Bonner) Date: Thu, 2 Aug 2018 18:03:45 -0600 Subject: Using the $_POST global in LiveCode server In-Reply-To: <5B63997C.1060901@tkf.att.ne.jp> References: <5B6387A4.2010304@tkf.att.ne.jp> <5B63997C.1060901@tkf.att.ne.jp> Message-ID: Its been a while since I messed with sessions, but that looks right. I seem to vaguely remember that there is some version of LC server where sessions is broken, but I can't recall for sure. What version of server are you running? (IIRC sessions was implemented some time around 4.6.3? And a later version was broken and later fixed) I'll see if I can relocate the info. On Thu, Aug 2, 2018 at 5:53 PM Tim Selander via use-livecode < use-livecode at lists.runrev.com> wrote: > Thanks, Mike. > > This seemed like a good hint/possible solution. > > Another though has just occurred to me also.. If you use session > > variables, you can store the search term in the session, and since the > > browser will re-post on reload, if $_POST and your session variable > contain > > the same search term, its possible (likely?) that it was a reload rather > > than a new search, then don't do the search. Not sure if this is helpful, > However, when I tried > start session > put "test" into $_SESSION["keyword"] > put $_SESSION[keyword] > stop session > ?> > and the server returned the error > > file "/home/pba/public_html/lifelinesearch.lc" > row 2, col 1: > > This snippet is at the very top of the page, so row 2 is "start session." > > Am I misundertanding the syntax of 'session'? > > Thanks, > > Tim > > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From bonnmike at gmail.com Thu Aug 2 20:17:37 2018 From: bonnmike at gmail.com (Mike Bonner) Date: Thu, 2 Aug 2018 18:17:37 -0600 Subject: Using the $_POST global in LiveCode server In-Reply-To: References: <5B6387A4.2010304@tkf.att.ne.jp> <5B63997C.1060901@tkf.att.ne.jp> Message-ID: Version 7.1.0 doesn't seem to work. (the version used by on-rev.) Pretty sure its been in this non-working condition for a while. (again, my faulty memory might be wrong) I'll try and set up a test for later versions, but pretty sure things were still working in the 6.x range of server engines. On Thu, Aug 2, 2018 at 6:03 PM Mike Bonner wrote: > Its been a while since I messed with sessions, but that looks right. I > seem to vaguely remember that there is some version of LC server where > sessions is broken, but I can't recall for sure. What version of server > are you running? (IIRC sessions was implemented some time around 4.6.3? > And a later version was broken and later fixed) I'll see if I can relocate > the info. > > On Thu, Aug 2, 2018 at 5:53 PM Tim Selander via use-livecode < > use-livecode at lists.runrev.com> wrote: > >> Thanks, Mike. >> >> This seemed like a good hint/possible solution. >> > Another though has just occurred to me also.. If you use session >> > variables, you can store the search term in the session, and since the >> > browser will re-post on reload, if $_POST and your session variable >> contain >> > the same search term, its possible (likely?) that it was a reload rather >> > than a new search, then don't do the search. Not sure if this is >> helpful, >> However, when I tried >> > start session >> put "test" into $_SESSION["keyword"] >> put $_SESSION[keyword] >> stop session >> ?> >> and the server returned the error >> >> file "/home/pba/public_html/lifelinesearch.lc" >> row 2, col 1: >> >> This snippet is at the very top of the page, so row 2 is "start session." >> >> Am I misundertanding the syntax of 'session'? >> >> Thanks, >> >> Tim >> >> >> >> _______________________________________________ >> use-livecode mailing list >> use-livecode at lists.runrev.com >> Please visit this url to subscribe, unsubscribe and manage your >> subscription preferences: >> http://lists.runrev.com/mailman/listinfo/use-livecode >> > From brahma at hindu.org Thu Aug 2 22:14:27 2018 From: brahma at hindu.org (Sannyasin Brahmanathaswami) Date: Fri, 3 Aug 2018 02:14:27 +0000 Subject: Getting Started with DataGrid In-Reply-To: References: <19BF7D87-2FD8-4524-AE25-BEFC8AA24AC5@hindu.org> <99C99846-7F5A-432B-A058-FE4E10106F58@iotecdigital.com> Message-ID: Aloha "Zryip" At $45.00 (cheap) and with your own endorsement (knowing that it is maintained) I'll get it! Brahmanathaswami Ps do you have a real name? ?On 8/2/18, 12:01 PM, "use-livecode on behalf of zryip theSlug via use-livecode" wrote: Dear Swami, We have some free material about datagrids form or table. 1. A tutorial written long time ago before I created DGH, exploring the very basic concepts of the datagrid control (form and table): http://www.aslugontheroad.com/download/category/3-tutorials 2. Some demo stacks created for demonstrating datagrid's possibilities such as drag and drop, calculation, etc http://www.aslugontheroad.com/download/category/4-lab 3. About your screenshot, a datagrid form will be your better option in my opinion. 4. And about Data Grid Helper, I can not answer objectively to your question, for sure. All I can say is the tool has regular updates for supporting the new versions of LiveCode. A new major (nothing to do with our friend Klaus :) (I prefer to specify because he made me the joke on the livecode forum, haha :) )) 2.5 version has been released in June supporting dg2 properties, widgets, custom headers, etc. A blog article has been published about it, with some available screenshots of the new features: https://livecode.com/data-grid-helper-2-5-adds-support-for-datagrid-2/ Now, if someone in the List want to add a comment about DGH, positive or not, he / she is welcome. :) Best Regards, From brahma at hindu.org Thu Aug 2 23:06:04 2018 From: brahma at hindu.org (Sannyasin Brahmanathaswami) Date: Fri, 3 Aug 2018 03:06:04 +0000 Subject: acceleratedRendering In-Reply-To: <8BF0250B-67C9-4197-9778-073260D67CB0@appisle.net> References: <2DB0710D-51C1-4E9B-BA9D-D53EC6A12F86@mac.com> <5A86D6A0-88C9-4D00-B7D5-749568F74900@hindu.org> <15A9647D-69B8-4FE6-93C4-D2899CCD9F45@appisle.net> <33472F1A-28A2-4ED2-8AEC-0D358340EC33@hindu.org> <8BF0250B-67C9-4197-9778-073260D67CB0@appisle.net> Message-ID: <773D113D-BDA8-41DA-84EC-49B9C2F497D8@hindu.org> Next week will be fine __ Brahmanathaswami ?On 8/2/18, 1:23 PM, "use-livecode on behalf of Monte Goulding via use-livecode" wrote: Given it?s Friday and these patches have yet to be reviewed I very much doubt we will be releasing an RC 2 with them in this week. We do have a service providing access to nightly builds I believe but I don?t know the full details (cost ect) so you could contact support about that if it is of interest. Cheers Monte From brahma at hindu.org Thu Aug 2 23:24:46 2018 From: brahma at hindu.org (Sannyasin Brahmanathaswami) Date: Fri, 3 Aug 2018 03:24:46 +0000 Subject: acceleratedRendering In-Reply-To: <922E095A-6020-418D-A194-6F3464A293D9@mac.com> References: <2DB0710D-51C1-4E9B-BA9D-D53EC6A12F86@mac.com> <5A86D6A0-88C9-4D00-B7D5-749568F74900@hindu.org> <15A9647D-69B8-4FE6-93C4-D2899CCD9F45@appisle.net> <33472F1A-28A2-4ED2-8AEC-0D358340EC33@hindu.org> <922E095A-6020-418D-A194-6F3464A293D9@mac.com> Message-ID: I don't know if it would work on a iOS 12, but we has an issue with a complex dynamic "draw" on screen.. So we turned of acceleratedRendering to false temporarily Then set to back when the drawing was finish on createWordPuzzle if (the acceleratedRendering of this stack is true ) then set the acceleratedRacceleratedRendering on createWordPuzzle end if stopTimer hide widget "context" loadNewBgImg [snip] # later set the acceleratedRendering of this stack to true end createWordPuzzle Brahmanathaswami ? Randy Hengst wrote: I?ve been messing with this slowdown issue ? there is a connection between having acceleratedRendering set to true? and my objects that move set to dynamic. I see the slowdown in the IDE and on the iPad. Using LC 9.0.1 RC1 still. From stephen at barncard.com Fri Aug 3 01:07:30 2018 From: stephen at barncard.com (Stephen Barncard) Date: Thu, 2 Aug 2018 22:07:30 -0700 Subject: Getting Started with DataGrid In-Reply-To: References: <19BF7D87-2FD8-4524-AE25-BEFC8AA24AC5@hindu.org> <99C99846-7F5A-432B-A058-FE4E10106F58@iotecdigital.com> Message-ID: Names are merely abstractions. On Thu, Aug 2, 2018 at 19:15 Sannyasin Brahmanathaswami via use-livecode < use-livecode at lists.runrev.com> wrote: > Aloha "Zryip" > > At $45.00 (cheap) and with your own endorsement (knowing that it is > maintained) > > I'll get it! > > Brahmanathaswami > > Ps do you have a real name? > > ?On 8/2/18, 12:01 PM, "use-livecode on behalf of zryip theSlug via > use-livecode" use-livecode at lists.runrev.com> wrote: > > Dear Swami, > > We have some free material about datagrids form or table. > > 1. A tutorial written long time ago before I created DGH, exploring the > very basic concepts of the datagrid control (form and table): > http://www.aslugontheroad.com/download/category/3-tutorials > > 2. Some demo stacks created for demonstrating datagrid's possibilities > such > as drag and drop, calculation, etc > http://www.aslugontheroad.com/download/category/4-lab > > 3. About your screenshot, a datagrid form will be your better option > in my > opinion. > > 4. And about Data Grid Helper, I can not answer objectively to your > question, for sure. All I can say is the tool has regular updates for > supporting the new versions of LiveCode. A new major (nothing to do > with > our friend Klaus :) (I prefer to specify because he made me the joke > on the > livecode forum, haha :) )) 2.5 version has been released in June > supporting > dg2 properties, widgets, custom headers, etc. A blog article has been > published about it, with some available screenshots of the new > features: > https://livecode.com/data-grid-helper-2-5-adds-support-for-datagrid-2/ > > Now, if someone in the List want to add a comment about DGH, positive > or > not, he / she is welcome. :) > > > Best Regards, > > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode -- -- Stephen Barncard - Sebastopol Ca. USA - mixstream.org From bogdanoff at me.com Fri Aug 3 02:32:43 2018 From: bogdanoff at me.com (Peter Bogdanoff) Date: Thu, 02 Aug 2018 23:32:43 -0700 Subject: A poor man's app updater In-Reply-To: <0818e589-36b8-632d-68d1-2bbb004defcc@hyperactivesw.com> References: <0818e589-36b8-632d-68d1-2bbb004defcc@hyperactivesw.com> Message-ID: Hi, To raise the issue again of updating Mac and Windows apps, I?m referencing this thread between Graham and Jacqueline... Can existing files in the user?s application directory be saved/modified/replaced by my application? > On Mar 18, 2018, at 12:57 PM, J. Landman Gay via use-livecode wrote: > >> - delete the current version using the facilities of the OS (just trash it from the Applications folder on a Mac, or use the Control Panel on Windows): there is no reliable way of doing this from within an LC standalone, AFAIK; > > I think you'd benefit from distributing some type of installer. When the user clicks the "OK" button, launch the URL of your web site where they can download it. Matthias' LC installer is ready (and the signing version is close to ready) so you could use that while staying within the LC environment. It does all the work for you. Can Livecode download a file and replace an existing file in the user?s Application package (Mac) or Program Files folder (Win), or does the OS block that? I understand that the application itself would need to be replaced by a new installation, but can supporting files in the same installation directory be replaced while the parent LC standalone is still running without then having to later be restarted? Is there any news on "Matthias' LC installer?? > > Users know how to use installers and many Windows users don't understand anything else. There are more users than you think who don't know how to find a file or where apps are stored on their drive. The OS and/or the installer will manage older versions so you don't have to. > >> - download and run a special ?Uninstall Helper? program that gets rid of the Working Stack in the writeable area, plus preference files and the like - I don?t see any way of making this happen automatically, since logically it needs to be done **after** the main program is deleted; > > Instead of a helper, I'd put some logic into your app itself. The working stack would have a custom property with its current version number. The standalone would check on launch if the working stack exists, and if so, if its custom version property matches the one it expects. If not, overwrite the existing one with the new one. The new one could either be downloaded from the internet on demand, or stored as a binary in a custom property of the standalone. Either way, overwriting is just a matter of putting the binary content into the existing stack file path on disk. Does this answer my updating files question? > >> - use the information given at the time of purchase to download the appropriate installer from the server; >> - reinstall the program and input the registration data from the original purchase. > > So, it sounds like you are already using an installer. If so, they're mostly done. I wouldn't remove the user registration file or preferences; unless it's changed there's no reason to make the user find their registration info again (and many will lose or misplace it, which will increase support requests.) > > The short summary: The user only has to click "OK", the app quits, and the user is taken to a web site to download the update installer. Once they launch that and run the install, everything else is automatic. On first launch, the app replaces any necessary files. > > > -- > Jacqueline Landman Gay | jacque at hyperactivesw.com > HyperActive Software | http://www.hyperactivesw.com Peter Bogdanoff From paul at researchware.com Fri Aug 3 08:14:10 2018 From: paul at researchware.com (Paul Dupuis) Date: Fri, 3 Aug 2018 08:14:10 -0400 Subject: A poor man's app updater In-Reply-To: References: <0818e589-36b8-632d-68d1-2bbb004defcc@hyperactivesw.com> Message-ID: <337a5934-3170-65c8-a78e-1c004b73dbee@researchware.com> On 8/3/2018 2:32 AM, Peter Bogdanoff via use-livecode wrote: > Hi, > > To raise the issue again of updating Mac and Windows apps, I?m referencing this thread between Graham and Jacqueline... > > Can existing files in the user?s application directory be saved/modified/replaced by my application? > The accurate answer is that it all depends upon the permissions of the account running the software. Typically for most personal or home computers, the user has administrative privs, but that is increasingly not the case on university or company owned computers. On these, they may not have permission to alter files in the Program Files (Win) or Applications (OSX) folders. In some cases, again depending on OS and permissions, you can alter the folders contents directly. In others you application must launch a process (another app) with elevated privs, where the OS asks the user for permissions for the elevated privs, and then that app (if allowed) can make changes. From tom at makeshyft.com Fri Aug 3 09:44:22 2018 From: tom at makeshyft.com (Tom Glod) Date: Fri, 3 Aug 2018 09:44:22 -0400 Subject: Browser persistence from card to card Message-ID: Hi folks, I don't know the reasoning behind this, but....... when using the browser widget, and changing cards, the browser cef process is killed and restated each time you close and open the card with the browser on it..... and it doesn't remember where you were scrolling wise. I could have sworn that this was not always so ..... is there a property or a way to avoid this behavior? it really limits how we can use the browser and it seems like its unnecessary .... or at least should be optional. is there any way to avoid this behavior? From bobsneidar at iotecdigital.com Fri Aug 3 11:55:58 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Fri, 3 Aug 2018 15:55:58 +0000 Subject: Getting Started with DataGrid In-Reply-To: References: <19BF7D87-2FD8-4524-AE25-BEFC8AA24AC5@hindu.org> <99C99846-7F5A-432B-A058-FE4E10106F58@iotecdigital.com> Message-ID: In that case, call me Obi Wan. Not after the Star Wars Jedi of fame, but after the name of the restaurant Indiana Jones flees from in Temple of Doom. Bob S > On Aug 2, 2018, at 22:07 , Stephen Barncard via use-livecode wrote: > > Names are merely abstractions. From prothero at earthlearningsolutions.org Fri Aug 3 12:35:39 2018 From: prothero at earthlearningsolutions.org (prothero at earthlearningsolutions.org) Date: Fri, 3 Aug 2018 09:35:39 -0700 Subject: CEF browser question Message-ID: Folks, As I was working on and testing the browser widget, which seemed to fail when tested on my iPhone, I thought the problem was with the browser widget, but it turned out to be that I was trying to link to a web site that wouldn?t let me load it because I was using a vpn on my iPhone. The vpn wouldn?t let them load their tracker. Nasty. So, I thought it was a browser problem and looked into using the CEF browser. Docs say it is no longer supported in LC9 versions, but I see the entry in the inclusions. Is there a reason this inclusion is relevant, or am I missing something? Best, Bill William Prothero http://es.earthednet.org > On Aug 3, 2018, at 6:44 AM, Tom Glod via use-livecode wrote: > > Hi folks, I don't know the reasoning behind this, but....... > > when using the browser widget, and changing cards, the browser cef process > is killed and restated each time you close and open the card with the > browser on it..... and it doesn't remember where you were scrolling wise. > > I could have sworn that this was not always so ..... is there a property or > a way to avoid this behavior? it really limits how we can use the browser > and it seems like its unnecessary .... or at least should be optional. > > is there any way to avoid this behavior? > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From smaclean at madmansoft.com Fri Aug 3 13:07:44 2018 From: smaclean at madmansoft.com (Stephen MacLean) Date: Fri, 3 Aug 2018 13:07:44 -0400 Subject: put URL oddity Message-ID: <7706D46D-8499-4A7B-9FCB-47FED7633E60@madmansoft.com> Hi All, I?m experiencing at put URL oddity: Entering: put URL "https://www.google.com? into the message box returns the HtML for the google home page, which is what I expect. Entering: put URL "https://www.milfordmirror.com/? returns absolutely nothing, no errors, no content whatsoever. Just empty. Not what I expect. The URL is valid, put it into a browser and you get a page. Set the url of a browser widget and you get the page. I?m wondering if I need to set httpHeaders to get this to return something, but have no idea what that might be. Has anyone experienced this before and if so, how did you work around it? TIA, Steve MacLean LC 9.0.1 RC1 Business From brian at milby7.com Fri Aug 3 13:18:29 2018 From: brian at milby7.com (Brian Milby) Date: Fri, 3 Aug 2018 12:18:29 -0500 Subject: put URL oddity In-Reply-To: <7706D46D-8499-4A7B-9FCB-47FED7633E60@madmansoft.com> References: <7706D46D-8499-4A7B-9FCB-47FED7633E60@madmansoft.com> Message-ID: For me I have to include the protocol. So the ?http://? needs to be there to get any output. Thanks, Brian On Aug 3, 2018, 12:08 PM -0500, Stephen MacLean via use-livecode , wrote: > Hi All, > > I?m experiencing at put URL oddity: > > Entering: put URL "https://www.google.com? into the message box returns the HtML for the google home page, which is what I expect. > > Entering: put URL "https://www.milfordmirror.com/? returns absolutely nothing, no errors, no content whatsoever. Just empty. Not what I expect. > > The URL is valid, put it into a browser and you get a page. > > Set the url of a browser widget and you get the page. > > I?m wondering if I need to set httpHeaders to get this to return something, but have no idea what that might be. > > Has anyone experienced this before and if so, how did you work around it? > > TIA, > > Steve MacLean > > LC 9.0.1 RC1 Business > > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From brian at milby7.com Fri Aug 3 13:20:02 2018 From: brian at milby7.com (Brian Milby) Date: Fri, 3 Aug 2018 12:20:02 -0500 Subject: Browser persistence from card to card In-Reply-To: References: Message-ID: I have not tried this, but have you considered a background group for the browser widget? You could hide and unhide it possibly? Thanks, Brian On Aug 3, 2018, 8:45 AM -0500, Tom Glod via use-livecode , wrote: > Hi folks, I don't know the reasoning behind this, but....... > > when using the browser widget, and changing cards, the browser cef process > is killed and restated each time you close and open the card with the > browser on it..... and it doesn't remember where you were scrolling wise. > > I could have sworn that this was not always so ..... is there a property or > a way to avoid this behavior? it really limits how we can use the browser > and it seems like its unnecessary .... or at least should be optional. > > is there any way to avoid this behavior? > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From ambassador at fourthworld.com Fri Aug 3 13:40:37 2018 From: ambassador at fourthworld.com (Richard Gaskin) Date: Fri, 3 Aug 2018 10:40:37 -0700 Subject: valueDiff for arrays? Message-ID: We have a command for obtaining the difference between arrays, where "difference" is defined as having different keys. What I could use at the moment is a means of obtaining an array which is the difference is both keys present in one but not in the other, and values that are different for those elements where they keys are present in both. I can write a loop for that, but it seems like it would be useful for others so I thought I'd ask if anyone here knows of a feature request in the DB for this. If not I'll add one. -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ____________________________________________________________________ Ambassador at FourthWorld.com http://www.FourthWorld.com From rdimola at evergreeninfo.net Fri Aug 3 13:46:43 2018 From: rdimola at evergreeninfo.net (Ralph DiMola) Date: Fri, 3 Aug 2018 13:46:43 -0400 Subject: CEF browser question In-Reply-To: References: Message-ID: <003601d42b51$f41ec6b0$dc5c5410$@net> Bill, Are getting bit by iOS App Transport Security (ATS) for non https sites? Try disabling ATS on the iOS standalone settings pane. Ralph DiMola IT Director Evergreen Information Services rdimola at evergreeninfo.net Folks, As I was working on and testing the browser widget, which seemed to fail when tested on my iPhone, I thought the problem was with the browser widget, but it turned out to be that I was trying to link to a web site that wouldn?t let me load it because I was using a vpn on my iPhone. The vpn wouldn?t let them load their tracker. Nasty. So, I thought it was a browser problem and looked into using the CEF browser. Docs say it is no longer supported in LC9 versions, but I see the entry in the inclusions. Is there a reason this inclusion is relevant, or am I missing something? Best, Bill William Prothero http://es.earthednet.org From bobsneidar at iotecdigital.com Fri Aug 3 13:46:59 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Fri, 3 Aug 2018 17:46:59 +0000 Subject: valueDiff for arrays? In-Reply-To: References: Message-ID: <1F120EEE-607B-459C-9BE0-F9891D5CA308@iotecdigital.com> Not to beat a dead horse, but this would be a perfect application for moving the arrays to memory databases, and running queries against them, then converting back to arrays again. I can have a go at it if I have a couple JSON arrays to work with. Are they typical 2 dimensional arrays like datagrids use, or are there embedded arrays? Bob S > On Aug 3, 2018, at 10:40 , Richard Gaskin via use-livecode wrote: > > We have a command for obtaining the difference between arrays, where "difference" is defined as having different keys. > > What I could use at the moment is a means of obtaining an array which is the difference is both keys present in one but not in the other, and values that are different for those elements where they keys are present in both. > > I can write a loop for that, but it seems like it would be useful for others so I thought I'd ask if anyone here knows of a feature request in the DB for this. If not I'll add one. > > -- > Richard Gaskin From smaclean at madmansoft.com Fri Aug 3 13:49:30 2018 From: smaclean at madmansoft.com (Stephen MacLean) Date: Fri, 3 Aug 2018 13:49:30 -0400 Subject: put URL oddity In-Reply-To: References: <7706D46D-8499-4A7B-9FCB-47FED7633E60@madmansoft.com> Message-ID: <921CED73-C989-4FD6-A4DC-7D08CCC1DFA9@madmansoft.com> Hi Brian, Thanks for the reply, but I?m confused? the protocol is there: https:// Thanks, Steve > On Aug 3, 2018, at 1:18 PM, Brian Milby via use-livecode wrote: > > For me I have to include the protocol. So the ?http://? needs to be there to get any output. > > Thanks, > Brian > On Aug 3, 2018, 12:08 PM -0500, Stephen MacLean via use-livecode , wrote: >> Hi All, >> >> I?m experiencing at put URL oddity: >> >> Entering: put URL "https://www.google.com? into the message box returns the HtML for the google home page, which is what I expect. >> >> Entering: put URL "https://www.milfordmirror.com/? returns absolutely nothing, no errors, no content whatsoever. Just empty. Not what I expect. >> >> The URL is valid, put it into a browser and you get a page. >> >> Set the url of a browser widget and you get the page. >> >> I?m wondering if I need to set httpHeaders to get this to return something, but have no idea what that might be. >> >> Has anyone experienced this before and if so, how did you work around it? >> >> TIA, >> >> Steve MacLean >> >> LC 9.0.1 RC1 Business >> >> >> >> _______________________________________________ >> use-livecode mailing list >> use-livecode at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From bobsneidar at iotecdigital.com Fri Aug 3 13:58:45 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Fri, 3 Aug 2018 17:58:45 +0000 Subject: Drag Drop State of Affairs Message-ID: <2A2E7C1B-B38C-4D54-BF2A-132A665BBFA3@iotecdigital.com> Hi all. I've mentioned before that on a Mac current OS latest LC (and prior) I have some drag/drop operations, where I will process text dropped onto a field. The actual process works, but afterwards, the controls in the window will be unresponsive, until I click the window title bar, after which all works as normal again. It's not critical, but it is a nuisance especially I am constantly drag/dropping data from installation requests into my app for the sake of convenience and data consistency. It gets to the point where every drag/drop operation has to be followd by a click on the title bar. I suppose I could simply click at the location of the title bar, but I'd really like to know if there is a way to make sure that any drag/drop operations are "flushed" so to speak. And since I am almost certain that LC interacts with the OS to accomplish this, my suspicion is that the OS has not received any "termination" for the drag/drop operation, and must time out at some point. The reason I think this is because it seems that when I first begin drag/dropping data, it works for a bit without the issue, but after a time I get the loss of control issue, and from then on all drag drop operations exhibit this "anomaly". But if I wait for a time, things seem to be restored again for a bit. So I am hoping that maybe there is some system message that gets sent that causes LC to "clean up" after a grag drop operation. Bob S From martyknappster at gmail.com Fri Aug 3 14:13:32 2018 From: martyknappster at gmail.com (Knapp Martin) Date: Fri, 3 Aug 2018 11:13:32 -0700 Subject: Drag Drop State of Affairs In-Reply-To: <2A2E7C1B-B38C-4D54-BF2A-132A665BBFA3@iotecdigital.com> References: <2A2E7C1B-B38C-4D54-BF2A-132A665BBFA3@iotecdigital.com> Message-ID: I?ve had the same issue. FWIW I?ve found that after a drag and drop, if I move my mouse into the LC toolbar and back (with no clicking) it returns to normal. Marty > On Aug 3, 2018, at 10:58 AM, Bob Sneidar via use-livecode wrote: > > Hi all. > > I've mentioned before that on a Mac current OS latest LC (and prior) I have some drag/drop operations, where I will process text dropped onto a field. The actual process works, but afterwards, the controls in the window will be unresponsive, until I click the window title bar, after which all works as normal again. > > It's not critical, but it is a nuisance especially I am constantly drag/dropping data from installation requests into my app for the sake of convenience and data consistency. It gets to the point where every drag/drop operation has to be followd by a click on the title bar. > > I suppose I could simply click at the location of the title bar, but I'd really like to know if there is a way to make sure that any drag/drop operations are "flushed" so to speak. And since I am almost certain that LC interacts with the OS to accomplish this, my suspicion is that the OS has not received any "termination" for the drag/drop operation, and must time out at some point. > > The reason I think this is because it seems that when I first begin drag/dropping data, it works for a bit without the issue, but after a time I get the loss of control issue, and from then on all drag drop operations exhibit this "anomaly". But if I wait for a time, things seem to be restored again for a bit. > > So I am hoping that maybe there is some system message that gets sent that causes LC to "clean up" after a grag drop operation. > > Bob S > From tom at makeshyft.com Fri Aug 3 14:24:03 2018 From: tom at makeshyft.com (Tom Glod) Date: Fri, 3 Aug 2018 14:24:03 -0400 Subject: put URL oddity In-Reply-To: <921CED73-C989-4FD6-A4DC-7D08CCC1DFA9@madmansoft.com> References: <7706D46D-8499-4A7B-9FCB-47FED7633E60@madmansoft.com> <921CED73-C989-4FD6-A4DC-7D08CCC1DFA9@madmansoft.com> Message-ID: maybe the url is a redirect and your request is not following it. On Fri, Aug 3, 2018 at 1:49 PM, Stephen MacLean via use-livecode < use-livecode at lists.runrev.com> wrote: > Hi Brian, > > Thanks for the reply, but I?m confused? the protocol is there: https:// > > Thanks, > > Steve > > > On Aug 3, 2018, at 1:18 PM, Brian Milby via use-livecode < > use-livecode at lists.runrev.com> wrote: > > > > For me I have to include the protocol. So the ?http://? needs to be > there to get any output. > > > > Thanks, > > Brian > > On Aug 3, 2018, 12:08 PM -0500, Stephen MacLean via use-livecode < > use-livecode at lists.runrev.com>, wrote: > >> Hi All, > >> > >> I?m experiencing at put URL oddity: > >> > >> Entering: put URL "https://www.google.com? into the message box > returns the HtML for the google home page, which is what I expect. > >> > >> Entering: put URL "https://www.milfordmirror.com/? returns absolutely > nothing, no errors, no content whatsoever. Just empty. Not what I expect. > >> > >> The URL is valid, put it into a browser and you get a page. > >> > >> Set the url of a browser widget and you get the page. > >> > >> I?m wondering if I need to set httpHeaders to get this to return > something, but have no idea what that might be. > >> > >> Has anyone experienced this before and if so, how did you work around > it? > >> > >> TIA, > >> > >> Steve MacLean > >> > >> LC 9.0.1 RC1 Business > >> > >> > >> > >> _______________________________________________ > >> use-livecode mailing list > >> use-livecode at 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 at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From bobsneidar at iotecdigital.com Fri Aug 3 14:25:02 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Fri, 3 Aug 2018 18:25:02 +0000 Subject: Drag Drop State of Affairs In-Reply-To: References: <2A2E7C1B-B38C-4D54-BF2A-132A665BBFA3@iotecdigital.com> Message-ID: Thanks for the confirmation Marty. My suspicion is that for whatever reason the IDE is not "focused" on the current card after the drop, but only sometimes. I have been unable after much trial and error to produce a reliable formula for reproducing the effect. Bob S > On Aug 3, 2018, at 11:13 , Knapp Martin via use-livecode wrote: > > I?ve had the same issue. FWIW I?ve found that after a drag and drop, if I move my mouse into the LC toolbar and back (with no clicking) it returns to normal. > Marty From bogdanoff at me.com Fri Aug 3 14:41:41 2018 From: bogdanoff at me.com (Peter Bogdanoff) Date: Fri, 03 Aug 2018 11:41:41 -0700 Subject: put URL oddity In-Reply-To: References: <7706D46D-8499-4A7B-9FCB-47FED7633E60@madmansoft.com> <921CED73-C989-4FD6-A4DC-7D08CCC1DFA9@madmansoft.com> Message-ID: <28E1968A-B893-49FD-A6D3-3C0B5287E8EB@me.com> For what it?s worth: Using the URLs of the other affiliated newspaper sites at the bottom of the Milford Mirror page also don?t return anything in the message box. Peter > On Aug 3, 2018, at 11:24 AM, Tom Glod via use-livecode wrote: > > maybe the url is a redirect and your request is not following it. > > On Fri, Aug 3, 2018 at 1:49 PM, Stephen MacLean via use-livecode < > use-livecode at lists.runrev.com> wrote: > >> Hi Brian, >> >> Thanks for the reply, but I?m confused? the protocol is there: https:// >> >> Thanks, >> >> Steve >> >>> On Aug 3, 2018, at 1:18 PM, Brian Milby via use-livecode < >> use-livecode at lists.runrev.com> wrote: >>> >>> For me I have to include the protocol. So the ?http://? needs to be >> there to get any output. >>> >>> Thanks, >>> Brian >>> On Aug 3, 2018, 12:08 PM -0500, Stephen MacLean via use-livecode < >> use-livecode at lists.runrev.com>, wrote: >>>> Hi All, >>>> >>>> I?m experiencing at put URL oddity: >>>> >>>> Entering: put URL "https://www.google.com? into the message box >> returns the HtML for the google home page, which is what I expect. >>>> >>>> Entering: put URL "https://www.milfordmirror.com/? returns absolutely >> nothing, no errors, no content whatsoever. Just empty. Not what I expect. >>>> >>>> The URL is valid, put it into a browser and you get a page. >>>> >>>> Set the url of a browser widget and you get the page. >>>> >>>> I?m wondering if I need to set httpHeaders to get this to return >> something, but have no idea what that might be. >>>> >>>> Has anyone experienced this before and if so, how did you work around >> it? >>>> >>>> TIA, >>>> >>>> Steve MacLean >>>> >>>> LC 9.0.1 RC1 Business >>>> >>>> >>>> >>>> _______________________________________________ >>>> use-livecode mailing list >>>> use-livecode at 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 at 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 at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From jacque at hyperactivesw.com Fri Aug 3 14:42:56 2018 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Fri, 3 Aug 2018 13:42:56 -0500 Subject: Drag Drop State of Affairs In-Reply-To: References: <2A2E7C1B-B38C-4D54-BF2A-132A665BBFA3@iotecdigital.com> Message-ID: <0bc1784f-1286-297c-0c3e-b01f191f224f@hyperactivesw.com> Could the defaultstack have changed? It sounds a bit like that. On 8/3/18 1:13 PM, Knapp Martin via use-livecode wrote: > I?ve had the same issue. FWIW I?ve found that after a drag and drop, if I move my mouse into the LC toolbar and back (with no clicking) it returns to normal. > Marty > >> On Aug 3, 2018, at 10:58 AM, Bob Sneidar via use-livecode wrote: >> >> Hi all. >> >> I've mentioned before that on a Mac current OS latest LC (and prior) I have some drag/drop operations, where I will process text dropped onto a field. The actual process works, but afterwards, the controls in the window will be unresponsive, until I click the window title bar, after which all works as normal again. >> >> It's not critical, but it is a nuisance especially I am constantly drag/dropping data from installation requests into my app for the sake of convenience and data consistency. It gets to the point where every drag/drop operation has to be followd by a click on the title bar. >> >> I suppose I could simply click at the location of the title bar, but I'd really like to know if there is a way to make sure that any drag/drop operations are "flushed" so to speak. And since I am almost certain that LC interacts with the OS to accomplish this, my suspicion is that the OS has not received any "termination" for the drag/drop operation, and must time out at some point. >> >> The reason I think this is because it seems that when I first begin drag/dropping data, it works for a bit without the issue, but after a time I get the loss of control issue, and from then on all drag drop operations exhibit this "anomaly". But if I wait for a time, things seem to be restored again for a bit. >> >> So I am hoping that maybe there is some system message that gets sent that causes LC to "clean up" after a grag drop operation. >> >> Bob S -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com From smaclean at madmansoft.com Fri Aug 3 14:46:23 2018 From: smaclean at madmansoft.com (Stephen MacLean) Date: Fri, 3 Aug 2018 14:46:23 -0400 Subject: put URL oddity In-Reply-To: <28E1968A-B893-49FD-A6D3-3C0B5287E8EB@me.com> References: <7706D46D-8499-4A7B-9FCB-47FED7633E60@madmansoft.com> <921CED73-C989-4FD6-A4DC-7D08CCC1DFA9@madmansoft.com> <28E1968A-B893-49FD-A6D3-3C0B5287E8EB@me.com> Message-ID: <5E1AB9A7-97F3-45F0-BA0E-DBE2AB4D9B6D@madmansoft.com> Thanks, I think that it is as Tom mentioned a re-direct. That site is built using wordpress, and that?s most of what WP does. So that begs the question, how do I get the put URL command to follow a redirect? Thanks, Steve > On Aug 3, 2018, at 2:41 PM, Peter Bogdanoff via use-livecode wrote: > > For what it?s worth: > > Using the URLs of the other affiliated newspaper sites at the bottom of the Milford Mirror page also don?t return anything in the message box. > > Peter > >> On Aug 3, 2018, at 11:24 AM, Tom Glod via use-livecode wrote: >> >> maybe the url is a redirect and your request is not following it. >> >> On Fri, Aug 3, 2018 at 1:49 PM, Stephen MacLean via use-livecode < >> use-livecode at lists.runrev.com> wrote: >> >>> Hi Brian, >>> >>> Thanks for the reply, but I?m confused? the protocol is there: https:// >>> >>> Thanks, >>> >>> Steve >>> >>>> On Aug 3, 2018, at 1:18 PM, Brian Milby via use-livecode < >>> use-livecode at lists.runrev.com> wrote: >>>> >>>> For me I have to include the protocol. So the ?http://? needs to be >>> there to get any output. >>>> >>>> Thanks, >>>> Brian >>>> On Aug 3, 2018, 12:08 PM -0500, Stephen MacLean via use-livecode < >>> use-livecode at lists.runrev.com>, wrote: >>>>> Hi All, >>>>> >>>>> I?m experiencing at put URL oddity: >>>>> >>>>> Entering: put URL "https://www.google.com? into the message box >>> returns the HtML for the google home page, which is what I expect. >>>>> >>>>> Entering: put URL "https://www.milfordmirror.com/? returns absolutely >>> nothing, no errors, no content whatsoever. Just empty. Not what I expect. >>>>> >>>>> The URL is valid, put it into a browser and you get a page. >>>>> >>>>> Set the url of a browser widget and you get the page. >>>>> >>>>> I?m wondering if I need to set httpHeaders to get this to return >>> something, but have no idea what that might be. >>>>> >>>>> Has anyone experienced this before and if so, how did you work around >>> it? >>>>> >>>>> TIA, >>>>> >>>>> Steve MacLean >>>>> >>>>> LC 9.0.1 RC1 Business >>>>> >>>>> >>>>> >>>>> _______________________________________________ >>>>> use-livecode mailing list >>>>> use-livecode at 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 at 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 at 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 at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From tom at makeshyft.com Fri Aug 3 14:49:30 2018 From: tom at makeshyft.com (Tom Glod) Date: Fri, 3 Aug 2018 14:49:30 -0400 Subject: put URL oddity In-Reply-To: <5E1AB9A7-97F3-45F0-BA0E-DBE2AB4D9B6D@madmansoft.com> References: <7706D46D-8499-4A7B-9FCB-47FED7633E60@madmansoft.com> <921CED73-C989-4FD6-A4DC-7D08CCC1DFA9@madmansoft.com> <28E1968A-B893-49FD-A6D3-3C0B5287E8EB@me.com> <5E1AB9A7-97F3-45F0-BA0E-DBE2AB4D9B6D@madmansoft.com> Message-ID: i should have mentioned in you original reply... check out libURLFollowHttpRedirects in dictionary ... never had to use it but i suppose thats what its for. On Fri, Aug 3, 2018 at 2:46 PM, Stephen MacLean via use-livecode < use-livecode at lists.runrev.com> wrote: > > Thanks, I think that it is as Tom mentioned a re-direct. That site is built using wordpress, and that?s most of what WP does. > > So that begs the question, how do I get the put URL command to follow a redirect? > > Thanks, > > Steve > > > On Aug 3, 2018, at 2:41 PM, Peter Bogdanoff via use-livecode < use-livecode at lists.runrev.com> wrote: > > > > For what it?s worth: > > > > Using the URLs of the other affiliated newspaper sites at the bottom of the Milford Mirror page also don?t return anything in the message box. > > > > Peter > > > >> On Aug 3, 2018, at 11:24 AM, Tom Glod via use-livecode < use-livecode at lists.runrev.com> wrote: > >> > >> maybe the url is a redirect and your request is not following it. > >> > >> On Fri, Aug 3, 2018 at 1:49 PM, Stephen MacLean via use-livecode < > >> use-livecode at lists.runrev.com> wrote: > >> > >>> Hi Brian, > >>> > >>> Thanks for the reply, but I?m confused? the protocol is there: https:// > >>> > >>> Thanks, > >>> > >>> Steve > >>> > >>>> On Aug 3, 2018, at 1:18 PM, Brian Milby via use-livecode < > >>> use-livecode at lists.runrev.com> wrote: > >>>> > >>>> For me I have to include the protocol. So the ?http://? needs to be > >>> there to get any output. > >>>> > >>>> Thanks, > >>>> Brian > >>>> On Aug 3, 2018, 12:08 PM -0500, Stephen MacLean via use-livecode < > >>> use-livecode at lists.runrev.com>, wrote: > >>>>> Hi All, > >>>>> > >>>>> I?m experiencing at put URL oddity: > >>>>> > >>>>> Entering: put URL "https://www.google.com? into the message box > >>> returns the HtML for the google home page, which is what I expect. > >>>>> > >>>>> Entering: put URL "https://www.milfordmirror.com/? returns absolutely > >>> nothing, no errors, no content whatsoever. Just empty. Not what I expect. > >>>>> > >>>>> The URL is valid, put it into a browser and you get a page. > >>>>> > >>>>> Set the url of a browser widget and you get the page. > >>>>> > >>>>> I?m wondering if I need to set httpHeaders to get this to return > >>> something, but have no idea what that might be. > >>>>> > >>>>> Has anyone experienced this before and if so, how did you work around > >>> it? > >>>>> > >>>>> TIA, > >>>>> > >>>>> Steve MacLean > >>>>> > >>>>> LC 9.0.1 RC1 Business > >>>>> > >>>>> > >>>>> > >>>>> _______________________________________________ > >>>>> use-livecode mailing list > >>>>> use-livecode at 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 at 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 at 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 at 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 at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From smaclean at madmansoft.com Fri Aug 3 15:13:12 2018 From: smaclean at madmansoft.com (Stephen MacLean) Date: Fri, 3 Aug 2018 15:13:12 -0400 Subject: put URL oddity In-Reply-To: References: <7706D46D-8499-4A7B-9FCB-47FED7633E60@madmansoft.com> <921CED73-C989-4FD6-A4DC-7D08CCC1DFA9@madmansoft.com> <28E1968A-B893-49FD-A6D3-3C0B5287E8EB@me.com> <5E1AB9A7-97F3-45F0-BA0E-DBE2AB4D9B6D@madmansoft.com> Message-ID: Thanks Tom, it defaults to true, but even setting it, still nothing returned :( > On Aug 3, 2018, at 2:49 PM, Tom Glod via use-livecode wrote: > > i should have mentioned in you original reply... check out > libURLFollowHttpRedirects in dictionary ... never had to use it but i > suppose thats what its for. > > > On Fri, Aug 3, 2018 at 2:46 PM, Stephen MacLean via use-livecode < > use-livecode at lists.runrev.com> wrote: >> >> Thanks, I think that it is as Tom mentioned a re-direct. That site is > built using wordpress, and that?s most of what WP does. >> >> So that begs the question, how do I get the put URL command to follow a > redirect? >> >> Thanks, >> >> Steve >> >>> On Aug 3, 2018, at 2:41 PM, Peter Bogdanoff via use-livecode < > use-livecode at lists.runrev.com> wrote: >>> >>> For what it?s worth: >>> >>> Using the URLs of the other affiliated newspaper sites at the bottom of > the Milford Mirror page also don?t return anything in the message box. >>> >>> Peter >>> >>>> On Aug 3, 2018, at 11:24 AM, Tom Glod via use-livecode < > use-livecode at lists.runrev.com> wrote: >>>> >>>> maybe the url is a redirect and your request is not following it. >>>> >>>> On Fri, Aug 3, 2018 at 1:49 PM, Stephen MacLean via use-livecode < >>>> use-livecode at lists.runrev.com> wrote: >>>> >>>>> Hi Brian, >>>>> >>>>> Thanks for the reply, but I?m confused? the protocol is there: > https:// >>>>> >>>>> Thanks, >>>>> >>>>> Steve >>>>> >>>>>> On Aug 3, 2018, at 1:18 PM, Brian Milby via use-livecode < >>>>> use-livecode at lists.runrev.com> wrote: >>>>>> >>>>>> For me I have to include the protocol. So the ?http://? needs to be >>>>> there to get any output. >>>>>> >>>>>> Thanks, >>>>>> Brian >>>>>> On Aug 3, 2018, 12:08 PM -0500, Stephen MacLean via use-livecode < >>>>> use-livecode at lists.runrev.com>, wrote: >>>>>>> Hi All, >>>>>>> >>>>>>> I?m experiencing at put URL oddity: >>>>>>> >>>>>>> Entering: put URL "https://www.google.com? into the message box >>>>> returns the HtML for the google home page, which is what I expect. >>>>>>> >>>>>>> Entering: put URL "https://www.milfordmirror.com/? returns > absolutely >>>>> nothing, no errors, no content whatsoever. Just empty. Not what I > expect. >>>>>>> >>>>>>> The URL is valid, put it into a browser and you get a page. >>>>>>> >>>>>>> Set the url of a browser widget and you get the page. >>>>>>> >>>>>>> I?m wondering if I need to set httpHeaders to get this to return >>>>> something, but have no idea what that might be. >>>>>>> >>>>>>> Has anyone experienced this before and if so, how did you work > around >>>>> it? >>>>>>> >>>>>>> TIA, >>>>>>> >>>>>>> Steve MacLean >>>>>>> >>>>>>> LC 9.0.1 RC1 Business >>>>>>> >>>>>>> >>>>>>> >>>>>>> _______________________________________________ >>>>>>> use-livecode mailing list >>>>>>> use-livecode at 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 at 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 at 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 at 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 at 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 at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From smaclean at madmansoft.com Fri Aug 3 15:45:42 2018 From: smaclean at madmansoft.com (Stephen MacLean) Date: Fri, 3 Aug 2018 15:45:42 -0400 Subject: put URL oddity In-Reply-To: References: <7706D46D-8499-4A7B-9FCB-47FED7633E60@madmansoft.com> <921CED73-C989-4FD6-A4DC-7D08CCC1DFA9@madmansoft.com> <28E1968A-B893-49FD-A6D3-3C0B5287E8EB@me.com> <5E1AB9A7-97F3-45F0-BA0E-DBE2AB4D9B6D@madmansoft.com> Message-ID: <393F8AA7-2DB5-4C50-A28C-DA8AD5E3E618@madmansoft.com> Ok, so dug a bit deeper into this using TSNet. the result I?m getting back is: tsneterr: (35) SSL peer handshake failed, the server most likely requires a client certificate to connect So it looks like the connection itself is being rejected. Some googling came across some of the same issues with CURL, which IRC, TSNet uses?? Adding tsNetVerifySSLPeer false to disable SSL peer verification doesn?t help either. Doesn?t solve the problem either. Help from Charles W or someone else would be greatly appreciated. Thanks, Steve MacLean > On Aug 3, 2018, at 3:13 PM, Stephen MacLean via use-livecode wrote: > > Thanks Tom, it defaults to true, but even setting it, still nothing returned :( > >> On Aug 3, 2018, at 2:49 PM, Tom Glod via use-livecode wrote: >> >> i should have mentioned in you original reply... check out >> libURLFollowHttpRedirects in dictionary ... never had to use it but i >> suppose thats what its for. >> >> >>>>>> >>>>>>>> Hi All, >>>>>>>> >>>>>>>> I?m experiencing at put URL oddity: >>>>>>>> >>>>>>>> Entering: put URL "https://www.google.com? into the message box >>>>>> returns the HtML for the google home page, which is what I expect. >>>>>>>> >>>>>>>> Entering: put URL "https://www.milfordmirror.com/? returns >> absolutely >>>>>> nothing, no errors, no content whatsoever. Just empty. Not what I >> expect. >>>>>>>> >>>>>>>> The URL is valid, put it into a browser and you get a page. >>>>>>>> >>>>>>>> Set the url of a browser widget and you get the page. >>>>>>>> >>>>>>>> I?m wondering if I need to set httpHeaders to get this to return >>>>>> something, but have no idea what that might be. >>>>>>>> >>>>>>>> Has anyone experienced this before and if so, how did you work >> around >>>>>> it? >>>>>>>> >>>>>>>> TIA, >>>>>>>> >>>>>>>> Steve MacLean >>>>>>>> >>>>>>>> LC 9.0.1 RC1 Business >>>>>>>> From brian at milby7.com Fri Aug 3 15:46:32 2018 From: brian at milby7.com (Brian Milby) Date: Fri, 3 Aug 2018 14:46:32 -0500 Subject: put URL oddity In-Reply-To: References: <7706D46D-8499-4A7B-9FCB-47FED7633E60@madmansoft.com> <921CED73-C989-4FD6-A4DC-7D08CCC1DFA9@madmansoft.com> <28E1968A-B893-49FD-A6D3-3C0B5287E8EB@me.com> <5E1AB9A7-97F3-45F0-BA0E-DBE2AB4D9B6D@madmansoft.com> Message-ID: <4c2bcf44-2b09-4f80-9349-a2e772134baa@Spark> Pretty strange as I do get a response from both http and https On Aug 3, 2018, 2:13 PM -0500, Stephen MacLean via use-livecode , wrote: > Thanks Tom, it defaults to true, but even setting it, still nothing returned :( > > > On Aug 3, 2018, at 2:49 PM, Tom Glod via use-livecode wrote: > > > > i should have mentioned in you original reply... check out > > libURLFollowHttpRedirects in dictionary ... never had to use it but i > > suppose thats what its for. > > > > > > On Fri, Aug 3, 2018 at 2:46 PM, Stephen MacLean via use-livecode < > > use-livecode at lists.runrev.com> wrote: > > > > > > Thanks, I think that it is as Tom mentioned a re-direct. That site is > > built using wordpress, and that?s most of what WP does. > > > > > > So that begs the question, how do I get the put URL command to follow a > > redirect? > > > > > > Thanks, > > > > > > Steve > > > > > > > On Aug 3, 2018, at 2:41 PM, Peter Bogdanoff via use-livecode < > > use-livecode at lists.runrev.com> wrote: > > > > > > > > For what it?s worth: > > > > > > > > Using the URLs of the other affiliated newspaper sites at the bottom of > > the Milford Mirror page also don?t return anything in the message box. > > > > > > > > Peter > > > > > > > > > On Aug 3, 2018, at 11:24 AM, Tom Glod via use-livecode < > > use-livecode at lists.runrev.com> wrote: > > > > > > > > > > maybe the url is a redirect and your request is not following it. > > > > > > > > > > On Fri, Aug 3, 2018 at 1:49 PM, Stephen MacLean via use-livecode < > > > > > use-livecode at lists.runrev.com> wrote: > > > > > > > > > > > Hi Brian, > > > > > > > > > > > > Thanks for the reply, but I?m confused? the protocol is there: > > https:// > > > > > > > > > > > > Thanks, > > > > > > > > > > > > Steve > > > > > > > > > > > > > On Aug 3, 2018, at 1:18 PM, Brian Milby via use-livecode < > > > > > > use-livecode at lists.runrev.com> wrote: > > > > > > > > > > > > > > For me I have to include the protocol. So the ?http://? needs to be > > > > > > there to get any output. > > > > > > > > > > > > > > Thanks, > > > > > > > Brian > > > > > > > On Aug 3, 2018, 12:08 PM -0500, Stephen MacLean via use-livecode < > > > > > > use-livecode at lists.runrev.com>, wrote: > > > > > > > > Hi All, > > > > > > > > > > > > > > > > I?m experiencing at put URL oddity: > > > > > > > > > > > > > > > > Entering: put URL "https://www.google.com? into the message box > > > > > > returns the HtML for the google home page, which is what I expect. > > > > > > > > > > > > > > > > Entering: put URL "https://www.milfordmirror.com/? returns > > absolutely > > > > > > nothing, no errors, no content whatsoever. Just empty. Not what I > > expect. > > > > > > > > > > > > > > > > The URL is valid, put it into a browser and you get a page. > > > > > > > > > > > > > > > > Set the url of a browser widget and you get the page. > > > > > > > > > > > > > > > > I?m wondering if I need to set httpHeaders to get this to return > > > > > > something, but have no idea what that might be. > > > > > > > > > > > > > > > > Has anyone experienced this before and if so, how did you work > > around > > > > > > it? > > > > > > > > > > > > > > > > TIA, > > > > > > > > > > > > > > > > Steve MacLean > > > > > > > > > > > > > > > > LC 9.0.1 RC1 Business > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > _______________________________________________ > > > > > > > > use-livecode mailing list > > > > > > > > use-livecode at 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 at 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 at 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 at 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 at 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 at 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 at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From ahsoftware at sonic.net Fri Aug 3 15:54:29 2018 From: ahsoftware at sonic.net (Mark Wieder) Date: Fri, 3 Aug 2018 12:54:29 -0700 Subject: put URL oddity In-Reply-To: <7706D46D-8499-4A7B-9FCB-47FED7633E60@madmansoft.com> References: <7706D46D-8499-4A7B-9FCB-47FED7633E60@madmansoft.com> Message-ID: <0fc6b9b2-fbc7-f35d-8c5f-842ec9b3998b@sonic.net> On 08/03/2018 10:07 AM, Stephen MacLean via use-livecode wrote: > Hi All, > > I?m experiencing at put URL oddity: > > Entering: put URL "https://www.google.com? into the message box returns the HtML for the google home page, which is what I expect. > > Entering: put URL "https://www.milfordmirror.com/? returns absolutely nothing, no errors, no content whatsoever. Just empty. Not what I expect. Using Chrome's developer tools I can see no redirection going on here. Watch your use of double quotes there. Your final character is a 'smart' quote (%E2). If I fix that then the put statement works fine. -- Mark Wieder ahsoftware at gmail.com From smaclean at madmansoft.com Fri Aug 3 16:12:34 2018 From: smaclean at madmansoft.com (Stephen MacLean) Date: Fri, 3 Aug 2018 16:12:34 -0400 Subject: put URL oddity In-Reply-To: <0fc6b9b2-fbc7-f35d-8c5f-842ec9b3998b@sonic.net> References: <7706D46D-8499-4A7B-9FCB-47FED7633E60@madmansoft.com> <0fc6b9b2-fbc7-f35d-8c5f-842ec9b3998b@sonic.net> Message-ID: > On Aug 3, 2018, at 3:54 PM, Mark Wieder via use-livecode wrote: > > On 08/03/2018 10:07 AM, Stephen MacLean via use-livecode wrote: >> Hi All, >> I?m experiencing at put URL oddity: >> Entering: put URL "https://www.google.com? into the message box returns the HtML for the google home page, which is what I expect. >> Entering: put URL "https://www.milfordmirror.com/? returns absolutely nothing, no errors, no content whatsoever. Just empty. Not what I expect. > > Using Chrome's developer tools I can see no redirection going on here. > > Watch your use of double quotes there. Your final character is a 'smart' quote (%E2). If I fix that then the put statement works fine. > Thanks Mark, but that quote here is a regular quote. And I get nothing, even if I type the whole thing into the message box, which is what I?ve been doing to test. Using Charles W?s neat little tools for debugging requests (https://downloads.techstrategies.com.au/tsnet/debug_liburl.livecode ) I get that error: _proxyForURL_proxyForURL end with none foundProxy for URL: Rebuilt URL to: https://www.milfordmirror.com/ Hostname www.milfordmirror.com was found in DNS cache Trying 104.31.78.67... TCP_NODELAY set Connected to www.milfordmirror.com (104.31.78.67) port 443 (#50) WARNING: disabling hostname validation also disables SNI. SSL re-using session ID SSL peer handshake failed, the server most likely requires a client certificate to connect Closing connection 50 Using his tool for TS Net (https://downloads.techstrategies.com.au/tsnet/sample_sync_stack.livecode) I get: tsneterr: (35) SSL peer handshake failed, the server most likely requires a client certificate to connect I?m all for figuring this out, but something seems to be very different between our results. Quitting LC has no effect as well. I?m running MacOS 10.12.6 Thanks, Steve From smaclean at madmansoft.com Fri Aug 3 16:23:49 2018 From: smaclean at madmansoft.com (Stephen MacLean) Date: Fri, 3 Aug 2018 16:23:49 -0400 Subject: put URL oddity In-Reply-To: References: <7706D46D-8499-4A7B-9FCB-47FED7633E60@madmansoft.com> <0fc6b9b2-fbc7-f35d-8c5f-842ec9b3998b@sonic.net> Message-ID: On Aug 3, 2018, at 4:12 PM, Stephen MacLean via use-livecode wrote: > > >> On Aug 3, 2018, at 3:54 PM, Mark Wieder via use-livecode wrote: >> >> On 08/03/2018 10:07 AM, Stephen MacLean via use-livecode wrote: >>> Hi All, >>> I?m experiencing at put URL oddity: >>> Entering: put URL "https://www.google.com? into the message box returns the HtML for the google home page, which is what I expect. >>> Entering: put URL "https://www.milfordmirror.com/? returns absolutely nothing, no errors, no content whatsoever. Just empty. Not what I expect. >> >> Using Chrome's developer tools I can see no redirection going on here. >> >> Watch your use of double quotes there. Your final character is a 'smart' quote (%E2). If I fix that then the put statement works fine. >> > > Thanks Mark, but that quote here is a regular quote. And I get nothing, even if I type the whole thing into the message box, which is what I?ve been doing to test. > > Using Charles W?s neat little tools for debugging requests (https://downloads.techstrategies.com.au/tsnet/debug_liburl.livecode ) I get that error: > > _proxyForURL_proxyForURL end with none foundProxy for URL: > Rebuilt URL to: https://www.milfordmirror.com/ > > Hostname www.milfordmirror.com was found in DNS cache > > Trying 104.31.78.67... > > TCP_NODELAY set > > Connected to www.milfordmirror.com (104.31.78.67) port 443 (#50) > > WARNING: disabling hostname validation also disables SNI. > > SSL re-using session ID > > SSL peer handshake failed, the server most likely requires a client certificate to connect > > Closing connection 50 > > Using his tool for TS Net (https://downloads.techstrategies.com.au/tsnet/sample_sync_stack.livecode) I get: > > tsneterr: (35) SSL peer handshake failed, the server most likely requires a client certificate to connect > > I?m all for figuring this out, but something seems to be very different between our results. > > Quitting LC has no effect as well. > > I?m running MacOS 10.12.6 > > Ok, found it! In this case, you must set: libURLSetSSLVerification true Otherwise you get that error, and in my case, nothing is returned, not even the error, at least with out using that tool. Grrr!!! In a world where not everyone is using SSL even today, or using it properly, this is always going to be a problem? Ah well! Thanks for all the help everyone!!! Best, Steve From bobsneidar at iotecdigital.com Fri Aug 3 16:40:45 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Fri, 3 Aug 2018 20:40:45 +0000 Subject: put URL oddity In-Reply-To: References: <7706D46D-8499-4A7B-9FCB-47FED7633E60@madmansoft.com> <0fc6b9b2-fbc7-f35d-8c5f-842ec9b3998b@sonic.net> Message-ID: <21D764A9-C313-49E6-88BF-F9625AAAF8FF@iotecdigital.com> And we want to send men to another solar system! Can you imagine 8 years out, you need to make a minor course adjustment, but the computer keeps saying the certificate is expired?? Bob S > On Aug 3, 2018, at 13:23 , Stephen MacLean via use-livecode wrote: > > Ok, found it! In this case, you must set: > > libURLSetSSLVerification true > > Otherwise you get that error, and in my case, nothing is returned, not even the error, at least with out using that tool. > > Grrr!!! In a world where not everyone is using SSL even today, or using it properly, this is always going to be a problem? Ah well! > > Thanks for all the help everyone!!! > > Best, > > Steve From smaclean at madmansoft.com Fri Aug 3 16:45:11 2018 From: smaclean at madmansoft.com (Stephen MacLean) Date: Fri, 3 Aug 2018 16:45:11 -0400 Subject: put URL oddity In-Reply-To: <21D764A9-C313-49E6-88BF-F9625AAAF8FF@iotecdigital.com> References: <7706D46D-8499-4A7B-9FCB-47FED7633E60@madmansoft.com> <0fc6b9b2-fbc7-f35d-8c5f-842ec9b3998b@sonic.net> <21D764A9-C313-49E6-88BF-F9625AAAF8FF@iotecdigital.com> Message-ID: <6D32D09B-6E4A-4E58-9F6D-6B6C27883655@madmansoft.com> Yes, what a nightmare! This is going to be a nightmare for years to come? I understand the desire for secure communications, but it?s not always required or even beneficial. Just as those astronauts had better have a fall back plan, so should we:) Steve > On Aug 3, 2018, at 4:40 PM, Bob Sneidar via use-livecode wrote: > > And we want to send men to another solar system! Can you imagine 8 years out, you need to make a minor course adjustment, but the computer keeps saying the certificate is expired?? > > Bob S > > >> On Aug 3, 2018, at 13:23 , Stephen MacLean via use-livecode wrote: >> >> Ok, found it! In this case, you must set: >> >> libURLSetSSLVerification true >> >> Otherwise you get that error, and in my case, nothing is returned, not even the error, at least with out using that tool. >> >> Grrr!!! In a world where not everyone is using SSL even today, or using it properly, this is always going to be a problem? Ah well! >> >> Thanks for all the help everyone!!! >> >> Best, >> >> Steve > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From bobsneidar at iotecdigital.com Fri Aug 3 16:51:48 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Fri, 3 Aug 2018 20:51:48 +0000 Subject: put URL oddity In-Reply-To: <6D32D09B-6E4A-4E58-9F6D-6B6C27883655@madmansoft.com> References: <7706D46D-8499-4A7B-9FCB-47FED7633E60@madmansoft.com> <0fc6b9b2-fbc7-f35d-8c5f-842ec9b3998b@sonic.net> <21D764A9-C313-49E6-88BF-F9625AAAF8FF@iotecdigital.com> <6D32D09B-6E4A-4E58-9F6D-6B6C27883655@madmansoft.com> Message-ID: <8BBBC59A-D829-4A82-A54D-CFABB1A15460@iotecdigital.com> When working with web servers, encryption is in fact ALWAYS required, because if someone can get at your web server they can plant drive by malware. Anything exposed to the internet requires modern encryption, and it can be argued that anything exposed to ANY network requires it. The alternative would have been to form an international squad of specialized assasins to hunt down every known hacker and purveyor of malware, and leave their tortured maimed bodies on the steps of the capital buildings of wherever they are from, so everyone gets the message. Unfortunately, the legal ramifications would have been too much to overcome. Bob S > On Aug 3, 2018, at 13:45 , Stephen MacLean via use-livecode wrote: > > Yes, what a nightmare! > > This is going to be a nightmare for years to come? I understand the desire for secure communications, but it?s not always required or even beneficial. > > Just as those astronauts had better have a fall back plan, so should we:) > > Steve From smaclean at madmansoft.com Fri Aug 3 17:14:25 2018 From: smaclean at madmansoft.com (Stephen MacLean) Date: Fri, 3 Aug 2018 17:14:25 -0400 Subject: put URL oddity In-Reply-To: <8BBBC59A-D829-4A82-A54D-CFABB1A15460@iotecdigital.com> References: <7706D46D-8499-4A7B-9FCB-47FED7633E60@madmansoft.com> <0fc6b9b2-fbc7-f35d-8c5f-842ec9b3998b@sonic.net> <21D764A9-C313-49E6-88BF-F9625AAAF8FF@iotecdigital.com> <6D32D09B-6E4A-4E58-9F6D-6B6C27883655@madmansoft.com> <8BBBC59A-D829-4A82-A54D-CFABB1A15460@iotecdigital.com> Message-ID: While *verified* encryption may be ?required? by the major browsers and others for preventing "Man In the Middle? attacks, it?s still a hair ball that a lot of sites still haven?t figured out properly? and THAT is the big problem. Cost, expertise, hosting, maintenance of certs, etc. all contribute to it not being the standard that folks would like it to be. Free certs and tools to make it easier to implement are helping, but there is a long way to go. I?m sure it will get there at some point. I am glad to see that LC is supporting the verification of certs, good stuff. A few years ago, I ran into an issue where it couldn?t verify a valid, verified cert from a major vendor. I do like your idea though;) Steve > On Aug 3, 2018, at 4:51 PM, Bob Sneidar via use-livecode wrote: > > When working with web servers, encryption is in fact ALWAYS required, because if someone can get at your web server they can plant drive by malware. Anything exposed to the internet requires modern encryption, and it can be argued that anything exposed to ANY network requires it. > > The alternative would have been to form an international squad of specialized assasins to hunt down every known hacker and purveyor of malware, and leave their tortured maimed bodies on the steps of the capital buildings of wherever they are from, so everyone gets the message. Unfortunately, the legal ramifications would have been too much to overcome. > > Bob S > > >> On Aug 3, 2018, at 13:45 , Stephen MacLean via use-livecode wrote: >> >> Yes, what a nightmare! >> >> This is going to be a nightmare for years to come? I understand the desire for secure communications, but it?s not always required or even beneficial. >> >> Just as those astronauts had better have a fall back plan, so should we:) >> >> Steve > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From jacque at hyperactivesw.com Fri Aug 3 17:53:13 2018 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Fri, 3 Aug 2018 16:53:13 -0500 Subject: Move command on iOS Message-ID: Anyone else having trouble with the move command on iOS? I'm sliding a group into view, which works the first time, and after that it starts to move and then immediately jumps to its destination without any animation. It works fine in the IDE. AccleratedRendering is true and the group layermode is "dynamic". I don't have an actual phone to try it on, so maybe this is a simulator problem? -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com From bobsneidar at iotecdigital.com Fri Aug 3 17:56:47 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Fri, 3 Aug 2018 21:56:47 +0000 Subject: Drag Drop State of Affairs In-Reply-To: <0bc1784f-1286-297c-0c3e-b01f191f224f@hyperactivesw.com> References: <2A2E7C1B-B38C-4D54-BF2A-132A665BBFA3@iotecdigital.com> <0bc1784f-1286-297c-0c3e-b01f191f224f@hyperactivesw.com> Message-ID: <067630F2-A50D-41E3-B0D5-8EDDF6E61E4F@iotecdigital.com> I'll check that. I'll put the defaultStack before the operation and then after and see if it changes. Bob S > On Aug 3, 2018, at 11:42 , J. Landman Gay via use-livecode wrote: > > Could the defaultstack have changed? It sounds a bit like that. From bonnmike at gmail.com Fri Aug 3 18:02:29 2018 From: bonnmike at gmail.com (Mike Bonner) Date: Fri, 3 Aug 2018 16:02:29 -0600 Subject: Using the $_POST global in LiveCode server In-Reply-To: References: <5B6387A4.2010304@tkf.att.ne.jp> <5B63997C.1060901@tkf.att.ne.jp> Message-ID: Still haven't got a test set up. So trying the quicker easier way.. Hey everyone, in which versions of server are sessions not broken? On Thu, Aug 2, 2018 at 6:17 PM Mike Bonner wrote: > Version 7.1.0 doesn't seem to work. (the version used by on-rev.) Pretty > sure its been in this non-working condition for a while. (again, my faulty > memory might be wrong) I'll try and set up a test for later versions, but > pretty sure things were still working in the 6.x range of server engines. > > On Thu, Aug 2, 2018 at 6:03 PM Mike Bonner wrote: > >> Its been a while since I messed with sessions, but that looks right. I >> seem to vaguely remember that there is some version of LC server where >> sessions is broken, but I can't recall for sure. What version of server >> are you running? (IIRC sessions was implemented some time around 4.6.3? >> And a later version was broken and later fixed) I'll see if I can relocate >> the info. >> >> On Thu, Aug 2, 2018 at 5:53 PM Tim Selander via use-livecode < >> use-livecode at lists.runrev.com> wrote: >> >>> Thanks, Mike. >>> >>> This seemed like a good hint/possible solution. >>> > Another though has just occurred to me also.. If you use session >>> > variables, you can store the search term in the session, and since the >>> > browser will re-post on reload, if $_POST and your session variable >>> contain >>> > the same search term, its possible (likely?) that it was a reload >>> rather >>> > than a new search, then don't do the search. Not sure if this is >>> helpful, >>> However, when I tried >>> >> start session >>> put "test" into $_SESSION["keyword"] >>> put $_SESSION[keyword] >>> stop session >>> ?> >>> and the server returned the error >>> >>> file "/home/pba/public_html/lifelinesearch.lc" >>> row 2, col 1: >>> >>> This snippet is at the very top of the page, so row 2 is "start session." >>> >>> Am I misundertanding the syntax of 'session'? >>> >>> Thanks, >>> >>> Tim >>> >>> >>> >>> _______________________________________________ >>> use-livecode mailing list >>> use-livecode at lists.runrev.com >>> Please visit this url to subscribe, unsubscribe and manage your >>> subscription preferences: >>> http://lists.runrev.com/mailman/listinfo/use-livecode >>> >> From bobsneidar at iotecdigital.com Fri Aug 3 18:20:32 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Fri, 3 Aug 2018 22:20:32 +0000 Subject: Drag Drop State of Affairs In-Reply-To: <067630F2-A50D-41E3-B0D5-8EDDF6E61E4F@iotecdigital.com> References: <2A2E7C1B-B38C-4D54-BF2A-132A665BBFA3@iotecdigital.com> <0bc1784f-1286-297c-0c3e-b01f191f224f@hyperactivesw.com> <067630F2-A50D-41E3-B0D5-8EDDF6E61E4F@iotecdigital.com> Message-ID: <25F22EEA-07B4-4BE0-8A84-C00BCEB355F2@iotecdigital.com> No tamalies Jacque. With the stack unresponsive, I type "put the short name of the defaultStack" into the message box and it's correct. Bob S > On Aug 3, 2018, at 14:56 , Bob Sneidar via use-livecode wrote: > > I'll check that. I'll put the defaultStack before the operation and then after and see if it changes. > > Bob S From ahsoftware at sonic.net Fri Aug 3 18:54:40 2018 From: ahsoftware at sonic.net (Mark Wieder) Date: Fri, 3 Aug 2018 15:54:40 -0700 Subject: valueDiff for arrays? In-Reply-To: References: Message-ID: <10161fab-d733-c0ae-dadf-2814172461ef@sonic.net> On 08/03/2018 10:40 AM, Richard Gaskin via use-livecode wrote: > We have a command for obtaining the difference between arrays, where > "difference" is defined as having different keys. > > What I could use at the moment is a means of obtaining an array which is > the difference is both keys present in one but not in the other, and > values that are different for those elements where they keys are present > in both. Considering how easy the first part is to code, I doubt a feature request would get a second glance. function arrayDifferences pArray1, pArray2 local tDiff1, tDiff2, tDiffs difference pArray1 with pArray2 into tDiff1 difference pArray2 with pArray1 into tDiff2 union tDiff1 with tDiff2 into tDiffs return tDiffs end arrayDifferences For the second part, I'm not sure what the output would look like... do you want an array with duplicate keys? A multidimensional array with the same keys in each but different values? What's the use case? -- Mark Wieder ahsoftware at gmail.com From monte at appisle.net Fri Aug 3 19:10:29 2018 From: monte at appisle.net (Monte Goulding) Date: Sat, 4 Aug 2018 09:10:29 +1000 Subject: CEF browser question In-Reply-To: References: Message-ID: > On 4 Aug 2018, at 2:35 am, prothero--- via use-livecode wrote: > > As I was working on and testing the browser widget, which seemed to fail when tested on my iPhone, I thought the problem was with the browser widget, but it turned out to be that I was trying to link to a web site that wouldn?t let me load it because I was using a vpn on my iPhone. The vpn wouldn?t let them load their tracker. Nasty. As Ralph mentioned you are likely hitting ATS issues so try disabling that. Not sure who?s tracker you are referring to. > > So, I thought it was a browser problem and looked into using the CEF browser. Docs say it is no longer supported in LC9 versions, but I see the entry in the inclusions. Is there a reason this inclusion is relevant, or am I missing something? CEF is no longer supported in revBrowser or the browser widget on mac but is still used for the browser widget on windows and linux. It has never been used on iOS and I don?t think ever will be. Cheers Monte From brian at milby7.com Fri Aug 3 19:26:35 2018 From: brian at milby7.com (Brian Milby) Date: Fri, 3 Aug 2018 18:26:35 -0500 Subject: valueDiff for arrays? In-Reply-To: <10161fab-d733-c0ae-dadf-2814172461ef@sonic.net> References: <10161fab-d733-c0ae-dadf-2814172461ef@sonic.net> Message-ID: "symmetric difference" will get you the first part (unique keys) You could shorten the compare loop by using "intersect" (to get common keys) function getKeys pLeft, pRight local tIntersect, tResult intersect pLeft with pRight into tIntersect repeat for each key tKey in tIntersect if pLeft[tKey] is not pRight[tKey] then delete variable pRight[tKey] end if end repeat symmetric difference pLeft with pRight into tResult return the keys of tResult end getKeys On Fri, Aug 3, 2018 at 5:54 PM, Mark Wieder via use-livecode < use-livecode at lists.runrev.com> wrote: > On 08/03/2018 10:40 AM, Richard Gaskin via use-livecode wrote: > >> We have a command for obtaining the difference between arrays, where >> "difference" is defined as having different keys. >> >> What I could use at the moment is a means of obtaining an array which is >> the difference is both keys present in one but not in the other, and values >> that are different for those elements where they keys are present in both. >> > > Considering how easy the first part is to code, I doubt a feature request > would get a second glance. > > function arrayDifferences pArray1, pArray2 > local tDiff1, tDiff2, tDiffs > > difference pArray1 with pArray2 into tDiff1 > difference pArray2 with pArray1 into tDiff2 > union tDiff1 with tDiff2 into tDiffs > return tDiffs > end arrayDifferences > > For the second part, I'm not sure what the output would look like... do > you want an array with duplicate keys? A multidimensional array with the > same keys in each but different values? What's the use case? > > -- > Mark Wieder > ahsoftware at gmail.com > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From brian at milby7.com Fri Aug 3 19:29:39 2018 From: brian at milby7.com (Brian Milby) Date: Fri, 3 Aug 2018 18:29:39 -0500 Subject: valueDiff for arrays? In-Reply-To: References: <10161fab-d733-c0ae-dadf-2814172461ef@sonic.net> Message-ID: (As Mark said, if the values are different, which value would you want in the array?) From andrew at midwestcoastmedia.com Fri Aug 3 19:49:30 2018 From: andrew at midwestcoastmedia.com (MWCM) Date: Fri, 3 Aug 2018 19:49:30 -0400 Subject: Move command on iOS In-Reply-To: References: Message-ID: Are you testing in iOS 12? This is the exact problem I?m having (that Monte just patched today). Sounds like it should be fixed in 9.0.1.rc2 --Andrew Bell --Sent from my iPhone >>>>>>> > From: "J. Landman Gay" > To: LiveCode Mailing List > Subject: Move command on iOS > Message-ID: > Content-Type: text/plain; charset=utf-8; format=flowed > > Anyone else having trouble with the move command on iOS? I'm sliding a > group into view, which works the first time, and after that it starts to > move and then immediately jumps to its destination without any > animation. It works fine in the IDE. > > AccleratedRendering is true and the group layermode is "dynamic". I > don't have an actual phone to try it on, so maybe this is a simulator > problem? > > -- > Jacqueline Landman Gay | jacque at hyperactivesw.com > HyperActive Software | http://www.hyperactivesw.com > From ahsoftware at sonic.net Fri Aug 3 19:54:17 2018 From: ahsoftware at sonic.net (Mark Wieder) Date: Fri, 3 Aug 2018 16:54:17 -0700 Subject: valueDiff for arrays? In-Reply-To: References: <10161fab-d733-c0ae-dadf-2814172461ef@sonic.net> Message-ID: On 08/03/2018 04:26 PM, Brian Milby via use-livecode wrote: > "symmetric difference" will get you the first part (unique keys) Nice. One-stop shopping. > > You could shorten the compare loop by using "intersect" (to get common keys) > > > function getKeys pLeft, pRight > local tIntersect, tResult > > intersect pLeft with pRight into tIntersect > repeat for each key tKey in tIntersect > if pLeft[tKey] is not pRight[tKey] then > delete variable pRight[tKey] > end if > end repeat > > symmetric difference pLeft with pRight into tResult > return the keys of tResult > end getKeys I think Richard was aiming for (if I can put words in his mouth here) the set of just the elements with duplicate keys but different values. Here's my take on that, returning an array with two subarrays: function getKeys pLeft, pRight local tIntersect, tResult intersect pLeft with pRight into tIntersect repeat for each key tKey in tIntersect if pLeft[tKey] is pRight[tKey] then delete variable pRight[tKey] end if end repeat put tIntersect into tResult["left"] intersect pRight with tIntersect into tResult["right"] return tResult end getKeys -- Mark Wieder ahsoftware at gmail.com From jacque at hyperactivesw.com Fri Aug 3 19:54:57 2018 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Fri, 03 Aug 2018 18:54:57 -0500 Subject: Drag Drop State of Affairs In-Reply-To: <25F22EEA-07B4-4BE0-8A84-C00BCEB355F2@iotecdigital.com> References: <2A2E7C1B-B38C-4D54-BF2A-132A665BBFA3@iotecdigital.com> <0bc1784f-1286-297c-0c3e-b01f191f224f@hyperactivesw.com> <067630F2-A50D-41E3-B0D5-8EDDF6E61E4F@iotecdigital.com> <25F22EEA-07B4-4BE0-8A84-C00BCEB355F2@iotecdigital.com> Message-ID: <16502373468.2783.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> Try checking the topstack, that's another one that sometimes resets. -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com On August 3, 2018 5:22:36 PM Bob Sneidar via use-livecode wrote: > No tamalies Jacque. With the stack unresponsive, I type "put the short name > of the defaultStack" into the message box and it's correct. > > Bob S > > >> On Aug 3, 2018, at 14:56 , Bob Sneidar via use-livecode >> wrote: >> >> I'll check that. I'll put the defaultStack before the operation and then >> after and see if it changes. >> >> Bob S > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From brian at milby7.com Fri Aug 3 20:16:47 2018 From: brian at milby7.com (Brian Milby) Date: Fri, 3 Aug 2018 19:16:47 -0500 Subject: valueDiff for arrays? In-Reply-To: References: <10161fab-d733-c0ae-dadf-2814172461ef@sonic.net> Message-ID: I was kind of thinking along those lines too - if the values were wanted. Looking at "MCArraysDoUnion" in exec-array.cpp, it would be pretty simple to add code that would do a modified union. The only thing removed would be matching keys with matching values. That is only if you want to keep the pLeft values though. If you need to preserve both values or indicate which keys had differing values, then it is more complicated. The code to add the syntax and other stuff isn't something I know off hand, but wouldn't be too difficult. Of course, then we have to figure out what to name the beast too... On Fri, Aug 3, 2018 at 6:54 PM, Mark Wieder via use-livecode < use-livecode at lists.runrev.com> wrote: > On 08/03/2018 04:26 PM, Brian Milby via use-livecode wrote: > >> "symmetric difference" will get you the first part (unique keys) >> > > Nice. One-stop shopping. > > >> You could shorten the compare loop by using "intersect" (to get common >> keys) >> >> >> function getKeys pLeft, pRight >> local tIntersect, tResult >> >> intersect pLeft with pRight into tIntersect >> repeat for each key tKey in tIntersect >> if pLeft[tKey] is not pRight[tKey] then >> delete variable pRight[tKey] >> end if >> end repeat >> >> symmetric difference pLeft with pRight into tResult >> return the keys of tResult >> end getKeys >> > > I think Richard was aiming for (if I can put words in his mouth here) the > set of just the elements with duplicate keys but different values. Here's > my take on that, returning an array with two subarrays: > > function getKeys pLeft, pRight > local tIntersect, tResult > > intersect pLeft with pRight into tIntersect > repeat for each key tKey in tIntersect > if pLeft[tKey] is pRight[tKey] then > delete variable pRight[tKey] > end if > end repeat > put tIntersect into tResult["left"] > intersect pRight with tIntersect into tResult["right"] > return tResult > end getKeys > > > > -- > Mark Wieder > ahsoftware at gmail.com > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From monte at appisle.net Fri Aug 3 20:18:51 2018 From: monte at appisle.net (Monte Goulding) Date: Sat, 4 Aug 2018 10:18:51 +1000 Subject: Move command on iOS In-Reply-To: References: Message-ID: <534AA524-4DD7-4361-B12E-26A554F301C1@appisle.net> Hmm? I patched the crash at startup when not in acceleratedRendering mode for iOS 12. I don?t think it will have much to do with the move command in acceleratedRendering mode. I did recently fix something in acceleratedRendering mode in a stack that had a group coming in from the side that was doing some relayering? Oh? it?s possibly feasible that this is a manifestation of the redraw issue that Brahma found with groups. Could someone open a report with a sample stack and I can check if it?s working... > On 4 Aug 2018, at 9:49 am, MWCM via use-livecode wrote: > > Are you testing in iOS 12? This is the exact problem I?m having (that Monte just patched today). > > Sounds like it should be fixed in 9.0.1.rc2 From bogdanoff at me.com Fri Aug 3 20:29:25 2018 From: bogdanoff at me.com (Peter Bogdanoff) Date: Fri, 03 Aug 2018 17:29:25 -0700 Subject: A poor man's app updater In-Reply-To: <337a5934-3170-65c8-a78e-1c004b73dbee@researchware.com> References: <0818e589-36b8-632d-68d1-2bbb004defcc@hyperactivesw.com> <337a5934-3170-65c8-a78e-1c004b73dbee@researchware.com> Message-ID: <582EAC7E-E2E5-4767-955E-18A7C92DDE75@me.com> So, to store and access LC stacks and other files used by myApp that must be periodically updated, does it make sense to put them into macOS?Library/Application Support/myApp Win?user/AppData/myApp rather than in Applications or Program Files? Are there any restrictions or downside to this? Peter > On Aug 3, 2018, at 5:14 AM, Paul Dupuis via use-livecode wrote: > > On 8/3/2018 2:32 AM, Peter Bogdanoff via use-livecode wrote: >> Hi, >> >> To raise the issue again of updating Mac and Windows apps, I?m referencing this thread between Graham and Jacqueline... >> >> Can existing files in the user?s application directory be saved/modified/replaced by my application? >> > > The accurate answer is that it all depends upon the permissions of the > account running the software. Typically for most personal or home > computers, the user has administrative privs, but that is increasingly > not the case on university or company owned computers. On these, they > may not have permission to alter files in the Program Files (Win) or > Applications (OSX) folders. > > In some cases, again depending on OS and permissions, you can alter the > folders contents directly. In others you application must launch a > process (another app) with elevated privs, where the OS asks the user > for permissions for the elevated privs, and then that app (if allowed) > can make changes. > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From monte at appisle.net Fri Aug 3 20:40:46 2018 From: monte at appisle.net (Monte Goulding) Date: Sat, 4 Aug 2018 10:40:46 +1000 Subject: Move command on iOS In-Reply-To: <534AA524-4DD7-4361-B12E-26A554F301C1@appisle.net> References: <534AA524-4DD7-4361-B12E-26A554F301C1@appisle.net> Message-ID: @Jacque there was this one also but that is visual effects only https://quality.livecode.com/show_bug.cgi?id=21434 > On 4 Aug 2018, at 10:18 am, Monte Goulding via use-livecode wrote: > > Hmm? I patched the crash at startup when not in acceleratedRendering mode for iOS 12. I don?t think it will have much to do with the move command in acceleratedRendering mode. I did recently fix something in acceleratedRendering mode in a stack that had a group coming in from the side that was doing some relayering? Oh? it?s possibly feasible that this is a manifestation of the redraw issue that Brahma found with groups. Could someone open a report with a sample stack and I can check if it?s working... > >> On 4 Aug 2018, at 9:49 am, MWCM via use-livecode wrote: >> >> Are you testing in iOS 12? This is the exact problem I?m having (that Monte just patched today). >> >> Sounds like it should be fixed in 9.0.1.rc2 > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From brian at milby7.com Fri Aug 3 20:48:11 2018 From: brian at milby7.com (Brian Milby) Date: Fri, 3 Aug 2018 19:48:11 -0500 Subject: A poor man's app updater In-Reply-To: <582EAC7E-E2E5-4767-955E-18A7C92DDE75@me.com> References: <0818e589-36b8-632d-68d1-2bbb004defcc@hyperactivesw.com> <337a5934-3170-65c8-a78e-1c004b73dbee@researchware.com> <582EAC7E-E2E5-4767-955E-18A7C92DDE75@me.com> Message-ID: /Library is going to have the same permission issue, but /Users/username/Library... would be fine. The down side is that the user can accidentally or intentionally mess with stuff stored there more easily that something built into the app or stored in the Applications/Program Files directories (although the Finder does hide the Library folder in the go menu unless to hold down the option key). If it is more data related, then I think it is a great option. For code updates, I'll let others more experienced comment. Brian On Fri, Aug 3, 2018 at 7:29 PM, Peter Bogdanoff via use-livecode < use-livecode at lists.runrev.com> wrote: > So, to store and access LC stacks and other files used by myApp that must > be periodically updated, does it make sense to put them into > > macOS?Library/Application Support/myApp > Win?user/AppData/myApp > > rather than in Applications or Program Files? > > Are there any restrictions or downside to this? > > Peter > > > On Aug 3, 2018, at 5:14 AM, Paul Dupuis via use-livecode < > use-livecode at lists.runrev.com> wrote: > > > > On 8/3/2018 2:32 AM, Peter Bogdanoff via use-livecode wrote: > >> Hi, > >> > >> To raise the issue again of updating Mac and Windows apps, I?m > referencing this thread between Graham and Jacqueline... > >> > >> Can existing files in the user?s application directory be > saved/modified/replaced by my application? > >> > > > > The accurate answer is that it all depends upon the permissions of the > > account running the software. Typically for most personal or home > > computers, the user has administrative privs, but that is increasingly > > not the case on university or company owned computers. On these, they > > may not have permission to alter files in the Program Files (Win) or > > Applications (OSX) folders. > > > > In some cases, again depending on OS and permissions, you can alter the > > folders contents directly. In others you application must launch a > > process (another app) with elevated privs, where the OS asks the user > > for permissions for the elevated privs, and then that app (if allowed) > > can make changes. > > > > > > _______________________________________________ > > use-livecode mailing list > > use-livecode at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From paul at researchware.com Fri Aug 3 21:05:06 2018 From: paul at researchware.com (Paul Dupuis) Date: Fri, 3 Aug 2018 21:05:06 -0400 Subject: A poor man's app updater In-Reply-To: <582EAC7E-E2E5-4767-955E-18A7C92DDE75@me.com> References: <0818e589-36b8-632d-68d1-2bbb004defcc@hyperactivesw.com> <337a5934-3170-65c8-a78e-1c004b73dbee@researchware.com> <582EAC7E-E2E5-4767-955E-18A7C92DDE75@me.com> Message-ID: <34da277f-0208-f89c-7718-0f358c0b6e5f@researchware.com> With the increasing use of sandboxing on Operating Systems (i.e. very limited access on iOS and Android that will eventually be included in desktop OSes), I might suggest using specialFolderPath("documents") and creating a directory structure in there, say of the form // and whatever else you need. Documents is becoming the one and only place where a user has guaranteed permissions to access the contents for both read and write. On 8/3/2018 8:29 PM, Peter Bogdanoff via use-livecode wrote: > So, to store and access LC stacks and other files used by myApp that must be periodically updated, does it make sense to put them into > > macOS?Library/Application Support/myApp > Win?user/AppData/myApp > > rather than in Applications or Program Files? > > Are there any restrictions or downside to this? > > Peter > >> On Aug 3, 2018, at 5:14 AM, Paul Dupuis via use-livecode wrote: >> >> On 8/3/2018 2:32 AM, Peter Bogdanoff via use-livecode wrote: >>> Hi, >>> >>> To raise the issue again of updating Mac and Windows apps, I?m referencing this thread between Graham and Jacqueline... >>> >>> Can existing files in the user?s application directory be saved/modified/replaced by my application? >>> >> The accurate answer is that it all depends upon the permissions of the >> account running the software. Typically for most personal or home >> computers, the user has administrative privs, but that is increasingly >> not the case on university or company owned computers. On these, they >> may not have permission to alter files in the Program Files (Win) or >> Applications (OSX) folders. >> >> In some cases, again depending on OS and permissions, you can alter the >> folders contents directly. In others you application must launch a >> process (another app) with elevated privs, where the OS asks the user >> for permissions for the elevated privs, and then that app (if allowed) >> can make changes. >> >> >> _______________________________________________ >> use-livecode mailing list >> use-livecode at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From ahsoftware at sonic.net Fri Aug 3 21:15:12 2018 From: ahsoftware at sonic.net (Mark Wieder) Date: Fri, 3 Aug 2018 18:15:12 -0700 Subject: valueDiff for arrays? In-Reply-To: References: <10161fab-d733-c0ae-dadf-2814172461ef@sonic.net> Message-ID: <65fcd351-5f1f-8d15-1292-c58d6df5b7d0@sonic.net> On 08/03/2018 05:16 PM, Brian Milby via use-livecode wrote: > Of course, then we have to figure out what to name the beast too... LOL. But again, considering how easy it is to code this in LCS and how many different use cases there might be to take care of, I doubt it's worth fiddling with the engine code for this. -- Mark Wieder ahsoftware at gmail.com From monte at appisle.net Fri Aug 3 21:27:39 2018 From: monte at appisle.net (Monte Goulding) Date: Sat, 4 Aug 2018 11:27:39 +1000 Subject: Move command on iOS In-Reply-To: References: <534AA524-4DD7-4361-B12E-26A554F301C1@appisle.net> Message-ID: @Jacque I?ve had a look around the engine? would be interested to know if you are moving without waiting or not (if that makes a difference). It looks like the most likely cause of what you are seeing is multiple calls to `move` the object to a location. The second of which will look like the first just ended because a second move ends the first and then the object is already at the location. Perhaps log when you are doing it? > On 4 Aug 2018, at 10:40 am, Monte Goulding via use-livecode wrote: > > @Jacque there was this one also but that is visual effects only https://quality.livecode.com/show_bug.cgi?id=21434 > >> On 4 Aug 2018, at 10:18 am, Monte Goulding via use-livecode wrote: >> >> Hmm? I patched the crash at startup when not in acceleratedRendering mode for iOS 12. I don?t think it will have much to do with the move command in acceleratedRendering mode. I did recently fix something in acceleratedRendering mode in a stack that had a group coming in from the side that was doing some relayering? Oh? it?s possibly feasible that this is a manifestation of the redraw issue that Brahma found with groups. Could someone open a report with a sample stack and I can check if it?s working... >> >>> On 4 Aug 2018, at 9:49 am, MWCM via use-livecode wrote: >>> >>> Are you testing in iOS 12? This is the exact problem I?m having (that Monte just patched today). >>> >>> Sounds like it should be fixed in 9.0.1.rc2 >> >> _______________________________________________ >> use-livecode mailing list >> use-livecode at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From jacque at hyperactivesw.com Fri Aug 3 21:47:28 2018 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Fri, 03 Aug 2018 20:47:28 -0500 Subject: A poor man's app updater In-Reply-To: <582EAC7E-E2E5-4767-955E-18A7C92DDE75@me.com> References: <0818e589-36b8-632d-68d1-2bbb004defcc@hyperactivesw.com> <337a5934-3170-65c8-a78e-1c004b73dbee@researchware.com> <582EAC7E-E2E5-4767-955E-18A7C92DDE75@me.com> Message-ID: <165029e3398.2761.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> Apple specifies that apps should store their app-related data in their own folder inside Application Support, where you will always have permissions. You can also store prefs in the Preferences folder but it's discouraged in favor of App Support. LC has specialFolderPath("support") for that which works for both Mac and Windows. It would match what you suggested. -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com On August 3, 2018 7:31:18 PM Peter Bogdanoff via use-livecode wrote: > So, to store and access LC stacks and other files used by myApp that must > be periodically updated, does it make sense to put them into > > macOS?Library/Application Support/myApp > Win?user/AppData/myApp > > rather than in Applications or Program Files? > > Are there any restrictions or downside to this? > > Peter > >> On Aug 3, 2018, at 5:14 AM, Paul Dupuis via use-livecode >> wrote: >> >> On 8/3/2018 2:32 AM, Peter Bogdanoff via use-livecode wrote: >>> Hi, >>> >>> To raise the issue again of updating Mac and Windows apps, I?m referencing >>> this thread between Graham and Jacqueline... >>> >>> Can existing files in the user?s application directory be >>> saved/modified/replaced by my application? >> >> The accurate answer is that it all depends upon the permissions of the >> account running the software. Typically for most personal or home >> computers, the user has administrative privs, but that is increasingly >> not the case on university or company owned computers. On these, they >> may not have permission to alter files in the Program Files (Win) or >> Applications (OSX) folders. >> >> In some cases, again depending on OS and permissions, you can alter the >> folders contents directly. In others you application must launch a >> process (another app) with elevated privs, where the OS asks the user >> for permissions for the elevated privs, and then that app (if allowed) >> can make changes. >> >> >> _______________________________________________ >> use-livecode mailing list >> use-livecode at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From jacque at hyperactivesw.com Fri Aug 3 21:52:48 2018 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Fri, 03 Aug 2018 20:52:48 -0500 Subject: Move command on iOS In-Reply-To: References: <534AA524-4DD7-4361-B12E-26A554F301C1@appisle.net> Message-ID: <16502a31980.2761.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> I'm not using visual effects so it probably isn't that bug. I'll put in a report when I can get a test stack together. The simulator I'm using is set up for 11.4 so the problem is in at least iOS 11 and 12 both. -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com On August 3, 2018 7:42:31 PM Monte Goulding via use-livecode wrote: > @Jacque there was this one also but that is visual effects only > https://quality.livecode.com/show_bug.cgi?id=21434 > > >> On 4 Aug 2018, at 10:18 am, Monte Goulding via use-livecode >> wrote: >> >> Hmm? I patched the crash at startup when not in acceleratedRendering mode >> for iOS 12. I don?t think it will have much to do with the move command in >> acceleratedRendering mode. I did recently fix something in >> acceleratedRendering mode in a stack that had a group coming in from the >> side that was doing some relayering? Oh? it?s possibly feasible that this >> is a manifestation of the redraw issue that Brahma found with groups. Could >> someone open a report with a sample stack and I can check if it?s working... >> >>> On 4 Aug 2018, at 9:49 am, MWCM via use-livecode >>> wrote: >>> >>> Are you testing in iOS 12? This is the exact problem I?m having (that Monte >>> just patched today). >>> >>> Sounds like it should be fixed in 9.0.1.rc2 >> >> _______________________________________________ >> use-livecode mailing list >> use-livecode at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From brian at milby7.com Fri Aug 3 21:59:52 2018 From: brian at milby7.com (Brian Milby) Date: Fri, 3 Aug 2018 20:59:52 -0500 Subject: A poor man's app updater In-Reply-To: <34da277f-0208-f89c-7718-0f358c0b6e5f@researchware.com> References: <0818e589-36b8-632d-68d1-2bbb004defcc@hyperactivesw.com> <337a5934-3170-65c8-a78e-1c004b73dbee@researchware.com> <582EAC7E-E2E5-4767-955E-18A7C92DDE75@me.com> <34da277f-0208-f89c-7718-0f358c0b6e5f@researchware.com> Message-ID: Yes, specialFolderPath would be good to use. On a desktop, I'm not sure that I'd want non-user facing data stored in the documents location unless you configure it to be hidden. Windows and Mac both have "support" folders defined. "library" would be the place on iOS. Android doesn't have one that makes sense off hand (other than "documents"). Linux doesn't have one specified either, but you have access to the entire user's home directory ("home"). On Fri, Aug 3, 2018 at 8:05 PM, Paul Dupuis via use-livecode < use-livecode at lists.runrev.com> wrote: > With the increasing use of sandboxing on Operating Systems (i.e. very > limited access on iOS and Android that will eventually be included in > desktop OSes), I might suggest using specialFolderPath("documents") and > creating a directory structure in there, say of the form > // and whatever else you need. Documents is > becoming the one and only place where a user has guaranteed permissions > to access the contents for both read and write. > > > > On 8/3/2018 8:29 PM, Peter Bogdanoff via use-livecode wrote: > > So, to store and access LC stacks and other files used by myApp that > must be periodically updated, does it make sense to put them into > > > > macOS?Library/Application Support/myApp > > Win?user/AppData/myApp > > > > rather than in Applications or Program Files? > > > > Are there any restrictions or downside to this? > > > > Peter > > > >> On Aug 3, 2018, at 5:14 AM, Paul Dupuis via use-livecode < > use-livecode at lists.runrev.com> wrote: > >> > >> On 8/3/2018 2:32 AM, Peter Bogdanoff via use-livecode wrote: > >>> Hi, > >>> > >>> To raise the issue again of updating Mac and Windows apps, I?m > referencing this thread between Graham and Jacqueline... > >>> > >>> Can existing files in the user?s application directory be > saved/modified/replaced by my application? > >>> > >> The accurate answer is that it all depends upon the permissions of the > >> account running the software. Typically for most personal or home > >> computers, the user has administrative privs, but that is increasingly > >> not the case on university or company owned computers. On these, they > >> may not have permission to alter files in the Program Files (Win) or > >> Applications (OSX) folders. > >> > >> In some cases, again depending on OS and permissions, you can alter the > >> folders contents directly. In others you application must launch a > >> process (another app) with elevated privs, where the OS asks the user > >> for permissions for the elevated privs, and then that app (if allowed) > >> can make changes. > >> > >> > >> _______________________________________________ > >> use-livecode mailing list > >> use-livecode at 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 at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From brian at milby7.com Fri Aug 3 22:00:36 2018 From: brian at milby7.com (Brian Milby) Date: Fri, 3 Aug 2018 21:00:36 -0500 Subject: valueDiff for arrays? In-Reply-To: <65fcd351-5f1f-8d15-1292-c58d6df5b7d0@sonic.net> References: <10161fab-d733-c0ae-dadf-2814172461ef@sonic.net> <65fcd351-5f1f-8d15-1292-c58d6df5b7d0@sonic.net> Message-ID: Other than the fact that coding is fun :) On Fri, Aug 3, 2018 at 8:15 PM, Mark Wieder via use-livecode < use-livecode at lists.runrev.com> wrote: > On 08/03/2018 05:16 PM, Brian Milby via use-livecode wrote: > > Of course, then we have to figure out what to name the beast too... >> > > LOL. > > But again, considering how easy it is to code this in LCS and how many > different use cases there might be to take care of, I doubt it's worth > fiddling with the engine code for this. > > > -- > Mark Wieder > ahsoftware at gmail.com > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From jacque at hyperactivesw.com Fri Aug 3 22:27:09 2018 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Fri, 3 Aug 2018 21:27:09 -0500 Subject: Move command on iOS In-Reply-To: References: <534AA524-4DD7-4361-B12E-26A554F301C1@appisle.net> Message-ID: <289aac59-7950-aa53-3161-00ce3bf81a08@hyperactivesw.com> Here's the relevant part of the script. There's only one "move" command: put the long id of grp "iOSPicker" into tGrp get the height of tGrp div 2 put the height of this cd - it into tDestV show tGrp -- before updating text wait 1 millisecond with messages move tGrp to (item 1 of the loc of me),tDestV in 500 milliseconds I put the wait command in there to see if it made any difference but it doesn't. If the above isn't enough, it would be quicker if I could just send you my client's stack privately. Is that okay? I'll put in a bug report regardless. On 8/3/18 8:27 PM, Monte Goulding via use-livecode wrote: > @Jacque I?ve had a look around the engine? would be interested to know if you are moving without waiting or not (if that makes a difference). > > It looks like the most likely cause of what you are seeing is multiple calls to `move` the object to a location. The second of which will look like the first just ended because a second move ends the first and then the object is already at the location. Perhaps log when you are doing it? > -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com From jacque at hyperactivesw.com Fri Aug 3 23:04:06 2018 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Fri, 3 Aug 2018 22:04:06 -0500 Subject: A poor man's app updater In-Reply-To: References: <0818e589-36b8-632d-68d1-2bbb004defcc@hyperactivesw.com> <337a5934-3170-65c8-a78e-1c004b73dbee@researchware.com> <582EAC7E-E2E5-4767-955E-18A7C92DDE75@me.com> <34da277f-0208-f89c-7718-0f358c0b6e5f@researchware.com> Message-ID: <08dd210c-91a9-d36b-227b-b5e0271eda4a@hyperactivesw.com> On Android, "documents" is sandboxed with the app, so isn't accessible unless the device is rooted. On 8/3/18 8:59 PM, Brian Milby via use-livecode wrote: > Yes, specialFolderPath would be good to use. On a desktop, I'm not sure > that I'd want non-user facing data stored in the documents location unless > you configure it to be hidden. Windows and Mac both have "support" folders > defined. "library" would be the place on iOS. Android doesn't have one > that makes sense off hand (other than "documents"). Linux doesn't have one > specified either, but you have access to the entire user's home directory > ("home"). > > On Fri, Aug 3, 2018 at 8:05 PM, Paul Dupuis via use-livecode < > use-livecode at lists.runrev.com> wrote: > >> With the increasing use of sandboxing on Operating Systems (i.e. very >> limited access on iOS and Android that will eventually be included in >> desktop OSes), I might suggest using specialFolderPath("documents") and >> creating a directory structure in there, say of the form >> // and whatever else you need. Documents is >> becoming the one and only place where a user has guaranteed permissions >> to access the contents for both read and write. >> >> >> >> On 8/3/2018 8:29 PM, Peter Bogdanoff via use-livecode wrote: >>> So, to store and access LC stacks and other files used by myApp that >> must be periodically updated, does it make sense to put them into >>> >>> macOS?Library/Application Support/myApp >>> Win?user/AppData/myApp >>> >>> rather than in Applications or Program Files? >>> >>> Are there any restrictions or downside to this? >>> >>> Peter >>> >>>> On Aug 3, 2018, at 5:14 AM, Paul Dupuis via use-livecode < >> use-livecode at lists.runrev.com> wrote: >>>> >>>> On 8/3/2018 2:32 AM, Peter Bogdanoff via use-livecode wrote: >>>>> Hi, >>>>> >>>>> To raise the issue again of updating Mac and Windows apps, I?m >> referencing this thread between Graham and Jacqueline... >>>>> >>>>> Can existing files in the user?s application directory be >> saved/modified/replaced by my application? >>>>> >>>> The accurate answer is that it all depends upon the permissions of the >>>> account running the software. Typically for most personal or home >>>> computers, the user has administrative privs, but that is increasingly >>>> not the case on university or company owned computers. On these, they >>>> may not have permission to alter files in the Program Files (Win) or >>>> Applications (OSX) folders. >>>> >>>> In some cases, again depending on OS and permissions, you can alter the >>>> folders contents directly. In others you application must launch a >>>> process (another app) with elevated privs, where the OS asks the user >>>> for permissions for the elevated privs, and then that app (if allowed) >>>> can make changes. >>>> >>>> >>>> _______________________________________________ >>>> use-livecode mailing list >>>> use-livecode at 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 at 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 at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com From jacque at hyperactivesw.com Fri Aug 3 23:05:55 2018 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Fri, 3 Aug 2018 22:05:55 -0500 Subject: Move command on iOS In-Reply-To: <289aac59-7950-aa53-3161-00ce3bf81a08@hyperactivesw.com> References: <534AA524-4DD7-4361-B12E-26A554F301C1@appisle.net> <289aac59-7950-aa53-3161-00ce3bf81a08@hyperactivesw.com> Message-ID: <6ade6cb0-109b-e0ad-2c8f-ecf07d93f085@hyperactivesw.com> Skip the test, it works fine in isolation. Bug report is here: https://quality.livecode.com/show_bug.cgi?id=21461 But there must be something else going on so I should send the real stack to either you or Panos I guess. On 8/3/18 9:27 PM, J. Landman Gay via use-livecode wrote: > Here's the relevant part of the script. There's only one "move" command: > > ??? put the long id of grp "iOSPicker" into tGrp > ??? get the height of tGrp div 2 > ??? put the height of this cd - it into tDestV > ??? show tGrp -- before updating text > ??? wait 1 millisecond with messages > ??? move tGrp to (item 1 of the loc of me),tDestV in 500 milliseconds > > I put the wait command in there to see if it made any difference but it > doesn't. > > If the above isn't enough, it would be quicker if I could just send you > my client's stack privately. Is that okay? I'll put in a bug report > regardless. > > > On 8/3/18 8:27 PM, Monte Goulding via use-livecode wrote: >> @Jacque I?ve had a look around the engine? would be interested to know >> if you are moving without waiting or not (if that makes a difference). >> >> It looks like the most likely cause of what you are seeing is multiple >> calls to `move` the object to a location. The second of which will >> look like the first just ended because a second move ends the first >> and then the object is already at the location. Perhaps log when you >> are doing it? >> > > -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com From monte at appisle.net Fri Aug 3 23:25:04 2018 From: monte at appisle.net (Monte Goulding) Date: Sat, 4 Aug 2018 13:25:04 +1000 Subject: Move command on iOS In-Reply-To: <6ade6cb0-109b-e0ad-2c8f-ecf07d93f085@hyperactivesw.com> References: <534AA524-4DD7-4361-B12E-26A554F301C1@appisle.net> <289aac59-7950-aa53-3161-00ce3bf81a08@hyperactivesw.com> <6ade6cb0-109b-e0ad-2c8f-ecf07d93f085@hyperactivesw.com> Message-ID: <0C471A6D-FB3E-466E-9171-790FF1D5B7D1@appisle.net> Hmm? feel free to send through to me as I?m intrigued. I will send the stack to Panos if I can?t figure out what is going on so he can put it wherever private test stacks go. > On 4 Aug 2018, at 1:05 pm, J. Landman Gay via use-livecode wrote: > > Skip the test, it works fine in isolation. Bug report is here: > https://quality.livecode.com/show_bug.cgi?id=21461 > > But there must be something else going on so I should send the real stack to either you or Panos I guess. > > On 8/3/18 9:27 PM, J. Landman Gay via use-livecode wrote: >> Here's the relevant part of the script. There's only one "move" command: >> put the long id of grp "iOSPicker" into tGrp >> get the height of tGrp div 2 >> put the height of this cd - it into tDestV >> show tGrp -- before updating text >> wait 1 millisecond with messages >> move tGrp to (item 1 of the loc of me),tDestV in 500 milliseconds >> I put the wait command in there to see if it made any difference but it doesn't. >> If the above isn't enough, it would be quicker if I could just send you my client's stack privately. Is that okay? I'll put in a bug report regardless. >> On 8/3/18 8:27 PM, Monte Goulding via use-livecode wrote: >>> @Jacque I?ve had a look around the engine? would be interested to know if you are moving without waiting or not (if that makes a difference). >>> >>> It looks like the most likely cause of what you are seeing is multiple calls to `move` the object to a location. The second of which will look like the first just ended because a second move ends the first and then the object is already at the location. Perhaps log when you are doing it? >>> > > > -- > Jacqueline Landman Gay | jacque at hyperactivesw.com > HyperActive Software | http://www.hyperactivesw.com > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From jacque at hyperactivesw.com Sat Aug 4 00:20:35 2018 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Fri, 3 Aug 2018 23:20:35 -0500 Subject: Move command on iOS In-Reply-To: <0C471A6D-FB3E-466E-9171-790FF1D5B7D1@appisle.net> References: <534AA524-4DD7-4361-B12E-26A554F301C1@appisle.net> <289aac59-7950-aa53-3161-00ce3bf81a08@hyperactivesw.com> <6ade6cb0-109b-e0ad-2c8f-ecf07d93f085@hyperactivesw.com> <0C471A6D-FB3E-466E-9171-790FF1D5B7D1@appisle.net> Message-ID: <4f9326bf-746c-9ad4-6163-0e736e3a5e9f@hyperactivesw.com> I jumped the gun and sent a download link to both of you. But you're hours ahead of him so you have time to intercept. :) On 8/3/18 10:25 PM, Monte Goulding via use-livecode wrote: > Hmm? feel free to send through to me as I?m intrigued. I will send the stack to Panos if I can?t figure out what is going on so he can put it wherever private test stacks go. > >> On 4 Aug 2018, at 1:05 pm, J. Landman Gay via use-livecode wrote: >> >> Skip the test, it works fine in isolation. Bug report is here: >> https://quality.livecode.com/show_bug.cgi?id=21461 >> >> But there must be something else going on so I should send the real stack to either you or Panos I guess. >> >> On 8/3/18 9:27 PM, J. Landman Gay via use-livecode wrote: >>> Here's the relevant part of the script. There's only one "move" command: >>> put the long id of grp "iOSPicker" into tGrp >>> get the height of tGrp div 2 >>> put the height of this cd - it into tDestV >>> show tGrp -- before updating text >>> wait 1 millisecond with messages >>> move tGrp to (item 1 of the loc of me),tDestV in 500 milliseconds >>> I put the wait command in there to see if it made any difference but it doesn't. >>> If the above isn't enough, it would be quicker if I could just send you my client's stack privately. Is that okay? I'll put in a bug report regardless. >>> On 8/3/18 8:27 PM, Monte Goulding via use-livecode wrote: >>>> @Jacque I?ve had a look around the engine? would be interested to know if you are moving without waiting or not (if that makes a difference). >>>> >>>> It looks like the most likely cause of what you are seeing is multiple calls to `move` the object to a location. The second of which will look like the first just ended because a second move ends the first and then the object is already at the location. Perhaps log when you are doing it? >>>> >> >> >> -- >> Jacqueline Landman Gay | jacque at hyperactivesw.com >> HyperActive Software | http://www.hyperactivesw.com >> >> >> _______________________________________________ >> use-livecode mailing list >> use-livecode at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com From monte at appisle.net Sat Aug 4 02:53:49 2018 From: monte at appisle.net (Monte Goulding) Date: Sat, 4 Aug 2018 16:53:49 +1000 Subject: Move command on iOS In-Reply-To: <4f9326bf-746c-9ad4-6163-0e736e3a5e9f@hyperactivesw.com> References: <534AA524-4DD7-4361-B12E-26A554F301C1@appisle.net> <289aac59-7950-aa53-3161-00ce3bf81a08@hyperactivesw.com> <6ade6cb0-109b-e0ad-2c8f-ecf07d93f085@hyperactivesw.com> <0C471A6D-FB3E-466E-9171-790FF1D5B7D1@appisle.net> <4f9326bf-746c-9ad4-6163-0e736e3a5e9f@hyperactivesw.com> Message-ID: <602EFDBF-B1A4-4799-BB58-4CD88DAA2B09@appisle.net> This seems to work fine here testing on a device > On 4 Aug 2018, at 2:20 pm, J. Landman Gay via use-livecode wrote: > > I jumped the gun and sent a download link to both of you. But you're hours ahead of him so you have time to intercept. :) > > On 8/3/18 10:25 PM, Monte Goulding via use-livecode wrote: >> Hmm? feel free to send through to me as I?m intrigued. I will send the stack to Panos if I can?t figure out what is going on so he can put it wherever private test stacks go. >>> On 4 Aug 2018, at 1:05 pm, J. Landman Gay via use-livecode wrote: >>> >>> Skip the test, it works fine in isolation. Bug report is here: >>> https://quality.livecode.com/show_bug.cgi?id=21461 >>> >>> But there must be something else going on so I should send the real stack to either you or Panos I guess. >>> >>> On 8/3/18 9:27 PM, J. Landman Gay via use-livecode wrote: >>>> Here's the relevant part of the script. There's only one "move" command: >>>> put the long id of grp "iOSPicker" into tGrp >>>> get the height of tGrp div 2 >>>> put the height of this cd - it into tDestV >>>> show tGrp -- before updating text >>>> wait 1 millisecond with messages >>>> move tGrp to (item 1 of the loc of me),tDestV in 500 milliseconds >>>> I put the wait command in there to see if it made any difference but it doesn't. >>>> If the above isn't enough, it would be quicker if I could just send you my client's stack privately. Is that okay? I'll put in a bug report regardless. >>>> On 8/3/18 8:27 PM, Monte Goulding via use-livecode wrote: >>>>> @Jacque I?ve had a look around the engine? would be interested to know if you are moving without waiting or not (if that makes a difference). >>>>> >>>>> It looks like the most likely cause of what you are seeing is multiple calls to `move` the object to a location. The second of which will look like the first just ended because a second move ends the first and then the object is already at the location. Perhaps log when you are doing it? >>>>> >>> >>> >>> -- >>> Jacqueline Landman Gay | jacque at hyperactivesw.com >>> HyperActive Software | http://www.hyperactivesw.com >>> >>> >>> _______________________________________________ >>> use-livecode mailing list >>> use-livecode at 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 at lists.runrev.com >> Please visit this url to subscribe, unsubscribe and manage your subscription preferences: >> http://lists.runrev.com/mailman/listinfo/use-livecode > > > -- > Jacqueline Landman Gay | jacque at hyperactivesw.com > HyperActive Software | http://www.hyperactivesw.com > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From merakosp at gmail.com Sat Aug 4 04:55:34 2018 From: merakosp at gmail.com (panagiotis merakos) Date: Sat, 4 Aug 2018 09:55:34 +0100 Subject: Move command on iOS In-Reply-To: <602EFDBF-B1A4-4799-BB58-4CD88DAA2B09@appisle.net> References: <534AA524-4DD7-4361-B12E-26A554F301C1@appisle.net> <289aac59-7950-aa53-3161-00ce3bf81a08@hyperactivesw.com> <6ade6cb0-109b-e0ad-2c8f-ecf07d93f085@hyperactivesw.com> <0C471A6D-FB3E-466E-9171-790FF1D5B7D1@appisle.net> <4f9326bf-746c-9ad4-6163-0e736e3a5e9f@hyperactivesw.com> <602EFDBF-B1A4-4799-BB58-4CD88DAA2B09@appisle.net> Message-ID: Hello all, I have added a comment to the bug report. Best, Panos -- On Sat, Aug 4, 2018 at 7:53 AM, Monte Goulding via use-livecode < use-livecode at lists.runrev.com> wrote: > This seems to work fine here testing on a device > > > On 4 Aug 2018, at 2:20 pm, J. Landman Gay via use-livecode < > use-livecode at lists.runrev.com> wrote: > > > > I jumped the gun and sent a download link to both of you. But you're > hours ahead of him so you have time to intercept. :) > > > > On 8/3/18 10:25 PM, Monte Goulding via use-livecode wrote: > >> Hmm? feel free to send through to me as I?m intrigued. I will send the > stack to Panos if I can?t figure out what is going on so he can put it > wherever private test stacks go. > >>> On 4 Aug 2018, at 1:05 pm, J. Landman Gay via use-livecode < > use-livecode at lists.runrev.com> wrote: > >>> > >>> Skip the test, it works fine in isolation. Bug report is here: > >>> https://quality.livecode.com/show_bug.cgi?id=21461 > >>> > >>> But there must be something else going on so I should send the real > stack to either you or Panos I guess. > >>> > >>> On 8/3/18 9:27 PM, J. Landman Gay via use-livecode wrote: > >>>> Here's the relevant part of the script. There's only one "move" > command: > >>>> put the long id of grp "iOSPicker" into tGrp > >>>> get the height of tGrp div 2 > >>>> put the height of this cd - it into tDestV > >>>> show tGrp -- before updating text > >>>> wait 1 millisecond with messages > >>>> move tGrp to (item 1 of the loc of me),tDestV in 500 milliseconds > >>>> I put the wait command in there to see if it made any difference but > it doesn't. > >>>> If the above isn't enough, it would be quicker if I could just send > you my client's stack privately. Is that okay? I'll put in a bug report > regardless. > >>>> On 8/3/18 8:27 PM, Monte Goulding via use-livecode wrote: > >>>>> @Jacque I?ve had a look around the engine? would be interested to > know if you are moving without waiting or not (if that makes a difference). > >>>>> > >>>>> It looks like the most likely cause of what you are seeing is > multiple calls to `move` the object to a location. The second of which will > look like the first just ended because a second move ends the first and > then the object is already at the location. Perhaps log when you are doing > it? > >>>>> > >>> > >>> > >>> -- > >>> Jacqueline Landman Gay | jacque at hyperactivesw.com > >>> HyperActive Software | http://www.hyperactivesw.com > >>> > >>> > >>> _______________________________________________ > >>> use-livecode mailing list > >>> use-livecode at 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 at lists.runrev.com > >> Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > >> http://lists.runrev.com/mailman/listinfo/use-livecode > > > > > > -- > > Jacqueline Landman Gay | jacque at hyperactivesw.com > > HyperActive Software | http://www.hyperactivesw.com > > > > > > _______________________________________________ > > use-livecode mailing list > > use-livecode at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From admin at FlexibleLearning.com Sat Aug 4 05:37:45 2018 From: admin at FlexibleLearning.com (FlexibleLearning.com) Date: Sat, 4 Aug 2018 10:37:45 +0100 Subject: DataGrid image display woes Message-ID: <000901d42bd6$cdbfecd0$693fc670$@FlexibleLearning.com> Okay, I have a datagrid Form with a template to display an image and 4 fields. The fields display the correct data for each line/record, but the unique image for each line/record is not being correctly displayed. If the dataGrid height can show all records, the image for the last record is displayed in the first line and all the other images are empty. If the dataGrid requires scrolling to display all the records, only every 7th line displays an image and the image changes as the group is scrolled. I have tried all the versions I have from from 5.54 up to 8.1 with the same problem. Is this a known issue? Hugh Senior From lists at mangomultimedia.com Sat Aug 4 08:02:09 2018 From: lists at mangomultimedia.com (Trevor DeVore) Date: Sat, 4 Aug 2018 08:02:09 -0400 Subject: DataGrid image display woes In-Reply-To: <000901d42bd6$cdbfecd0$693fc670$@FlexibleLearning.com> References: <000901d42bd6$cdbfecd0$693fc670$@FlexibleLearning.com> Message-ID: Are you missing an ?of me? in the code that sets the image data? -- Trevor DeVore On Sat, Aug 4, 2018 at 5:38 AM FlexibleLearning.com via use-livecode < use-livecode at lists.runrev.com> wrote: > Okay, I have a datagrid Form with a template to display an image and 4 > fields. > > The fields display the correct data for each line/record, but the unique > image for each line/record is not being correctly displayed. > > If the dataGrid height can show all records, the image for the last record > is displayed in the first line and all the other images are empty. If the > dataGrid requires scrolling to display all the records, only every 7th line > displays an image and the image changes as the group is scrolled. I have > tried all the versions I have from from 5.54 up to 8.1 with the same > problem. > > Is this a known issue? > > Hugh Senior > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From iowahengst at mac.com Sat Aug 4 09:07:37 2018 From: iowahengst at mac.com (Randy Hengst) Date: Sat, 04 Aug 2018 08:07:37 -0500 Subject: Move command on iOS In-Reply-To: References: Message-ID: <0947566F-0D0F-4DC3-903C-D3471644A6B6@mac.com> Sorry I?m a bit late to this strand, but yes, I?ve seen what you?re describing Jacque. I?ve seen it in the simulator and when loaded on the iPad. Have you tried turning off acceleratedRendering and setting to static? As I shared earlier with the list, the problem I?m seeing includes slowdowns of the movements. I?ve read on in the strand? and I?m using move to ?. without waiting. The move for me always includes two buttons? sometimes five depending on the context of the call. I was also seeing some issues with the acceleratedRendering/dynamic in the IDE. be well, randy www.classroomFocusedSoftware.com > On Aug 3, 2018, at 4:53 PM, J. Landman Gay via use-livecode wrote: > > Anyone else having trouble with the move command on iOS? I'm sliding a group into view, which works the first time, and after that it starts to move and then immediately jumps to its destination without any animation. It works fine in the IDE. > > AccleratedRendering is true and the group layermode is "dynamic". I don't have an actual phone to try it on, so maybe this is a simulator problem? > > -- > Jacqueline Landman Gay | jacque at hyperactivesw.com > HyperActive Software | http://www.hyperactivesw.com > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From dougr at telus.net Sat Aug 4 10:38:20 2018 From: dougr at telus.net (Douglas Ruisaard) Date: Sat, 4 Aug 2018 07:38:20 -0700 Subject: Getting Started with DataGrid and another datagrid form question Message-ID: <015301d42c00$ccdc0360$66940a20$@net> I concur with Brahmanathaswami that, in particular, datagrid forms (I haven't worked with tables (yet)) are very finicky with regard to scrolling.? I still would greatly appreciate some help with a recently submitted message to this group, Subject: datagrid form question Once you play around with a grid enough, it becomes clearer on what you can and cannot do. Regarding DGH v2... during my initial foray into datagrid forms (very recent, by the way), I was hoping that DGH v2 would be the panacea for the initial confusion regarding datagrids.? Alas, it is likely a fine tool but, from my perspective (as many aspects of LC), it may be most effective once one has mastered the fundamentals of datagrid construction and usage.? I downloaded the trial version and will go back to it ASAP now that I am over that initial learning hump ... with A LOT more to learn, I'm sure. It would probably be worthwhile to read through my two posts under " datagrid form question " to consider what I discovered with regard to scrolling... hopefully, I've made the explanation clear enough but if not, I'd be glad to expand on the subject. Thanks in advance. Doug > At $45.00 (cheap) and with your own endorsement (knowing that it is maintained) > > I'll get it! > > Brahmanathaswami > > Ps do you have a real name? > > ?On 8/2/18, 12:01 PM, "use-livecode on behalf of zryip theSlug via use-livecode" bounces at lists.runrev.com on behalf of use-livecode at lists.runrev.com> wrote: > >???? Dear Swami, > >???? We have some free material about datagrids form or table. > >???? 1. A tutorial written long time ago before I created DGH, exploring the >???? very basic concepts of the datagrid control (form and table): >???? http://www.aslugontheroad.com/download/category/3-tutorials > >???? 2. Some demo stacks created for demonstrating datagrid's possibilities such >???? as drag and drop, calculation, etc >???? http://www.aslugontheroad.com/download/category/4-lab > >???? 3. About your screenshot, a datagrid form will be your better option in my >???? opinion. > >???? 4. And about Data Grid Helper, I can not answer objectively to your >???? question, for sure. All I can say is the tool has regular updates for >???? supporting the new versions of LiveCode. A new? major (nothing to do with >???? our friend Klaus :) (I prefer to specify because he made me the joke on the >???? livecode forum, haha :) )) 2.5 version has been released in June supporting >???? dg2 properties, widgets, custom headers, etc. A blog article has been >???? published about it, with some available screenshots of the new features: >???? https://livecode.com/data-grid-helper-2-5-adds-support-for-datagrid-2/ > >???? Now, if someone in the List want to add a comment about DGH, positive or >???? not, he / she is welcome. :) > > >???? Best Regards, > Douglas Ruisaard Trilogy Software (250) 573-3935 From kee.nethery at elloco.com Sat Aug 4 11:10:38 2018 From: kee.nethery at elloco.com (Kee Nethery) Date: Sat, 4 Aug 2018 08:10:38 -0700 Subject: A poor man's app updater In-Reply-To: <582EAC7E-E2E5-4767-955E-18A7C92DDE75@me.com> References: <0818e589-36b8-632d-68d1-2bbb004defcc@hyperactivesw.com> <337a5934-3170-65c8-a78e-1c004b73dbee@researchware.com> <582EAC7E-E2E5-4767-955E-18A7C92DDE75@me.com> Message-ID: <09D1A080-EE0A-4A74-A5E8-FFF4EDBB321B@elloco.com> For sure don?t try to write updates to Applications on macOS, that requires permissions. Far better to treat them as app data and store in same place preferences get stored. Kee Nethery > On Aug 3, 2018, at 5:29 PM, Peter Bogdanoff via use-livecode wrote: > > So, to store and access LC stacks and other files used by myApp that must be periodically updated, does it make sense to put them into > > macOS?Library/Application Support/myApp > Win?user/AppData/myApp > > rather than in Applications or Program Files? > > Are there any restrictions or downside to this? > > Peter > >> On Aug 3, 2018, at 5:14 AM, Paul Dupuis via use-livecode wrote: >> >> On 8/3/2018 2:32 AM, Peter Bogdanoff via use-livecode wrote: >>> Hi, >>> >>> To raise the issue again of updating Mac and Windows apps, I?m referencing this thread between Graham and Jacqueline... >>> >>> Can existing files in the user?s application directory be saved/modified/replaced by my application? >>> >> >> The accurate answer is that it all depends upon the permissions of the >> account running the software. Typically for most personal or home >> computers, the user has administrative privs, but that is increasingly >> not the case on university or company owned computers. On these, they >> may not have permission to alter files in the Program Files (Win) or >> Applications (OSX) folders. >> >> In some cases, again depending on OS and permissions, you can alter the >> folders contents directly. In others you application must launch a >> process (another app) with elevated privs, where the OS asks the user >> for permissions for the elevated privs, and then that app (if allowed) >> can make changes. >> >> >> _______________________________________________ >> use-livecode mailing list >> use-livecode at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From admin at FlexibleLearning.com Sat Aug 4 11:38:39 2018 From: admin at FlexibleLearning.com (FlexibleLearning.com) Date: Sat, 4 Aug 2018 16:38:39 +0100 Subject: DataGrid image display woes Message-ID: <000c01d42c09$388cb3e0$a9a61ba0$@FlexibleLearning.com> I recently wrote... > Okay, I have a datagrid Form with a template to display an image and 4 fields. > > The fields display the correct data for each line/record, but the unique image > for each line/record is not being correctly displayed. > > If the dataGrid height can show all records, the image for the last record is > displayed in the first line and all the other images are empty. If the dataGrid > requires scrolling to display all the records, only every 7th line displays an > image and the image changes as the group is scrolled. I have tried all the > versions I have from from 5.54 up to 8.1 with the same problem. > > Is this a known issue? > > Hugh Senior Cancel all that... my object referencing error by omitting "of me". Must be tyred. Except now the dataGrid no longer scrolls... Restart the engine... Now it scrolls. I should write a book entitled "DataGrids or Voodoo, you decide" Hugh Senior From mark at livecode.com Sat Aug 4 11:57:34 2018 From: mark at livecode.com (Mark Waddingham) Date: Sat, 04 Aug 2018 17:57:34 +0200 Subject: valueDiff for =?UTF-8?Q?arrays=3F?= In-Reply-To: References: <10161fab-d733-c0ae-dadf-2814172461ef@sonic.net> <65fcd351-5f1f-8d15-1292-c58d6df5b7d0@sonic.net> Message-ID: On 2018-08-04 04:00, Brian Milby via use-livecode wrote: > Other than the fact that coding is fun :) Yes - but coding in LCS is much more fun, quicker (for me, anyway - and I've been writing C/C++ for nigh-on 30 years) - more importantly it is also MUCH MUCH more secure. Additionally, it is also the *one* language that everyone on this list understands and comprehends. and more secure than in C++ In general coding things in C++ in the engine should be strictly reserved for things where it is *absolutely* required - and in this case, I don't see an absolute requirement in this case (yet!). This would be fundamental operations, and the interconnection with things where doing it in LCS or LCB is not feasible or cannot produce the fidelity required to do it. All array operations in LiveCode (union, intersect etc.) can all be written precisely (as in replicating exact functionality of the engine) in LCS. Indeed, I'm pretty sure there are comments lurking around either in tests, or in the engine source which show the LCS equivalent. In this case, the C++ implementation is merely a 'hand-coded' to-C++ compilation of the an LCS handler for all intents and purposes (and I'm not even sure there is much performance advantage to it being so - perhaps an interesting project to determine, for those that are interested in such things!). My suggestion here would be *first* write an LCS handler which does what you want. Then rewrite it, trying to distill it down so it does a single orthogonal operation (it might be what you actually want is a composition of two or more). Get a 'perfect' LCS implementation written which uses the engine's various 'internal' features (names, copy-on-write) etc. to make sure it is as efficient as it can be (centered around the use of lists / arrays - i.e. actual individual values - rather than string-lists). This will give rise to a name of the operation, or fundamental operations it is composed of; the name(s) of which will lead to potential syntax for it/them... For example, there is zero semantic (i.e. runtime effect) difference between: arrayUnion @xArray, pOtherArray and union xArray with pOtherArray The difference is purely in our brains language-processing centers - the abstract operation is the same. As I've always said in the past, english-like syntax is like sugar (when used as a condiment) - it makes many things easier to ingest (there are many things which many people would not even think about wanting to eat/drink without it), but is something you add after something exists, not before it does. On a related note, I get the feeling I might have irked Mr Wieder the other day with regards the android permission thing - that wasn't my intent - but it is a similar situation. Android and iOS permissions are actually really quite different - yes they have the same user-level effect - but internally iOS's are essentially limited and hard-coded, Android's are not. If we had 'raced' to implement a uniform 'mobile' abstraction form for them - then it would have most likely have been wrong or at the very least very limited. Instead, we now have a simple set of Android handlers (3 IIRC) which mean that an LC application can utilise the full power (and it is quite extensive!) of the Android permissions usage APIs - as if you were writing in Java (but a little bit easier to grok!). The 'mobileRequestPermission' handler which would be nice - can be done in an LCS library - where it is easy to change / evolve and get right. Indeed, people can write their own variants should they have the need and then feed back if they want to. If we had raced straight to C++ this wouldn't have been the case. You all would have been stuck with what the people who poke around in the engine had come up with and their understanding of that particular part of the Android elephant and any future changes to them would have been glacial. Warmest Regards, Mark. -- Mark Waddingham ~ mark at livecode.com ~ http://www.livecode.com/ LiveCode: Everyone can create apps From nabble at mad.pink Sat Aug 4 12:08:25 2018 From: nabble at mad.pink (pink) Date: Sat, 4 Aug 2018 11:08:25 -0500 (CDT) Subject: LCB - Text entry/edit in a widget Message-ID: <1533398905339-0.post@n4.nabble.com> What I would like to make is a widget that essentially functions as a multi field form. I know how to add text to a widget, but how can I make editable by the user? Essentially, how can I create one or more "fields" in a widget? ----- --- Greg (pink) Miller mad, pink and dangerous to code -- Sent from: http://runtime-revolution.278305.n4.nabble.com/Revolution-User-f278306.html From ahsoftware at sonic.net Sat Aug 4 12:25:08 2018 From: ahsoftware at sonic.net (Mark Wieder) Date: Sat, 4 Aug 2018 09:25:08 -0700 Subject: valueDiff for arrays? In-Reply-To: References: <10161fab-d733-c0ae-dadf-2814172461ef@sonic.net> <65fcd351-5f1f-8d15-1292-c58d6df5b7d0@sonic.net> Message-ID: <93beddfc-5a9c-a91c-72de-7144932914b4@sonic.net> On 08/04/2018 08:57 AM, Mark Waddingham via use-livecode wrote: > On a related note, I get the feeling I might have irked Mr Wieder the > other day with regards the android permission thing - that wasn't my No, not irked, and sorry if I gave that impression. My point was simply that the way I would approach this is (pseudocode follows) function mobilePermissions switch platform case "iOS" return iosPermissions break case "Android" return androidPermissions break end switch end mobilePermissions private function iosPermissions return_the_array_of_ios_permissions end iosPermissions private function androidPermissions throw "not yet implemented" end androidPermissions ...document the fact that mobilePermissions is available *only* on iOS for now, and then flesh out the Android function later on. My thinking being that developers could use the mobileXXX functions when developing for iOS and then not have to change their code for Android down the line. -- Mark Wieder ahsoftware at gmail.com From ambassador at fourthworld.com Sat Aug 4 12:33:12 2018 From: ambassador at fourthworld.com (Richard Gaskin) Date: Sat, 4 Aug 2018 09:33:12 -0700 Subject: valueDiff for arrays? In-Reply-To: References: Message-ID: <651ea0fd-dfca-216f-bd86-397b149c295f@fourthworld.com> Mark Waddingham wrote: > In general coding things in C++ in the engine should be strictly > reserved for things where it is *absolutely* required - and in this > case, I don't see an absolute requirement in this case (yet!). > > This would be fundamental operations, and the interconnection with > things where doing it in LCS or LCB is not feasible or cannot produce > the fidelity required to do it. Agreed. This one's not at all hard to write, just floated the idea to see if others saw it suitable to add to the "convenience" functions already in the language, such as: > All array operations in LiveCode (union, intersect etc.) can all be > written precisely (as in replicating exact functionality of the > engine) in LCS. LC has a few things like that. It was nice to see "difference" added to that suite fairly recently. Adding more such commands to operate on values instead of just keys would be handy, but not at all necessary. There are more pressing concerns that only the engine team can implement, and scripting in LiveCode is something every LiveCode scripter can do. -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ____________________________________________________________________ Ambassador at FourthWorld.com http://www.FourthWorld.com From mark at livecode.com Sat Aug 4 12:36:23 2018 From: mark at livecode.com (Mark Waddingham) Date: Sat, 04 Aug 2018 18:36:23 +0200 Subject: valueDiff for =?UTF-8?Q?arrays=3F?= In-Reply-To: <93beddfc-5a9c-a91c-72de-7144932914b4@sonic.net> References: <10161fab-d733-c0ae-dadf-2814172461ef@sonic.net> <65fcd351-5f1f-8d15-1292-c58d6df5b7d0@sonic.net> <93beddfc-5a9c-a91c-72de-7144932914b4@sonic.net> Message-ID: On 2018-08-04 18:25, Mark Wieder via use-livecode wrote: > On 08/04/2018 08:57 AM, Mark Waddingham via use-livecode wrote: > >> On a related note, I get the feeling I might have irked Mr Wieder the >> other day with regards the android permission thing - that wasn't my > > No, not irked, and sorry if I gave that impression. > My point was simply that the way I would approach this is (pseudocode > follows) > > function mobilePermissions > switch platform > case "iOS" > return iosPermissions > break > case "Android" > return androidPermissions > break > end switch > end mobilePermissions > > private function iosPermissions > return_the_array_of_ios_permissions > end iosPermissions > > private function androidPermissions > throw "not yet implemented" > end androidPermissions > > ...document the fact that mobilePermissions is available *only* on iOS > for now, and then flesh out the Android function later on. My thinking > being that developers could use the mobileXXX functions when > developing for iOS and then not have to change their code for Android > down the line. Heh - well your pseudo-code just essentially made my point for me - why does any of that need to be in the engine, if the engine provides the underlying wrappers around the OS functionality (as it is on the specific OS) to be able to write them? :) Warmest Regards, Mark. -- Mark Waddingham ~ mark at livecode.com ~ http://www.livecode.com/ LiveCode: Everyone can create apps From brian at milby7.com Sat Aug 4 12:37:09 2018 From: brian at milby7.com (Brian Milby) Date: Sat, 4 Aug 2018 11:37:09 -0500 Subject: valueDiff for arrays? In-Reply-To: References: <10161fab-d733-c0ae-dadf-2814172461ef@sonic.net> <65fcd351-5f1f-8d15-1292-c58d6df5b7d0@sonic.net> Message-ID: On Sat, Aug 4, 2018 at 10:57 AM, Mark Waddingham via use-livecode < use-livecode at lists.runrev.com> wrote: > On 2018-08-04 04:00, Brian Milby via use-livecode wrote: > >> Other than the fact that coding is fun :) >> > > Yes - but coding in LCS is much more fun, quicker (for me, anyway - and > I've been writing C/C++ for nigh-on 30 years) - more importantly it is also > MUCH MUCH more secure. > @Mark, I wasn't necessarily suggesting that it belonged in the engine, but pointing out why I would look at the code. I will say from some other things that I've looked at recently that speed would be so much faster in the engine - if it was a feature that merited being there. I did kind of cheat in that I looked at how the engine did the array union/intersect functions. The source actually contains LCS versions of the logic too. What I'm thinking is that there will be an array size where iterating the array 3 times (twice by the engine- intersect and symmetric difference or union) will be faster than iterating the array once in LCS (using modified union logic). All of the current engine array code is based on comparing the key. The distinction here is that a value comparison is also required. Thanks, Brian From zryip.theslug at gmail.com Sat Aug 4 13:08:42 2018 From: zryip.theslug at gmail.com (zryip theSlug) Date: Sat, 4 Aug 2018 19:08:42 +0200 Subject: Getting Started with DataGrid In-Reply-To: References: <19BF7D87-2FD8-4524-AE25-BEFC8AA24AC5@hindu.org> <99C99846-7F5A-432B-A058-FE4E10106F58@iotecdigital.com> Message-ID: Dear Swami, Thanks for your purchase. Yes I do have a real name and I do have a good reason to not share it publicly. When I came with the personnal challenge 8 years ago to create a commercial plugin, I was an employee and as a developper, my employment contract was containing a clause not allowing me to develop something like that. Now, even if I'm no longer a developer (my service was closed some years ago, and I failed to find a new job like the old one, because I have just no diploma in development, despite more than 10 years experience in different languages) my new employer not allowed me to cumulate salaries even if I might earn one dollar with an another activity. I asked and he was clear in his reply. So I don't know what rules you have in your countries, but these rules are real in mine and my risk is just to be fired. As I'm considering I'm free to do what I want during my free time and hobbies, to be sure this will never happen, you will never seen my real name anywhere. So I'm quite outlaw, free to do what I want (developping a commercial plugin during my free time, just because this was an old dream, a challenge and this is actually for me a way to continue to code for real users), using an odd nick name, which is well worth another. That's all the story behind this. Hope I have clarified this a bit. Best Regards, On Fri, Aug 3, 2018 at 4:14 AM, Sannyasin Brahmanathaswami via use-livecode wrote: > Aloha "Zryip" > > At $45.00 (cheap) and with your own endorsement (knowing that it is > maintained) > > I'll get it! > > Brahmanathaswami > > Ps do you have a real name? > > ?On 8/2/18, 12:01 PM, "use-livecode on behalf of zryip theSlug via > use-livecode" use-livecode at lists.runrev.com> wrote: > > Dear Swami, > > We have some free material about datagrids form or table. > > 1. A tutorial written long time ago before I created DGH, exploring the > very basic concepts of the datagrid control (form and table): > http://www.aslugontheroad.com/download/category/3-tutorials > > 2. Some demo stacks created for demonstrating datagrid's possibilities > such > as drag and drop, calculation, etc > http://www.aslugontheroad.com/download/category/4-lab > > 3. About your screenshot, a datagrid form will be your better option > in my > opinion. > > 4. And about Data Grid Helper, I can not answer objectively to your > question, for sure. All I can say is the tool has regular updates for > supporting the new versions of LiveCode. A new major (nothing to do > with > our friend Klaus :) (I prefer to specify because he made me the joke > on the > livecode forum, haha :) )) 2.5 version has been released in June > supporting > dg2 properties, widgets, custom headers, etc. A blog article has been > published about it, with some available screenshots of the new > features: > https://livecode.com/data-grid-helper-2-5-adds-support-for-datagrid-2/ > > Now, if someone in the List want to add a comment about DGH, positive > or > not, he / she is welcome. :) > > > Best Regards, > > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > -- Zryip TheSlug http://www.aslugontheroad.com From mark at livecode.com Sat Aug 4 13:12:18 2018 From: mark at livecode.com (Mark Waddingham) Date: Sat, 04 Aug 2018 19:12:18 +0200 Subject: valueDiff for =?UTF-8?Q?arrays=3F?= In-Reply-To: References: <10161fab-d733-c0ae-dadf-2814172461ef@sonic.net> <65fcd351-5f1f-8d15-1292-c58d6df5b7d0@sonic.net> Message-ID: On 2018-08-04 18:37, Brian Milby via use-livecode wrote: > @Mark, > I wasn't necessarily suggesting that it belonged in the engine, but > pointing out why I would look at the code. :) Understanding how the engine actually operates is important, because it can help to design the LCS implementation to work with its implementation rather than against it. > I will say from some other things that I've looked at recently that > speed > would be so much faster in the engine - if it was a feature that > merited > being there. I did kind of cheat in that I looked at how the engine > did > the array union/intersect functions. The source actually contains LCS > versions of the logic too. What I'm thinking is that there will be an > array size where iterating the array 3 times (twice by the engine- > intersect and symmetric difference or union) will be faster than > iterating > the array once in LCS (using modified union logic). Yes - which is why digging into the engine code and experimenting to produce a good higher-level LCS implementation is the right approach. Adding variant codepaths based on size of arrays and such is probably inappropriate in the engine - because it will likely always be dependent on the data set. (If you can prove that it is independent of dataset - or is almost always what you might say is the amortized best-case - like qsort - which is actually O(n^2) worst case, its just that you have to work pretty darn hard to produce its worst-case behavior - then it makes sense to do so). Sometimes optimizations will be independent of all of that though. For example: All array operations are currently X, Y -> Z - i.e. not in-place. In the cases where (for example): intersect X with Y Is operating on an X which can safely be mutated directly - there is a much more efficient implementation which does not require creating a new array (i.e. you just loop through and delete the keys in X which aren't in Y). The reason the current implementations are in-place is actually due to the syntax dispatch - that needs to be able to detect the 'correct' situation where in-place can be used and then use it. > All of the current engine array code is based on comparing the key. > The > distinction here is that a value comparison is also required. Indeed - which is why I wonder whether there are more fundamental operations which do a basic 'key-ish' thing which would be appropriate for being in the engine - as then any variation on what 'valueDiff' might mean could be coded in LCS with little overhead compared to a hard-coded C++ version. i.e. I can certainly say that a patch which makes in-place array operations work (in a way which doesn't cause a ripple effect elsewhere in terms of locality and such) would be accepted. I can also certainly forsee there being a variation on the union/intersect etc. commands which are 'general' operations taking into the key that would also make sense to be in the engine... However, I'm not sure quite what that/they would be - but would be most interested to see proposals / examples of (and implementations too) :) So in no way was I intending to discourage you from your efforts - just trying to focus on trying to find where the line is between engine/LCS in terms of interface - that's the hardest part. At the end of the day, the actual coding in one language or another when you know what you are meaning to achieve is (communally) quite trivial. Warmest Regards, Mark. -- Mark Waddingham ~ mark at livecode.com ~ http://www.livecode.com/ LiveCode: Everyone can create apps From mark at livecode.com Sat Aug 4 13:13:57 2018 From: mark at livecode.com (Mark Waddingham) Date: Sat, 04 Aug 2018 19:13:57 +0200 Subject: valueDiff for =?UTF-8?Q?arrays=3F?= In-Reply-To: <651ea0fd-dfca-216f-bd86-397b149c295f@fourthworld.com> References: <651ea0fd-dfca-216f-bd86-397b149c295f@fourthworld.com> Message-ID: On 2018-08-04 18:33, Richard Gaskin via use-livecode wrote: > Adding more such commands to operate on values instead of just keys > would be handy, but not at all necessary. There are more pressing > concerns that only the engine team can implement, and scripting in > LiveCode is something every LiveCode scripter can do. Yes - so come up with LCS handlers which do that, share them, let's work together to make them as efficient in LCS as possible and then see what we can do in the engine to improve their performance (which I'm guessing is as much the purpose for the proposition as the syntax). If they show up more fundamental operations which they can be built out of which can be made exceptionally efficient in C++ (because it has greater fidelity at the bit/pointer/memory level), then we add those and then the higher-level operations that use them remain in LCS. The only difference between value manipulation operations in the engine and in LCS is (at the end of day) the syntax, and the overhead of maintenance. Maintenance of every single line of C++ code is at least an order of magnitude mode expensive (in both time, man power and money) than an equivalent line in LCS (otherwise we'd all be coding in C++, wouldn't we?). So - first - if you have an implementation of valueDiff - share it. It means everyone can see directly in code, what your English description actually means in effect. Then it means everyone can look to see how efficient it can be made in LCS - and, also to see if it can be broken down into more vastly more re-usable fundamental operations which allows us all to build even more utility functions. Warmest Regards, Mark. -- Mark Waddingham ~ mark at livecode.com ~ http://www.livecode.com/ LiveCode: Everyone can create apps From jacque at hyperactivesw.com Sat Aug 4 13:19:57 2018 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Sat, 04 Aug 2018 12:19:57 -0500 Subject: valueDiff for arrays? In-Reply-To: References: <10161fab-d733-c0ae-dadf-2814172461ef@sonic.net> <65fcd351-5f1f-8d15-1292-c58d6df5b7d0@sonic.net> Message-ID: <16505f3ea60.2761.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> This caught my attention. The increased security is great, and I've heard it said before, but would love to hear the reasons that make it more secure than lower level code. That way I'd have a knowledgeable reason to be smug. -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com On August 4, 2018 10:59:23 AM Mark Waddingham via use-livecode wrote: > > Yes - but coding in LCS is much more fun, quicker (for me, anyway - and > I've been writing C/C++ for nigh-on 30 years) - more importantly it is > also MUCH MUCH more secure. From brian at milby7.com Sat Aug 4 13:25:56 2018 From: brian at milby7.com (Brian Milby) Date: Sat, 4 Aug 2018 12:25:56 -0500 Subject: valueDiff for arrays? In-Reply-To: <651ea0fd-dfca-216f-bd86-397b149c295f@fourthworld.com> References: <651ea0fd-dfca-216f-bd86-397b149c295f@fourthworld.com> Message-ID: On Sat, Aug 4, 2018 at 11:33 AM, Richard Gaskin via use-livecode < use-livecode at lists.runrev.com> wrote: > This one's not at all hard to write, just floated the idea to see if > others saw it suitable to add to the "convenience" functions already in the > language, such as: > > @Richard, What was your intent on the return value? Did you want an array or the keys. If an array, which value for the differences (Left, Right, Both-how?) I'd like to compare how I solve it to how you did. Thanks, Brian From stephen at barncard.com Sat Aug 4 13:39:15 2018 From: stephen at barncard.com (Stephen Barncard) Date: Sat, 4 Aug 2018 10:39:15 -0700 Subject: Getting Started with DataGrid In-Reply-To: References: <19BF7D87-2FD8-4524-AE25-BEFC8AA24AC5@hindu.org> <99C99846-7F5A-432B-A058-FE4E10106F58@iotecdigital.com> Message-ID: Thank you for your service, Mr. slug. I love your revolutionary spirit, and thank you for your contributions, priceless on this list. I?m blown away. On Sat, Aug 4, 2018 at 10:09 zryip theSlug via use-livecode < use-livecode at lists.runrev.com> wrote: > Dear Swami, > > Thanks for your purchase. > > > Yes I do have a real name and I do have a good reason to not share it > publicly. When I came with the personnal challenge 8 years ago to create a > commercial plugin, I was an employee and as a developper, my employment > contract was containing a clause not allowing me to develop something like > that. > Now, even if I'm no longer a developer (my service was closed some years > ago, and I failed to find a new job like the old one, because I have just > no diploma in development, despite more than 10 years experience in > different languages) my new employer not allowed me to cumulate salaries > even if I might earn one dollar with an another activity. I asked and he > was clear in his reply. > > So I don't know what rules you have in your countries, but these rules are > real in mine and my risk is just to be fired. As I'm considering I'm free > to do what I want during my free time and hobbies, to be sure this will > never happen, you will never seen my real name anywhere. > > So I'm quite outlaw, free to do what I want (developping a commercial > plugin during my free time, just because this was an old dream, a challenge > and this is actually for me a way to continue to code for real users), > using an odd nick name, which is well worth another. > > That's all the story behind this. Hope I have clarified this a bit. > > > Best Regards, > > On Fri, Aug 3, 2018 at 4:14 AM, Sannyasin Brahmanathaswami via use-livecode > wrote: > > > Aloha "Zryip" > > > > At $45.00 (cheap) and with your own endorsement (knowing that it is > > maintained) > > > > I'll get it! > > > > Brahmanathaswami > > > > Ps do you have a real name? > > > > ?On 8/2/18, 12:01 PM, "use-livecode on behalf of zryip theSlug via > > use-livecode" > use-livecode at lists.runrev.com> wrote: > > > > Dear Swami, > > > > We have some free material about datagrids form or table. > > > > 1. A tutorial written long time ago before I created DGH, exploring > the > > very basic concepts of the datagrid control (form and table): > > http://www.aslugontheroad.com/download/category/3-tutorials > > > > 2. Some demo stacks created for demonstrating datagrid's > possibilities > > such > > as drag and drop, calculation, etc > > http://www.aslugontheroad.com/download/category/4-lab > > > > 3. About your screenshot, a datagrid form will be your better option > > in my > > opinion. > > > > 4. And about Data Grid Helper, I can not answer objectively to your > > question, for sure. All I can say is the tool has regular updates for > > supporting the new versions of LiveCode. A new major (nothing to do > > with > > our friend Klaus :) (I prefer to specify because he made me the joke > > on the > > livecode forum, haha :) )) 2.5 version has been released in June > > supporting > > dg2 properties, widgets, custom headers, etc. A blog article has been > > published about it, with some available screenshots of the new > > features: > > > https://livecode.com/data-grid-helper-2-5-adds-support-for-datagrid-2/ > > > > Now, if someone in the List want to add a comment about DGH, positive > > or > > not, he / she is welcome. :) > > > > > > Best Regards, > > > > > > > > _______________________________________________ > > use-livecode mailing list > > use-livecode at lists.runrev.com > > Please visit this url to subscribe, unsubscribe and manage your > > subscription preferences: > > http://lists.runrev.com/mailman/listinfo/use-livecode > > > > > > -- > Zryip TheSlug > http://www.aslugontheroad.com > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode -- -- Stephen Barncard - Sebastopol Ca. USA - mixstream.org From mark at livecode.com Sat Aug 4 13:41:29 2018 From: mark at livecode.com (Mark Waddingham) Date: Sat, 04 Aug 2018 19:41:29 +0200 Subject: valueDiff for =?UTF-8?Q?arrays=3F?= In-Reply-To: <16505f3ea60.2761.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> References: <10161fab-d733-c0ae-dadf-2814172461ef@sonic.net> <65fcd351-5f1f-8d15-1292-c58d6df5b7d0@sonic.net> <16505f3ea60.2761.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> Message-ID: <47dd9878d87fe5b5ccaad4dddb2ad277@livecode.com> On 2018-08-04 19:19, J. Landman Gay via use-livecode wrote: > This caught my attention. The increased security is great, and I've > heard it said before, but would love to hear the reasons that make it > more secure than lower level code. That way I'd have a knowledgeable > reason to be smug. It is impossible to write LCS code which *just* manipulates values which will crash/vulnerability because of the code you have written in LCS *unless* there is actually a crash/vulnerability bug in the engine in one of the core operations which you are using. If you translate an operation to C++, though - it is far far easier to introduce crashes and thus vulnerabilities - this is because C++ does not insulate you from the fundamentals of memory management, pointers or all that stuff which comes with writing in a language which is (in reality) only a short step away from machine code. Admittedly, if you are using C++ as modern C++ then it is also quite hard to introduce such things (assuming you have built the abstractions using templates and C++'s typing system to do so correctly and use them uniformly and correctly) - but you still *can* write code that does as you can always by-pass C++'s typing and such - also the engine is not modern C++ - it is C which was transformed in C++ and due to various requirements on usage (at the lower-level) of the engine - many APIs used internally in the engine (e.g. libfoundation) are actually C APIs. For example. Here is the core engine code for array intersection (which actually covers intersection, recursive intersection and difference): static void MCArraysDoIntersect(MCExecContext& ctxt, MCValueRef p_dst, MCValueRef p_src, MCArrayDoIntersectOp p_op, MCValueRef& r_result) { if (!MCValueIsArray(p_dst)) { r_result = MCValueRetain(p_dst); return; } if (!MCValueIsArray(p_src)) { if (p_op != kMCArrayDoIntersectOpDifference) { r_result = MCValueRetain(kMCEmptyString); } else { r_result = MCValueRetain(p_dst); } return; } MCArrayRef t_dst_array; t_dst_array = (MCArrayRef)p_dst; MCArrayRef t_src_array; t_src_array = (MCArrayRef)p_src; MCAutoArrayRef t_result; if (!MCArrayMutableCopy(t_dst_array, &t_result)) return; MCNameRef t_key; MCValueRef t_src_value; MCValueRef t_dst_value; uintptr_t t_iterator; t_iterator = 0; while(MCArrayIterate(t_dst_array, t_iterator, t_key, t_dst_value)) { bool t_key_exists; t_key_exists = MCArrayFetchValue(t_src_array, ctxt . GetCaseSensitive(), t_key, t_src_value); if (t_key_exists == (p_op == kMCArrayDoIntersectOpDifference)) { if (!MCArrayRemoveValue(*t_result, ctxt . GetCaseSensitive(), t_key)) { ctxt . Throw(); return; } } else if (p_op == kMCArrayDoIntersectOpIntersectRecursively) { MCAutoValueRef t_recursive_result; MCArraysDoIntersect(ctxt, t_dst_value, t_src_value, p_op, &t_recursive_result); if (ctxt . HasError()) return; if (!MCArrayStoreValue(*t_result, ctxt . GetCaseSensitive(), t_key, *t_recursive_result)) return; } } r_result = MCValueRetain(*t_result); } This is, as far as I'm aware 'bug free' - in that the code respects all the semantics required of using all the lower-level functions it is built out of. Here is a version which has a vulnerability/crash in it... static void MCArraysDoIntersect(MCExecContext& ctxt, MCValueRef p_dst, MCValueRef p_src, MCArrayDoIntersectOp p_op, MCValueRef& r_result) { if (!MCValueIsArray(p_dst)) { r_result = MCValueRetain(p_dst); return; } if (!MCValueIsArray(p_src)) { if (p_op != kMCArrayDoIntersectOpDifference) { r_result = MCValueRetain(kMCEmptyString); } else { r_result = p_dst; } return; } MCArrayRef t_dst_array; t_dst_array = (MCArrayRef)p_dst; MCArrayRef t_src_array; t_src_array = (MCArrayRef)p_src; MCAutoArrayRef t_result; if (!MCArrayMutableCopy(t_dst_array, &t_result)) return; MCNameRef t_key; MCValueRef t_src_value; MCValueRef t_dst_value; uintptr_t t_iterator; t_iterator = 0; while(MCArrayIterate(t_dst_array, t_iterator, t_key, t_dst_value)) { bool t_key_exists; t_key_exists = MCArrayFetchValue(t_src_array, ctxt . GetCaseSensitive(), t_key, t_src_value); if (t_key_exists == (p_op == kMCArrayDoIntersectOpDifference)) { if (!MCArrayRemoveValue(*t_result, ctxt . GetCaseSensitive(), t_key)) { ctxt . Throw(); return; } } else if (p_op == kMCArrayDoIntersectOpIntersectRecursively) { MCAutoValueRef t_recursive_result; MCArraysDoIntersect(ctxt, t_dst_value, t_src_value, p_op, &t_recursive_result); if (ctxt . HasError()) return; if (!MCArrayStoreValue(*t_result, ctxt . GetCaseSensitive(), t_key, *t_recursive_result)) return; } } r_result = MCValueRetain(*t_result); } Can you immediately see the error? Of course I've given you the correct and incorrect versions, so its easy to determine by line-by-line. However, now imagine you don't know what the correct implementation is, and you are reviewing the code for inclusion for the first time. Would you have noticed the error (even assuming you actually designed/wrote most of the lower level operations which are being used here - which I did, in this case)? Warmest Regards, Mark. P.S. The above bug I introduced actually causes one of the most pernicious sort - the effect of the bug is unlikely to be seen at the point of effect - it will only be seen later - potentially after many many other operations are run. For those that are interested - it introduces a reference-count error on one of the values - which would cause a value to be released whilst there are still references to it. They only have an effect *when* all true references are gone, *and* the block of memory which the value uses hasn't been re-used for the same value type (which frequently happens because the engine uses a small pool-allocator for values of distinct types meaning repeated freeing and creation of the same value type has almost zero cost). P.P.S Fortunately we have tests and tools and such which help us to find such things - and experience in knowing where to look when reviewing. However, it is all too easy for such 'subtle' things to be missed. Particularly when there is a large amount of code involved. -- Mark Waddingham ~ mark at livecode.com ~ http://www.livecode.com/ LiveCode: Everyone can create apps From zryip.theslug at gmail.com Sat Aug 4 13:45:48 2018 From: zryip.theslug at gmail.com (zryip theSlug) Date: Sat, 4 Aug 2018 19:45:48 +0200 Subject: Getting Started with DataGrid and another datagrid form question In-Reply-To: <015301d42c00$ccdc0360$66940a20$@net> References: <015301d42c00$ccdc0360$66940a20$@net> Message-ID: Dear Douglas, Thanks for your interesting feedback about your attempt to use DGH for the first time, with creating a datagrid form. All the properties for customizing the datagrid apart, I've created the form template area (the way to custom the content of a row with controls such as image, buttons, etc) with the following objectives: - in the standard way to customize a datagrid template, we have to open the row template group inside the template card. In DGH all this group is copied inside a "visual" area we can manipulate - when dropping some controls in the template area, with the datagrid, you are alone with the required script for managing all these controls. DGH, at the condition to respond to the right dialog, is building a minimal script depending of the kind of controls you added. Unfortunately this is difficult to cover all the needs, because they are all specific depending of the developer and what he want to do. But at least the goal of the installed script is to give you the keys and philosophy to understand what it is required for the controls.For a button, how to perform an action, for a checkbox, how to check or uncheck it, for an image how to display it, to click it, etc - one of the recurrent difficulties for users was to understand the datagrid rows remains empty until you have populate it. And because it is empty you will never see the beautiful button or image you have added if you have not at least a row data. This is why in DGH, upper the template area, we have a datagrid preview, to see immediately the control we have added. Your comment make me realize that it is not enough when you are beginning with form template. One of my unexploited idea was to add kind of presets template with for example a text on the left and four checkboxes on the right, etc so the developper could start with ready to use templates to add to his datagrid. The problem of the approach is covering needs, I can't anticipate. What might have you expected from DGH in this task? More tutorial explaining how the template area is working?, more lessons?, contextual help in DGH to help you to start? Something else? Feel free to expand, I'm always interested in approachs or ways I could try to implement in the goal to improve DGH. Thanks in advance. Best Regards, On Sat, Aug 4, 2018 at 4:38 PM, Douglas Ruisaard via use-livecode < use-livecode at lists.runrev.com> wrote: > I concur with Brahmanathaswami that, in particular, datagrid forms (I > haven't worked with tables (yet)) are very finicky with regard to > scrolling. I still would greatly appreciate some help with a recently > submitted message to this group, Subject: > > datagrid form question > > Once you play around with a grid enough, it becomes clearer on what you > can and cannot do. > > Regarding DGH v2... during my initial foray into datagrid forms (very > recent, by the way), I was hoping that DGH v2 would be the panacea for the > initial confusion regarding datagrids. Alas, it is likely a fine tool but, > from my perspective (as many aspects of LC), it may be most effective once > one has mastered the fundamentals of datagrid construction and usage. I > downloaded the trial version and will go back to it ASAP now that I am over > that initial learning hump ... with A LOT more to learn, I'm sure. > > It would probably be worthwhile to read through my two posts under " > datagrid form question " to consider what I discovered with regard to > scrolling... hopefully, I've made the explanation clear enough but if not, > I'd be glad to expand on the subject. > > Thanks in advance. > Doug > > > > At $45.00 (cheap) and with your own endorsement (knowing that it is > maintained) > > > > I'll get it! > > > > Brahmanathaswami > > > > Ps do you have a real name? > > > > ?On 8/2/18, 12:01 PM, "use-livecode on behalf of zryip theSlug via > use-livecode" > bounces at lists.runrev.com on behalf of use-livecode at lists.runrev.com> > wrote: > > > > Dear Swami, > > > > We have some free material about datagrids form or table. > > > > 1. A tutorial written long time ago before I created DGH, exploring > the > > very basic concepts of the datagrid control (form and table): > > http://www.aslugontheroad.com/download/category/3-tutorials > > > > 2. Some demo stacks created for demonstrating datagrid's > possibilities such > > as drag and drop, calculation, etc > > http://www.aslugontheroad.com/download/category/4-lab > > > > 3. About your screenshot, a datagrid form will be your better option > in my > > opinion. > > > > 4. And about Data Grid Helper, I can not answer objectively to your > > question, for sure. All I can say is the tool has regular updates for > > supporting the new versions of LiveCode. A new major (nothing to do > with > > our friend Klaus :) (I prefer to specify because he made me the joke > on the > > livecode forum, haha :) )) 2.5 version has been released in June > supporting > > dg2 properties, widgets, custom headers, etc. A blog article has been > > published about it, with some available screenshots of the new > features: > > https://livecode.com/data-grid-helper-2-5-adds-support- > for-datagrid-2/ > > > > Now, if someone in the List want to add a comment about DGH, > positive or > > not, he / she is welcome. :) > > > > > > Best Regards, > > > > Douglas Ruisaard > Trilogy Software > (250) 573-3935 > > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > -- Zryip TheSlug http://www.aslugontheroad.com From ahsoftware at sonic.net Sat Aug 4 14:06:17 2018 From: ahsoftware at sonic.net (Mark Wieder) Date: Sat, 4 Aug 2018 11:06:17 -0700 Subject: valueDiff for arrays? In-Reply-To: References: <10161fab-d733-c0ae-dadf-2814172461ef@sonic.net> <65fcd351-5f1f-8d15-1292-c58d6df5b7d0@sonic.net> <93beddfc-5a9c-a91c-72de-7144932914b4@sonic.net> Message-ID: <43dce488-5fee-0daf-71ab-84e69bc1c591@sonic.net> On 08/04/2018 09:36 AM, Mark Waddingham via use-livecode wrote: > On 2018-08-04 18:25, Mark Wieder via use-livecode wrote: > Heh - well your pseudo-code just essentially made my point for me - why > does any of that need to be in the engine, if the engine provides the > underlying wrappers around the OS functionality (as it is on the > specific OS) to be able to write them? :) LOL. Well, OK. But by exposing *just* the mobileXXX function at the scripting level, the onus is no longer on the developer to have to script the utility function for each application. You have the opportunity at this point to expose a single function rather than two or three. https://www.knowyourphrase.com/beating-a-dead-horse -- Mark Wieder ahsoftware at gmail.com From brian at milby7.com Sat Aug 4 14:07:39 2018 From: brian at milby7.com (Brian Milby) Date: Sat, 4 Aug 2018 13:07:39 -0500 Subject: valueDiff for arrays? In-Reply-To: <47dd9878d87fe5b5ccaad4dddb2ad277@livecode.com> References: <10161fab-d733-c0ae-dadf-2814172461ef@sonic.net> <65fcd351-5f1f-8d15-1292-c58d6df5b7d0@sonic.net> <16505f3ea60.2761.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <47dd9878d87fe5b5ccaad4dddb2ad277@livecode.com> Message-ID: I guess I'll have to admit I had to do the line-by-line to see it, but once I did I realized what the problem was. Pointers and reference counting is one thing that I still really need to think about when looking at lower level code. That is one thing that really does make LCS nice. LCB too for the most part, you can get into pointer stuff, but it is when you venture there on purpose (FFI and/or using engine library code). From brian at milby7.com Sat Aug 4 14:15:09 2018 From: brian at milby7.com (Brian Milby) Date: Sat, 4 Aug 2018 13:15:09 -0500 Subject: valueDiff for arrays? In-Reply-To: <43dce488-5fee-0daf-71ab-84e69bc1c591@sonic.net> References: <10161fab-d733-c0ae-dadf-2814172461ef@sonic.net> <65fcd351-5f1f-8d15-1292-c58d6df5b7d0@sonic.net> <93beddfc-5a9c-a91c-72de-7144932914b4@sonic.net> <43dce488-5fee-0daf-71ab-84e69bc1c591@sonic.net> Message-ID: On Sat, Aug 4, 2018 at 1:06 PM, Mark Wieder via use-livecode < use-livecode at lists.runrev.com> wrote: > On 08/04/2018 09:36 AM, Mark Waddingham via use-livecode wrote: > >> On 2018-08-04 18:25, Mark Wieder via use-livecode wrote: >> > > Heh - well your pseudo-code just essentially made my point for me - why >> does any of that need to be in the engine, if the engine provides the >> underlying wrappers around the OS functionality (as it is on the specific >> OS) to be able to write them? :) >> > > LOL. Well, OK. But by exposing *just* the mobileXXX function at the > scripting level, the onus is no longer on the developer to have to script > the utility function for each application. You have the opportunity at this > point to expose a single function rather than two or three. > So maybe what is really needed is a split of the revcommonlibrary into 3 separate ones: revdesktoplibrary, revmobilelibrary, and revcommonlibrary. Then utility functions that are easily written in LCS could be placed in the appropriate library and would be available to all apps that are built for that platform. (I actually looked into this when working on adding the common library to mobile.) From brian at milby7.com Sat Aug 4 14:17:21 2018 From: brian at milby7.com (Brian Milby) Date: Sat, 4 Aug 2018 13:17:21 -0500 Subject: DataGrid image display woes In-Reply-To: <000c01d42c09$388cb3e0$a9a61ba0$@FlexibleLearning.com> References: <000c01d42c09$388cb3e0$a9a61ba0$@FlexibleLearning.com> Message-ID: Wow, and Trevor knew right away... pretty impressive! From mark at livecode.com Sat Aug 4 14:19:25 2018 From: mark at livecode.com (Mark Waddingham) Date: Sat, 04 Aug 2018 20:19:25 +0200 Subject: valueDiff for =?UTF-8?Q?arrays=3F?= In-Reply-To: <43dce488-5fee-0daf-71ab-84e69bc1c591@sonic.net> References: <10161fab-d733-c0ae-dadf-2814172461ef@sonic.net> <65fcd351-5f1f-8d15-1292-c58d6df5b7d0@sonic.net> <93beddfc-5a9c-a91c-72de-7144932914b4@sonic.net> <43dce488-5fee-0daf-71ab-84e69bc1c591@sonic.net> Message-ID: On 2018-08-04 20:06, Mark Wieder via use-livecode wrote: > LOL. Well, OK. But by exposing *just* the mobileXXX function at the > scripting level, the onus is no longer on the developer to have to > script the utility function for each application. You have the > opportunity at this point to expose a single function rather than two > or three. > > https://www.knowyourphrase.com/beating-a-dead-horse LOL - perhaps - but its an important point which I perhaps did not make entirely clear - my bad! My intent was never to suggest that every developer would have to hack their own together in every individual case... More that is gives us the opportunity to write an engine-level 'script library' in LCS which provides the functionality. We have quite a rich extension system these days - and even before that liburl was embedded as essentially an engine feature, written in LCS because of the way it was handled in the IDE and Standalone Builder. Basically these lower-level platform specific operations can be used to create a mobile handler script library, which would be a script-library in the open source repository - which can contain the cross-platform 'mobile' implementations. It makes it visible, accessible and something which is much easier for people to contribute to - or copy, rename and modify as they need to for their specific project. Warmest Regards, Mark. -- Mark Waddingham ~ mark at livecode.com ~ http://www.livecode.com/ LiveCode: Everyone can create apps From mark at livecode.com Sat Aug 4 14:23:19 2018 From: mark at livecode.com (Mark Waddingham) Date: Sat, 04 Aug 2018 20:23:19 +0200 Subject: valueDiff for =?UTF-8?Q?arrays=3F?= In-Reply-To: References: <10161fab-d733-c0ae-dadf-2814172461ef@sonic.net> <65fcd351-5f1f-8d15-1292-c58d6df5b7d0@sonic.net> <93beddfc-5a9c-a91c-72de-7144932914b4@sonic.net> <43dce488-5fee-0daf-71ab-84e69bc1c591@sonic.net> Message-ID: <1cb4e7882c3eabee975c01cbd8bb5355@livecode.com> On 2018-08-04 20:15, Brian Milby via use-livecode wrote: > So maybe what is really needed is a split of the revcommonlibrary into > 3 > separate ones: revdesktoplibrary, revmobilelibrary, and > revcommonlibrary. > Then utility functions that are easily written in LCS could be placed > in > the appropriate library and would be available to all apps that are > built > for that platform. (I actually looked into this when working on adding > the > common library to mobile.) Yes! In the first instance that would be more than sufficient. However, over time I'd suggest we look at it sitting in a mobile-permissions script library. Given the dynamic nature of handler dispatch in LC, there's all kinds of things we can do to make it really easy to adapt for particular projects. Warmest Regards, Mark. -- Mark Waddingham ~ mark at livecode.com ~ http://www.livecode.com/ LiveCode: Everyone can create apps From ahsoftware at sonic.net Sat Aug 4 14:37:40 2018 From: ahsoftware at sonic.net (Mark Wieder) Date: Sat, 4 Aug 2018 11:37:40 -0700 Subject: valueDiff for arrays? In-Reply-To: References: <10161fab-d733-c0ae-dadf-2814172461ef@sonic.net> <65fcd351-5f1f-8d15-1292-c58d6df5b7d0@sonic.net> <93beddfc-5a9c-a91c-72de-7144932914b4@sonic.net> <43dce488-5fee-0daf-71ab-84e69bc1c591@sonic.net> Message-ID: <76458d63-6c7b-7653-4de0-1fab127ae9d7@sonic.net> On 08/04/2018 11:19 AM, Mark Waddingham via use-livecode wrote: > Basically these lower-level platform specific operations can be used to > create a mobile handler script library, which would be a script-library > in the open source repository - which can contain the cross-platform > 'mobile' implementations. > > It makes it visible, accessible and something which is much easier for > people to contribute to - or copy, rename and modify as they need to for > their specific project. Got it. And yes, that speaks directly to my point, so we're on the same page. Whew! Email is sometimes not the easiest way to communicate, even when both sides are speaking the (more or less) same language. -- Mark Wieder ahsoftware at gmail.com From ahsoftware at sonic.net Sat Aug 4 14:41:43 2018 From: ahsoftware at sonic.net (Mark Wieder) Date: Sat, 4 Aug 2018 11:41:43 -0700 Subject: valueDiff for arrays? In-Reply-To: <1cb4e7882c3eabee975c01cbd8bb5355@livecode.com> References: <10161fab-d733-c0ae-dadf-2814172461ef@sonic.net> <65fcd351-5f1f-8d15-1292-c58d6df5b7d0@sonic.net> <93beddfc-5a9c-a91c-72de-7144932914b4@sonic.net> <43dce488-5fee-0daf-71ab-84e69bc1c591@sonic.net> <1cb4e7882c3eabee975c01cbd8bb5355@livecode.com> Message-ID: On 08/04/2018 11:23 AM, Mark Waddingham via use-livecode wrote: > However, over time I'd suggest we look at it sitting in a > mobile-permissions script library. Given the dynamic nature of handler > dispatch in LC, there's all kinds of things we can do to make it really > easy to adapt for particular projects. Although I do have to bemoan the proliferation of script stacks in the Project Browser list. This especially became onerous when the Navigator plugin started using script-only stacks. It's a pain having to scroll through all those stacks that I'm never going to edit, and it's a pain having to remove the plugin each time a new build comes out so that I don't have to scroll through them just to work on system stacks. -- Mark Wieder ahsoftware at gmail.com From mark at livecode.com Sat Aug 4 14:55:43 2018 From: mark at livecode.com (Mark Waddingham) Date: Sat, 04 Aug 2018 20:55:43 +0200 Subject: valueDiff for =?UTF-8?Q?arrays=3F?= In-Reply-To: References: <10161fab-d733-c0ae-dadf-2814172461ef@sonic.net> <65fcd351-5f1f-8d15-1292-c58d6df5b7d0@sonic.net> <93beddfc-5a9c-a91c-72de-7144932914b4@sonic.net> <43dce488-5fee-0daf-71ab-84e69bc1c591@sonic.net> <1cb4e7882c3eabee975c01cbd8bb5355@livecode.com> Message-ID: On 2018-08-04 20:41, Mark Wieder via use-livecode wrote: > On 08/04/2018 11:23 AM, Mark Waddingham via use-livecode wrote: > >> However, over time I'd suggest we look at it sitting in a >> mobile-permissions script library. Given the dynamic nature of handler >> dispatch in LC, there's all kinds of things we can do to make it >> really easy to adapt for particular projects. > > Although I do have to bemoan the proliferation of script stacks in the > Project Browser list. This especially became onerous when the > Navigator plugin started using script-only stacks. It's a pain having > to scroll through all those stacks that I'm never going to edit, and > it's a pain having to remove the plugin each time a new build comes > out so that I don't have to scroll through them just to work on system > stacks. So - what can we do to solve that? The IDE script libraries at least use a very strict naming convention - if we can encourage others to do the same, then there's all kinds of filtering options we can do quite easily. Remember that this isn't a unique problem to LiveCode - script only stacks (particularly how we've grown to use them) are akin to C source files / projects (mainly because that is abstractly what they are / represent). You get a similar problem managing the complexity of that in any large scale native project - look at the LiveCode main xcodeproj for an example of that. Perhaps 'Show IDE Stacks in lists' (or whatever it is called) has become far far too blunt an instrument... For example, the PB could offer a new 'top-level' - which is project. A project being defined by a set of stacks which share a common name prefix... Warmest Regards, Mark. -- Mark Waddingham ~ mark at livecode.com ~ http://www.livecode.com/ LiveCode: Everyone can create apps From brian at milby7.com Sat Aug 4 15:00:05 2018 From: brian at milby7.com (Brian Milby) Date: Sat, 4 Aug 2018 14:00:05 -0500 Subject: valueDiff for arrays? In-Reply-To: References: <10161fab-d733-c0ae-dadf-2814172461ef@sonic.net> <65fcd351-5f1f-8d15-1292-c58d6df5b7d0@sonic.net> <93beddfc-5a9c-a91c-72de-7144932914b4@sonic.net> <43dce488-5fee-0daf-71ab-84e69bc1c591@sonic.net> <1cb4e7882c3eabee975c01cbd8bb5355@livecode.com> Message-ID: Plugins should probably be de-scriptified for distribution for this reason. A similar argument could be made for some IDE library code too. I have to wonder if there is any performance impact to the number of stacks the IDE has to deal with now that so much is scriptified. (The list of stacks is a linked list and finding a stack by name goes through the list at least in one spot.). I've been thinking of how to test this sort of thing to measure it It would be similar to how copy-on-write does incur a small amount of overhead when compared to pass-by-reference that was demonstrated in an earlier discussion. The result there was that if you need to optimize for speed, reference is still helpful. If you are purely concerned about memory usage, then it isn't needed. On Sat, Aug 4, 2018 at 1:41 PM, Mark Wieder via use-livecode < use-livecode at lists.runrev.com> wrote: > On 08/04/2018 11:23 AM, Mark Waddingham via use-livecode wrote: > > However, over time I'd suggest we look at it sitting in a >> mobile-permissions script library. Given the dynamic nature of handler >> dispatch in LC, there's all kinds of things we can do to make it really >> easy to adapt for particular projects. >> > > Although I do have to bemoan the proliferation of script stacks in the > Project Browser list. This especially became onerous when the Navigator > plugin started using script-only stacks. It's a pain having to scroll > through all those stacks that I'm never going to edit, and it's a pain > having to remove the plugin each time a new build comes out so that I don't > have to scroll through them just to work on system stacks. > > -- > Mark Wieder > ahsoftware at gmail.com > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From ambassador at fourthworld.com Sat Aug 4 15:00:01 2018 From: ambassador at fourthworld.com (Richard Gaskin) Date: Sat, 4 Aug 2018 12:00:01 -0700 Subject: valueDiff for arrays? In-Reply-To: References: Message-ID: <42eece80-e3f9-f230-1603-935be16fcce0@fourthworld.com> Mark Waddingham wrote: > Yes - so come up with LCS handlers which do that, share them, let's > work together to make them as efficient in LCS as possible and then > see what we can do in the engine to improve their performance (which > I'm guessing is as much the purpose for the proposition as the > syntax). It is, primarily. The minor convenience is nice too, but you know how much I love to see performance enhancements in the engine. As for implementation, Mark Wieder's looks good: http://lists.runrev.com/pipermail/use-livecode/2018-August/248862.html Thinking about performance, I wonder if there's anything from some of the changes that have boosted PHP 7's performance so far above its earlier versions which may be relevant for LC: https://www.reddit.com/r/PHP/comments/3q2brz/how_is_php_7_twice_as_fast/ -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ____________________________________________________________________ Ambassador at FourthWorld.com http://www.FourthWorld.co From jacque at hyperactivesw.com Sat Aug 4 15:00:35 2018 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Sat, 4 Aug 2018 14:00:35 -0500 Subject: Move command on iOS In-Reply-To: <0947566F-0D0F-4DC3-903C-D3471644A6B6@mac.com> References: <0947566F-0D0F-4DC3-903C-D3471644A6B6@mac.com> Message-ID: <6b7687bf-ebdc-cf4f-49ec-70fe3b3bcec1@hyperactivesw.com> I did tinker with accleratedRendering when the problem first appeared. I turned it off before the move command and back on afterward, but it didn't help. I also changed the time so that the move was slower, but that didn't work either. Panos seems to have identified the reason for the failure in my case, though I'm not sure it is applicable everywhere. It's posted in the bug report . Would this situation apply to your stack(s)? I don't quite know why my stack ran okay on Monte's phone, and my stripped-down test with the same code ran okay in the simulator, but my real stack failed. Weird. On 8/4/18 8:07 AM, Randy Hengst via use-livecode wrote: > Sorry I?m a bit late to this strand, but yes, I?ve seen what you?re describing Jacque. I?ve seen it in the simulator and when loaded on the iPad. > > Have you tried turning off acceleratedRendering and setting to static? As I shared earlier with the list, the problem I?m seeing includes slowdowns of the movements. > > I?ve read on in the strand? and I?m using move to ?. without waiting. The move for me always includes two buttons? sometimes five depending on the context of the call. > > I was also seeing some issues with the acceleratedRendering/dynamic in the IDE. > > > be well, > randy > www.classroomFocusedSoftware.com > > >> On Aug 3, 2018, at 4:53 PM, J. Landman Gay via use-livecode wrote: >> >> Anyone else having trouble with the move command on iOS? I'm sliding a group into view, which works the first time, and after that it starts to move and then immediately jumps to its destination without any animation. It works fine in the IDE. >> >> AccleratedRendering is true and the group layermode is "dynamic". I don't have an actual phone to try it on, so maybe this is a simulator problem? >> >> -- >> Jacqueline Landman Gay | jacque at hyperactivesw.com >> HyperActive Software | http://www.hyperactivesw.com >> >> _______________________________________________ >> use-livecode mailing list >> use-livecode at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com From mark at livecode.com Sat Aug 4 15:02:34 2018 From: mark at livecode.com (Mark Waddingham) Date: Sat, 04 Aug 2018 21:02:34 +0200 Subject: valueDiff for =?UTF-8?Q?arrays=3F?= In-Reply-To: <76458d63-6c7b-7653-4de0-1fab127ae9d7@sonic.net> References: <10161fab-d733-c0ae-dadf-2814172461ef@sonic.net> <65fcd351-5f1f-8d15-1292-c58d6df5b7d0@sonic.net> <93beddfc-5a9c-a91c-72de-7144932914b4@sonic.net> <43dce488-5fee-0daf-71ab-84e69bc1c591@sonic.net> <76458d63-6c7b-7653-4de0-1fab127ae9d7@sonic.net> Message-ID: On 2018-08-04 20:37, Mark Wieder via use-livecode wrote: > On 08/04/2018 11:19 AM, Mark Waddingham via use-livecode wrote: > >> Basically these lower-level platform specific operations can be used >> to create a mobile handler script library, which would be a >> script-library in the open source repository - which can contain the >> cross-platform 'mobile' implementations. >> >> It makes it visible, accessible and something which is much easier for >> people to contribute to - or copy, rename and modify as they need to >> for their specific project. > > Got it. And yes, that speaks directly to my point, so we're on the > same page. Whew! Email is sometimes not the easiest way to > communicate, even when both sides are speaking the (more or less) same > language. Heh - indeed - the thought in my mind was always that it would be a common script-library - however, looking back I never actually articulated that. By the way @Richard - my suggestion for 'valueDiff' (or whatever variant comes out of any discussion) was that after some fettling over the details - such things like that could, too, become part of a common 'utility' script library in the engine repository (or a set of utility libraries, after all not every project needs everything). Indeed, internally we have already been building such a thing (for various reasons - although mainly because I got bored hand-coding the same lines of code again and again - which I'm sure we all do!) - its not ready for public release yet, but we fully intend to do so when we've dotted a few i's and crossed a few t's. (We need to support it after all if it is the main repository - so I want to make sure it is in a supportable state when it debuts). One of the most useful things it has are LiveCode implementations of the Python path functions - and, oh my god, do they make any code which manipulates files soooo much easier. Warmest Regards, Mark. -- Mark Waddingham ~ mark at livecode.com ~ http://www.livecode.com/ LiveCode: Everyone can create apps From mark at livecode.com Sat Aug 4 15:12:40 2018 From: mark at livecode.com (Mark Waddingham) Date: Sat, 04 Aug 2018 21:12:40 +0200 Subject: valueDiff for =?UTF-8?Q?arrays=3F?= In-Reply-To: References: <10161fab-d733-c0ae-dadf-2814172461ef@sonic.net> <65fcd351-5f1f-8d15-1292-c58d6df5b7d0@sonic.net> <93beddfc-5a9c-a91c-72de-7144932914b4@sonic.net> <43dce488-5fee-0daf-71ab-84e69bc1c591@sonic.net> <1cb4e7882c3eabee975c01cbd8bb5355@livecode.com> Message-ID: On 2018-08-04 21:00, Brian Milby via use-livecode wrote: > Plugins should probably be de-scriptified for distribution for this > reason. A similar argument could be made for some IDE library code > too. I > have to wonder if there is any performance impact to the number of > stacks > the IDE has to deal with now that so much is scriptified. (The list of > stacks is a linked list and finding a stack by name goes through the > list > at least in one spot.). I've been thinking of how to test this sort of > thing to measure it Indeed that would be interesting - I think @Monte proposed a patch to make stack-by-filename lookups hash-table based recently (it was attempt to fix an unrelated thing which was more important - and I'm not sure the speed improvement necessarily justified the extra code complexity - until we can abstract the whole caching things logic to a common pattern). Certainly making the stack list hash-by-name (like control id's per stack) would probably help. Although there are a few salient details which make them quite a bit more complex than the id case - e.g. substacks can have the same name as a mainstack. > It would be similar to how copy-on-write does incur a small amount of > overhead when compared to pass-by-reference that was demonstrated in an > earlier discussion. The result there was that if you need to optimize > for > speed, reference is still helpful. If you are purely concerned about > memory usage, then it isn't needed. Again - interesting - can you pull out that exact case, it is a little surprising (which makes me wonder whether there are some specific details it which are actually exceptionally important). For example: on foo @xValue return xValue[5] end foo on bar pValue return pValue[5] end bar on testFoo pArray put "baz" into pArray[1][2][3][4] repeat 10000 times foo pArray[1][2][3][4] end repeat end testFoo on testBar pArray put "baz" into pArray[1][2][3][4] repeat 10000 times bar pArray[1][2][3][4] end repeat end testBar You should find that whilst these two things do exactly the same thing that testFoo will be a lot slower than testBar. Warmest Regards, Mark. -- Mark Waddingham ~ mark at livecode.com ~ http://www.livecode.com/ LiveCode: Everyone can create apps From jacque at hyperactivesw.com Sat Aug 4 15:20:30 2018 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Sat, 4 Aug 2018 14:20:30 -0500 Subject: valueDiff for arrays? In-Reply-To: <47dd9878d87fe5b5ccaad4dddb2ad277@livecode.com> References: <10161fab-d733-c0ae-dadf-2814172461ef@sonic.net> <65fcd351-5f1f-8d15-1292-c58d6df5b7d0@sonic.net> <16505f3ea60.2761.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <47dd9878d87fe5b5ccaad4dddb2ad277@livecode.com> Message-ID: <625a63bf-bc22-0069-3898-5651c920ca26@hyperactivesw.com> On 8/4/18 12:41 PM, Mark Waddingham via use-livecode wrote: > Can you immediately see the error? Who, me? LOL. Well, I did find the line that was different. Brian and others who can read this stuff did better. But I did get the gist of your post and feel sufficiently smug now. -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com From davros at bellaliant.net Sat Aug 4 15:27:56 2018 From: davros at bellaliant.net (John McKenzie) Date: Sat, 4 Aug 2018 16:27:56 -0300 Subject: Data Persistence In-Reply-To: References: <20180723185741.0e593aff@poseidon> Message-ID: <20180804162756.17669efe@poseidon> A little less busy now so I can look at my app some more. As you mat recall I was asking about data persistence. Thank you to the additional people who welcomed me. I contrast this with the time I asked a question on Usenet about a scripting language I was learning and the first reply told me I was awful (true, which is why I was asking questions) and to come back and only ask questions when I have the script I posted working. As for contributing brains. Yeah... I supposed I could fake that part for awhile. Just do not ask for kidneys as you will get nowhere there. Klaus thank you for mentioning closefield. Did not notice it before and it seems like it would be just the thing for me. The data is simple, so I think I will start out by trying to save it all in an array and doing so every time there is an entry or change to an entry using closefield. And that brings me to today's follow up question. In some cases I have a button that when pressed put the time inside the neighbouring text field. So when a plane lands I pressed the button labelled "ATA" and it puts the current time into a text field next to the ATA button. How would that count as focus? Would having the app place something into the field put focus on the field? What I am really wondering is when it comes to the buttons can I leave them be because the text fields have code to save their info when the focus leaves or should I add code to the buttons to tell them after placing the info into the text field, save same info to an array? Thanks. From mark at livecode.com Sat Aug 4 15:41:33 2018 From: mark at livecode.com (Mark Waddingham) Date: Sat, 04 Aug 2018 21:41:33 +0200 Subject: valueDiff for =?UTF-8?Q?arrays=3F?= In-Reply-To: <42eece80-e3f9-f230-1603-935be16fcce0@fourthworld.com> References: <42eece80-e3f9-f230-1603-935be16fcce0@fourthworld.com> Message-ID: <61e1041b3aeb614ce9e60822954a771b@livecode.com> On 2018-08-04 21:00, Richard Gaskin via use-livecode wrote: > Mark Waddingham wrote: > >> Yes - so come up with LCS handlers which do that, share them, let's >> work together to make them as efficient in LCS as possible and then >> see what we can do in the engine to improve their performance (which >> I'm guessing is as much the purpose for the proposition as the >> syntax). > > It is, primarily. The minor convenience is nice too, but you know how > much I love to see performance enhancements in the engine. :) The important thing you have to remember is that you only get a performance advantage for hand-coding code like that in the engine *if* the overhead of dispatching script dominates the processing being done. That can actually be really hard to determine from inspection. Especially if things require hash-key lookups (i.e. name creation) - then you might find you get a speed up for things involving small numbers of keys - but virtually none for large numbers of keys (particularly as the key size goes up). So you then have to balance whether its 'worth it' from a C++ code maintenance point of view. Certainly, I guess a metric could be 'how much is a particularly utility function used'. i.e. If a utility function gets into a common library, and we find that it is used 'all the time' across many different projects *then* it should probably be put on the list for being implemented in the engine (and deserve English-like syntax in the process!). > > As for implementation, Mark Wieder's looks good: > http://lists.runrev.com/pipermail/use-livecode/2018-August/248862.html > > Thinking about performance, I wonder if there's anything from some of > the changes that have boosted PHP 7's performance so far above its > earlier versions which may be relevant for LC: > https://www.reddit.com/r/PHP/comments/3q2brz/how_is_php_7_twice_as_fast/ I'd actually be really interested in a direct speed comparison between exactly equivalent operations in PHP7 and LC. The reason is that (from my previous relatively terse, admittedly, review of PHP7's implementation details) LC actually does mostly the same things - and has done since 7. All of it related to the introduction of libfoundation (which I actually started designing, and started implemented about 7/8 years ago - long before it appeared in a release - although the seeds for it were planted long before - namification of handler names, and literals in the engine at version 5 or 6 being a key precursor). There is actually (and always has been) quite a long list of things which I've always wanted to do with libfoundation to improve its performance vastly - pleasingly many of those ideas are more than validated by PHP7 (as it actually does them!). However, most of them have a huge ripple effect on a substantial portion of the code - and that's a significant issue. For example - MCNameRef which is a 'uniqued string' (IS_STR_INTERNED in PHP7 speak) used for all literals, handler names, array keys etc. is a separate value type to MCString. This was a design error (born of the previous rendering of MCNameRefs pre-7) with hindsight - it should have been a kind of MCString. Similarly, integer array keys should be integers - and not rendered as strings at all unless needed. These two things are relatively easy to do at the libfoundation level, but they require a significant API change - which I don't think can be made backwards compatible which means updating all uses. None the updating work is necessarily hard - but it needs to be done carefully and needs to be exceptionally well planned so it can be done rapidly and all in one go as it would be really difficult to maintain two separate branches whilst it was being done (honestly 7 was a complete nightmare from that point of view - I don't even want to think about the amount of man hours that went into just keeping the 6 and develop-7 branches in sync!!). Other things (like storing short strings in the value memory block, rather than in a separate array) I think could be done without any changes to the libfoundation API. I also experimented with (small) integers being 'tagged pointers' at one point - which would eliminate the overhead of most integer operations. However, as it turned out the idea on its own didn't really make a great deal of difference - what did make a difference was a value pool allocator - number values 'live fast and die young' which means that if you cache the most recently freed number value, and re-use that you eliminate their overhead. That same pattern worked exceptionally well for other values too (short strings, for example). Of course, tagged integers would probably make a substantial difference if array keys didn't have to be names - the performance of even hash-table based sequences would be far faster. Anyway, I could probably go on at length about this but will stop there. As a point of comparison, the reason why PHP7 has these things and LC does not (yet) is simply because I think you'll find that PHP7 has (1) taken a great deal longer to get any of it than LC did (LC started getting these things at 7)... And PHP has quite a number more engineers involved in it at the C++ level than I think we do... Warmest Regards, Mark. P.S. I do need to dig into PHP7's exact details more - it is something I've only had brief amounts of time to do so - at the very least it should indicate what does and does not work and also help see how we could do them better :) -- Mark Waddingham ~ mark at livecode.com ~ http://www.livecode.com/ LiveCode: Everyone can create apps From mark at livecode.com Sat Aug 4 15:51:31 2018 From: mark at livecode.com (Mark Waddingham) Date: Sat, 04 Aug 2018 21:51:31 +0200 Subject: valueDiff for =?UTF-8?Q?arrays=3F?= In-Reply-To: <625a63bf-bc22-0069-3898-5651c920ca26@hyperactivesw.com> References: <10161fab-d733-c0ae-dadf-2814172461ef@sonic.net> <65fcd351-5f1f-8d15-1292-c58d6df5b7d0@sonic.net> <16505f3ea60.2761.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <47dd9878d87fe5b5ccaad4dddb2ad277@livecode.com> <625a63bf-bc22-0069-3898-5651c920ca26@hyperactivesw.com> Message-ID: On 2018-08-04 21:20, J. Landman Gay via use-livecode wrote: > On 8/4/18 12:41 PM, Mark Waddingham via use-livecode wrote: >> Can you immediately see the error? > > Who, me? LOL. Well, I did find the line that was different. Brian and > others who can read this stuff did better. But I did get the gist of > your post and feel sufficiently smug now. Well you can share your smugness with all Python, JavaScript, Java, C#, BASIC variants, and pretty much every other programmer who has chosen a high-level language (in terms of ones which takes away the need to think about memory management) as their main tool - at least in this regard. (Here by 'high-level' I mean one which abstracts away memory management and pointer manipulation entirely from your normal concerns). However, I'd like to think that LiveCode actually sits in a slightly better class... It does not rely on a 'garbage collector' - all memory management is explicit - its just the engine does all the explicit work for you. It manages high-level safety without resorting to what is essentially a 'panic' solution to solving the problem (which actually has profound and rather unpleasant side-effects and edge cases in all kinds of ways most programmers who are used to relying on one don't even realize - but find out pretty quickly about then their fail catastrophically) ;) Warmest Regards, Mark. -- Mark Waddingham ~ mark at livecode.com ~ http://www.livecode.com/ LiveCode: Everyone can create apps From mark at livecode.com Sat Aug 4 15:53:02 2018 From: mark at livecode.com (Mark Waddingham) Date: Sat, 04 Aug 2018 21:53:02 +0200 Subject: valueDiff for =?UTF-8?Q?arrays=3F?= In-Reply-To: References: <10161fab-d733-c0ae-dadf-2814172461ef@sonic.net> <65fcd351-5f1f-8d15-1292-c58d6df5b7d0@sonic.net> <16505f3ea60.2761.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <47dd9878d87fe5b5ccaad4dddb2ad277@livecode.com> <625a63bf-bc22-0069-3898-5651c920ca26@hyperactivesw.com> Message-ID: <200f06507dd1219cfed66ed55de5ccc8@livecode.com> On 2018-08-04 21:51, Mark Waddingham via use-livecode wrote: > one don't even realize - but find out pretty quickly about then their That should be 'when they' - not then their. Warmest Regards, Mark. -- Mark Waddingham ~ mark at livecode.com ~ http://www.livecode.com/ LiveCode: Everyone can create apps From bonnmike at gmail.com Sat Aug 4 16:20:53 2018 From: bonnmike at gmail.com (Mike Bonner) Date: Sat, 4 Aug 2018 14:20:53 -0600 Subject: Data Persistence In-Reply-To: <20180804162756.17669efe@poseidon> References: <20180723185741.0e593aff@poseidon> <20180804162756.17669efe@poseidon> Message-ID: Putting text into a field pro-grammatically doesn't fire the openfield and closefield handlers so yes, you'd need to add code to your button. You can either write the code directly, or you can use send (or dispatch) and have the field do it.. IE send "closefield" to field "whateverfield"... But if it were me, I'd just add the code to the button itself. Actually, I'd probably have the code once, in the card or stack script that accepts parameters like the long id of the field, data to be saved and whatever else so that you have a single handler that will work for all of your saves. Something like on saveIt pLongId,pText -- code to save pText and associate it with control pLongId end saveIt Then you can do.. on closefield saveit (the long id of me),(the text of me) end closefield Or in a button.. on mouseup put "Whatever text" into field "myField" saveit (the long id of field "myField"),the text of field "myField" end mouseup Just some thoughts. On Sat, Aug 4, 2018 at 1:28 PM John McKenzie via use-livecode < use-livecode at lists.runrev.com> wrote: > > A little less busy now so I can look at my app some more. As you mat > recall I was asking about data persistence. > > Thank you to the additional people who welcomed me. I contrast this > with the time I asked a question on Usenet about a scripting language I > was learning and the first reply told me I was awful (true, which is > why I was asking questions) and to come back and only ask questions > when I have the script I posted working. > > As for contributing brains. Yeah... I supposed I could fake > that part for awhile. Just do not ask for kidneys as you will get > nowhere there. > > Klaus thank you for mentioning closefield. Did not notice it before > and it seems like it would be just the thing for me. The data is > simple, so I think I will start out by trying to save it all in an > array and doing so every time there is an entry or change to an entry > using closefield. > > And that brings me to today's follow up question. In some cases I have > a button that when pressed put the time inside the neighbouring text > field. So when a plane lands I pressed the button labelled "ATA" and it > puts the current time into a text field next to the ATA button. How > would that count as focus? > > Would having the app place something into the field put focus on the > field? > > What I am really wondering is when it comes to the buttons can I leave > them be because the text fields have code to save their info when the > focus leaves or should I add code to the buttons to tell them after > placing the info into the text field, save same info to an array? > > Thanks. > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From jacque at hyperactivesw.com Sat Aug 4 16:22:16 2018 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Sat, 4 Aug 2018 15:22:16 -0500 Subject: Data Persistence In-Reply-To: <20180804162756.17669efe@poseidon> References: <20180723185741.0e593aff@poseidon> <20180804162756.17669efe@poseidon> Message-ID: <62574653-2553-7675-3132-59bc4213845e@hyperactivesw.com> On 8/4/18 2:27 PM, John McKenzie via use-livecode wrote: > Thank you to the additional people who welcomed me. I contrast this > with the time I asked a question on Usenet about a scripting language I > was learning and the first reply told me I was awful (true, which is > why I was asking questions) and to come back and only ask questions > when I have the script I posted working. Well that's a Catch-22 now, isn't it. We like to think we're better than that. Please feel free to ask anything, even if you think it's stupid. We've all been there. And besides, any mocking on the list usually turns into a bad joke thread you'll be sorry you started. Conf.: "brains". > Would having the app place something into the field put focus on the > field? > > What I am really wondering is when it comes to the buttons can I leave > them be because the text fields have code to save their info when the > focus leaves or should I add code to the buttons to tell them after > placing the info into the text field, save same info to an array? Text-related field messages generally only trigger when a user physically types into a field. Script-inserted text does not generate those. You'll need to do a save after your handler changes the text, which isn't a problem because you know when the script does it. -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com From iowahengst at mac.com Sat Aug 4 17:06:17 2018 From: iowahengst at mac.com (Randy Hengst) Date: Sat, 04 Aug 2018 17:06:17 -0400 Subject: Move command on iOS In-Reply-To: <6b7687bf-ebdc-cf4f-49ec-70fe3b3bcec1@hyperactivesw.com> References: <0947566F-0D0F-4DC3-903C-D3471644A6B6@mac.com> <6b7687bf-ebdc-cf4f-49ec-70fe3b3bcec1@hyperactivesw.com> Message-ID: <5EEDFA2B-EB82-4A8D-AB6F-96DA7574B5C5@mac.com> Did you leave the controls on dynamic? I found leaving them at static helped. be well, randy www.classroomFocusedSoftware.com > On Aug 4, 2018, at 3:00 PM, J. Landman Gay via use-livecode wrote: > > I did tinker with accleratedRendering when the problem first appeared. I turned it off before the move command and back on afterward, but it didn't help. I also changed the time so that the move was slower, but that didn't work either. > > Panos seems to have identified the reason for the failure in my case, though I'm not sure it is applicable everywhere. It's posted in the bug report . Would this situation apply to your stack(s)? > > I don't quite know why my stack ran okay on Monte's phone, and my stripped-down test with the same code ran okay in the simulator, but my real stack failed. Weird. > >> On 8/4/18 8:07 AM, Randy Hengst via use-livecode wrote: >> Sorry I?m a bit late to this strand, but yes, I?ve seen what you?re describing Jacque. I?ve seen it in the simulator and when loaded on the iPad. >> Have you tried turning off acceleratedRendering and setting to static? As I shared earlier with the list, the problem I?m seeing includes slowdowns of the movements. >> I?ve read on in the strand? and I?m using move to ?. without waiting. The move for me always includes two buttons? sometimes five depending on the context of the call. >> I was also seeing some issues with the acceleratedRendering/dynamic in the IDE. >> be well, >> randy >> www.classroomFocusedSoftware.com >>> On Aug 3, 2018, at 4:53 PM, J. Landman Gay via use-livecode wrote: >>> >>> Anyone else having trouble with the move command on iOS? I'm sliding a group into view, which works the first time, and after that it starts to move and then immediately jumps to its destination without any animation. It works fine in the IDE. >>> >>> AccleratedRendering is true and the group layermode is "dynamic". I don't have an actual phone to try it on, so maybe this is a simulator problem? >>> >>> -- >>> Jacqueline Landman Gay | jacque at hyperactivesw.com >>> HyperActive Software | http://www.hyperactivesw.com >>> >>> _______________________________________________ >>> use-livecode mailing list >>> use-livecode at 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 at lists.runrev.com >> Please visit this url to subscribe, unsubscribe and manage your subscription preferences: >> http://lists.runrev.com/mailman/listinfo/use-livecode > > > -- > Jacqueline Landman Gay | jacque at hyperactivesw.com > HyperActive Software | http://www.hyperactivesw.com > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From monte at appisle.net Sat Aug 4 18:11:42 2018 From: monte at appisle.net (Monte Goulding) Date: Sun, 5 Aug 2018 08:11:42 +1000 Subject: Move command on iOS In-Reply-To: <6b7687bf-ebdc-cf4f-49ec-70fe3b3bcec1@hyperactivesw.com> References: <0947566F-0D0F-4DC3-903C-D3471644A6B6@mac.com> <6b7687bf-ebdc-cf4f-49ec-70fe3b3bcec1@hyperactivesw.com> Message-ID: > On 5 Aug 2018, at 5:00 am, J. Landman Gay via use-livecode wrote: > > I don't quite know why my stack ran okay on Monte's phone, and my stripped-down test with the same code ran okay in the simulator, but my real stack failed. Weird. When I said it worked ok here I should have probably been a bit more specific. It seemed to work as scripted. I tested on a mini. The first move the group came up on an angle from bottom left. Cancel would move it straight down about half way then hide it. Presenting it again moved it straight up. Cancel again moved it straight down and hid. So I guess ensuring it is positioned correctly for the device before the first move and the hide move hides the whole thing would be a good place to start. Cheers Monte From dougr at telus.net Sat Aug 4 18:38:29 2018 From: dougr at telus.net (Douglas Ruisaard) Date: Sat, 4 Aug 2018 15:38:29 -0700 Subject: datagrid scrolling question Message-ID: <016901d42c43$df14a490$9d3dedb0$@net> I sent a badly constructed message with this content (more or less) a few days ago. I am re-posting it in the hope that anyone who tried to decipher those two messages will give this another consideration. So pardon the repeat, but I'm quite sure someone from this group can lend me a hand on this issue. Using LC v8.1.9 on Windows 7 pro Using a datagrid form, each row has 1 checkbox, 3 fields and 2 buttons. One of the buttons (the one I need assistance with), named "Query" calls the "tsnet" library to query a remote WiFi module (esp8266) which returns the status of one of its IO pins. Works like a charm on ALL rows, scrolled or not... because (I reckon) the button is actually *IN* the grid, so there's no issue with the group name (as will become clear in a moment).. it is always "me". I also want to "automate" the queries (there are 8 such wifi modules involved). So I have a button outside of the datagrid which selects each row of the populated datagrid in a "repeat" statement and sends a "mouseUp" message to the datagrid. What I discovered is that (apparently) I have to "manufacture" the group name of each row to which I want to send the "mouseUp" message. So as I progress through the populated rows of the grid the "pseudo" group name of each row basically becomes the row number along with a prefix of "Row Template"... i.e. row 1's group name/label is "Row Template 0001", row 2 is "Row Template 0002", etc. Great... but once the grid starts to scroll, strange things start to happen. The pseudo-group name will "wrap"... and where it wraps depends on the number of rows which are initially visible on the grid. For example, if there are 8 populated rows and the DataGrid is sized to only show 3 rows at a time, upon the initialization of the Datagrid, the "pseudo" Row templates groups are named: row 1: "Row Template 0001" row 2: "Row Template 0002" row 3: "Row Template 0003" row 4: "Row Template 0004" row 5: "Row Template 0005" row 6: "Row Template 0001" row 7: "Row Template 0002" row 8: "Row Template 0003" this is demonstrated by putting a "put me" in the Behavior Script within the MouseUp handler to which I am sending the "mouseUp" message in order to "process" that row's content... i.e. on mouseUp put me ...do something end mouseUp What is interesting (and confusing at the same time), if I use a specific "wrapping pattern" (such as the one described above) and mutually "wrap" the name of the group to which I am about to send the "mouseUp" message, it works! ... i.e. from within the button outside of the datagrid: ... (in this example, the serverList array holds the 8 wifi module names I need to query with tsnet) put "0000" into pad put 0 into q repeat with y = 1 to (the number of lines in the keys of serverList) set the dgHilitedLines of group "DataGrid 1" to y add 1 to q if q > 5 then put 1 into q put char 1 to (4 - length(q)) of pad & q into z put char 1 to (4 - length(y)) of pad & y into z put "Row Template " & z into z send "mouseUp" to button "Query" of group z end repeat THIS is confusing because, although I am sending the same message to what appears to be the same pseudo-group name, once the grid scrolls beyond row 5, LC manages to know that I am actually referencing another grid row than the one(s) with the same pseudo-group names. To scroll the grid, programatically, I used: set the dgHilitedLines of group "DataGrid 1" to y to accomplish this. I also tried the more "seemingly appropriate": dispatch "ScrollLineIntoView" to group "DataGrid 1" with pLine" but this command changes the highlight of one of my fields which I have customized to have red text in case of an error. Regardless, using either method for scrolling does NOT seem to have any effect on the wrapping of the pseudo group name. Since this "wrap-point" changes based on the "amount" of the datagrid I "expose", this doesn't lend itself to portable or supportable code. If I don't "wrap" my group names according to this sort of pattern, once my code reaches the 6th line (in my example), I get a: " ... Chunk: can't find background), char 1 " error ... because "Row Template 0006" does not exist... it is "Row Template 0001" No doubt I'm approaching this wrong but I'm trying to teach myself datagrids and it's a struggle for this old brain! Is there another method for sending a "mouseUp" to a button on a datagrid form row? Douglas Ruisaard Trilogy Software (250) 573-3935 Douglas Ruisaard Trilogy Software (250) 573-3935 From monte at appisle.net Sat Aug 4 18:47:19 2018 From: monte at appisle.net (Monte Goulding) Date: Sun, 5 Aug 2018 08:47:19 +1000 Subject: LCB - Text entry/edit in a widget In-Reply-To: <1533398905339-0.post@n4.nabble.com> References: <1533398905339-0.post@n4.nabble.com> Message-ID: <67A1EC0A-9FB3-4F8D-BE0A-68F59497DEDA@appisle.net> There is still some work needed to be done in order for widgets to get keyboard focus and handle key events. A much simpler and available alternative though is to create and delete a field on top of the widget as required. > On 5 Aug 2018, at 2:08 am, pink via use-livecode wrote: > > What I would like to make is a widget that essentially functions as a multi > field form. > > I know how to add text to a widget, but how can I make editable by the user? > > Essentially, how can I create one or more "fields" in a widget? > > > > ----- > --- > Greg (pink) Miller > mad, pink and dangerous to code > -- > Sent from: http://runtime-revolution.278305.n4.nabble.com/Revolution-User-f278306.html > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From dougr at telus.net Sat Aug 4 18:57:36 2018 From: dougr at telus.net (Douglas Ruisaard) Date: Sat, 4 Aug 2018 15:57:36 -0700 Subject: Getting Started with DataGrid and another datagrid form Message-ID: <016a01d42c46$8abea5f0$a03bf1d0$@net> The more you understand a task, the more versatile and appropriate any given tool becomes. I think the biggest struggle for me is finding examples which are "close" to my own goal. I have no problem reverse engineering code... I've done it for a very long time. But unless the outcome closely approximates my need, such an exercise can be frustrating. In addition LC (which I very much like) has its own quirks regarding datagrids which are VERY confusing to the datagrid newbie... see my most recent issue with scrolling, for example. To provide a more effective and cumulative wishlist of suggestions, expectations and content, I really need to go back and (re-)employ your tool with my (now) somewhat fuller understanding of how to define and manipulate datagrids. I will do so in the near future and get back to you. I suspect that one just has to have a certain amount of base-level understanding of the datagrid components and behaviours in order to use datagrids. It's the old boot-strap problem. > Subject: Re: Getting Started with DataGrid and another datagrid form > question > > Dear Douglas, > > Thanks for your interesting feedback about your attempt to use DGH for the > first time, with creating a datagrid form. > > All the properties for customizing the datagrid apart, I've created the > form template area (the way to custom the content of a row with controls > such as image, buttons, etc) with the following objectives: > - in the standard way to customize a datagrid template, we have to open the > row template group inside the template card. In DGH all this group is > copied inside a "visual" area we can manipulate > - when dropping some controls in the template area, with the datagrid, you > are alone with the required script for managing all these controls. DGH, at > the condition to respond to the right dialog, is building a minimal script > depending of the kind of controls you added. Unfortunately this is > difficult to cover all the needs, because they are all specific depending > of the developer and what he want to do. But at least the goal of the > installed script is to give you the keys and philosophy to understand what > it is required for the controls.For a button, how to perform an action, for > a checkbox, how to check or uncheck it, for an image how to display it, to > click it, etc > - one of the recurrent difficulties for users was to understand the > datagrid rows remains empty until you have populate it. And because it is > empty you will never see the beautiful button or image you have added if > you have not at least a row data. This is why in DGH, upper the template > area, we have a datagrid preview, to see immediately the control we have > added. > > Your comment make me realize that it is not enough when you are beginning > with form template. One of my unexploited idea was to add kind of presets > template with for example a text on the left and four checkboxes on the > right, etc so the developper could start with ready to use templates to add > to his datagrid. The problem of the approach is covering needs, I can't > anticipate. > > What might have you expected from DGH in this task? More tutorial > explaining how the template area is working?, more lessons?, contextual > help in DGH to help you to start? Something else? Feel free to expand, I'm > always interested in approachs or ways I could try to implement in the goal > to improve DGH. > > Douglas Ruisaard Trilogy Software (250) 573-3935 From ahsoftware at sonic.net Sat Aug 4 19:14:52 2018 From: ahsoftware at sonic.net (Mark Wieder) Date: Sat, 4 Aug 2018 16:14:52 -0700 Subject: valueDiff for arrays? In-Reply-To: References: <10161fab-d733-c0ae-dadf-2814172461ef@sonic.net> <65fcd351-5f1f-8d15-1292-c58d6df5b7d0@sonic.net> <93beddfc-5a9c-a91c-72de-7144932914b4@sonic.net> <43dce488-5fee-0daf-71ab-84e69bc1c591@sonic.net> <1cb4e7882c3eabee975c01cbd8bb5355@livecode.com> Message-ID: <007a527c-7009-6418-db61-6d9190545ec4@sonic.net> On 08/04/2018 11:55 AM, Mark Waddingham via use-livecode wrote: > Remember that this isn't a unique problem to LiveCode - script only > stacks (particularly how we've grown to use them) are akin to C source > files / projects (mainly because that is abstractly what they are / I do realize that. But now that we've opened that can of worms I don't think we can just go on ignoring it. And the difference between LC script-only stacks and C source files is that you don't get to distribute a single compiled object in LC... you end up with a mainstack and several text files to distribute, and they need to stay together and in the same relative position. It's messy. > Perhaps 'Show IDE Stacks in lists' (or whatever it is called) has become > far far too blunt an instrument... What I was thinking. > For example, the PB could offer a new 'top-level' - which is project. A > project being defined by a set of stacks which share a common name > prefix... Well, when the PB was first proposed, that's where I thought this was heading. One thing I'd like, since you're asking (place this in the 'watch what you ask for' category) is to be able to use script-only stacks as substacks. That way I could edit them with a text editor and still work with only a single unified object. And the PB would hide the component stacks within the mainstack until I chose to examine them, the same way that substacks now work. Obviously there are script-only stacks that would not need to be substacks, but that's no different from the way stacks and substacks work now. And btw, thanks for your input on this list. On a Saturday even. Much appreciated. -- Mark Wieder ahsoftware at gmail.com From brian at milby7.com Sat Aug 4 19:18:32 2018 From: brian at milby7.com (Brian Milby) Date: Sat, 4 Aug 2018 18:18:32 -0500 Subject: datagrid scrolling question In-Reply-To: <016901d42c43$df14a490$9d3dedb0$@net> References: <016901d42c43$df14a490$9d3dedb0$@net> Message-ID: <2ff7641a-2808-4644-8282-807048002542@Spark> My question is why use the button? Loop through the data in the grid and make the tsnet call manually for each line. If the button is calling a script outside of the DG, then you can use the same call. Then you don?t have to do any of those things to figure out the name of the row group. On Aug 4, 2018, 5:39 PM -0500, Douglas Ruisaard via use-livecode , wrote: > I sent a badly constructed message with this content (more or less) a few days ago. I am re-posting it in the hope that anyone who tried to decipher those two messages will give this another consideration. > > So pardon the repeat, but I'm quite sure someone from this group can lend me a hand on this issue. > > Using LC v8.1.9 on Windows 7 pro > > Using a datagrid form, each row has 1 checkbox, 3 fields and 2 buttons. > > One of the buttons (the one I need assistance with), named "Query" calls the "tsnet" library to query a remote WiFi module (esp8266) which returns the status of one of its IO pins. Works like a charm on ALL rows, scrolled or not... because (I reckon) the button is actually *IN* the grid, so there's no issue with the group name (as will become clear in a moment).. it is always "me". > > I also want to "automate" the queries (there are 8 such wifi modules involved). So I have a button outside of the datagrid which selects each row of the populated datagrid in a "repeat" statement and sends a "mouseUp" message to the datagrid. > > What I discovered is that (apparently) I have to "manufacture" the group name of each row to which I want to send the "mouseUp" message. So as I progress through the populated rows of the grid the "pseudo" group name of each row basically becomes the row number along with a prefix of "Row Template"... i.e. row 1's group name/label is "Row Template 0001", row 2 is "Row Template 0002", etc. > > Great... but once the grid starts to scroll, strange things start to happen. The pseudo-group name will "wrap"... and where it wraps depends on the number of rows which are initially visible on the grid. > > For example, if there are 8 populated rows and the DataGrid is sized to only show 3 rows at a time, upon the initialization of the Datagrid, the "pseudo" Row templates groups are named: > > row 1: "Row Template 0001" > row 2: "Row Template 0002" > row 3: "Row Template 0003" > row 4: "Row Template 0004" > row 5: "Row Template 0005" > row 6: "Row Template 0001" > row 7: "Row Template 0002" > row 8: "Row Template 0003" > > this is demonstrated by putting a "put me" in the Behavior Script within the MouseUp handler to which I am sending the "mouseUp" message in order to "process" that row's content... i.e. > > on mouseUp > put me > ...do something > end mouseUp > > What is interesting (and confusing at the same time), if I use a specific "wrapping pattern" (such as the one described above) and mutually "wrap" the name of the group to which I am about to send the "mouseUp" message, it works! ... i.e. from within the button outside of the datagrid: > ... (in this example, the serverList array holds the 8 wifi module names I need to query with tsnet) > > put "0000" into pad > put 0 into q > repeat with y = 1 to (the number of lines in the keys of serverList) > set the dgHilitedLines of group "DataGrid 1" to y > add 1 to q > if q > 5 then put 1 into q > put char 1 to (4 - length(q)) of pad & q into z > put char 1 to (4 - length(y)) of pad & y into z > put "Row Template " & z into z > send "mouseUp" to button "Query" of group z > end repeat > > THIS is confusing because, although I am sending the same message to what appears to be the same pseudo-group name, once the grid scrolls beyond row 5, LC manages to know that I am actually referencing another grid row than the one(s) with the same pseudo-group names. > > To scroll the grid, programatically, I used: > set the dgHilitedLines of group "DataGrid 1" to y > to accomplish this. > > I also tried the more "seemingly appropriate": > dispatch "ScrollLineIntoView" to group "DataGrid 1" with pLine" > > but this command changes the highlight of one of my fields which I have customized to have red text in case of an error. Regardless, using either method for scrolling does NOT seem to have any effect on the wrapping of the pseudo group name. > > Since this "wrap-point" changes based on the "amount" of the datagrid I "expose", this doesn't lend itself to portable or supportable code. > > If I don't "wrap" my group names according to this sort of pattern, once my code reaches the 6th line (in my example), I get a: > " ... Chunk: can't find background), char 1 " error ... because "Row Template 0006" does not exist... it is "Row Template 0001" > > No doubt I'm approaching this wrong but I'm trying to teach myself datagrids and it's a struggle for this old brain! > Is there another method for sending a "mouseUp" to a button on a datagrid form row? > > Douglas Ruisaard > Trilogy Software > (250) 573-3935 > > > > Douglas Ruisaard > Trilogy Software > (250) 573-3935 > > > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From jacque at hyperactivesw.com Sat Aug 4 19:20:14 2018 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Sat, 4 Aug 2018 18:20:14 -0500 Subject: Move command on iOS In-Reply-To: References: <0947566F-0D0F-4DC3-903C-D3471644A6B6@mac.com> <6b7687bf-ebdc-cf4f-49ec-70fe3b3bcec1@hyperactivesw.com> Message-ID: On 8/4/18 5:11 PM, Monte Goulding via use-livecode wrote: > So I guess ensuring it is positioned correctly for the device before the first move and the hide move hides the whole thing would be a good place to start. I saw that, just fixed it today. This stack was made 6 years ago before we had fullscreenMode and rather than re-doing all the layouts to accomodate, I'm manually placing everything (my god I wish we'd had that earlier, half the scripts deal with placement, text size and height, and rotation.) I missed that one. But the fact that in spite of the initial bad placement the group still animated correctly makes me wonder what's different. -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com From jacque at hyperactivesw.com Sat Aug 4 19:21:20 2018 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Sat, 4 Aug 2018 18:21:20 -0500 Subject: Move command on iOS In-Reply-To: <5EEDFA2B-EB82-4A8D-AB6F-96DA7574B5C5@mac.com> References: <0947566F-0D0F-4DC3-903C-D3471644A6B6@mac.com> <6b7687bf-ebdc-cf4f-49ec-70fe3b3bcec1@hyperactivesw.com> <5EEDFA2B-EB82-4A8D-AB6F-96DA7574B5C5@mac.com> Message-ID: <68569512-2ca7-a832-f79c-a374220d391b@hyperactivesw.com> I did leave the group set to dynamic, actually. When I'm done tinkering with rotation adjustments I'll see if that helps. Thanks. On 8/4/18 4:06 PM, Randy Hengst via use-livecode wrote: > Did you leave the controls on dynamic? I found leaving them at static helped. > > be well, > randy > www.classroomFocusedSoftware.com > >> On Aug 4, 2018, at 3:00 PM, J. Landman Gay via use-livecode wrote: >> >> I did tinker with accleratedRendering when the problem first appeared. I turned it off before the move command and back on afterward, but it didn't help. I also changed the time so that the move was slower, but that didn't work either. >> >> Panos seems to have identified the reason for the failure in my case, though I'm not sure it is applicable everywhere. It's posted in the bug report . Would this situation apply to your stack(s)? >> >> I don't quite know why my stack ran okay on Monte's phone, and my stripped-down test with the same code ran okay in the simulator, but my real stack failed. Weird. >> >>> On 8/4/18 8:07 AM, Randy Hengst via use-livecode wrote: >>> Sorry I?m a bit late to this strand, but yes, I?ve seen what you?re describing Jacque. I?ve seen it in the simulator and when loaded on the iPad. >>> Have you tried turning off acceleratedRendering and setting to static? As I shared earlier with the list, the problem I?m seeing includes slowdowns of the movements. >>> I?ve read on in the strand? and I?m using move to ?. without waiting. The move for me always includes two buttons? sometimes five depending on the context of the call. >>> I was also seeing some issues with the acceleratedRendering/dynamic in the IDE. >>> be well, >>> randy >>> www.classroomFocusedSoftware.com >>>> On Aug 3, 2018, at 4:53 PM, J. Landman Gay via use-livecode wrote: >>>> >>>> Anyone else having trouble with the move command on iOS? I'm sliding a group into view, which works the first time, and after that it starts to move and then immediately jumps to its destination without any animation. It works fine in the IDE. >>>> >>>> AccleratedRendering is true and the group layermode is "dynamic". I don't have an actual phone to try it on, so maybe this is a simulator problem? >>>> >>>> -- >>>> Jacqueline Landman Gay | jacque at hyperactivesw.com >>>> HyperActive Software | http://www.hyperactivesw.com >>>> >>>> _______________________________________________ >>>> use-livecode mailing list >>>> use-livecode at 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 at lists.runrev.com >>> Please visit this url to subscribe, unsubscribe and manage your subscription preferences: >>> http://lists.runrev.com/mailman/listinfo/use-livecode >> >> >> -- >> Jacqueline Landman Gay | jacque at hyperactivesw.com >> HyperActive Software | http://www.hyperactivesw.com >> >> >> _______________________________________________ >> use-livecode mailing list >> use-livecode at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com From mark at livecode.com Sat Aug 4 19:45:32 2018 From: mark at livecode.com (Mark Waddingham) Date: Sun, 05 Aug 2018 01:45:32 +0200 Subject: valueDiff for =?UTF-8?Q?arrays=3F?= In-Reply-To: <007a527c-7009-6418-db61-6d9190545ec4@sonic.net> References: <10161fab-d733-c0ae-dadf-2814172461ef@sonic.net> <65fcd351-5f1f-8d15-1292-c58d6df5b7d0@sonic.net> <93beddfc-5a9c-a91c-72de-7144932914b4@sonic.net> <43dce488-5fee-0daf-71ab-84e69bc1c591@sonic.net> <1cb4e7882c3eabee975c01cbd8bb5355@livecode.com> <007a527c-7009-6418-db61-6d9190545ec4@sonic.net> Message-ID: <054c7ebe4168d2a3f8c5f290dbf7055c@livecode.com> On 2018-08-05 01:14, Mark Wieder via use-livecode wrote: > I do realize that. But now that we've opened that can of worms I don't > think we can just go on ignoring it. And the difference between LC > script-only stacks and C source files is that you don't get to > distribute a single compiled object in LC... you end up with a > mainstack and several text files to distribute, and they need to stay > together and in the same relative position. It's messy. Yes - however, as @Brian already pointed out in another message which distracted me in terms of a technical point of performance rather than the more important' high-level point he made... >> Perhaps 'Show IDE Stacks in lists' (or whatever it is called) has >> become far far too blunt an instrument... > > What I was thinking. >> For example, the PB could offer a new 'top-level' - which is project. >> A project being defined by a set of stacks which share a common name >> prefix... > > Well, when the PB was first proposed, that's where I thought this was > heading. Yes - 'projects' are a concept which LiveCode needs - although like lots of things its a case of 'when' rather than 'if' (even if the 'when' has been and still is measured in rather long timecales!). > One thing I'd like, since you're asking (place this in the 'watch what > you ask for' category) is to be able to use script-only stacks as > substacks. That way I could edit them with a text editor and still > work with only a single unified object. And the PB would hide the > component stacks within the mainstack until I chose to examine them, > the same way that substacks now work. Obviously there are script-only > stacks that would not need to be substacks, but that's no different > from the way stacks and substacks work now. I think modifications to the PB and a stricter naming convention for stacks could solve most of the problems which do exist here. After all it doesn't matter if (in memory) all stacks are in a 'flat' list (its up to the engine to optimize lookup) really - what matter is the view of them which is presented in the IDE - which is almost purely a PB concern. The other side of this, is what Brian hinted at - when building for distribution script-only stacks which are essentially 'children' of some component should be built into a single stack with substacks. This is essentially what scriptification and descriptification do: we have code for this in the repository... For example, there is an embedded UI stack in the engine which deals with licensing (the one which really does anything is in the livecode-private - which you all never see as that's the commercial side of the code). The environment stack (whether public or private) exists as a collection of script-only stacks and a single binary stack which holds the UI in the github repository, and when building the engine those collection of files get turned into a single mainstack. This could be done for all the IDE components which are composed in this way at the point we build the distribution - it would cut down the number of mainstacks considerably, and again perhaps mean 'show LiveCode UI elements' actually does the same as it did before things started to be scriptified. The other place this could come to bear is making the S/B (or some variant there-of) not only work to produce an application, but also a 'component/extension' - i.e. a distributable 'compiled' (in some sense) form of a collection of script only stacks which were much more easily distributable. The only thing we would lose by using this kind of process on the IDE would be the easy ability to 'monkey-hack' the IDE - although not significantly - it would just be slightly harder to pull out the changes to submit as a PR if you wanted too... However, that being said - we then just add a way you could just pull the IDE repository and have it use an engine from a pre-installed distribution. Internally we tend to edit the IDE from engines built from the engine repository - there's various redirection logic in the IDE and engine, so that when a 'build-from-source' engine is run, it looks to see if it is a github checkout, and if so loads and runs the IDE from the IDE submodule checkout. So upshot - in reality - we have most of the code and mechanisms already to at least get a long way to the ideal (which is a much more structured, built-in component architecture), it is 'just' a case of plumbing it in in some of the ways outlined above. Admittedly, not a small project, but certainly not one which would needed to be started from ground-zero. > And btw, thanks for your input on this list. On a Saturday even. Much > appreciated. Hehe - well it is a working day for me today, and tomorrow and the next week - I'm currently in Dallas, Texas, for FileMaker DevCon. Warmest Regards, Mark. -- Mark Waddingham ~ mark at livecode.com ~ http://www.livecode.com/ LiveCode: Everyone can create apps From brian at milby7.com Sat Aug 4 19:48:27 2018 From: brian at milby7.com (Brian Milby) Date: Sat, 4 Aug 2018 18:48:27 -0500 Subject: valueDiff for arrays? In-Reply-To: <007a527c-7009-6418-db61-6d9190545ec4@sonic.net> References: <10161fab-d733-c0ae-dadf-2814172461ef@sonic.net> <65fcd351-5f1f-8d15-1292-c58d6df5b7d0@sonic.net> <93beddfc-5a9c-a91c-72de-7144932914b4@sonic.net> <43dce488-5fee-0daf-71ab-84e69bc1c591@sonic.net> <1cb4e7882c3eabee975c01cbd8bb5355@livecode.com> <007a527c-7009-6418-db61-6d9190545ec4@sonic.net> Message-ID: On Sat, Aug 4, 2018 at 6:14 PM, Mark Wieder via use-livecode < use-livecode at lists.runrev.com> wrote: > On 08/04/2018 11:55 AM, Mark Waddingham via use-livecode wrote: > > Remember that this isn't a unique problem to LiveCode - script only stacks >> (particularly how we've grown to use them) are akin to C source files / >> projects (mainly because that is abstractly what they are / >> > > I do realize that. But now that we've opened that can of worms I don't > think we can just go on ignoring it. And the difference between LC > script-only stacks and C source files is that you don't get to distribute a > single compiled object in LC... you end up with a mainstack and several > text files to distribute, and they need to stay together and in the same > relative position. It's messy. I don't think it has to be this way. It would not be that difficult to script the integration of all included behaviors into buttons of a resource substack or even as substacks. I actually envision something along these lines for my Script Tracker as a way to include external library code in a single file stack yet still have it be managed outside of the stack (my code would sync the actual library code with a button that the stack would use as the library or behavior). One advantage is that name resolution of the behaviors would then be automatic. One thing I'd like, since you're asking (place this in the 'watch what you > ask for' category) is to be able to use script-only stacks as substacks. > Script Tracker could allow something like this now. The substacks would not be script only, but the exported script would look just like one. And I've looked at how Trevor is having Sublime Text notify LiveCode that a stack has been saved and believe that the same sort of thing is possible with Atom. Also, the code he uses to update a script only stack inside the IDE could also be used in a folder watch script to do the same thing without running a server process. I'm sure that at a certain point the number of files/folders watched would make it better to use his approach. And I'm still looking for the code examples checking parameters. I must have deleted my stack since I don't see it. Brian From mark at livecode.com Sat Aug 4 19:52:34 2018 From: mark at livecode.com (Mark Waddingham) Date: Sun, 05 Aug 2018 01:52:34 +0200 Subject: valueDiff for =?UTF-8?Q?arrays=3F?= In-Reply-To: <42eece80-e3f9-f230-1603-935be16fcce0@fourthworld.com> References: <42eece80-e3f9-f230-1603-935be16fcce0@fourthworld.com> Message-ID: On 2018-08-04 21:00, Richard Gaskin via use-livecode wrote: > Mark Waddingham wrote: > >> Yes - so come up with LCS handlers which do that, share them, let's >> work together to make them as efficient in LCS as possible and then >> see what we can do in the engine to improve their performance (which >> I'm guessing is as much the purpose for the proposition as the >> syntax). > > It is, primarily. The minor convenience is nice too, but you know how > much I love to see performance enhancements in the engine. > > As for implementation, Mark Wieder's looks good: > http://lists.runrev.com/pipermail/use-livecode/2018-August/248862.html One important point here (which I think is something which is often overlooked in LC as it is just something we deal with implicitly case by case)... In your use-case for 'valueDiff' - do you need to tell the difference between a key value being the empty string and a key value not being present at all? [ i.e. using an array key absence to emulate 'nothing': meaning you are actually storing nothing or a value (even the empty string). ] It might seem like a minor detail, but does change the operation somewhat (and potential implementations). Warmest Regards, Mark. -- Mark Waddingham ~ mark at livecode.com ~ http://www.livecode.com/ LiveCode: Everyone can create apps From james at thehales.id.au Sat Aug 4 19:52:28 2018 From: james at thehales.id.au (James At The Hale) Date: Sun, 5 Aug 2018 09:52:28 +1000 Subject: datagrid scrolling question Message-ID: I am a little lost here as to why this is a DG question as such. Certainly being able to dynamically fill data within a row is a great UI feature when the user is directly interacting with a row. But it seems you wish to completely fill particular values in all the rows from outside the DG. In this case, why not operate directly on the DGdata, loop through the array, fill in all the required values and then send the whole array back to the DG? From brian at milby7.com Sat Aug 4 21:23:19 2018 From: brian at milby7.com (Brian Milby) Date: Sat, 4 Aug 2018 20:23:19 -0500 Subject: valueDiff for arrays? In-Reply-To: References: <42eece80-e3f9-f230-1603-935be16fcce0@fourthworld.com> Message-ID: Here is code that only uses LCS to accomplish the goal (only returning the keys where they exist in both arrays but the values are different). This is made to be similar to the way the existing functions work (with the option to mutate). command valueDiff @pDestinationA, @pLeftA, pRightA local tMutate, tLeft, tRight, tNewRight if the paramCount is 3 then put false into tMutate put pLeftA into tLeft put pRightA into tRight else put true into tMutate put pDestinationA into tLeft put pLeftA into tRight end if repeat for each key tKey in tLeft if tKey is among the keys of tRight and \ tLeft[tKey] is not tRight[tKey] then put tRight[tKey] into tNewRight[tKey] next repeat end if delete variable tLeft[tKey] end repeat if tMutate then put tLeft into pDestinationA put tNewRight into pLeftA else put tLeft into pDestinationA["1"] put tNewRight into pDestinationA["2"] end if end valueDiff My question from an engine perspective is whether it would be faster to just generate both arrays instead of removing keys from tLeft. I decided to build the tNewRight to avoid iterating the keys of tRight. I'd be pretty confident that Mark's solution will be faster, even with 3 iterations over the keys. On Sat, Aug 4, 2018 at 6:52 PM, Mark Waddingham via use-livecode < use-livecode at lists.runrev.com> wrote: > On 2018-08-04 21:00, Richard Gaskin via use-livecode wrote: > >> Mark Waddingham wrote: >> >> Yes - so come up with LCS handlers which do that, share them, let's >>> work together to make them as efficient in LCS as possible and then >>> see what we can do in the engine to improve their performance (which >>> I'm guessing is as much the purpose for the proposition as the >>> syntax). >>> >> >> It is, primarily. The minor convenience is nice too, but you know how >> much I love to see performance enhancements in the engine. >> >> As for implementation, Mark Wieder's looks good: >> http://lists.runrev.com/pipermail/use-livecode/2018-August/248862.html >> > > One important point here (which I think is something which is often > overlooked in LC as it is just something we deal with implicitly case by > case)... > > In your use-case for 'valueDiff' - do you need to tell the difference > between a key value being the empty string and a key value not being > present at all? > > [ i.e. using an array key absence to emulate 'nothing': meaning you are > actually storing nothing or a value (even the empty string). ] > > It might seem like a minor detail, but does change the operation somewhat > (and potential implementations). > > Warmest Regards, > > Mark. > > -- > Mark Waddingham ~ mark at livecode.com ~ http://www.livecode.com/ > LiveCode: Everyone can create apps > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From monte at appisle.net Sat Aug 4 21:59:03 2018 From: monte at appisle.net (Monte Goulding) Date: Sun, 5 Aug 2018 11:59:03 +1000 Subject: valueDiff for arrays? In-Reply-To: References: <42eece80-e3f9-f230-1603-935be16fcce0@fourthworld.com> Message-ID: Just to throw it out there I still want to add `each` to filter one day. So in this case I think it would be: filter keys of tArray1 with expression \ each is among the keys of tArray2 and \ tArray1[each] is not tArray2[each] > On 5 Aug 2018, at 11:23 am, Brian Milby via use-livecode wrote: > > Here is code that only uses LCS to accomplish the goal (only returning the > keys where they exist in both arrays but the values are different). This > is made to be similar to the way the existing functions work (with the > option to mutate). > > command valueDiff @pDestinationA, @pLeftA, pRightA > local tMutate, tLeft, tRight, tNewRight > if the paramCount is 3 then > put false into tMutate > put pLeftA into tLeft > put pRightA into tRight > else > put true into tMutate > put pDestinationA into tLeft > put pLeftA into tRight > end if > repeat for each key tKey in tLeft > if tKey is among the keys of tRight and \ > tLeft[tKey] is not tRight[tKey] then > put tRight[tKey] into tNewRight[tKey] > next repeat > end if > delete variable tLeft[tKey] > end repeat > if tMutate then > put tLeft into pDestinationA > put tNewRight into pLeftA > else > put tLeft into pDestinationA["1"] > put tNewRight into pDestinationA["2"] > end if > end valueDiff > > My question from an engine perspective is whether it would be faster to > just generate both arrays instead of removing keys from tLeft. I decided > to build the tNewRight to avoid iterating the keys of tRight. > > I'd be pretty confident that Mark's solution will be faster, even with 3 > iterations over the keys. > > On Sat, Aug 4, 2018 at 6:52 PM, Mark Waddingham via use-livecode < > use-livecode at lists.runrev.com> wrote: > >> On 2018-08-04 21:00, Richard Gaskin via use-livecode wrote: >> >>> Mark Waddingham wrote: >>> >>> Yes - so come up with LCS handlers which do that, share them, let's >>>> work together to make them as efficient in LCS as possible and then >>>> see what we can do in the engine to improve their performance (which >>>> I'm guessing is as much the purpose for the proposition as the >>>> syntax). >>>> >>> >>> It is, primarily. The minor convenience is nice too, but you know how >>> much I love to see performance enhancements in the engine. >>> >>> As for implementation, Mark Wieder's looks good: >>> http://lists.runrev.com/pipermail/use-livecode/2018-August/248862.html >>> >> >> One important point here (which I think is something which is often >> overlooked in LC as it is just something we deal with implicitly case by >> case)... >> >> In your use-case for 'valueDiff' - do you need to tell the difference >> between a key value being the empty string and a key value not being >> present at all? >> >> [ i.e. using an array key absence to emulate 'nothing': meaning you are >> actually storing nothing or a value (even the empty string). ] >> >> It might seem like a minor detail, but does change the operation somewhat >> (and potential implementations). >> >> Warmest Regards, >> >> Mark. >> >> -- >> Mark Waddingham ~ mark at livecode.com ~ http://www.livecode.com/ >> LiveCode: Everyone can create apps >> >> _______________________________________________ >> use-livecode mailing list >> use-livecode at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From ahsoftware at sonic.net Sat Aug 4 22:01:52 2018 From: ahsoftware at sonic.net (Mark Wieder) Date: Sat, 4 Aug 2018 19:01:52 -0700 Subject: valueDiff for arrays? In-Reply-To: <054c7ebe4168d2a3f8c5f290dbf7055c@livecode.com> References: <10161fab-d733-c0ae-dadf-2814172461ef@sonic.net> <65fcd351-5f1f-8d15-1292-c58d6df5b7d0@sonic.net> <93beddfc-5a9c-a91c-72de-7144932914b4@sonic.net> <43dce488-5fee-0daf-71ab-84e69bc1c591@sonic.net> <1cb4e7882c3eabee975c01cbd8bb5355@livecode.com> <007a527c-7009-6418-db61-6d9190545ec4@sonic.net> <054c7ebe4168d2a3f8c5f290dbf7055c@livecode.com> Message-ID: <1b0db245-f3a8-3593-778d-a5ead53787b7@sonic.net> On 08/04/2018 04:45 PM, Mark Waddingham via use-livecode wrote: > The other place this could come to bear is making the S/B (or some > variant there-of) not only work to produce an application, but also a > 'component/extension' - i.e. a distributable 'compiled' (in some sense) > form of a collection of script only stacks which were much more easily > distributable. Hmmm... a 'bundle' of script-only stacks as a text file, especially if I could attach it as a substack is very appealing. This is certainly a need for stacks I distribute as stacks... for example, you can't use revOnline for script-only stacks or for LCB code. > Hehe - well it is a working day for me today, and tomorrow and the next > week - I'm currently in Dallas, Texas, for FileMaker DevCon. My condolences -- Mark Wieder ahsoftware at gmail.com From brian at milby7.com Sat Aug 4 22:11:19 2018 From: brian at milby7.com (Brian Milby) Date: Sat, 4 Aug 2018 21:11:19 -0500 Subject: valueDiff for arrays? In-Reply-To: <1b0db245-f3a8-3593-778d-a5ead53787b7@sonic.net> References: <10161fab-d733-c0ae-dadf-2814172461ef@sonic.net> <65fcd351-5f1f-8d15-1292-c58d6df5b7d0@sonic.net> <93beddfc-5a9c-a91c-72de-7144932914b4@sonic.net> <43dce488-5fee-0daf-71ab-84e69bc1c591@sonic.net> <1cb4e7882c3eabee975c01cbd8bb5355@livecode.com> <007a527c-7009-6418-db61-6d9190545ec4@sonic.net> <054c7ebe4168d2a3f8c5f290dbf7055c@livecode.com> <1b0db245-f3a8-3593-778d-a5ead53787b7@sonic.net> Message-ID: I think Mark's code had a typo (left returned too many keys), but even when corrected it takes half the time as a pure LCS solution. Here's my modification: function bwmValueDiff pLeft, pRight local tResult intersect pLeft with pRight into tResult["1"] repeat for each key tKey in tResult["1"] if pLeft[tKey] is pRight[tKey] then delete variable tResult["1"][tKey] end if end repeat intersect pRight with tResult["1"] into tResult["2"] return tResult end bwmValueDiff On Sat, Aug 4, 2018 at 9:01 PM, Mark Wieder via use-livecode < use-livecode at lists.runrev.com> wrote: > On 08/04/2018 04:45 PM, Mark Waddingham via use-livecode wrote: > > The other place this could come to bear is making the S/B (or some variant >> there-of) not only work to produce an application, but also a >> 'component/extension' - i.e. a distributable 'compiled' (in some sense) >> form of a collection of script only stacks which were much more easily >> distributable. >> > > Hmmm... a 'bundle' of script-only stacks as a text file, especially if I > could attach it as a substack is very appealing. This is certainly a need > for stacks I distribute as stacks... for example, you can't use revOnline > for script-only stacks or for LCB code. > > Hehe - well it is a working day for me today, and tomorrow and the next >> week - I'm currently in Dallas, Texas, for FileMaker DevCon. >> > > My condolences > > -- > Mark Wieder > ahsoftware at gmail.com > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From ahsoftware at sonic.net Sat Aug 4 22:41:29 2018 From: ahsoftware at sonic.net (Mark Wieder) Date: Sat, 4 Aug 2018 19:41:29 -0700 Subject: valueDiff for arrays? In-Reply-To: References: <65fcd351-5f1f-8d15-1292-c58d6df5b7d0@sonic.net> <93beddfc-5a9c-a91c-72de-7144932914b4@sonic.net> <43dce488-5fee-0daf-71ab-84e69bc1c591@sonic.net> <1cb4e7882c3eabee975c01cbd8bb5355@livecode.com> <007a527c-7009-6418-db61-6d9190545ec4@sonic.net> <054c7ebe4168d2a3f8c5f290dbf7055c@livecode.com> <1b0db245-f3a8-3593-778d-a5ead53787b7@sonic.net> Message-ID: On 08/04/2018 07:11 PM, Brian Milby via use-livecode wrote: > I think Mark's code had a typo (left returned too many keys), but even when > corrected it takes half the time as a pure LCS solution. Here's my > modification: Quite right. Good catch. -- Mark Wieder ahsoftware at gmail.com From jacque at hyperactivesw.com Sat Aug 4 23:12:52 2018 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Sat, 04 Aug 2018 22:12:52 -0500 Subject: datagrid scrolling question In-Reply-To: References: Message-ID: <1650812bf38.2761.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> I was thinking the same thing. I think the critical distinction is that datagrids are primarily display mechanisms, not really intended to be read directly. It's much easier to parse the original input data than to try to traverse the grid itself, which uses some tricks to appear as a continuous single control. -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com On August 4, 2018 6:54:21 PM James At The Hale via use-livecode wrote: > I am a little lost here as to why this is a DG question as such. > Certainly being able to dynamically fill data within a row is a great UI > feature when the user is directly interacting with a row. > But it seems you wish to completely fill particular values in all the rows > from outside the DG. > In this case, why not operate directly on the DGdata, loop through the > array, fill in all the required values and then send the whole array back > to the DG? > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From ahsoftware at sonic.net Sat Aug 4 23:42:13 2018 From: ahsoftware at sonic.net (Mark Wieder) Date: Sat, 4 Aug 2018 20:42:13 -0700 Subject: valueDiff for arrays? In-Reply-To: <625a63bf-bc22-0069-3898-5651c920ca26@hyperactivesw.com> References: <10161fab-d733-c0ae-dadf-2814172461ef@sonic.net> <65fcd351-5f1f-8d15-1292-c58d6df5b7d0@sonic.net> <16505f3ea60.2761.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <47dd9878d87fe5b5ccaad4dddb2ad277@livecode.com> <625a63bf-bc22-0069-3898-5651c920ca26@hyperactivesw.com> Message-ID: <36953edb-28b6-5c29-6e6f-b3dabf5d91c1@sonic.net> On 08/04/2018 12:20 PM, J. Landman Gay via use-livecode wrote: > On 8/4/18 12:41 PM, Mark Waddingham via use-livecode wrote: >> Can you immediately see the error? > > Who, me? LOL. Well, I did find the line that was different. Brian and > others who can read this stuff did better. But I did get the gist of > your post and feel sufficiently smug now. Careful with that. Smugness is the main way those things get messed up in the first place. -- Mark Wieder ahsoftware at gmail.com From brian at milby7.com Sun Aug 5 00:19:02 2018 From: brian at milby7.com (Brian Milby) Date: Sat, 4 Aug 2018 23:19:02 -0500 Subject: valueDiff for arrays? In-Reply-To: <36953edb-28b6-5c29-6e6f-b3dabf5d91c1@sonic.net> References: <10161fab-d733-c0ae-dadf-2814172461ef@sonic.net> <65fcd351-5f1f-8d15-1292-c58d6df5b7d0@sonic.net> <16505f3ea60.2761.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <47dd9878d87fe5b5ccaad4dddb2ad277@livecode.com> <625a63bf-bc22-0069-3898-5651c920ca26@hyperactivesw.com> <36953edb-28b6-5c29-6e6f-b3dabf5d91c1@sonic.net> Message-ID: I have not been able to locate the earlier conversation on pass by reference vice value. I did a quick test and it took 100,000 loops to be able to get a difference that was obvious. My test was to construct simple functions that took 1 to 3 parameters. 3 functions used all pass by value, 3 functions used all pass by reference. Code inside the function added 1 to each parameter and returned the first. The pass by reference function was consistently around 40ms faster than the matching value function. Making the functions private made them slightly faster but the delta was about the same. All of the values in this test were numeric. Those differences seem smaller that I recall, so I will do some additional test with arrays and strings. From monte at appisle.net Sun Aug 5 01:31:59 2018 From: monte at appisle.net (Monte Goulding) Date: Sun, 5 Aug 2018 15:31:59 +1000 Subject: valueDiff for arrays? In-Reply-To: References: <42eece80-e3f9-f230-1603-935be16fcce0@fourthworld.com> Message-ID: > On 5 Aug 2018, at 11:59 am, Monte Goulding via use-livecode wrote: > > Just to throw it out there I still want to add `each` to filter one day. So in this case I think it would be: > > filter keys of tArray1 with expression \ > each is among the keys of tArray2 and \ > tArray1[each] is not tArray2[each] Given I have been wanting to do ^ for a couple of years I decided to just go ahead and do it? might be a while before we have time to bikeshed the syntax though. https://github.com/livecode/livecode/pull/6626 Examples: local tFoo,tBar put "foo" into tFoo[1] put "bar" into tFoo[2] put "baz" into tBar[1] put "bar" into tBar[2] filter keys of tFoo with expression tFoo[each] is tBar[each] ? tFoo now has one key 2 which is `bar` put ?yes,foo? & return & ?no,bar? into tFoo filter lines of tFoo with expression item 1 of each is ?yes? We could feasibly not use `with|without` for this forcing the expression to return true to filter. If we went that way then perhaps `where` would be nicest? filter lines of tFoo where item 1 of each is ?yes? Cheers Monte From zryip.theslug at gmail.com Sun Aug 5 02:46:55 2018 From: zryip.theslug at gmail.com (zryip theSlug) Date: Sun, 5 Aug 2018 08:46:55 +0200 Subject: datagrid scrolling question In-Reply-To: <1650812bf38.2761.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> References: <1650812bf38.2761.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> Message-ID: Same remark than Mike, James and Jacque. When you have to change the value of each row, populating the datagrid with a new data, seems to be the better way to go. Now for helping you with datagrids, I think you have to understand 2 importants concepts about datagrids: - rows groups are created on the fly when you are scrolling the datagrid, so they have no existence if you are not scrolling the datagrid (excepted if the cache control option is activated, but this is another story). That is explaining you have to scroll yourself the datagrid to be able to send the click to the corresponding button - the data displayed in the datagrid resides in an array named dgData. This array is "multidimensional". Basically the first key is representing the line, and the second key is containing the values of the datagrid. put "Row 1 First key value" into tDataA[1]["First key"] put "Row 1 Second key value" into tDataA[1]["Second key"] put "Row 2 First key value" into tDataA[1]["First key"] put "Row 2 Second key value" into tDataA[1]["Second key"] For a datagrid table we have an immediate graphical representation because each keys are columns of the datagrid, and the fillindata handler located in the default row script is doing the job for us of automatically populate the column content. First Key Second key Row 1 First key value Row 1 Second key value Row 2 First key value Row 2 Second key value For datagrid form with more than one value key, the developer must take care himself of binding the key to one of the controls of the form template. So we could potentially have a key by control if required (or more than a key for a control. We will see the interest below). on FillInData pDataArray set the text of field "Label" of me to pDataArray["label 1"] end FillInData By default if you are populating the datagrid by using the inspector (or by using the dgText property), the first key will be "label 1", the second "label 2", etc. But if you are populating the datagrid by using the dgData array, the keys used will be the keys you have defined for your dgData. So in our example: "First key" and "Second key" An example of script for your "one checkbox, three fields and two buttons" template, might looks like: on FillInData pDataArray set the text of field "Label1" of me to pDataArray["label 1"] set the text of field "Label2" of me to pDataArray["label 2"] set the text of field "Label3" of me to pDataArray["label 3"] set the hilited of btn "Checkbox1" of me to (pDataArray["check box state"] is "true") end FillInData With a dgData looking like: put "My label 1 row 1" into tData[1]["label 1"] put "My label 2 row 1" into tData[1]["label 2"] put "My label 3 row 1" into tData[1]["label 3"] put "true" into tData[1]["check box state"] put "My label 1 row 2" into tData[2]["label 1"] put "My label 2 row 2" into tData[2]["label 2"] put "My label 3 row 3" into tData[2]["label 3"] put "false" into tData[2]["check box state"] set the dgData of grp "myDataGrid" to tData Now, for some purpose, such as interacting with the row controls, it could be interesting to have additional keys inside the data. Not I'm thinking a click in a button is required in your case. But you might have the need to hide or to disable a button of a specific row on the fly by clicking a button outside of the datagrid. In this case 1. we are changing the data for the row by using the set the dgDataOfIndex property (see the datagrid documentation http://lessons.livecode.com/m/datagrid/l/7315-how-do-i-update-data-in-a-row) 2. And when the data for the row is populated in the FillInData we might have a specific key for disabling the button: on FillInData pDataArray set the text of field "Label1" of me to pDataArray["label 1"] set the text of field "Label2" of me to pDataArray["label 2"] set the text of field "Label3" of me to pDataArray["label 3"] set the hilited of btn "Checkbox1" of me to (pDataArray["check box state"] is "true") set the enabled of btn "Action1" of me to (pDataArray["button enabled"] is "true") end FillInData Hope these few examples might help you a bit to better understanding datagrids. On Sun, Aug 5, 2018 at 5:12 AM, J. Landman Gay via use-livecode < use-livecode at lists.runrev.com> wrote: > I was thinking the same thing. I think the critical distinction is that > datagrids are primarily display mechanisms, not really intended to be read > directly. It's much easier to parse the original input data than to try to > traverse the grid itself, which uses some tricks to appear as a continuous > single control. > > -- > Jacqueline Landman Gay | jacque at hyperactivesw.com > HyperActive Software | http://www.hyperactivesw.com > > On August 4, 2018 6:54:21 PM James At The Hale via use-livecode < > use-livecode at lists.runrev.com> wrote: > > I am a little lost here as to why this is a DG question as such. >> Certainly being able to dynamically fill data within a row is a great UI >> feature when the user is directly interacting with a row. >> But it seems you wish to completely fill particular values in all the >> rows from outside the DG. >> In this case, why not operate directly on the DGdata, loop through the >> array, fill in all the required values and then send the whole array back >> to the DG? >> >> _______________________________________________ >> use-livecode mailing list >> use-livecode at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > -- Zryip TheSlug http://www.aslugontheroad.com From mark at livecode.com Sun Aug 5 08:20:44 2018 From: mark at livecode.com (Mark Waddingham) Date: Sun, 05 Aug 2018 14:20:44 +0200 Subject: valueDiff for =?UTF-8?Q?arrays=3F?= In-Reply-To: References: <42eece80-e3f9-f230-1603-935be16fcce0@fourthworld.com> Message-ID: <5b4bc37d13a79695b697a0492b1e6f02@livecode.com> On 2018-08-05 03:59, Monte Goulding via use-livecode wrote: > Just to throw it out there I still want to add `each` to filter one > day. So in this case I think it would be: > > filter keys of tArray1 with expression \ > each is among the keys of tArray2 and \ > tArray1[each] is not tArray2[each] Not quite - if I understand Richard's request correctly, and the code which has been presented then it cannot be done by a single filter on one array. The result he is asking for requires information from both arrays, some of which may not be shared. The above only contains information from tArray1. Warmest Regards, Mark. -- Mark Waddingham ~ mark at livecode.com ~ http://www.livecode.com/ LiveCode: Everyone can create apps From mark at livecode.com Sun Aug 5 08:32:00 2018 From: mark at livecode.com (Mark Waddingham) Date: Sun, 05 Aug 2018 14:32:00 +0200 Subject: valueDiff for =?UTF-8?Q?arrays=3F?= In-Reply-To: References: <42eece80-e3f9-f230-1603-935be16fcce0@fourthworld.com> Message-ID: <5957f2da3e3dffbf86e9d1967b23fc32@livecode.com> On 2018-08-05 07:31, Monte Goulding via use-livecode wrote: > Given I have been wanting to do ^ for a couple of years I decided to > just go ahead and do it? might be a while before we have time to > bikeshed the syntax though. > > https://github.com/livecode/livecode/pull/6626 > > > Examples: > local tFoo,tBar > put "foo" into tFoo[1] > put "bar" into tFoo[2] > put "baz" into tBar[1] > put "bar" into tBar[2] > filter keys of tFoo with expression tFoo[each] is tBar[each] > ? tFoo now has one key 2 which is `bar` > > put ?yes,foo? & return & ?no,bar? into tFoo > filter lines of tFoo with expression item 1 of each is ?yes? > > We could feasibly not use `with|without` for this forcing the > expression to return true to filter. If we went that way then perhaps > `where` would be nicest? > > filter lines of tFoo where item 1 of each is ?yes? Geez @Monte - you do like creating work for me don't you! ;) In terms of syntax - definitely not 'with expression' - that's ghastly. It is a 'where' clause - in the same vein as SQL and other query languages - so no bike-shedding required there (also, pleasingly, all other 'filter' types become sugar for a where clause using operators which the language does not have yet - but obviously we have the code for...). If we are going to bike-shed over syntax - can we do so over the use of 'filter' itself. I don't know why but I have a complete mental block about it - regardless of how many times I use it or read it - I always have to 'double-think' to work out what form to use - is that just me? filter of X with Y filter of X without Y I couldn't tell you just by looking *what* they actually do. I'm not sure why but I think the verb is actually wrong - in all cases you have a set of things and you are either keeping an element, or removing an element... So I wonder if: keep of X where Y discard of X where Y (I'm not particularly attached to keep/discard - but it does need to be a pair of 'true' antonyms which don't intersect with any other 'core' pairs of such things we have). Might be more appropriate? Of course, maybe it is just 'with' / 'without' are inappropriate, and 'where' might actually help me retrain my mind to see with/without as the sugar they truly are. Anyway, thought it worth throwing out there to see what people think? Warmest Regards, Mark. -- Mark Waddingham ~ mark at livecode.com ~ http://www.livecode.com/ LiveCode: Everyone can create apps From brian at milby7.com Sun Aug 5 09:49:50 2018 From: brian at milby7.com (Brian Milby) Date: Sun, 5 Aug 2018 08:49:50 -0500 Subject: valueDiff for arrays? In-Reply-To: <5957f2da3e3dffbf86e9d1967b23fc32@livecode.com> References: <42eece80-e3f9-f230-1603-935be16fcce0@fourthworld.com> <5957f2da3e3dffbf86e9d1967b23fc32@livecode.com> Message-ID: <573d5756-4d9a-4997-8256-cbc8ff9260f6@Spark> Current filter [{lines | items | keys | elements} of] filterSource {with | without | [not] matching} [{wildcard pattern | regex pattern}] filterPattern [into targetContainer] Possible Suggestion filter [{lines | items | keys | elements} of] filterSource {{with | without | [not] matching} [{wildcard | regex}] filterPattern | where filterExpression} [into targetContainer] ?matching? was added in 6 which would probably be clearer. Thanks, Brian From brian at milby7.com Sun Aug 5 10:00:35 2018 From: brian at milby7.com (Brian Milby) Date: Sun, 5 Aug 2018 09:00:35 -0500 Subject: valueDiff for arrays? In-Reply-To: <5957f2da3e3dffbf86e9d1967b23fc32@livecode.com> References: <42eece80-e3f9-f230-1603-935be16fcce0@fourthworld.com> <5957f2da3e3dffbf86e9d1967b23fc32@livecode.com> Message-ID: <4fc90f1a-e9cd-48e9-b3b0-4346af654c08@Spark> Or to include new modifiers: {keeping | discarding | with | without | [not] matching} Which if not using the ?into? form the first two make the statement much clearer as to the intent. Thanks, Brian From brian at milby7.com Sun Aug 5 10:36:25 2018 From: brian at milby7.com (Brian Milby) Date: Sun, 5 Aug 2018 09:36:25 -0500 Subject: valueDiff for arrays? In-Reply-To: <5957f2da3e3dffbf86e9d1967b23fc32@livecode.com> References: <42eece80-e3f9-f230-1603-935be16fcce0@fourthworld.com> <5957f2da3e3dffbf86e9d1967b23fc32@livecode.com> Message-ID: <8060add7-32a2-45e1-a552-f524ca5246ad@Spark> Probably better: filter [{lines | items | keys | elements} of] filterSource {keeping | discarding | with | without | [not] matching} {[{wildcard | regex} pattern] filterPattern | where filterExpression} [into targetContainer] So Monte?s example would be: filter keys of tFoo keeping where tFoo[each] is not tBar[each] (And to get Richard?s result you would need to follow this by an intersect each way. The filter would replace the repeat loop in Mark?s solution) Even though ?with where? would be syntactically correct, the preferred usage would be ?keeping where?. Thanks, Brian On Aug 5, 2018, 7:32 AM -0500, Mark Waddingham via use-livecode , wrote: > On 2018-08-05 07:31, Monte Goulding via use-livecode wrote: > > Given I have been wanting to do ^ for a couple of years I decided to > > just go ahead and do it? might be a while before we have time to > > bikeshed the syntax though. > > > > https://github.com/livecode/livecode/pull/6626 > > > > > > Examples: > > local tFoo,tBar > > put "foo" into tFoo[1] > > put "bar" into tFoo[2] > > put "baz" into tBar[1] > > put "bar" into tBar[2] > > filter keys of tFoo with expression tFoo[each] is tBar[each] > > ? tFoo now has one key 2 which is `bar` > > > > put ?yes,foo? & return & ?no,bar? into tFoo > > filter lines of tFoo with expression item 1 of each is ?yes? > > > > We could feasibly not use `with|without` for this forcing the > > expression to return true to filter. If we went that way then perhaps > > `where` would be nicest? > > > > filter lines of tFoo where item 1 of each is ?yes? > > Geez @Monte - you do like creating work for me don't you! ;) > > In terms of syntax - definitely not 'with expression' - that's ghastly. > It is a 'where' clause - in the same vein as SQL and other query > languages - so no bike-shedding required there (also, pleasingly, all > other 'filter' types become sugar for a where clause using operators > which the language does not have yet - but obviously we have the code > for...). > > If we are going to bike-shed over syntax - can we do so over the use of > 'filter' itself. I don't know why but I have a complete mental block > about it - regardless of how many times I use it or read it - I always > have to 'double-think' to work out what form to use - is that just me? > > filter of X with Y > filter of X without Y > > I couldn't tell you just by looking *what* they actually do. I'm not > sure why but I think the verb is actually wrong - in all cases you have > a set of things and you are either keeping an element, or removing an > element... So I wonder if: > > keep of X where Y > discard of X where Y > > (I'm not particularly attached to keep/discard - but it does need to be > a pair of 'true' antonyms which don't intersect with any other 'core' > pairs of such things we have). > > Might be more appropriate? > > Of course, maybe it is just 'with' / 'without' are inappropriate, and > 'where' might actually help me retrain my mind to see with/without as > the sugar they truly are. > > Anyway, thought it worth throwing out there to see what people think? > > Warmest Regards, > > Mark. > > -- > Mark Waddingham ~ mark at livecode.com ~ http://www.livecode.com/ > LiveCode: Everyone can create apps > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From mark at livecode.com Sun Aug 5 10:38:18 2018 From: mark at livecode.com (Mark Waddingham) Date: Sun, 05 Aug 2018 16:38:18 +0200 Subject: valueDiff for =?UTF-8?Q?arrays=3F?= In-Reply-To: <4fc90f1a-e9cd-48e9-b3b0-4346af654c08@Spark> References: <42eece80-e3f9-f230-1603-935be16fcce0@fourthworld.com> <5957f2da3e3dffbf86e9d1967b23fc32@livecode.com> <4fc90f1a-e9cd-48e9-b3b0-4346af654c08@Spark> Message-ID: <6774cdb3002c5e4b21effcfa7ee0ee6b@livecode.com> On 2018-08-05 16:00, Brian Milby wrote: > Or to include new modifiers: > {keeping | discarding | with | without | [not] matching} > > Which if not using the ?into? form the first two make the > statement much clearer as to the intent. So, I figured out my 'cognitive dissonance' on filter. The issue is that 'filter' by itself is not sufficient to suggest the operation the filter is performing - it is too general a term. However... I think Brian's suggestion of modifiers is actually much closer to the most appropriate syntax because they naturally work well with or without an 'into' clause. Contrast (with a minor tweak to @Brian's suggestion): keep lines of X [ where | matching | not matching ] Y -- seems okay keep lines of X [ where | matching | not matching ] Y into Z -- seems contorted discard lines of X [ where | matching | not matching ] Y -- seems okay discard lines of X [ where | matching | not matching ] Y into Z -- ambiguous, are the discarded lines going into Z, or the ones which aren't discarded? In contrast here are two potential forms with modifiers: A: filter X by ( keeping | discarding ) lines ( where | [ not ] matching | with | without ) Y [ into Z ] B: filter lines of X by keeping those ( where | [ not ] matching | with | without ) Y [ into Z ] In terms of these (A) I think is preferable - simply because we already use 'by' in the language - rather than 'those'; further it strongly suggests that the process 'moves' X to Z - by parsing the chunks of X through some filter defined by Y. The actual fundamental operation here is: Filter(source, chunk, predicate, target) Where predicate is formed as follows (assuming we had operators matching wildcard / matching pattern!): keeping where P -> P keeping with P -> each matches wildcard P keeping without P -> not (each matches wildcard P) keeping matching P -> each matches pattern P keeping not matching P -> not (each matches wildcard P) discarding where P -> not P discarding with P -> not (each matches wildcard P) discarding without P -> each matches wildcard P discarding matching P -> not (each matches pattern P) discarding not matching P -> each matches wildcard P So the actual underling operation is the same: P is a boolean predicate operating on 'each', where each is taken to be each 'chunk' of X in turn; if P(each) returns true, the element is kept, otherwise it is discarded. I quite like the above - it has a very simple underbelly (a single operation!), but the actual English-like syntax is a true and correct sentence. What do people think? Warmest Regards, Mark. -- Mark Waddingham ~ mark at livecode.com ~ http://www.livecode.com/ LiveCode: Everyone can create apps From dougr at telus.net Sun Aug 5 11:02:34 2018 From: dougr at telus.net (Douglas Ruisaard) Date: Sun, 5 Aug 2018 08:02:34 -0700 Subject: datagrid scrolling question In-Reply-To: m5p3flM2M1aztm5p5fTvc7 References: <016901d42c43$df14a490$9d3dedb0$@net> m5p3flM2M1aztm5p5fTvc7 Message-ID: <019501d42ccd$587a12a0$096e37e0$@net> Thanks very much for the reply. Good question .. made me think about why that won't work very well for me (but it would, of course, work). The button on each row not only queries the associated wi-fi module, but the "mouseUp" handler in the Behavior Script acquires a response back from each module. That message gets put into one of the fields in the row... so even if I didn't try to make a "mouseUp" call to within the row, I'd still want to populate each of the row's fields with the returning result... which would, of course, entail using the pseudo-group names again... *if* I wanted to display the returning information for each row "in real time"... which I do. There are two simple solutions, one of which I have done. Expand the grid to show all 8 rows and the scrolling issue disappears. Or ... as you suggest, "acquire" each row's data "outside" of the grid and then just display the complete set of data at once. Currently I do the former. Works very well on my big desktop monitor but not very "practical" to port to my iPad or Android... or any small display device. Another caveat is that each call to a wi-fi module take about 1 second to complete. This is a function of the module and what I am asking it to do... NOT an issue with "tsnet" (which is great!). So, taking the latter (your) approach, I'd lose the "real time" aspect and have to wait (#-of-modules * 1 second) before seeing any results. Currently that would be 8 seconds... not a *long* wait but annoying (in this age of microsecond responses). Expanding the project to more modules, obviously, increase the wait time... and I like the real-time display. However, this is as much a learning exercise as anything else... so I still would greatly appreciate if you or anyone could suggest an alternative methodology for issuing any sort of message to a datagrid, if there is one. Perhaps my method *is* the only one. THAT would be valuable information to have, as well. Douglas Ruisaard Trilogy Software (250) 573-3935 From: Brian Milby [mailto:brian at milby7.com] Subject: Re: datagrid scrolling question > My question is why use the button? Loop through the data in the grid and make the tsnet call manually for each line. > If the button is calling a script outside of the DG, then you can use the same call. > Then you don?t have to do any of those things to figure out the name of the row group. From brian at milby7.com Sun Aug 5 11:00:05 2018 From: brian at milby7.com (Brian Milby) Date: Sun, 5 Aug 2018 10:00:05 -0500 Subject: valueDiff for arrays? In-Reply-To: <6774cdb3002c5e4b21effcfa7ee0ee6b@livecode.com> References: <42eece80-e3f9-f230-1603-935be16fcce0@fourthworld.com> <5957f2da3e3dffbf86e9d1967b23fc32@livecode.com> <4fc90f1a-e9cd-48e9-b3b0-4346af654c08@Spark> <6774cdb3002c5e4b21effcfa7ee0ee6b@livecode.com> Message-ID: <2b4418c0-f4b2-4c29-a2f3-1ba06e5a0707@Spark> I like A. Here is my take on the actual dictionary syntax: filter filterSource by {keeping | discarding} [{lines | items | keys | elements}] {{with | without | [not] matching} {[{wildcard | regex} pattern] filterPattern | where filterExpression} [into targetContainer] Not sure about leaving the chunk type optional. It would make readability less obvious but no less than today. My guess is that retaining the earlier form (backwards compatibility) would be easy since the parser just needs to switch based on the third token being ?by?. The new form would be placed as the first one checked to make it the fastest to parse. Thanks, Brian On Aug 5, 2018, 9:38 AM -0500, Mark Waddingham via use-livecode , wrote: > On 2018-08-05 16:00, Brian Milby wrote: > > Or to include new modifiers: > > {keeping | discarding | with | without | [not] matching} > > > > Which if not using the ?into? form the first two make the > > statement much clearer as to the intent. > > So, I figured out my 'cognitive dissonance' on filter. The issue is that > 'filter' by itself is not sufficient to suggest the operation the filter > is performing - it is too general a term. However... > > I think Brian's suggestion of modifiers is actually much closer to the > most appropriate syntax because they naturally work well with or without > an 'into' clause. Contrast (with a minor tweak to @Brian's suggestion): > > keep lines of X [ where | matching | not matching ] Y -- seems okay > keep lines of X [ where | matching | not matching ] Y into Z -- seems > contorted > > discard lines of X [ where | matching | not matching ] Y -- seems okay > discard lines of X [ where | matching | not matching ] Y into Z -- > ambiguous, are the discarded lines going into Z, or the ones which > aren't discarded? > > In contrast here are two potential forms with modifiers: > > A: filter X by ( keeping | discarding ) lines ( where | [ not ] matching > | with | without ) Y [ into Z ] > > B: filter lines of X by keeping those ( where | [ not ] matching | with > | without ) Y [ into Z ] > > In terms of these (A) I think is preferable - simply because we already > use 'by' in the language - rather than 'those'; further it strongly > suggests that the process 'moves' X to Z - by parsing the chunks of X > through some filter defined by Y. > > The actual fundamental operation here is: > > Filter(source, chunk, predicate, target) > > Where predicate is formed as follows (assuming we had operators matching > wildcard / matching pattern!): > > keeping where P -> P > keeping with P -> each matches wildcard P > keeping without P -> not (each matches wildcard P) > keeping matching P -> each matches pattern P > keeping not matching P -> not (each matches wildcard P) > > discarding where P -> not P > discarding with P -> not (each matches wildcard P) > discarding without P -> each matches wildcard P > discarding matching P -> not (each matches pattern P) > discarding not matching P -> each matches wildcard P > > So the actual underling operation is the same: P is a boolean predicate > operating on 'each', where each is taken to be each 'chunk' of X in > turn; if P(each) returns true, the element is kept, otherwise it is > discarded. > > I quite like the above - it has a very simple underbelly (a single > operation!), but the actual English-like syntax is a true and correct > sentence. > > What do people think? > > Warmest Regards, > > Mark. > > -- > Mark Waddingham ~ mark at livecode.com ~ http://www.livecode.com/ > LiveCode: Everyone can create apps > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From brian at milby7.com Sun Aug 5 11:21:30 2018 From: brian at milby7.com (Brian Milby) Date: Sun, 5 Aug 2018 10:21:30 -0500 Subject: datagrid scrolling question In-Reply-To: <019501d42ccd$587a12a0$096e37e0$@net> References: <016901d42c43$df14a490$9d3dedb0$@net> <019501d42ccd$587a12a0$096e37e0$@net> Message-ID: <025d7ed3-57be-4f30-9a72-c1eb1a4f7457@Spark> You can get/put data from/into the grid one row at a time without needing to figure out the group name, so you could have it update in real time in your external button. You should be able to use the same behavior script (possibly with a slight modification) everywhere. I?m not at a computer right now so I will work out an example later if someone else doesn?t beat me to it. Thanks, Brian On Aug 5, 2018, 10:02 AM -0500, Douglas Ruisaard , wrote: > Thanks very much for the reply. > Good question .. made me think about why that won't work very well for me (but it would, of course, work). > > The button on each row not only queries the associated wi-fi module, but the "mouseUp" handler in the Behavior Script acquires a response back from each module. That message gets put into one of the fields in the row... so even if I didn't try to make a "mouseUp" call to within the row, I'd still want to populate each of the row's fields with the returning result... which would, of course, entail using the pseudo-group names again... *if* I wanted to display the returning information for each row "in real time"... which I do. > > There are two simple solutions, one of which I have done. Expand the grid to show all 8 rows and the scrolling issue disappears. Or ... as you suggest, "acquire" each row's data "outside" of the grid and then just display the complete set of data at once. Currently I do the former. Works very well on my big desktop monitor but not very "practical" to port to my iPad or Android... or any small display device. > > Another caveat is that each call to a wi-fi module take about 1 second to complete. This is a function of the module and what I am asking it to do... NOT an issue with "tsnet" (which is great!). So, taking the latter (your) approach, I'd lose the "real time" aspect and have to wait (#-of-modules * 1 second) before seeing any results. Currently that would be 8 seconds... not a *long* wait but annoying (in this age of microsecond responses). Expanding the project to more modules, obviously, increase the wait time... and I like the real-time display. > > However, this is as much a learning exercise as anything else... so I still would greatly appreciate if you or anyone could suggest an alternative methodology for issuing any sort of message to a datagrid, if there is one. Perhaps my method *is* the only one. THAT would be valuable information to have, as well. > > Douglas Ruisaard > Trilogy Software > (250) 573-3935 > > From: Brian Milby [mailto:brian at milby7.com] > Subject: Re: datagrid scrolling question > > > My question is why use the button? Loop through the data in the grid and make the tsnet call manually for each line. > > If the button is calling a script outside of the DG, then you can use the same call. > > Then you don?t have to do any of those things to figure out the name of the row group. > From jacque at hyperactivesw.com Sun Aug 5 11:36:31 2018 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Sun, 05 Aug 2018 10:36:31 -0500 Subject: valueDiff for arrays? In-Reply-To: <8060add7-32a2-45e1-a552-f524ca5246ad@Spark> References: <42eece80-e3f9-f230-1603-935be16fcce0@fourthworld.com> <5957f2da3e3dffbf86e9d1967b23fc32@livecode.com> <8060add7-32a2-45e1-a552-f524ca5246ad@Spark> Message-ID: <1650abb8490.2761.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> This is getting pretty contorted and is becoming less like natural language. For what it's worth, I have never been confused by the current use of filter. I think of it as pouring soup through a wire strainer. Filtering "with" keeps the solids. Filtering "without" dumps them and keeps the liquid. Maybe I cook too much. In any case, the solids (what remains after filtering) are the things you're either keeping or discarding. -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com On August 5, 2018 9:38:45 AM Brian Milby via use-livecode wrote: > Probably better: > > > filter [{lines | items | keys | elements} of] filterSource {keeping | > discarding | with | without | [not] matching} {[{wildcard | regex} pattern] > filterPattern | where filterExpression} [into targetContainer] > > > So Monte?s example would be: > filter keys of tFoo keeping where tFoo[each] is not tBar[each] > (And to get Richard?s result you would need to follow this by an intersect > each way. The filter would replace the repeat loop in Mark?s solution) > > > Even though ?with where? would be syntactically correct, the preferred > usage would be ?keeping where?. > > Thanks, > Brian > On Aug 5, 2018, 7:32 AM -0500, Mark Waddingham via use-livecode > , wrote: >> On 2018-08-05 07:31, Monte Goulding via use-livecode wrote: >> > Given I have been wanting to do ^ for a couple of years I decided to >> > just go ahead and do it? might be a while before we have time to >> > bikeshed the syntax though. >> > >> > https://github.com/livecode/livecode/pull/6626 >> > >> > >> > Examples: >> > local tFoo,tBar >> > put "foo" into tFoo[1] >> > put "bar" into tFoo[2] >> > put "baz" into tBar[1] >> > put "bar" into tBar[2] >> > filter keys of tFoo with expression tFoo[each] is tBar[each] >> > ? tFoo now has one key 2 which is `bar` >> > >> > put ?yes,foo? & return & ?no,bar? into tFoo >> > filter lines of tFoo with expression item 1 of each is ?yes? >> > >> > We could feasibly not use `with|without` for this forcing the >> > expression to return true to filter. If we went that way then perhaps >> > `where` would be nicest? >> > >> > filter lines of tFoo where item 1 of each is ?yes? >> >> Geez @Monte - you do like creating work for me don't you! ;) >> >> In terms of syntax - definitely not 'with expression' - that's ghastly. >> It is a 'where' clause - in the same vein as SQL and other query >> languages - so no bike-shedding required there (also, pleasingly, all >> other 'filter' types become sugar for a where clause using operators >> which the language does not have yet - but obviously we have the code >> for...). >> >> If we are going to bike-shed over syntax - can we do so over the use of >> 'filter' itself. I don't know why but I have a complete mental block >> about it - regardless of how many times I use it or read it - I always >> have to 'double-think' to work out what form to use - is that just me? >> >> filter of X with Y >> filter of X without Y >> >> I couldn't tell you just by looking *what* they actually do. I'm not >> sure why but I think the verb is actually wrong - in all cases you have >> a set of things and you are either keeping an element, or removing an >> element... So I wonder if: >> >> keep of X where Y >> discard of X where Y >> >> (I'm not particularly attached to keep/discard - but it does need to be >> a pair of 'true' antonyms which don't intersect with any other 'core' >> pairs of such things we have). >> >> Might be more appropriate? >> >> Of course, maybe it is just 'with' / 'without' are inappropriate, and >> 'where' might actually help me retrain my mind to see with/without as >> the sugar they truly are. >> >> Anyway, thought it worth throwing out there to see what people think? >> >> Warmest Regards, >> >> Mark. >> >> -- >> Mark Waddingham ~ mark at livecode.com ~ http://www.livecode.com/ >> LiveCode: Everyone can create apps >> >> _______________________________________________ >> use-livecode mailing list >> use-livecode at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From mark at livecode.com Sun Aug 5 12:08:58 2018 From: mark at livecode.com (Mark Waddingham) Date: Sun, 05 Aug 2018 18:08:58 +0200 Subject: valueDiff for =?UTF-8?Q?arrays=3F?= In-Reply-To: <1650abb8490.2761.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> References: <42eece80-e3f9-f230-1603-935be16fcce0@fourthworld.com> <5957f2da3e3dffbf86e9d1967b23fc32@livecode.com> <8060add7-32a2-45e1-a552-f524ca5246ad@Spark> <1650abb8490.2761.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> Message-ID: On 2018-08-05 17:36, J. Landman Gay via use-livecode wrote: > This is getting pretty contorted and is becoming less like natural > language. For what it's worth, I have never been confused by the > current use of filter. I think of it as pouring soup through a wire > strainer. Filtering "with" keeps the solids. Filtering "without" dumps > them and keeps the liquid. I honestly can't see how: filter lines of X with Y Is less contorted and more natural language than: filter X by keeping lines matching Y The former *requires* 'arcane' knowledge to comprehend (it is a significant contraction of concepts - you need to know the contractions precisely to understand it!) - the latter does precisely what it says - it is actually a fully correct and full English sentence... Warmest Regards, Mark. -- Mark Waddingham ~ mark at livecode.com ~ http://www.livecode.com/ LiveCode: Everyone can create apps From dvglasgow at gmail.com Sun Aug 5 12:23:04 2018 From: dvglasgow at gmail.com (David Glasgow) Date: Sun, 5 Aug 2018 17:23:04 +0100 Subject: valueDiff for arrays? In-Reply-To: <1650abb8490.2761.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> References: <42eece80-e3f9-f230-1603-935be16fcce0@fourthworld.com> <5957f2da3e3dffbf86e9d1967b23fc32@livecode.com> <8060add7-32a2-45e1-a552-f524ca5246ad@Spark> <1650abb8490.2761.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> Message-ID: Maybe 'strain' could be a culinary synonym? ;-) Best wishes David Glasgow Sent from my iPad via iBrain & iFingers LinkedIn > On 5 Aug 2018, at 16:36, J. Landman Gay via use-livecode wrote: > > This is getting pretty contorted and is becoming less like natural language. For what it's worth, I have never been confused by the current use of filter. I think of it as pouring soup through a wire strainer. Filtering "with" keeps the solids. Filtering "without" dumps them and keeps the liquid. > > Maybe I cook too much. In any case, the solids (what remains after filtering) are the things you're either keeping or discarding. > -- > Jacqueline Landman Gay | jacque at hyperactivesw.com > HyperActive Software | http://www.hyperactivesw.com >> On August 5, 2018 9:38:45 AM Brian Milby via use-livecode wrote: >> >> Probably better: >> >> >> filter [{lines | items | keys | elements} of] filterSource {keeping | discarding | with | without | [not] matching} {[{wildcard | regex} pattern] filterPattern | where filterExpression} [into targetContainer] >> >> >> So Monte?s example would be: >> filter keys of tFoo keeping where tFoo[each] is not tBar[each] >> (And to get Richard?s result you would need to follow this by an intersect each way. The filter would replace the repeat loop in Mark?s solution) >> >> >> Even though ?with where? would be syntactically correct, the preferred usage would be ?keeping where?. >> >> Thanks, >> Brian >>> On Aug 5, 2018, 7:32 AM -0500, Mark Waddingham via use-livecode , wrote: >>> On 2018-08-05 07:31, Monte Goulding via use-livecode wrote: >>> > Given I have been wanting to do ^ for a couple of years I decided to >>> > just go ahead and do it? might be a while before we have time to >>> > bikeshed the syntax though. >>> > >>> > https://github.com/livecode/livecode/pull/6626 >>> > >>> > >>> > Examples: >>> > local tFoo,tBar >>> > put "foo" into tFoo[1] >>> > put "bar" into tFoo[2] >>> > put "baz" into tBar[1] >>> > put "bar" into tBar[2] >>> > filter keys of tFoo with expression tFoo[each] is tBar[each] >>> > ? tFoo now has one key 2 which is `bar` >>> > >>> > put ?yes,foo? & return & ?no,bar? into tFoo >>> > filter lines of tFoo with expression item 1 of each is ?yes? >>> > >>> > We could feasibly not use `with|without` for this forcing the >>> > expression to return true to filter. If we went that way then perhaps >>> > `where` would be nicest? >>> > >>> > filter lines of tFoo where item 1 of each is ?yes? >>> >>> Geez @Monte - you do like creating work for me don't you! ;) >>> >>> In terms of syntax - definitely not 'with expression' - that's ghastly. >>> It is a 'where' clause - in the same vein as SQL and other query >>> languages - so no bike-shedding required there (also, pleasingly, all >>> other 'filter' types become sugar for a where clause using operators >>> which the language does not have yet - but obviously we have the code >>> for...). >>> >>> If we are going to bike-shed over syntax - can we do so over the use of >>> 'filter' itself. I don't know why but I have a complete mental block >>> about it - regardless of how many times I use it or read it - I always >>> have to 'double-think' to work out what form to use - is that just me? >>> >>> filter of X with Y >>> filter of X without Y >>> >>> I couldn't tell you just by looking *what* they actually do. I'm not >>> sure why but I think the verb is actually wrong - in all cases you have >>> a set of things and you are either keeping an element, or removing an >>> element... So I wonder if: >>> >>> keep of X where Y >>> discard of X where Y >>> >>> (I'm not particularly attached to keep/discard - but it does need to be >>> a pair of 'true' antonyms which don't intersect with any other 'core' >>> pairs of such things we have). >>> >>> Might be more appropriate? >>> >>> Of course, maybe it is just 'with' / 'without' are inappropriate, and >>> 'where' might actually help me retrain my mind to see with/without as >>> the sugar they truly are. >>> >>> Anyway, thought it worth throwing out there to see what people think? >>> >>> Warmest Regards, >>> >>> Mark. >>> >>> -- >>> Mark Waddingham ~ mark at livecode.com ~ http://www.livecode.com/ >>> LiveCode: Everyone can create apps >>> >>> _______________________________________________ >>> use-livecode mailing list >>> use-livecode at 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 at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From zryip.theslug at gmail.com Sun Aug 5 12:46:33 2018 From: zryip.theslug at gmail.com (zryip theSlug) Date: Sun, 5 Aug 2018 18:46:33 +0200 Subject: datagrid scrolling question In-Reply-To: <025d7ed3-57be-4f30-9a72-c1eb1a4f7457@Spark> References: <016901d42c43$df14a490$9d3dedb0$@net> <019501d42ccd$587a12a0$096e37e0$@net> <025d7ed3-57be-4f30-9a72-c1eb1a4f7457@Spark> Message-ID: A possible approach for updating only one row is described here: Now, for some purpose, such as interacting with the row controls, it could be interesting to have additional keys inside the data. Not I'm thinking a click in a button is required in your case. But you might have the need to hide or to disable a button of a specific row on the fly by clicking a button outside of the datagrid. In this case 1. we are changing the data for the row by using the set the dgDataOfIndex property (see the datagrid documentation http://lessons.livecode.com/m/datagrid/l/7315-how-do-i-update-data-in-a-row) 2. And when the data for the row is populated in the FillInData we might have a specific key for disabling the button: on FillInData pDataArray set the text of field "Label1" of me to pDataArray["label 1"] set the text of field "Label2" of me to pDataArray["label 2"] set the text of field "Label3" of me to pDataArray["label 3"] set the hilited of btn "Checkbox1" of me to (pDataArray["check box state"] is "true") set the enabled of btn "Action1" of me to (pDataArray["button enabled"] is "true") end FillInData You can add a special "update" row key for example in the dgData and if it is true, execute the code of the mouseUp button on FillInData pDataArray set the text of field "Label1" of me to pDataArray["label 1"] set the text of field "Label2" of me to pDataArray["label 2"] set the text of field "Label3" of me to pDataArray["label 3"] set the hilited of btn "Checkbox1" of me to (pDataArray["check box state"] is "true") if (pDataArray["update"] is "true") then doMyTSNetQuery end if end FillInData on mouseUp doMyTSNetQuery end mouseUp command doMyTSNetQuery doSomething end doMyTSNetQuery You are not sharing the code on how your are updating the result field. If you are trying to put the result value directly in the field of each row by considering the datagrid as a simple group of controls you are in the wrong direction. Datagrid is a way to display data, so use the data to serve your needs and you will be able to tame the beast. :) For doing that use the FillInData handler. This will just send the message to the datagrid to execute a doMyTSNetQuery message to the row. And for changing the content of the result field of the second row for example, use something like SetDataOfLine 2, "update", true and once finished, pass the value to false to stop the update. Let me know if you could have the need of the following example: A datagrid with 8 rows containing a button, a result field. Plus a button outside of the datagrid to query an update of one of the result field by executing the code of one of the button. Do you have different scripts for each button? On Sun, Aug 5, 2018 at 5:21 PM, Brian Milby via use-livecode < use-livecode at lists.runrev.com> wrote: > You can get/put data from/into the grid one row at a time without needing > to figure out the group name, so you could have it update in real time in > your external button. You should be able to use the same behavior script > (possibly with a slight modification) everywhere. > > I?m not at a computer right now so I will work out an example later if > someone else doesn?t beat me to it. > > Thanks, > Brian > On Aug 5, 2018, 10:02 AM -0500, Douglas Ruisaard , wrote: > > Thanks very much for the reply. > > Good question .. made me think about why that won't work very well for > me (but it would, of course, work). > > > > The button on each row not only queries the associated wi-fi module, but > the "mouseUp" handler in the Behavior Script acquires a response back from > each module. That message gets put into one of the fields in the row... so > even if I didn't try to make a "mouseUp" call to within the row, I'd still > want to populate each of the row's fields with the returning result... > which would, of course, entail using the pseudo-group names again... *if* I > wanted to display the returning information for each row "in real time"... > which I do. > > > > There are two simple solutions, one of which I have done. Expand the > grid to show all 8 rows and the scrolling issue disappears. Or ... as you > suggest, "acquire" each row's data "outside" of the grid and then just > display the complete set of data at once. Currently I do the former. Works > very well on my big desktop monitor but not very "practical" to port to my > iPad or Android... or any small display device. > > > > Another caveat is that each call to a wi-fi module take about 1 second > to complete. This is a function of the module and what I am asking it to > do... NOT an issue with "tsnet" (which is great!). So, taking the latter > (your) approach, I'd lose the "real time" aspect and have to wait > (#-of-modules * 1 second) before seeing any results. Currently that would > be 8 seconds... not a *long* wait but annoying (in this age of microsecond > responses). Expanding the project to more modules, obviously, increase the > wait time... and I like the real-time display. > > > > However, this is as much a learning exercise as anything else... so I > still would greatly appreciate if you or anyone could suggest an > alternative methodology for issuing any sort of message to a datagrid, if > there is one. Perhaps my method *is* the only one. THAT would be valuable > information to have, as well. > > > > Douglas Ruisaard > > Trilogy Software > > (250) 573-3935 > > > > From: Brian Milby [mailto:brian at milby7.com] > > Subject: Re: datagrid scrolling question > > > > > My question is why use the button? Loop through the data in the grid > and make the tsnet call manually for each line. > > > If the button is calling a script outside of the DG, then you can use > the same call. > > > Then you don?t have to do any of those things to figure out the name > of the row group. > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > -- Zryip TheSlug http://www.aslugontheroad.com From mark at livecode.com Sun Aug 5 12:51:23 2018 From: mark at livecode.com (Mark Waddingham) Date: Sun, 5 Aug 2018 11:51:23 -0500 Subject: valueDiff for arrays? In-Reply-To: References: <42eece80-e3f9-f230-1603-935be16fcce0@fourthworld.com> <5957f2da3e3dffbf86e9d1967b23fc32@livecode.com> <8060add7-32a2-45e1-a552-f524ca5246ad@Spark> <1650abb8490.2761.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> Message-ID: Well... strain X through Y Does kind of work - although it still doesn't explicitly relate what is to be kept (which is implicit in context in a recipe) and that's the deficiency in the current syntax. We can make all parts optional in the new proposed form which would mean you can still write a significant contraction. However, by being verbose you can make the command a complete representation of what is being done without needing to understand the context of the operation (which means code which is more verbose is much more quickly readable). Anyway, maybe when we finally get to open language we can have a culinary based variant syntax ;) Warmest Regards, Mark. Sent from my iPhone > On 5 Aug 2018, at 11:23, David Glasgow via use-livecode wrote: > > Maybe 'strain' could be a culinary synonym? > ;-) > > Best wishes > > David Glasgow > > Sent from my iPad via iBrain & iFingers > > LinkedIn > >> On 5 Aug 2018, at 16:36, J. Landman Gay via use-livecode wrote: >> >> This is getting pretty contorted and is becoming less like natural language. For what it's worth, I have never been confused by the current use of filter. I think of it as pouring soup through a wire strainer. Filtering "with" keeps the solids. Filtering "without" dumps them and keeps the liquid. >> >> Maybe I cook too much. In any case, the solids (what remains after filtering) are the things you're either keeping or discarding. >> -- >> Jacqueline Landman Gay | jacque at hyperactivesw.com >> HyperActive Software | http://www.hyperactivesw.com >>> On August 5, 2018 9:38:45 AM Brian Milby via use-livecode wrote: >>> >>> Probably better: >>> >>> >>> filter [{lines | items | keys | elements} of] filterSource {keeping | discarding | with | without | [not] matching} {[{wildcard | regex} pattern] filterPattern | where filterExpression} [into targetContainer] >>> >>> >>> So Monte?s example would be: >>> filter keys of tFoo keeping where tFoo[each] is not tBar[each] >>> (And to get Richard?s result you would need to follow this by an intersect each way. The filter would replace the repeat loop in Mark?s solution) >>> >>> >>> Even though ?with where? would be syntactically correct, the preferred usage would be ?keeping where?. >>> >>> Thanks, >>> Brian >>>> On Aug 5, 2018, 7:32 AM -0500, Mark Waddingham via use-livecode , wrote: >>>>> On 2018-08-05 07:31, Monte Goulding via use-livecode wrote: >>>>> Given I have been wanting to do ^ for a couple of years I decided to >>>>> just go ahead and do it? might be a while before we have time to >>>>> bikeshed the syntax though. >>>>> >>>>> https://github.com/livecode/livecode/pull/6626 >>>>> >>>>> >>>>> Examples: >>>>> local tFoo,tBar >>>>> put "foo" into tFoo[1] >>>>> put "bar" into tFoo[2] >>>>> put "baz" into tBar[1] >>>>> put "bar" into tBar[2] >>>>> filter keys of tFoo with expression tFoo[each] is tBar[each] >>>>> ? tFoo now has one key 2 which is `bar` >>>>> >>>>> put ?yes,foo? & return & ?no,bar? into tFoo >>>>> filter lines of tFoo with expression item 1 of each is ?yes? >>>>> >>>>> We could feasibly not use `with|without` for this forcing the >>>>> expression to return true to filter. If we went that way then perhaps >>>>> `where` would be nicest? >>>>> >>>>> filter lines of tFoo where item 1 of each is ?yes? >>>> >>>> Geez @Monte - you do like creating work for me don't you! ;) >>>> >>>> In terms of syntax - definitely not 'with expression' - that's ghastly. >>>> It is a 'where' clause - in the same vein as SQL and other query >>>> languages - so no bike-shedding required there (also, pleasingly, all >>>> other 'filter' types become sugar for a where clause using operators >>>> which the language does not have yet - but obviously we have the code >>>> for...). >>>> >>>> If we are going to bike-shed over syntax - can we do so over the use of >>>> 'filter' itself. I don't know why but I have a complete mental block >>>> about it - regardless of how many times I use it or read it - I always >>>> have to 'double-think' to work out what form to use - is that just me? >>>> >>>> filter of X with Y >>>> filter of X without Y >>>> >>>> I couldn't tell you just by looking *what* they actually do. I'm not >>>> sure why but I think the verb is actually wrong - in all cases you have >>>> a set of things and you are either keeping an element, or removing an >>>> element... So I wonder if: >>>> >>>> keep of X where Y >>>> discard of X where Y >>>> >>>> (I'm not particularly attached to keep/discard - but it does need to be >>>> a pair of 'true' antonyms which don't intersect with any other 'core' >>>> pairs of such things we have). >>>> >>>> Might be more appropriate? >>>> >>>> Of course, maybe it is just 'with' / 'without' are inappropriate, and >>>> 'where' might actually help me retrain my mind to see with/without as >>>> the sugar they truly are. >>>> >>>> Anyway, thought it worth throwing out there to see what people think? >>>> >>>> Warmest Regards, >>>> >>>> Mark. >>>> >>>> -- >>>> Mark Waddingham ~ mark at livecode.com ~ http://www.livecode.com/ >>>> LiveCode: Everyone can create apps >>>> >>>> _______________________________________________ >>>> use-livecode mailing list >>>> use-livecode at 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 at 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 at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From brahma at hindu.org Sun Aug 5 13:03:27 2018 From: brahma at hindu.org (Sannyasin Brahmanathaswami) Date: Sun, 5 Aug 2018 17:03:27 +0000 Subject: Getting Started with DataGrid and another datagrid form References: <016a01d42c46$8abea5f0$a03bf1d0$@net> Message-ID: I slowly studying as much as we can on the datagrid,and "digging" in it with an first attempt to build a form. One thing is not clear to me. 1) Have the WYSIG panel to build the datagrid form. 2) why then do we have, in the Behavior Script this handler? Isn't the layout already pre-determined in the template? on LayoutControl pControlRect, pWorkingRect local theFieldRect -- This message is sent when you should layout your template's controls. -- This is where you resize the 'Background' graphic, resize fields and -- position objects. -- For fixed height data grid forms you can use items 1 through 4 of pControlRect as -- boundaries for laying out your controls. -- For variable height data grid forms you can use items 1 through 3 of pControlRect as -- boundaries, expanding the height of your control as needed. -- The working rect is defined area of the control you can safelt use. -- Use this rect to make sure your controls don't overlap with any edit mode controls. -- Example: put the rect of field "Label" of me into theFieldRect put item 1 of pWorkingRect into item 1 of theFieldRect put item 3 of pWorkingRect - 5 into item 3 of theFieldRect set the rect of field "Label" of me to theFieldRect set the rect of graphic "Background" of me to pControlRect end LayoutControl BR From jacque at hyperactivesw.com Sun Aug 5 13:04:42 2018 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Sun, 05 Aug 2018 12:04:42 -0500 Subject: valueDiff for arrays? In-Reply-To: References: <42eece80-e3f9-f230-1603-935be16fcce0@fourthworld.com> <5957f2da3e3dffbf86e9d1967b23fc32@livecode.com> <8060add7-32a2-45e1-a552-f524ca5246ad@Spark> <1650abb8490.2761.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> Message-ID: <1650b0c4c40.2761.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> Yes, yours is natural. Some of the others were stretching it a bit. -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com On August 5, 2018 11:10:47 AM Mark Waddingham via use-livecode wrote: > On 2018-08-05 17:36, J. Landman Gay via use-livecode wrote: >> This is getting pretty contorted and is becoming less like natural >> language. For what it's worth, I have never been confused by the >> current use of filter. I think of it as pouring soup through a wire >> strainer. Filtering "with" keeps the solids. Filtering "without" dumps >> them and keeps the liquid. > > I honestly can't see how: > > filter lines of X with Y > > Is less contorted and more natural language than: > > filter X by keeping lines matching Y > > The former *requires* 'arcane' knowledge to comprehend (it is a > significant contraction of concepts - you need to know the contractions > precisely to understand it!) - the latter does precisely what it says - > it is actually a fully correct and full English sentence... > > Warmest Regards, > > Mark. > > -- > Mark Waddingham ~ mark at livecode.com ~ http://www.livecode.com/ > LiveCode: Everyone can create apps > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From jacque at hyperactivesw.com Sun Aug 5 13:14:05 2018 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Sun, 05 Aug 2018 12:14:05 -0500 Subject: valueDiff for arrays? In-Reply-To: References: <42eece80-e3f9-f230-1603-935be16fcce0@fourthworld.com> <5957f2da3e3dffbf86e9d1967b23fc32@livecode.com> <8060add7-32a2-45e1-a552-f524ca5246ad@Spark> <1650abb8490.2761.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> Message-ID: <1650b14e378.2761.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> I think "filter" is culinary enough. Coffee filters do the same thing, only they filter without. :) -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com On August 5, 2018 11:53:11 AM Mark Waddingham via use-livecode wrote: > Well... > > strain X through Y > > Does kind of work - although it still doesn't explicitly relate what is to > be kept (which is implicit in context in a recipe) and that's the > deficiency in the current syntax. > > We can make all parts optional in the new proposed form which would mean > you can still write a significant contraction. However, by being verbose > you can make the command a complete representation of what is being done > without needing to understand the context of the operation (which means > code which is more verbose is much more quickly readable). > > Anyway, maybe when we finally get to open language we can have a culinary > based variant syntax ;) > > Warmest Regards, > > Mark. > > Sent from my iPhone > >> On 5 Aug 2018, at 11:23, David Glasgow via use-livecode >> wrote: >> >> Maybe 'strain' could be a culinary synonym? >> ;-) >> >> Best wishes >> >> David Glasgow >> >> Sent from my iPad via iBrain & iFingers >> >> LinkedIn >> >>> On 5 Aug 2018, at 16:36, J. Landman Gay via use-livecode >>> wrote: >>> >>> This is getting pretty contorted and is becoming less like natural >>> language. For what it's worth, I have never been confused by the current >>> use of filter. I think of it as pouring soup through a wire strainer. >>> Filtering "with" keeps the solids. Filtering "without" dumps them and keeps >>> the liquid. >>> >>> Maybe I cook too much. In any case, the solids (what remains after >>> filtering) are the things you're either keeping or discarding. >>> -- >>> Jacqueline Landman Gay | jacque at hyperactivesw.com >>> HyperActive Software | http://www.hyperactivesw.com >>>> On August 5, 2018 9:38:45 AM Brian Milby via use-livecode >>>> wrote: >>>> >>>> Probably better: >>>> >>>> >>>> filter [{lines | items | keys | elements} of] filterSource {keeping | >>>> discarding | with | without | [not] matching} {[{wildcard | regex} pattern] >>>> filterPattern | where filterExpression} [into targetContainer] >>>> >>>> >>>> So Monte?s example would be: >>>> filter keys of tFoo keeping where tFoo[each] is not tBar[each] >>>> (And to get Richard?s result you would need to follow this by an intersect >>>> each way. The filter would replace the repeat loop in Mark?s solution) >>>> >>>> >>>> Even though ?with where? would be syntactically correct, the preferred >>>> usage would be ?keeping where?. >>>> >>>> Thanks, >>>> Brian >>>>> On Aug 5, 2018, 7:32 AM -0500, Mark Waddingham via use-livecode >>>>> , wrote: >>>>>> On 2018-08-05 07:31, Monte Goulding via use-livecode wrote: >>>>>> Given I have been wanting to do ^ for a couple of years I decided to >>>>>> just go ahead and do it? might be a while before we have time to >>>>>> bikeshed the syntax though. >>>>>> >>>>>> https://github.com/livecode/livecode/pull/6626 >>>>>> >>>>>> >>>>>> Examples: >>>>>> local tFoo,tBar >>>>>> put "foo" into tFoo[1] >>>>>> put "bar" into tFoo[2] >>>>>> put "baz" into tBar[1] >>>>>> put "bar" into tBar[2] >>>>>> filter keys of tFoo with expression tFoo[each] is tBar[each] >>>>>> ? tFoo now has one key 2 which is `bar` >>>>>> >>>>>> put ?yes,foo? & return & ?no,bar? into tFoo >>>>>> filter lines of tFoo with expression item 1 of each is ?yes? >>>>>> >>>>>> We could feasibly not use `with|without` for this forcing the >>>>>> expression to return true to filter. If we went that way then perhaps >>>>>> `where` would be nicest? >>>>>> >>>>>> filter lines of tFoo where item 1 of each is ?yes? >>>>> >>>>> Geez @Monte - you do like creating work for me don't you! ;) >>>>> >>>>> In terms of syntax - definitely not 'with expression' - that's ghastly. >>>>> It is a 'where' clause - in the same vein as SQL and other query >>>>> languages - so no bike-shedding required there (also, pleasingly, all >>>>> other 'filter' types become sugar for a where clause using operators >>>>> which the language does not have yet - but obviously we have the code >>>>> for...). >>>>> >>>>> If we are going to bike-shed over syntax - can we do so over the use of >>>>> 'filter' itself. I don't know why but I have a complete mental block >>>>> about it - regardless of how many times I use it or read it - I always >>>>> have to 'double-think' to work out what form to use - is that just me? >>>>> >>>>> filter of X with Y >>>>> filter of X without Y >>>>> >>>>> I couldn't tell you just by looking *what* they actually do. I'm not >>>>> sure why but I think the verb is actually wrong - in all cases you have >>>>> a set of things and you are either keeping an element, or removing an >>>>> element... So I wonder if: >>>>> >>>>> keep of X where Y >>>>> discard of X where Y >>>>> >>>>> (I'm not particularly attached to keep/discard - but it does need to be >>>>> a pair of 'true' antonyms which don't intersect with any other 'core' >>>>> pairs of such things we have). >>>>> >>>>> Might be more appropriate? >>>>> >>>>> Of course, maybe it is just 'with' / 'without' are inappropriate, and >>>>> 'where' might actually help me retrain my mind to see with/without as >>>>> the sugar they truly are. >>>>> >>>>> Anyway, thought it worth throwing out there to see what people think? >>>>> >>>>> Warmest Regards, >>>>> >>>>> Mark. >>>>> >>>>> -- >>>>> Mark Waddingham ~ mark at livecode.com ~ http://www.livecode.com/ >>>>> LiveCode: Everyone can create apps >>>>> >>>>> _______________________________________________ >>>>> use-livecode mailing list >>>>> use-livecode at 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 at 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 at 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 at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From dougr at telus.net Sun Aug 5 13:21:56 2018 From: dougr at telus.net (Douglas Ruisaard) Date: Sun, 5 Aug 2018 10:21:56 -0700 Subject: datagrid scrolling question Message-ID: <01a601d42ce0$d0b1d9c0$72158d40$@net> Many thanks to one and all for the interesting responses ... particularly to Zryip for the extensive reply! I may be coming at LC from a somewhat unusual direction. The vast majority of my programming background was in very large, distributed servers running dedicated medical applications and system and instrumentation interfaces. My specialty is interfacing various disparate systems with each other and the amount of "user-interactive" processing I have to do in that environment is extremely minimal. Initially, I very successfully employed LC to develop background (i.e. NO user interaction whatsoever) tasks and used its marvelous cross-platform abilities to the fullest. So, in essence, user-interaction is fairly "foreign" to me. You all point out that datagrids *are*, fundamentally, a user-interactive device.... where I am looking for a way to use them as a processing tool, in and of themselves. I *do* employ the user-interaction as well... as I initially mentioned, using the controls on each row (interactively) works very well. But, due to my nature, I want to be able to optionally "automate" any user-level function and remove the "human" component for consistency and reliability. Yes, I can process all of the wi-fi modules first and then populate the grid; but, if I may be flippant, it's FUN to watch as each row triggers, fetches and populates each row, one at a time. Since I made the task capable of being interactive, this is similar as to why someone would use any animation to make their display interesting to a user. Animation often does not contribute to actual functionality but it is FUN to watch. Many times in this group, I read how users and contributors reference aspects of LC "under-the-hood". I found it interesting that most of the responses primarily referenced WHAT *I* was doing, rather than WHAT the DG was doing... which is what I tried to emphasize... and I apologize if that intention wasn't clear. I understand and am sincerely grateful for the goal-orientation of the responses. However, topically (not necessarily typically), this group is no stranger to investigating and constructively criticizing how LC performs a function. I'm OK with my wrapping pseudo-group name method ... I was simply wondering if anyone had an alternative to using the "send mouseUp" approach of calling rows outside of the DG, itself. My challenge now is to find a way to "calculate" the number of "visible" rows displayed (particularly if I want to make the visible portion of the datagrid dynamically sizable), so I can formulate the "break" point for the group name wrapping. I, again, would appreciate any help for that function. I genuinely appreciate the assistance and look forward to future involvement with this group. I also look forward to the day I can contribute solutions to some of the very challenging issues discussed... many of them still leave me in the dust. Douglas Ruisaard Trilogy Software (250) 573-3935 From zryip.theslug at gmail.com Sun Aug 5 13:26:45 2018 From: zryip.theslug at gmail.com (zryip theSlug) Date: Sun, 5 Aug 2018 19:26:45 +0200 Subject: Getting Started with DataGrid and another datagrid form In-Reply-To: References: <016a01d42c46$8abea5f0$a03bf1d0$@net> Message-ID: The code you have in the default behavior is the one installed by the inspector located in one of the behavior button (stack only script now, since the dg2) It contains the minimal example code to help the developer starting; FillinData, preFillinData, LayoutControl, etc If you are modifying the template for the datagrid (adding a control, deleting a control, etc) you have to change the code for your datagrid row manually. By default the minimal script is considering you have a field "Label" and a "background" graphic. If you are deleting one of them in the template and you do not update the behavior script for the row accordingly, the datagrid library will fire an error when it will try to apply the template to a row. Note that if your are removing the "background" graphic you will lose the possibility to "hilited" a row, at least on screen. When you are updating the template in DGH now, it will install first the default script (like the inspector). If you have done a modification in the template (especially after having delete one object), DGH can help you by building the script required for the controls it will find inside the template. As we want not to erase something in the script which could has been changed by the developer, the operation is manual. Ideally to prevent the datagrid library to send an error with missing controls in the template, you should update the script before to click onto the "update" button. On Sun, Aug 5, 2018 at 7:03 PM, Sannyasin Brahmanathaswami via use-livecode wrote: > I slowly studying as much as we can on the datagrid,and "digging" in it > with an first attempt to build a form. > > One thing is not clear to me. > > 1) Have the WYSIG panel to build the datagrid form. > > 2) why then do we have, in the Behavior Script this handler? > > Isn't the layout already pre-determined in the template? > > on LayoutControl pControlRect, pWorkingRect > > local theFieldRect > > -- This message is sent when you should layout your template's controls. > > -- This is where you resize the 'Background' graphic, resize fields and > > -- position objects. > > -- For fixed height data grid forms you can use items 1 through 4 of > pControlRect as > > -- boundaries for laying out your controls. > > -- For variable height data grid forms you can use items 1 through 3 of > pControlRect as > > -- boundaries, expanding the height of your control as needed. > > -- The working rect is defined area of the control you can safelt use. > > -- Use this rect to make sure your controls don't overlap with any edit > mode controls. > > -- Example: > > put the rect of field "Label" of me into theFieldRect > > put item 1 of pWorkingRect into item 1 of theFieldRect > > put item 3 of pWorkingRect - 5 into item 3 of theFieldRect > > set the rect of field "Label" of me to theFieldRect > > set the rect of graphic "Background" of me to pControlRect > > end LayoutControl > > > BR > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > -- Zryip TheSlug http://www.aslugontheroad.com From ahsoftware at sonic.net Sun Aug 5 13:29:58 2018 From: ahsoftware at sonic.net (Mark Wieder) Date: Sun, 5 Aug 2018 10:29:58 -0700 Subject: valueDiff for arrays? In-Reply-To: <6774cdb3002c5e4b21effcfa7ee0ee6b@livecode.com> References: <42eece80-e3f9-f230-1603-935be16fcce0@fourthworld.com> <5957f2da3e3dffbf86e9d1967b23fc32@livecode.com> <4fc90f1a-e9cd-48e9-b3b0-4346af654c08@Spark> <6774cdb3002c5e4b21effcfa7ee0ee6b@livecode.com> Message-ID: <26ccd39a-79df-6a29-2fa7-09b0f8b56146@sonic.net> On 08/05/2018 07:38 AM, Mark Waddingham via use-livecode wrote: > keep lines of X [ where | matching | not matching ] Y into Z -- seems > contorted That seems like a good argument for overloading the already-overworked 'put' command: put lines of X [ where | matching | not matching ] Y into Z -- Mark Wieder ahsoftware at gmail.com From dougr at telus.net Sun Aug 5 14:07:30 2018 From: dougr at telus.net (Douglas Ruisaard) Date: Sun, 5 Aug 2018 11:07:30 -0700 Subject: Getting Started with DataGrid and another datagrid form In-Reply-To: mMbnfJJcuCrPEmMbrfGylL References: mMbnfJJcuCrPEmMbrfGylL Message-ID: <01a701d42ce7$2dfa8f90$89efaeb0$@net> Ah ... I think I can answer this. Basically, you don't *have* to code the "Layout Control" beyond the recommended: set the rect of graphic "Background" of me to pControlRect and even that may be, technically, optional. The handler is there (I believe) as a method by which you can "dynamically" change the layout of a row (using grid FORMS.. the Behavior script is NOT used for TABLE grids) and/or being able to programmatically alter the layout of a row without going through the whole "Edit Group" method. Not sure what you mean or asking about the "WYSIG panel" (never seen "WYSIG" .. only know "WYSIWYG" ... same thing?) ... do you mean the Row Template? Douglas Ruisaard Trilogy Software (250) 573-3935 > From: Sannyasin Brahmanathaswami > To: How to use LiveCode > Subject: Re: Getting Started with DataGrid and another datagrid form > Message-ID: > > > Content-Type: text/plain; charset="us-ascii" > > I slowly studying as much as we can on the datagrid,and "digging" in it with an first attempt to build > a form. > > One thing is not clear to me. > > 1) Have the WYSIG panel to build the datagrid form. > > 2) why then do we have, in the Behavior Script this handler? > > Isn't the layout already pre-determined in the template? > > on LayoutControl pControlRect, pWorkingRect > > local theFieldRect > > -- This message is sent when you should layout your template's controls. > > -- This is where you resize the 'Background' graphic, resize fields and > > -- position objects. > > -- For fixed height data grid forms you can use items 1 through 4 of pControlRect as > > -- boundaries for laying out your controls. > > -- For variable height data grid forms you can use items 1 through 3 of pControlRect as > > -- boundaries, expanding the height of your control as needed. > > -- The working rect is defined area of the control you can safelt use. > > -- Use this rect to make sure your controls don't overlap with any edit mode controls. > > -- Example: > > put the rect of field "Label" of me into theFieldRect > > put item 1 of pWorkingRect into item 1 of theFieldRect > > put item 3 of pWorkingRect - 5 into item 3 of theFieldRect > > set the rect of field "Label" of me to theFieldRect > > set the rect of graphic "Background" of me to pControlRect > > end LayoutControl > > > BR > > From mark at livecode.com Sun Aug 5 14:20:09 2018 From: mark at livecode.com (Mark Waddingham) Date: Sun, 5 Aug 2018 13:20:09 -0500 Subject: valueDiff for arrays? In-Reply-To: <26ccd39a-79df-6a29-2fa7-09b0f8b56146@sonic.net> References: <42eece80-e3f9-f230-1603-935be16fcce0@fourthworld.com> <5957f2da3e3dffbf86e9d1967b23fc32@livecode.com> <4fc90f1a-e9cd-48e9-b3b0-4346af654c08@Spark> <6774cdb3002c5e4b21effcfa7ee0ee6b@livecode.com> <26ccd39a-79df-6a29-2fa7-09b0f8b56146@sonic.net> Message-ID: <8C740E4E-E84B-4F40-AADB-0FF00595EA5D@livecode.com> That isn't overloading put - that's introducing query expressions... Which would (at least as far as filter currently goes - I have another as yet unstated reason for suggesting a revised syntax beyond stopping my own mental torture!) eliminate the need for filter into. e.g the lines of X where Y Could be something which would work anywhere an expression does. However, small steps - the current filter code is tied to the filter command - so additions is easier to do there first as @Monte has demonstrated. Warmest Regards, Mark. Sent from my iPhone > On 5 Aug 2018, at 12:29, Mark Wieder via use-livecode wrote: > >> On 08/05/2018 07:38 AM, Mark Waddingham via use-livecode wrote: >> >> keep lines of X [ where | matching | not matching ] Y into Z -- seems contorted > > That seems like a good argument for overloading the already-overworked 'put' command: > > put lines of X [ where | matching | not matching ] Y into Z > > -- > Mark Wieder > ahsoftware at gmail.com > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From ahsoftware at sonic.net Sun Aug 5 14:37:54 2018 From: ahsoftware at sonic.net (Mark Wieder) Date: Sun, 5 Aug 2018 11:37:54 -0700 Subject: valueDiff for arrays? In-Reply-To: <8C740E4E-E84B-4F40-AADB-0FF00595EA5D@livecode.com> References: <42eece80-e3f9-f230-1603-935be16fcce0@fourthworld.com> <5957f2da3e3dffbf86e9d1967b23fc32@livecode.com> <4fc90f1a-e9cd-48e9-b3b0-4346af654c08@Spark> <6774cdb3002c5e4b21effcfa7ee0ee6b@livecode.com> <26ccd39a-79df-6a29-2fa7-09b0f8b56146@sonic.net> <8C740E4E-E84B-4F40-AADB-0FF00595EA5D@livecode.com> Message-ID: <958e9c84-daeb-910f-049e-8fb7b7d4c7a5@sonic.net> On 08/05/2018 11:20 AM, Mark Waddingham via use-livecode wrote: > That isn't overloading put - that's introducing query expressions... > > Which would (at least as far as filter currently goes - I have another as yet unstated reason for suggesting a revised syntax beyond stopping my own mental torture!) eliminate the need for filter into. > > e.g > > the lines of X where Y > > Could be something which would work anywhere an expression does. As a long-term goal, I muchly like this. > However, small steps - the current filter code is tied to the filter command - so additions is easier to do there first as @Monte has demonstrated. No worries. Syntax aside, I tend to use the filter command quite a bit, as the implementation in the engine is blazingly fast. -- Mark Wieder ahsoftware at gmail.com From mark at livecode.com Sun Aug 5 15:04:52 2018 From: mark at livecode.com (Mark Waddingham) Date: Sun, 5 Aug 2018 14:04:52 -0500 Subject: valueDiff for arrays? In-Reply-To: <958e9c84-daeb-910f-049e-8fb7b7d4c7a5@sonic.net> References: <42eece80-e3f9-f230-1603-935be16fcce0@fourthworld.com> <5957f2da3e3dffbf86e9d1967b23fc32@livecode.com> <4fc90f1a-e9cd-48e9-b3b0-4346af654c08@Spark> <6774cdb3002c5e4b21effcfa7ee0ee6b@livecode.com> <26ccd39a-79df-6a29-2fa7-09b0f8b56146@sonic.net> <8C740E4E-E84B-4F40-AADB-0FF00595EA5D@livecode.com> <958e9c84-daeb-910f-049e-8fb7b7d4c7a5@sonic.net> Message-ID: It's just a case of refactoring but some further thought is required even about the current filter improvement. By creating a revised form of filter, for example, we have the option of making 'matches' take an RE and not a glob (shell wildcard expr). Yes REs are more complicated but much more generally useful. This would then lead to a 'matches operator' and a 'matches wildcard' operator. The code for this is in the filter command already - and the query expression impl would use the same code so it would be as fast as filter currently is. Warmest Regards, Mark. Sent from my iPhone > On 5 Aug 2018, at 13:37, Mark Wieder via use-livecode wrote: > >> On 08/05/2018 11:20 AM, Mark Waddingham via use-livecode wrote: >> That isn't overloading put - that's introducing query expressions... >> Which would (at least as far as filter currently goes - I have another as yet unstated reason for suggesting a revised syntax beyond stopping my own mental torture!) eliminate the need for filter into. >> e.g >> the lines of X where Y >> Could be something which would work anywhere an expression does. > > As a long-term goal, I muchly like this. > >> However, small steps - the current filter code is tied to the filter command - so additions is easier to do there first as @Monte has demonstrated. > > No worries. Syntax aside, I tend to use the filter command quite a bit, as the implementation in the engine is blazingly fast. > > -- > Mark Wieder > ahsoftware at gmail.com > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From capellan2000 at gmail.com Sun Aug 5 15:16:45 2018 From: capellan2000 at gmail.com (Alejandro Tejada) Date: Sun, 5 Aug 2018 15:16:45 -0400 Subject: [OT] The problem with programming and how to fix it Message-ID: "Programming could be much much easier most of the time. This unnecessary difficulty wastes the effort of professional programmers, but worse, prevents many people from programming at all. The problem is a nasty hairball of culture and technology and money that is not easily untangled" https://alarmingdevelopment.org/?p=1173 Jonathan Edwards, the author of this article, remembers HyperCard for "enabling millions of novices to build simple applications" Al From ambassador at fourthworld.com Sun Aug 5 15:22:21 2018 From: ambassador at fourthworld.com (Richard Gaskin) Date: Sun, 5 Aug 2018 12:22:21 -0700 Subject: valueDiff for arrays? In-Reply-To: References: Message-ID: <56b36810-ae6f-b153-0af1-a4921019b280@fourthworld.com> Mark Waddingham wrote: > In your use-case for 'valueDiff' - do you need to tell the difference > between a key value being the empty string and a key value not being > present at all? In my own head, any name-value pair, even one in which the value is an empty string, is worth taking into account. -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ____________________________________________________________________ Ambassador at FourthWorld.com http://www.FourthWorld.com From ambassador at fourthworld.com Sun Aug 5 15:25:26 2018 From: ambassador at fourthworld.com (Richard Gaskin) Date: Sun, 5 Aug 2018 12:25:26 -0700 Subject: valueDiff for arrays? In-Reply-To: References: Message-ID: Brian Milby wrote: > I think Mark's code had a typo (left returned too many keys), but even > when corrected it takes half the time as a pure LCS solution. Here's > my modification: > > function bwmValueDiff pLeft, pRight > local tResult > intersect pLeft with pRight into tResult["1"] > repeat for each key tKey in tResult["1"] > if pLeft[tKey] is pRight[tKey] then > delete variable tResult["1"][tKey] > end if > end repeat > intersect pRight with tResult["1"] into tResult["2"] > return tResult > end bwmValueDiff That looks like LCS. What is the "pure LCS solution" you were comparing it to? -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ____________________________________________________________________ Ambassador at FourthWorld.com http://www.FourthWorld.com From mark at livecode.com Sun Aug 5 15:33:56 2018 From: mark at livecode.com (Mark Waddingham) Date: Sun, 05 Aug 2018 21:33:56 +0200 Subject: valueDiff for =?UTF-8?Q?arrays=3F?= In-Reply-To: <56b36810-ae6f-b153-0af1-a4921019b280@fourthworld.com> References: <56b36810-ae6f-b153-0af1-a4921019b280@fourthworld.com> Message-ID: <76b96f7c66ba9916c5d4bebd7e0e04d3@livecode.com> On 2018-08-05 21:22, Richard Gaskin via use-livecode wrote: > Mark Waddingham wrote: > >> In your use-case for 'valueDiff' - do you need to tell the difference >> between a key value being the empty string and a key value not being >> present at all? > > In my own head, any name-value pair, even one in which the value is an > empty string, is worth taking into account. In the general case it depends on what data you are modelling with an array. If an array key-value is modelling a field which is not optional, then there is no need to distinguish between an array key being there, and one not being there - i.e. all field accesses can be tRecord[tKey], and your key value can be empty. If a field's value has to be non-empty to be valid, then you can test for existence of a field by doing tRecord[tKey] is not empty. So, again, presence or not presence of an array key is immaterial. The only case where you need to treat no key-value as different from empty key-value is where a valid value for an optional field can be the empty string. In which case that field access needs to be structured as: if tKey is among the keys of tRecord then -- yay the key is there else -- oh, there is no key end if This is because LC doesn't see the difference between the empty string and absence of a value - but you can model that with an array key-value which is optional. Warmest Regards, Mark. -- Mark Waddingham ~ mark at livecode.com ~ http://www.livecode.com/ LiveCode: Everyone can create apps From mark at livecode.com Sun Aug 5 15:38:17 2018 From: mark at livecode.com (Mark Waddingham) Date: Sun, 05 Aug 2018 21:38:17 +0200 Subject: valueDiff for =?UTF-8?Q?arrays=3F?= In-Reply-To: References: Message-ID: On 2018-08-05 21:25, Richard Gaskin via use-livecode wrote: > Brian Milby wrote: > >> I think Mark's code had a typo (left returned too many keys), but even >> when corrected it takes half the time as a pure LCS solution. Here's >> my modification: >> >> function bwmValueDiff pLeft, pRight >> local tResult >> intersect pLeft with pRight into tResult["1"] >> repeat for each key tKey in tResult["1"] >> if pLeft[tKey] is pRight[tKey] then >> delete variable tResult["1"][tKey] >> end if >> end repeat >> intersect pRight with tResult["1"] into tResult["2"] >> return tResult >> end bwmValueDiff > > That looks like LCS. What is the "pure LCS solution" you were > comparing it to? I think Brian means where it does not use intersect - i.e. all loops are in LCS. FWIW - I'm pretty sure this operation can be done using only two loops (one over left, and one over right). Also, I'm pretty sure that a 'pure' LCS solution of that as suggested above would actually be faster than the minimum 3 loops needed if you use engine array ops - above a certain array size. However, I haven't had a chance to code it yet. Warmest Regards, Mark. -- Mark Waddingham ~ mark at livecode.com ~ http://www.livecode.com/ LiveCode: Everyone can create apps From andrew at midwestcoastmedia.com Sun Aug 5 15:39:52 2018 From: andrew at midwestcoastmedia.com (andrew at midwestcoastmedia.com) Date: Sun, 05 Aug 2018 19:39:52 +0000 Subject: iOS 12 compatibility In-Reply-To: References: <20180725161308.Horde.Fz3R8CzkDbWDj-xrt5gRdGx@ua850258.serversignin.com> Message-ID: <20180805193952.Horde.dqOwxqY0ZQGnRw2oqMhjM15@ua850258.serversignin.com> I've been trying to figure out the exact recipe and/or a workaround for this problem and I can't. From the testing that I've done, items/groups are in fact moving but the screen is not being redrawn. Can I send my problem stack for someone to take a look at without posting it online? --Andrew Bell Quoting panagiotis merakos : > Ok, one less issue to tackle then :) > > If you could file a bug report with a reproducible recipe (and ideally a > sample stack), this will help us identify and fix the problem in an > upcoming release. > > Best, > Panos > -- > > On Wed, Jul 25, 2018 at 5:13 PM, wrote: > >> I've been using 9.0.0. >> >> When using 9.0.1rc1 the black flash (issue #1) disappears but my >> navigation breaks (issue #2) when I enable acceleratedRendering. >> >> When using 9.0.0 acceleratedRendering messes up all sorts of stuff like my >> navigation and has a lot of flashing black space, not just at app launch. >> >> --Andrew Bell >> >> ------------------ >> >> >> @Andrew thanks for checking. >> >> Which LC version do you now use? We have fixed *a lot* of >> acceleratedrendering-related issues in LC 9.0.1- RC-1, so issue #2 might be >> already fixed. >> >> Best, >> Panos >> -- >> >> On Wed, Jul 25, 2018 at 2:11 PM, Andrew Bell via use-livecode < >> use-livecode at lists.runrev.com> wrote: >> >> Yes, enabling acceleratedRendering in the preOpenStack does allow the >> app to launch in iOS 12! I was not able to actually install the app >> directly to the device from LiveCode (got a generic "Error" message) so I >> had to uninstall 12, install the app under 11, then upgrade back to 12 >> (public beta 3) to test. >> >> I now remember why I disabled acceleratedRendering in the first place: >> 1- it adds a quick black screen during the launch of the app (between >> the openStack and openCard it seems) >> 2- it breaks the navigation system that I implemented to get from >> card to card (animation of a group that appears from off card) >> >> I can live with #1 for now and will start plotting a work around for >> #2 just so I can get an update out the door. Thanks for looking into this! >> >> --Andrew Bell >> >> From dougr at telus.net Sun Aug 5 15:43:53 2018 From: dougr at telus.net (Douglas Ruisaard) Date: Sun, 5 Aug 2018 12:43:53 -0700 Subject: datagrid scrolling question In-Reply-To: mKqvfof3a1aztmKqxfW3sX References: <016901d42c43$df14a490$9d3dedb0$@net> <019501d42ccd$587a12a0$096e37e0$@net> mKqvfof3a1aztmKqxfW3sX Message-ID: <01a801d42cf4$a537b1c0$efa71540$@net> OK.. the light bulb FINALLY went on .. I'm slow but, like the tortoise, I eventually "get there" (usually). For some reason Brian's reply made me re-think how I could fetch the WiFi info query from *each* row, submit it to tsnet and then update each row in realtime. I know, I know... that's what you've ALL been saying but I was interpreting that as processing ALL of the WiFi modules first *AND THEN* updating the WHOLE grid. THAT would, of course, work but doing it one row at a time just wasn't penetrating the old noggin. Works perfectly. Thanks so much for your patience! I reiterate, as has been done so many times to this group, how remarkably responsive and helpful this community is! Douglas Ruisaard Trilogy Software (250) 573-3935 From: Brian Milby [mailto:brian at milby7.com] Sent: Sunday, August 05, 2018 8:22 AM To: use-livecode at lists.runrev.com; Douglas Ruisaard Subject: RE: datagrid scrolling question You can get/put data from/into the grid one row at a time without needing to figure out the group name, so you could have it update in real time in your external button. You should be able to use the same behavior script (possibly with a slight modification) everywhere. I?m not at a computer right now so I will work out an example later if someone else doesn?t beat me to it. Thanks, Brian From richmondmathewson at gmail.com Sun Aug 5 15:49:56 2018 From: richmondmathewson at gmail.com (Richmond Mathewson) Date: Sun, 5 Aug 2018 22:49:56 +0300 Subject: [OT] The problem with programming and how to fix it In-Reply-To: References: Message-ID: Who said LiveCode lost sight of that? Oh, it was me. Richmond. On 5/8/2018 10:16 pm, Alejandro Tejada via use-livecode wrote: > "Programming could be much much easier most of the time. > This unnecessary difficulty wastes the effort of professional > programmers, but worse, prevents many people from programming > at all. The problem is a nasty hairball of culture and technology > and money that is not easily untangled" > > https://alarmingdevelopment.org/?p=1173 > > Jonathan Edwards, the author of this article, remembers > HyperCard for "enabling millions of novices to build > simple applications" > > Al > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From merakosp at gmail.com Sun Aug 5 16:09:22 2018 From: merakosp at gmail.com (panagiotis merakos) Date: Sun, 5 Aug 2018 21:09:22 +0100 Subject: iOS 12 compatibility In-Reply-To: <20180805193952.Horde.dqOwxqY0ZQGnRw2oqMhjM15@ua850258.serversignin.com> References: <20180725161308.Horde.Fz3R8CzkDbWDj-xrt5gRdGx@ua850258.serversignin.com> <20180805193952.Horde.dqOwxqY0ZQGnRw2oqMhjM15@ua850258.serversignin.com> Message-ID: Hi Andrew, sure, send it to panos.merakos at livecode.com along with a recipe to reproduce the problem. Best, Panos On Sun, Aug 5, 2018, 20:39 wrote: > I've been trying to figure out the exact recipe and/or a workaround > for this problem and I can't. From the testing that I've done, > items/groups are in fact moving but the screen is not being redrawn. > > Can I send my problem stack for someone to take a look at without > posting it online? > > --Andrew Bell > > Quoting panagiotis merakos : > > > Ok, one less issue to tackle then :) > > > > If you could file a bug report with a reproducible recipe (and ideally a > > sample stack), this will help us identify and fix the problem in an > > upcoming release. > > > > Best, > > Panos > > -- > > > > On Wed, Jul 25, 2018 at 5:13 PM, wrote: > > > >> I've been using 9.0.0. > >> > >> When using 9.0.1rc1 the black flash (issue #1) disappears but my > >> navigation breaks (issue #2) when I enable acceleratedRendering. > >> > >> When using 9.0.0 acceleratedRendering messes up all sorts of stuff like > my > >> navigation and has a lot of flashing black space, not just at app > launch. > >> > >> --Andrew Bell > >> > >> ------------------ > >> > >> > >> @Andrew thanks for checking. > >> > >> Which LC version do you now use? We have fixed *a lot* of > >> acceleratedrendering-related issues in LC 9.0.1- RC-1, so issue #2 > might be > >> already fixed. > >> > >> Best, > >> Panos > >> -- > >> > >> On Wed, Jul 25, 2018 at 2:11 PM, Andrew Bell via use-livecode < > >> use-livecode at lists.runrev.com> wrote: > >> > >> Yes, enabling acceleratedRendering in the preOpenStack does allow > the > >> app to launch in iOS 12! I was not able to actually install the app > >> directly to the device from LiveCode (got a generic "Error" message) so > I > >> had to uninstall 12, install the app under 11, then upgrade back to 12 > >> (public beta 3) to test. > >> > >> I now remember why I disabled acceleratedRendering in the first > place: > >> 1- it adds a quick black screen during the launch of the app > (between > >> the openStack and openCard it seems) > >> 2- it breaks the navigation system that I implemented to get from > >> card to card (animation of a group that appears from off card) > >> > >> I can live with #1 for now and will start plotting a work around for > >> #2 just so I can get an update out the door. Thanks for looking into > this! > >> > >> --Andrew Bell > >> > >> > > > > From brian at milby7.com Sun Aug 5 16:09:54 2018 From: brian at milby7.com (Brian Milby) Date: Sun, 5 Aug 2018 15:09:54 -0500 Subject: valueDiff for arrays? In-Reply-To: References: Message-ID: <526bab41-817f-4bff-9b64-d351b912f4d0@Spark> Intersect is an engine implementation of something that can be done in pure LCS. I wrote a version of the function you needed that only used LCS without the engine optimized functions. My function only iterates over an array once (instead of 3 times) yet takes twice as long. It deletes keys from left as it iterates and also builds the desired right at the same time. To Mark?s point, I did try a pure LCS approach with 2 loops which only used delete. That was slightly slower than my initial approach. I was just attempting to show how much the engine functions outperformed what could be done in pure LCS. Also I wanted to quantify the delta. I guess I should really compare the pure intersect and union functions too. If anyone is interested I can put a copy of the stack online with all of the variations that I timed. Thanks, Brian On Aug 5, 2018, 2:26 PM -0500, Richard Gaskin via use-livecode , wrote: > Brian Milby wrote: > > > I think Mark's code had a typo (left returned too many keys), but even > > when corrected it takes half the time as a pure LCS solution. Here's > > my modification: > > > > function bwmValueDiff pLeft, pRight > > local tResult > > intersect pLeft with pRight into tResult["1"] > > repeat for each key tKey in tResult["1"] > > if pLeft[tKey] is pRight[tKey] then > > delete variable tResult["1"][tKey] > > end if > > end repeat > > intersect pRight with tResult["1"] into tResult["2"] > > return tResult > > end bwmValueDiff > > That looks like LCS. What is the "pure LCS solution" you were comparing > it to? > > -- > Richard Gaskin > Fourth World Systems > Software Design and Development for the Desktop, Mobile, and the Web > ____________________________________________________________________ > Ambassador at FourthWorld.com http://www.FourthWorld.com > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From monte at appisle.net Sun Aug 5 16:31:16 2018 From: monte at appisle.net (Monte Goulding) Date: Mon, 6 Aug 2018 06:31:16 +1000 Subject: valueDiff for arrays? In-Reply-To: <5957f2da3e3dffbf86e9d1967b23fc32@livecode.com> References: <42eece80-e3f9-f230-1603-935be16fcce0@fourthworld.com> <5957f2da3e3dffbf86e9d1967b23fc32@livecode.com> Message-ID: <7293D768-0E40-479A-86F9-146F99F3212B@appisle.net> > On 5 Aug 2018, at 10:32 pm, Mark Waddingham via use-livecode wrote: > > Geez @Monte - you do like creating work for me don't you! ;) Aha.. sorry but I have been threatening to implement this for 2 years ;-) Cheers Monte From monte at appisle.net Sun Aug 5 16:37:09 2018 From: monte at appisle.net (Monte Goulding) Date: Mon, 6 Aug 2018 06:37:09 +1000 Subject: valueDiff for arrays? In-Reply-To: <6774cdb3002c5e4b21effcfa7ee0ee6b@livecode.com> References: <42eece80-e3f9-f230-1603-935be16fcce0@fourthworld.com> <5957f2da3e3dffbf86e9d1967b23fc32@livecode.com> <4fc90f1a-e9cd-48e9-b3b0-4346af654c08@Spark> <6774cdb3002c5e4b21effcfa7ee0ee6b@livecode.com> Message-ID: <6EB2D228-8308-493C-A297-60332CDB0638@appisle.net> > On 6 Aug 2018, at 12:38 am, Mark Waddingham via use-livecode wrote: > > keeping where P -> P > keeping with P -> each matches wildcard P > keeping without P -> not (each matches wildcard P) > keeping matching P -> each matches pattern P > keeping not matching P -> not (each matches wildcard P) > > discarding where P -> not P > discarding with P -> not (each matches wildcard P) > discarding without P -> each matches wildcard P > discarding matching P -> not (each matches pattern P) > discarding not matching P -> each matches wildcard P > > So the actual underling operation is the same: P is a boolean predicate operating on 'each', where each is taken to be each 'chunk' of X in turn; if P(each) returns true, the element is kept, otherwise it is discarded. > > I quite like the above - it has a very simple underbelly (a single operation!), but the actual English-like syntax is a true and correct sentence. > > What do people think? I think it?s nice sugar but it adds complexity when trying to understand the statement. You need to comprehend the expression or pattern then comprehend the relationship between discarding/keeping and with | without | not matching | where in order to figure out what will actually happen. I would rather [by { keeping | discarding }] be a parser error if used with without and not matching. Cheers Monte From capellan2000 at gmail.com Sun Aug 5 16:40:07 2018 From: capellan2000 at gmail.com (Alejandro Tejada) Date: Sun, 5 Aug 2018 16:40:07 -0400 Subject: [OT] The problem with programming and how to fix it In-Reply-To: References: Message-ID: Richmond wrote: > Who said LiveCode lost sight of that? > Oh, it was me. Actually, I understand why RunRev do not want to sell LiveCode as a HyperCard replacement. LiveCode is multiplatform and this single fact set it apart from all previous x-talk languages. In my humble opinion, the future of programming would be driven by artificial intelligence assistants and multiple ways of working and interfacing with the computer using voice, gaze interaction, gesture, motion, pointer, keyboard, etc... Al On Sun, Aug 5, 2018 at 3:16 PM, Alejandro Tejada wrote: > > "Programming could be much much easier most of the time. > This unnecessary difficulty wastes the effort of professional > programmers, but worse, prevents many people from programming > at all. The problem is a nasty hairball of culture and technology > and money that is not easily untangled" > > https://alarmingdevelopment.org/?p=1173 > > Jonathan Edwards, the author of this article, remembers > HyperCard for "enabling millions of novices to build > simple applications" > > Al From mark at livecode.com Sun Aug 5 16:46:05 2018 From: mark at livecode.com (Mark Waddingham) Date: Sun, 05 Aug 2018 22:46:05 +0200 Subject: [OT] The problem with programming and how to fix it In-Reply-To: References: Message-ID: <964c5e50b24e9a83eba2b888e41fbec4@livecode.com> On 2018-08-05 21:49, Richmond Mathewson via use-livecode wrote: > Who said LiveCode lost sight of that? > > Oh, it was me. Lost sight of what? Mark. -- Mark Waddingham ~ mark at livecode.com ~ http://www.livecode.com/ LiveCode: Everyone can create apps From mark at livecode.com Sun Aug 5 16:48:03 2018 From: mark at livecode.com (Mark Waddingham) Date: Sun, 05 Aug 2018 22:48:03 +0200 Subject: [OT] The problem with programming and how to fix it In-Reply-To: References: Message-ID: On 2018-08-05 22:40, Alejandro Tejada via use-livecode wrote: > In my humble opinion, the future of programming > would be driven by artificial intelligence assistants > and multiple ways of working and interfacing with > the computer using voice, gaze interaction, gesture, > motion, pointer, keyboard, etc... How are all these artifical intelligence assistants, and various drivers needed for the various forms of input you suggest built? I don't think there are any magic beans around you can plant to have them appear... Warmest Regards, Mark. -- Mark Waddingham ~ mark at livecode.com ~ http://www.livecode.com/ LiveCode: Everyone can create apps From mark at livecode.com Sun Aug 5 17:07:51 2018 From: mark at livecode.com (Mark Waddingham) Date: Sun, 05 Aug 2018 23:07:51 +0200 Subject: valueDiff for =?UTF-8?Q?arrays=3F?= In-Reply-To: <6EB2D228-8308-493C-A297-60332CDB0638@appisle.net> References: <42eece80-e3f9-f230-1603-935be16fcce0@fourthworld.com> <5957f2da3e3dffbf86e9d1967b23fc32@livecode.com> <4fc90f1a-e9cd-48e9-b3b0-4346af654c08@Spark> <6774cdb3002c5e4b21effcfa7ee0ee6b@livecode.com> <6EB2D228-8308-493C-A297-60332CDB0638@appisle.net> Message-ID: On 2018-08-05 22:37, Monte Goulding via use-livecode wrote: > I think it?s nice sugar but it adds complexity when trying to > understand the statement. You need to comprehend the expression or > pattern then comprehend the relationship between discarding/keeping > and with | without | not matching | where in order to figure out what > will actually happen. I would rather [by { keeping | discarding }] be > a parser error if used with without and not matching. I'm not sure I follow - I think you took the above out of context - I was using an elided form of the operations to indicate the mapping from existence / non-existence of keywords to the underlying operation... The form is actually: filter X by keeping the lines where P filter X by discarding the lines matching "glob" filter X by keeping the lines not matching pattern "regex" * Yes I've inserted 'the' there - because it then makes the query expressions the same as Mark Wieder's suggestion. Also I might not have matching quite right - it might be a bit more verbose than that. I'm not too fussed about whether the new form has with or without - they are the 'arcane' words in this situation which caused me the problem in the first place. By arcane here I mean you actually have to read the docs to understand what they are referring to: filter X with "foobar" Isn't exactly clear at first sight - "foobar" is a string - with ? What does that mean? (You have to forget that you know *what* that command actually means to actually get my point - the reason I can do that easily is that I never remember correctly and always have to either try both or look it up). I think the key point is that - out of context - which is generally the first phase of reading code: filter lines of X matching Y filter lines of X not matching Y Makes no reference to what the 'default' mode of filter is - i.e. whether it keeps the solids, or keeps the liquids as Jacque put it. Given any recipe (to use the culinary metaphor) which in either case is entirely defined by *what* you are cooking (after all - how many recipes keep the fluid you get after draining potatoes, rather than the potatoes?)... But this isn't cooking - this is coding, so in this case you need to read the docs to find out what the default mode of filter is. (Of course, this might entirely be one of those things that my brain just won't get, or ever get - so it might very well just be me!). If we insert an explicit keep / discard then it makes it crystal clear and unambiguous regardless of context. Sure we can make the extra bits optional - so you can type less if you want - that's personal taste, and how much you want to torture yourself later, and others, when they read the code! Anyway - extending the current form with 'where' (rather than 'with expression') is more than adequate at the moment. The proposal above needs more work anyway - so it isn't an immediate thing in any case. Warmest Regards, Mark. -- Mark Waddingham ~ mark at livecode.com ~ http://www.livecode.com/ LiveCode: Everyone can create apps From capellan2000 at gmail.com Sun Aug 5 17:08:53 2018 From: capellan2000 at gmail.com (Alejandro Tejada) Date: Sun, 5 Aug 2018 17:08:53 -0400 Subject: [OT] The problem with programming and how to fix it Message-ID: Hi Mark, > Lost sight of what? If I understand Richmond correctly, he is talking that for many developers the name HyperCard is synonymy with "vastly easier and more accessible programming" and that RunRev could have taken advantage of this for positioning LiveCode among other development platforms... BUT I disagree, because Livecode is multiplatform and for everyone else, except Mac users, HyperCard do not run in their computers. > How are all these artifical intelligence assistants, > and various drivers needed for the various forms of > input you suggest built? > I don't think there are any magic beans around you > can plant to have them appear... After Google, Microsoft, Apple and Linux implement these features in their operating systems, then every program could use them. Google could be first, then Apple, later Microsoft and finally Linux... but I could be wrong in this sequence. Al From mark at livecode.com Sun Aug 5 17:35:22 2018 From: mark at livecode.com (Mark Waddingham) Date: Sun, 5 Aug 2018 16:35:22 -0500 Subject: [OT] The problem with programming and how to fix it In-Reply-To: References: Message-ID: <6F521658-FC6E-46FA-8F0A-296DC1FFACA9@livecode.com> Hmmmm - I think that is missing the point about what the current 'AI' technologies that exist actually do (as far as I can see anyway - I'd be more than happy to be proved wrong!)... They are merely mappings from one form input to another form of input - they themselves don't do any action - the actions still have to be implemented somehow. Alexa for example by itself does diddly-squat beyond map voice to a lower level actionable command (with an element of context, certainly which makes it slightly interesting) - it's the skills that people 'like us' implement which actually do the thing Alexa interprets that we want to be done. Same with google assistant, siri, wolfram alpha, even google search - I can type 'what is 100 usd in gbp' and it gives me the answer. However the reason google search can do that is because some programmer at google has added a hook which knows that when that pattern is searched for it should call a program that has been explicitly written which looks up the current exchange rate and then renders the result in a nicely formatted string which appears at the top of the search results. Warmest Regards, Mark. Sent from my iPhone > On 5 Aug 2018, at 16:08, Alejandro Tejada via use-livecode wrote: > > Hi Mark, > >> Lost sight of what? > > If I understand Richmond correctly, he is talking that for > many developers the name HyperCard is synonymy > with "vastly easier and more accessible programming" > and that RunRev could have taken advantage of this > for positioning LiveCode among other development > platforms... BUT I disagree, because Livecode is > multiplatform and for everyone else, except Mac users, > HyperCard do not run in their computers. > >> How are all these artifical intelligence assistants, >> and various drivers needed for the various forms of >> input you suggest built? > >> I don't think there are any magic beans around you >> can plant to have them appear... > > After Google, Microsoft, Apple and Linux implement these > features in their operating systems, then every program could > use them. Google could be first, then Apple, later Microsoft > and finally Linux... but I could be wrong in this sequence. > > Al > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From monte at appisle.net Sun Aug 5 17:48:04 2018 From: monte at appisle.net (Monte Goulding) Date: Mon, 6 Aug 2018 07:48:04 +1000 Subject: valueDiff for arrays? In-Reply-To: References: <42eece80-e3f9-f230-1603-935be16fcce0@fourthworld.com> <5957f2da3e3dffbf86e9d1967b23fc32@livecode.com> <4fc90f1a-e9cd-48e9-b3b0-4346af654c08@Spark> <6774cdb3002c5e4b21effcfa7ee0ee6b@livecode.com> <6EB2D228-8308-493C-A297-60332CDB0638@appisle.net> Message-ID: <0E749254-1825-4BA8-B8EE-604A59484B61@appisle.net> > On 6 Aug 2018, at 7:07 am, Mark Waddingham via use-livecode wrote: > > filter X by keeping the lines not matching pattern "regex" My point was this statement can be written as both: filter X by keeping the lines not matching pattern ?regex" and filter X by discarding the lines matching pattern "regex" So it would perhaps be a good idea to only allow `matching` rather than `not matching` > Anyway - extending the current form with 'where' (rather than 'with expression') is more than adequate at the moment. Hehe.. the `with expression` thing was me trying to come up with something that worked with `with | without | matching | not matching`? `where` is much better I agree. Cheers Monte From mark at livecode.com Sun Aug 5 18:03:18 2018 From: mark at livecode.com (Mark Waddingham) Date: Mon, 06 Aug 2018 00:03:18 +0200 Subject: valueDiff for =?UTF-8?Q?arrays=3F?= In-Reply-To: <0E749254-1825-4BA8-B8EE-604A59484B61@appisle.net> References: <42eece80-e3f9-f230-1603-935be16fcce0@fourthworld.com> <5957f2da3e3dffbf86e9d1967b23fc32@livecode.com> <4fc90f1a-e9cd-48e9-b3b0-4346af654c08@Spark> <6774cdb3002c5e4b21effcfa7ee0ee6b@livecode.com> <6EB2D228-8308-493C-A297-60332CDB0638@appisle.net> <0E749254-1825-4BA8-B8EE-604A59484B61@appisle.net> Message-ID: <590f9e6a78df0d7be3e88445a141aae5@livecode.com> On 2018-08-05 23:48, Monte Goulding via use-livecode wrote: >> On 6 Aug 2018, at 7:07 am, Mark Waddingham via use-livecode >> wrote: >> >> filter X by keeping the lines not matching pattern "regex" > > My point was this statement can be written as both: > > filter X by keeping the lines not matching pattern ?regex" > > and > > filter X by discarding the lines matching pattern "regex" > > So it would perhaps be a good idea to only allow `matching` rather > than `not matching` To be fair - we could get rid of the inverted forms entirely. If you want inclusion, use keep, if you want exclusion use discard. i.e. filter X by keeping the lines with "..." filter X by keeping the lines matching "..." filter X by keeping the lines where "..." filter X by discarding the lines with ".." filter X by discarding the lines matching ".." filter X by discarding the lines where ".." This would probably work much more nicely actually (now I get what you were saying!) - it means you don't have the 'double-negative' problem (which I think is what you were referring to) - and 'where' gives you a general 'get out' especially if we implement the 'matches' operator: filter X by discarding the lines where each does not match "..." So no expressivity is lost - but you retain the absolute clarity of having keep/discard. At the end of the day - why would you choose to use an extra token for a negated form, when you can just change keeping to discarding - or vice versa? > Hehe.. the `with expression` thing was me trying to come up with > something that worked with `with | without | matching | not matching`? > `where` is much better I agree. Hehe - yeah - I think we've discussed it before (probably several times over a long interval) so that at least require's no bike-shedding... After all, in this case, if its good enough for SQL, I can't see why it isn't good enough for us (it also happens to be entirely correct from an English language point of view - which kinda helps, in an English-like language). Warmest Regards, Mark. -- Mark Waddingham ~ mark at livecode.com ~ http://www.livecode.com/ LiveCode: Everyone can create apps From ahsoftware at sonic.net Sun Aug 5 18:03:31 2018 From: ahsoftware at sonic.net (Mark Wieder) Date: Sun, 5 Aug 2018 15:03:31 -0700 Subject: valueDiff for arrays? In-Reply-To: <0E749254-1825-4BA8-B8EE-604A59484B61@appisle.net> References: <42eece80-e3f9-f230-1603-935be16fcce0@fourthworld.com> <5957f2da3e3dffbf86e9d1967b23fc32@livecode.com> <4fc90f1a-e9cd-48e9-b3b0-4346af654c08@Spark> <6774cdb3002c5e4b21effcfa7ee0ee6b@livecode.com> <6EB2D228-8308-493C-A297-60332CDB0638@appisle.net> <0E749254-1825-4BA8-B8EE-604A59484B61@appisle.net> Message-ID: On 08/05/2018 02:48 PM, Monte Goulding via use-livecode wrote: > > >> On 6 Aug 2018, at 7:07 am, Mark Waddingham via use-livecode wrote: >> >> filter X by keeping the lines not matching pattern "regex" > > My point was this statement can be written as both: > > filter X by keeping the lines not matching pattern ?regex" > > and > > filter X by discarding the lines matching pattern "regex" > > So it would perhaps be a good idea to only allow `matching` rather than `not matching` True, but syntacticly I like the idea of being able to place "not" in front of any boolean without having to remember where it's legal and where it's not. I also think it's harder on the engine (this off the top of my head without looking at the code ) to specify where "not" is legal. -- Mark Wieder ahsoftware at gmail.com From brian at milby7.com Sun Aug 5 18:07:36 2018 From: brian at milby7.com (Brian Milby) Date: Sun, 5 Aug 2018 17:07:36 -0500 Subject: valueDiff for arrays? In-Reply-To: <0E749254-1825-4BA8-B8EE-604A59484B61@appisle.net> References: <42eece80-e3f9-f230-1603-935be16fcce0@fourthworld.com> <5957f2da3e3dffbf86e9d1967b23fc32@livecode.com> <4fc90f1a-e9cd-48e9-b3b0-4346af654c08@Spark> <6774cdb3002c5e4b21effcfa7ee0ee6b@livecode.com> <6EB2D228-8308-493C-A297-60332CDB0638@appisle.net> <0E749254-1825-4BA8-B8EE-604A59484B61@appisle.net> Message-ID: So this syntax: filter filterSource by [keeping | discarding] [[the] {lines | items | keys | elements}] {matching [wildcard | regex] pattern filterPattern | where filterExpression} [into targetContainer] Would allow a shortened version: filter X by matching pattern "regex" into Z Which would expand to: filter X by keeping the lines matching regex pattern "regex" into Z On Sun, Aug 5, 2018 at 4:48 PM, Monte Goulding via use-livecode < use-livecode at lists.runrev.com> wrote: > > > > On 6 Aug 2018, at 7:07 am, Mark Waddingham via use-livecode < > use-livecode at lists.runrev.com> wrote: > > > > filter X by keeping the lines not matching pattern "regex" > > My point was this statement can be written as both: > > filter X by keeping the lines not matching pattern ?regex" > > and > > filter X by discarding the lines matching pattern "regex" > > So it would perhaps be a good idea to only allow `matching` rather than > `not matching` > > > Anyway - extending the current form with 'where' (rather than 'with > expression') is more than adequate at the moment. > > Hehe.. the `with expression` thing was me trying to come up with something > that worked with `with | without | matching | not matching`? `where` is > much better I agree. > > Cheers > > Monte > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From richmondmathewson at gmail.com Sun Aug 5 18:09:48 2018 From: richmondmathewson at gmail.com (Richmond Mathewson) Date: Mon, 6 Aug 2018 01:09:48 +0300 Subject: [OT] The problem with programming and how to fix it In-Reply-To: <964c5e50b24e9a83eba2b888e41fbec4@livecode.com> References: <964c5e50b24e9a83eba2b888e41fbec4@livecode.com> Message-ID: <1757c6f2-0cc1-f960-8ec0-afcfd10993fa@gmail.com> Oh, Dear, Mark, I think you've just fallen into my trap . . . If you've lost sight of something, you . . . Sorry about that; just too hard to resist. --- " "enabling millions of novices to build simple applications" " -- Although, to be fair that's not the problem. What might be the problem is what we might call "reach". Every single Macintosh came with HyperCard installed. Nothing comes with LiveCode installed. AND LiveCode's uptake is very slim indeed. I have just started learning Python: NOT because I don't think LiveCode rocks the socks off almost every other programming language/IDE, but because of pure economics. I would like someone to explain why people all seem to want their kids to learn C++, C# or Python when they all look like riffs on the PASCAL I studied 33 years ago at University. And PYTHON comes installed on Macintosh and most Linux distros. Richmond. On 5/8/2018 11:46 pm, Mark Waddingham via use-livecode wrote: > On 2018-08-05 21:49, Richmond Mathewson via use-livecode wrote: >> Who said LiveCode lost sight of that? >> >> Oh, it was me. > > Lost sight of what? > > Mark. > From jacque at hyperactivesw.com Sun Aug 5 18:11:15 2018 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Sun, 5 Aug 2018 17:11:15 -0500 Subject: valueDiff for arrays? In-Reply-To: References: <42eece80-e3f9-f230-1603-935be16fcce0@fourthworld.com> <5957f2da3e3dffbf86e9d1967b23fc32@livecode.com> <4fc90f1a-e9cd-48e9-b3b0-4346af654c08@Spark> <6774cdb3002c5e4b21effcfa7ee0ee6b@livecode.com> <6EB2D228-8308-493C-A297-60332CDB0638@appisle.net> Message-ID: <69ac706e-0369-8bc1-e17b-3b11efd171bf@hyperactivesw.com> On 8/5/18 4:07 PM, Mark Waddingham via use-livecode wrote: > But this isn't cooking - this is coding, so in this case you need to > read the docs to find out what the default mode of filter is. (Of > course, this might entirely be one of those things that my brain just > won't get, or ever get - so it might very well just be me!). If you and I were alone together in a room, yeah, it would just be you. ;) Filtering "with" is always like draining potatoes to me. However, that might be because the only form of "filter" originally was to keep the solids. It was some years before the "without" form was added, and by then I'd had a lot of time to know what to expect. > Sure we can make the extra bits optional Cool. Backward compatibility and all that. -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com From mark at livecode.com Sun Aug 5 18:12:35 2018 From: mark at livecode.com (Mark Waddingham) Date: Mon, 06 Aug 2018 00:12:35 +0200 Subject: valueDiff for =?UTF-8?Q?arrays=3F?= In-Reply-To: References: <42eece80-e3f9-f230-1603-935be16fcce0@fourthworld.com> <5957f2da3e3dffbf86e9d1967b23fc32@livecode.com> <4fc90f1a-e9cd-48e9-b3b0-4346af654c08@Spark> <6774cdb3002c5e4b21effcfa7ee0ee6b@livecode.com> <6EB2D228-8308-493C-A297-60332CDB0638@appisle.net> <0E749254-1825-4BA8-B8EE-604A59484B61@appisle.net> Message-ID: On 2018-08-06 00:03, Mark Wieder via use-livecode wrote: > On 08/05/2018 02:48 PM, Monte Goulding via use-livecode wrote: >> >> >>> On 6 Aug 2018, at 7:07 am, Mark Waddingham via use-livecode >>> wrote: >>> >>> filter X by keeping the lines not matching pattern "regex" >> >> My point was this statement can be written as both: >> >> filter X by keeping the lines not matching pattern ?regex" >> >> and >> >> filter X by discarding the lines matching pattern "regex" >> >> So it would perhaps be a good idea to only allow `matching` rather >> than `not matching` > > True, but syntacticly I like the idea of being able to place "not" in > front of any boolean without having to remember where it's legal and > where it's not. I also think it's harder on the engine (this off the > top of my head without looking at the code ) to specify where "not" > is legal. In this case the forms would be hardcoded: 'not matching pattern "regex"' is actually (essentially) sugar for: 'where not each matches "regex"' So *if* we could implement it like that then it would potentially do no harm - *however* as it stands it would be implemented as hard-coded parsing / exec code - so its actually more work to support 'not' here, and not less. However, there is certainly a consistency argument to be had - its whether consistency is always better than a slight amount of positive coercion - in terms of restricting some forms of syntax which actually reduce readability rather than increase it (which, I think, on balance 'not' here might well do - as in reduce - and since this whole discussion came about because *I* have a significant problem parsing the 'filter' command as it stands - readability is perhaps the main concern here). Warmest Regards, Mark. -- Mark Waddingham ~ mark at livecode.com ~ http://www.livecode.com/ LiveCode: Everyone can create apps From mark at livecode.com Sun Aug 5 18:22:58 2018 From: mark at livecode.com (Mark Waddingham) Date: Mon, 06 Aug 2018 00:22:58 +0200 Subject: valueDiff for =?UTF-8?Q?arrays=3F?= In-Reply-To: References: <42eece80-e3f9-f230-1603-935be16fcce0@fourthworld.com> <5957f2da3e3dffbf86e9d1967b23fc32@livecode.com> <4fc90f1a-e9cd-48e9-b3b0-4346af654c08@Spark> <6774cdb3002c5e4b21effcfa7ee0ee6b@livecode.com> <6EB2D228-8308-493C-A297-60332CDB0638@appisle.net> <0E749254-1825-4BA8-B8EE-604A59484B61@appisle.net> Message-ID: <3bcfd0db8203da482d185ec4b885fd52@livecode.com> On 2018-08-06 00:07, Brian Milby via use-livecode wrote: > So this syntax: > filter filterSource by [keeping | discarding] [[the] {lines | items | > keys > | elements}] {matching [wildcard | regex] pattern filterPattern | where > filterExpression} [into targetContainer] > > Would allow a shortened version: > filter X by matching pattern "regex" into Z > Which would expand to: > filter X by keeping the lines matching regex pattern "regex" into Z TOP: Yes - I realized earlier on that the shortened versions do no harm, and in all honesty I don't think the negated forms do either. At the end of the day they all map through a well-defined (admittedly, hypothetical) mechanical process to a set of unambiguous preferred forms - so there is no problem with meaning. Indeed, a lot of how we code is down to personal taste. I run a team of programmers, and so we have to have rules internally which everyone follows - just like if you try and run a team where everyone speaks an entirely different natural language, you are going to have significant problems in communication; teams of programmers communicate in code a lot, so its important that everyone largely 'speaks' the same language (well 'dialect' is probably a more accurate term here). So I'll certainly be suggesting that should the new variant form appear that a review criteria of LCS code will be (internally) negated forms are banned - just swap keeping <-> discarding; and the style rules for the open-source project will mandate the same. Similarly - shortened versions would be too under the same auspices. This isn't anything to do with being dictatorial or just a control-freak - its about ensuring consistency of communication. Every line of code which we write that goes into the product needs to endure for a long time and be read by many people - so its best that its made as uniform as possible at the start. What people outside those spheres wish to do is entirely up to them - although I'd urge people to generally use the preferred forms in all cases in your own code, its not like I can come and beat you all around the head if you don't. (Of course, I *can* just not allow them to be included... GOTO TOP). Warmest Regards, Mark. -- Mark Waddingham ~ mark at livecode.com ~ http://www.livecode.com/ LiveCode: Everyone can create apps From capellan2000 at gmail.com Sun Aug 5 18:35:19 2018 From: capellan2000 at gmail.com (Alejandro Tejada) Date: Sun, 5 Aug 2018 18:35:19 -0400 Subject: [OT] The problem with programming and how to fix it Message-ID: Hi Mark, > Hmmmm - I think that is missing the point about what the > current 'AI' technologies that exist actually do (as far as > I can see anyway - I'd be more than happy to be > proved wrong!)... Well, the point is that all current AI technologies requires an internet connection to work and AI software that run in servers is learning thousands of new interactions everyday from millions active users. If a thousand small tasks and user interactions prove to be useful (based in user feedback) and successful (based in repeated use) for many, many users, then the operating system will offer these tasks, make them available to you and all users. Millions of new users. Step by step, task by task a picture of a more and more useful AI assistant will emerge thanks to the feedback and guidance from millions active users. > They are merely mappings from one form input to another form of input - > they themselves don't do any action - the actions still have to be > implemented somehow. Yes, in a central server. In this moment there are millions creating these tasks (probably unaware that they are programming too) > Alexa for example by itself does diddly-squat beyond map voice to a > lower level actionable command (with an element of context, certainly > which makes it slightly interesting) - it's the skills that people 'like us' > implement which actually do the thing Alexa interprets that we want > to be done. Yes, this is programming. Millions active users are doing this for free in this moment. > Same with google assistant, siri, wolfram alpha, even google search - > I can type 'what is 100 usd in gbp' and it gives me the answer. > However the reason google search can do that is because > some programmer at google has added a hook which knows > that when that pattern is searched for it should call a program > that has been explicitly written which looks up the current > exchange rate and then renders the result in a nicely formatted > string which appears at the top of the search results. The keys to create more useful AI assistants are positive user feedback and repeated use. Time will tell which company wins this time. Al From ahsoftware at sonic.net Sun Aug 5 18:42:08 2018 From: ahsoftware at sonic.net (Mark Wieder) Date: Sun, 5 Aug 2018 15:42:08 -0700 Subject: [OT] The problem with programming and how to fix it In-Reply-To: References: Message-ID: <89e3fbe5-9ebe-14c2-0916-4a59cb6db789@sonic.net> On 08/05/2018 01:48 PM, Mark Waddingham via use-livecode wrote: > How are all these artifical intelligence assistants, and various drivers > needed for the various forms of input you suggest built? > > I don't think there are any magic beans around you can plant to have > them appear... Dang. And I was *so* waiting around for LC11. -- Mark Wieder ahsoftware at gmail.com From capellan2000 at gmail.com Sun Aug 5 18:51:47 2018 From: capellan2000 at gmail.com (Alejandro Tejada) Date: Sun, 5 Aug 2018 18:51:47 -0400 Subject: [OT] The problem with programming and how to fix it Message-ID: Mark Wieder wrote: > Dang. And I was *so* waiting around for LC11. We already have revSpeak, so I could wait a few years for the command revListen :-D http://docs.runrev.com/Command/revSpeak Al From brian at milby7.com Sun Aug 5 19:29:23 2018 From: brian at milby7.com (Brian Milby) Date: Sun, 5 Aug 2018 18:29:23 -0500 Subject: valueDiff for arrays? In-Reply-To: <3bcfd0db8203da482d185ec4b885fd52@livecode.com> References: <42eece80-e3f9-f230-1603-935be16fcce0@fourthworld.com> <5957f2da3e3dffbf86e9d1967b23fc32@livecode.com> <4fc90f1a-e9cd-48e9-b3b0-4346af654c08@Spark> <6774cdb3002c5e4b21effcfa7ee0ee6b@livecode.com> <6EB2D228-8308-493C-A297-60332CDB0638@appisle.net> <0E749254-1825-4BA8-B8EE-604A59484B61@appisle.net> <3bcfd0db8203da482d185ec4b885fd52@livecode.com> Message-ID: Earlier in this thread it was mentioned that LCS doing a loop once would probably outpace the engine looping 2 times + a LCS loop at some point. I decided to see if I could figure out a point where this might take place. My test was pretty simple. I set a target number of elements for each array. 1/3 have the same key and value, 1/3 have the same key but different values, 1/3 are non-matching keys. Somewhere just over 50,000 keys the quickest version switches. Here's the code: function bwmValueDiffPut pLeft, pRight local tResult, tLeft, tRight repeat for each key tKey in pLeft if tKey is among the keys of pRight and \ pLeft[tKey] is not pRight[tKey] then put pLeft[tKey] into tLeft[tKey] put pRight[tKey] into tRight[tKey] end if end repeat put tLeft into tResult["1"] put tRight into tResult["2"] return tResult end bwmValueDiffPut As anything, the real data set would impact the results significantly. For example, the above code does the "among" test for every key. It does the "is not" test for 2/3 of the keys. It does the pair of put statements for 1/3 of the keys. As that mix changed, the results would too - changing the point at which this method would be the fastest. But to put it into perspective, the 50,000 key test took around 75ms for both methods. 100,000 keys came in around 150ms on my machine. I will also note that the dual loop delete method for LCS always lost and by a significant margin (deleted from left first, deleted from right second). The combination delete/put loop was slightly slower than the above code (deleted from left, created new right as above). Also, Mark's version was faster than my revision. I'm thinking that was due to the way I was going into a second level array (tResult["2"][tKey] vice tRight[tKey]). From monte at appisle.net Sun Aug 5 19:37:09 2018 From: monte at appisle.net (Monte Goulding) Date: Mon, 6 Aug 2018 09:37:09 +1000 Subject: valueDiff for arrays? In-Reply-To: References: <42eece80-e3f9-f230-1603-935be16fcce0@fourthworld.com> <5957f2da3e3dffbf86e9d1967b23fc32@livecode.com> <4fc90f1a-e9cd-48e9-b3b0-4346af654c08@Spark> <6774cdb3002c5e4b21effcfa7ee0ee6b@livecode.com> <6EB2D228-8308-493C-A297-60332CDB0638@appisle.net> <0E749254-1825-4BA8-B8EE-604A59484B61@appisle.net> Message-ID: > On 6 Aug 2018, at 8:03 am, Mark Wieder via use-livecode wrote: > > True, but syntacticly I like the idea of being able to place "not" in front of any boolean without having to remember where it's legal and where it's not. I also think it's harder on the engine (this off the top of my head without looking at the code ) to specify where "not" is legal. Actually you need to be careful to remember not to put not before a boolean expression without putting parenthesis around the expression because anything that is not ?true? in LC evaluates to false. For example: not ?foo? is ?bar? -> (not ?foo?) is ?bar? -> (not ?false?) is ?bar? -> ?true" is ?bar? -> ?false? not (?foo? is ?bar?) -> not ?false? -> ?true" Cheers Monte From ahsoftware at sonic.net Sun Aug 5 19:55:08 2018 From: ahsoftware at sonic.net (Mark Wieder) Date: Sun, 5 Aug 2018 16:55:08 -0700 Subject: valueDiff for arrays? In-Reply-To: References: <42eece80-e3f9-f230-1603-935be16fcce0@fourthworld.com> <5957f2da3e3dffbf86e9d1967b23fc32@livecode.com> <4fc90f1a-e9cd-48e9-b3b0-4346af654c08@Spark> <6774cdb3002c5e4b21effcfa7ee0ee6b@livecode.com> <6EB2D228-8308-493C-A297-60332CDB0638@appisle.net> <0E749254-1825-4BA8-B8EE-604A59484B61@appisle.net> Message-ID: <23e66dc7-2421-d8fa-d01d-58c0f770baab@sonic.net> On 08/05/2018 04:37 PM, Monte Goulding via use-livecode wrote: > Actually you need to be careful to remember not to put not before a boolean expression without putting parenthesis around the expression because anything that is not ?true? in LC evaluates to false. For example: That's generally the case, but it falls apart for empty function arguments. on something p1, p2, p3 if p1 is false then -- fails if p1 is empty end if if p1 is true then -- also fails if p1 is empty end if end something -- Mark Wieder ahsoftware at gmail.com From monte at appisle.net Sun Aug 5 20:42:21 2018 From: monte at appisle.net (Monte Goulding) Date: Mon, 6 Aug 2018 10:42:21 +1000 Subject: valueDiff for arrays? In-Reply-To: <23e66dc7-2421-d8fa-d01d-58c0f770baab@sonic.net> References: <42eece80-e3f9-f230-1603-935be16fcce0@fourthworld.com> <5957f2da3e3dffbf86e9d1967b23fc32@livecode.com> <4fc90f1a-e9cd-48e9-b3b0-4346af654c08@Spark> <6774cdb3002c5e4b21effcfa7ee0ee6b@livecode.com> <6EB2D228-8308-493C-A297-60332CDB0638@appisle.net> <0E749254-1825-4BA8-B8EE-604A59484B61@appisle.net> <23e66dc7-2421-d8fa-d01d-58c0f770baab@sonic.net> Message-ID: > On 6 Aug 2018, at 9:55 am, Mark Wieder via use-livecode wrote: > > on something p1, p2, p3 > if p1 is false then > -- fails if p1 is empty > end if > if p1 is true then > -- also fails if p1 is empty > end if > end something I was describing a situation where you are forcing something that is not a boolean to be one so true is true and everything else is false. You are describing comparing something to a boolean in which case rightly or wrongly both sides are converted to strings so you end up comparing ?? to ?false" Cheers Monte From smaclean at madmansoft.com Sun Aug 5 20:51:03 2018 From: smaclean at madmansoft.com (Stephen MacLean) Date: Sun, 5 Aug 2018 20:51:03 -0400 Subject: Start using stack - Loading stack libraries Message-ID: <7B47A7E2-8FB6-4446-9248-F46985DB53CE@madmansoft.com> Hi All, I am currently using library stacks that contain what I call custom builders, that are livecode script libraries. These stacks have code for specific instances and when done, I currently unload them. I like that I can use these, and build them, on the fly, bringing that code in without having to ?disturb? the main app. As I?m about to start loading and unloading them hundreds if not thousands of times, and very rapidly, I started thinking about how this would effect performance, memory issues, etc. Does anyone have experience doing this and doing it rapidly? Anyone come across any memory issues, leakage, etc.? Anything else I should look for in doing this? Different ways to accomplish the same thing? Any insight is appreciated! Thanks, Steve MacLean From monte at appisle.net Sun Aug 5 20:54:57 2018 From: monte at appisle.net (Monte Goulding) Date: Mon, 6 Aug 2018 10:54:57 +1000 Subject: Start using stack - Loading stack libraries In-Reply-To: <7B47A7E2-8FB6-4446-9248-F46985DB53CE@madmansoft.com> References: <7B47A7E2-8FB6-4446-9248-F46985DB53CE@madmansoft.com> Message-ID: <8D3C579B-4A25-4858-A306-280E0F3BDEB4@appisle.net> My main thought is if we are talking about loading and unloading thousands of times then script parsing may become costly. How costly I?m not sure? script parsing is pretty fast. > On 6 Aug 2018, at 10:51 am, Stephen MacLean via use-livecode wrote: > > Hi All, > > I am currently using library stacks that contain what I call custom builders, that are livecode script libraries. These stacks have code for specific instances and when done, I currently unload them. I like that I can use these, and build them, on the fly, bringing that code in without having to ?disturb? the main app. > > As I?m about to start loading and unloading them hundreds if not thousands of times, and very rapidly, I started thinking about how this would effect performance, memory issues, etc. > > Does anyone have experience doing this and doing it rapidly? Anyone come across any memory issues, leakage, etc.? Anything else I should look for in doing this? Different ways to accomplish the same thing? > > Any insight is appreciated! > > Thanks, > > Steve MacLean > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From paul at researchware.com Sun Aug 5 21:21:21 2018 From: paul at researchware.com (Paul Dupuis) Date: Sun, 5 Aug 2018 21:21:21 -0400 Subject: Start using stack - Loading stack libraries In-Reply-To: <7B47A7E2-8FB6-4446-9248-F46985DB53CE@madmansoft.com> References: <7B47A7E2-8FB6-4446-9248-F46985DB53CE@madmansoft.com> Message-ID: On 8/5/2018 8:51 PM, Stephen MacLean via use-livecode wrote: > Any insight is appreciated! > I use a lot of library stacks, but our model is to load them on startup and unload on shutdown (not really necessary singe the engine does this on quit). Unless you have zillions of lines of code, I am not sure what the value is of unloading and reloading the same library? From ambassador at fourthworld.com Sun Aug 5 22:36:08 2018 From: ambassador at fourthworld.com (Richard Gaskin) Date: Sun, 5 Aug 2018 19:36:08 -0700 Subject: valueDiff for arrays? In-Reply-To: <61e1041b3aeb614ce9e60822954a771b@livecode.com> References: <61e1041b3aeb614ce9e60822954a771b@livecode.com> Message-ID: Mark Waddingham wrote: > Richard wrote: >> >> Thinking about performance, I wonder if there's anything from some of >> the changes that have boosted PHP 7's performance so far above its >> earlier versions which may be relevant for LC: >> https://www.reddit.com/r/PHP/comments/3q2brz/how_is_php_7_twice_as_fast/ > > I'd actually be really interested in a direct speed comparison between > exactly equivalent operations in PHP7 and LC. Geoff Canyon and I corresponded on this back in March. I don't think he'll mind me sharing some of the relevant parts of his test: ------------------- from GC ---------------------------------------- on mouseUp put the long seconds into T repeat with c = 1 to 10 get get_primes(10000000) end repeat put "Found" && the number of lines in it && "primes in" && the long seconds - T && "seconds" end mouseUp function get_primes n if n < 2 then return empty if n = 2 then return 2 put trunc(sqrt(n)) - 1 into mroot repeat with i = 3 to mroot step 2 if np[i] > 0 then next repeat add 1 to p[i] repeat with j = i^2 to n step i add 1 to np[j] end repeat end repeat put 2 & cr & the keys of p into R sort lines of R numeric repeat with i = mroot + (mroot + 1) mod 2 to n - 1 step 2 if np[i] is empty then put cr & i after R end repeat return R end get_primes And that takes about fifteen minutes to run on my 2013 MacBook Pro, where the slowest performer he's working with takes less than 30 seconds, and PHP 7 runs in under 7 seconds. Any ideas where I'm deviating in my implementation compared to his? Here's the latest version of his test that I found: https://blog.famzah.net/2016/09/10/cpp-vs-python-vs-php-vs-java-vs-others-performance-benchmark-2016-q3/ ----------------------------------------------------------------- -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ____________________________________________________________________ Ambassador at FourthWorld.com http://www.FourthWorld.com From ambassador at fourthworld.com Sun Aug 5 22:40:13 2018 From: ambassador at fourthworld.com (Richard Gaskin) Date: Sun, 5 Aug 2018 19:40:13 -0700 Subject: valueDiff for arrays? In-Reply-To: <76b96f7c66ba9916c5d4bebd7e0e04d3@livecode.com> References: <76b96f7c66ba9916c5d4bebd7e0e04d3@livecode.com> Message-ID: <2a1936f3-2c3b-1c36-20a8-8d52ad48b860@fourthworld.com> Mark Waddingham wrote: > On 2018-08-05 21:22, Richard Gaskin via use-livecode wrote: >> Mark Waddingham wrote: >> >>> In your use-case for 'valueDiff' - do you need to tell the >>> difference between a key value being the empty string and >>> a key value not being present at all? >> >> In my own head, any name-value pair, even one in which the value >> is an empty string, is worth taking into account. > > In the general case it depends on what data you are modelling with an > array. > > If an array key-value is modelling a field which is not optional, then > there is no need to distinguish between an array key being there, and > one not being there - i.e. all field accesses can be tRecord[tKey], > and your key value can be empty. > > If a field's value has to be non-empty to be valid, then you can test > for existence of a field by doing tRecord[tKey] is not empty. So, > again, presence or not presence of an array key is immaterial. Consider an array of object properties. There, a label or name property can be empty, and it's useful to know that. In most of my own work, if a key is present it's meaningful, even if its value is empty. If a key is not meaningful it probably isn't in an array I'm using. -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ____________________________________________________________________ Ambassador at FourthWorld.com http://www.FourthWorld.com From brian at milby7.com Sun Aug 5 22:43:31 2018 From: brian at milby7.com (Brian Milby) Date: Sun, 5 Aug 2018 21:43:31 -0500 Subject: valueDiff for arrays? In-Reply-To: <2a1936f3-2c3b-1c36-20a8-8d52ad48b860@fourthworld.com> References: <76b96f7c66ba9916c5d4bebd7e0e04d3@livecode.com> <2a1936f3-2c3b-1c36-20a8-8d52ad48b860@fourthworld.com> Message-ID: I posted a stack with the valueDiff code tests that I was doing if anyone is interrested: https://milby.us/lc/ValueDiff.livecode.zip From ahsoftware at sonic.net Sun Aug 5 23:15:04 2018 From: ahsoftware at sonic.net (Mark Wieder) Date: Sun, 5 Aug 2018 20:15:04 -0700 Subject: valueDiff for arrays? In-Reply-To: References: <42eece80-e3f9-f230-1603-935be16fcce0@fourthworld.com> <5957f2da3e3dffbf86e9d1967b23fc32@livecode.com> <4fc90f1a-e9cd-48e9-b3b0-4346af654c08@Spark> <6774cdb3002c5e4b21effcfa7ee0ee6b@livecode.com> <6EB2D228-8308-493C-A297-60332CDB0638@appisle.net> <0E749254-1825-4BA8-B8EE-604A59484B61@appisle.net> <23e66dc7-2421-d8fa-d01d-58c0f770baab@sonic.net> Message-ID: <3bcbb072-07d7-1c39-066e-0bdc34bdd57f@sonic.net> On 08/05/2018 05:42 PM, Monte Goulding via use-livecode wrote: > I was describing a situation where you are forcing something that is not a boolean to be one so true is true and everything else is false. You are describing comparing something to a boolean in which case rightly or wrongly both sides are converted to strings so you end up comparing ?? to ?false" Interesting. And here I was just assuming that true and false were boolean constants, like in any other language. So empty is a constant and one is a constant, but true and false are not. Wouldn't things be faster if we made them constants? -- Mark Wieder ahsoftware at gmail.com From brian at milby7.com Sun Aug 5 23:24:07 2018 From: brian at milby7.com (Brian Milby) Date: Sun, 5 Aug 2018 22:24:07 -0500 Subject: valueDiff for arrays? In-Reply-To: References: <61e1041b3aeb614ce9e60822954a771b@livecode.com> Message-ID: I can speed it up by 10% just be replacing the "add 1 to" with "put true into". The first if would lose the ">0". A single pass went from 50s to 44s on my iMac. On Sun, Aug 5, 2018 at 9:36 PM, Richard Gaskin via use-livecode < use-livecode at lists.runrev.com> wrote: > Mark Waddingham wrote: > > > Richard wrote: > >> > >> Thinking about performance, I wonder if there's anything from some of > >> the changes that have boosted PHP 7's performance so far above its > >> earlier versions which may be relevant for LC: > >> https://www.reddit.com/r/PHP/comments/3q2brz/how_is_php_7_tw > ice_as_fast/ > > > > I'd actually be really interested in a direct speed comparison between > > exactly equivalent operations in PHP7 and LC. > > Geoff Canyon and I corresponded on this back in March. I don't think > he'll mind me sharing some of the relevant parts of his test: > > ------------------- from GC ---------------------------------------- > > on mouseUp > put the long seconds into T > repeat with c = 1 to 10 > get get_primes(10000000) > end repeat > put "Found" && the number of lines in it && "primes in" && the long > seconds - T && "seconds" > end mouseUp > > function get_primes n > if n < 2 then return empty > if n = 2 then return 2 > put trunc(sqrt(n)) - 1 into mroot > repeat with i = 3 to mroot step 2 > if np[i] > 0 then next repeat > add 1 to p[i] > repeat with j = i^2 to n step i > add 1 to np[j] > end repeat > end repeat > put 2 & cr & the keys of p into R > sort lines of R numeric > repeat with i = mroot + (mroot + 1) mod 2 to n - 1 step 2 > if np[i] is empty then put cr & i after R > end repeat > return R > end get_primes > > And that takes about fifteen minutes to run on my 2013 MacBook Pro, where > the slowest performer he's working with takes less than 30 seconds, and PHP > 7 runs in under 7 seconds. Any ideas where I'm deviating in my > implementation compared to his? Here's the latest version of his test that > I found: > > https://blog.famzah.net/2016/09/10/cpp-vs-python-vs-php-vs-j > ava-vs-others-performance-benchmark-2016-q3/ > > ----------------------------------------------------------------- > > -- > Richard Gaskin > Fourth World Systems > Software Design and Development for the Desktop, Mobile, and the Web > ____________________________________________________________________ > Ambassador at FourthWorld.com http://www.FourthWorld.com > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From monte at appisle.net Sun Aug 5 23:26:44 2018 From: monte at appisle.net (Monte Goulding) Date: Mon, 6 Aug 2018 13:26:44 +1000 Subject: valueDiff for arrays? In-Reply-To: <3bcbb072-07d7-1c39-066e-0bdc34bdd57f@sonic.net> References: <42eece80-e3f9-f230-1603-935be16fcce0@fourthworld.com> <5957f2da3e3dffbf86e9d1967b23fc32@livecode.com> <4fc90f1a-e9cd-48e9-b3b0-4346af654c08@Spark> <6774cdb3002c5e4b21effcfa7ee0ee6b@livecode.com> <6EB2D228-8308-493C-A297-60332CDB0638@appisle.net> <0E749254-1825-4BA8-B8EE-604A59484B61@appisle.net> <23e66dc7-2421-d8fa-d01d-58c0f770baab@sonic.net> <3bcbb072-07d7-1c39-066e-0bdc34bdd57f@sonic.net> Message-ID: > On 6 Aug 2018, at 1:15 pm, Mark Wieder via use-livecode wrote: > > Interesting. And here I was just assuming that true and false were boolean constants, like in any other language. So empty is a constant and one is a constant, but true and false are not. Wouldn't things be faster if we made them constants? They are constants.. the point is in order to compare a boolean to a string you need to convert it to a string and therefore you do string comparison on ?? v ?false?. Cheers Monte From monte at appisle.net Sun Aug 5 23:28:44 2018 From: monte at appisle.net (Monte Goulding) Date: Mon, 6 Aug 2018 13:28:44 +1000 Subject: valueDiff for arrays? In-Reply-To: References: <61e1041b3aeb614ce9e60822954a771b@livecode.com> Message-ID: <36453F55-6102-4AB7-9097-5757DF4A0098@appisle.net> I?m fairly sure you could speed it up by continuing to add keys to p and returning that instead of building the list R. > On 6 Aug 2018, at 1:24 pm, Brian Milby via use-livecode wrote: > > I can speed it up by 10% just be replacing the "add 1 to" with "put true > into". The first if would lose the ">0". A single pass went from 50s to > 44s on my iMac. From smaclean at madmansoft.com Sun Aug 5 23:29:54 2018 From: smaclean at madmansoft.com (Stephen MacLean) Date: Sun, 5 Aug 2018 23:29:54 -0400 Subject: Start using stack - Loading stack libraries In-Reply-To: References: <7B47A7E2-8FB6-4446-9248-F46985DB53CE@madmansoft.com> Message-ID: <159E6F94-9D48-4B36-9FFD-C8777D83568B@madmansoft.com> Hi Paul and Monte, Thanks for the input! @ Monte, I might be able to order the initial query so that they are grouped together by builder type. Then I could process those together with doing one load and unload for that group @ Paul, they are different, based upon the type of build that needs to happen for the source that is being looked at. The code has one handler name that is the same (The init code in the builder), but after that the code is different. All input welcome:) Thanks, Steve > On Aug 5, 2018, at 9:21 PM, Paul Dupuis via use-livecode wrote: > > On 8/5/2018 8:51 PM, Stephen MacLean via use-livecode wrote: >> Any insight is appreciated! >> > > I use a lot of library stacks, but our model is to load them on startup > and unload on shutdown (not really necessary singe the engine does this > on quit). Unless you have zillions of lines of code, I am not sure what > the value is of unloading and reloading the same library? > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From brahma at hindu.org Sun Aug 5 23:32:28 2018 From: brahma at hindu.org (Sannyasin Brahmanathaswami) Date: Mon, 6 Aug 2018 03:32:28 +0000 Subject: Getting Started with DataGrid and another datagrid form References: <016a01d42c46$8abea5f0$a03bf1d0$@net> Message-ID: Aloha zryip I finally figured out that a row has the behavior script that "requires attention" I have yet to try in dghelper. FillInData etc. obviously need controls named according to your grid But I still have the question: The WSIWYG template has the control "where we want them" But is the LayOutControl handler doing? Is it needed? Oh by the way. you need to have a button that set the relayerGroupedControls to true In the form builder, otherwise you can't push an object "back" On 8/5/18 7:26 AM, zryip theSlug via use-livecode wrote: The code you have in the default behavior is the one installed by the inspector located in one of the behavior button (stack only script now, since the dg2) It contains the minimal example code to help the developer starting; FillinData, preFillinData, LayoutControl, etc If you are modifying the template for the datagrid (adding a control, deleting a control, etc) you have to change the code for your datagrid row manually. From brahma at hindu.org Sun Aug 5 23:57:01 2018 From: brahma at hindu.org (Sannyasin Brahmanathaswami) Date: Mon, 6 Aug 2018 03:57:01 +0000 Subject: Getting Started with DataGrid and another datagrid form References: <016a01d42c46$8abea5f0$a03bf1d0$@net> Message-ID: Doug WSIWYG: I was referring to the row temple "build" screen. ... layout handler. I want to understand it... maybe studying the on-line lessons *before* asking questions Someone should do a graphic or schema diagram of the DG message hierarchy. BR From brian at milby7.com Sun Aug 5 23:57:23 2018 From: brian at milby7.com (Brian Milby) Date: Sun, 5 Aug 2018 22:57:23 -0500 Subject: valueDiff for arrays? In-Reply-To: <36453F55-6102-4AB7-9097-5757DF4A0098@appisle.net> References: <61e1041b3aeb614ce9e60822954a771b@livecode.com> <36453F55-6102-4AB7-9097-5757DF4A0098@appisle.net> Message-ID: Just tried that and it adds .7 sec (returning the unsorted keys). The sort in the original takes around .7s. There are only 446 primes found at that point. Returning an array is about the same time as returning an unsorted R. On Sun, Aug 5, 2018 at 10:28 PM, Monte Goulding via use-livecode < use-livecode at lists.runrev.com> wrote: > I?m fairly sure you could speed it up by continuing to add keys to p and > returning that instead of building the list R. > > > On 6 Aug 2018, at 1:24 pm, Brian Milby via use-livecode < > use-livecode at lists.runrev.com> wrote: > > > > I can speed it up by 10% just be replacing the "add 1 to" with "put true > > into". The first if would lose the ">0". A single pass went from 50s to > > 44s on my iMac. > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From monte at appisle.net Mon Aug 6 00:13:10 2018 From: monte at appisle.net (Monte Goulding) Date: Mon, 6 Aug 2018 14:13:10 +1000 Subject: valueDiff for arrays? In-Reply-To: References: <61e1041b3aeb614ce9e60822954a771b@livecode.com> <36453F55-6102-4AB7-9097-5757DF4A0098@appisle.net> Message-ID: > On 6 Aug 2018, at 1:57 pm, Brian Milby via use-livecode wrote: > > Just tried that and it adds .7 sec (returning the unsorted keys). The sort > in the original takes around .7s. There are only 446 primes found at that > point. Returning an array is about the same time as returning an unsorted > R. Hmm? could be the overhead of hashing the array keys. Would be interesting to see the results of just incrementing a counter rather than listing the primes. Cheers Monte From brahma at hindu.org Mon Aug 6 00:16:09 2018 From: brahma at hindu.org (Sannyasin Brahmanathaswami) Date: Mon, 6 Aug 2018 04:16:09 +0000 Subject: Getting Started with DataGrid and another datagrid form References: <016a01d42c46$8abea5f0$a03bf1d0$@net> Message-ID: Duh! http://lessons.livecode.com/m/datagrid/l/7305-example-creating-a-list-of-people on LayoutControl does seem to be required. So the row template is not WSIWYG? Sannyasin Brahmanathaswami via use-livecode wrote: > Doug > > WSIWYG: I was referring to the row temple "build" screen. > > ... layout handler. I want to understand it... > > maybe studying the on-line lessons *before* asking questions > > Someone should do a graphic or schema diagram of the DG message hierarchy. > > BR From alex at tweedly.net Mon Aug 6 04:49:52 2018 From: alex at tweedly.net (Alex Tweedly) Date: Mon, 6 Aug 2018 09:49:52 +0100 Subject: valueDiff for arrays? In-Reply-To: References: <61e1041b3aeb614ce9e60822954a771b@livecode.com> Message-ID: <4d1baf11-5d62-b5c5-23ce-d71416ffffc9@tweedly.net> arrays are hashed - even if quickly, while byte chunks are constant time. So replace both uses of the array np with a byte chunk. i.e. if byte i of np = "n" then next repeat ... put "n" into byte j of np Takes about 40% off the time. -- Alex. On 06/08/2018 03:36, Richard Gaskin via use-livecode wrote: > Mark Waddingham wrote: > > > Richard wrote: > >> > >> Thinking about performance, I wonder if there's anything from some of > >> the changes that have boosted PHP 7's performance so far above its > >> earlier versions which may be relevant for LC: > >> > https://www.reddit.com/r/PHP/comments/3q2brz/how_is_php_7_twice_as_fast/ > > > > I'd actually be really interested in a direct speed comparison between > > exactly equivalent operations in PHP7 and LC. > > Geoff Canyon and I corresponded on this back in March.? I don't think > he'll mind me sharing some of the relevant parts of his test: > > -------------------? from GC ---------------------------------------- > > on mouseUp > ?? put the long seconds into T > ?? repeat with c = 1 to 10 > ????? get get_primes(10000000) > ?? end repeat > ?? put "Found" && the number of lines in it && "primes in" && the long > seconds - T && "seconds" > end mouseUp > > function get_primes n > ?? if n < 2 then return empty > ?? if n = 2 then return 2 > ?? put trunc(sqrt(n)) - 1 into mroot > ?? repeat with i = 3 to mroot step 2 > ????? if np[i] > 0 then next repeat > ????? add 1 to p[i] > ????? repeat with j = i^2 to n step i > ???????? add 1 to np[j] > ????? end repeat > ?? end repeat > ?? put 2 & cr & the keys of p into R > ?? sort lines of R numeric > ?? repeat with i = mroot + (mroot + 1) mod 2 to n - 1 step 2 > ????? if np[i] is empty then put cr & i after R > ?? end repeat > ?? return R > end get_primes > > And that takes about fifteen minutes to run on my 2013 MacBook Pro, > where the slowest performer he's working with takes less than 30 > seconds, and PHP 7 runs in under 7 seconds. Any ideas where I'm > deviating in my implementation compared to his? Here's the latest > version of his test that I found: > > https://blog.famzah.net/2016/09/10/cpp-vs-python-vs-php-vs-java-vs-others-performance-benchmark-2016-q3/ > > > ----------------------------------------------------------------- > From alex at tweedly.net Mon Aug 6 06:17:47 2018 From: alex at tweedly.net (Alex Tweedly) Date: Mon, 6 Aug 2018 11:17:47 +0100 Subject: valueDiff for arrays? In-Reply-To: <4d1baf11-5d62-b5c5-23ce-d71416ffffc9@tweedly.net> References: <61e1041b3aeb614ce9e60822954a771b@livecode.com> <4d1baf11-5d62-b5c5-23ce-d71416ffffc9@tweedly.net> Message-ID: <82a7a422-bcf4-fddc-56d3-ab07b6bb670a@tweedly.net> Earlier, Alex Tweedly said some nonsense like: > arrays are hashed - even if quickly, while byte chunks are constant time. > > So replace both uses of the array np with a byte chunk. > ... > > Takes about 40% off the time. > > -- Alex. Operator error ! Forget what I said, it was wrong. I'll do the test more carefully and send a report later (whether it speeds the test up or not). Alex From paul at researchware.com Mon Aug 6 08:05:28 2018 From: paul at researchware.com (Paul Dupuis) Date: Mon, 6 Aug 2018 08:05:28 -0400 Subject: Start using stack - Loading stack libraries In-Reply-To: <159E6F94-9D48-4B36-9FFD-C8777D83568B@madmansoft.com> References: <7B47A7E2-8FB6-4446-9248-F46985DB53CE@madmansoft.com> <159E6F94-9D48-4B36-9FFD-C8777D83568B@madmansoft.com> Message-ID: On 8/5/2018 11:29 PM, Stephen MacLean via use-livecode wrote: > @ Paul, they are different, based upon the type of build that needs to happen for the source that is being looked at. The code has one handler name that is the same (The init code in the builder), but after that the code is different. Some where, you have a conditional or switch statements to decide what library to load based on the "source". File I/O is always slower than most anything else in a computer these days. So if you load all the libraries and use the switch/if/etc. to just change what library routines are called based on the "source" rather than change what is read from disk, you will reduce any (if there are any) memory leaks issues and speed up your work. It's up to you as I, of course, have no idea what your code looks like or even what you're doing. I get the impression that each library has many routines that have the same name (as in other libraries) but do different things. It may be more effort that any performance gain is worth to have to rename all those routines and adjust code so they can be all loaded at once. Ultimately, the best way to determine if your approach to loading and unloading libraries in volume is to construct a quality assurance test - get or generate a while pile of "sources" and run them through on a test system and see what happens. From smaclean at madmansoft.com Mon Aug 6 08:13:44 2018 From: smaclean at madmansoft.com (Stephen MacLean) Date: Mon, 6 Aug 2018 08:13:44 -0400 Subject: Start using stack - Loading stack libraries In-Reply-To: References: <7B47A7E2-8FB6-4446-9248-F46985DB53CE@madmansoft.com> <159E6F94-9D48-4B36-9FFD-C8777D83568B@madmansoft.com> Message-ID: <25EB3E45-53D0-4A22-9235-D28B7520E14A@madmansoft.com> > On Aug 6, 2018, at 8:05 AM, Paul Dupuis via use-livecode wrote: > > On 8/5/2018 11:29 PM, Stephen MacLean via use-livecode wrote: >> @ Paul, they are different, based upon the type of build that needs to happen for the source that is being looked at. The code has one handler name that is the same (The init code in the builder), but after that the code is different. > > Some where, you have a conditional or switch statements to decide what > library to load based on the "source". File I/O is always slower than > most anything else in a computer these days. So if you load all the > libraries and use the switch/if/etc. to just change what library > routines are called based on the "source" rather than change what is > read from disk, you will reduce any (if there are any) memory leaks > issues and speed up your work. It's up to you as I, of course, have no > idea what your code looks like or even what you're doing. > > I get the impression that each library has many routines that have the > same name (as in other libraries) but do different things. It may be > more effort that any performance gain is worth to have to rename all > those routines and adjust code so they can be all loaded at once. You are correct, same name, but do different things. Each has routines that are self-contained, and only rely on core functions that are at the main stack level. I?ve read that there is something like a 50 stack limit that can be loaded at one time, which is why I initially went this way. Do you know if that is still the case? > > Ultimately, the best way to determine if your approach to loading and > unloading libraries in volume is to construct a quality assurance test - > get or generate a while pile of "sources" and run them through on a test > system and see what happens. > In this process now and hoping to see good results with the way it is, but always looking to improve. Thx! Steve From brian at milby7.com Mon Aug 6 08:20:29 2018 From: brian at milby7.com (Brian Milby) Date: Mon, 6 Aug 2018 07:20:29 -0500 Subject: Start using stack - Loading stack libraries In-Reply-To: <25EB3E45-53D0-4A22-9235-D28B7520E14A@madmansoft.com> References: <7B47A7E2-8FB6-4446-9248-F46985DB53CE@madmansoft.com> <159E6F94-9D48-4B36-9FFD-C8777D83568B@madmansoft.com> <25EB3E45-53D0-4A22-9235-D28B7520E14A@madmansoft.com> Message-ID: On my IDE, mainstacks is currently 204. The stacks are stored in a linked list, so no limit other than memory and performance. Thanks, Brian On Aug 6, 2018, 7:14 AM -0500, Stephen MacLean via use-livecode , wrote: > > > On Aug 6, 2018, at 8:05 AM, Paul Dupuis via use-livecode wrote: > > > > On 8/5/2018 11:29 PM, Stephen MacLean via use-livecode wrote: > > > @ Paul, they are different, based upon the type of build that needs to happen for the source that is being looked at. The code has one handler name that is the same (The init code in the builder), but after that the code is different. > > > > Some where, you have a conditional or switch statements to decide what > > library to load based on the "source". File I/O is always slower than > > most anything else in a computer these days. So if you load all the > > libraries and use the switch/if/etc. to just change what library > > routines are called based on the "source" rather than change what is > > read from disk, you will reduce any (if there are any) memory leaks > > issues and speed up your work. It's up to you as I, of course, have no > > idea what your code looks like or even what you're doing. > > > > I get the impression that each library has many routines that have the > > same name (as in other libraries) but do different things. It may be > > more effort that any performance gain is worth to have to rename all > > those routines and adjust code so they can be all loaded at once. > > You are correct, same name, but do different things. Each has routines that are self-contained, and only rely on core functions that are at the main stack level. > > I?ve read that there is something like a 50 stack limit that can be loaded at one time, which is why I initially went this way. Do you know if that is still the case? > > > > > Ultimately, the best way to determine if your approach to loading and > > unloading libraries in volume is to construct a quality assurance test - > > get or generate a while pile of "sources" and run them through on a test > > system and see what happens. > > > > > In this process now and hoping to see good results with the way it is, but always looking to improve. > > Thx! > > Steve > > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From brahma at hindu.org Mon Aug 6 09:15:05 2018 From: brahma at hindu.org (Sannyasin Brahmanathaswami) Date: Mon, 6 Aug 2018 13:15:05 +0000 Subject: Getting Started with DataGrid and another datagrid form References: <016a01d42c46$8abea5f0$a03bf1d0$@net> Message-ID: I am at the lesson.livecode.com/m/datagrid. They are quite thorough. Much to my chagrin, everything you need to know is there. I would NOT recommend just dragging a Datagrip and "digging in" are even using DG Helper (to start) Read the lessons first (or at same time as you follow along in a stack.) BR From panos.merakos at livecode.com Mon Aug 6 10:19:55 2018 From: panos.merakos at livecode.com (panagiotis merakos) Date: Mon, 6 Aug 2018 15:19:55 +0100 Subject: [ANN] This Week in LiveCode 140 Message-ID: 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 #140 here: https://goo.gl/tww8bD 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 From brahma at hindu.org Mon Aug 6 11:32:03 2018 From: brahma at hindu.org (Sannyasin Brahmanathaswami) Date: Mon, 6 Aug 2018 15:32:03 +0000 Subject: Getting Started with DataGrid and another datagrid form References: <016a01d42c46$8abea5f0$a03bf1d0$@net> Message-ID: Yay! I made my first form. Now for questions *not* covered by the lessons. 1) Is the graphic "Background" a special object? In Navigator I opened stack "Data Grid Temple 33333333333" directly editing the group "Row Template". I set background graphic to roundedRectangle, corners set 20px, and applied a linear gradiant with nice colors. I saved the stack. But the graphic did not change? I *can* adjust its rect, and the rounded corners show (appears on hilite, the it is tranparent otherwise) and that sticks, but not linear gradient? 2) How do I make the datagrid transparent (opacity to 0). So that between the rows there is a margin which shows the background of the card coming through. BR From bobsneidar at iotecdigital.com Mon Aug 6 11:41:05 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Mon, 6 Aug 2018 15:41:05 +0000 Subject: DataGrid image display woes In-Reply-To: References: <000c01d42c09$388cb3e0$a9a61ba0$@FlexibleLearning.com> Message-ID: <5B06469D-7E2B-49E3-ABA1-E9D5F6EBDD98@iotecdigital.com> I think Trevor wrote the original datagrid behavior, or at least was instrumental in it. Bob S > On Aug 4, 2018, at 11:17 , Brian Milby via use-livecode wrote: > > Wow, and Trevor knew right away... pretty impressive! > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From bobsneidar at iotecdigital.com Mon Aug 6 11:47:10 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Mon, 6 Aug 2018 15:47:10 +0000 Subject: [OT] The problem with programming and how to fix it In-Reply-To: References: Message-ID: Except for Supercard. Bob S > On Aug 5, 2018, at 13:40 , Alejandro Tejada via use-livecode wrote: > > LiveCode is multiplatform and this single fact > set it apart from all previous x-talk languages. From mark at livecode.com Mon Aug 6 11:50:50 2018 From: mark at livecode.com (Mark Waddingham) Date: Mon, 6 Aug 2018 10:50:50 -0500 Subject: valueDiff for arrays? In-Reply-To: <82a7a422-bcf4-fddc-56d3-ab07b6bb670a@tweedly.net> References: <61e1041b3aeb614ce9e60822954a771b@livecode.com> <4d1baf11-5d62-b5c5-23ce-d71416ffffc9@tweedly.net> <82a7a422-bcf4-fddc-56d3-ab07b6bb670a@tweedly.net> Message-ID: <9E8FF074-C0D5-497C-B4B3-E85C5EB5D5E5@livecode.com> Alex Tweedly didn't talk nonsense... Byte x [to y] of z is (truly) constant time if z is strictly a binary string. tArray[x] is constant time if x is already a name - otherwise the string needs turned into a name. If x is coming from repeat for each key x - then it will already be a name. (Not sure if that helps!) Mark. Sent from my iPhone > On 6 Aug 2018, at 05:17, Alex Tweedly via use-livecode wrote: > > Earlier, Alex Tweedly said some nonsense like: > >> arrays are hashed - even if quickly, while byte chunks are constant time. >> >> So replace both uses of the array np with a byte chunk. >> ... >> >> Takes about 40% off the time. >> >> -- Alex. > Operator error ! > Forget what I said, it was wrong. > > I'll do the test more carefully and send a report later (whether it speeds the test up or not). > > Alex > > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From ahsoftware at sonic.net Mon Aug 6 12:01:45 2018 From: ahsoftware at sonic.net (Mark Wieder) Date: Mon, 6 Aug 2018 09:01:45 -0700 Subject: valueDiff for arrays? In-Reply-To: References: <42eece80-e3f9-f230-1603-935be16fcce0@fourthworld.com> <5957f2da3e3dffbf86e9d1967b23fc32@livecode.com> <4fc90f1a-e9cd-48e9-b3b0-4346af654c08@Spark> <6774cdb3002c5e4b21effcfa7ee0ee6b@livecode.com> <6EB2D228-8308-493C-A297-60332CDB0638@appisle.net> <0E749254-1825-4BA8-B8EE-604A59484B61@appisle.net> <23e66dc7-2421-d8fa-d01d-58c0f770baab@sonic.net> <3bcbb072-07d7-1c39-066e-0bdc34bdd57f@sonic.net> Message-ID: On 08/05/2018 08:26 PM, Monte Goulding via use-livecode wrote: > They are constants.. the point is in order to compare a boolean to a string you need to convert it to a string and therefore you do string comparison on ?? v ?false?. Doh! Yes, I forgot again about this converting everything to strings as the LCD. -- Mark Wieder ahsoftware at gmail.com From bobsneidar at iotecdigital.com Mon Aug 6 12:22:26 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Mon, 6 Aug 2018 16:22:26 +0000 Subject: Getting Started with DataGrid and another datagrid form In-Reply-To: References: <016a01d42c46$8abea5f0$a03bf1d0$@net> Message-ID: <5A52BD59-7DC9-48A2-8C79-682A53ADC4C0@iotecdigital.com> The template is like the group editor. In fact it may actually BE the group editor. The behavior script determines what to do when a row is drawn. I think the thing to understand about datagrids, table or forms, is that for each array element in the data (itself an array) the template is "cloned". Each row is a "clone" of the template. But for forms, the behavior does not know what you want to do when the rows are created. For instance, you may want to color negative numbers in red, or surround them with parenthesis. You may have a button that needs to be hilited or not depending on the value for that control. Perhaps you have a field that can contain multiple lines of text, and you need to set the row height for each row based upon the formattedHeight of that field. Or maybe show and hide objects etc. The beauty of a form datagrid is that how each individual row gets drawn is entirely under your own programmatical control. A table datagrid is simply like a spreadsheet with fixed row heights and no support for graphics or other controls. BTW I kinda cheated and made a way to have checkboxes for a table style datagrid. I simply had a group with checkboxes overlaying a "dummy" column in the datagrid. When I queried for data I put something like: SELECT '' AS checkmark, '' AS checkmarkvalue, * FROM customers This put two empty strings in my array data (I use sqlYoga so I get arrays back instead of cursors, but the idea is the same). I only defined a column for "checkmark", but NOT for "checkmarkvalue". This allowed me to have a blank column to overlay the checkboxes on, and a hidden column to hold the checkmarkvalue for each row in the datagrid data. Then when I populated the datagrid, I hid all the checkboxes then showed each checkbox control based upon how much data was being displayed. Of course, you have to account for scrolling, so that can be tricky, but it was a poor man's way of adding checkboxes to a table datagrid. Others could probably come up with a more elegant solution. Bob S > On Aug 5, 2018, at 10:03 , Sannyasin Brahmanathaswami via use-livecode wrote: > > I slowly studying as much as we can on the datagrid,and "digging" in it with an first attempt to build a form. > > One thing is not clear to me. > > 1) Have the WYSIG panel to build the datagrid form. > > 2) why then do we have, in the Behavior Script this handler? > > Isn't the layout already pre-determined in the template? From bobsneidar at iotecdigital.com Mon Aug 6 13:15:08 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Mon, 6 Aug 2018 17:15:08 +0000 Subject: [OT] The problem with programming and how to fix it In-Reply-To: <6F521658-FC6E-46FA-8F0A-296DC1FFACA9@livecode.com> References: <6F521658-FC6E-46FA-8F0A-296DC1FFACA9@livecode.com> Message-ID: <69928BBD-1F1E-45EB-8E83-C0D4A6D2988B@iotecdigital.com> These are great points. This is why I say that computers don't *actually* do anything. All they do is arrange information in a way that humans can understand and act upon. That human may be a software developer who then feeds that information to a manufacturing device to build a widget. Or it may be information provided to the accountant so that a printer can actually pring the paychecks. All these are incredibly useful things, but the computer is not "doing" any work in terms of moving mass. And what it looks like they are doing, say flying an airplane or drawing a spreadsheet, is really an illusion created by a long string of software developers to transform information we understand into a binary form, make some calculations, then convery the binary information back to another form of information. Bob S > On Aug 5, 2018, at 14:35 , Mark Waddingham via use-livecode wrote: > > Hmmmm - I think that is missing the point about what the current 'AI' technologies that exist actually do (as far as I can see anyway - I'd be more than happy to be proved wrong!)... > > They are merely mappings from one form input to another form of input - they themselves don't do any action - the actions still have to be implemented somehow. > > Alexa for example by itself does diddly-squat beyond map voice to a lower level actionable command (with an element of context, certainly which makes it slightly interesting) - it's the skills that people 'like us' implement which actually do the thing Alexa interprets that we want to be done. > > Same with google assistant, siri, wolfram alpha, even google search - I can type 'what is 100 usd in gbp' and it gives me the answer. > > However the reason google search can do that is because some programmer at google has added a hook which knows that when that pattern is searched for it should call a program that has been explicitly written which looks up the current exchange rate and then renders the result in a nicely formatted string which appears at the top of the search results. > > Warmest Regards, > > Mark. > > Sent from my iPhone From bobsneidar at iotecdigital.com Mon Aug 6 13:20:01 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Mon, 6 Aug 2018 17:20:01 +0000 Subject: [OT] The problem with programming and how to fix it In-Reply-To: References: Message-ID: <73AFD76E-05B5-4892-817A-579AA728BE3B@iotecdigital.com> But that too is an illusion. The mysterious servers are not really "learning". They are taking input and then processing it according to rules that a group of software developer somewhere defined. That's why the "A" in "AI" means "Artificial". I think (and therefore I am) we need to keep this focus, otherwise a lot of time and energy will be spent trying to make an inanimate object into a living creature that actually *can* learn. What is REALLY needed these days is finding a way to teach children how to learn, something modern school systems seem to have neglected. Bob S > On Aug 5, 2018, at 15:35 , Alejandro Tejada via use-livecode wrote: > > Hi Mark, > >> Hmmmm - I think that is missing the point about what the >> current 'AI' technologies that exist actually do (as far as >> I can see anyway - I'd be more than happy to be >> proved wrong!)... > > Well, the point is that all current AI technologies requires > an internet connection to work and AI software that run > in servers is learning thousands of new interactions > everyday from millions active users. From ambassador at fourthworld.com Mon Aug 6 13:26:13 2018 From: ambassador at fourthworld.com (Richard Gaskin) Date: Mon, 6 Aug 2018 10:26:13 -0700 Subject: [OT] The problem with programming and how to fix it In-Reply-To: <6F521658-FC6E-46FA-8F0A-296DC1FFACA9@livecode.com> References: <6F521658-FC6E-46FA-8F0A-296DC1FFACA9@livecode.com> Message-ID: <59435f56-2fdf-e9ee-7764-7df88c09649e@fourthworld.com> Mark Waddingham wrote: > However the reason google search can do that is because some > programmer at google has added a hook which knows that when that > pattern is searched for it should call a program that has been > explicitly written which looks up the current exchange rate and > then renders the result in a nicely formatted string which appears > at the top of the search results. Amen. Before anyone gets too worshipful about AI, it may be useful to consider: 1. "AI" is being bandied about for any software that has more than three nested "if"s. ;) I'm exaggerating of course, but really, software is just software; some is more complex than others, some useful, some mere flourish, and none of it models human cognitive processes particularly well. 2. One motivation for normalizing the term "AI" is to minimize liability exposure for wealthy corporations who deploy complex software without adequate testing. "It has a mind of its own" is not an allowable defense with any other product, and continued deification of software under the "AI" label risks losing sight of that. 3. The state of the art suggests we're a long way from anything close to the Singularity: Google Translate?s AI starts talking about the end of the world :) -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ____________________________________________________________________ Ambassador at FourthWorld.com http://www.FourthWorld.com From zryip.theslug at gmail.com Mon Aug 6 13:29:40 2018 From: zryip.theslug at gmail.com (zryip theSlug) Date: Mon, 6 Aug 2018 19:29:40 +0200 Subject: Getting Started with DataGrid and another datagrid form In-Reply-To: <5A52BD59-7DC9-48A2-8C79-682A53ADC4C0@iotecdigital.com> References: <016a01d42c46$8abea5f0$a03bf1d0$@net> <5A52BD59-7DC9-48A2-8C79-682A53ADC4C0@iotecdigital.com> Message-ID: Bob, A column template exists for each column of a dg table, so you can use any control you want inside a datagrid column, including widgets. Here is a link to a DGH's screenshot . On the left, we have properties for a column (row or header). This is a datagrid table with two visible columns. The second column is displaying checkboxes, text, popup menus, images, widgets, etc depending of the property type. This is not a trick, this is perfectly supported by datagrid tables. https://livecode.com/wp-content/uploads/2018/06/image14-26.png On Mon, Aug 6, 2018 at 6:22 PM, Bob Sneidar via use-livecode < use-livecode at lists.runrev.com> wrote: > The template is like the group editor. In fact it may actually BE the > group editor. The behavior script determines what to do when a row is > drawn. > > I think the thing to understand about datagrids, table or forms, is that > for each array element in the data (itself an array) the template is > "cloned". Each row is a "clone" of the template. But for forms, the > behavior does not know what you want to do when the rows are created. For > instance, you may want to color negative numbers in red, or surround them > with parenthesis. You may have a button that needs to be hilited or not > depending on the value for that control. Perhaps you have a field that can > contain multiple lines of text, and you need to set the row height for each > row based upon the formattedHeight of that field. Or maybe show and hide > objects etc. > > The beauty of a form datagrid is that how each individual row gets drawn > is entirely under your own programmatical control. A table datagrid is > simply like a spreadsheet with fixed row heights and no support for > graphics or other controls. > > BTW I kinda cheated and made a way to have checkboxes for a table style > datagrid. I simply had a group with checkboxes overlaying a "dummy" column > in the datagrid. When I queried for data I put something like: > > SELECT '' AS checkmark, '' AS checkmarkvalue, * FROM customers > > This put two empty strings in my array data (I use sqlYoga so I get arrays > back instead of cursors, but the idea is the same). I only defined a column > for "checkmark", but NOT for "checkmarkvalue". This allowed me to have a > blank column to overlay the checkboxes on, and a hidden column to hold the > checkmarkvalue for each row in the datagrid data. > > Then when I populated the datagrid, I hid all the checkboxes then showed > each checkbox control based upon how much data was being displayed. Of > course, you have to account for scrolling, so that can be tricky, but it > was a poor man's way of adding checkboxes to a table datagrid. Others could > probably come up with a more elegant solution. > > Bob S > > > > On Aug 5, 2018, at 10:03 , Sannyasin Brahmanathaswami via use-livecode < > use-livecode at lists.runrev.com> wrote: > > > > I slowly studying as much as we can on the datagrid,and "digging" in it > with an first attempt to build a form. > > > > One thing is not clear to me. > > > > 1) Have the WYSIG panel to build the datagrid form. > > > > 2) why then do we have, in the Behavior Script this handler? > > > > Isn't the layout already pre-determined in the template? > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > -- Zryip TheSlug http://www.aslugontheroad.com From richmondmathewson at gmail.com Mon Aug 6 14:05:30 2018 From: richmondmathewson at gmail.com (Richmond Mathewson) Date: Mon, 6 Aug 2018 21:05:30 +0300 Subject: [OT] The problem with programming and how to fix it In-Reply-To: References: Message-ID: How "multi" is SuperCard? Richmond. On 6/8/2018 6:47 pm, Bob Sneidar via use-livecode wrote: > Except for Supercard. > > Bob S > > >> On Aug 5, 2018, at 13:40 , Alejandro Tejada via use-livecode wrote: >> >> LiveCode is multiplatform and this single fact >> set it apart from all previous x-talk languages. > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From lists at mangomultimedia.com Mon Aug 6 14:16:00 2018 From: lists at mangomultimedia.com (Trevor DeVore) Date: Mon, 6 Aug 2018 13:16:00 -0500 Subject: DataGrid image display woes In-Reply-To: <5B06469D-7E2B-49E3-ABA1-E9D5F6EBDD98@iotecdigital.com> References: <000c01d42c09$388cb3e0$a9a61ba0$@FlexibleLearning.com> <5B06469D-7E2B-49E3-ABA1-E9D5F6EBDD98@iotecdigital.com> Message-ID: Yes, I did write the original Data Grid. One thing I?ve learned when working with any code in LiveCode that is shared between objects, however, is that when you see one object updating and none of the other objects you?ve forgotten to add ?of me?. -- Trevor DeVore On Mon, Aug 6, 2018 at 10:41 AM Bob Sneidar via use-livecode < use-livecode at lists.runrev.com> wrote: > I think Trevor wrote the original datagrid behavior, or at least was > instrumental in it. > > Bob S > > > > On Aug 4, 2018, at 11:17 , Brian Milby via use-livecode < > use-livecode at lists.runrev.com> wrote: > > > > Wow, and Trevor knew right away... pretty impressive! > > _______________________________________________ > > use-livecode mailing list > > use-livecode at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From ahsoftware at sonic.net Mon Aug 6 14:21:15 2018 From: ahsoftware at sonic.net (Mark Wieder) Date: Mon, 6 Aug 2018 11:21:15 -0700 Subject: [OT] The problem with programming and how to fix it In-Reply-To: <59435f56-2fdf-e9ee-7764-7df88c09649e@fourthworld.com> References: <6F521658-FC6E-46FA-8F0A-296DC1FFACA9@livecode.com> <59435f56-2fdf-e9ee-7764-7df88c09649e@fourthworld.com> Message-ID: <20c94ff7-bf4b-de6b-cf66-418832966bfa@sonic.net> On 08/06/2018 10:26 AM, Richard Gaskin via use-livecode wrote: > 3. The state of the art suggests we're a long way from anything close to > the Singularity: > > Google Translate?s AI starts talking about the end of the world > > > > :) > LOL. I was wondering how long before someone posted that. And in spite of Google's "fixing" the AI translator (fun while it lasted) if you translate "be do be do be do be do be do be do be do" from Maori to English you still get "why not why do not you do it?". Or translate "Ich bi befo" from Maori to English and get "I'm like a butterfly" -- Mark Wieder ahsoftware at gmail.com From ambassador at fourthworld.com Mon Aug 6 14:26:55 2018 From: ambassador at fourthworld.com (Richard Gaskin) Date: Mon, 6 Aug 2018 11:26:55 -0700 Subject: [OT] The problem with programming and how to fix it In-Reply-To: References: Message-ID: <7035c200-22d2-7b02-0b3a-5c26a882268d@fourthworld.com> It isn't. SuperCard is available exclusively for macOS. There was an effort in the mid-90s to port to Windows, but funding dried up before it was completed so no useful version ever saw the light of day. Toolbook is also single-platform, Windows-only. But most of the others were cross-platform to varying degrees: OMO and Plus were Mac and Windows, Gain Momentum was Unix and Windows, SenseTalk ran on Mac, Windows, and Unix. LC is unique in its expansion to mobile, though. And today, even looking beyond xTalks, I don't see any other scripting tool with integrated GUI elements available for as many platforms. -- Richard Gaskin Richmond Mathewson wrote: > How "multi" is SuperCard? > > On 6/8/2018 6:47 pm, Bob Sneidar via use-livecode wrote: >> Except for Supercard. >> >> >>> On Aug 5, 2018, at 13:40 , Alejandro Tejada via use-livecode wrote: >>> >>> LiveCode is multiplatform and this single fact >>> set it apart from all previous x-talk languages. From brahma at hindu.org Mon Aug 6 15:03:30 2018 From: brahma at hindu.org (Sannyasin Brahmanathaswami) Date: Mon, 6 Aug 2018 19:03:30 +0000 Subject: Getting Started with DataGrid and another datagrid form References: <016a01d42c46$8abea5f0$a03bf1d0$@net> <5A52BD59-7DC9-48A2-8C79-682A53ADC4C0@iotecdigital.com> Message-ID: On 8/6/18 7:29 AM, zryip theSlug via use-livecode wrote: > Bob, > > A column template exists for each column of a dg table, so you can use any > control you want inside a datagrid column, including widgets. > > Here is a link to a DGH's screenshot . On the left, we have properties for > a column (row or header). This is a datagrid table with two visible > columns. The second column is displaying checkboxes, text, popup menus, > images, widgets, etc depending of the property type. This is not a trick, > this is perfectly supported by datagrid tables. > > https://livecode.com/wp-content/uploads/2018/06/image14-26.png > > On Mon, Aug 6, 2018 at 6:22 PM, Bob Sneidar via use-livecode < > use-livecode at lists.runrev.com> wrote: > >> The template is like the group editor. In fact it may actually BE the >> group editor. The behavior script determines what to do when a row is >> drawn. >> >> I think the thing to understand about datagrids, table or forms, is that >> for each array element in the data (itself an array) the template is >> "cloned". Each row is a "clone" of the template. But for forms, the >> behavior does not know what you want to do when the rows are created. For >> instance, you may want to color negative numbers in red, or surround them >> with parenthesis. You may have a button that needs to be hilited or not >> depending on the value for that control. Perhaps you have a field that can >> contain multiple lines of text, and you need to set the row height for each >> row based upon the formattedHeight of that field. Or maybe show and hide >> objects etc. >> >> The beauty of a form datagrid is that how each individual row gets drawn >> is entirely under your own programmatical control. A table datagrid is >> simply like a spreadsheet with fixed row heights and no support for >> graphics or other controls. >> >> BTW I kinda cheated and made a way to have checkboxes for a table style >> datagrid. I simply had a group with checkboxes overlaying a "dummy" column >> in the datagrid. When I queried for data I put something like: >> >> SELECT '' AS checkmark, '' AS checkmarkvalue, * FROM customers >> >> This put two empty strings in my array data (I use sqlYoga so I get arrays >> back instead of cursors, but the idea is the same). I only defined a column >> for "checkmark", but NOT for "checkmarkvalue". This allowed me to have a >> blank column to overlay the checkboxes on, and a hidden column to hold the >> checkmarkvalue for each row in the datagrid data. >> >> Then when I populated the datagrid, I hid all the checkboxes then showed >> each checkbox control based upon how much data was being displayed. Of >> course, you have to account for scrolling, so that can be tricky, but it >> was a poor man's way of adding checkboxes to a table datagrid. Others could >> probably come up with a more elegant solution. >> >> Bob S >> >> >>> On Aug 5, 2018, at 10:03 , Sannyasin Brahmanathaswami via use-livecode < >> use-livecode at lists.runrev.com> wrote: >>> I slowly studying as much as we can on the datagrid,and "digging" in it >> with an first attempt to build a form. >>> One thing is not clear to me. >>> >>> 1) Have the WYSIG panel to build the datagrid form. >>> >>> 2) why then do we have, in the Behavior Script this handler? >>> >>> Isn't the layout already pre-determined in the template? >> >> _______________________________________________ >> use-livecode mailing list >> use-livecode at lists.runrev.com >> Please visit this url to subscribe, unsubscribe and manage your >> subscription preferences: >> http://lists.runrev.com/mailman/listinfo/use-livecode >> > > From richmondmathewson at gmail.com Mon Aug 6 15:13:06 2018 From: richmondmathewson at gmail.com (Richmond Mathewson) Date: Mon, 6 Aug 2018 22:13:06 +0300 Subject: [OT] The problem with programming and how to fix it In-Reply-To: <7035c200-22d2-7b02-0b3a-5c26a882268d@fourthworld.com> References: <7035c200-22d2-7b02-0b3a-5c26a882268d@fourthworld.com> Message-ID: <8adee625-d480-e4e7-45c4-4f32aa970fc2@gmail.com> Oh, Yes, ToolBook . . I had to work with ToolBook in 1998 when I was at the UAE University in Al Ain, UAE, making EFL "stuff". Far, far less easy-going than HyperCard. Sheikh Yer-Bomboms, the chancellor of the University (a man who was pointed on merit: the merit of being one of the sons of Sheikh Zayed al-Nahyan), suddenly decided in 1998 that we'd chuck out all the Macs running system 8 we'd just spent 4 months setting up and authoring EFL-ware for with HyperCard and replace them with IBM-compats running Windows NT. So, when I wasn't teaching women/girls whose faces I couldn't see, I was sitting between a Macintosh and a PC trying to reimplement all the HyperCard offerings in ToolBook. This was a major "fag" as a lot of what I had got going in HyperCard (3D models of filing cabinets popping open their draws to reveal Quicktime movies) just did not seem possible with ToolBook. Arriving in St. Andrews, in Scotland, in 2000, hired to author EFL-ware for several Mac labs (which I never did as they redirected my efforts & we had a fight involving the teachers' Union and so on), I discovered Metacard, and less than 2 weeks later found Runtime Revolution 1.1.1. At the risk of sounding extremely corny, after 2 sweaty years with Toolbook, RunRev was almost like returning home. From what I have seen recently, ToolBook seems to have "degenerated" from a "proper" programming IDE into some sort of "PowerPoint on Steroids" for business types. Richmond. On 6/8/2018 9:26 pm, Richard Gaskin via use-livecode wrote: > It isn't. SuperCard is available exclusively for macOS. There was an > effort in the mid-90s to port to Windows, but funding dried up before > it was completed so no useful version ever saw the light of day. > > Toolbook is also single-platform, Windows-only. > > But most of the others were cross-platform to varying degrees: OMO and > Plus were Mac and Windows, Gain Momentum was Unix and Windows, > SenseTalk ran on Mac, Windows, and Unix. > > LC is unique in its expansion to mobile, though. And today, even > looking beyond xTalks, I don't see any other scripting tool with > integrated GUI elements available for as many platforms. > From mark at livecode.com Mon Aug 6 15:39:59 2018 From: mark at livecode.com (Mark Waddingham) Date: Mon, 6 Aug 2018 14:39:59 -0500 Subject: [OT] The problem with programming and how to fix it In-Reply-To: <7035c200-22d2-7b02-0b3a-5c26a882268d@fourthworld.com> References: <7035c200-22d2-7b02-0b3a-5c26a882268d@fourthworld.com> Message-ID: I think it might be quite unique amongst x-talks in another way too... How much of any of the others were written in themselves? Mark. Sent from my iPhone > On 6 Aug 2018, at 13:26, Richard Gaskin via use-livecode wrote: > > It isn't. SuperCard is available exclusively for macOS. There was an effort in the mid-90s to port to Windows, but funding dried up before it was completed so no useful version ever saw the light of day. > > Toolbook is also single-platform, Windows-only. > > But most of the others were cross-platform to varying degrees: OMO and Plus were Mac and Windows, Gain Momentum was Unix and Windows, SenseTalk ran on Mac, Windows, and Unix. > > LC is unique in its expansion to mobile, though. And today, even looking beyond xTalks, I don't see any other scripting tool with integrated GUI elements available for as many platforms. > > -- > Richard Gaskin > > Richmond Mathewson wrote: >> How "multi" is SuperCard? >>> On 6/8/2018 6:47 pm, Bob Sneidar via use-livecode wrote: >>> Except for Supercard. >>> >>> >>>> On Aug 5, 2018, at 13:40 , Alejandro Tejada via use-livecode wrote: >>>> >>>> LiveCode is multiplatform and this single fact >>>> set it apart from all previous x-talk languages. > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From ambassador at fourthworld.com Mon Aug 6 15:49:29 2018 From: ambassador at fourthworld.com (Richard Gaskin) Date: Mon, 6 Aug 2018 12:49:29 -0700 Subject: [OT] The problem with programming and how to fix it In-Reply-To: References: Message-ID: <30594296-9c18-3382-0386-de8edaa775ee@fourthworld.com> Mark Waddingham wrote: > I think it might be quite unique amongst x-talks in another way too... > > How much of any of the others were written in themselves? Not many. Toolbook, Gain Momentum, and SuperCard are the only ones I can think of beyond LC that had enough confidence in their tooling to use it to make their tooling. -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ____________________________________________________________________ Ambassador at FourthWorld.com http://www.FourthWorld.com From alex at tweedly.net Mon Aug 6 16:04:21 2018 From: alex at tweedly.net (Alex Tweedly) Date: Mon, 6 Aug 2018 21:04:21 +0100 Subject: valueDiff for arrays? In-Reply-To: <9E8FF074-C0D5-497C-B4B3-E85C5EB5D5E5@livecode.com> References: <61e1041b3aeb614ce9e60822954a771b@livecode.com> <4d1baf11-5d62-b5c5-23ce-d71416ffffc9@tweedly.net> <82a7a422-bcf4-fddc-56d3-ab07b6bb670a@tweedly.net> <9E8FF074-C0D5-497C-B4B3-E85C5EB5D5E5@livecode.com> Message-ID: On 06/08/2018 16:50, Mark Waddingham via use-livecode wrote: > Alex Tweedly didn't talk nonsense... Byte x [to y] of z is (truly) constant time if z is strictly a binary string. That's right - the basic principle wasn't nonsense - but most everything else in my email was :-) I said you only needed to change two lines - in fact you need to make changes in 4 places. I said the saving was ~ 40%, in fact it's ~75-80% First wrong thing - you can't just casually write into? "byte X of tmp". if X is greater than the current length of tmp, then this simply appends a single byte. So you need to pre-fill the variable that holds the bytes. Second wrong thing was ? put "a" into byte X of np that should be ? put numtobyte(66) into byte X of np I don't thin this *should* make much difference - but in fact it makes a huge difference. Not sure why - I suspect a bug ,,,, I'll look at it some more and hopefully submit a bug report later. Third wrong thing -? I wasn't properly calculating latter set of primes. Fourth wrong thing - I was running the wrong test stack :-) Fifth additional minor tweak - there's no need for the array 'p'; all it was used for was extracting the keys, sorting them and using that to start the textual list of results. Better to just put the confirmed primes into the textual list. So - fixing all those gives code that runs about 75-80% faster. See revised code below. Now off to try a different, perhaps crazy, idea :-) Code - sorry about the formatting ... on mouseUp local T put the long seconds into T repeat with c = 1 to 2 get get_primes(10000000) end repeat put "button Found" && the number of lines in it && "primes in" && the long seconds - T && "seconds" &CR after fld "F" end mouseUp function get_primes n local mroot, np, R repeat with i = 1 to n put numtobyte(66) into byte i of np end repeat if n < 2 then return empty if n = 2 then return 2 put trunc(sqrt(n)) - 1 into mroot repeat with i = 3 to mroot step 2 if byte i of np = "a" then next repeat -- put TRUE into p[i] put i &CR after R repeat with j = i*i to n step i put numtobyte(65) into byte j of np end repeat end repeat -- put 2 & cr & the keys of p into R -- sort lines of R numeric repeat with i = mroot + (mroot + 1) mod 2 to n - 1 step 2 if byte i of np = numtobyte(66) then put i & CR after R end repeat return R end get_primes -- Alex. From mark at livecode.com Mon Aug 6 16:25:58 2018 From: mark at livecode.com (Mark Waddingham) Date: Mon, 06 Aug 2018 22:25:58 +0200 Subject: valueDiff for =?UTF-8?Q?arrays=3F?= In-Reply-To: References: <61e1041b3aeb614ce9e60822954a771b@livecode.com> <4d1baf11-5d62-b5c5-23ce-d71416ffffc9@tweedly.net> <82a7a422-bcf4-fddc-56d3-ab07b6bb670a@tweedly.net> <9E8FF074-C0D5-497C-B4B3-E85C5EB5D5E5@livecode.com> Message-ID: On 2018-08-06 22:04, Alex Tweedly via use-livecode wrote: > On 06/08/2018 16:50, Mark Waddingham via use-livecode wrote: > >> Alex Tweedly didn't talk nonsense... Byte x [to y] of z is (truly) >> constant time if z is strictly a binary string. > That's right - the basic principle wasn't nonsense - but most > everything else in my email was :-) Well I spoke a bit of nonsense in the above - only byte x of z is constant time (if z is strictly a binary string) - byte x to y of z - is O(n) where n = y - x. Of course the reality is that it should be possibly for it to be constant for both - chunk ranges of things should be able to be created in constant time as they can reference the thing they are chunking... However, the reason we have yet to do that is that ownership of the values need to be 'understood' (as in modelled in the engine at runtime) to ensure small chunks of much larger strings don't cause the much larger strings to stay hanging around when they are no longer referenced. e.g. You have a 20Mb text file which you chunk and extract only 1Kb worth of small strings from. You don't want the 20Mb remaining in memory when its not needed anymore. A naive implementation of substrings would cause that to happen and cause the size of the heap to blow up in size with nothing you (as the programmer) could do about it. > I said you only needed to change two lines - in fact you need to make > changes in 4 places. > I said the saving was ~ 40%, in fact it's ~75-80% I don't think anyone is going to complain where 'nonsense' is actually a misstatement by a factor of 2 (in the better way!) over a performance improvement :) > First wrong thing - you can't just casually write into? "byte X of > tmp". if X is greater than the current length of tmp, then this simply > appends a single byte. So you need to pre-fill the variable that holds > the bytes. Yes - it's the same for all 'put into ' expressions I believe. I can't really say whether the alternative (i.e. padding) would be more 'correct' or not (well, not without a good deal of pondering!) - certainly useful though, in this particular case. Regardless of correctness - pre-filling the binary string has a memory allocation advantage as well. It can be quite expensive (O(n) in fact - where n is the existing length) to extend a string (binary or otherwise) beyond its current length. So if you pre-fill the length you want, no memory allocation has to happen during use of it. > Second wrong thing was > ? put "a" into byte X of np > that should be > ? put numtobyte(66) into byte X of np > > I don't thin this *should* make much difference - but in fact it makes > a huge difference. Not sure why - I suspect a bug ,,,, I'll look at it > some more and hopefully submit a bug report later. The issue there is that you are mixing text with binary. I think the engine assumes (currently) in that case that you mean the target to be text... Although I *think* we fixed that case recently in a patch to appear in either 9.0.1 or 9.1.0 (maybe Ali can comment on that). If you explicitly say 'byte' in the target then it should end up being binary that you get. Warmest Regards, Mark. -- Mark Waddingham ~ mark at livecode.com ~ http://www.livecode.com/ LiveCode: Everyone can create apps From brian at milby7.com Mon Aug 6 16:55:50 2018 From: brian at milby7.com (Brian Milby) Date: Mon, 6 Aug 2018 15:55:50 -0500 Subject: valueDiff for arrays? In-Reply-To: References: <61e1041b3aeb614ce9e60822954a771b@livecode.com> <4d1baf11-5d62-b5c5-23ce-d71416ffffc9@tweedly.net> <82a7a422-bcf4-fddc-56d3-ab07b6bb670a@tweedly.net> <9E8FF074-C0D5-497C-B4B3-E85C5EB5D5E5@livecode.com> Message-ID: Ah, that is what I was missing (numtobyte)... I knew that 4000 seconds wasn't right :) I was able to shave a bit more off by only calling numtobyte twice (17s to 12s for single pass): function get_primes pN local tMroot, tPrimes, tIsItPrime, tYes, tNo put numtobyte(66) into tYes put numtobyte(65) into tNo if pN < 2 then return empty if pN = 2 then return 2 put 2 into tPrimes put trunc(sqrt(pN)) - 1 into tMroot repeat with i = 1 to pN put tYes into byte i of tIsItPrime end repeat repeat with i = 3 to tMroot step 2 if byte i of tIsItPrime is tNo then next repeat put cr & i after tPrimes repeat with j = i^2 to pN step i put tNo into byte j of tIsItPrime end repeat end repeat repeat with i = tMroot + (tMroot + 1) mod 2 to pN - 1 step 2 if byte i of tIsItPrime is tYes then put cr & i after tPrimes end repeat return tPrimes end get_primes I also changed the variable names a bit :) On Mon, Aug 6, 2018 at 3:25 PM, Mark Waddingham via use-livecode < use-livecode at lists.runrev.com> wrote: > On 2018-08-06 22:04, Alex Tweedly via use-livecode wrote: > >> On 06/08/2018 16:50, Mark Waddingham via use-livecode wrote: >> >> Alex Tweedly didn't talk nonsense... Byte x [to y] of z is (truly) >>> constant time if z is strictly a binary string. >>> >> That's right - the basic principle wasn't nonsense - but most >> everything else in my email was :-) >> > > Well I spoke a bit of nonsense in the above - only byte x of z is constant > time (if z is strictly a binary string) - byte x to y of z - is O(n) where > n = y - x. > > Of course the reality is that it should be possibly for it to be constant > for both - chunk ranges of things should be able to be created in constant > time as they can reference the thing they are chunking... However, the > reason we have yet to do that is that ownership of the values need to be > 'understood' (as in modelled in the engine at runtime) to ensure small > chunks of much larger strings don't cause the much larger strings to stay > hanging around when they are no longer referenced. > > e.g. You have a 20Mb text file which you chunk and extract only 1Kb worth > of small strings from. You don't want the 20Mb remaining in memory when its > not needed anymore. A naive implementation of substrings would cause that > to happen and cause the size of the heap to blow up in size with nothing > you (as the programmer) could do about it. > > I said you only needed to change two lines - in fact you need to make >> changes in 4 places. >> I said the saving was ~ 40%, in fact it's ~75-80% >> > > I don't think anyone is going to complain where 'nonsense' is actually a > misstatement by a factor of 2 (in the better way!) over a performance > improvement :) > > First wrong thing - you can't just casually write into "byte X of >> tmp". if X is greater than the current length of tmp, then this simply >> appends a single byte. So you need to pre-fill the variable that holds >> the bytes. >> > > Yes - it's the same for all 'put into ' expressions I believe. I > can't really say whether the alternative (i.e. padding) would be more > 'correct' or not (well, not without a good deal of pondering!) - certainly > useful though, in this particular case. > > Regardless of correctness - pre-filling the binary string has a memory > allocation advantage as well. It can be quite expensive (O(n) in fact - > where n is the existing length) to extend a string (binary or otherwise) > beyond its current length. So if you pre-fill the length you want, no > memory allocation has to happen during use of it. > > Second wrong thing was >> put "a" into byte X of np >> that should be >> put numtobyte(66) into byte X of np >> >> I don't thin this *should* make much difference - but in fact it makes >> a huge difference. Not sure why - I suspect a bug ,,,, I'll look at it >> some more and hopefully submit a bug report later. >> > > The issue there is that you are mixing text with binary. I think the > engine assumes (currently) in that case that you mean the target to be > text... Although I *think* we fixed that case recently in a patch to appear > in either 9.0.1 or 9.1.0 (maybe Ali can comment on that). If you explicitly > say 'byte' in the target then it should end up being binary that you get. > > Warmest Regards, > > Mark. > > -- > Mark Waddingham ~ mark at livecode.com ~ http://www.livecode.com/ > LiveCode: Everyone can create apps > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From zryip.theslug at gmail.com Mon Aug 6 17:32:56 2018 From: zryip.theslug at gmail.com (zryip theSlug) Date: Mon, 6 Aug 2018 23:32:56 +0200 Subject: Getting Started with DataGrid and another datagrid form In-Reply-To: References: <016a01d42c46$8abea5f0$a03bf1d0$@net> <5A52BD59-7DC9-48A2-8C79-682A53ADC4C0@iotecdigital.com> Message-ID: Dear Swami, I have created this kind of form before: roundrect background and margins between 2 rows. For the background I used my own graphic. The background graphic if present is used by the datagrid library for hiliting the row. I removed it. And for magins, I used a row height upper than the height of my custom background. The margins between 2 rows are transparent, so I was able to see the card's background without doing something specific with the datagrid. On Mon, Aug 6, 2018 at 9:03 PM, Sannyasin Brahmanathaswami via use-livecode wrote: > On 8/6/18 7:29 AM, zryip theSlug via use-livecode wrote: > > Bob, > > > > A column template exists for each column of a dg table, so you can use > any > > control you want inside a datagrid column, including widgets. > > > > Here is a link to a DGH's screenshot . On the left, we have properties > for > > a column (row or header). This is a datagrid table with two visible > > columns. The second column is displaying checkboxes, text, popup menus, > > images, widgets, etc depending of the property type. This is not a trick, > > this is perfectly supported by datagrid tables. > > > > https://livecode.com/wp-content/uploads/2018/06/image14-26.png > > > > On Mon, Aug 6, 2018 at 6:22 PM, Bob Sneidar via use-livecode < > > use-livecode at lists.runrev.com> wrote: > > > >> The template is like the group editor. In fact it may actually BE the > >> group editor. The behavior script determines what to do when a row is > >> drawn. > >> > >> I think the thing to understand about datagrids, table or forms, is that > >> for each array element in the data (itself an array) the template is > >> "cloned". Each row is a "clone" of the template. But for forms, the > >> behavior does not know what you want to do when the rows are created. > For > >> instance, you may want to color negative numbers in red, or surround > them > >> with parenthesis. You may have a button that needs to be hilited or not > >> depending on the value for that control. Perhaps you have a field that > can > >> contain multiple lines of text, and you need to set the row height for > each > >> row based upon the formattedHeight of that field. Or maybe show and hide > >> objects etc. > >> > >> The beauty of a form datagrid is that how each individual row gets drawn > >> is entirely under your own programmatical control. A table datagrid is > >> simply like a spreadsheet with fixed row heights and no support for > >> graphics or other controls. > >> > >> BTW I kinda cheated and made a way to have checkboxes for a table style > >> datagrid. I simply had a group with checkboxes overlaying a "dummy" > column > >> in the datagrid. When I queried for data I put something like: > >> > >> SELECT '' AS checkmark, '' AS checkmarkvalue, * FROM customers > >> > >> This put two empty strings in my array data (I use sqlYoga so I get > arrays > >> back instead of cursors, but the idea is the same). I only defined a > column > >> for "checkmark", but NOT for "checkmarkvalue". This allowed me to have a > >> blank column to overlay the checkboxes on, and a hidden column to hold > the > >> checkmarkvalue for each row in the datagrid data. > >> > >> Then when I populated the datagrid, I hid all the checkboxes then showed > >> each checkbox control based upon how much data was being displayed. Of > >> course, you have to account for scrolling, so that can be tricky, but it > >> was a poor man's way of adding checkboxes to a table datagrid. Others > could > >> probably come up with a more elegant solution. > >> > >> Bob S > >> > >> > >>> On Aug 5, 2018, at 10:03 , Sannyasin Brahmanathaswami via use-livecode > < > >> use-livecode at lists.runrev.com> wrote: > >>> I slowly studying as much as we can on the datagrid,and "digging" in it > >> with an first attempt to build a form. > >>> One thing is not clear to me. > >>> > >>> 1) Have the WYSIG panel to build the datagrid form. > >>> > >>> 2) why then do we have, in the Behavior Script this handler? > >>> > >>> Isn't the layout already pre-determined in the template? > >> > >> _______________________________________________ > >> use-livecode mailing list > >> use-livecode at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > -- Zryip TheSlug http://www.aslugontheroad.com From mark at livecode.com Mon Aug 6 18:18:23 2018 From: mark at livecode.com (Mark Waddingham) Date: Tue, 07 Aug 2018 00:18:23 +0200 Subject: [OT] The problem with programming and how to fix it In-Reply-To: <30594296-9c18-3382-0386-de8edaa775ee@fourthworld.com> References: <30594296-9c18-3382-0386-de8edaa775ee@fourthworld.com> Message-ID: <2b8cf858fd93723ca7cd550747dc01e6@livecode.com> On 2018-08-06 21:49, Richard Gaskin via use-livecode wrote: > Mark Waddingham wrote: > >> I think it might be quite unique amongst x-talks in another way too... >> >> How much of any of the others were written in themselves? > > Not many. Toolbook, Gain Momentum, and SuperCard are the only ones I > can think of beyond LC that had enough confidence in their tooling to > use it to make their tooling. I couldn't remember whether SuperCard's IDE was written in SuperCard or not, interesting to know. I must confess I've never really had any experience with Toolbook or Gain Momentum... Although I think I digested Toolbook's reference guide / dictionary at some point (by reading, not by actually eating and digesting!). In any case, looks like we have a bit more work to do before we can truly claim we are unique amongst x-talks on that particular vector... Warmest Regards, Mark. -- Mark Waddingham ~ mark at livecode.com ~ http://www.livecode.com/ LiveCode: Everyone can create apps From jerry at jhjensen.com Mon Aug 6 19:21:29 2018 From: jerry at jhjensen.com (Jerry Jensen) Date: Mon, 6 Aug 2018 16:21:29 -0700 Subject: [OT] The problem with programming and how to fix it In-Reply-To: <2b8cf858fd93723ca7cd550747dc01e6@livecode.com> References: <30594296-9c18-3382-0386-de8edaa775ee@fourthworld.com> <2b8cf858fd93723ca7cd550747dc01e6@livecode.com> Message-ID: <43D05BAE-CA77-4629-A824-5310299E38DE@jhjensen.com> > On Aug 6, 2018, at 3:18 PM, Mark Waddingham via use-livecode wrote: > > Although I think I digested Toolbook's reference guide / dictionary at some point (by reading, not by actually eating and digesting!). An artist friend of mine attempted to _eat_ the Guiness Book of World Records. It proved to be infeasible. The attempt was recorded on an early Sony porta-pak and transferred (with difficulty) to youtube: https://www.youtube.com/watch?v=Qceil955Rcw Do not try this at home! .Jerry From Bernd.Niggemann at uni-wh.de Mon Aug 6 19:24:57 2018 From: Bernd.Niggemann at uni-wh.de (Niggemann, Bernd) Date: Mon, 6 Aug 2018 23:24:57 +0000 Subject: valueDiff for arrays? Message-ID: This also helps a bit. Where is Hermann? --------------------- function get_primes pN local tMroot, tPrimes, tIsItPrime, tYes, tNo put numtobyte(66) into tYes put numtobyte(65) into tNo if pN < 2 then return empty if pN = 2 then return 2 put 2 into tPrimes put trunc(sqrt(pN)) - 1 into tMroot if pN > 10000 then local tTenThousand repeat 10000 put tYes after tTenThousand end repeat repeat pn div 10000 put tTenthousand after tIsItPrime end repeat end if repeat pn mod 10000 put tTenthousand after tIsItPrime end repeat repeat with i = 3 to tMroot step 2 if byte i of tIsItPrime is tNo then next repeat put cr & i after tPrimes repeat with j = i^2 to pN step i put tNo into byte j of tIsItPrime end repeat end repeat repeat with i = tMroot + (tMroot + 1) mod 2 to pN - 1 step 2 if byte i of tIsItPrime is tYes then put cr & i after tPrimes end repeat return tPrimes end get_primes -------------------- This is a modified Brian?s version built upon Alex's version Note that Brian seems to find one additional prime. Kind regards Bernd From brian at milby7.com Mon Aug 6 19:39:52 2018 From: brian at milby7.com (Brian Milby) Date: Mon, 6 Aug 2018 18:39:52 -0500 Subject: valueDiff for arrays? In-Reply-To: References: Message-ID: 2 should be included, but the original optimized version skipped it. Thanks, Brian On Aug 6, 2018, 6:25 PM -0500, Niggemann, Bernd via use-livecode , wrote: > This also helps a bit. Where is Hermann? > > --------------------- > function get_primes pN > local tMroot, tPrimes, tIsItPrime, tYes, tNo > put numtobyte(66) into tYes > put numtobyte(65) into tNo > if pN < 2 then return empty > if pN = 2 then return 2 > put 2 into tPrimes > put trunc(sqrt(pN)) - 1 into tMroot > > if pN > 10000 then > local tTenThousand > repeat 10000 > put tYes after tTenThousand > end repeat > > repeat pn div 10000 > put tTenthousand after tIsItPrime > end repeat > end if > > repeat pn mod 10000 > put tTenthousand after tIsItPrime > end repeat > > repeat with i = 3 to tMroot step 2 > if byte i of tIsItPrime is tNo then next repeat > put cr & i after tPrimes > repeat with j = i^2 to pN step i > put tNo into byte j of tIsItPrime > end repeat > end repeat > repeat with i = tMroot + (tMroot + 1) mod 2 to pN - 1 step 2 > if byte i of tIsItPrime is tYes then put cr & i after tPrimes > end repeat > return tPrimes > end get_primes > -------------------- > > This is a modified Brian?s version built upon Alex's version > > Note that Brian seems to find one additional prime. > > Kind regards > Bernd > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From Bernd.Niggemann at uni-wh.de Mon Aug 6 19:49:35 2018 From: Bernd.Niggemann at uni-wh.de (Niggemann, Bernd) Date: Mon, 6 Aug 2018 23:49:35 +0000 Subject: valueDiff for arrays? Message-ID: <86F8DE50-D572-4BB5-92BC-BCE3CA9D2CE3@uni-wh.de> There was an error in the code I posted. It should read "if pN >= 10000 then" instead of "if pN > 10000" this is the corrected version ----------------- function get_primes pN local tMroot, tPrimes, tIsItPrime, tYes, tNo put numtobyte(66) into tYes put numtobyte(65) into tNo if pN < 2 then return empty if pN = 2 then return 2 put 2 into tPrimes put trunc(sqrt(pN)) - 1 into tMroot if pN >= 10000 then local tTenThousand repeat 10000 put tYes after tTenThousand end repeat repeat pn div 10000 put tTenthousand after tIsItPrime end repeat end if repeat pn mod 10000 put tTenthousand after tIsItPrime end repeat repeat with i = 3 to tMroot step 2 if byte i of tIsItPrime is tNo then next repeat put cr & i after tPrimes repeat with j = i^2 to pN step i put tNo into byte j of tIsItPrime end repeat end repeat repeat with i = tMroot + (tMroot + 1) mod 2 to pN - 1 step 2 if byte i of tIsItPrime is tYes then put cr & i after tPrimes end repeat return tPrimes end get_primes --------------- Kind regards Bernd From alex at tweedly.net Mon Aug 6 20:05:08 2018 From: alex at tweedly.net (Alex Tweedly) Date: Tue, 7 Aug 2018 01:05:08 +0100 Subject: valueDiff for arrays? In-Reply-To: References: <61e1041b3aeb614ce9e60822954a771b@livecode.com> <4d1baf11-5d62-b5c5-23ce-d71416ffffc9@tweedly.net> <82a7a422-bcf4-fddc-56d3-ab07b6bb670a@tweedly.net> <9E8FF074-C0D5-497C-B4B3-E85C5EB5D5E5@livecode.com> Message-ID: Nice improvement ! And I like the variable names much more ... though it could be argued that "tYes", should be called"tMayYetBeAPrime" :-) I now get this version consistently running in 25% of the original time. There is another version which runs about twice as fast - i.e. 14% of the original - but I'm not sure it is quite within the spirit of this comparison. This should be a comparison of the performance of "the same" algorithm in a variety of scripting languages. It seems wrong to speed up our LC implementation by tweaking the algorithm. If our purpose was simply to improve the speed of finding primes, that would be different. So for anyone who wants to find primes faster - here revised code that does so, though I doubt if it tells us anything about the relative performance of LC. The "pure" version of the Sieve would have crossed all multiples of every prime, but the original code only needs to cross-off those multiples of 3 and above - i.e the 'pure' inner loop would be repeat with i = 2 to tMroot rather than repeat with i = 3 to tMroot step 2 The original code is an improvement over the 'pure' version by taking advantage of the knowledge that all even numbers (>2) cannot be prime.You can do (part of) that optimization for all primes up to (small) 'm' rather than just for '2'.? Pre-calculate the pattern for 1...M (where big M is the product of all primes <= small m), and then initialize the sieve table with that pattern repeated as often as needed. Then you can go through the sieve crossing-off only for primes > 'm'. This code uses m=5 (i.e. M=2*3*5=30). function get_primes pN ?? local tMroot, tPrimes, tIsItPrime, tYes, tNo ?? put numtobyte(66) into tYes ?? put numtobyte(65) into tNo ?? if pN < 2 then return empty ?? if pN = 2 then return 2 ?? repeat with i = 1 to 30 ????? put tNo into byte i of tIsItPrime ?? end repeat ?? repeat for each item L in "1,7,11,13,17,19,23,29" ????? put tYes into byte L of tIsItPrime ?? end repeat ?? local t30 ?? put byte 1 to 30 of tIsItPrime into t30 ?? put t30 into tIsItPrime ?? repeat pN div 30 times ????? put t30 after tIsItPrime ?? end repeat ?? put 2 &CR & 3 & CR & 5? into tPrimes ?? put trunc(sqrt(pN)) - 1 into tMroot ?? repeat with i = 7 to tMroot step 2 ????? if byte i of tIsItPrime is tNo then next repeat ????? put cr & i after tPrimes ????? repeat with j = i^2 to pN step i ???????? put tNo into byte j of tIsItPrime ????? end repeat ?? end repeat ?? repeat with i = tMroot + (tMroot + 1) mod 2 to pN - 1 step 2 ????? if byte i of tIsItPrime is tYes then put cr & i after tPrimes ?? end repeat ?? return tPrimes end get_primes and that runs in just over half the time. Alex. From Bernd.Niggemann at uni-wh.de Mon Aug 6 20:21:15 2018 From: Bernd.Niggemann at uni-wh.de (Niggemann, Bernd) Date: Tue, 7 Aug 2018 00:21:15 +0000 Subject: valueDiff for arrays? Message-ID: How embarrassing, again an error. I should go to sleep now. repeat pn mod 10000 put tYes after tIsItPrime <-- corrected line end repeat Here is the hopfully truly truly last correction. --------------------------- function get_primes pN -- bn modified brian local tMroot, tPrimes, tIsItPrime, tYes, tNo put numtobyte(66) into tYes put numtobyte(65) into tNo if pN < 2 then return empty if pN = 2 then return 2 put 2 into tPrimes put trunc(sqrt(pN)) - 1 into tMroot if pN >= 10000 then local tTenThousand repeat 10000 put tYes after tTenThousand end repeat repeat pn div 10000 put tTenthousand after tIsItPrime end repeat end if repeat pn mod 10000 put tYes after tIsItPrime end repeat repeat with i = 3 to tMroot step 2 if byte i of tIsItPrime is tNo then next repeat put cr & i after tPrimes repeat with j = i^2 to pN step i put tNo into byte j of tIsItPrime end repeat end repeat repeat with i = tMroot + (tMroot + 1) mod 2 to pN - 1 step 2 if byte i of tIsItPrime is tYes then put cr & i after tPrimes end repeat return tPrimes end get_primes ---------------------- at least it saves a couple of seconds Kind regards Bernd From brahma at hindu.org Mon Aug 6 21:01:07 2018 From: brahma at hindu.org (Sannyasin Brahmanathaswami) Date: Tue, 7 Aug 2018 01:01:07 +0000 Subject: Getting Started with DataGrid and another datagrid form References: <016a01d42c46$8abea5f0$a03bf1d0$@net> <5A52BD59-7DC9-48A2-8C79-682A53ADC4C0@iotecdigital.com> Message-ID: I found another way. Set standard background a opacity=0 add an new container graphic. then make the background bigger that the controls, But it won't hilite. So I might use your method. On 8/6/18 11:33 AM, zryip theSlug via use-livecode wrote: > I have created this kind of form before: roundrect background and margins > between 2 rows. > For the background I used my own graphic. The background graphic if present > is used by the datagrid library for hiliting the row. I removed it. > And for magins, I used a row height upper than the height of my custom > background. The margins between 2 rows are transparent, so I was able to > see the card's background without doing something specific with the > datagrid. From ahsoftware at sonic.net Mon Aug 6 21:24:50 2018 From: ahsoftware at sonic.net (Mark Wieder) Date: Mon, 6 Aug 2018 18:24:50 -0700 Subject: valueDiff for arrays? In-Reply-To: References: Message-ID: <6dc2d28f-14c8-e464-d9c9-b1d55086f97e@sonic.net> Interesting. I tried a variation using arrays, and it's three times slower than yours. function get_primes pN local tMroot, tPrimes, tIsItPrime if pN < 2 then return empty if pN = 2 then return 2 put trunc(sqrt(pN)) - 1 into tMroot repeat with i=1 to pN step 2 put 1 into tIsItPrime[i] end repeat repeat with i = 3 to tMroot step 2 if tIsItPrime[i] is empty then next repeat repeat with j = i^2 to pN step i delete variable tIsItPrime[j] end repeat end repeat return the keys of tIsItPrime end get_primes -- Mark Wieder ahsoftware at gmail.com From mark at livecode.com Mon Aug 6 23:18:21 2018 From: mark at livecode.com (Mark Waddingham) Date: Mon, 6 Aug 2018 22:18:21 -0500 Subject: valueDiff for arrays? In-Reply-To: <6dc2d28f-14c8-e464-d9c9-b1d55086f97e@sonic.net> References: <6dc2d28f-14c8-e464-d9c9-b1d55086f97e@sonic.net> Message-ID: <7AC7DB22-368D-4132-9077-0DBF0BED29DD@livecode.com> I'd expect that for two reasons. The first is that all array keys are interred strings (names) so integers need to first be converted to strings and then hashed into a name and then hashed to the slot in the arrays hash table. The second is that byte based version is essentially using a byte sequence as a bit set - each setting of a byte in the set is about as close as you get to a truly atomic (in the sense of using '1' instruction) as you can get in LC. It is what you would do in C if you couldn't be bothered using bit operations to manipulate individual bits in machine words (which would be substantially faster again - as you would be touching 1/8th of the memory). Warmest Regards, Mark. Sent from my iPhone > On 6 Aug 2018, at 20:24, Mark Wieder via use-livecode wrote: > > Interesting. I tried a variation using arrays, and it's three times slower than yours. > > function get_primes pN > local tMroot, tPrimes, tIsItPrime > > if pN < 2 then return empty > if pN = 2 then return 2 > put trunc(sqrt(pN)) - 1 into tMroot > > repeat with i=1 to pN step 2 > put 1 into tIsItPrime[i] > end repeat > > repeat with i = 3 to tMroot step 2 > if tIsItPrime[i] is empty then next repeat > repeat with j = i^2 to pN step i > delete variable tIsItPrime[j] > end repeat > end repeat > > return the keys of tIsItPrime > end get_primes > > -- > Mark Wieder > ahsoftware at gmail.com > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From brian at milby7.com Mon Aug 6 23:58:53 2018 From: brian at milby7.com (Brian Milby) Date: Mon, 6 Aug 2018 22:58:53 -0500 Subject: valueDiff for arrays? In-Reply-To: <7AC7DB22-368D-4132-9077-0DBF0BED29DD@livecode.com> References: <6dc2d28f-14c8-e464-d9c9-b1d55086f97e@sonic.net> <7AC7DB22-368D-4132-9077-0DBF0BED29DD@livecode.com> Message-ID: button "Array (original)" Found 664579 primes in 51.543966 seconds button "Array (bwm)" Found 664579 primes in 49.139622 seconds button "Array (mark)" Found 664579 primes in 43.483821 seconds button "Byte (alex)" Found 664579 primes in 15.016109 seconds button "Byte (bwm)" Found 664579 primes in 11.357213 seconds button "Byte (bernd)" Found 664579 primes in 7.874756 seconds I've uploaded a stack with each version of the function. The last has some comments added as well. Mark's version is pretty close to the original, but did not return an ordered list (which is an implicit requirement). I added a sort so the times are comparable. https://milby.us/lc/Primes.livecode To Mark's point about C... the person that originally devised the test was using it to baseline and compare several scripting languages relative to optimized C++ code. For LCS, we had to do a bit of work to overcome the way arrays are stored internally (hash map). Yes, LCS is still much slower in this test than everything else listed. I didn't try any on my seat, so the times are not really directly comparable, but Python/Perl both did one run in about 2.5s on average. This kind of makes me want to translate this into LCB to do a comparison. There we do have a real list type that could be used and compared against the other methods employed here. Thanks, Brian From matthias_livecode_150811 at m-r-d.de Tue Aug 7 06:32:42 2018 From: matthias_livecode_150811 at m-r-d.de (Matthias Rebbe) Date: Tue, 7 Aug 2018 12:32:42 +0200 Subject: LC Builder and 3rd Part DLLs under Windows Message-ID: Hi, i make use of the Widgets in LC 9 very often and i am really impressed what is possible with LCB. I have no deep knowledge of LCB, but if i understand correctly then LCB is able to call OS APIs, right? If so, is it also possible to call functions of a 3rd party DLL under Windows? I know there is a very nice but old example on Ken Ray?s page how to use external DLLs in LC, But now with LCB i would prefer LCB to do the complete ?wrapping?. So would it be possible? And if so, are there any examples available already? Regards, Matthias From lists at mangomultimedia.com Tue Aug 7 10:23:54 2018 From: lists at mangomultimedia.com (Trevor DeVore) Date: Tue, 7 Aug 2018 09:23:54 -0500 Subject: LC Builder and 3rd Part DLLs under Windows In-Reply-To: References: Message-ID: Matthias, Yes it is possible. I don't know of any 3rd party DLL examples. Can you point me to a DLL you want to wrap? I may be able to put together the skeleton of an LCB extension for you to get started with. -- Trevor DeVore ScreenSteps www.screensteps.com On Tue, Aug 7, 2018 at 5:33 AM Matthias Rebbe via use-livecode < use-livecode at lists.runrev.com> wrote: > Hi, > > i make use of the Widgets in LC 9 very often and i am really impressed > what is possible with LCB. > I have no deep knowledge of LCB, but if i understand correctly then LCB is > able to call OS APIs, right? > > If so, is it also possible to call functions of a 3rd party DLL under > Windows? > > I know there is a very nice but old example on Ken Ray?s page how to use > external DLLs in LC, > > But now with LCB i would prefer LCB to do the complete ?wrapping?. > > So would it be possible? And if so, are there any examples available > already? > > Regards, > > Matthias > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From lists at mangomultimedia.com Tue Aug 7 10:25:13 2018 From: lists at mangomultimedia.com (Trevor DeVore) Date: Tue, 7 Aug 2018 09:25:13 -0500 Subject: LC Builder and 3rd Part DLLs under Windows In-Reply-To: References: Message-ID: Actually, I do have a public example. Take a look at this winSparkle project: https://github.com/trevordevore/lc-winsparkle -- Trevor DeVore ScreenSteps www.screensteps.com On Tue, Aug 7, 2018 at 9:23 AM Trevor DeVore wrote: > Matthias, > > Yes it is possible. I don't know of any 3rd party DLL examples. Can you > point me to a DLL you want to wrap? I may be able to put together the > skeleton of an LCB extension for you to get started with. > > -- > Trevor DeVore > ScreenSteps > www.screensteps.com > > On Tue, Aug 7, 2018 at 5:33 AM Matthias Rebbe via use-livecode < > use-livecode at lists.runrev.com> wrote: > >> Hi, >> >> i make use of the Widgets in LC 9 very often and i am really impressed >> what is possible with LCB. >> I have no deep knowledge of LCB, but if i understand correctly then LCB >> is able to call OS APIs, right? >> >> If so, is it also possible to call functions of a 3rd party DLL under >> Windows? >> >> I know there is a very nice but old example on Ken Ray?s page how to use >> external DLLs in LC, >> >> But now with LCB i would prefer LCB to do the complete ?wrapping?. >> >> So would it be possible? And if so, are there any examples available >> already? >> >> Regards, >> >> Matthias >> _______________________________________________ >> use-livecode mailing list >> use-livecode at lists.runrev.com >> Please visit this url to subscribe, unsubscribe and manage your >> subscription preferences: >> http://lists.runrev.com/mailman/listinfo/use-livecode > > From brian at milby7.com Tue Aug 7 10:29:31 2018 From: brian at milby7.com (Brian Milby) Date: Tue, 7 Aug 2018 09:29:31 -0500 Subject: LC Builder and 3rd Part DLLs under Windows In-Reply-To: References: Message-ID: I have also started with libSodium (because it had a compiled dll I could try) if you want another example. I have not posted anything yet since it does not do anything very useful yet (it will initialize and generate a key pair but I have not done any of the parts to use the keys). Thanks, Brian On Aug 7, 2018, 9:25 AM -0500, Trevor DeVore via use-livecode , wrote: > Actually, I do have a public example. Take a look at this winSparkle > project: > > https://github.com/trevordevore/lc-winsparkle > > -- > Trevor DeVore > ScreenSteps > www.screensteps.com > > On Tue, Aug 7, 2018 at 9:23 AM Trevor DeVore > wrote: > > > Matthias, > > > > Yes it is possible. I don't know of any 3rd party DLL examples. Can you > > point me to a DLL you want to wrap? I may be able to put together the > > skeleton of an LCB extension for you to get started with. > > > > -- > > Trevor DeVore > > ScreenSteps > > www.screensteps.com > > > > On Tue, Aug 7, 2018 at 5:33 AM Matthias Rebbe via use-livecode < > > use-livecode at lists.runrev.com> wrote: > > > > > Hi, > > > > > > i make use of the Widgets in LC 9 very often and i am really impressed > > > what is possible with LCB. > > > I have no deep knowledge of LCB, but if i understand correctly then LCB > > > is able to call OS APIs, right? > > > > > > If so, is it also possible to call functions of a 3rd party DLL under > > > Windows? > > > > > > I know there is a very nice but old example on Ken Ray?s page how to use > > > external DLLs in LC, > > > > > > But now with LCB i would prefer LCB to do the complete ?wrapping?. > > > > > > So would it be possible? And if so, are there any examples available > > > already? > > > > > > Regards, > > > > > > Matthias > > > _______________________________________________ > > > use-livecode mailing list > > > use-livecode at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From matthias_livecode_150811 at m-r-d.de Tue Aug 7 10:41:00 2018 From: matthias_livecode_150811 at m-r-d.de (Matthias Rebbe) Date: Tue, 7 Aug 2018 16:41:00 +0200 Subject: LC Builder and 3rd Part DLLs under Windows In-Reply-To: References: Message-ID: <6A335EA4-7BF5-429F-A0B1-577C8A86E6FE@m-r-d.de> Hi Trevor, thank you very much for your offer. I am interested in using the Barcode SDK for Windows from TEC-IT. https://www.tec-it.com/en/download/tbarcode/Download.aspx Regards, Matthias > Am 07.08.2018 um 16:23 schrieb Trevor DeVore via use-livecode : > > Matthias, > > Yes it is possible. I don't know of any 3rd party DLL examples. Can you > point me to a DLL you want to wrap? I may be able to put together the > skeleton of an LCB extension for you to get started with. > > -- > Trevor DeVore > ScreenSteps > www.screensteps.com > > On Tue, Aug 7, 2018 at 5:33 AM Matthias Rebbe via use-livecode < > use-livecode at lists.runrev.com> wrote: > >> Hi, >> >> i make use of the Widgets in LC 9 very often and i am really impressed >> what is possible with LCB. >> I have no deep knowledge of LCB, but if i understand correctly then LCB is >> able to call OS APIs, right? >> >> If so, is it also possible to call functions of a 3rd party DLL under >> Windows? >> >> I know there is a very nice but old example on Ken Ray?s page how to use >> external DLLs in LC, >> >> But now with LCB i would prefer LCB to do the complete ?wrapping?. >> >> So would it be possible? And if so, are there any examples available >> already? >> >> Regards, >> >> Matthias >> _______________________________________________ >> use-livecode mailing list >> use-livecode at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From matthias_livecode_150811 at m-r-d.de Tue Aug 7 10:43:42 2018 From: matthias_livecode_150811 at m-r-d.de (Matthias Rebbe) Date: Tue, 7 Aug 2018 16:43:42 +0200 Subject: LC Builder and 3rd Part DLLs under Windows In-Reply-To: References: Message-ID: Brian, thanks also. Yes, please. More examples are welcomed. Regards, Matthias > Am 07.08.2018 um 16:29 schrieb Brian Milby via use-livecode : > > I have also started with libSodium (because it had a compiled dll I could try) if you want another example. I have not posted anything yet since it does not do anything very useful yet (it will initialize and generate a key pair but I have not done any of the parts to use the keys). > > Thanks, > Brian > On Aug 7, 2018, 9:25 AM -0500, Trevor DeVore via use-livecode , wrote: >> Actually, I do have a public example. Take a look at this winSparkle >> project: >> >> https://github.com/trevordevore/lc-winsparkle >> >> -- >> Trevor DeVore >> ScreenSteps >> www.screensteps.com >> >> On Tue, Aug 7, 2018 at 9:23 AM Trevor DeVore >> wrote: >> >>> Matthias, >>> >>> Yes it is possible. I don't know of any 3rd party DLL examples. Can you >>> point me to a DLL you want to wrap? I may be able to put together the >>> skeleton of an LCB extension for you to get started with. >>> >>> -- >>> Trevor DeVore >>> ScreenSteps >>> www.screensteps.com >>> >>> On Tue, Aug 7, 2018 at 5:33 AM Matthias Rebbe via use-livecode < >>> use-livecode at lists.runrev.com> wrote: >>> >>>> Hi, >>>> >>>> i make use of the Widgets in LC 9 very often and i am really impressed >>>> what is possible with LCB. >>>> I have no deep knowledge of LCB, but if i understand correctly then LCB >>>> is able to call OS APIs, right? >>>> >>>> If so, is it also possible to call functions of a 3rd party DLL under >>>> Windows? >>>> >>>> I know there is a very nice but old example on Ken Ray?s page how to use >>>> external DLLs in LC, >>>> >>>> But now with LCB i would prefer LCB to do the complete ?wrapping?. >>>> >>>> So would it be possible? And if so, are there any examples available >>>> already? >>>> >>>> Regards, >>>> >>>> Matthias >>>> _______________________________________________ >>>> use-livecode mailing list >>>> use-livecode at 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 at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From bobsneidar at iotecdigital.com Tue Aug 7 11:11:45 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Tue, 7 Aug 2018 15:11:45 +0000 Subject: [OT] The problem with programming and how to fix it In-Reply-To: <7035c200-22d2-7b02-0b3a-5c26a882268d@fourthworld.com> References: <7035c200-22d2-7b02-0b3a-5c26a882268d@fourthworld.com> Message-ID: <61AE4555-240F-4BE9-85F0-8C4F1637E2AB@iotecdigital.com> Huh. That's about the time I stopped using in it. I kept upgrading Supercard for years telling myself I would get back into it, but never really did. I was fully immersed in Foxpro at that point because my employer used SBT, which was written in Foxpro. Bob S > On Aug 6, 2018, at 11:26 , Richard Gaskin via use-livecode wrote: > > It isn't. SuperCard is available exclusively for macOS. There was an effort in the mid-90s to port to Windows, but funding dried up before it was completed so no useful version ever saw the light of day. > > Toolbook is also single-platform, Windows-only. From bobsneidar at iotecdigital.com Tue Aug 7 11:13:42 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Tue, 7 Aug 2018 15:13:42 +0000 Subject: [OT] The problem with programming and how to fix it In-Reply-To: <2b8cf858fd93723ca7cd550747dc01e6@livecode.com> References: <30594296-9c18-3382-0386-de8edaa775ee@fourthworld.com> <2b8cf858fd93723ca7cd550747dc01e6@livecode.com> Message-ID: <258CC86C-F0F0-477C-957D-02C7E6BB84B6@iotecdigital.com> Wait we might be onto something here! Make programming reference materials out of edible paper, like the stuff they wrap japanese candy in. Then as you read each page, you eat it! Bob S > On Aug 6, 2018, at 15:18 , Mark Waddingham via use-livecode wrote: > > On 2018-08-06 21:49, Richard Gaskin via use-livecode wrote: >> Mark Waddingham wrote: >>> I think it might be quite unique amongst x-talks in another way too... >>> How much of any of the others were written in themselves? >> Not many. Toolbook, Gain Momentum, and SuperCard are the only ones I >> can think of beyond LC that had enough confidence in their tooling to >> use it to make their tooling. > > I couldn't remember whether SuperCard's IDE was written in SuperCard or not, interesting to know. I must confess I've never really had any experience with Toolbook or Gain Momentum... Although I think I digested Toolbook's reference guide / dictionary at some point (by reading, not by actually eating and digesting!). > > In any case, looks like we have a bit more work to do before we can truly claim we are unique amongst x-talks on that particular vector... > > Warmest Regards, > > Mark. > > -- > Mark Waddingham ~ mark at livecode.com ~ http://www.livecode.com/ > LiveCode: Everyone can create apps From ahsoftware at sonic.net Tue Aug 7 11:15:37 2018 From: ahsoftware at sonic.net (Mark Wieder) Date: Tue, 7 Aug 2018 08:15:37 -0700 Subject: valueDiff for arrays? In-Reply-To: <7AC7DB22-368D-4132-9077-0DBF0BED29DD@livecode.com> References: <6dc2d28f-14c8-e464-d9c9-b1d55086f97e@sonic.net> <7AC7DB22-368D-4132-9077-0DBF0BED29DD@livecode.com> Message-ID: On 08/06/2018 08:18 PM, Mark Waddingham via use-livecode wrote: > I'd expect that for two reasons. > > The first is that all array keys are interred strings (names) so integers need to first be converted to strings and then hashed into a name and then hashed to the slot in the arrays hash table. I thought at some point we had talked about numeric arrarys (as opposed to hashes) if all the keys were numbers. That's why I filled the array that way. Is that not the case? Can we put that one to bed? -- Mark Wieder ahsoftware at gmail.com From bobsneidar at iotecdigital.com Tue Aug 7 11:20:53 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Tue, 7 Aug 2018 15:20:53 +0000 Subject: Getting Started with DataGrid and another datagrid form In-Reply-To: References: <016a01d42c46$8abea5f0$a03bf1d0$@net> <5A52BD59-7DC9-48A2-8C79-682A53ADC4C0@iotecdigital.com> Message-ID: <58E5E8F2-B5D6-42CC-9A42-8A79A75CEE0F@iotecdigital.com> Like I said, someone will have a more elegant way of doing it. :-) Bob S > On Aug 6, 2018, at 10:29 , zryip theSlug via use-livecode wrote: > > Bob, > > A column template exists for each column of a dg table, so you can use any > control you want inside a datagrid column, including widgets. > > Here is a link to a DGH's screenshot . On the left, we have properties for > a column (row or header). This is a datagrid table with two visible > columns. The second column is displaying checkboxes, text, popup menus, > images, widgets, etc depending of the property type. This is not a trick, > this is perfectly supported by datagrid tables. > > https://livecode.com/wp-content/uploads/2018/06/image14-26.png From tom at makeshyft.com Tue Aug 7 11:23:19 2018 From: tom at makeshyft.com (Tom Glod) Date: Tue, 7 Aug 2018 11:23:19 -0400 Subject: LC Builder and 3rd Part DLLs under Windows In-Reply-To: References: Message-ID: Hey Matthias, Just wondering what resources you used to get started in LCB.... I have yet to dip my toes in that ..but I think I am ready. On Tue, Aug 7, 2018 at 10:43 AM, Matthias Rebbe via use-livecode < use-livecode at lists.runrev.com> wrote: > Brian, > > thanks also. Yes, please. More examples are welcomed. > > Regards, > > Matthias > > > > Am 07.08.2018 um 16:29 schrieb Brian Milby via use-livecode < > use-livecode at lists.runrev.com>: > > > > I have also started with libSodium (because it had a compiled dll I > could try) if you want another example. I have not posted anything yet > since it does not do anything very useful yet (it will initialize and > generate a key pair but I have not done any of the parts to use the keys). > > > > Thanks, > > Brian > > On Aug 7, 2018, 9:25 AM -0500, Trevor DeVore via use-livecode < > use-livecode at lists.runrev.com>, wrote: > >> Actually, I do have a public example. Take a look at this winSparkle > >> project: > >> > >> https://github.com/trevordevore/lc-winsparkle > >> > >> -- > >> Trevor DeVore > >> ScreenSteps > >> www.screensteps.com > >> > >> On Tue, Aug 7, 2018 at 9:23 AM Trevor DeVore > > >> wrote: > >> > >>> Matthias, > >>> > >>> Yes it is possible. I don't know of any 3rd party DLL examples. Can you > >>> point me to a DLL you want to wrap? I may be able to put together the > >>> skeleton of an LCB extension for you to get started with. > >>> > >>> -- > >>> Trevor DeVore > >>> ScreenSteps > >>> www.screensteps.com > >>> > >>> On Tue, Aug 7, 2018 at 5:33 AM Matthias Rebbe via use-livecode < > >>> use-livecode at lists.runrev.com> wrote: > >>> > >>>> Hi, > >>>> > >>>> i make use of the Widgets in LC 9 very often and i am really impressed > >>>> what is possible with LCB. > >>>> I have no deep knowledge of LCB, but if i understand correctly then > LCB > >>>> is able to call OS APIs, right? > >>>> > >>>> If so, is it also possible to call functions of a 3rd party DLL under > >>>> Windows? > >>>> > >>>> I know there is a very nice but old example on Ken Ray?s page how to > use > >>>> external DLLs in LC, > >>>> > >>>> But now with LCB i would prefer LCB to do the complete ?wrapping?. > >>>> > >>>> So would it be possible? And if so, are there any examples available > >>>> already? > >>>> > >>>> Regards, > >>>> > >>>> Matthias > >>>> _______________________________________________ > >>>> use-livecode mailing list > >>>> use-livecode at 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 at 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 at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From ahsoftware at sonic.net Tue Aug 7 11:23:15 2018 From: ahsoftware at sonic.net (Mark Wieder) Date: Tue, 7 Aug 2018 08:23:15 -0700 Subject: valueDiff for arrays? In-Reply-To: References: <6dc2d28f-14c8-e464-d9c9-b1d55086f97e@sonic.net> <7AC7DB22-368D-4132-9077-0DBF0BED29DD@livecode.com> Message-ID: <7edfeb04-e097-e68d-668f-69cc82b37425@sonic.net> On 08/06/2018 08:58 PM, Brian Milby via use-livecode wrote: > I've uploaded a stack with each version of the function. The last has some > comments added as well. Mark's version is pretty close to the original, > but did not return an ordered list (which is an implicit requirement). I > added a sort so the times are comparable. Heh. I had a sort command in there and must have refactored it out of existence when I cleaned up the code. -- Mark Wieder ahsoftware at gmail.com From matthias_livecode_150811 at m-r-d.de Tue Aug 7 11:51:00 2018 From: matthias_livecode_150811 at m-r-d.de (Matthias Rebbe) Date: Tue, 7 Aug 2018 17:51:00 +0200 Subject: LC Builder and 3rd Part DLLs under Windows In-Reply-To: References: Message-ID: <331BDD9F-B8BA-4449-AD18-45B216243F28@m-r-d.de> Tom, there is a extension-course here > Am 07.08.2018 um 17:23 schrieb Tom Glod via use-livecode : > > Hey Matthias, Just wondering what resources you used to get started in > LCB.... I have yet to dip my toes in that ..but I think I am ready. > > On Tue, Aug 7, 2018 at 10:43 AM, Matthias Rebbe via use-livecode < > use-livecode at lists.runrev.com> wrote: > >> Brian, >> >> thanks also. Yes, please. More examples are welcomed. >> >> Regards, >> >> Matthias >> >> >>> Am 07.08.2018 um 16:29 schrieb Brian Milby via use-livecode < >> use-livecode at lists.runrev.com>: >>> >>> I have also started with libSodium (because it had a compiled dll I >> could try) if you want another example. I have not posted anything yet >> since it does not do anything very useful yet (it will initialize and >> generate a key pair but I have not done any of the parts to use the keys). >>> >>> Thanks, >>> Brian >>> On Aug 7, 2018, 9:25 AM -0500, Trevor DeVore via use-livecode < >> use-livecode at lists.runrev.com>, wrote: >>>> Actually, I do have a public example. Take a look at this winSparkle >>>> project: >>>> >>>> https://github.com/trevordevore/lc-winsparkle >>>> >>>> -- >>>> Trevor DeVore >>>> ScreenSteps >>>> www.screensteps.com >>>> >>>> On Tue, Aug 7, 2018 at 9:23 AM Trevor DeVore >> >>>> wrote: >>>> >>>>> Matthias, >>>>> >>>>> Yes it is possible. I don't know of any 3rd party DLL examples. Can you >>>>> point me to a DLL you want to wrap? I may be able to put together the >>>>> skeleton of an LCB extension for you to get started with. >>>>> >>>>> -- >>>>> Trevor DeVore >>>>> ScreenSteps >>>>> www.screensteps.com >>>>> >>>>> On Tue, Aug 7, 2018 at 5:33 AM Matthias Rebbe via use-livecode < >>>>> use-livecode at lists.runrev.com> wrote: >>>>> >>>>>> Hi, >>>>>> >>>>>> i make use of the Widgets in LC 9 very often and i am really impressed >>>>>> what is possible with LCB. >>>>>> I have no deep knowledge of LCB, but if i understand correctly then >> LCB >>>>>> is able to call OS APIs, right? >>>>>> >>>>>> If so, is it also possible to call functions of a 3rd party DLL under >>>>>> Windows? >>>>>> >>>>>> I know there is a very nice but old example on Ken Ray?s page how to >> use >>>>>> external DLLs in LC, >>>>>> >>>>>> But now with LCB i would prefer LCB to do the complete ?wrapping?. >>>>>> >>>>>> So would it be possible? And if so, are there any examples available >>>>>> already? >>>>>> >>>>>> Regards, >>>>>> >>>>>> Matthias >>>>>> _______________________________________________ >>>>>> use-livecode mailing list >>>>>> use-livecode at 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 at 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 at 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 at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From tom at makeshyft.com Tue Aug 7 12:51:19 2018 From: tom at makeshyft.com (Tom Glod) Date: Tue, 7 Aug 2018 12:51:19 -0400 Subject: LC Builder and 3rd Part DLLs under Windows In-Reply-To: <331BDD9F-B8BA-4449-AD18-45B216243F28@m-r-d.de> References: <331BDD9F-B8BA-4449-AD18-45B216243F28@m-r-d.de> Message-ID: thanks very much .... somehow that has eluded me. Will start on it tonight. On Tue, Aug 7, 2018 at 11:51 AM, Matthias Rebbe via use-livecode < use-livecode at lists.runrev.com> wrote: > Tom, > there is a extension-course here extension-course/> > > > Am 07.08.2018 um 17:23 schrieb Tom Glod via use-livecode < > use-livecode at lists.runrev.com>: > > > > Hey Matthias, Just wondering what resources you used to get started in > > LCB.... I have yet to dip my toes in that ..but I think I am ready. > > > > On Tue, Aug 7, 2018 at 10:43 AM, Matthias Rebbe via use-livecode < > > use-livecode at lists.runrev.com> wrote: > > > >> Brian, > >> > >> thanks also. Yes, please. More examples are welcomed. > >> > >> Regards, > >> > >> Matthias > >> > >> > >>> Am 07.08.2018 um 16:29 schrieb Brian Milby via use-livecode < > >> use-livecode at lists.runrev.com>: > >>> > >>> I have also started with libSodium (because it had a compiled dll I > >> could try) if you want another example. I have not posted anything yet > >> since it does not do anything very useful yet (it will initialize and > >> generate a key pair but I have not done any of the parts to use the > keys). > >>> > >>> Thanks, > >>> Brian > >>> On Aug 7, 2018, 9:25 AM -0500, Trevor DeVore via use-livecode < > >> use-livecode at lists.runrev.com>, wrote: > >>>> Actually, I do have a public example. Take a look at this winSparkle > >>>> project: > >>>> > >>>> https://github.com/trevordevore/lc-winsparkle > >>>> > >>>> -- > >>>> Trevor DeVore > >>>> ScreenSteps > >>>> www.screensteps.com > >>>> > >>>> On Tue, Aug 7, 2018 at 9:23 AM Trevor DeVore < > lists at mangomultimedia.com > >>> > >>>> wrote: > >>>> > >>>>> Matthias, > >>>>> > >>>>> Yes it is possible. I don't know of any 3rd party DLL examples. Can > you > >>>>> point me to a DLL you want to wrap? I may be able to put together the > >>>>> skeleton of an LCB extension for you to get started with. > >>>>> > >>>>> -- > >>>>> Trevor DeVore > >>>>> ScreenSteps > >>>>> www.screensteps.com > >>>>> > >>>>> On Tue, Aug 7, 2018 at 5:33 AM Matthias Rebbe via use-livecode < > >>>>> use-livecode at lists.runrev.com> wrote: > >>>>> > >>>>>> Hi, > >>>>>> > >>>>>> i make use of the Widgets in LC 9 very often and i am really > impressed > >>>>>> what is possible with LCB. > >>>>>> I have no deep knowledge of LCB, but if i understand correctly then > >> LCB > >>>>>> is able to call OS APIs, right? > >>>>>> > >>>>>> If so, is it also possible to call functions of a 3rd party DLL > under > >>>>>> Windows? > >>>>>> > >>>>>> I know there is a very nice but old example on Ken Ray?s page how to > >> use > >>>>>> external DLLs in LC, > >>>>>> > >>>>>> But now with LCB i would prefer LCB to do the complete ?wrapping?. > >>>>>> > >>>>>> So would it be possible? And if so, are there any examples available > >>>>>> already? > >>>>>> > >>>>>> Regards, > >>>>>> > >>>>>> Matthias > >>>>>> _______________________________________________ > >>>>>> use-livecode mailing list > >>>>>> use-livecode at 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 at 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 at 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 at 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 at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From lists at mangomultimedia.com Tue Aug 7 13:52:58 2018 From: lists at mangomultimedia.com (Trevor DeVore) Date: Tue, 7 Aug 2018 12:52:58 -0500 Subject: LC Builder and 3rd Part DLLs under Windows In-Reply-To: <6A335EA4-7BF5-429F-A0B1-577C8A86E6FE@m-r-d.de> References: <6A335EA4-7BF5-429F-A0B1-577C8A86E6FE@m-r-d.de> Message-ID: Matthias, I downloaded and installed the demo and was able to link to the DLL. 1. Create a folder named `TBarCode`. 2. In that folder create a `code/x86-win32` folder. 3. Copy the `TBarCode11.dll` and `zlib1.dll` (not positive this is required) files from the Program Files(x86) folder (NOT the 64-bit versions) and place in the `./code/x86-win32` folder. 4. Create a file in the `TBarCode` folder named `tbarcode.lcb` 5. Place the following script in the `tbarcode.lcb` file and save it. ``` library community.livecode.tbarcode use com.livecode.foreign use com.livecode.engine use com.livecode.file metadata title is "TBarCode" metadata author is "" metadata version is "0.1.0" private foreign handler win_tbarcode_licenseMe(in pLicensee as ZStringUTF16, in pKindOfLicense as CULong, in pNoOfLicenses as CULong, \ in pKey as ZStringUTF16, in pProductID as CULong) \ returns CULong binds to ?c:TBarCode11>BCLicenseMeW!stdcall" public handler TestMe() returns String variable tError as Number unsafe put win_tbarcode_licenseMe("LicenseeName", 3, 1, "LicenseKey", 2023) into tError end unsafe log tError return "success" end handler end library ``` 6. Open tbarcode.lcb in the Extension Builder and test it by pressing the ?Play? button on the bottom of the Extension Builder window. 7. In the Message Box run: `put TestMe()` Assuming all is well you should see ?success? appear with a ?0? in the log field. I didn?t verify that I used the correct types for pKindOfLicense, pNoOfLicenses, and pProductId. I was just verifying that LCB would execute a handler in the DLL. Ask or docs you can look at the following two docs on the web: https://github.com/livecode/livecode/blob/develop/docs/guides/LiveCode%20Builder%20Language%20Reference.md https://github.com/livecode/livecode-ide/blob/develop/Documentation/guides/Extending%20LiveCode.md They are available as guides in the IDE docs but I find it easier to scan and search in the web browser. Good luck! -- Trevor DeVore ScreenSteps www.screensteps.com On Tue, Aug 7, 2018 at 9:41 AM Matthias Rebbe via use-livecode < use-livecode at lists.runrev.com> wrote: > Hi Trevor, > > thank you very much for your offer. > > I am interested in using the Barcode SDK for Windows from TEC-IT. > https://www.tec-it.com/en/download/tbarcode/Download.aspx < > https://www.tec-it.com/en/download/tbarcode/Download.aspx> > > Regards, > > Matthias > > > > > Am 07.08.2018 um 16:23 schrieb Trevor DeVore via use-livecode < > use-livecode at lists.runrev.com>: > > > > Matthias, > > > > Yes it is possible. I don't know of any 3rd party DLL examples. Can you > > point me to a DLL you want to wrap? I may be able to put together the > > skeleton of an LCB extension for you to get started with. > > > > -- > > Trevor DeVore > > ScreenSteps > > www.screensteps.com > > > > On Tue, Aug 7, 2018 at 5:33 AM Matthias Rebbe via use-livecode < > > use-livecode at lists.runrev.com> wrote: > > > >> Hi, > >> > >> i make use of the Widgets in LC 9 very often and i am really impressed > >> what is possible with LCB. > >> I have no deep knowledge of LCB, but if i understand correctly then LCB > is > >> able to call OS APIs, right? > >> > >> If so, is it also possible to call functions of a 3rd party DLL under > >> Windows? > >> > >> I know there is a very nice but old example on Ken Ray?s page how to > use > >> external DLLs in LC, > >> > >> But now with LCB i would prefer LCB to do the complete ?wrapping?. > >> > >> So would it be possible? And if so, are there any examples available > >> already? > >> > >> Regards, > >> > >> Matthias > >> _______________________________________________ > >> use-livecode mailing list > >> use-livecode at 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 at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From ambassador at fourthworld.com Tue Aug 7 13:58:55 2018 From: ambassador at fourthworld.com (Richard Gaskin) Date: Tue, 7 Aug 2018 10:58:55 -0700 Subject: Windows: "not responding" Message-ID: <28548157-7853-9b55-fedd-1f29fe5b1025@fourthworld.com> We've discussed many times here the anomaly in which an LC process on Windows is running quite fine, but when it's working really hard the OS starts monkeying with the window appearance, adding the string "application is not responding" in the title bar. In all cases I've see thus far, the app itself is fine, but apparently it's not yielding enough cycles to the OS for the OS to feel comfortable about the relationship. Based on early conversations here, I had thought that a solution addressing this was in progress, but checking the bug DB I can't find even a report for this at all, let alone one noting "In Progress". Anyone here know the status of this issue? Should I file a new report on it? -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ____________________________________________________________________ Ambassador at FourthWorld.com http://www.FourthWorld.com From paul at researchware.com Tue Aug 7 14:06:37 2018 From: paul at researchware.com (Paul Dupuis) Date: Tue, 7 Aug 2018 14:06:37 -0400 Subject: Windows: "not responding" In-Reply-To: <28548157-7853-9b55-fedd-1f29fe5b1025@fourthworld.com> References: <28548157-7853-9b55-fedd-1f29fe5b1025@fourthworld.com> Message-ID: On 8/7/2018 1:58 PM, Richard Gaskin via use-livecode wrote: > We've discussed many times here the anomaly in which an LC process on > Windows is running quite fine, but when it's working really hard the > OS starts monkeying with the window appearance, adding the string > "application is not responding" in the title bar. > > In all cases I've see thus far, the app itself is fine, but apparently > it's not yielding enough cycles to the OS for the OS to feel > comfortable about the relationship. > > Based on early conversations here, I had thought that a solution > addressing this was in progress, but checking the bug DB I can't find > even a report for this at all, let alone one noting "In Progress". > > Anyone here know the status of this issue?? Should I file a new report > on it? > I run into to this symptom more often than I would like to see as well. From brian at milby7.com Tue Aug 7 14:14:00 2018 From: brian at milby7.com (Brian Milby) Date: Tue, 7 Aug 2018 13:14:00 -0500 Subject: Windows: "not responding" In-Reply-To: References: <28548157-7853-9b55-fedd-1f29fe5b1025@fourthworld.com> Message-ID: I don?t think this is an issue exclusive to LC. My main Access DB has code that will do the same thing. Sometimes things come back fine because it was just busy (SharePoint issues do cause it to get totally hung sometimes as well though). Thanks, Brian On Aug 7, 2018, 1:07 PM -0500, Paul Dupuis via use-livecode , wrote: > On 8/7/2018 1:58 PM, Richard Gaskin via use-livecode wrote: > > We've discussed many times here the anomaly in which an LC process on > > Windows is running quite fine, but when it's working really hard the > > OS starts monkeying with the window appearance, adding the string > > "application is not responding" in the title bar. > > > > In all cases I've see thus far, the app itself is fine, but apparently > > it's not yielding enough cycles to the OS for the OS to feel > > comfortable about the relationship. > > > > Based on early conversations here, I had thought that a solution > > addressing this was in progress, but checking the bug DB I can't find > > even a report for this at all, let alone one noting "In Progress". > > > > Anyone here know the status of this issue?? Should I file a new report > > on it? > > > I run into to this symptom more often than I would like to see as well. > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From rdimola at evergreeninfo.net Tue Aug 7 15:08:25 2018 From: rdimola at evergreeninfo.net (Ralph DiMola) Date: Tue, 7 Aug 2018 15:08:25 -0400 Subject: Windows: "not responding" In-Reply-To: References: <28548157-7853-9b55-fedd-1f29fe5b1025@fourthworld.com> Message-ID: <005801d42e82$079a0eb0$16ce2c10$@net> Same here. Many Windows apps do it. It seems that Windows can't tell the difference between heavy I/O and a true "Not Responding" I have seen this behavior since Win 3.1 and it hasn't changes all the way to Win 10. It especially happens when there is heavy I/O is on a SMB share. I suspect it's a locking algorithm that does not always know why it's still waiting for a lock to be released. I work on Windows, Mac and a little Linux. It seems Linux handles this much better. Ralph DiMola IT Director Evergreen Information Services rdimola at evergreeninfo.net -----Original Message----- From: use-livecode [mailto:use-livecode-bounces at lists.runrev.com] On Behalf Of Brian Milby via use-livecode Sent: Tuesday, August 07, 2018 2:14 PM To: use-livecode at lists.runrev.com; How to use LiveCode Cc: Brian Milby Subject: Re: Windows: "not responding" I don?t think this is an issue exclusive to LC. My main Access DB has code that will do the same thing. Sometimes things come back fine because it was just busy (SharePoint issues do cause it to get totally hung sometimes as well though). Thanks, Brian On Aug 7, 2018, 1:07 PM -0500, Paul Dupuis via use-livecode , wrote: > On 8/7/2018 1:58 PM, Richard Gaskin via use-livecode wrote: > > We've discussed many times here the anomaly in which an LC process > > on Windows is running quite fine, but when it's working really hard > > the OS starts monkeying with the window appearance, adding the > > string "application is not responding" in the title bar. > > > > In all cases I've see thus far, the app itself is fine, but > > apparently it's not yielding enough cycles to the OS for the OS to > > feel comfortable about the relationship. > > > > Based on early conversations here, I had thought that a solution > > addressing this was in progress, but checking the bug DB I can't > > find even a report for this at all, let alone one noting "In Progress". > > > > Anyone here know the status of this issue? Should I file a new > > report on it? > > > I run into to this symptom more often than I would like to see as well. > > > _______________________________________________ > use-livecode mailing list > use-livecode at 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 at lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode From rdimola at evergreeninfo.net Tue Aug 7 15:26:45 2018 From: rdimola at evergreeninfo.net (Ralph DiMola) Date: Tue, 7 Aug 2018 15:26:45 -0400 Subject: Windows: "not responding" In-Reply-To: References: <28548157-7853-9b55-fedd-1f29fe5b1025@fourthworld.com> Message-ID: <005901d42e84$96a5b530$c3f11f90$@net> Also, I was able to reduce this by calls to WMPaint or in VB to DoEvents while in a tight loop doing I/O. This brings me back to the never ending question: When is the equivalent to "DoEvents" in LC? "Wait in time with messages" does not always do it. Ralph DiMola IT Director Evergreen Information Services rdimola at evergreeninfo.net -----Original Message----- From: use-livecode [mailto:use-livecode-bounces at lists.runrev.com] On Behalf Of Brian Milby via use-livecode Sent: Tuesday, August 07, 2018 2:14 PM To: use-livecode at lists.runrev.com; How to use LiveCode Cc: Brian Milby Subject: Re: Windows: "not responding" I don?t think this is an issue exclusive to LC. My main Access DB has code that will do the same thing. Sometimes things come back fine because it was just busy (SharePoint issues do cause it to get totally hung sometimes as well though). Thanks, Brian On Aug 7, 2018, 1:07 PM -0500, Paul Dupuis via use-livecode , wrote: > On 8/7/2018 1:58 PM, Richard Gaskin via use-livecode wrote: > > We've discussed many times here the anomaly in which an LC process > > on Windows is running quite fine, but when it's working really hard > > the OS starts monkeying with the window appearance, adding the > > string "application is not responding" in the title bar. > > > > In all cases I've see thus far, the app itself is fine, but > > apparently it's not yielding enough cycles to the OS for the OS to > > feel comfortable about the relationship. > > > > Based on early conversations here, I had thought that a solution > > addressing this was in progress, but checking the bug DB I can't > > find even a report for this at all, let alone one noting "In Progress". > > > > Anyone here know the status of this issue? Should I file a new > > report on it? > > > I run into to this symptom more often than I would like to see as well. > > > _______________________________________________ > use-livecode mailing list > use-livecode at 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 at lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode From dan at clearvisiontech.com Tue Aug 7 15:38:32 2018 From: dan at clearvisiontech.com (Dan Friedman) Date: Tue, 7 Aug 2018 19:38:32 +0000 Subject: Android and https Message-ID: <2FD56902-8D4C-4902-9504-4579A2949534@clearvisiontech.com> If I try to access a https link/page in my Android app, I get empty (the result is empty too). If I do the same call on my iOS app, it?s fine. Is there some type of secure issue with LC 9.0.1 on Android? Or, am I supposed to flip a switch somewhere? Thanks in advance! -Dan From ambassador at fourthworld.com Tue Aug 7 15:43:53 2018 From: ambassador at fourthworld.com (Richard Gaskin) Date: Tue, 7 Aug 2018 12:43:53 -0700 Subject: Windows: "not responding" In-Reply-To: References: Message-ID: <330ad6ac-12f3-e187-1857-b22ea2f8124e@fourthworld.com> IIRC, earlier discussions here about this do recognize that it's about a certain finickiness with Windows, but also acknowledged that this seems to happen more frequently in LC apps than others. Personally, I see this very rarely in anything other than LC, and in LC apps quite often. Customers find it very disturbing, and have expressed a temptation to force-quit the app based on the (apparently erroneous) guidance provided to them by the OS. In those earlier discussions there was talk of the method Windows expects for an app to effectively tell it, "I'm still alive, just working", which is apparently not being done as frequently as the OS needs to get the message. This all seemed so fresh in that earlier discussion that I somehow (perhaps mistakenly) got the impression it was under active development. But I can't find anything in the bug DB suggesting that's the case. I don't mind opening a new issue for this, just wanted to see if doing so would create a duplicate of something that's already there. -- Richard Gaskin Fourth World Systems Brian Milby wrote: > I don?t think this is an issue exclusive to LC. My main Access DB has code that will do the same thing. Sometimes things come back fine because it was just busy (SharePoint issues do cause it to get totally hung sometimes as well though). > > Thanks, > Brian > On Aug 7, 2018, 1:07 PM -0500, Paul Dupuis via use-livecode , wrote: >> On 8/7/2018 1:58 PM, Richard Gaskin via use-livecode wrote: >> > We've discussed many times here the anomaly in which an LC process on >> > Windows is running quite fine, but when it's working really hard the >> > OS starts monkeying with the window appearance, adding the string >> > "application is not responding" in the title bar. >> > >> > In all cases I've see thus far, the app itself is fine, but apparently >> > it's not yielding enough cycles to the OS for the OS to feel >> > comfortable about the relationship. >> > >> > Based on early conversations here, I had thought that a solution >> > addressing this was in progress, but checking the bug DB I can't find >> > even a report for this at all, let alone one noting "In Progress". >> > >> > Anyone here know the status of this issue? Should I file a new report >> > on it? >> > >> I run into to this symptom more often than I would like to see as well. >> From paul at researchware.com Tue Aug 7 15:55:31 2018 From: paul at researchware.com (Paul Dupuis) Date: Tue, 7 Aug 2018 15:55:31 -0400 Subject: Windows: "not responding" In-Reply-To: <005901d42e84$96a5b530$c3f11f90$@net> References: <28548157-7853-9b55-fedd-1f29fe5b1025@fourthworld.com> <005901d42e84$96a5b530$c3f11f90$@net> Message-ID: <8c96559f-fdc9-9575-16eb-0412f57bfbbf@researchware.com> On 8/7/2018 3:26 PM, Ralph DiMola via use-livecode wrote: > Also, I was able to reduce this by calls to WMPaint or in VB to DoEvents while in a tight loop doing I/O. This brings me back to the never ending question: When is the equivalent to "DoEvents" in LC? "Wait in time with messages" does not always do it. wait 0 with messages *should* do it. From paul at researchware.com Tue Aug 7 15:57:25 2018 From: paul at researchware.com (Paul Dupuis) Date: Tue, 7 Aug 2018 15:57:25 -0400 Subject: Windows: "not responding" In-Reply-To: <330ad6ac-12f3-e187-1857-b22ea2f8124e@fourthworld.com> References: <330ad6ac-12f3-e187-1857-b22ea2f8124e@fourthworld.com> Message-ID: <5cba6217-3b6f-778f-f02b-9df0a2b7e9be@researchware.com> On 8/7/2018 3:43 PM, Richard Gaskin via use-livecode wrote: > I don't mind opening a new issue for this, just wanted to see if doing > so would create a duplicate of something that's already there. Please open the issue in the quality center. If it is improvable, I would like to see it improved, if not fully fixed. From dan at clearvisiontech.com Tue Aug 7 16:25:42 2018 From: dan at clearvisiontech.com (Dan Friedman) Date: Tue, 7 Aug 2018 20:25:42 +0000 Subject: Android, local PDF and the Browser Widget Message-ID: <213F7F9A-50CF-40C2-84E9-F6F6458BCFA0@clearvisiontech.com> Can anyone tell me why this fails on Android, when it works on iOS and desktop: put specialFolderPath("documents") & "myTemp.pdf" into fPath put someRandomPDFData into url ("binfile:" & fPath) set the url of widget "Browser1" to fPath //I get a white screen I have also tried: set the url of widget "Browser1" to ("file:/" & fPath) set the url of widget "Browser1" to ("file://" & fPath) FWIW, this returns true: answer (there is a file fPath) I have verified that someRandomPDFData is valid PDF data and the detailed files returns the correct file name and size Using LC 9.0.1 -Dan From bobsneidar at iotecdigital.com Tue Aug 7 16:42:42 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Tue, 7 Aug 2018 20:42:42 +0000 Subject: Android, local PDF and the Browser Widget In-Reply-To: <213F7F9A-50CF-40C2-84E9-F6F6458BCFA0@clearvisiontech.com> References: <213F7F9A-50CF-40C2-84E9-F6F6458BCFA0@clearvisiontech.com> Message-ID: <098861EE-9751-43B1-8D4B-8FF366F49F81@iotecdigital.com> Is the browser capable of opening a file on Android? Bob S > On Aug 7, 2018, at 13:25 , Dan Friedman via use-livecode wrote: > > Can anyone tell me why this fails on Android, when it works on iOS and desktop: > > put specialFolderPath("documents") & "myTemp.pdf" into fPath > put someRandomPDFData into url ("binfile:" & fPath) > set the url of widget "Browser1" to fPath //I get a white screen > > I have also tried: > set the url of widget "Browser1" to ("file:/" & fPath) > set the url of widget "Browser1" to ("file://" & fPath) > > FWIW, this returns true: > answer (there is a file fPath) > > I have verified that someRandomPDFData is valid PDF data and the detailed files returns the correct file name and size > > Using LC 9.0.1 > > -Dan > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From martyknappster at gmail.com Tue Aug 7 16:46:11 2018 From: martyknappster at gmail.com (Knapp Martin) Date: Tue, 7 Aug 2018 13:46:11 -0700 Subject: Drag Drop State of Affairs In-Reply-To: <25F22EEA-07B4-4BE0-8A84-C00BCEB355F2@iotecdigital.com> References: <2A2E7C1B-B38C-4D54-BF2A-132A665BBFA3@iotecdigital.com> <0bc1784f-1286-297c-0c3e-b01f191f224f@hyperactivesw.com> <067630F2-A50D-41E3-B0D5-8EDDF6E61E4F@iotecdigital.com> <25F22EEA-07B4-4BE0-8A84-C00BCEB355F2@iotecdigital.com> Message-ID: <733C3AB4-4735-4307-B2FE-774D5A3B519F@gmail.com> Have you found a work around for this Bob? Or filed a bug report? For me the problem exists whether in the IDE or a standalone. Marty > On Aug 3, 2018, at 3:20 PM, Bob Sneidar via use-livecode wrote: > > No tamalies Jacque. With the stack unresponsive, I type "put the short name of the defaultStack" into the message box and it's correct. > > Bob S > > >> On Aug 3, 2018, at 14:56 , Bob Sneidar via use-livecode wrote: >> >> I'll check that. I'll put the defaultStack before the operation and then after and see if it changes. >> >> Bob S > From ambassador at fourthworld.com Tue Aug 7 16:20:14 2018 From: ambassador at fourthworld.com (Richard Gaskin) Date: Tue, 7 Aug 2018 13:20:14 -0700 Subject: Windows: "not responding" In-Reply-To: <5cba6217-3b6f-778f-f02b-9df0a2b7e9be@researchware.com> References: <5cba6217-3b6f-778f-f02b-9df0a2b7e9be@researchware.com> Message-ID: <1e436219-e6a9-d959-7333-9df7787c3827@fourthworld.com> Paul Dupuis wrote: > On 8/7/2018 3:43 PM, Richard Gaskin via use-livecode wrote: >> I don't mind opening a new issue for this, just wanted to see if doing >> so would create a duplicate of something that's already there. > > Please open the issue in the quality center. If it is improvable, I > would like to see it improved, if not fully fixed. Thanks, will do. Do you have a succinct recipe? I'm sure I could come up with one, but at the moment I'm seeing this in complex things too cumbersome to submit as an example, so if you know a quickie way to get this I'll run with it. -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ____________________________________________________________________ Ambassador at FourthWorld.com http://www.FourthWorld.com From klaus at major-k.de Tue Aug 7 16:49:52 2018 From: klaus at major-k.de (Klaus major-k) Date: Tue, 7 Aug 2018 22:49:52 +0200 Subject: Android, local PDF and the Browser Widget In-Reply-To: <098861EE-9751-43B1-8D4B-8FF366F49F81@iotecdigital.com> References: <213F7F9A-50CF-40C2-84E9-F6F6458BCFA0@clearvisiontech.com> <098861EE-9751-43B1-8D4B-8FF366F49F81@iotecdigital.com> Message-ID: <57BB2674-A4B8-4C77-94D0-9AF6C9470ADD@major-k.de> Hi friends, > Am 07.08.2018 um 22:42 schrieb Bob Sneidar via use-livecode : > Is the browser capable of opening a file on Android? > > Bob S > > >> On Aug 7, 2018, at 13:25 , Dan Friedman via use-livecode wrote: >> Can anyone tell me why this fails on Android, when it works on iOS and desktop: >> put specialFolderPath("documents") & "myTemp.pdf" into fPath >> put someRandomPDFData into url ("binfile:" & fPath) >> set the url of widget "Browser1" to fPath //I get a white screen >> I have also tried: >> set the url of widget "Browser1" to ("file:/" & fPath) >> set the url of widget "Browser1" to ("file://" & fPath) >> FWIW, this returns true: >> answer (there is a file fPath) >> I have verified that someRandomPDFData is valid PDF data and the detailed files returns the correct file name and size >> Using LC 9.0.1 ANDROID cannot display PDF inside of a browser out-of-the-box! This is no LC issue! But there seems to be a way using JavaScript, please check this forum posting: Best Klaus -- Klaus Major http://www.major-k.de klaus at major-k.de From jacque at hyperactivesw.com Tue Aug 7 16:52:32 2018 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Tue, 7 Aug 2018 15:52:32 -0500 Subject: Android, local PDF and the Browser Widget In-Reply-To: <213F7F9A-50CF-40C2-84E9-F6F6458BCFA0@clearvisiontech.com> References: <213F7F9A-50CF-40C2-84E9-F6F6458BCFA0@clearvisiontech.com> Message-ID: On 8/7/18 3:25 PM, Dan Friedman via use-livecode wrote: > put specialFolderPath("documents") & "myTemp.pdf" This returns on desktop: /Users//DocumentsmyTemp.pdf So I think you're writing to the wrong folder. Apparently iOS allows that, Android doesn't. Add a slash: put specialFolderPath("documents") & "/myTemp.pdf" -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com From jacque at hyperactivesw.com Tue Aug 7 16:53:29 2018 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Tue, 7 Aug 2018 15:53:29 -0500 Subject: Android and https In-Reply-To: <2FD56902-8D4C-4902-9504-4579A2949534@clearvisiontech.com> References: <2FD56902-8D4C-4902-9504-4579A2949534@clearvisiontech.com> Message-ID: On 8/7/18 2:38 PM, Dan Friedman via use-livecode wrote: > If I try to access a https link/page in my Android app, I get empty (the result is empty too). If I do the same call on my iOS app, it?s fine. Is there some type of secure issue with LC 9.0.1 on Android? Or, am I supposed to flip a switch somewhere? Did you tick the checkbox for Internet permissions in Android standalone settings? -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com From mark at livecode.com Tue Aug 7 17:21:25 2018 From: mark at livecode.com (Mark Waddingham) Date: Tue, 07 Aug 2018 23:21:25 +0200 Subject: valueDiff for =?UTF-8?Q?arrays=3F?= In-Reply-To: References: <6dc2d28f-14c8-e464-d9c9-b1d55086f97e@sonic.net> <7AC7DB22-368D-4132-9077-0DBF0BED29DD@livecode.com> Message-ID: On 2018-08-07 17:15, Mark Wieder via use-livecode wrote: > On 08/06/2018 08:18 PM, Mark Waddingham via use-livecode wrote: >> I'd expect that for two reasons. >> >> The first is that all array keys are interred strings (names) so >> integers need to first be converted to strings and then hashed into a >> name and then hashed to the slot in the arrays hash table. > > I thought at some point we had talked about numeric arrarys (as > opposed to hashes) if all the keys were numbers. That's why I filled > the array that way. Is that not the case? Can we put that one to bed? All arrays are string-keyed currently. However, the engine treats arrays which have all integer (string) keys starting at one and are dense (i.e. the number of elements == max(all keys)) from ones that aren't. The fact the keys are still strings is an implementation detail really - although one which does leave room for optimization (see the reply I wrote about PHP7 - particularly the notion of tagged ptrs for integers). Warmest Regards, Mark. -- Mark Waddingham ~ mark at livecode.com ~ http://www.livecode.com/ LiveCode: Everyone can create apps From dan at clearvisiontech.com Tue Aug 7 17:30:35 2018 From: dan at clearvisiontech.com (Dan Friedman) Date: Tue, 7 Aug 2018 21:30:35 +0000 Subject: Android and https In-Reply-To: References: <2FD56902-8D4C-4902-9504-4579A2949534@clearvisiontech.com> Message-ID: Jacqueline, Yes. Before attempting to display the PDF, I am downloading the PDF from my site to begin with. So, internet functionality is working (although, not https). -Dan On 8/7/18, 1:53 PM, "use-livecode on behalf of J. Landman Gay via use-livecode" wrote: On 8/7/18 2:38 PM, Dan Friedman via use-livecode wrote: > If I try to access a https link/page in my Android app, I get empty (the result is empty too). If I do the same call on my iOS app, it?s fine. Is there some type of secure issue with LC 9.0.1 on Android? Or, am I supposed to flip a switch somewhere? Did you tick the checkbox for Internet permissions in Android standalone settings? -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com _______________________________________________ use-livecode mailing list use-livecode at lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode From ahsoftware at sonic.net Tue Aug 7 17:31:51 2018 From: ahsoftware at sonic.net (Mark Wieder) Date: Tue, 7 Aug 2018 14:31:51 -0700 Subject: valueDiff for arrays? In-Reply-To: References: <6dc2d28f-14c8-e464-d9c9-b1d55086f97e@sonic.net> <7AC7DB22-368D-4132-9077-0DBF0BED29DD@livecode.com> Message-ID: On 08/07/2018 02:21 PM, Mark Waddingham via use-livecode wrote: > However, the engine treats arrays which have all integer (string) keys > starting at one and are dense (i.e. the number of elements == max(all > keys)) from ones that aren't. Not sure how to interpret that. If I create repeat with i=1 to 10 put i into tArray[i] end repeat to make a 'special' array and then delete variable tArray[3] does that take it out of the 'special' category? -- Mark Wieder ahsoftware at gmail.com From bobsneidar at iotecdigital.com Tue Aug 7 17:47:04 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Tue, 7 Aug 2018 21:47:04 +0000 Subject: Drag Drop State of Affairs In-Reply-To: <733C3AB4-4735-4307-B2FE-774D5A3B519F@gmail.com> References: <2A2E7C1B-B38C-4D54-BF2A-132A665BBFA3@iotecdigital.com> <0bc1784f-1286-297c-0c3e-b01f191f224f@hyperactivesw.com> <067630F2-A50D-41E3-B0D5-8EDDF6E61E4F@iotecdigital.com> <25F22EEA-07B4-4BE0-8A84-C00BCEB355F2@iotecdigital.com> <733C3AB4-4735-4307-B2FE-774D5A3B519F@gmail.com> Message-ID: <9EEAEA2C-386C-438C-BD1E-B83F86A52B57@iotecdigital.com> No, and the topStack is the same before and after, which is the stack I am drag/dropping onto. Curiously, I cannot think of a time when the first drag/drop operation failed. It seems it's always on some subsequent drag/drop operation to the same object, which is why I suspect some state that ought to be clearing after the drop isn't. However, I cannot reproduce it every time. It only happens every 3 or 4 times if I do the same operation over and over again. Once it DOES happen though, it seems like I can get it to happen every time, unless as I said I wait a while, then it clears for a bit. Odd, huh? Bob S > On Aug 7, 2018, at 13:46 , Knapp Martin via use-livecode wrote: > > Have you found a work around for this Bob? Or filed a bug report? For me the problem exists whether in the IDE or a standalone. > > Marty From bobsneidar at iotecdigital.com Tue Aug 7 17:50:02 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Tue, 7 Aug 2018 21:50:02 +0000 Subject: valueDiff for arrays? In-Reply-To: References: <6dc2d28f-14c8-e464-d9c9-b1d55086f97e@sonic.net> <7AC7DB22-368D-4132-9077-0DBF0BED29DD@livecode.com> Message-ID: <11787E6B-6D3B-44B9-BE36-717ED176F769@iotecdigital.com> Someone said, probably Mark, that numbered key arrays beginning with 1 will always return their keys sorted numerically. I always wondered why almost every other array seemed to scramble to order of it's keys, but datagrid arrays never did. Bob S > On Aug 7, 2018, at 14:31 , Mark Wieder via use-livecode wrote: > > On 08/07/2018 02:21 PM, Mark Waddingham via use-livecode wrote: >> However, the engine treats arrays which have all integer (string) keys starting at one and are dense (i.e. the number of elements == max(all keys)) from ones that aren't. > > Not sure how to interpret that. If I create > > repeat with i=1 to 10 > put i into tArray[i] > end repeat > > to make a 'special' array and then > delete variable tArray[3] > > does that take it out of the 'special' category? > > -- > Mark Wieder > ahsoftware at gmail.com From ambassador at fourthworld.com Tue Aug 7 18:02:58 2018 From: ambassador at fourthworld.com (Richard Gaskin) Date: Tue, 7 Aug 2018 15:02:58 -0700 Subject: valueDiff for arrays? In-Reply-To: <11787E6B-6D3B-44B9-BE36-717ED176F769@iotecdigital.com> References: <11787E6B-6D3B-44B9-BE36-717ED176F769@iotecdigital.com> Message-ID: Bob Sneidar wrote: > Someone said, probably Mark, that numbered key arrays beginning with 1 > will always return their keys sorted numerically. I always wondered > why almost every other array seemed to scramble to order of it's keys, > but datagrid arrays never did. Associative arrays are a collection of hashes, and as such have no internal sense of order. The DataGrid script runs output through the sort command before returning it. -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ____________________________________________________________________ Ambassador at FourthWorld.com http://www.FourthWorld.com From matthias_livecode_150811 at m-r-d.de Tue Aug 7 18:11:15 2018 From: matthias_livecode_150811 at m-r-d.de (Matthias Rebbe) Date: Wed, 8 Aug 2018 00:11:15 +0200 Subject: LC Builder and 3rd Part DLLs under Windows In-Reply-To: References: <6A335EA4-7BF5-429F-A0B1-577C8A86E6FE@m-r-d.de> Message-ID: <184ED027-2873-416E-9051-BB1648AA1F19@m-r-d.de> Trevor, thank you so much for your example and for verifying that LCB can execute handlers in the dll. ?Good luck? is well said, i need more than good luck. ;) Regards, Matthias > Am 07.08.2018 um 19:52 schrieb Trevor DeVore via use-livecode >: > > Matthias, > > I downloaded and installed the demo and was able to link to the DLL. > > 1. Create a folder named `TBarCode`. > 2. In that folder create a `code/x86-win32` folder. > 3. Copy the `TBarCode11.dll` and `zlib1.dll` (not positive this is > required) files from the Program Files(x86) folder (NOT the 64-bit > versions) and place in the `./code/x86-win32` folder. > 4. Create a file in the `TBarCode` folder named `tbarcode.lcb` > 5. Place the following script in the `tbarcode.lcb` file and save it. > > ``` > library community.livecode.tbarcode > > use com.livecode.foreign > use com.livecode.engine > use com.livecode.file > > metadata title is "TBarCode" > metadata author is "" > metadata version is "0.1.0" > > private foreign handler win_tbarcode_licenseMe(in pLicensee as > ZStringUTF16, in pKindOfLicense as CULong, in pNoOfLicenses as CULong, \ > in pKey as ZStringUTF16, in pProductID as CULong) \ > returns CULong binds to ?c:TBarCode11>BCLicenseMeW!stdcall" > > > public handler TestMe() returns String > variable tError as Number > > unsafe > put win_tbarcode_licenseMe("LicenseeName", 3, 1, "LicenseKey", 2023) > into tError > end unsafe > log tError > return "success" > end handler > end library > ``` > > 6. Open tbarcode.lcb in the Extension Builder and test it by pressing the > ?Play? button on the bottom of the Extension Builder window. > 7. In the Message Box run: `put TestMe()` > > Assuming all is well you should see ?success? appear with a ?0? in the log > field. I didn?t verify that I used the correct types for pKindOfLicense, > pNoOfLicenses, and pProductId. I was just verifying that LCB would execute > a handler in the DLL. > > Ask or docs you can look at the following two docs on the web: > > https://github.com/livecode/livecode/blob/develop/docs/guides/LiveCode%20Builder%20Language%20Reference.md > https://github.com/livecode/livecode-ide/blob/develop/Documentation/guides/Extending%20LiveCode.md > > They are available as guides in the IDE docs but I find it easier to scan > and search in the web browser. > > Good luck! > > -- > Trevor DeVore > ScreenSteps > www.screensteps.com > > > On Tue, Aug 7, 2018 at 9:41 AM Matthias Rebbe via use-livecode < > use-livecode at lists.runrev.com> wrote: > >> Hi Trevor, >> >> thank you very much for your offer. >> >> I am interested in using the Barcode SDK for Windows from TEC-IT. >> https://www.tec-it.com/en/download/tbarcode/Download.aspx < >> https://www.tec-it.com/en/download/tbarcode/Download.aspx> >> >> Regards, >> >> Matthias >> >> >> >>> Am 07.08.2018 um 16:23 schrieb Trevor DeVore via use-livecode < >> use-livecode at lists.runrev.com>: >>> >>> Matthias, >>> >>> Yes it is possible. I don't know of any 3rd party DLL examples. Can you >>> point me to a DLL you want to wrap? I may be able to put together the >>> skeleton of an LCB extension for you to get started with. >>> >>> -- >>> Trevor DeVore >>> ScreenSteps >>> www.screensteps.com >>> >>> On Tue, Aug 7, 2018 at 5:33 AM Matthias Rebbe via use-livecode < >>> use-livecode at lists.runrev.com> wrote: >>> >>>> Hi, >>>> >>>> i make use of the Widgets in LC 9 very often and i am really impressed >>>> what is possible with LCB. >>>> I have no deep knowledge of LCB, but if i understand correctly then LCB >> is >>>> able to call OS APIs, right? >>>> >>>> If so, is it also possible to call functions of a 3rd party DLL under >>>> Windows? >>>> >>>> I know there is a very nice but old example on Ken Ray?s page how to >> use >>>> external DLLs in LC, >>>> >>>> But now with LCB i would prefer LCB to do the complete ?wrapping?. >>>> >>>> So would it be possible? And if so, are there any examples available >>>> already? >>>> >>>> Regards, >>>> >>>> Matthias >>>> _______________________________________________ >>>> use-livecode mailing list >>>> use-livecode at 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 at 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 at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode Matthias Rebbe Tel +49 5741 310000 ?https://matthiasrebbe.eu ? From bobsneidar at iotecdigital.com Tue Aug 7 18:12:34 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Tue, 7 Aug 2018 22:12:34 +0000 Subject: valueDiff for arrays? In-Reply-To: References: <11787E6B-6D3B-44B9-BE36-717ED176F769@iotecdigital.com> Message-ID: <38CD79B7-236E-412E-A628-D4B13E628E2B@iotecdigital.com> You can as I understand get the keys of an array, which returns a string, then sort the string. I am unaware of any function that can sort an array natively before it is returned. Bob S > On Aug 7, 2018, at 15:02 , Richard Gaskin via use-livecode wrote: > > Bob Sneidar wrote: > > > Someone said, probably Mark, that numbered key arrays beginning with 1 > > will always return their keys sorted numerically. I always wondered > > why almost every other array seemed to scramble to order of it's keys, > > but datagrid arrays never did. > > Associative arrays are a collection of hashes, and as such have no internal sense of order. > > The DataGrid script runs output through the sort command before returning it. > > -- > Richard Gaskin > Fourth World Systems > Software Design and Development for the Desktop, Mobile, and the Web From bobsneidar at iotecdigital.com Tue Aug 7 18:20:09 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Tue, 7 Aug 2018 22:20:09 +0000 Subject: valueDiff for arrays? In-Reply-To: <38CD79B7-236E-412E-A628-D4B13E628E2B@iotecdigital.com> References: <11787E6B-6D3B-44B9-BE36-717ED176F769@iotecdigital.com> <38CD79B7-236E-412E-A628-D4B13E628E2B@iotecdigital.com> Message-ID: I do stand corrected however, as I got the dgdata of a grid with 6 records, in the order they were added to the sql database, and then queried for. The keys are NOT in numerical order: 5 6 1 2 3 4 I have never wrapped my head around why that is! Bob S > On Aug 7, 2018, at 15:12 , Bob Sneidar via use-livecode wrote: > > You can as I understand get the keys of an array, which returns a string, then sort the string. I am unaware of any function that can sort an array natively before it is returned. > > Bob S > > >> On Aug 7, 2018, at 15:02 , Richard Gaskin via use-livecode wrote: >> >> Bob Sneidar wrote: >> >>> Someone said, probably Mark, that numbered key arrays beginning with 1 >>> will always return their keys sorted numerically. I always wondered >>> why almost every other array seemed to scramble to order of it's keys, >>> but datagrid arrays never did. >> >> Associative arrays are a collection of hashes, and as such have no internal sense of order. >> >> The DataGrid script runs output through the sort command before returning it. >> >> -- >> Richard Gaskin >> Fourth World Systems >> Software Design and Development for the Desktop, Mobile, and the Web > From ambassador at fourthworld.com Tue Aug 7 18:31:09 2018 From: ambassador at fourthworld.com (Richard Gaskin) Date: Tue, 7 Aug 2018 15:31:09 -0700 Subject: valueDiff for arrays? In-Reply-To: <38CD79B7-236E-412E-A628-D4B13E628E2B@iotecdigital.com> References: <38CD79B7-236E-412E-A628-D4B13E628E2B@iotecdigital.com> Message-ID: <395170dd-7dd1-74ae-8f74-a52dace92430@fourthworld.com> Bob Sneidar wrote: > You can as I understand get the keys of an array, which returns a > string, then sort the string. I am unaware of any function that can > sort an array natively before it is returned. The array itself is a collection of pointers, grouped into buckets according to a hash designed for efficient even distribution. Unlike a string, there is no single bytestream to sort. There is no there there. That's also why they can't be transfered to disk or over a network unless they're serialized first with arrayEncode. Queries for the *keys* of an array do return as a string, which is sortable. Associative arrays are tricky but fascinating things. I spent some time with the Wikipedia page on them to get my head at least a bit wrapped around their internal structure and operations: https://en.wikipedia.org/wiki/Associative_array -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ____________________________________________________________________ Ambassador at FourthWorld.com http://www.FourthWorld.com From cubist at aol.com Tue Aug 7 18:35:40 2018 From: cubist at aol.com (Quentin Long) Date: Tue, 7 Aug 2018 18:35:40 -0400 Subject: valueDiff for arrays In-Reply-To: References: Message-ID: <16516880ec2-c88-15167@webjas-vac152.srv.aolmail.net> Suggestion for the language-token for this function: "transplant". transplant [qualification] from [SourceArray] to [TargetArray] [qualification] is a pattern/expression which describes exactly which bits you want to move from SourceArray to TargetArray. If TargetArray doesn't exist, it should be created to hold the stuff from SourceArray. It occurs to me that "transplant" might also be useful as a string-manipulation function: transplant [ChunkType]s where [qualification] from [SourceContainer] to [TargetContainer] Am thinking that the default behavior should be to have the transplanted bits be added to the *end* of TargetContainer. Again, if TargetContainer doesn't exist, it should be created. It might be useful to be able to specify exactly where the transplanted bits get inserted, so maybe: transplant [ChunkType]s where [qualification] from [SourceContainer] to [Location] of [TargetContainer] "Location" could be "start", or "end", at minimum, or possibly an expression that evaluates to a location within TargetContainer. Am unsure how much of a hassle it would be to implement this, so I shall leave it in the capable hands of Mr. Waddingham & Co. "Bewitched" + "Charlie's Angels" - Charlie = "At Arm's Length" Read the webcomic at [?http://www.atarmslength.net?]! If you like "At Arm's Length", support it at [?http://www.patreon.com/DarkwingDude?]. From mark at livecode.com Tue Aug 7 18:45:52 2018 From: mark at livecode.com (Mark Waddingham) Date: Wed, 08 Aug 2018 00:45:52 +0200 Subject: valueDiff for =?UTF-8?Q?arrays=3F?= In-Reply-To: References: <6dc2d28f-14c8-e464-d9c9-b1d55086f97e@sonic.net> <7AC7DB22-368D-4132-9077-0DBF0BED29DD@livecode.com> Message-ID: On 2018-08-07 23:31, Mark Wieder via use-livecode wrote: > On 08/07/2018 02:21 PM, Mark Waddingham via use-livecode wrote: >> However, the engine treats arrays which have all integer (string) keys >> starting at one and are dense (i.e. the number of elements == max(all >> keys)) from ones that aren't. There should have been a 'differently' in there. > Not sure how to interpret that. If I create > > repeat with i=1 to 10 > put i into tArray[i] > end repeat > > to make a 'special' array and then > delete variable tArray[3] > > does that take it out of the 'special' category? Yes - unless the array's first key is 1, and it then has all integer keys up to and including its number of elements then it is not considered a sequence array. i.e. [1], [3], [5] - not a sequence [2], [3], [4] - not a sequence [1], [2], [3] - a sequence The specialness is quite restricted - however such arrays: 1) are ordered when used with 'repeat for each element' *not* repeat for each key: repeat for each element tElement in tSeqArray ... tElement will first be [1], then [2], ... then [n] ... end repeat 2) can be used as a sequence of keys to traverse in [] - e.g. put tArray[tSeqArray] == tArray[tSeqArray[1]]...[tSeqArray[2]] 3) admit a more efficient representation in arrayEncode - they are encoded as 'sequences', so the engine does not emit the keys - instead it just emits a sequence of values [1], [2], ..., [n]... Which saves some space. Warmest Regards, Mark. -- Mark Waddingham ~ mark at livecode.com ~ http://www.livecode.com/ LiveCode: Everyone can create apps From mark at livecode.com Tue Aug 7 18:51:15 2018 From: mark at livecode.com (Mark Waddingham) Date: Wed, 08 Aug 2018 00:51:15 +0200 Subject: valueDiff for =?UTF-8?Q?arrays=3F?= In-Reply-To: References: <11787E6B-6D3B-44B9-BE36-717ED176F769@iotecdigital.com> <38CD79B7-236E-412E-A628-D4B13E628E2B@iotecdigital.com> Message-ID: On 2018-08-08 00:20, Bob Sneidar via use-livecode wrote: > I do stand corrected however, as I got the dgdata of a grid with 6 > records, in the order they were added to the sql database, and then > queried for. The keys are NOT in numerical order: > > 5 > 6 > 1 > 2 > 3 > 4 The keys function does the minimal work necessary to return its result. An array in LiveCode is a sequence of slots, each one which can hold a value (pre-7 they used to be chained hash-tables - but 7+ they changed to linear hash-tables). The hash of the key is used to determine which slot its value goes in - if that slot is full it goes in the next available one. The keys function iterates through the sequence of slots from 1 up to the capacity of the array (which is not the same as the number of elements - there's always head-room in the slot array), accumulating the keys which are present as it goes - any empty slots are skipped. Therefore the ordering of the keys is determined by the numerical order of the hash of the keys themselves which holds scant relationship to the content of the keys - beyond that determined by the hash function - i.e. the hash function is designed to distribute keys arbitrarily, but uniformly across the sequence of slots. Warmest Regards, Mark. -- Mark Waddingham ~ mark at livecode.com ~ http://www.livecode.com/ LiveCode: Everyone can create apps From martyknappster at gmail.com Tue Aug 7 19:39:14 2018 From: martyknappster at gmail.com (Knapp Martin) Date: Tue, 7 Aug 2018 16:39:14 -0700 Subject: Crash log Message-ID: <3F0C1FB4-E9D5-476D-B97C-C57A9E06140D@gmail.com> What is the protocol for sending crash logs to Livecode? Do I just do a bug report or what? Just had a crash while printing in LC Business 9.0.1 Marty From alex at tweedly.net Tue Aug 7 20:47:25 2018 From: alex at tweedly.net (Alex Tweedly) Date: Wed, 8 Aug 2018 01:47:25 +0100 Subject: valueDiff for arrays? In-Reply-To: References: <6dc2d28f-14c8-e464-d9c9-b1d55086f97e@sonic.net> <7AC7DB22-368D-4132-9077-0DBF0BED29DD@livecode.com> Message-ID: <8c97d9e4-7a8f-6347-ef48-7c39cad607d4@tweedly.net> On 07/08/2018 23:45, Mark Waddingham via use-livecode wrote: > On 2018-08-07 23:31, Mark Wieder via use-livecode wrote: >> does that take it out of the 'special' category? > > Yes - unless the array's first key is 1, and it then has all integer > keys up to and including its number of elements? then it is not > considered a sequence array. Is there an easy way to test whether an array is (currently) a sequence array ? something easier than ??? put the extents of tArray into tmp ??? if item 1 of tmp = 1 AND item 2 of tmp = the number of elements in tArray then ?????? -- sequence !? ??? else ?????? -- arbitrary array ???? end if - Alex. From dick.kriesel at mail.com Tue Aug 7 22:57:55 2018 From: dick.kriesel at mail.com (Dick Kriesel) Date: Tue, 7 Aug 2018 19:57:55 -0700 Subject: valueDiff for arrays? In-Reply-To: <8c97d9e4-7a8f-6347-ef48-7c39cad607d4@tweedly.net> References: <6dc2d28f-14c8-e464-d9c9-b1d55086f97e@sonic.net> <7AC7DB22-368D-4132-9077-0DBF0BED29DD@livecode.com> <8c97d9e4-7a8f-6347-ef48-7c39cad607d4@tweedly.net> Message-ID: On Aug 7, 2018, at 5:47 PM, Alex Tweedly via use-livecode wrote: > > Is there an easy way to test whether an array is (currently) a sequence array ? > > something easier than > put the extents of tArray into tmp > if item 1 of tmp = 1 AND item 2 of tmp = the number of elements in tArray then slightly easier, at least: function isSequence p return the extents of p is 1, number of elements in p end isSequence ? Dick From ahsoftware at sonic.net Tue Aug 7 23:35:10 2018 From: ahsoftware at sonic.net (Mark Wieder) Date: Tue, 7 Aug 2018 20:35:10 -0700 Subject: valueDiff for arrays? In-Reply-To: References: <6dc2d28f-14c8-e464-d9c9-b1d55086f97e@sonic.net> <7AC7DB22-368D-4132-9077-0DBF0BED29DD@livecode.com> <8c97d9e4-7a8f-6347-ef48-7c39cad607d4@tweedly.net> Message-ID: On 08/07/2018 07:57 PM, Dick Kriesel via use-livecode wrote: > On Aug 7, 2018, at 5:47 PM, Alex Tweedly via use-livecode wrote: >> >> Is there an easy way to test whether an array is (currently) a sequence array ? >> >> something easier than >> put the extents of tArray into tmp >> if item 1 of tmp = 1 AND item 2 of tmp = the number of elements in tArray then > > slightly easier, at least: > function isSequence p > > return the extents of p is 1, number of elements in p > > end isSequence If I'm understanding things right there's more to it: The keys all have to be integers and (I think) only those integers from 1 to (the number of keys). -- Mark Wieder ahsoftware at gmail.com From brian at milby7.com Tue Aug 7 23:54:16 2018 From: brian at milby7.com (Brian Milby) Date: Tue, 7 Aug 2018 22:54:16 -0500 Subject: LCB Performance Message-ID: This is a continuation of some code introduced in the "valueDiff" thread, but wanted to take it in a slightly different direction. We had some great success at getting a process that took over 50 seconds on my machine down to under 10 seconds. It isn't anything that we would actually use in production, but I'm sure things like this can help us in the real world. I decided to try and port the fastest of the methods over to LCB. I'm sure quite a bit of it is due to my lack of experience, but the speeds were much slower. I ended up putting some hard coded limits in my stack so that LCB wasn't used over 100,000 for the List and Array version and 1,000,000 for the Byte version. What I found was that for arrays, the requirement to convert the number to a string killed the performance (my guess anyway). Here is a full list of the various versions that I've tried: "Find primes up to 100000, repeat 1 time(s)" "Byte (bernd)" - 0.065108 seconds "Byte (bwm)" - 0.103379 seconds "Byte (alex)" - 0.122581 seconds "Array (mark)" - 0.323269 seconds "Array (bwm)" - 0.345896 seconds "Array (original)" - 0.386326 seconds "Byte (LCB)" - 1.125969 seconds "List (LCB)" - 136.770451 seconds "Array (LCB)" - 845.35211 seconds I've updated the stack that I uploaded with the new tests (but one would need to compile/install the LCB for the last 3 tests) https://milby.us/lc/Primes.livecode Here's one of the handlers that I converted: public handler getPrimesLCB_List(in pN as Number) returns String variable tMroot as Number variable tPrimes as String variable tIsItPrime as List variable tTenK as List variable tYes as Data variable tNo as Data variable tI as Number variable tJ as Number put the byte with code 66 into tYes put the byte with code 65 into tNo if pN < 2 then return the empty string else if pN = 2 then return "2" end if put (the trunc of sqrt(pN)) - 1 into tMroot put the empty list into tIsItPrime if pN >= 10000 then put the empty list into tTenK repeat 10000 times push tYes onto tTenK end repeat repeat (pN / 10000) times put tTenK & tIsItPrime into tIsItPrime end repeat end if repeat pN mod 10000 times push tYes onto tIsItPrime end repeat put "2" into tPrimes repeat with tI from 3 up to tMroot by 2 if tIsItPrime[tI] is tNo then next repeat end if put "\n" & tI formatted as string after tPrimes repeat with tJ from tI^2 up to pN by tI put tNo into tIsItPrime[tJ] end repeat end repeat repeat with tI from tMroot + (tMroot + 1) mod 2 up to pN - 1 by 2 if tIsItPrime[tI] is tYes then put "\n" & tI formatted as string after tPrimes end if end repeat return tPrimes end handler Is there any way to optimize the speed of LCB to meet/exceed the same code in LCS or is the intention more for things where the speed isn't the main factor (like UI widgets and interacting with external code via FFI)? Thanks, Brian From jerry at jhjensen.com Wed Aug 8 00:29:22 2018 From: jerry at jhjensen.com (Jerry Jensen) Date: Tue, 7 Aug 2018 21:29:22 -0700 Subject: valueDiff for arrays? In-Reply-To: References: <6dc2d28f-14c8-e464-d9c9-b1d55086f97e@sonic.net> <7AC7DB22-368D-4132-9077-0DBF0BED29DD@livecode.com> <8c97d9e4-7a8f-6347-ef48-7c39cad607d4@tweedly.net> Message-ID: <8A7B52A4-27E1-4A0C-AB3A-9F4C266D6C85@jhjensen.com> > On Aug 7, 2018, at 8:35 PM, Mark Wieder via use-livecode wrote: > > On 08/07/2018 07:57 PM, Dick Kriesel via use-livecode wrote: >> On Aug 7, 2018, at 5:47 PM, Alex Tweedly via use-livecode wrote: >>> >>> Is there an easy way to test whether an array is (currently) a sequence array ? >>> >>> something easier than >>> put the extents of tArray into tmp >>> if item 1 of tmp = 1 AND item 2 of tmp = the number of elements in tArray then >> slightly easier, at least: >> function isSequence p >> return the extents of p is 1, number of elements in p >> end isSequence > > If I'm understanding things right there's more to it: > The keys all have to be integers and (I think) only those integers from 1 to (the number of keys). That was my understanding as well. .Jerry From dick.kriesel at mail.com Wed Aug 8 01:11:25 2018 From: dick.kriesel at mail.com (Dick Kriesel) Date: Tue, 7 Aug 2018 22:11:25 -0700 Subject: valueDiff for arrays? In-Reply-To: <8A7B52A4-27E1-4A0C-AB3A-9F4C266D6C85@jhjensen.com> References: <6dc2d28f-14c8-e464-d9c9-b1d55086f97e@sonic.net> <7AC7DB22-368D-4132-9077-0DBF0BED29DD@livecode.com> <8c97d9e4-7a8f-6347-ef48-7c39cad607d4@tweedly.net> <8A7B52A4-27E1-4A0C-AB3A-9F4C266D6C85@jhjensen.com> Message-ID: > On Aug 7, 2018, at 9:29 PM, Jerry Jensen via use-livecode wrote: > >> On Aug 7, 2018, at 8:35 PM, Mark Wieder via use-livecode wrote: >> >> On 08/07/2018 07:57 PM, Dick Kriesel via use-livecode wrote: >>> On Aug 7, 2018, at 5:47 PM, Alex Tweedly via use-livecode wrote: >>>> >>>> Is there an easy way to test whether an array is (currently) a sequence array ? >>>> >>>> something easier than >>>> put the extents of tArray into tmp >>>> if item 1 of tmp = 1 AND item 2 of tmp = the number of elements in tArray then >>> slightly easier, at least: >>> function isSequence p >>> return the extents of p is 1, number of elements in p >>> end isSequence >> >> If I'm understanding things right there's more to it: >> The keys all have to be integers and (I think) only those integers from 1 to (the number of keys). > > That was my understanding as well. > .Jerry "the extents" implements those rules, so "isSequence" doesn?t need to. Or is there evidence "isSequence" fails? ? Dick From monte at appisle.net Wed Aug 8 05:31:47 2018 From: monte at appisle.net (Monte Goulding) Date: Wed, 8 Aug 2018 19:31:47 +1000 Subject: Crash log In-Reply-To: <3F0C1FB4-E9D5-476D-B97C-C57A9E06140D@gmail.com> References: <3F0C1FB4-E9D5-476D-B97C-C57A9E06140D@gmail.com> Message-ID: <34E04599-9B26-4703-A7B4-BAFFA0558889@appisle.net> > On 8 Aug 2018, at 9:39 am, Knapp Martin via use-livecode wrote: > > What is the protocol for sending crash logs to Livecode? Do I just do a bug report or what? Just had a crash while printing in LC Business 9.0.1 Yes just file a report with what you were doing and the crash log. @Panos can symbolicate the log so we can get a good idea what was happening when the crash occurred. Cheers Monte From monte at appisle.net Wed Aug 8 05:52:42 2018 From: monte at appisle.net (Monte Goulding) Date: Wed, 8 Aug 2018 19:52:42 +1000 Subject: valueDiff for arrays In-Reply-To: <16516880ec2-c88-15167@webjas-vac152.srv.aolmail.net> References: <16516880ec2-c88-15167@webjas-vac152.srv.aolmail.net> Message-ID: So the difference between transplant and filter is that transplant mutates both source and target by taking from source and adding to target while filter copies from source to target? Oh and that transplant would mutate an existing target rather than clobbering any existing value. Hate the name but interesting idea. Personally I?ve been thinking about something like map reduce: map of [as ] [grouping by ] [where ] into So if you had a list: foo,1,2,3 bar,4,5,6 baz,7,8,9 map lines of tList as sum(item 2 to -1 of each) \ grouping by item 1 of each \ where item 1 of each begins with ?b? into tArray Would create the array: ?bar? -> 10, ?baz? -> 24 > On 8 Aug 2018, at 8:35 am, Quentin Long via use-livecode wrote: > > Suggestion for the language-token for this function: "transplant". > > transplant [qualification] from [SourceArray] to [TargetArray] > > [qualification] is a pattern/expression which describes exactly which bits you want to move from SourceArray to TargetArray. > > If TargetArray doesn't exist, it should be created to hold the stuff from SourceArray. > > It occurs to me that "transplant" might also be useful as a string-manipulation function: > > transplant [ChunkType]s where [qualification] from [SourceContainer] to [TargetContainer] > > Am thinking that the default behavior should be to have the transplanted bits be added to the *end* of TargetContainer. Again, if TargetContainer doesn't exist, it should be created. It might be useful to be able to specify exactly where the transplanted bits get inserted, so maybe: > > transplant [ChunkType]s where [qualification] from [SourceContainer] to [Location] of [TargetContainer] > > "Location" could be "start", or "end", at minimum, or possibly an expression that evaluates to a location within TargetContainer. > > Am unsure how much of a hassle it would be to implement this, so I shall leave it in the capable hands of Mr. Waddingham & Co. > > > > "Bewitched" + "Charlie's Angels" - Charlie = "At Arm's Length" > Read the webcomic at [ http://www.atarmslength.net ]! > If you like "At Arm's Length", support it at [ http://www.patreon.com/DarkwingDude ]. > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From monte at appisle.net Wed Aug 8 05:55:19 2018 From: monte at appisle.net (Monte Goulding) Date: Wed, 8 Aug 2018 19:55:19 +1000 Subject: valueDiff for arrays In-Reply-To: References: <16516880ec2-c88-15167@webjas-vac152.srv.aolmail.net> Message-ID: <37ADF31A-774F-41C7-8A74-677E6A5FA2C1@appisle.net> > On 8 Aug 2018, at 7:52 pm, Monte Goulding via use-livecode wrote: > > map lines of tList as sum(item 2 to -1 of each) \ > grouping by item 1 of each \ > where item 1 of each begins with ?b? into tArray > > Would create the array: > > ?bar? -> 10, ?baz? -> 24 Typo ^ sorry that?s meant to be ?bar? -> 15 From mark at livecode.com Wed Aug 8 07:18:12 2018 From: mark at livecode.com (Mark Waddingham) Date: Wed, 8 Aug 2018 06:18:12 -0500 Subject: valueDiff for arrays? In-Reply-To: References: <6dc2d28f-14c8-e464-d9c9-b1d55086f97e@sonic.net> <7AC7DB22-368D-4132-9077-0DBF0BED29DD@livecode.com> <8c97d9e4-7a8f-6347-ef48-7c39cad607d4@tweedly.net> <8A7B52A4-27E1-4A0C-AB3A-9F4C266D6C85@jhjensen.com> Message-ID: <6FF17622-46A2-4ABB-A469-55795B051D84@livecode.com> I think you are right - I will double check. There is actually an internal function (in C) - two in fact - IsSequence and IsNumericSequence which we should plumb into 'is a' to make this clearer. They basically use the extents internal impl (well an optimized form in one case). Warmest Regards, Mark. Sent from my iPhone > On 8 Aug 2018, at 00:11, Dick Kriesel via use-livecode wrote: > > >>> On Aug 7, 2018, at 9:29 PM, Jerry Jensen via use-livecode wrote: >>> >>> On Aug 7, 2018, at 8:35 PM, Mark Wieder via use-livecode wrote: >>> >>> On 08/07/2018 07:57 PM, Dick Kriesel via use-livecode wrote: >>>>> On Aug 7, 2018, at 5:47 PM, Alex Tweedly via use-livecode wrote: >>>>> >>>>> Is there an easy way to test whether an array is (currently) a sequence array ? >>>>> >>>>> something easier than >>>>> put the extents of tArray into tmp >>>>> if item 1 of tmp = 1 AND item 2 of tmp = the number of elements in tArray then >>>> slightly easier, at least: >>>> function isSequence p >>>> return the extents of p is 1, number of elements in p >>>> end isSequence >>> >>> If I'm understanding things right there's more to it: >>> The keys all have to be integers and (I think) only those integers from 1 to (the number of keys). >> >> That was my understanding as well. >> .Jerry > > "the extents" implements those rules, so "isSequence" doesn?t need to. > > Or is there evidence "isSequence" fails? > > ? Dick > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From mark at livecode.com Wed Aug 8 07:28:56 2018 From: mark at livecode.com (Mark Waddingham) Date: Wed, 8 Aug 2018 06:28:56 -0500 Subject: LCB Performance In-Reply-To: References: Message-ID: You might be better off building the primes as a List, then converting to a string at the end. Although the conversion of each number is only done once so it probably doesn't make too much difference (apart from being a bit more LCBy). In general LCB should be written to prefer structure over strings - it better represents the flow of individual values - which makes any future optimisations at the vm level more effective. LCB should really be considered the language to use for widgets and foreign extensions - for much algorithmic stuff you'll get better performance from LCS. To be fast LCB needs an optimisation phase which would lower the level of operations it performs - the internal structure of LCB makes this feasible but as yet not done. In contrast LCS is pretty quick - it also needs an optimisation phase really - but with its current implementation that's largely infeasible! (The optimisation phase would actually be the same - the problem is that both need to be translated to a slightly lower level common bytecode form first - then optimised). Warmest Regards, Mark. Sent from my iPhone > On 7 Aug 2018, at 22:54, Brian Milby via use-livecode wrote: > > This is a continuation of some code introduced in the "valueDiff" thread, > but wanted to take it in a slightly different direction. We had some great > success at getting a process that took over 50 seconds on my machine down > to under 10 seconds. It isn't anything that we would actually use in > production, but I'm sure things like this can help us in the real world. > > I decided to try and port the fastest of the methods over to LCB. I'm sure > quite a bit of it is due to my lack of experience, but the speeds were much > slower. I ended up putting some hard coded limits in my stack so that LCB > wasn't used over 100,000 for the List and Array version and 1,000,000 for > the Byte version. > > What I found was that for arrays, the requirement to convert the number to > a string killed the performance (my guess anyway). Here is a full list of > the various versions that I've tried: > > "Find primes up to 100000, repeat 1 time(s)" > "Byte (bernd)" - 0.065108 seconds > "Byte (bwm)" - 0.103379 seconds > "Byte (alex)" - 0.122581 seconds > "Array (mark)" - 0.323269 seconds > "Array (bwm)" - 0.345896 seconds > "Array (original)" - 0.386326 seconds > "Byte (LCB)" - 1.125969 seconds > "List (LCB)" - 136.770451 seconds > "Array (LCB)" - 845.35211 seconds > > I've updated the stack that I uploaded with the new tests (but one would > need to compile/install the LCB for the last 3 tests) > https://milby.us/lc/Primes.livecode > > Here's one of the handlers that I converted: > > public handler getPrimesLCB_List(in pN as Number) returns String > variable tMroot as Number > variable tPrimes as String > variable tIsItPrime as List > variable tTenK as List > variable tYes as Data > variable tNo as Data > variable tI as Number > variable tJ as Number > put the byte with code 66 into tYes > put the byte with code 65 into tNo > if pN < 2 then > return the empty string > else if pN = 2 then > return "2" > end if > put (the trunc of sqrt(pN)) - 1 into tMroot > put the empty list into tIsItPrime > if pN >= 10000 then > put the empty list into tTenK > repeat 10000 times > push tYes onto tTenK > end repeat > repeat (pN / 10000) times > put tTenK & tIsItPrime into tIsItPrime > end repeat > end if > repeat pN mod 10000 times > push tYes onto tIsItPrime > end repeat > put "2" into tPrimes > repeat with tI from 3 up to tMroot by 2 > if tIsItPrime[tI] is tNo then > next repeat > end if > put "\n" & tI formatted as string after tPrimes > repeat with tJ from tI^2 up to pN by tI > put tNo into tIsItPrime[tJ] > end repeat > end repeat > repeat with tI from tMroot + (tMroot + 1) mod 2 up to pN - 1 by 2 > if tIsItPrime[tI] is tYes then > put "\n" & tI formatted as string after tPrimes > end if > end repeat > return tPrimes > end handler > > > Is there any way to optimize the speed of LCB to meet/exceed the same code > in LCS or is the intention more for things where the speed isn't the main > factor (like UI widgets and interacting with external code via FFI)? > > Thanks, > Brian > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From mark at livecode.com Wed Aug 8 07:37:12 2018 From: mark at livecode.com (Mark Waddingham) Date: Wed, 8 Aug 2018 06:37:12 -0500 Subject: valueDiff for arrays In-Reply-To: <16516880ec2-c88-15167@webjas-vac152.srv.aolmail.net> References: <16516880ec2-c88-15167@webjas-vac152.srv.aolmail.net> Message-ID: I'd suggest transplant is actually move - an idea which has been taken to the level of obsession in modern c++ and new languages like Rust (which I want to like - but it's highly technical demands just leave a bitter taste in my mouth - impressive, yes; the right approach - definitely not, IMHO anyway!). For LCS 'move' would allow to elide a put and delete. However there are few cases I can think of (if any!) where it is required save for the fact it would make certain things potentially more performant in the absence of even a relatively simple data-flow based optimisation phase. Also I'm not sure it could be implemented in the current LCS mechanism to actually give that performance so it would essentially be a bit of syntactic sugar for 'put' then 'delete'. Perhaps reasonable from the point of view of clear expression of intent though! Warmest Regards, Mark. Sent from my iPhone > On 7 Aug 2018, at 17:35, Quentin Long via use-livecode wrote: > > Suggestion for the language-token for this function: "transplant". > > transplant [qualification] from [SourceArray] to [TargetArray] > > [qualification] is a pattern/expression which describes exactly which bits you want to move from SourceArray to TargetArray. > > If TargetArray doesn't exist, it should be created to hold the stuff from SourceArray. > > It occurs to me that "transplant" might also be useful as a string-manipulation function: > > transplant [ChunkType]s where [qualification] from [SourceContainer] to [TargetContainer] > > Am thinking that the default behavior should be to have the transplanted bits be added to the *end* of TargetContainer. Again, if TargetContainer doesn't exist, it should be created. It might be useful to be able to specify exactly where the transplanted bits get inserted, so maybe: > > transplant [ChunkType]s where [qualification] from [SourceContainer] to [Location] of [TargetContainer] > > "Location" could be "start", or "end", at minimum, or possibly an expression that evaluates to a location within TargetContainer. > > Am unsure how much of a hassle it would be to implement this, so I shall leave it in the capable hands of Mr. Waddingham & Co. > > > > "Bewitched" + "Charlie's Angels" - Charlie = "At Arm's Length" > Read the webcomic at [ http://www.atarmslength.net ]! > If you like "At Arm's Length", support it at [ http://www.patreon.com/DarkwingDude ]. > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From paul at researchware.com Wed Aug 8 09:18:51 2018 From: paul at researchware.com (Paul Dupuis) Date: Wed, 8 Aug 2018 09:18:51 -0400 Subject: Option Menus (and missing features) Message-ID: There have been a few email list threads recently about some long standing bugs/enhancements that it would be nice, in Post-Infinite-LiveCode world, to finally get fixed in a forth coming version of LC. I'd like to nominate to move to the top part of any list, support for menu meta characters (for divider lines, disabled items, check marks, menu tags, key equivalents, etc.) support in "menus" other than pulldown menus. For me, I have a burning desire to see the ability to have dividers "-" in *Option Menus* A search of the Quality Center revealed these related bugs (and I am sure I missed some) https://quality.livecode.com/show_bug.cgi?id=5478 (2007-10-23) https://quality.livecode.com/show_bug.cgi?id=9271 (2010-12-29) https://quality.livecode.com/show_bug.cgi?id=9509 (2011-04-18) https://quality.livecode.com/show_bug.cgi?id=9871 (2011-11-14) https://quality.livecode.com/show_bug.cgi?id=17611 (2016-05-10) All are in one way or another about supporting various pulldown menu meta character features on Option Menus (and other menu types like PopUps, etc.) Any chance LiveCode might consider consolidating these and makes these improvements in a 9.x release in the not to distant future? From paul at researchware.com Wed Aug 8 10:53:00 2018 From: paul at researchware.com (Paul Dupuis) Date: Wed, 8 Aug 2018 10:53:00 -0400 Subject: Array converted to text in IDE... Message-ID: In LC9 (and probably earlier) , has anyone else been looking at custom properties of an object in the IDE and accidentally converted an Array to text without any warning or even realizing it had happened until their application stopped working correctly? I searched the Quality Center to see if there was any enhancement request to either: A) Allow proper editing of array data in the property inspector - if an array can be viewed and edited in the runtime debugger, why not the property inspector? OR B) Present some warning that says "You are about to convert this array to text. Are you sure?" Obviously A is the preferred choice. From brian at milby7.com Wed Aug 8 11:06:17 2018 From: brian at milby7.com (Brian Milby) Date: Wed, 8 Aug 2018 10:06:17 -0500 Subject: Array converted to text in IDE... In-Reply-To: References: Message-ID: Do you have an example of the problem? The PI uses the tree view widget and should handle arrays. The one possible issue would be if the key had a comma which could cause issues (don?t think the PI has changed to support that but I do know an update to the widget is done - pathDelimiter) Thanks, Brian On Aug 8, 2018, 9:54 AM -0500, Paul Dupuis via use-livecode , wrote: > In LC9 (and probably earlier) , has anyone else been looking at custom > properties of an object in the IDE and accidentally converted an Array > to text without any warning or even realizing it had happened until > their application stopped working correctly? > > I searched the Quality Center to see if there was any enhancement > request to either: > > A) Allow proper editing of array data in the property inspector - if an > array can be viewed and edited in the runtime debugger, why not the > property inspector? > > OR > > B) Present some warning that says "You are about to convert this array > to text. Are you sure?" > > Obviously A is the preferred choice. > > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From paul at researchware.com Wed Aug 8 11:15:54 2018 From: paul at researchware.com (Paul Dupuis) Date: Wed, 8 Aug 2018 11:15:54 -0400 Subject: Array converted to text in IDE... [User Error!] In-Reply-To: References: Message-ID: <23dd9e5f-3b4a-004d-cffb-8f946ff928af@researchware.com> Never Mind. Dumb user error! From ahsoftware at sonic.net Wed Aug 8 13:19:34 2018 From: ahsoftware at sonic.net (Mark Wieder) Date: Wed, 8 Aug 2018 10:19:34 -0700 Subject: valueDiff for arrays? In-Reply-To: <6FF17622-46A2-4ABB-A469-55795B051D84@livecode.com> References: <6dc2d28f-14c8-e464-d9c9-b1d55086f97e@sonic.net> <7AC7DB22-368D-4132-9077-0DBF0BED29DD@livecode.com> <8c97d9e4-7a8f-6347-ef48-7c39cad607d4@tweedly.net> <8A7B52A4-27E1-4A0C-AB3A-9F4C266D6C85@jhjensen.com> <6FF17622-46A2-4ABB-A469-55795B051D84@livecode.com> Message-ID: <66ec78cd-63af-37fe-2383-77d76575f3a4@sonic.net> On 08/08/2018 04:18 AM, Mark Waddingham via use-livecode wrote: >> "the extents" implements those rules, so "isSequence" doesn?t need to. >> >> Or is there evidence "isSequence" fails? on test local i repeat with i=1 to 10 put "true" into sArray[i] end repeat put "false" into sArray[pi] delete variable sArray[4] put the extents of sArray && the number of elements of sArray & cr after msg end test -- Mark Wieder ahsoftware at gmail.com From mark at livecode.com Wed Aug 8 13:54:25 2018 From: mark at livecode.com (Mark Waddingham) Date: Wed, 8 Aug 2018 12:54:25 -0500 Subject: valueDiff for arrays? In-Reply-To: <66ec78cd-63af-37fe-2383-77d76575f3a4@sonic.net> References: <6dc2d28f-14c8-e464-d9c9-b1d55086f97e@sonic.net> <7AC7DB22-368D-4132-9077-0DBF0BED29DD@livecode.com> <8c97d9e4-7a8f-6347-ef48-7c39cad607d4@tweedly.net> <8A7B52A4-27E1-4A0C-AB3A-9F4C266D6C85@jhjensen.com> <6FF17622-46A2-4ABB-A469-55795B051D84@livecode.com> <66ec78cd-63af-37fe-2383-77d76575f3a4@sonic.net> Message-ID: <698FC66E-A1F1-4E90-BF5D-389E63CD0FB6@livecode.com> Yup - but isSequence would be correct - false. The extents might be 1,10 But isSequence would check whether it was 1,9 ... Mark. Sent from my iPhone > On 8 Aug 2018, at 12:19, Mark Wieder via use-livecode wrote: > > On 08/08/2018 04:18 AM, Mark Waddingham via use-livecode wrote: > >>> "the extents" implements those rules, so "isSequence but " doesn?t need to. >>> >>> Or is there evidence "isSequence" fails? > > on test > local i > > repeat with i=1 to 10 > put "true" into sArray[i] > end repeat > put "false" into sArray[pi] > delete variable sArray[4] > put the extents of sArray && the number of elements of sArray & cr after msg > end test > > -- > Mark Wieder > ahsoftware at gmail.com > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From ambassador at fourthworld.com Wed Aug 8 14:32:33 2018 From: ambassador at fourthworld.com (Richard Gaskin) Date: Wed, 8 Aug 2018 11:32:33 -0700 Subject: Option Menus (and missing features) In-Reply-To: References: Message-ID: <153f2a12-b892-2c46-2892-880b426fa48c@fourthworld.com> Good list, Paul. Option controls are a fundamental control type common to all desktop OSes. I believe it helps current developers impress their audience and LC to impress potential new customers to make sure fundamentals work as expected. I would add to that list the things users commonly expect from option controls in terms of keyboard navigability: https://quality.livecode.com/show_bug.cgi?id=8636 https://quality.livecode.com/show_bug.cgi?id=5512 https://quality.livecode.com/show_bug.cgi?id=13068 https://quality.livecode.com/show_bug.cgi?id=5513 I've been dinged for these by clients, customers, and reviewers. When I tell clients it's a LiveCode issue that has been reported (I don't draw attention to some of these having been reported more than a decade ago), they suggest using something that handles common controls better. At least one of the projects on which I delivered substandard option controls was later rewritten in VB. I understand and appreciate the challenges involved in anything dependent on mapping multiple OS APIs for event handling to the luxuriously comfortable world of LC we enjoy. But I trust the core team appreciates the value of having common controls meet common expectations. For the sake of completeness, here's a minor aesthetic issue apparently limited to Linux: https://quality.livecode.com/show_bug.cgi?id=11676 PS: About the only item in your list I'm ambivalent about is the importance of having disabled items in option controls. While anything that makes our work as xplat devs easier is of course welcome, only macOS recommends doing that at all. The other 89% of the world is using OSes that explicitly suggest in their HIGs to simply remove items from option controls that are not relevant in a given context, and those OSes provide no support for rendering disabled items in those controls. So while it would make LC dev's lives easier, the rest of the world has managed to deliver excellent software without them. -- Richard Gaskin Fourth World Systems Paul Dupuis wrote: > There have been a few email list threads recently about some long > standing bugs/enhancements that it would be nice, in > Post-Infinite-LiveCode world, to finally get fixed in a forth coming > version of LC. > > I'd like to nominate to move to the top part of any list, support for > menu meta characters (for divider lines, disabled items, check marks, > menu tags, key equivalents, etc.) support in "menus" other than pulldown > menus. For me, I have a burning desire to see the ability to have > dividers "-" in *Option Menus* > > A search of the Quality Center revealed these related bugs (and I am > sure I missed some) > https://quality.livecode.com/show_bug.cgi?id=5478 (2007-10-23) > https://quality.livecode.com/show_bug.cgi?id=9271 (2010-12-29) > https://quality.livecode.com/show_bug.cgi?id=9509 (2011-04-18) > https://quality.livecode.com/show_bug.cgi?id=9871 (2011-11-14) > https://quality.livecode.com/show_bug.cgi?id=17611 (2016-05-10) > > All are in one way or another about supporting various pulldown menu > meta character features on Option Menus (and other menu types like > PopUps, etc.) > > Any chance LiveCode might consider consolidating these and makes these > improvements in a 9.x release in the not to distant future? From mark at livecode.com Wed Aug 8 15:17:17 2018 From: mark at livecode.com (Mark Waddingham) Date: Wed, 08 Aug 2018 21:17:17 +0200 Subject: LC Builder and 3rd Part DLLs under Windows In-Reply-To: <184ED027-2873-416E-9051-BB1648AA1F19@m-r-d.de> References: <6A335EA4-7BF5-429F-A0B1-577C8A86E6FE@m-r-d.de> <184ED027-2873-416E-9051-BB1648AA1F19@m-r-d.de> Message-ID: <6ffab9b336a713f3b7a9aa17cf9c6151@livecode.com> On 2018-08-08 00:11, Matthias Rebbe via use-livecode wrote: > Trevor, > > thank you so much for your example and for verifying that LCB can > execute handlers in the dll. > > ?Good luck? is well said, i need more than good luck. ;) You might also find this thread in the forums useful with your efforts: http://forums.livecode.com/viewtopic.php?f=93&t=30429 Its about wrapping a Windows DLL which accesses a I/O device of some sort - the API is simple, yet covers a number of things you often have to deal with when interconnecting with C APIs on Windows (and C APIs in general). Warmest Regards, P.S. Trevor has made significant progress with his mac status bar widget - however we still haven't figured out exactly why references to the icon don't stick - thus causing it to never appear. Hopefully we will do soon! -- Mark Waddingham ~ mark at livecode.com ~ http://www.livecode.com/ LiveCode: Everyone can create apps From dougr at telus.net Wed Aug 8 16:15:38 2018 From: dougr at telus.net (Douglas Ruisaard) Date: Wed, 8 Aug 2018 13:15:38 -0700 Subject: find Regular Expression function in LC editor and/or IDE Message-ID: <009701d42f54$94aed0b0$be0c7210$@net> using LC Business v8.1.9 on Windows 7 Pro and/or LC Business v9.0 on Mac 10.12.6 in the Message Box, put: put " put x into y" into x; put matchText(x,"^\s(put)?((?!into).)*$") produces "false" in the Message Box, put: put " put x" into x; put matchText(x,"^\s(put)?((?!into).)*$") produces "true" BOTH results are correct. Now try to use that same pattern match (without the quotes) within the FIND => "More" of the Script Editor (with the script of a scripted object being viewed as the current tab) with the "Find options" set to "Regular Expression" and "Look in" set to "Current Tab" produces "Total results found: 0" when, I would have anticipated, it should have found ALL lines WITH "put" but WTHOUT the phrase "into" (assuming there are some)... you can remove the "put" component of the RegEx and it still won't find anything. Same result when using the FIND utility of the IDE, after checking the "Reg Expression", selecting an object with some script (using the Project Browser), setting the "In" to "The current selection" produces "0 objects found I am trying to use either FIND utility to display the script lines which simply "put" stuff to the Message Box (i.e. lines with no "put {...} into {...}" (or "after" or "before"... but starting with "into")) which I use extensively in debugging scripts. Wrong RegEx? Bug? Yes, I could write a script to read all scripts and then use "matchText" (as above).. but why won't the FIND utilities do this for me? Also of note... using RegEx in the Script Editor FIND => More... can EASILY lock up LC ... e.g. enter: ^\s?((?into).)* into "Find what:" (which "matchText" returns as "true" for any string) This locks up LC when used in the Script Editor's FIND function .. and be ready to have to kill the "livecode" process... at least under Windows 7. Douglas Ruisaard Trilogy Software (250) 573-3935 From matthias_livecode_150811 at m-r-d.de Wed Aug 8 16:50:31 2018 From: matthias_livecode_150811 at m-r-d.de (Matthias Rebbe) Date: Wed, 8 Aug 2018 22:50:31 +0200 Subject: LC Builder and 3rd Part DLLs under Windows In-Reply-To: <6ffab9b336a713f3b7a9aa17cf9c6151@livecode.com> References: <6A335EA4-7BF5-429F-A0B1-577C8A86E6FE@m-r-d.de> <184ED027-2873-416E-9051-BB1648AA1F19@m-r-d.de> <6ffab9b336a713f3b7a9aa17cf9c6151@livecode.com> Message-ID: <6E8D5499-FD04-408F-BF5B-8018498D5E28@m-r-d.de> > Am 08.08.2018 um 21:17 schrieb Mark Waddingham via use-livecode : > > > You might also find this thread in the forums useful with your efforts: > > http://forums.livecode.com/viewtopic.php?f=93&t=30429 > > Its about wrapping a Windows DLL which accesses a I/O device of some sort - the API is simple, yet covers a number of things you often have to deal with when interconnecting with C APIs on Windows (and C APIs in general). > Thanks for pointing me to that. > P.S. Trevor has made significant progress with his mac status bar widget - however we still haven't figured out exactly why references to the icon don't stick - thus causing it to never appear. Hopefully we will do soon! > Thanks for the update. Now i do not have to ask at the next LC Global. ;) Regards, Matthias From martyknappster at gmail.com Wed Aug 8 17:00:14 2018 From: martyknappster at gmail.com (Knapp Martin) Date: Wed, 8 Aug 2018 14:00:14 -0700 Subject: Drag Drop State of Affairs In-Reply-To: <9EEAEA2C-386C-438C-BD1E-B83F86A52B57@iotecdigital.com> References: <2A2E7C1B-B38C-4D54-BF2A-132A665BBFA3@iotecdigital.com> <0bc1784f-1286-297c-0c3e-b01f191f224f@hyperactivesw.com> <067630F2-A50D-41E3-B0D5-8EDDF6E61E4F@iotecdigital.com> <25F22EEA-07B4-4BE0-8A84-C00BCEB355F2@iotecdigital.com> <733C3AB4-4735-4307-B2FE-774D5A3B519F@gmail.com> <9EEAEA2C-386C-438C-BD1E-B83F86A52B57@iotecdigital.com> Message-ID: I filed a bug report #21474 --- Marty > On Aug 7, 2018, at 2:47 PM, Bob Sneidar via use-livecode wrote: > > No, and the topStack is the same before and after, which is the stack I am drag/dropping onto. Curiously, I cannot think of a time when the first drag/drop operation failed. It seems it's always on some subsequent drag/drop operation to the same object, which is why I suspect some state that ought to be clearing after the drop isn't. However, I cannot reproduce it every time. It only happens every 3 or 4 times if I do the same operation over and over again. Once it DOES happen though, it seems like I can get it to happen every time, unless as I said I wait a while, then it clears for a bit. > > Odd, huh? > > Bob S > > >> On Aug 7, 2018, at 13:46 , Knapp Martin via use-livecode wrote: >> >> Have you found a work around for this Bob? Or filed a bug report? For me the problem exists whether in the IDE or a standalone. >> >> Marty > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From bobsneidar at iotecdigital.com Wed Aug 8 17:11:32 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Wed, 8 Aug 2018 21:11:32 +0000 Subject: Drag Drop State of Affairs In-Reply-To: References: <2A2E7C1B-B38C-4D54-BF2A-132A665BBFA3@iotecdigital.com> <0bc1784f-1286-297c-0c3e-b01f191f224f@hyperactivesw.com> <067630F2-A50D-41E3-B0D5-8EDDF6E61E4F@iotecdigital.com> <25F22EEA-07B4-4BE0-8A84-C00BCEB355F2@iotecdigital.com> <733C3AB4-4735-4307-B2FE-774D5A3B519F@gmail.com> <9EEAEA2C-386C-438C-BD1E-B83F86A52B57@iotecdigital.com> Message-ID: Thanks Marty. I didn't because I cannot provide a way to reliably reproduce it. I will bump it. Bob S > On Aug 8, 2018, at 14:00 , Knapp Martin via use-livecode wrote: > > I filed a bug report #21474 > --- > Marty From ahsoftware at sonic.net Wed Aug 8 17:19:49 2018 From: ahsoftware at sonic.net (Mark Wieder) Date: Wed, 8 Aug 2018 14:19:49 -0700 Subject: valueDiff for arrays? In-Reply-To: <698FC66E-A1F1-4E90-BF5D-389E63CD0FB6@livecode.com> References: <6dc2d28f-14c8-e464-d9c9-b1d55086f97e@sonic.net> <7AC7DB22-368D-4132-9077-0DBF0BED29DD@livecode.com> <8c97d9e4-7a8f-6347-ef48-7c39cad607d4@tweedly.net> <8A7B52A4-27E1-4A0C-AB3A-9F4C266D6C85@jhjensen.com> <6FF17622-46A2-4ABB-A469-55795B051D84@livecode.com> <66ec78cd-63af-37fe-2383-77d76575f3a4@sonic.net> <698FC66E-A1F1-4E90-BF5D-389E63CD0FB6@livecode.com> Message-ID: <131c078e-3ceb-e2dc-fd56-c130eb40d965@sonic.net> On 08/08/2018 10:54 AM, Mark Waddingham via use-livecode wrote: > Yup - but isSequence would be correct - false. > > The extents might be 1,10 > > But isSequence would check whether it was 1,9 ... Ah. OK, but I was actually replying to Dick Kriesel's isSequence function, which incorrectly would reply true. I'm not familiar with any other isSequence function. Do you have a reference for that? -- Mark Wieder ahsoftware at gmail.com From jbv at souslelogo.com Wed Aug 8 17:29:26 2018 From: jbv at souslelogo.com (jbv) Date: Wed, 8 Aug 2018 23:29:26 +0200 Subject: Intersect outputs different result in desktop and LC server Message-ID: <0f277889b40cef97321ed4c0c4fccaa3.squirrel@sage.on-rev.com> Hi list, As the title says, I am getting different results when running the script below with LC desktop and LC server (on-rev account)... The result is fine on desktop, but flawed on server. What am I missing ? Thanks in advance. jbv on mouseUp get "3622 4141 4288 5378 38090 8786 13439 16483 17329 18699 27799 28365 41200 35242 39109 41212 75320 43898 44702 47891 50227 50230 50232 50233 58901 58902 62983 63415 63416 65984 71574 73426 74288 85278 85775 101084 112360 113094 113355 115807 115826 116601 118017 121386 126039 131141 141224" repeat for each word w in it put 1 into Te[w] end repeat get "4141 3141 3184 3661 31910 40671 41657 48351 48490 55001 57269 65986 69706 73885 75741 80910 131210 82759 87543 88837 90394 92956 102158 102528 115929 116753 117446 128006 133712 140582" repeat for each word w in it put 1 into Ta[w] end repeat intersect Te with Ta put the keys of Te into tkeys sort lines of tkeys ascending numeric put tkeys end mouseUp From alex at tweedly.net Wed Aug 8 18:19:58 2018 From: alex at tweedly.net (Alex Tweedly) Date: Wed, 8 Aug 2018 23:19:58 +0100 Subject: Intersect outputs different result in desktop and LC server In-Reply-To: <0f277889b40cef97321ed4c0c4fccaa3.squirrel@sage.on-rev.com> References: <0f277889b40cef97321ed4c0c4fccaa3.squirrel@sage.on-rev.com> Message-ID: Which versions of LC are you running in each case ? Alex. On 08/08/2018 22:29, jbv via use-livecode wrote: > Hi list, > As the title says, I am getting different results when running the script > below with LC desktop and LC server (on-rev account)... > The result is fine on desktop, but flawed on server. What am I missing ? > > Thanks in advance. > jbv > > on mouseUp > get "3622 4141 4288 5378 38090 8786 13439 16483 17329 18699 27799 28365 > 41200 35242 39109 41212 75320 43898 44702 47891 50227 50230 50232 50233 > 58901 58902 62983 63415 63416 65984 71574 73426 74288 85278 85775 > 101084 112360 113094 113355 115807 115826 116601 118017 121386 126039 > 131141 141224" > repeat for each word w in it > put 1 into Te[w] > end repeat > > get "4141 3141 3184 3661 31910 40671 41657 48351 48490 55001 57269 > 65986 69706 73885 75741 80910 131210 82759 87543 88837 90394 92956 > 102158 102528 115929 116753 117446 128006 133712 140582" > repeat for each word w in it > put 1 into Ta[w] > end repeat > > intersect Te with Ta > put the keys of Te into tkeys > sort lines of tkeys ascending numeric > put tkeys > end mouseUp > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From mark at livecode.com Wed Aug 8 19:16:58 2018 From: mark at livecode.com (Mark Waddingham) Date: Thu, 09 Aug 2018 01:16:58 +0200 Subject: valueDiff for =?UTF-8?Q?arrays=3F?= In-Reply-To: <131c078e-3ceb-e2dc-fd56-c130eb40d965@sonic.net> References: <6dc2d28f-14c8-e464-d9c9-b1d55086f97e@sonic.net> <7AC7DB22-368D-4132-9077-0DBF0BED29DD@livecode.com> <8c97d9e4-7a8f-6347-ef48-7c39cad607d4@tweedly.net> <8A7B52A4-27E1-4A0C-AB3A-9F4C266D6C85@jhjensen.com> <6FF17622-46A2-4ABB-A469-55795B051D84@livecode.com> <66ec78cd-63af-37fe-2383-77d76575f3a4@sonic.net> <698FC66E-A1F1-4E90-BF5D-389E63CD0FB6@livecode.com> <131c078e-3ceb-e2dc-fd56-c130eb40d965@sonic.net> Message-ID: <4c6aeb340730215b02d31644b7e4a207@livecode.com> On 2018-08-08 23:19, Mark Wieder via use-livecode wrote: > On 08/08/2018 10:54 AM, Mark Waddingham via use-livecode wrote: >> Yup - but isSequence would be correct - false. >> >> The extents might be 1,10 >> >> But isSequence would check whether it was 1,9 ... > > Ah. OK, but I was actually replying to Dick Kriesel's isSequence > function, which incorrectly would reply true. I'm not familiar with > any other isSequence function. Do you have a reference for that? Haha - okay yes - I must confess I missed one very important line in your 'test' handler: put "false" into sArray[pi] This actually means there is a bug in the engine 'extents()' function (the lower-level routines the engine uses to check for Sequences / NumericSequences are correct as they use an optimized form, as they don't require generation of the extents). Specially, the extents function is parsing the array key (item list - extents can act on multi-dimensional arrays) as numbers, not as integers. Therefore it is erroneously returning a set of extents for an array which contains a non-integer key. So - Dick's function is correct, it is the extents function which is currently incorrect. Warmest Regards, Mark. -- Mark Waddingham ~ mark at livecode.com ~ http://www.livecode.com/ LiveCode: Everyone can create apps From mark at livecode.com Wed Aug 8 19:17:49 2018 From: mark at livecode.com (Mark Waddingham) Date: Thu, 09 Aug 2018 01:17:49 +0200 Subject: LC Builder and 3rd Part DLLs under Windows In-Reply-To: <6E8D5499-FD04-408F-BF5B-8018498D5E28@m-r-d.de> References: <6A335EA4-7BF5-429F-A0B1-577C8A86E6FE@m-r-d.de> <184ED027-2873-416E-9051-BB1648AA1F19@m-r-d.de> <6ffab9b336a713f3b7a9aa17cf9c6151@livecode.com> <6E8D5499-FD04-408F-BF5B-8018498D5E28@m-r-d.de> Message-ID: On 2018-08-08 22:50, Matthias Rebbe via use-livecode wrote: > Thanks for the update. Now i do not have to ask at the next LC Global. > ;) That is why I though it was worth mentioning it now ;) Warmest Regards, Mark. -- Mark Waddingham ~ mark at livecode.com ~ http://www.livecode.com/ LiveCode: Everyone can create apps From alex at tweedly.net Wed Aug 8 19:40:15 2018 From: alex at tweedly.net (Alex Tweedly) Date: Thu, 9 Aug 2018 00:40:15 +0100 Subject: Intersect outputs different result in desktop and LC server In-Reply-To: References: <0f277889b40cef97321ed4c0c4fccaa3.squirrel@sage.on-rev.com> Message-ID: Oops - sent before I meant to ... With LC7 server on on-rev, I get 4141 5378 18699 28365 41200 50230 58901 62983 63416 65984 71574 73426 74288 112360 115826 121386 126039 141224 while with LC9 server on on-rev I get 4141 -- Alex. On 08/08/2018 23:19, Alex Tweedly via use-livecode wrote: > Which versions of LC are you running in each case ? > > Alex. > > > On 08/08/2018 22:29, jbv via use-livecode wrote: >> Hi list, >> As the title says, I am getting different results when running the >> script >> below with LC desktop and LC server (on-rev account)... >> The result is fine on desktop, but flawed on server. What am I missing ? >> >> Thanks in advance. >> jbv >> >> on mouseUp >> ??? get "3622 4141 4288 5378 38090 8786 13439 16483 17329 18699 27799 >> 28365 >> 41200 35242 39109 41212 75320 43898 44702 47891 50227 50230 50232 50233 >> 58901 58902 62983 63415 63416 65984 71574 73426 74288 85278 85775 >> 101084 112360 113094 113355 115807 115826 116601 118017 121386 126039 >> 131141 141224" >> ??? repeat for each word w in it >> ?????? put 1 into Te[w] >> ??? end repeat >> >> ??? get "4141 3141 3184 3661 31910 40671 41657 48351 48490 55001 57269 >> 65986 69706 73885 75741 80910 131210 82759 87543 88837 90394 92956 >> 102158 102528 115929 116753 117446 128006 133712 140582" >> ??? repeat for each word w in it >> ?????? put 1 into Ta[w] >> ??? end repeat >> >> ??? intersect Te with Ta >> ??? put the keys of Te into tkeys >> ??? sort lines of tkeys ascending numeric >> ??? put tkeys >> end mouseUp >> >> >> _______________________________________________ >> use-livecode mailing list >> use-livecode at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From ahsoftware at sonic.net Wed Aug 8 20:17:49 2018 From: ahsoftware at sonic.net (Mark Wieder) Date: Wed, 8 Aug 2018 17:17:49 -0700 Subject: valueDiff for arrays? In-Reply-To: <4c6aeb340730215b02d31644b7e4a207@livecode.com> References: <6dc2d28f-14c8-e464-d9c9-b1d55086f97e@sonic.net> <7AC7DB22-368D-4132-9077-0DBF0BED29DD@livecode.com> <8c97d9e4-7a8f-6347-ef48-7c39cad607d4@tweedly.net> <8A7B52A4-27E1-4A0C-AB3A-9F4C266D6C85@jhjensen.com> <6FF17622-46A2-4ABB-A469-55795B051D84@livecode.com> <66ec78cd-63af-37fe-2383-77d76575f3a4@sonic.net> <698FC66E-A1F1-4E90-BF5D-389E63CD0FB6@livecode.com> <131c078e-3ceb-e2dc-fd56-c130eb40d965@sonic.net> <4c6aeb340730215b02d31644b7e4a207@livecode.com> Message-ID: On 08/08/2018 04:16 PM, Mark Waddingham via use-livecode wrote: OK. Bug filed. https://quality.livecode.com/show_bug.cgi?id=21476 -- Mark Wieder ahsoftware at gmail.com From ambassador at fourthworld.com Wed Aug 8 20:13:11 2018 From: ambassador at fourthworld.com (Richard Gaskin) Date: Wed, 8 Aug 2018 17:13:11 -0700 Subject: Intersect outputs different result in desktop and LC server In-Reply-To: References: Message-ID: Alex Tweedly wrote: > With LC7 server on on-rev, I get > > 4141 5378 18699 28365 41200 50230 58901 62983 63416 65984 71574 73426 > 74288 112360 115826 121386 126039 141224 > > while with LC9 server on on-rev I get > > 4141 Looks like a bug got fixed: https://quality.livecode.com/show_bug.cgi?id=15948 -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ____________________________________________________________________ Ambassador at FourthWorld.com http://www.FourthWorld.com From colinholgate at gmail.com Wed Aug 8 20:36:16 2018 From: colinholgate at gmail.com (Colin Holgate) Date: Wed, 8 Aug 2018 20:36:16 -0400 Subject: A few solutions to problems I had Message-ID: <0B684051-0972-4D35-8221-5FCCF15F39FF@gmail.com> I needed to refresh an app today, not one in any store, just a utility app I made for a friend. It didn?t go easily! First issue was that between my old MacBook Pro running macOS 10.14, and my new MacBook Pro running 10.13.6, I couldn?t find a combination of LiveCode and Xcode that would work. I tried versions 7, 8, and 9. Then I tried 9.0.1 rc1 with my new machine, and that finally worked! That soon got me through to the next error, which was about how it couldn?t find a valid signing entity. The phrase was clear enough that it made it easy to find a post that Scott Rossi had made, talking about how Apple?s certificate had expired. I grabbed the new version but it wasn?t enough, so I revoked and remade my certificate and profile, and then I was able to install onto my iOS 12 iPad (using Xcode). The app, of course, crashed immediately, but that one I knew the answer to already! I added the acceleratedRendering = true code, and the app got further. It jumps to a second stack as part of what it does, and then the crash happened again. Interesting that acceleratedRendering doesn?t persist between stacks. I added the code to the second stack, and things are all good now, even on iOS 12. One challenge though is that the Mac my friend has with him at the moment has an old enough version of iTunes that it could be used for install apps, but the iOS on his iPad is too new for that iTunes to cope with. Next best option is to use the Apple Configurator 2 from the App Store, but his Mac OS is too old to run that application. One thing that would be bound to work in the iPhone Configuration Utility, but Apple have removed the download page for that. I don?t seem to have a copy of it anymore. He?s going to be somewhere with a more modern Mac on Friday, and so should be able to install the app with the new configuration tool. Installing apps can be quite tricky sometimes! From dougr at telus.net Wed Aug 8 21:22:15 2018 From: dougr at telus.net (Douglas Ruisaard) Date: Wed, 8 Aug 2018 18:22:15 -0700 Subject: searching lists.runrev.com Message-ID: <001801d42f7f$695be850$3c13b8f0$@net> Not exactly an LC question... but relevant to this group... When I try to use the link: http://www.google.com/advanced_search?q=site:lists.runrev.com with ANY choice of "last update"... the search NEVER finds anything... no matter what word(s) I use in the "all these words" or "this exact word or phrase"... AND without the "last update", the search NEVER seems to find any "recent" entries...e.g. try "all these words" with pendingmessages should find a few messages from July, 2018... but it doesn't. Frustrating! Any better way to search these listings? Douglas Ruisaard Trilogy Software (250) 573-3935 From james at thehales.id.au Wed Aug 8 21:35:32 2018 From: james at thehales.id.au (James At The Hale) Date: Thu, 9 Aug 2018 11:35:32 +1000 Subject: Elvis has left the building Message-ID: <8B1E0E06-2F86-498D-A5F6-73029E0E15DB@thehales.id.au> Looking at git activity I noticed (there isn?t much actually) that Fraser hasn?t done anything this year. Went over to the LiveCode site to ?meet the team? and sure enough, no Fraser. Another departure of a longtime ?colleague? without a goodbye.? From ambassador at fourthworld.com Wed Aug 8 23:08:08 2018 From: ambassador at fourthworld.com (Richard Gaskin) Date: Wed, 8 Aug 2018 20:08:08 -0700 Subject: searching lists.runrev.com In-Reply-To: <001801d42f7f$695be850$3c13b8f0$@net> References: <001801d42f7f$695be850$3c13b8f0$@net> Message-ID: Douglas Ruisaard wrote: > When I try to use the link: > > http://www.google.com/advanced_search?q=site:lists.runrev.com > > with ANY choice of "last update"... the search NEVER finds anything... > no matter what word(s) I use in the "all these words" or "this exact > word or phrase"... > > AND > > without the "last update", the search NEVER seems to find any "recent" > entries...e.g. try "all these words" with pendingmessages > > should find a few messages from July, 2018... but it doesn't. > Frustrating! Any better way to search these listings? Google's big, but the Web is bigger. To conserve resources they don't index everything. It turns out this list is a bit less popular than the latest rumors of Justin Bieber's dating life. :) Good news: this site is dedicated to mirroring this list and has a better index into the content: Bad news: a glitch makes it appear that Mark Waddingham is the author of every message here. -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ____________________________________________________________________ Ambassador at FourthWorld.com http://www.FourthWorld.com From revdev at pdslabs.net Thu Aug 9 00:29:18 2018 From: revdev at pdslabs.net (Phil Davis) Date: Wed, 8 Aug 2018 21:29:18 -0700 Subject: searching lists.runrev.com In-Reply-To: References: <001801d42f7f$695be850$3c13b8f0$@net> Message-ID: Another similar resource: https://www.mail-archive.com/use-livecode at lists.runrev.com/ Phil Davis On 8/8/18 8:08 PM, Richard Gaskin via use-livecode wrote: > Douglas Ruisaard wrote: > > > When I try to use the link: > > > > http://www.google.com/advanced_search?q=site:lists.runrev.com > > > > with ANY choice of "last update"... the search NEVER finds anything... > > no matter what word(s) I use in the "all these words" or "this exact > > word or phrase"... > > > > AND > > > > without the "last update", the search NEVER seems to find any "recent" > > entries...e.g. try "all these words" with pendingmessages > > > > should find a few messages from July, 2018... but it doesn't. > > Frustrating!? Any better way to search these listings? > > Google's big, but the Web is bigger.? To conserve resources they don't > index everything.? It turns out this list is a bit less popular than > the latest rumors of Justin Bieber's dating life. :) > > Good news:? this site is dedicated to mirroring this list and has a > better index into the content: > > > > > Bad news: a glitch makes it appear that Mark Waddingham is the author > of every message here. > -- Phil Davis From jbv at souslelogo.com Thu Aug 9 01:52:47 2018 From: jbv at souslelogo.com (jbv) Date: Thu, 9 Aug 2018 07:52:47 +0200 Subject: Intersect outputs different result in desktop and LC server In-Reply-To: References: <0f277889b40cef97321ed4c0c4fccaa3.squirrel@sage.on-rev.com> Message-ID: <7301a40a182559a26b352d0ca046fbd8.squirrel@sage.on-rev.com> How do you run LC9 server on on-rev ? Thanks. On Thu, August 9, 2018 1:40 am, Alex Tweedly via use-livecode wrote: > Oops - sent before I meant to ... > > > With LC7 server on on-rev, I get > > > 4141 5378 18699 28365 41200 50230 58901 62983 63416 65984 71574 73426 > 74288 112360 115826 121386 126039 141224 > > > while with LC9 server on on-rev I get > > 4141 > > > -- Alex. > > > > From curry at pair.com Thu Aug 9 04:29:24 2018 From: curry at pair.com (Curry Kenworthy) Date: Thu, 09 Aug 2018 04:29:24 -0400 Subject: Regaining IDE Efficiency: Property Inspector Message-ID: <5B6BFB64.8010704@pair.com> Howdy Folks, As more client projects have caught up with 9, now I'm currently spending the majority of my time in LiveCode 9 IDE. That's both good and bad. The bad is that the 8/9 IDE's UI is much less efficient and much less polished than 6 was. And I'm starting to feel the cumulative impact of the less efficient and more tedious UI during my work! I like an efficient environment. That way I can get more work done in less time for my clients and addon users, and also train people how to accomplish tasks very easily in LC. Some time ago I mentioned that the big IDE update was more of a downgrade, when it comes to UI and UX; way too many good things lost in the remake, very obvious to a hands-on user. But specifics were desired, and I didn't have any opportunity to focus on that until now when I'm dealing with these things daily while I work. So I'm starting to compile a big list of the current IDE defects. I will be filing QA report(s) on these soon. Obviously a big win-win for LC. Posting here first, in case any of these are already filed (please let me know, I'll sign on) or anything to add. I'm starting with the Property Inspector. PI Fields: - PI fields don't scroll with mouse scrollwheel. None of them do. (Sometimes the group containing them can do so, but that's not very well-designed or consistent either; more on that below.) Just paste or type more text than the field's current height, and then try the scrollwheel - nothing. - PI Tooltip field is short, only one line high, can't resize unless you resize window or visit another tab and back. Window can't resize taller unless you visit another tab; tedious. - Some PI fields are resized to their content height, but that causes side effects. If a field contains too much text, the window may be resized extremely short and when changing to other PI tabs, controls won't be shown until you resize the window again, but that doesn't always fix it permanently, more fiddling require as you change tabs. I suggest a better-planned approach to resize, not just fully maximizing the height of all fields, but either way it needs to work smoothly; that's the main thing. The PI is pretty important. - Using tab key to cycle through fields, 9 PI usually places cursor at the start of the text, whereas 6 PI selected the entire text. Selecting the entire text was more efficient in most cases. PI controls: - Sometimes there is plenty of room horizontally for two columns, but the large empty horizontal space is not utilized, requiring a tall PI window. - When we have little arrows and also a slider for the same value (such as Blend Level) it serves no purpose for slider click to increment by 1. Little arrows already do that. Those slider clicks should increment by 5 or 10. - When we have a slider with no field or arrows (such as Effects tab Drop shadow Color Opacity) we need more control and more info. There's no way to even tell what the current Opacity value is! Could be shown via field, tooltip, arrows ... something. Again here, the click increment by 1 doesn't seem very useful. - Since effectFilter setting is no longer supported, should it show up in the UI? I would love to have it supported, that would be good for optimization, but otherwise there's no need to see it. Custom Properties: - Can't resize the Value field. And it doesn't accept the Tab key. (which was also imperfect in 6 but at least accepted.) No wrap control. Currently pretty useless for editing longer text. - Faulty window resize. To test, resize to make the PI window very tall, then shorter again. The element list always gets taller with the window, but never contracts again, even when there's only 1 element, so it becomes ridiculously big and the Key and Value fields are no longer in view without scrolling. - Value field bug or critical flaw: it is or was easy to lose changes when editing the Value of a prop if you click in the wrong place. Now it seems better testing this time in 901rc1; this may have been fixed already? - Inefficient when adding new element, requires extra click from user to select the newly added element, another extra click to select the name. Clicks matter! It could be already opened for editing after creation, with the entire Key field text selected. Or just use the ask dialog as before. - Easy to confuse the "Add Array Key" "+" buttons with adding a new element, and that's fine to learn, but even after you learn it, it's still easy to click by accident. Then there's trouble; if you didn't want an array, the problem is that you've permanently lost the original Value for that key. That may be a big important text that is nontrivial to lose with a single click! Prop values are important. Possible fix by putting the original value into the value for the newly created subelement when changing a single element into an array. PI window and tabs: - The PI tabs (Basic, Contents, Custom...) are one thing that is almost more efficient now than in 6. Good! But still needs improvement. I say "almost" efficient because the little tab buttons are way too small - about 11x10 px on my screen. That's takes more effort and concentration to click, and these are your highest-traffic PI controls. Even 16x16 would be an improvement. Unless there's already a setting for this that I missed. - The little target icon in the tab bar to "Select object to inspect" usually does not actually select the object! But sometimes it does; inconsistent. Unless there's a trick I need to learn. And no, I never touch the lock. I hate the need to type a select command in the message box (for a control or group that's hard to select by mouse) when this PI select button is glitchy. Good start? Best wishes, Curry Kenworthy Custom Software Development LiveCode Training and Consulting http://livecodeconsulting.com/ From klaus at major-k.de Thu Aug 9 05:58:58 2018 From: klaus at major-k.de (Klaus major-k) Date: Thu, 9 Aug 2018 11:58:58 +0200 Subject: stackfiles Message-ID: <00B77678-D28A-4821-8433-246F698F960E@major-k.de> Hi friends, quick question: When I "start using stack xyz" then all stack can access the scripts etc. of stack xyz. Does this also apply to the stackfiles of stack xyz? Thanks in advance! Best Klaus -- Klaus Major http://www.major-k.de klaus at major-k.de From alex at tweedly.net Thu Aug 9 07:02:30 2018 From: alex at tweedly.net (Alex Tweedly) Date: Thu, 9 Aug 2018 12:02:30 +0100 Subject: Intersect outputs different result in desktop and LC server In-Reply-To: <7301a40a182559a26b352d0ca046fbd8.squirrel@sage.on-rev.com> References: <0f277889b40cef97321ed4c0c4fccaa3.squirrel@sage.on-rev.com> <7301a40a182559a26b352d0ca046fbd8.squirrel@sage.on-rev.com> Message-ID: <723066f4-1c08-f1e6-5eb8-08fff876afc4@tweedly.net> I sent a support request asking for it :-) AFAIK, at least on sage, it is installed systemwide - so any file with extension .lc9 will use the latest stable release of LC9 (this is a similar scheme to what HostM use). I suspect you can use .htaccess to ensure it is used for all .lc files, but I didn't do that; I kept all the old stuff unchanged, and use the .lc9 extension in the two files I need it (they then load other .livecodescript libraries, and some other .lc files, so I got all my old functionality by renaming these two files, and redirecting a couple of URLs). -- Alex. On 09/08/2018 06:52, jbv via use-livecode wrote: > How do you run LC9 server on on-rev ? > Thanks. > > > On Thu, August 9, 2018 1:40 am, Alex Tweedly via use-livecode wrote: >> Oops - sent before I meant to ... >> >> >> With LC7 server on on-rev, I get >> >> >> 4141 5378 18699 28365 41200 50230 58901 62983 63416 65984 71574 73426 >> 74288 112360 115826 121386 126039 141224 >> >> >> while with LC9 server on on-rev I get >> >> 4141 >> >> >> -- Alex. >> >> >> >> > > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From dvglasgow at gmail.com Thu Aug 9 08:00:40 2018 From: dvglasgow at gmail.com (David V Glasgow) Date: Thu, 9 Aug 2018 13:00:40 +0100 Subject: HTML to text in field In-Reply-To: References: <2FD56902-8D4C-4902-9504-4579A2949534@clearvisiontech.com> Message-ID: Hello folks, I am having an interesting time (MacOS 10.13.5 LC 8.1.9) trying to load some HTML files (? 5 ish MB). Most of them will be lists or tables, generated by various users on various systems. I don?t want to retain any of the formatting, except line endings, so I would be happy for tables to appear as lists. I found a little 2013 nugget from the estimable Jacqueline Landman Gay set the htmltext of the templatefield to htmlVar -- variable contains the html string put the text of the templatefield into tPlainText In some cases that works fine, but in others, it seems that HTML tables consisting of maybe 20-30 thousand rows are rendered onto a single line of the field. A sort of black-letters-overwritten splodge appears in the first row and LC cranks up to 100% of the processor and BBoD ensues. Sometimes it never seems to recover, but other times it hands back control after maybe 20 minutes or so, and in those cases I can see the text if I set dontwrap to false. It contains no line endings from the original table, and a shedload of tabs. I have tried to operate on the HTML string in a variable before putting it into the field, but frankly don?t really know what property of some HTML tables might mean that line endings are lost. I can only see when I examine the files in an editor. I tried a different approach, replacing a row end with a cr, and then stripping out tags: put URL ("file:" & theFilePath) into ttemp replace "" with cr in ttemp replaceText (ttemp, "<*>", "|") filter lines of ttemp without empty set the text of field "import" to ttemp The replaceText line generates an error ?button "Import HTML": execution error at line 7 (Handler: can't find handler) near "replaceText", char 1? Firstly I don?t get the error, and secondly I am worried I may be over complicating something which should be simple. Advice please! Best wishes, David Glasgow From richmondmathewson at gmail.com Thu Aug 9 09:08:37 2018 From: richmondmathewson at gmail.com (Richmond Mathewson) Date: Thu, 9 Aug 2018 16:08:37 +0300 Subject: HTML to text in field In-Reply-To: References: <2FD56902-8D4C-4902-9504-4579A2949534@clearvisiontech.com> Message-ID: <88c032f6-cd05-0acf-450f-5deffdec1f31@gmail.com> Well, although this might sound a bit goofy, how about just bunging your html text into a scrolling list field and every time you came across a moving down to a new line? This works: on mouseUp set the text of fld "SLF1" to empty answer file "Choose an HTML file to import" if the result = "cancel" then exit mouseUp else put (URL ("file:" & it),"UTF8") into CHEESE end if put 1 into LYNE repeat until CHEESE is empty if word 1 of CHEESE is "" then add 1 to LYNE delete word 1 of CHEESE else put word 1 of CHEESE after line LYNE of fld "SLF1" delete word 1 of CHEESE end if end repeat end mouseUp where fld "SLF1" is a scrolling list field. Admittedly it makes a pig's breakfast out of everything else. Richmond. On 9/8/2018 3:00 pm, David V Glasgow via use-livecode wrote: > Hello folks, > > I am having an interesting time (MacOS 10.13.5 LC 8.1.9) trying to load some HTML files (? 5 ish MB). Most of them will be lists or tables, generated by various users on various systems. > > I don?t want to retain any of the formatting, except line endings, so I would be happy for tables to appear as lists. I found a little 2013 nugget from the estimable Jacqueline Landman Gay > > set the htmltext of the templatefield to htmlVar -- variable contains the html string > put the text of the templatefield into tPlainText > > In some cases that works fine, but in others, it seems that HTML tables consisting of maybe 20-30 thousand rows are rendered onto a single line of the field. A sort of black-letters-overwritten splodge appears in the first row and LC cranks up to 100% of the processor and BBoD ensues. > > Sometimes it never seems to recover, but other times it hands back control after maybe 20 minutes or so, and in those cases I can see the text if I set dontwrap to false. It contains no line endings from the original table, and a shedload of tabs. > > I have tried to operate on the HTML string in a variable before putting it into the field, but frankly don?t really know what property of some HTML tables might mean that line endings are lost. I can only see when I examine the files in an editor. > > I tried a different approach, replacing a row end with a cr, and then stripping out tags: > > put URL ("file:" & theFilePath) into ttemp > > replace "" with cr in ttemp > > replaceText (ttemp, "<*>", "|") > > filter lines of ttemp without empty > > set the text of field "import" to ttemp > > > The replaceText line generates an error ?button "Import HTML": execution error at line 7 (Handler: can't find handler) near "replaceText", char 1? > > Firstly I don?t get the error, and secondly I am worried I may be over complicating something which should be simple. > > Advice please! > > Best wishes, > > David Glasgow > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From dvglasgow at gmail.com Thu Aug 9 09:21:09 2018 From: dvglasgow at gmail.com (David V Glasgow) Date: Thu, 9 Aug 2018 14:21:09 +0100 Subject: HTML to text in field In-Reply-To: <88c032f6-cd05-0acf-450f-5deffdec1f31@gmail.com> References: <2FD56902-8D4C-4902-9504-4579A2949534@clearvisiontech.com> <88c032f6-cd05-0acf-450f-5deffdec1f31@gmail.com> Message-ID: Thanks Richmond, I will mess about with your suggestions. It's always much appreciated when someone takes the time to suggest a complete handler. But ?. I want more! Can you see anything wrong with this? replaceText (ttemp, "<*>", "|") or have a clue about the error message? ?button "Import HTML": execution error at line 7 (Handler: can't find handler) near "replaceText", char 1? Cheers, David G From paul at researchware.com Thu Aug 9 09:23:45 2018 From: paul at researchware.com (Paul Dupuis) Date: Thu, 9 Aug 2018 09:23:45 -0400 Subject: Regaining IDE Efficiency: Property Inspector In-Reply-To: <5B6BFB64.8010704@pair.com> References: <5B6BFB64.8010704@pair.com> Message-ID: <9b37e397-a470-1182-5ef0-ed46f3e82207@researchware.com> I second Curry's list of LC 9.0.0 IDE issue - especially when the PI resizes itself switching between tabs to cut off display of fields below the current window size. My understanding from something I (think I) saw on this list was that 9.0.1 is focused on IDE improvements. I have not yet downloaded 9.0.1rc (my bad) but can any others who have downloaded comment if the IDE, and PI in particular, is, in fact, improved? If so by how much (guestimate)? On 8/9/2018 4:29 AM, Curry Kenworthy via use-livecode wrote: > > Howdy Folks, > > As more client projects have caught up with 9, now I'm currently > spending the majority of my time in LiveCode 9 IDE. That's both good > and bad. The bad is that the 8/9 IDE's UI is much less efficient and > much less polished than 6 was. And I'm starting to feel the cumulative > impact of the less efficient and more tedious UI during my work! I > like an efficient environment. That way I can get more work done in > less time for my clients and addon users, and also train people how to > accomplish tasks very easily in LC. > > Some time ago I mentioned that the big IDE update was more of a > downgrade, when it comes to UI and UX; way too many good things lost > in the remake, very obvious to a hands-on user. But specifics were > desired, and I didn't have any opportunity to focus on that until now > when I'm dealing with these things daily while I work. So I'm starting > to compile a big list of the current IDE defects. I will be filing QA > report(s) on these soon. Obviously a big win-win for LC. > > Posting here first, in case any of these are already filed (please let > me know, I'll sign on) or anything to add. > > I'm starting with the Property Inspector. > ???? > PI Fields: > > - PI fields don't scroll with mouse scrollwheel. None of them do. > (Sometimes the group containing them can do so, but that's not very > well-designed or consistent either; more on that below.) Just paste or > type more text than the field's current height, and then try the > scrollwheel - nothing. > > - PI Tooltip field is short, only one line high, can't resize unless > you resize window or visit another tab and back. Window can't resize > taller unless you visit another tab; tedious. > > - Some PI fields are resized to their content height, but that causes > side effects. If a field contains too much text, the window may be > resized extremely short and when changing to other PI tabs, controls > won't be shown until you resize the window again, but that doesn't > always fix it permanently, more fiddling require as you change tabs. I > suggest a better-planned approach to resize, not just fully maximizing > the height of all fields, but either way it needs to work smoothly; > that's the main thing. The PI is pretty important. > > - Using tab key to cycle through fields, 9 PI usually places cursor at > the start of the text, whereas 6 PI selected the entire text. > Selecting the entire text was more efficient in most cases. > > PI controls: > > - Sometimes there is plenty of room horizontally for two columns, but > the large empty horizontal space is not utilized, requiring a tall PI > window. > > - When we have little arrows and also a slider for the same value > (such as Blend Level) it serves no purpose for slider click to > increment by 1. Little arrows already do that. Those slider clicks > should increment by 5 or 10. > > - When we have a slider with no field or arrows (such as Effects tab > Drop shadow Color Opacity) we need more control and more info. There's > no way to even tell what the current Opacity value is! Could be shown > via field, tooltip, arrows ... something. Again here, the click > increment by 1 doesn't seem very useful. > > - Since effectFilter setting is no longer supported, should it show up > in the UI? I would love to have it supported, that would be good for > optimization, but otherwise there's no need to see it. > > Custom Properties: > > - Can't resize the Value field. And it doesn't accept the Tab key. > (which was also imperfect in 6 but at least accepted.) No wrap > control. Currently pretty useless for editing longer text. > > - Faulty window resize. To test, resize to make the PI window very > tall, then shorter again. The element list always gets taller with the > window, but never contracts again, even when there's only 1 element, > so it becomes ridiculously big and the Key and Value fields are no > longer in view without scrolling. > > - Value field bug or critical flaw: it is or was easy to lose changes > when editing the Value of a prop if you click in the wrong place. Now > it seems better testing this time in 901rc1; this may have been fixed > already? > > - Inefficient when adding new element, requires extra click from user > to select the newly added element, another extra click to select the > name. Clicks matter! It could be already opened for editing after > creation, with the entire Key field text selected. Or just use the ask > dialog as before. > > - Easy to confuse the "Add Array Key" "+" buttons with adding a new > element, and that's fine to learn, but even after you learn it, it's > still easy to click by accident. Then there's trouble; if you didn't > want an array, the problem is that you've permanently lost the > original Value for that key. That may be a big important text that is > nontrivial to lose with a single click! Prop values are important. > Possible fix by putting the original value into the value for the > newly created subelement when changing a single element into an array. > > PI window and tabs: > > - The PI tabs (Basic, Contents, Custom...) are one thing that is > almost more efficient now than in 6. Good! But still needs > improvement. I say "almost" efficient because the little tab buttons > are way too small - about 11x10 px on my screen. That's takes more > effort and concentration to click, and these are your highest-traffic > PI controls. Even 16x16 would be an improvement. Unless there's > already a setting for this that I missed. > > - The little target icon in the tab bar to "Select object to inspect" > usually does not actually select the object! But sometimes it does; > inconsistent. Unless there's a trick I need to learn. And no, I never > touch the lock. I hate the need to type a select command in the > message box (for a control or group that's hard to select by mouse) > when this PI select button is glitchy. > > Good start? > > Best wishes, > > Curry Kenworthy > > Custom Software Development > LiveCode Training and Consulting > http://livecodeconsulting.com/ > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From klaus at major-k.de Thu Aug 9 09:23:24 2018 From: klaus at major-k.de (Klaus major-k) Date: Thu, 9 Aug 2018 15:23:24 +0200 Subject: HTML to text in field In-Reply-To: References: <2FD56902-8D4C-4902-9504-4579A2949534@clearvisiontech.com> <88c032f6-cd05-0acf-450f-5deffdec1f31@gmail.com> Message-ID: Hi David, > Am 09.08.2018 um 15:21 schrieb David V Glasgow via use-livecode : > > Thanks Richmond, I will mess about with your suggestions. It's always much appreciated when someone takes the time to suggest a complete handler. > But ?. I want more! Can you see anything wrong with this? > > replaceText (ttemp, "<*>", "|") > or have a clue about the error message? > ?button "Import HTML": execution error at line 7 (Handler: can't find handler) near "replaceText", char 1? "replacetext ()" is a FUNCTION and not a handler! :-) > Cheers, > > David G Best Klaus -- Klaus Major http://www.major-k.de klaus at major-k.de From ambassador at fourthworld.com Thu Aug 9 09:31:56 2018 From: ambassador at fourthworld.com (Richard Gaskin) Date: Thu, 9 Aug 2018 06:31:56 -0700 Subject: HTML to text in field In-Reply-To: <88c032f6-cd05-0acf-450f-5deffdec1f31@gmail.com> References: <88c032f6-cd05-0acf-450f-5deffdec1f31@gmail.com> Message-ID: Richmond Mathewson wrote: > put (URL ("file:" & it),"UTF8") into CHEESE Was uniDecode intended there? -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ____________________________________________________________________ Ambassador at FourthWorld.com http://www.FourthWorld.com From tom at makeshyft.com Thu Aug 9 09:41:36 2018 From: tom at makeshyft.com (Tom Glod) Date: Thu, 9 Aug 2018 09:41:36 -0400 Subject: Regaining IDE Efficiency: Property Inspector In-Reply-To: <9b37e397-a470-1182-5ef0-ed46f3e82207@researchware.com> References: <5B6BFB64.8010704@pair.com> <9b37e397-a470-1182-5ef0-ed46f3e82207@researchware.com> Message-ID: great breakdown of the issues...... i have been ramping up tp sit down and make all those notes..... its hard to do when you go work to do. So thanks Curry for going through that. Once these are fixed, I think the IDE will be quite good. On Thu, Aug 9, 2018 at 9:23 AM, Paul Dupuis via use-livecode < use-livecode at lists.runrev.com> wrote: > I second Curry's list of LC 9.0.0 IDE issue - especially when the PI > resizes itself switching between tabs to cut off display of fields below > the current window size. > > My understanding from something I (think I) saw on this list was that > 9.0.1 is focused on IDE improvements. I have not yet downloaded 9.0.1rc > (my bad) but can any others who have downloaded comment if the IDE, and > PI in particular, is, in fact, improved? If so by how much (guestimate)? > > > On 8/9/2018 4:29 AM, Curry Kenworthy via use-livecode wrote: > > > > Howdy Folks, > > > > As more client projects have caught up with 9, now I'm currently > > spending the majority of my time in LiveCode 9 IDE. That's both good > > and bad. The bad is that the 8/9 IDE's UI is much less efficient and > > much less polished than 6 was. And I'm starting to feel the cumulative > > impact of the less efficient and more tedious UI during my work! I > > like an efficient environment. That way I can get more work done in > > less time for my clients and addon users, and also train people how to > > accomplish tasks very easily in LC. > > > > Some time ago I mentioned that the big IDE update was more of a > > downgrade, when it comes to UI and UX; way too many good things lost > > in the remake, very obvious to a hands-on user. But specifics were > > desired, and I didn't have any opportunity to focus on that until now > > when I'm dealing with these things daily while I work. So I'm starting > > to compile a big list of the current IDE defects. I will be filing QA > > report(s) on these soon. Obviously a big win-win for LC. > > > > Posting here first, in case any of these are already filed (please let > > me know, I'll sign on) or anything to add. > > > > I'm starting with the Property Inspector. > > > > PI Fields: > > > > - PI fields don't scroll with mouse scrollwheel. None of them do. > > (Sometimes the group containing them can do so, but that's not very > > well-designed or consistent either; more on that below.) Just paste or > > type more text than the field's current height, and then try the > > scrollwheel - nothing. > > > > - PI Tooltip field is short, only one line high, can't resize unless > > you resize window or visit another tab and back. Window can't resize > > taller unless you visit another tab; tedious. > > > > - Some PI fields are resized to their content height, but that causes > > side effects. If a field contains too much text, the window may be > > resized extremely short and when changing to other PI tabs, controls > > won't be shown until you resize the window again, but that doesn't > > always fix it permanently, more fiddling require as you change tabs. I > > suggest a better-planned approach to resize, not just fully maximizing > > the height of all fields, but either way it needs to work smoothly; > > that's the main thing. The PI is pretty important. > > > > - Using tab key to cycle through fields, 9 PI usually places cursor at > > the start of the text, whereas 6 PI selected the entire text. > > Selecting the entire text was more efficient in most cases. > > > > PI controls: > > > > - Sometimes there is plenty of room horizontally for two columns, but > > the large empty horizontal space is not utilized, requiring a tall PI > > window. > > > > - When we have little arrows and also a slider for the same value > > (such as Blend Level) it serves no purpose for slider click to > > increment by 1. Little arrows already do that. Those slider clicks > > should increment by 5 or 10. > > > > - When we have a slider with no field or arrows (such as Effects tab > > Drop shadow Color Opacity) we need more control and more info. There's > > no way to even tell what the current Opacity value is! Could be shown > > via field, tooltip, arrows ... something. Again here, the click > > increment by 1 doesn't seem very useful. > > > > - Since effectFilter setting is no longer supported, should it show up > > in the UI? I would love to have it supported, that would be good for > > optimization, but otherwise there's no need to see it. > > > > Custom Properties: > > > > - Can't resize the Value field. And it doesn't accept the Tab key. > > (which was also imperfect in 6 but at least accepted.) No wrap > > control. Currently pretty useless for editing longer text. > > > > - Faulty window resize. To test, resize to make the PI window very > > tall, then shorter again. The element list always gets taller with the > > window, but never contracts again, even when there's only 1 element, > > so it becomes ridiculously big and the Key and Value fields are no > > longer in view without scrolling. > > > > - Value field bug or critical flaw: it is or was easy to lose changes > > when editing the Value of a prop if you click in the wrong place. Now > > it seems better testing this time in 901rc1; this may have been fixed > > already? > > > > - Inefficient when adding new element, requires extra click from user > > to select the newly added element, another extra click to select the > > name. Clicks matter! It could be already opened for editing after > > creation, with the entire Key field text selected. Or just use the ask > > dialog as before. > > > > - Easy to confuse the "Add Array Key" "+" buttons with adding a new > > element, and that's fine to learn, but even after you learn it, it's > > still easy to click by accident. Then there's trouble; if you didn't > > want an array, the problem is that you've permanently lost the > > original Value for that key. That may be a big important text that is > > nontrivial to lose with a single click! Prop values are important. > > Possible fix by putting the original value into the value for the > > newly created subelement when changing a single element into an array. > > > > PI window and tabs: > > > > - The PI tabs (Basic, Contents, Custom...) are one thing that is > > almost more efficient now than in 6. Good! But still needs > > improvement. I say "almost" efficient because the little tab buttons > > are way too small - about 11x10 px on my screen. That's takes more > > effort and concentration to click, and these are your highest-traffic > > PI controls. Even 16x16 would be an improvement. Unless there's > > already a setting for this that I missed. > > > > - The little target icon in the tab bar to "Select object to inspect" > > usually does not actually select the object! But sometimes it does; > > inconsistent. Unless there's a trick I need to learn. And no, I never > > touch the lock. I hate the need to type a select command in the > > message box (for a control or group that's hard to select by mouse) > > when this PI select button is glitchy. > > > > Good start? > > > > Best wishes, > > > > Curry Kenworthy > > > > Custom Software Development > > LiveCode Training and Consulting > > http://livecodeconsulting.com/ > > > > _______________________________________________ > > use-livecode mailing list > > use-livecode at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From dvglasgow at gmail.com Thu Aug 9 09:44:29 2018 From: dvglasgow at gmail.com (David V Glasgow) Date: Thu, 9 Aug 2018 14:44:29 +0100 Subject: HTML to text in field In-Reply-To: References: <2FD56902-8D4C-4902-9504-4579A2949534@clearvisiontech.com> <88c032f6-cd05-0acf-450f-5deffdec1f31@gmail.com> Message-ID: <6B5CAC6E-6E61-4FB5-A094-9821E30D1B84@gmail.com> D?OH! > On 9 Aug 2018, at 2:23 pm, Klaus major-k via use-livecode wrote: > > > "replacetext ()" is a FUNCTION and not a handler! :-) From keith.clarke at me.com Thu Aug 9 09:55:51 2018 From: keith.clarke at me.com (Keith Clarke) Date: Thu, 09 Aug 2018 14:55:51 +0100 Subject: How to get LiveCode to return 'Today' & 'Now'? Message-ID: <1B494841-EB1F-417D-BDF2-192F67E7ECD9@me.com> Hi folks, Please can anyone share the magic syntax to put today into tDate put now into the tTime I haven?t found a magic keyword to seed the docs or Google. Thanks Keith From brian at milby7.com Thu Aug 9 09:57:53 2018 From: brian at milby7.com (Brian Milby) Date: Thu, 9 Aug 2018 08:57:53 -0500 Subject: How to get LiveCode to return 'Today' & 'Now'? In-Reply-To: <1B494841-EB1F-417D-BDF2-192F67E7ECD9@me.com> References: <1B494841-EB1F-417D-BDF2-192F67E7ECD9@me.com> Message-ID: <0d2fb9dc-390a-47a3-99c5-e94f66313032@Spark> the date the time Thanks, Brian On Aug 9, 2018, 8:56 AM -0500, Keith Clarke via use-livecode , wrote: > Hi folks, > Please can anyone share the magic syntax to > > put today into tDate > > put now into the tTime > > I haven?t found a magic keyword to seed the docs or Google. > Thanks > Keith > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From tore.nilsen at me.com Thu Aug 9 09:58:59 2018 From: tore.nilsen at me.com (Tore Nilsen) Date: Thu, 09 Aug 2018 15:58:59 +0200 Subject: How to get LiveCode to return 'Today' & 'Now'? In-Reply-To: <1B494841-EB1F-417D-BDF2-192F67E7ECD9@me.com> References: <1B494841-EB1F-417D-BDF2-192F67E7ECD9@me.com> Message-ID: <299FBC66-9802-4A39-A876-A1FAD5B9A90D@me.com> Use any form of the date (short, long,international,system) for today, an any form of the time (short, long,international,system) for the time. To see the difference between them look them up in the dictionary. Regards Tore Nilsen ------- This mail contains no viruses or bacteria as it is electronically produced and untouched by human hands. Once printed it may or may not contain various microorganisms that can cause diseases. Print and hand out at own risk. Unsolicited distribution of this mail is prohibited. > 09. aug. 2018 kl. 15:55 skrev Keith Clarke via use-livecode : > > Hi folks, > Please can anyone share the magic syntax to > > put today into tDate > > put now into the tTime > > I haven?t found a magic keyword to seed the docs or Google. > Thanks > Keith > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From klaus at major-k.de Thu Aug 9 10:11:06 2018 From: klaus at major-k.de (Klaus major-k) Date: Thu, 9 Aug 2018 16:11:06 +0200 Subject: Tutorial for MAP widget Message-ID: Hi all, could someone (the mothership?) please create a little tuorial for the new MAP widget? This is really not self-explaining. How to let the user create a new marker etc... Thanks a lot! Best Klaus -- Klaus Major http://www.major-k.de klaus at major-k.de From keith.clarke at me.com Thu Aug 9 10:13:37 2018 From: keith.clarke at me.com (Keith Clarke) Date: Thu, 09 Aug 2018 15:13:37 +0100 Subject: How to get LiveCode to return 'Today' & 'Now'? In-Reply-To: <0d2fb9dc-390a-47a3-99c5-e94f66313032@Spark> References: <1B494841-EB1F-417D-BDF2-192F67E7ECD9@me.com> <0d2fb9dc-390a-47a3-99c5-e94f66313032@Spark> Message-ID: <848B1460-7E36-4CF4-B0C6-AFFF0ED682E8@me.com> Thanks Brian (& Tore) - a brain-fade meant I clearly forgot ?the obvious? syntax :-) Best, Keith > On 9 Aug 2018, at 14:57, Brian Milby via use-livecode wrote: > > the date > the time > > Thanks, > Brian > On Aug 9, 2018, 8:56 AM -0500, Keith Clarke via use-livecode , wrote: >> Hi folks, >> Please can anyone share the magic syntax to >> >> put today into tDate >> >> put now into the tTime >> >> I haven?t found a magic keyword to seed the docs or Google. >> Thanks >> Keith >> _______________________________________________ >> use-livecode mailing list >> use-livecode at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From smaclean at madmansoft.com Thu Aug 9 10:25:37 2018 From: smaclean at madmansoft.com (Stephen MacLean) Date: Thu, 9 Aug 2018 10:25:37 -0400 Subject: HTML to text in field In-Reply-To: References: <2FD56902-8D4C-4902-9504-4579A2949534@clearvisiontech.com> Message-ID: <788567E7-BE92-48C9-AE03-DC3E6C243DDE@madmansoft.com> Hi David, I?m working on something thing similar at the moment (although I?m stripping out almost everything except for basic HTML formatting). I too found that nugget by JLG and had the similar results. I?ve also looked at using XML and regex. The problem with HTML is that while it?s a standard, unless it?s strict xHtml, it?s not really and a lot of it ends up being malformed, etc. Todays browsers are very forgiving and figure most of it out, but if you open the dev tools in safari or firefox and look at most pages, you will see a LOT of errors. So I don?t think there is an ?out of the box? answer. My solution is similar to what you are trying, stripping out tags and some other things and cleaning it up to give me what I want. If your solution (after fixing the function vs command syntax that Klaus pointed out) doesn?t work for you, I could put together an example stack using my ?cleaner? to share. I don?t claim it?s the best, only or anything else way to do it, other than it works for me and am happy to share. Best, Steve MacLean > On Aug 9, 2018, at 8:00 AM, David V Glasgow via use-livecode wrote: > > Hello folks, > > I am having an interesting time (MacOS 10.13.5 LC 8.1.9) trying to load some HTML files (? 5 ish MB). Most of them will be lists or tables, generated by various users on various systems. > > I don?t want to retain any of the formatting, except line endings, so I would be happy for tables to appear as lists. I found a little 2013 nugget from the estimable Jacqueline Landman Gay > > set the htmltext of the templatefield to htmlVar -- variable contains the html string > put the text of the templatefield into tPlainText > > In some cases that works fine, but in others, it seems that HTML tables consisting of maybe 20-30 thousand rows are rendered onto a single line of the field. A sort of black-letters-overwritten splodge appears in the first row and LC cranks up to 100% of the processor and BBoD ensues. > > Sometimes it never seems to recover, but other times it hands back control after maybe 20 minutes or so, and in those cases I can see the text if I set dontwrap to false. It contains no line endings from the original table, and a shedload of tabs. > > I have tried to operate on the HTML string in a variable before putting it into the field, but frankly don?t really know what property of some HTML tables might mean that line endings are lost. I can only see when I examine the files in an editor. > > I tried a different approach, replacing a row end with a cr, and then stripping out tags: > > put URL ("file:" & theFilePath) into ttemp > > replace "" with cr in ttemp > > replaceText (ttemp, "<*>", "|") > > filter lines of ttemp without empty > > set the text of field "import" to ttemp > > > The replaceText line generates an error ?button "Import HTML": execution error at line 7 (Handler: can't find handler) near "replaceText", char 1? > > Firstly I don?t get the error, and secondly I am worried I may be over complicating something which should be simple. > > Advice please! > > Best wishes, > > David Glasgow > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From bobsneidar at iotecdigital.com Thu Aug 9 10:48:28 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Thu, 9 Aug 2018 14:48:28 +0000 Subject: stackfiles In-Reply-To: <00B77678-D28A-4821-8433-246F698F960E@major-k.de> References: <00B77678-D28A-4821-8433-246F698F960E@major-k.de> Message-ID: <19F42249-EAA3-4C14-8C32-EA8EA214D0A9@iotecdigital.com> Start Using simply inserts the script of that stack in the back, so it is now in the message path which is global to everything running in that instance of livecode or the standalone. Bob S > On Aug 9, 2018, at 02:58 , Klaus major-k via use-livecode wrote: > > Hi friends, > > quick question: > When I "start using stack xyz" then all stack can access the scripts etc. > of stack xyz. Does this also apply to the stackfiles of stack xyz? > > Thanks in advance! > > > Best > > Klaus > -- > Klaus Major > http://www.major-k.de > klaus at major-k.de From bobsneidar at iotecdigital.com Thu Aug 9 10:51:22 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Thu, 9 Aug 2018 14:51:22 +0000 Subject: Regaining IDE Efficiency: Property Inspector In-Reply-To: <5B6BFB64.8010704@pair.com> References: <5B6BFB64.8010704@pair.com> Message-ID: <1C63382E-EA26-4D9D-A925-AD6449747486@iotecdigital.com> if you insert cr's you get more lines. But a single line will not wrap. Not sure tooltips in any version did. Bob S > On Aug 9, 2018, at 01:29 , Curry Kenworthy via use-livecode wrote: > > - PI Tooltip field is short, only one line high, can't resize unless you resize window or visit another tab and back. Window can't resize taller unless you visit another tab; tedious. From bobsneidar at iotecdigital.com Thu Aug 9 10:52:24 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Thu, 9 Aug 2018 14:52:24 +0000 Subject: Regaining IDE Efficiency: Property Inspector In-Reply-To: <1C63382E-EA26-4D9D-A925-AD6449747486@iotecdigital.com> References: <5B6BFB64.8010704@pair.com> <1C63382E-EA26-4D9D-A925-AD6449747486@iotecdigital.com> Message-ID: Oh never mind. PI (Property Inspector) Bob S > On Aug 9, 2018, at 07:51 , Bob Sneidar via use-livecode wrote: > > if you insert cr's you get more lines. But a single line will not wrap. Not sure tooltips in any version did. > > Bob S > > >> On Aug 9, 2018, at 01:29 , Curry Kenworthy via use-livecode wrote: >> >> - PI Tooltip field is short, only one line high, can't resize unless you resize window or visit another tab and back. Window can't resize taller unless you visit another tab; tedious. > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From klaus at major-k.de Thu Aug 9 10:53:07 2018 From: klaus at major-k.de (Klaus major-k) Date: Thu, 9 Aug 2018 16:53:07 +0200 Subject: stackfiles In-Reply-To: <19F42249-EAA3-4C14-8C32-EA8EA214D0A9@iotecdigital.com> References: <00B77678-D28A-4821-8433-246F698F960E@major-k.de> <19F42249-EAA3-4C14-8C32-EA8EA214D0A9@iotecdigital.com> Message-ID: Hi Bob, > Am 09.08.2018 um 16:48 schrieb Bob Sneidar via use-livecode : > > Start Using simply inserts the script of that stack in the back, so it is now in the message path which > is global to everything running in that instance of livecode or the standalone. yes, I know, this way it also lets other stacks us the "used" stacks external etc, but does this apply to STACKFILES, too? That was my question! > Bob S > >> On Aug 9, 2018, at 02:58 , Klaus major-k via use-livecode wrote: >> >> Hi friends, >> >> quick question: >> When I "start using stack xyz" then all stack can access the scripts etc. >> of stack xyz. Does this also apply to the stackfiles of stack xyz? Best Klaus -- Klaus Major http://www.major-k.de klaus at major-k.de From bobsneidar at iotecdigital.com Thu Aug 9 10:55:32 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Thu, 9 Aug 2018 14:55:32 +0000 Subject: Regaining IDE Efficiency: Property Inspector In-Reply-To: <9b37e397-a470-1182-5ef0-ed46f3e82207@researchware.com> References: <5B6BFB64.8010704@pair.com> <9b37e397-a470-1182-5ef0-ed46f3e82207@researchware.com> Message-ID: <1FB3AC69-B50D-4DE2-B58B-C11950F5FEF9@iotecdigital.com> I'm using rc1, and the PI issues persist so far as I can see. As I mentioned, the element portion of the PI is actually a tree widget, so some of the issues are really with the tree widget, not the PI itself. Bob S > On Aug 9, 2018, at 06:23 , Paul Dupuis via use-livecode wrote: > > My understanding from something I (think I) saw on this list was that > 9.0.1 is focused on IDE improvements. I have not yet downloaded 9.0.1rc > (my bad) but can any others who have downloaded comment if the IDE, and > PI in particular, is, in fact, improved? If so by how much (guestimate)? From bobsneidar at iotecdigital.com Thu Aug 9 11:03:06 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Thu, 9 Aug 2018 15:03:06 +0000 Subject: stackfiles In-Reply-To: References: <00B77678-D28A-4821-8433-246F698F960E@major-k.de> <19F42249-EAA3-4C14-8C32-EA8EA214D0A9@iotecdigital.com> Message-ID: I see, you are asking if the scripts of the stackfiles are inserted into the message heirarchy? No. It can't work that way if you think about it. You would never be able to include another stack in a standalone without having every stack script of every stack in the message heirarchy. If you are asking if the the script of stack xys is accessible to the stack files however, then yes of course. If you are asking something else I cannot discern what it is. To my understanding, the stackfiles property simply makes it possible to reference stacks by their short names without having to reference their full paths when opening them. Also, when building a standalone, they will be included automatically. Bob S > On Aug 9, 2018, at 07:53 , Klaus major-k via use-livecode wrote: > > Hi Bob, > >> Am 09.08.2018 um 16:48 schrieb Bob Sneidar via use-livecode : >> >> Start Using simply inserts the script of that stack in the back, so it is now in the message path which >> is global to everything running in that instance of livecode or the standalone. > > yes, I know, this way it also lets other stacks us the "used" stacks external etc, but does this apply to STACKFILES, too? > That was my question! > From klaus at major-k.de Thu Aug 9 11:07:47 2018 From: klaus at major-k.de (Klaus major-k) Date: Thu, 9 Aug 2018 17:07:47 +0200 Subject: stackfiles In-Reply-To: References: <00B77678-D28A-4821-8433-246F698F960E@major-k.de> <19F42249-EAA3-4C14-8C32-EA8EA214D0A9@iotecdigital.com> Message-ID: <6F37FC00-586A-4C26-B856-1B11FF57F53D@major-k.de> Hi Bob, > Am 09.08.2018 um 17:03 schrieb Bob Sneidar via use-livecode : > > I see, you are asking if the scripts of the stackfiles are inserted into the message heirarchy? No. It can't work that way if you think about it. You would never be able to include another stack in a standalone without having every stack script of every stack in the message heirarchy. that's not not what I meant. > If you are asking if the the script of stack xys is accessible to the stack files however, then yes of course. Not what I meant, I knew this before. 8-) > If you are asking something else I cannot discern what it is. I mean if stack xyz has its stackfile property set, can other stack access this property just like the stack xyz scripts? > Bob S > > >> On Aug 9, 2018, at 07:53 , Klaus major-k via use-livecode wrote: >> >> Hi Bob, >> >>> Am 09.08.2018 um 16:48 schrieb Bob Sneidar via use-livecode : >>> >>> Start Using simply inserts the script of that stack in the back, so it is now in the message path which >>> is global to everything running in that instance of livecode or the standalone. >> >> yes, I know, this way it also lets other stacks us the "used" stacks external etc, but does this apply to STACKFILES, too? >> That was my question! Best Klaus -- Klaus Major http://www.major-k.de klaus at major-k.de From bobsneidar at iotecdigital.com Thu Aug 9 11:15:03 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Thu, 9 Aug 2018 15:15:03 +0000 Subject: stackfiles In-Reply-To: <6F37FC00-586A-4C26-B856-1B11FF57F53D@major-k.de> References: <00B77678-D28A-4821-8433-246F698F960E@major-k.de> <19F42249-EAA3-4C14-8C32-EA8EA214D0A9@iotecdigital.com> <6F37FC00-586A-4C26-B856-1B11FF57F53D@major-k.de> Message-ID: > On Aug 9, 2018, at 08:07 , Klaus major-k via use-livecode wrote: > > I mean if stack xyz has its stackfile property set, can other stack access this property just like the stack xyz scripts? If I understand you, then another stack can reference the stackfiles of xyz by getting the stackfiles of stack xyz. But I cannot think that is what you meant. The stackfiles is a property of a single stack, and not a global property. But I probably still do not understand. :-) Bob S From ambassador at fourthworld.com Thu Aug 9 11:14:41 2018 From: ambassador at fourthworld.com (Richard Gaskin) Date: Thu, 9 Aug 2018 08:14:41 -0700 Subject: Regaining IDE Efficiency: Property Inspector In-Reply-To: <5B6BFB64.8010704@pair.com> References: <5B6BFB64.8010704@pair.com> Message-ID: <7917abf8-1a40-cd2f-8f8a-65b357180c1b@fourthworld.com> Inspectors are popular in drawing and layout programs, where object properties are relatively limited. Many (most?) development environments use a property sheet* instead, to handle the deep, rich variety of detailed properties developers need to control. Property sheets can help address everything in this list by: - making better use of space, with more options visible at once - being more complete, allowing all object properties to be available rather than just a selected subset - providing more efficient navigation; accordion controls have a much larger target area than toolbar icons; good ones let you switch between grouped categories and one full list sorted by prop name. - simplifying resizing so the entire resizing complexity goes away Bonus: - they're simpler and more cost-effective to develop Once we extend "the properties" property to handle widgets uniformly with LC-engine-native controls, I'll gladly extend my 4W Prop Sheet to handle them, and even donate it to the project if they like so they won't have to lift a finger beyond providing the uniform access to prop arrays. *If you haven't used an IDE with a property sheet, here's VB's as an example: http://www.afralisp.net/visual-basic-for-applications/tutorials/images/vb-properties.png -- Richard Gaskin Fourth World Systems Curry Kenworthy wrote: > As more client projects have caught up with 9, now I'm currently > spending the majority of my time in LiveCode 9 IDE. That's both good and > bad. The bad is that the 8/9 IDE's UI is much less efficient and much > less polished than 6 was. And I'm starting to feel the cumulative impact > of the less efficient and more tedious UI during my work! I like an > efficient environment. That way I can get more work done in less time > for my clients and addon users, and also train people how to accomplish > tasks very easily in LC. > > Some time ago I mentioned that the big IDE update was more of a > downgrade, when it comes to UI and UX; way too many good things lost in > the remake, very obvious to a hands-on user. But specifics were desired, > and I didn't have any opportunity to focus on that until now when I'm > dealing with these things daily while I work. So I'm starting to compile > a big list of the current IDE defects. I will be filing QA report(s) on > these soon. Obviously a big win-win for LC. > > Posting here first, in case any of these are already filed (please let > me know, I'll sign on) or anything to add. > > I'm starting with the Property Inspector. > > PI Fields: > > - PI fields don't scroll with mouse scrollwheel. None of them do. > (Sometimes the group containing them can do so, but that's not very > well-designed or consistent either; more on that below.) Just paste or > type more text than the field's current height, and then try the > scrollwheel - nothing. > > - PI Tooltip field is short, only one line high, can't resize unless you > resize window or visit another tab and back. Window can't resize taller > unless you visit another tab; tedious. > > - Some PI fields are resized to their content height, but that causes > side effects. If a field contains too much text, the window may be > resized extremely short and when changing to other PI tabs, controls > won't be shown until you resize the window again, but that doesn't > always fix it permanently, more fiddling require as you change tabs. I > suggest a better-planned approach to resize, not just fully maximizing > the height of all fields, but either way it needs to work smoothly; > that's the main thing. The PI is pretty important. > > - Using tab key to cycle through fields, 9 PI usually places cursor at > the start of the text, whereas 6 PI selected the entire text. Selecting > the entire text was more efficient in most cases. > > PI controls: > > - Sometimes there is plenty of room horizontally for two columns, but > the large empty horizontal space is not utilized, requiring a tall PI > window. > > - When we have little arrows and also a slider for the same value (such > as Blend Level) it serves no purpose for slider click to increment by 1. > Little arrows already do that. Those slider clicks should increment by 5 > or 10. > > - When we have a slider with no field or arrows (such as Effects tab > Drop shadow Color Opacity) we need more control and more info. There's > no way to even tell what the current Opacity value is! Could be shown > via field, tooltip, arrows ... something. Again here, the click > increment by 1 doesn't seem very useful. > > - Since effectFilter setting is no longer supported, should it show up > in the UI? I would love to have it supported, that would be good for > optimization, but otherwise there's no need to see it. > > Custom Properties: > > - Can't resize the Value field. And it doesn't accept the Tab key. > (which was also imperfect in 6 but at least accepted.) No wrap control. > Currently pretty useless for editing longer text. > > - Faulty window resize. To test, resize to make the PI window very tall, > then shorter again. The element list always gets taller with the window, > but never contracts again, even when there's only 1 element, so it > becomes ridiculously big and the Key and Value fields are no longer in > view without scrolling. > > - Value field bug or critical flaw: it is or was easy to lose changes > when editing the Value of a prop if you click in the wrong place. Now it > seems better testing this time in 901rc1; this may have been fixed already? > > - Inefficient when adding new element, requires extra click from user to > select the newly added element, another extra click to select the name. > Clicks matter! It could be already opened for editing after creation, > with the entire Key field text selected. Or just use the ask dialog as > before. > > - Easy to confuse the "Add Array Key" "+" buttons with adding a new > element, and that's fine to learn, but even after you learn it, it's > still easy to click by accident. Then there's trouble; if you didn't > want an array, the problem is that you've permanently lost the original > Value for that key. That may be a big important text that is nontrivial > to lose with a single click! Prop values are important. Possible fix by > putting the original value into the value for the newly created > subelement when changing a single element into an array. > > PI window and tabs: > > - The PI tabs (Basic, Contents, Custom...) are one thing that is almost > more efficient now than in 6. Good! But still needs improvement. I say > "almost" efficient because the little tab buttons are way too small - > about 11x10 px on my screen. That's takes more effort and concentration > to click, and these are your highest-traffic PI controls. Even 16x16 > would be an improvement. Unless there's already a setting for this that > I missed. > > - The little target icon in the tab bar to "Select object to inspect" > usually does not actually select the object! But sometimes it does; > inconsistent. Unless there's a trick I need to learn. And no, I never > touch the lock. I hate the need to type a select command in the message > box (for a control or group that's hard to select by mouse) when this PI > select button is glitchy. > > Good start? > > Best wishes, > > Curry Kenworthy From klaus at major-k.de Thu Aug 9 11:19:30 2018 From: klaus at major-k.de (Klaus major-k) Date: Thu, 9 Aug 2018 17:19:30 +0200 Subject: stackfiles In-Reply-To: References: <00B77678-D28A-4821-8433-246F698F960E@major-k.de> <19F42249-EAA3-4C14-8C32-EA8EA214D0A9@iotecdigital.com> <6F37FC00-586A-4C26-B856-1B11FF57F53D@major-k.de> Message-ID: <900B08FD-0595-4AEC-994E-A3D36E25D03A@major-k.de> Hi Bob, > Am 09.08.2018 um 17:15 schrieb Bob Sneidar via use-livecode : > >> On Aug 9, 2018, at 08:07 , Klaus major-k via use-livecode wrote: >> >> I mean if stack xyz has its stackfile property set, can other stack access this property just like the stack xyz scripts? > > If I understand you, then another stack can reference the stackfiles of xyz by getting the stackfiles of stack xyz. Ok, that my be one solution to my questions. > But I cannot think that is what you meant. The stackfiles is a property of a single stack, and not a global property. Well, so are the xternals and scripts of a stack, but other stack can use these if we "start using stack xyz". And that fact led me to the conclusion that this may also apply to "the stackfiles" of stack xyz, which was my original question :-D > > But I probably still do not understand. :-) > > Bob S Best Klaus -- Klaus Major http://www.major-k.de klaus at major-k.de From brian at milby7.com Thu Aug 9 11:19:48 2018 From: brian at milby7.com (Brian Milby) Date: Thu, 9 Aug 2018 10:19:48 -0500 Subject: Regaining IDE Efficiency: Property Inspector In-Reply-To: <1FB3AC69-B50D-4DE2-B58B-C11950F5FEF9@iotecdigital.com> References: <5B6BFB64.8010704@pair.com> <9b37e397-a470-1182-5ef0-ed46f3e82207@researchware.com> <1FB3AC69-B50D-4DE2-B58B-C11950F5FEF9@iotecdigital.com> Message-ID: <56dc14f6-aa98-4b4e-a182-79776b367760@Spark> I?ve done a bit of work in the tree widget, so I can take care of submitting a PR against a bug/enhancement request there. Thanks, Brian On Aug 9, 2018, 9:56 AM -0500, Bob Sneidar via use-livecode , wrote: > I'm using rc1, and the PI issues persist so far as I can see. As I mentioned, the element portion of the PI is actually a tree widget, so some of the issues are really with the tree widget, not the PI itself. > > Bob S > > > > On Aug 9, 2018, at 06:23 , Paul Dupuis via use-livecode wrote: > > > > My understanding from something I (think I) saw on this list was that > > 9.0.1 is focused on IDE improvements. I have not yet downloaded 9.0.1rc > > (my bad) but can any others who have downloaded comment if the IDE, and > > PI in particular, is, in fact, improved? If so by how much (guestimate)? > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From brian at milby7.com Thu Aug 9 11:32:53 2018 From: brian at milby7.com (Brian Milby) Date: Thu, 9 Aug 2018 10:32:53 -0500 Subject: Regaining IDE Efficiency: Property Inspector In-Reply-To: <7917abf8-1a40-cd2f-8f8a-65b357180c1b@fourthworld.com> References: <5B6BFB64.8010704@pair.com> <7917abf8-1a40-cd2f-8f8a-65b357180c1b@fourthworld.com> Message-ID: - The PI tabs (Basic, Contents, Custom...) are one thing that is almost more efficient now than in 6. Good! But still needs improvement. I say "almost" efficient because the little tab buttons are way too small - about 11x10 px on my screen. That's takes more effort and concentration to click, and these are your highest-traffic PI controls. Even 16x16 would be an improvement. Unless there's already a setting for this that I missed. Yes... select the gear icon on the right. You can change the size and switch to text labels if you prefer. Thanks, Brian > From ambassador at fourthworld.com Thu Aug 9 11:20:27 2018 From: ambassador at fourthworld.com (Richard Gaskin) Date: Thu, 9 Aug 2018 08:20:27 -0700 Subject: stackfiles In-Reply-To: <6F37FC00-586A-4C26-B856-1B11FF57F53D@major-k.de> References: <6F37FC00-586A-4C26-B856-1B11FF57F53D@major-k.de> Message-ID: Klaus major-k wrote: > I mean if stack xyz has its stackfile property set, can other stack > access this property just like the stack xyz scripts? Every property of every object in every stack on your hard drive is available to every script. An object does no need to be loaded into memory to be accessed. If you query a property of an object in an unopened stack, the engine will faithfully read the stack and unpack it to return what you're requesting. If the stack is already in memory, you can refer to it by short name. get the width of btn 1 of stack "MyStack" In memory or not, you can refer to a stack by its filename: get the width of btn 1 of stack "/home/klaus/MyStack.livecode" When a stack file is included among the stackfiles property of an open stack, you should be able to address it by short name if you like. -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ____________________________________________________________________ Ambassador at FourthWorld.com http://www.FourthWorld.com From curry at pair.com Thu Aug 9 11:53:38 2018 From: curry at pair.com (Curry Kenworthy) Date: Thu, 09 Aug 2018 11:53:38 -0400 Subject: Regaining IDE Efficiency: Property Inspector In-Reply-To: <9b37e397-a470-1182-5ef0-ed46f3e82207@researchware.com> References: <9b37e397-a470-1182-5ef0-ed46f3e82207@researchware.com> Message-ID: <5B6C6382.1010003@pair.com> Here's the QA enhancement request for Property Inspector defects: https://quality.livecode.com/show_bug.cgi?id=21479 Sorry I didn't see some of the replies here until already submitted, but feel free to add comments there, and sign on if you want this stuff done! Paul/Bob: Yes, I tested all these with 901rc1. Richard: You and I both love efficiency! I do think sheets are powerful. Then again LC already had a mostly very efficient IDE full of well-honed features in a well-designed format that were inexplicably lost when updating/porting/remaking. Efficiency already achieved and probably fairly easy to regain. Brian: Ah, the gear can make the tab icons bigger! Thanks!! BTW, at some point I'll do the same for other IDE areas and file separate Regain Lost Efficiency requests for those areas, but if anyone has spare time, feel free to beat me to it! Best wishes, Curry Kenworthy Custom Software Development LiveCode Training and Consulting http://livecodeconsulting.com/ From klaus at major-k.de Thu Aug 9 11:55:13 2018 From: klaus at major-k.de (Klaus major-k) Date: Thu, 9 Aug 2018 17:55:13 +0200 Subject: stackfiles In-Reply-To: References: <6F37FC00-586A-4C26-B856-1B11FF57F53D@major-k.de> Message-ID: <5A4B1F14-E276-4815-9B8B-5B1E4E3CAD33@major-k.de> Hi Richard, > Am 09.08.2018 um 17:20 schrieb Richard Gaskin via use-livecode : > > Klaus major-k wrote: > ... > When a stack file is included among the stackfiles property of an open stack, you should be able to address it by short name if you like. thank you, that finally answers my question. 8-) > -- > Richard Gaskin > Fourth World Systems > Software Design and Development for the Desktop, Mobile, and the Web > ____________________________________________________________________ > Ambassador at FourthWorld.com http://www.FourthWorld.com Best Klaus -- Klaus Major http://www.major-k.de klaus at major-k.de From bobsneidar at iotecdigital.com Thu Aug 9 12:06:28 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Thu, 9 Aug 2018 16:06:28 +0000 Subject: stackfiles In-Reply-To: <5A4B1F14-E276-4815-9B8B-5B1E4E3CAD33@major-k.de> References: <6F37FC00-586A-4C26-B856-1B11FF57F53D@major-k.de> <5A4B1F14-E276-4815-9B8B-5B1E4E3CAD33@major-k.de> Message-ID: <396B0699-BF3F-4823-A1FF-9CB1187F19EA@iotecdigital.com> Ah! I get it now. I tested this. 2 stacks, one with the stackfiles set to a third stack somewhere on disk. Second one with a button that opens the stack listed in the stackfiles of the first stack using it's short name. With both stacks open, Clicking the button opens the stack listed in the stackfiles of the first stack. With only the second stack open, I get a script error. So, yes! Bob S > On Aug 9, 2018, at 08:55 , Klaus major-k via use-livecode wrote: > > Hi Richard, > >> Am 09.08.2018 um 17:20 schrieb Richard Gaskin via use-livecode : >> >> Klaus major-k wrote: >> ... >> When a stack file is included among the stackfiles property of an open stack, you should be able to address it by short name if you like. > > thank you, that finally answers my question. 8-) > >> -- >> Richard Gaskin >> Fourth World Systems >> Software Design and Development for the Desktop, Mobile, and the Web From bobsneidar at iotecdigital.com Thu Aug 9 12:17:31 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Thu, 9 Aug 2018 16:17:31 +0000 Subject: stackfiles In-Reply-To: <396B0699-BF3F-4823-A1FF-9CB1187F19EA@iotecdigital.com> References: <6F37FC00-586A-4C26-B856-1B11FF57F53D@major-k.de> <5A4B1F14-E276-4815-9B8B-5B1E4E3CAD33@major-k.de> <396B0699-BF3F-4823-A1FF-9CB1187F19EA@iotecdigital.com> Message-ID: How odd though. The stackfiles is acting like a global property. Imagine I have 2 projects open, each referencing 2 different versions of the same stack in different locations on the disk. Any attempt to open that stack using it's short name might yield the wrong stack. I know you will say: "Well then, don't do that!" But lets say you have a splash stack you use in multiple projects, or a custom dialog stack. You make changes to one stack requiring an update to the other, but that would require that you update ALL the stacks that use the other stack. Rather than do that you might simply save a new version of the splash or dialog stack until you can get around to updating and testing the others. Bob S > On Aug 9, 2018, at 09:06 , Bob Sneidar via use-livecode wrote: > > Ah! I get it now. > > I tested this. 2 stacks, one with the stackfiles set to a third stack somewhere on disk. Second one with a button that opens the stack listed in the stackfiles of the first stack using it's short name. > > With both stacks open, Clicking the button opens the stack listed in the stackfiles of the first stack. With only the second stack open, I get a script error. > > So, yes! > > Bob S From bobsneidar at iotecdigital.com Thu Aug 9 12:23:09 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Thu, 9 Aug 2018 16:23:09 +0000 Subject: stackfiles In-Reply-To: References: <6F37FC00-586A-4C26-B856-1B11FF57F53D@major-k.de> <5A4B1F14-E276-4815-9B8B-5B1E4E3CAD33@major-k.de> <396B0699-BF3F-4823-A1FF-9CB1187F19EA@iotecdigital.com> Message-ID: <1C2BB7FF-FD73-406F-8533-9640E0F669F4@iotecdigital.com> The safe way then to do this would be: put the stackfiles of stack "test1" into tStackFiles -- or whatever your stack is named filter lines of tStackFiles with "splash*" -- or whatever your stack short name is put item 2 of tStackFiles into tFullStackPath open tFullStackPath Bob S > On Aug 9, 2018, at 09:17 , Bob Sneidar via use-livecode wrote: > > How odd though. The stackfiles is acting like a global property. Imagine I have 2 projects open, each referencing 2 different versions of the same stack in different locations on the disk. Any attempt to open that stack using it's short name might yield the wrong stack. > > I know you will say: "Well then, don't do that!" But lets say you have a splash stack you use in multiple projects, or a custom dialog stack. You make changes to one stack requiring an update to the other, but that would require that you update ALL the stacks that use the other stack. Rather than do that you might simply save a new version of the splash or dialog stack until you can get around to updating and testing the others. > > Bob S From bobsneidar at iotecdigital.com Thu Aug 9 12:24:49 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Thu, 9 Aug 2018 16:24:49 +0000 Subject: stackfiles In-Reply-To: <1C2BB7FF-FD73-406F-8533-9640E0F669F4@iotecdigital.com> References: <6F37FC00-586A-4C26-B856-1B11FF57F53D@major-k.de> <5A4B1F14-E276-4815-9B8B-5B1E4E3CAD33@major-k.de> <396B0699-BF3F-4823-A1FF-9CB1187F19EA@iotecdigital.com> <1C2BB7FF-FD73-406F-8533-9640E0F669F4@iotecdigital.com> Message-ID: <7F81C861-FCCD-4D3E-8F01-F26F272EBA48@iotecdigital.com> Should be: open stack tFullStackPath > On Aug 9, 2018, at 09:23 , Bob Sneidar via use-livecode wrote: > > open tFullStackPath From andrew at midwestcoastmedia.com Thu Aug 9 12:38:11 2018 From: andrew at midwestcoastmedia.com (andrew at midwestcoastmedia.com) Date: Thu, 09 Aug 2018 16:38:11 +0000 Subject: Tutorial for MAP widget In-Reply-To: Message-ID: <20180809163811.Horde.-4QRZGzBv8qavFzwh9-6G05@ua850258.serversignin.com> Like this? https://livecode.com/docs/9-0-0/components/map-widget/ I will be talking a little about my Map widget implementation during a LC Global talk next month. --Andrew Bell > From: Klaus major-k > To: How to use LiveCode > Subject: Tutorial for MAP widget > Message-ID: > Content-Type: text/plain; charset=us-ascii > > Hi all, > > could someone (the mothership?) please create a little tuorial > for the new MAP widget? This is really not self-explaining. > How to let the user create a new marker etc... > > Thanks a lot! > > > Best > > Klaus > -- > Klaus Major > http://www.major-k.de > klaus at major-k.de > From andrew at midwestcoastmedia.com Thu Aug 9 12:43:29 2018 From: andrew at midwestcoastmedia.com (andrew at midwestcoastmedia.com) Date: Thu, 09 Aug 2018 16:43:29 +0000 Subject: Regaining IDE Efficiency: Property Inspector In-Reply-To: Message-ID: <20180809164329.Horde.UCFB95YCN10RDLBqy_0jKNv@ua850258.serversignin.com> This one escaped me at first as well, but if you click on the sprocket widget in the upper-right of the PI you have the option for "Header/Footer Size" to grow and shrink the tabs. I'm not sure what "Footer" is referring to. --Andrew Bell > > PI window and tabs: > > - The PI tabs (Basic, Contents, Custom...) are one thing that is almost > more efficient now than in 6. Good! But still needs improvement. I say > "almost" efficient because the little tab buttons are way too small - > about 11x10 px on my screen. That's takes more effort and concentration > to click, and these are your highest-traffic PI controls. Even 16x16 > would be an improvement. Unless there's already a setting for this that > I missed. > From richmondmathewson at gmail.com Thu Aug 9 13:00:03 2018 From: richmondmathewson at gmail.com (Richmond Mathewson) Date: Thu, 9 Aug 2018 20:00:03 +0300 Subject: HTML to text in field In-Reply-To: References: <88c032f6-cd05-0acf-450f-5deffdec1f31@gmail.com> Message-ID: Possibly as it was lifted verbatim from "elsewhere'. :/ Although it works the way it is in LC 8.1.10. Richmond. On 9/8/2018 4:31 pm, Richard Gaskin via use-livecode wrote: > Richmond Mathewson wrote: > > > put (URL ("file:" & it),"UTF8") into CHEESE > > Was uniDecode intended there? > > -- > Richard Gaskin > Fourth World Systems > Software Design and Development for the Desktop, Mobile, and the Web > ____________________________________________________________________ > Ambassador at FourthWorld.com http://www.FourthWorld.com > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From richmondmathewson at gmail.com Thu Aug 9 13:17:21 2018 From: richmondmathewson at gmail.com (Richmond Mathewson) Date: Thu, 9 Aug 2018 20:17:21 +0300 Subject: HTML to text in field In-Reply-To: References: <2FD56902-8D4C-4902-9504-4579A2949534@clearvisiontech.com> <88c032f6-cd05-0acf-450f-5deffdec1f31@gmail.com> Message-ID: Hmm . . . On 9/8/2018 4:21 pm, David V Glasgow via use-livecode wrote: > Thanks Richmond, I will mess about with your suggestions. It's always much appreciated when someone takes the time to suggest a complete handler. > > But ?. I want more! * **Just as long as I can call you Oliver Twist. :)* > Can you see anything wrong with this? > > > replaceText (ttemp, "<*>", "|") * **Dunno, I have NEVER used replaceText. One thing I do know is that the in-built Dictionary in LC 7.1.4 is much more Richmond-friendly than that in the 8 and 9 series. Might not be a bad idea to try double quotes round 'ttemp': yes, I know that sounds bonkers, but . . . Ah, wait a malformed moment . . . I think you have got 'that' all wrong insofar as I don't think you can use a string-variable as the first term inside the brackets of a replaceText thingy (I use the term 'thingy' advisably as I haven't a clue whether replaceText is a function or something else) . . . Have a go with this ever so-slightly retro, mechanical thing: put ttemp into fld "TTTEMP" replaceText (fld "TTTEMP", "<*>", "|" Well it is probably a better bet than a sharp stick in the eye! * > > or have a clue about the error message? > > ?button "Import HTML": execution error at line 7 (Handler: can't find handler) near "replaceText", char 1? *Read "my crap" above. Gosh, this Belarussian Stout really makes me 'artistic'. Richmond. * > > Cheers, > > David G > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From andrew at midwestcoastmedia.com Thu Aug 9 14:07:04 2018 From: andrew at midwestcoastmedia.com (andrew at midwestcoastmedia.com) Date: Thu, 09 Aug 2018 18:07:04 +0000 Subject: Tutorial for MAP widget In-Reply-To: Message-ID: <20180809180704.Horde.A0m9yJ3MhdEqS-2LfQvicCv@ua850258.serversignin.com> Klaus- After further inspection I agree with you that this widget needs a proper tutorial. I was looking at the module itself trying to find some undocumented features (like a polygon or circle overlay instead of just a polyline) and came up empty handed. After looking at the W3Schools tutorial @ https://www.w3schools.com/graphics/google_maps_overlays.asp I noticed that you could create multiple polyline segments using the native Google Maps API. The demo code in the LC 9.0.0 docs (not the dictionary, but the doc referenced in my previous post) uses the following example: put "55,-3,55,-5" into tPolylines["line"]["coordinates"] It isn't documented, but this is a comma delimited list of lat/long value pairs (also separated by a comma) to be used as points for connecting line segments. So in the provided example a line segment is drawn from "55,-3" to "55,-5" on the map. But you can draw a triangle between Edinburgh (55,-3), New York (40,-74), and Cairo (30,31) then back to Edinburgh with this: put "55,-3,40,-74,30,31,55,-3" into tPolylines["line"]["coordinates"] The closed triangle needs 4 sets of coordinates, not just 3, so it can return to the "home" point. Still not quite the polygon overlay that the Google Maps API provides, but a neat option that wasn't evident by reading the current documentation. It's also not explicitly documented that the "color" property will accept a RGBA value so the following example provides an orange-ish overlay with a ~39% opacity (100 / 255): put "228,128,0,100" into tPolylines["line"]["color"] In fact, the dictionary reference for polylines only shows RGB as an example. This is an extremely powerful widget... if you know what it is actually doing. --Andrew Bell > From: Klaus major-k > To: How to use LiveCode > Subject: Tutorial for MAP widget > Message-ID: > Content-Type: text/plain; charset=us-ascii > > Hi all, > > could someone (the mothership?) please create a little tuorial > for the new MAP widget? This is really not self-explaining. > How to let the user create a new marker etc... > > Thanks a lot! > > > Best > > Klaus > -- > Klaus Major > http://www.major-k.de > klaus at major-k.de > From ambassador at fourthworld.com Thu Aug 9 14:45:28 2018 From: ambassador at fourthworld.com (Richard Gaskin) Date: Thu, 9 Aug 2018 11:45:28 -0700 Subject: stackfiles In-Reply-To: References: Message-ID: <73985a31-5ec2-a2c8-4cd8-5f246b159d9c@fourthworld.com> Bob Sneidar wrote: > How odd though. The stackfiles is acting like a global property. > Imagine I have 2 projects open, each referencing 2 different versions > of the same stack in different locations on the disk. Any attempt to > open that stack using it's short name might yield the wrong stack. Yes, the stackFiles property is every bit as global as any other use of stack names. To handle different versions of a stack, I use different LC instances. FWIW ever since v5 (maybe earlier?) LC's clipboard preserves objects with complete fidelity even when pasting between instances, making the task of working on both a breeze. -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ____________________________________________________________________ Ambassador at FourthWorld.com http://www.FourthWorld.com From ambassador at fourthworld.com Thu Aug 9 14:40:43 2018 From: ambassador at fourthworld.com (Richard Gaskin) Date: Thu, 9 Aug 2018 11:40:43 -0700 Subject: Regaining IDE Efficiency: Property Inspector In-Reply-To: <5B6C6382.1010003@pair.com> References: <5B6C6382.1010003@pair.com> Message-ID: Curry Kenworthy wrote: > Here's the QA enhancement request for Property Inspector defects: > > https://quality.livecode.com/show_bug.cgi?id=21479 Thanks for submitting that, Curry. I have a dream in which an increasing amount of IDE stuff gets done by the community, leaving more C++ programmers available for the stuff that needs C++ programmers. That said, I have to admit I'm pressed for time this month myself, so I'm a poor example. But since this is all scripting work, is there anyone with the intersection of time, skills, and interest available to take some of this on? Obviously the team will get to it soon, but the more we work on IDE stuff the faster both that and engine work gets done. Mo' better LiveCode! -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ____________________________________________________________________ Ambassador at FourthWorld.com http://www.FourthWorld.com From jbv at souslelogo.com Thu Aug 9 15:23:35 2018 From: jbv at souslelogo.com (jbv) Date: Thu, 9 Aug 2018 21:23:35 +0200 Subject: Intersect outputs different result in desktop and LC server In-Reply-To: <723066f4-1c08-f1e6-5eb8-08fff876afc4@tweedly.net> References: <0f277889b40cef97321ed4c0c4fccaa3.squirrel@sage.on-rev.com> <7301a40a182559a26b352d0ca046fbd8.squirrel@sage.on-rev.com> <723066f4-1c08-f1e6-5eb8-08fff876afc4@tweedly.net> Message-ID: Hi Alex, Thanks for the tip. I'm on sage too. Is it me or is LC9 server much faster than previous versions ? One more thing : you wrote : "any file with extension .lc9 will use the latest stable release of LC9" Does that mean that LC server will be updated every time a new stable version is released ? And if yes, is it safe to fo into production with .lc9 scripts ? Best, On Thu, August 9, 2018 1:02 pm, Alex Tweedly via use-livecode wrote: > I sent a support request asking for it :-) > > > AFAIK, at least on sage, it is installed systemwide - so any file with > extension .lc9 will use the latest stable release of LC9 (this is a similar > scheme to what HostM use). > > I suspect you can use .htaccess to ensure it is used for all .lc files, > but I didn't do that; I kept all the old stuff unchanged, and use the .lc9 > extension in the two files I need it (they then load other .livecodescript > libraries, and some other .lc files, so I got all my old functionality by > renaming these two files, and redirecting a couple of URLs). > > > -- Alex. > > > > On 09/08/2018 06:52, jbv via use-livecode wrote: > >> How do you run LC9 server on on-rev ? >> Thanks. >> >> >> >> On Thu, August 9, 2018 1:40 am, Alex Tweedly via use-livecode wrote: >> >>> Oops - sent before I meant to ... >>> >>> >>> >>> With LC7 server on on-rev, I get >>> >>> >>> >>> 4141 5378 18699 28365 41200 50230 58901 62983 63416 65984 71574 73426 >>> 74288 112360 115826 121386 126039 141224 >>> >>> >>> >>> while with LC9 server on on-rev I get >>> >>> 4141 >>> >>> >>> >>> -- Alex. >>> >>> >>> >>> >>> >> >> >> >> _______________________________________________ >> use-livecode mailing list use-livecode at 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 at lists.runrev.com Please visit this > url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > > From alex at tweedly.net Thu Aug 9 15:55:33 2018 From: alex at tweedly.net (Alex Tweedly) Date: Thu, 9 Aug 2018 20:55:33 +0100 Subject: Intersect outputs different result in desktop and LC server In-Reply-To: References: <0f277889b40cef97321ed4c0c4fccaa3.squirrel@sage.on-rev.com> <7301a40a182559a26b352d0ca046fbd8.squirrel@sage.on-rev.com> <723066f4-1c08-f1e6-5eb8-08fff876afc4@tweedly.net> Message-ID: <738cee4c-489b-a90b-44ee-63135c66c3cb@tweedly.net> I think LC9 is faster, but I've never tested, so that's purely "anecdotal". Yes, I believe it does mean that a new stable release will replace the older one; I've quoted Robin's mail from my support ticket conversation below ... This might be worth a discussion with on-rev support, to see whether there might be a way they could make available newer version, but allow guaranteed access to the "older" version for some time after the new one becomes available so we can all test against it. I'm sure that if you had to revert (or remain) on an older version, they would be helpful in supplying a way to do that specific to your account - but maybe there would be a general way to do it that would make the option available to all users. I don't know if anyone on the on-rev team follows his list. Anyone there ? -- Alex. > Dear Alex, > > Yes, that is the plan: when 9.0.1 goes to stable I will update the server so > that .lc9 serves 9.0.1 and 9.0.0 becomes unavailable. I think that's the best > way of managing it. > > Regards, > > Robin From monte at appisle.net Thu Aug 9 17:48:01 2018 From: monte at appisle.net (Monte Goulding) Date: Fri, 10 Aug 2018 07:48:01 +1000 Subject: Regaining IDE Efficiency: Property Inspector In-Reply-To: <5B6C6382.1010003@pair.com> References: <9b37e397-a470-1182-5ef0-ed46f3e82207@researchware.com> <5B6C6382.1010003@pair.com> Message-ID: > On 10 Aug 2018, at 1:53 am, Curry Kenworthy via use-livecode wrote: > > Here's the QA enhancement request for Property Inspector defects: > > https://quality.livecode.com/show_bug.cgi?id=21479 Hi Curry We really need a single report per issue. After all you wouldn?t like to see a release note for bug 21479 being ?Fixes various property inspector issues Curry noticed?. One report per issue, with recipe on how to reproduce means we can focus on implementing the actual fixes rather than having to task someone with creating reproducible recipes and individual reports. As Richard mentioned it would be great if we had more Brian Milbys (or is that Milbies ;-) around that like to jump in and get involved. The reality is with limited resources the team ends up having to prioritise engine issues over IDE usability niggles so the help is appreciated. Cheers Monte From bobsneidar at iotecdigital.com Thu Aug 9 18:37:16 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Thu, 9 Aug 2018 22:37:16 +0000 Subject: stackfiles In-Reply-To: <73985a31-5ec2-a2c8-4cd8-5f246b159d9c@fourthworld.com> References: <73985a31-5ec2-a2c8-4cd8-5f246b159d9c@fourthworld.com> Message-ID: Not to belabor the point, but the stackfiles is a property of a STACK, not a global system property. It would be like setting the foo of stack "test1" to the filename of stack "splash", quitting LC, relaunching LC, opening stack "test1", then expecting to be able to open stack "splash" using it's short name. It's obvious that won't work, so you wouldn't expect the filenames property to make "splash" accessible simply by opening "test1". But knowledge is power, and as long as we are all aware, it doesn't matter that much to me. Bob S > On Aug 9, 2018, at 11:45 , Richard Gaskin via use-livecode wrote: > > Bob Sneidar wrote: > > > How odd though. The stackfiles is acting like a global property. > > Imagine I have 2 projects open, each referencing 2 different versions > > of the same stack in different locations on the disk. Any attempt to > > open that stack using it's short name might yield the wrong stack. > > Yes, the stackFiles property is every bit as global as any other use of stack names. From ahsoftware at sonic.net Thu Aug 9 18:47:58 2018 From: ahsoftware at sonic.net (Mark Wieder) Date: Thu, 9 Aug 2018 15:47:58 -0700 Subject: Regaining IDE Efficiency: Property Inspector In-Reply-To: <7917abf8-1a40-cd2f-8f8a-65b357180c1b@fourthworld.com> References: <5B6BFB64.8010704@pair.com> <7917abf8-1a40-cd2f-8f8a-65b357180c1b@fourthworld.com> Message-ID: On 08/09/2018 08:14 AM, Richard Gaskin via use-livecode wrote: > Many (most?) development environments use a property sheet* instead, to > handle the deep, rich variety of detailed properties developers need to > control. Much like revNavigator, no? I'm a big fan of property sheets. -- Mark Wieder ahsoftware at gmail.com From curry at pair.com Thu Aug 9 19:07:38 2018 From: curry at pair.com (Curry Kenworthy) Date: Thu, 09 Aug 2018 19:07:38 -0400 Subject: Regaining IDE Efficiency: Property Inspector In-Reply-To: References: Message-ID: <5B6CC93A.80807@pair.com> Monte: > We really need a single report per issue. Howdy Monte! Whatever you need is absolutely fine with me, feel free to parse and slice/dice this into any number of pieces with my blessing. However I myself will NOT be filing dozens or hundreds of report; impossible. I wasn't kidding or exaggerating the slightest bit about not having time for that; wish I did, but think of it ... I've been waiting for a whole YEAR just for the chance to get this first list done, and now it's done! Mark wanted some specifics and here they are. Also this is very much a gift to LiveCode, perhaps far more to your own benefit, not just a selfish request of my own. > with recipe on how to reproduce Each is described clearly, with all the info actually needed. > it would be great if we had more Brian Milbys ... > around that like to jump in and get involved. Yes it would! I heartily agree with you, amazing and greatly appreciated when people contribute, and I wish it were possible for me to donate more time to LC. (Beyond the 10 hours this list has taken to test and compile, and many dozens devoted to producing reports on LC 7 issues during that transition.) But right now it's just not physically (or temporally) possible for me. I have less free time and a bigger todo list than it might be possible for you to imagine. I'm sorry about that. But perhaps that would make more sense if I pointed out that YOU also are not donating time working on MY code either! :) However, if you're short of people, I certainly would be available for some part-time paid work on the IDE, and highly likely to improve on some of what you have there. I know my stuff. > IDE usability niggles Ha! I think the visible face of LiveCode that every user sees, along with the level of efficiency provided for doing useful tasks with it, might just rise to a slightly different phrase than "niggles." That got a real-life audible chuckle out of me just now! Wow. Still chuckling. That'll keep me smiling for a bit. Anyway, thank you sincerely for your comments and attention. I would love to see these issues improved, and there's no possible doubt that fixing the IDE would certainly be at the very minimum 100% as much to your benefit (and likely far, far more to yours) as it would be to my own. Not to mention all the others here. LC is a very special product, and we have a very special love for it. What a difference it makes in our lives! There's nothing that comes anywhere close to it. So I'd love to see the UI 100% back on its feet again. The love is real. I have to wrap up this reporting now and get back to my normal tasks which are piling up as we speak. Keep up the great work!! Best wishes, Curry Kenworthy Custom Software Development LiveCode Training and Consulting http://livecodeconsulting.com/ From curry at pair.com Thu Aug 9 19:21:19 2018 From: curry at pair.com (Curry Kenworthy) Date: Thu, 09 Aug 2018 19:21:19 -0400 Subject: Regaining IDE Efficiency: Property Inspector In-Reply-To: References: Message-ID: <5B6CCC6F.2080205@pair.com> Richard: > Many (most?) development environments use a property sheet Wieder: > I'm a big fan of property sheets. Hint: A property sheet doesn't necessarily need to look like one. It could be useful to consider the value that the past and current PI appearance has for users. The effect it has. It's a very user-friendly look, isn't it? So easy to locate things visually too. We could ask ourselves if that factors into any buying decisions. It probably did for me. At the time I wasn't really looking for just "yet another dev tool." There were plenty of those but I didn't go that route. But behind the scenes ... much can happen. And probably should happen. Without necessarily changing the look that people know and love. :) I'm capable of doing that, and others are too. Good food for thought. Back to work.... Best wishes, Curry Kenworthy Custom Software Development LiveCode Training and Consulting http://livecodeconsulting.com/ From ambassador at fourthworld.com Thu Aug 9 18:51:53 2018 From: ambassador at fourthworld.com (Richard Gaskin) Date: Thu, 9 Aug 2018 15:51:53 -0700 Subject: stackfiles In-Reply-To: References: Message-ID: <158d69b8-8ca2-b215-9065-cf86eb99c017@fourthworld.com> Bob Sneidar wrote: > On Aug 9, 2018, at 11:45 , Richard Gaskin wrote: > Yes, the stackFiles property is every bit as global as any other use > of stack names. > > Not to belabor the point, but the stackfiles is a property of a STACK, > not a global system property. A stack's name is also a property of a stack, but anything involving stack names has global effects. The stackFiles property allows us to use the short name of a stack file to easily access that stack. Once the stack with the stackFiles list is loaded, all those references are loaded with it. The same mechanism that allows scripts in that stack to call other stacks by short name allow any other scripts anywhere else to use that same name, because stack names have global effects. Besides, even if you had two stacks whose stackFiles had the same stack short name assigned to different stackFiles, one of them wouldn't work anyway because as soon as it tried you'd get a stack name conflict warning. Simpler to just remember that stack names have global scope, then you can plan accordingly with consistent simplicity. -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ____________________________________________________________________ Ambassador at FourthWorld.com http://www.FourthWorld.com From monte at appisle.net Thu Aug 9 19:41:31 2018 From: monte at appisle.net (Monte Goulding) Date: Fri, 10 Aug 2018 09:41:31 +1000 Subject: Regaining IDE Efficiency: Property Inspector In-Reply-To: <5B6CC93A.80807@pair.com> References: <5B6CC93A.80807@pair.com> Message-ID: > On 10 Aug 2018, at 9:07 am, Curry Kenworthy via use-livecode wrote: > > Whatever you need is absolutely fine with me, feel free to parse and slice/dice this into any number of pieces with my blessing. OK for anyone else following along the best way to discuss issues with us is to follow the bug reporting guidelines. Here they are FYI https://quality.livecode.com/page.cgi?id=bug-writing.html Cheers Monte From ahsoftware at sonic.net Thu Aug 9 19:42:56 2018 From: ahsoftware at sonic.net (Mark Wieder) Date: Thu, 9 Aug 2018 16:42:56 -0700 Subject: Regaining IDE Efficiency: Property Inspector In-Reply-To: <5B6CCC6F.2080205@pair.com> References: <5B6CCC6F.2080205@pair.com> Message-ID: <0564646a-92c3-99a9-3b2b-84e43f117b0c@sonic.net> On 08/09/2018 04:21 PM, Curry Kenworthy via use-livecode wrote: > Hint: A property sheet doesn't necessarily need to look like one. True, but it also shouldn't get in my way. And you've done a great job in listing most of the annoyances of the PI. -- Mark Wieder ahsoftware at gmail.com From MikeKerner at roadrunner.com Thu Aug 9 20:11:10 2018 From: MikeKerner at roadrunner.com (Mike Kerner) Date: Thu, 9 Aug 2018 20:11:10 -0400 Subject: Regaining IDE Efficiency: Property Inspector In-Reply-To: <0564646a-92c3-99a9-3b2b-84e43f117b0c@sonic.net> References: <5B6CCC6F.2080205@pair.com> <0564646a-92c3-99a9-3b2b-84e43f117b0c@sonic.net> Message-ID: I'm not a fan of sheets. I find myself doing constant scrolling because the property I'm looking for never seems to be on the screen, or if I'm changing multiple properties and messing with settings to see what the combination does, I'm constantly going up down up down, overshooting the property, having to scroll-scroll-scroll to get to the right spot. You can't take advantage of the 2D space (think about the position tab in the PI as the most obvious example) to organize related properties. You also can't use graphics or group boxes, shadows, colors, or backgrounds to make it clearer how properties are associated with each other. Shortcuts to switch tabs in the PI would make navigating better, IMHO. Ctrl-right arrow or ctrl-left arrow, ctrl-1..n would make flipping between pages faster, but the layout and the proximity of the tabs to the properties now still makes navigating between multiple pages of properties for an object and fiddling with them much faster than a sheet does. On Thu, Aug 9, 2018 at 7:44 PM Mark Wieder via use-livecode < use-livecode at lists.runrev.com> wrote: > On 08/09/2018 04:21 PM, Curry Kenworthy via use-livecode wrote: > > > Hint: A property sheet doesn't necessarily need to look like one. > > True, but it also shouldn't get in my way. > And you've done a great job in listing most of the annoyances of the PI. > > -- > Mark Wieder > ahsoftware at gmail.com > > _______________________________________________ > use-livecode mailing list > use-livecode at 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." From ambassador at fourthworld.com Thu Aug 9 20:33:23 2018 From: ambassador at fourthworld.com (Richard Gaskin) Date: Thu, 9 Aug 2018 17:33:23 -0700 Subject: Regaining IDE Efficiency: Property Inspector In-Reply-To: References: Message-ID: <436ff7ee-1f86-cf05-697a-0d8f2d719562@fourthworld.com> Mike Kerner wrote: > I'm not a fan of sheets. I find myself doing constant scrolling You're not using v9's PI? ;) > because the property I'm looking for never seems to be on the screen, > or if I'm changing multiple properties and messing with settings to > see what the combination does, I'm constantly going up down up down, > overshooting the property, having to scroll-scroll-scroll to get to > the right spot. True, prop sheets with views grouped by type and a Favorites view are best. > You can't take advantage of the 2D space (think about the position tab > in the PI as the most obvious example) to organize related properties. That's one. > You also can't use graphics or group boxes, shadows, colors, or > backgrounds to make it clearer how properties are associated with each > other. Why not? Most sheets I've seen use the color/pat as the background for the value, pretty much as we see them in LC's PI. > Shortcuts to switch tabs in the PI would make navigating better, IMHO. > Ctrl-right arrow or ctrl-left arrow, ctrl-1..n would make flipping > between pages faster, but the layout and the proximity of the tabs to > the properties now still makes navigating between multiple pages of > properties for an object and fiddling with them much faster than a > sheet does. Do we even have a keyboard shortcut to move focus to the Inspector? Back when I used to use Adobe products they used Cmd-, to shift focus to their inspector. Even if we do, though, since any palette has a global-ish scope how would the developer using it know when a shortcut is handled by the Inspector and when it's handled by their own app's menubars or other shortcut-driven features? -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ____________________________________________________________________ Ambassador at FourthWorld.com http://www.FourthWorld.com From brian at milby7.com Thu Aug 9 22:47:53 2018 From: brian at milby7.com (Brian Milby) Date: Thu, 9 Aug 2018 21:47:53 -0500 Subject: Regaining IDE Efficiency: Property Inspector In-Reply-To: References: <5B6C6382.1010003@pair.com> Message-ID: I've briefly looked at a few issues and have some comments: I should be able to put together something on the Custom Properties portion of the PI. I'm looking at the code and am not sure yet if the change needs to be in the widget, the PI, or both. I think that the widget should have a warning before clobbering a value (just like it does before deleting). I see why the tree is not shrinking, but am not sure how to fix it yet (the height of "me" is not getting smaller). It looks like the group grows but does not shrink, so you get the behavior that we see. If the group did shrink, it would get positioned correctly. For the PI, the raw keys are intercepted and scroll wheel is directed toward scrolling the PI group. So if you take the custom properties tab and grow it and then shrink it then the scroll wheel should work as expected to move the visible portion. Control arrows could probably be implemented in that same section of code if the community and corporate concurred. Thanks, Brian From jacque at hyperactivesw.com Thu Aug 9 23:21:10 2018 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Thu, 09 Aug 2018 22:21:10 -0500 Subject: Regaining IDE Efficiency: Property Inspector In-Reply-To: References: <5B6CCC6F.2080205@pair.com> <0564646a-92c3-99a9-3b2b-84e43f117b0c@sonic.net> Message-ID: <16521da2488.285b.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> Me either. I tried to like them, and tested at least three, and even made my own. But in the long run it's all muscle memory for me. I need landmarks, and colors aren't enough. -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com On August 9, 2018 7:13:27 PM Mike Kerner via use-livecode wrote: > I'm not a fan of sheets. I find myself doing constant scrolling because > the property I'm looking for never seems to be on the screen, or if I'm > changing multiple properties and messing with settings to see what the > combination does, I'm constantly going up down up down, overshooting the > property, having to scroll-scroll-scroll to get to the right spot. You > can't take advantage of the 2D space (think about the position tab in the > PI as the most obvious example) to organize related properties. You also > can't use graphics or group boxes, shadows, colors, or backgrounds to make > it clearer how properties are associated with each other. > > Shortcuts to switch tabs in the PI would make navigating better, IMHO. > Ctrl-right arrow or ctrl-left arrow, ctrl-1..n would make flipping between > pages faster, but the layout and the proximity of the tabs to the > properties now still makes navigating between multiple pages of properties > for an object and fiddling with them much faster than a sheet does. > > On Thu, Aug 9, 2018 at 7:44 PM Mark Wieder via use-livecode < > use-livecode at lists.runrev.com> wrote: > >> On 08/09/2018 04:21 PM, Curry Kenworthy via use-livecode wrote: >> >> > Hint: A property sheet doesn't necessarily need to look like one. >> >> True, but it also shouldn't get in my way. >> And you've done a great job in listing most of the annoyances of the PI. >> >> -- >> Mark Wieder >> ahsoftware at gmail.com >> >> _______________________________________________ >> use-livecode mailing list >> use-livecode at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From brian at milby7.com Fri Aug 10 01:01:31 2018 From: brian at milby7.com (Brian Milby) Date: Fri, 10 Aug 2018 00:01:31 -0500 Subject: Tree View / Custom Properties PI Message-ID: Before going too far, I'd like to get some feedback on the best way to address one of the issues that Curry brought up. Currently, when in the Tree View widget (which is used in the Custom Properties PI), if you click on the "+" icon to add a new array key, the value in the existing key is lost if it is not already an array. My proposal here is to migrate the value to the new key (1). If you clicked the "+" again, then you would get the normal new key (2) with an empty string as the value. Line 1514 of the treeview.lcb file: put **tElement** into tArray[1 formatted as string] What is probably a bigger potential issue is if you set a value on a key that is currently an array. If that is done in the PI, then the sub-array is lost and replaced with the value. Still thinking on this piece (but the change is going to be in the PI and not the Tree widget). I'm thinking that a confirmation dialog is appropriate here. Here's a fix for (much of) the text selection issue: Mac path: LiveCode9.app/Contents/Tools/Toolset /palettes/inspector/behaviors/revinspectoreditorbehavior.livecodescript add the following handler: after openField select the text of the target end openField That will auto-select text in the PI in many cases. There is a need for another statement in the custom properties behavior (here are lines 69-73 in the 9.0.1 source; 72 is the new line): /palettes/inspector/editors/com.livecode.pi.customprops.behavior.livecodescript if the result is empty then put tKey into field "value" of me put item -1 of tPath into field "key" of me **select the text of field "key" of me** else I have not looked into automatically selecting the newly created key, but with the above 2 additions when you click on a line in the tree view widget the key is selected with focus and ready for edit. A tab will take you to the value field with the text selected. So, it looks like adding 4 lines of code to the IDE and changing 1 word in the Tree View widget source can remove a few of the irritation points. Before submitting anything, I do want to see if I can identify where to address the resize issue mentioned above. Thanks, Brian From revolution at derbrill.de Fri Aug 10 07:54:47 2018 From: revolution at derbrill.de (Malte Pfaff-Brill) Date: Fri, 10 Aug 2018 13:54:47 +0200 Subject: Writing to SMB Share? In-Reply-To: References: Message-ID: Hi folks, Is it possible to write to an SMB share which requires User authentication from within liveCode (Domain/User/password)? If so, I am glad for any pointers! Cheers, Malte From matthias_livecode_150811 at m-r-d.de Fri Aug 10 08:24:26 2018 From: matthias_livecode_150811 at m-r-d.de (Matthias Rebbe) Date: Fri, 10 Aug 2018 14:24:26 +0200 Subject: Writing to SMB Share? In-Reply-To: References: Message-ID: <15BEE08C-5D42-40CE-A4BF-B6310BCFA75B@m-r-d.de> From which OS do you want to connect? From Linux you could include the username and password in the UNC. smb://username:passwort at servername/folder? But i am not sure, if this works when working in a domain structure. Regards Matthias > Am 10.08.2018 um 13:54 schrieb Malte Pfaff-Brill via use-livecode : > > Hi folks, > > Is it possible to write to an SMB share which requires User authentication from within liveCode (Domain/User/password)? If so, I am glad for any pointers! > > Cheers, > > Malte > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From bobsneidar at iotecdigital.com Fri Aug 10 10:55:32 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Fri, 10 Aug 2018 14:55:32 +0000 Subject: stackfiles In-Reply-To: <158d69b8-8ca2-b215-9065-cf86eb99c017@fourthworld.com> References: <158d69b8-8ca2-b215-9065-cf86eb99c017@fourthworld.com> Message-ID: <4C9D8E4B-C529-4445-940E-488705218A9E@iotecdigital.com> Hi Richard. I tested this. You don't get a conflict warning if the second stack attempts to open it's version of "splash" after the first stack had opened it's version. Instead, when the first stack has it's version of "splash" already opened, and the second stack tries to open it's "splash", LC simply goes to the "splash" the first stack already has open. The only conflict warning I got was when I set the stackfiles of stack "test1" to one copy of "splash", then attempted to do the same thing with stack "test2" using a different copy of splash. I assume then that setting the stackfile propery actually opens the stackfile and leaves it open in memory. But subsequently opening either test stack will NOT automatically open their own stack files. It may be that Linux or Windows is behaving differently. So as I posted earlier, the only way to get around this, if you were so unwise as to have 2 versions of a stackfile floating around, would be to get the line of the stackfiles property for the stackfile you want to open, then use the full path, which is item 2 of the line. But then if the OTHER version of the stack file is open, THEN you would get the conflict. Bob S > On Aug 9, 2018, at 15:51 , Richard Gaskin via use-livecode wrote: > > Besides, even if you had two stacks whose stackFiles had the same stack short name assigned to different stackFiles, one of them wouldn't work anyway because as soon as it tried you'd get a stack name conflict warning. From tom at makeshyft.com Fri Aug 10 10:59:06 2018 From: tom at makeshyft.com (Tom Glod) Date: Fri, 10 Aug 2018 10:59:06 -0400 Subject: Livecode Global Message-ID: This might sound like a dumb question, but are the livecode global events still going on for the remainder of the year? .... we just had one last month apparently...and there were no emails, no posts, literally nothing written about it anywhere that I saw. If anyone attended it.... how was it? From bobsneidar at iotecdigital.com Fri Aug 10 11:19:22 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Fri, 10 Aug 2018 15:19:22 +0000 Subject: Tree View / Custom Properties PI In-Reply-To: References: Message-ID: <00DF21A5-F020-4A47-8E7B-0834F7DCA2EB@iotecdigital.com> You would need to set the focus to the field for the key value when the + button was clicked. Unfortunately, the revInspector stack has a blank card, so apparently it is built "on the fly". I cannot discern what the field name or the + button name is. Bob S > On Aug 9, 2018, at 22:01 , Brian Milby via use-livecode wrote: > > I have not looked into automatically selecting the newly created key, but > with the above 2 additions when you click on a line in the tree view widget > the key is selected with focus and ready for edit. A tab will take you to > the value field with the text selected. From bobsneidar at iotecdigital.com Fri Aug 10 11:21:43 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Fri, 10 Aug 2018 15:21:43 +0000 Subject: Writing to SMB Share? In-Reply-To: <15BEE08C-5D42-40CE-A4BF-B6310BCFA75B@m-r-d.de> References: <15BEE08C-5D42-40CE-A4BF-B6310BCFA75B@m-r-d.de> Message-ID: <703183F3-366B-4BCC-A11E-BCA655E9A5EC@iotecdigital.com> That should work for any SMB connection that accepts UNC paths, regardless of OS. The downside of course is that the password is exposed in the script or in some stored property. A domain environment would assume the user is a domain user and authenticate against LDAP. Bob S > On Aug 10, 2018, at 05:24 , Matthias Rebbe via use-livecode wrote: > > From which OS do you want to connect? > > From Linux you could include the username and password in the UNC. > smb://username:passwort at servername/folder? > > But i am not sure, if this works when working in a domain structure. > > Regards > Matthias From bobsneidar at iotecdigital.com Fri Aug 10 11:24:23 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Fri, 10 Aug 2018 15:24:23 +0000 Subject: Tree View / Custom Properties PI In-Reply-To: <00DF21A5-F020-4A47-8E7B-0834F7DCA2EB@iotecdigital.com> References: <00DF21A5-F020-4A47-8E7B-0834F7DCA2EB@iotecdigital.com> Message-ID: And the + button is actually an element of the treeview widget, so good luck with that. You would have to trap for an event when the + button is clicked, and I think if I understand widgets, that the event would have to be exposed to the IDE by the widget. Bob S > On Aug 10, 2018, at 08:19 , Bob Sneidar via use-livecode wrote: > > You would need to set the focus to the field for the key value when the + button was clicked. Unfortunately, the revInspector stack has a blank card, so apparently it is built "on the fly". I cannot discern what the field name or the + button name is. > > Bob S From brian at milby7.com Fri Aug 10 11:55:57 2018 From: brian at milby7.com (Brian Milby) Date: Fri, 10 Aug 2018 10:55:57 -0500 Subject: Tree View / Custom Properties PI In-Reply-To: References: <00DF21A5-F020-4A47-8E7B-0834F7DCA2EB@iotecdigital.com> Message-ID: Events are sent when the button is clicked, just need to verify everything. It may require a different message, but have not gotten that far. Modifying the widget is easy though. Thanks, Brian On Aug 10, 2018, 10:24 AM -0500, Bob Sneidar via use-livecode , wrote: > And the + button is actually an element of the treeview widget, so good luck with that. You would have to trap for an event when the + button is clicked, and I think if I understand widgets, that the event would have to be exposed to the IDE by the widget. > > Bob S > > > > On Aug 10, 2018, at 08:19 , Bob Sneidar via use-livecode wrote: > > > > You would need to set the focus to the field for the key value when the + button was clicked. Unfortunately, the revInspector stack has a blank card, so apparently it is built "on the fly". I cannot discern what the field name or the + button name is. > > > > Bob S > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From ambassador at fourthworld.com Fri Aug 10 11:45:30 2018 From: ambassador at fourthworld.com (Richard Gaskin) Date: Fri, 10 Aug 2018 08:45:30 -0700 Subject: stackfiles In-Reply-To: <4C9D8E4B-C529-4445-940E-488705218A9E@iotecdigital.com> References: <4C9D8E4B-C529-4445-940E-488705218A9E@iotecdigital.com> Message-ID: <8ab8ff18-b266-8916-f5c7-a6ac2446bf0a@fourthworld.com> Bob Sneidar wrote: >> On Aug 9, 2018, at 15:51 , Richard Gaskin wrote: >> >> Besides, even if you had two stacks whose stackFiles had the same >> stack short name assigned to different stackFiles, one of them >> wouldn't work anyway because as soon as it tried you'd get a stack >> name conflict warning. > > I tested this. You don't get a conflict warning if the second stack > attempts to open it's version of "splash" after the first stack had > opened it's version. Instead, when the first stack has it's version of > "splash" already opened, and the second stack tries to open it's > "splash", LC simply goes to the "splash" the first stack already has > open. Any confusion there is just clumsy writing on my part. When I wrote "wouldn't work anyway" I meant that if it did what you had originally expected the stack name conflict would be the outcome. As implemented, the stack name conflict is avoided because the stackFiles assignments first brought into use take precedence over anything later that would contradict them. > So as I posted earlier, the only way to get around this, if you were > so unwise as to have 2 versions of a stackfile floating around, would > be to get the line of the stackfiles property for the stackfile you > want to open, then use the full path, which is item 2 of the line. But > then if the OTHER version of the stack file is open, THEN you would > get the conflict. Exactly. Stack names being global, any "solution" to this won't be much of a solution at all, since the end result would be a stack name conflict. Finding a true solution would depend on *why* you're working on multiple stacks with the same name. If it's to compare something with an older version, or copy something from an older version into a new one, running the older version in a second instance of LC is simple enough if you can spare a gig and a half of disk space. That gives you a completely separate namespace and requires no special effort beyond copying your LC folder. Diffing can be done cleanly and efficiently by reducing each stack to an array and then comparing the arrays. Converting a stack to LSON is a relatively short script, and once on disk the LSON files have no namespace restrictions so they can be easily manipulated within a single LC instance however one likes. And if you use script-only stacks you have the choice of opening them as stacks or textual data, so working with two stacks as text is super easy and requires no special handling, and can even be done in any text editor. There are also the possibility of automating versioned saves with appended stack names that include a unique time stamp, and many other options. Which of the many options is best for your circumstance will depend on the "why". -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ____________________________________________________________________ Ambassador at FourthWorld.com http://www.FourthWorld.com From ahsoftware at sonic.net Fri Aug 10 12:31:30 2018 From: ahsoftware at sonic.net (Mark Wieder) Date: Fri, 10 Aug 2018 09:31:30 -0700 Subject: Regaining IDE Efficiency: Property Inspector In-Reply-To: References: <5B6C6382.1010003@pair.com> Message-ID: On 08/09/2018 07:47 PM, Brian Milby via use-livecode wrote: > For the PI, the raw keys are intercepted and scroll wheel is directed > toward scrolling the PI group. So if you take the custom properties tab > and grow it and then shrink it then the scroll wheel should work as > expected to move the visible portion. The scroll wheel still doesn't work with the contents section of a custom property (whatever that three line text field is called). -- Mark Wieder ahsoftware at gmail.com From curry at pair.com Fri Aug 10 12:47:02 2018 From: curry at pair.com (Curry Kenworthy) Date: Fri, 10 Aug 2018 12:47:02 -0400 Subject: Tree View / Custom Properties PI In-Reply-To: References: Message-ID: <5B6DC186.3000906@pair.com> Brian: > So, it looks like adding 4 lines of code to the IDE > and changing 1 word in the Tree View widget source > can remove a few of the irritation points. Nice! Thanks for looking into this part of it. Best wishes, Curry Kenworthy Custom Software Development LiveCode Training and Consulting http://livecodeconsulting.com/ From brian at milby7.com Fri Aug 10 12:50:49 2018 From: brian at milby7.com (Brian Milby) Date: Fri, 10 Aug 2018 11:50:49 -0500 Subject: Regaining IDE Efficiency: Property Inspector In-Reply-To: References: <5B6C6382.1010003@pair.com> Message-ID: Scroll wheel is set to move the whole group, so any individual control is not touched. It does not move any content itself, just the whole ?card?. Thanks, Brian On Aug 10, 2018, 11:32 AM -0500, Mark Wieder via use-livecode , wrote: > On 08/09/2018 07:47 PM, Brian Milby via use-livecode wrote: > > > For the PI, the raw keys are intercepted and scroll wheel is directed > > toward scrolling the PI group. So if you take the custom properties tab > > and grow it and then shrink it then the scroll wheel should work as > > expected to move the visible portion. > > The scroll wheel still doesn't work with the contents section of a > custom property (whatever that three line text field is called). > > -- > Mark Wieder > ahsoftware at gmail.com > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From brian at milby7.com Fri Aug 10 12:53:43 2018 From: brian at milby7.com (Brian Milby) Date: Fri, 10 Aug 2018 11:53:43 -0500 Subject: Livecode Global In-Reply-To: References: Message-ID: <14710ba5-4a86-4c5f-bbbf-9dd56f1ab2be@Spark> I?m biased since I gave a talk, but it was good. We do have 2 more. Thanks, Brian On Aug 10, 2018, 9:59 AM -0500, Tom Glod via use-livecode , wrote: > This might sound like a dumb question, but are the livecode global events > still going on for the remainder of the year? .... we just had one last > month apparently...and there were no emails, no posts, literally nothing > written about it anywhere that I saw. > > If anyone attended it.... how was it? > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From bobsneidar at iotecdigital.com Fri Aug 10 13:09:23 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Fri, 10 Aug 2018 17:09:23 +0000 Subject: Regaining IDE Efficiency: Property Inspector In-Reply-To: References: <5B6C6382.1010003@pair.com> Message-ID: Not complaining, just saying, the scrollwheel should scroll whatever target the mouse is hovering over. You can use the mouseControl for that. Bob S > On Aug 10, 2018, at 09:50 , Brian Milby via use-livecode wrote: > > Scroll wheel is set to move the whole group, so any individual control is not touched. It does not move any content itself, just the whole ?card?. > > Thanks, > Brian From ambassador at fourthworld.com Fri Aug 10 13:53:04 2018 From: ambassador at fourthworld.com (Richard Gaskin) Date: Fri, 10 Aug 2018 10:53:04 -0700 Subject: Intersect outputs different result in desktop and LC server In-Reply-To: References: Message-ID: jbv wrote: > Is it me or is LC9 server much faster than previous versions ? A great many areas are measurably faster, some even noticeably faster. v7 was a transitional series, necessary for Unicode along with other deep revisions. As a first pass at such a broad scope of changes, many optimizations were not pursued there which have been implemented since. I don't have a complete list of changes, or metrics. I uninstalled all v7 copies the day 8.0 came out, and removed 8 when 9 came out. But if the details are of interest, some forum searches and Release Notes reviews should provide those. The short answer is simply, "much faster". -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ____________________________________________________________________ Ambassador at FourthWorld.com http://www.FourthWorld.com From tom at makeshyft.com Fri Aug 10 14:45:22 2018 From: tom at makeshyft.com (Tom Glod) Date: Fri, 10 Aug 2018 14:45:22 -0400 Subject: Livecode Global In-Reply-To: <14710ba5-4a86-4c5f-bbbf-9dd56f1ab2be@Spark> References: <14710ba5-4a86-4c5f-bbbf-9dd56f1ab2be@Spark> Message-ID: right on happy to hear.....I totally forgot about it...and no one reminded me .... didn't see anything on social media.....maybe its just me....but maybe we'll try to create more awareness for the next one. perfect time to work on my talk. .... more than 1 month to go. thanks Brian On Fri, Aug 10, 2018 at 12:53 PM, Brian Milby via use-livecode < use-livecode at lists.runrev.com> wrote: > I?m biased since I gave a talk, but it was good. We do have 2 more. > > Thanks, > Brian > On Aug 10, 2018, 9:59 AM -0500, Tom Glod via use-livecode < > use-livecode at lists.runrev.com>, wrote: > > This might sound like a dumb question, but are the livecode global events > > still going on for the remainder of the year? .... we just had one last > > month apparently...and there were no emails, no posts, literally nothing > > written about it anywhere that I saw. > > > > If anyone attended it.... how was it? > > _______________________________________________ > > use-livecode mailing list > > use-livecode at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From bobsneidar at iotecdigital.com Fri Aug 10 16:20:37 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Fri, 10 Aug 2018 20:20:37 +0000 Subject: Repeat for each element failing Message-ID: Hi all. I have an array of arrays (think dgData) and I am starting a repeat loop like this: repeat for each element aSiteRecord in aSiteData ... I verified aSiteData is an array of arrays (it's the dgData of my sites datagrid) but when stepping in the debugger it goes right to the next statement after the end of the repeat loop without executing anything inside it. Is it legal to have arrays for the elements, or is it restricted to values? Bob S From bobsneidar at iotecdigital.com Fri Aug 10 16:23:04 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Fri, 10 Aug 2018 20:23:04 +0000 Subject: Repeat for each element failing In-Reply-To: References: Message-ID: <6A522884-F43D-41BE-A8DA-744CD19ECE9A@iotecdigital.com> Belay that apparently while troubleshooting and modifying code, one of the records in the datagrid had an empty key value. Bob S > On Aug 10, 2018, at 13:20 , Bob Sneidar via use-livecode wrote: > > Hi all. > > I have an array of arrays (think dgData) and I am starting a repeat loop like this: > > repeat for each element aSiteRecord in aSiteData > ... > > I verified aSiteData is an array of arrays (it's the dgData of my sites datagrid) but when stepping in the debugger it goes right to the next statement after the end of the repeat loop without executing anything inside it. > > Is it legal to have arrays for the elements, or is it restricted to values? > > Bob S From MikeKerner at roadrunner.com Fri Aug 10 16:43:17 2018 From: MikeKerner at roadrunner.com (Mike Kerner) Date: Fri, 10 Aug 2018 16:43:17 -0400 Subject: Livecode Global In-Reply-To: References: <14710ba5-4a86-4c5f-bbbf-9dd56f1ab2be@Spark> Message-ID: And you can pull all the recordings off the website. I'd say the beginner series is worth the price all by itself. That guy is AWESOME. Brian was ok, too. I don't remember anything earth-shattering, which is usually what gets people talking. Lots of good instructionals this time. On Fri, Aug 10, 2018 at 2:45 PM Tom Glod via use-livecode < use-livecode at lists.runrev.com> wrote: > right on happy to hear.....I totally forgot about it...and no one reminded > me .... didn't see anything on social media.....maybe its just me....but > maybe we'll try to create more awareness for the next one. > > perfect time to work on my talk. .... more than 1 month to go. > > thanks Brian > > On Fri, Aug 10, 2018 at 12:53 PM, Brian Milby via use-livecode < > use-livecode at lists.runrev.com> wrote: > > > I?m biased since I gave a talk, but it was good. We do have 2 more. > > > > Thanks, > > Brian > > On Aug 10, 2018, 9:59 AM -0500, Tom Glod via use-livecode < > > use-livecode at lists.runrev.com>, wrote: > > > This might sound like a dumb question, but are the livecode global > events > > > still going on for the remainder of the year? .... we just had one last > > > month apparently...and there were no emails, no posts, literally > nothing > > > written about it anywhere that I saw. > > > > > > If anyone attended it.... how was it? > > > _______________________________________________ > > > use-livecode mailing list > > > use-livecode at 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 at 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 at 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." From ahsoftware at sonic.net Fri Aug 10 18:48:03 2018 From: ahsoftware at sonic.net (Mark Wieder) Date: Fri, 10 Aug 2018 15:48:03 -0700 Subject: Regaining IDE Efficiency: Property Inspector In-Reply-To: References: <5B6C6382.1010003@pair.com> Message-ID: <6243020b-b15d-cd52-010d-61bb4fb2a6fe@sonic.net> On 08/10/2018 09:50 AM, Brian Milby via use-livecode wrote: > Scroll wheel is set to move the whole group, so any individual control is not touched. It does not move any content itself, just the whole ?card?. ftfy: adding this handler to the script of field "value" of group "template" of stack "com.livecode.pi.customprops.livecode" allows the scrollwheels and pageUp/pageDown keys to scroll the custom props value. https://quality.livecode.com/show_bug.cgi?id=21484 -- Mark Wieder ahsoftware at gmail.com From gcanyon at gmail.com Fri Aug 10 20:36:17 2018 From: gcanyon at gmail.com (Geoff Canyon) Date: Fri, 10 Aug 2018 17:36:17 -0700 Subject: valueDiff for arrays? In-Reply-To: References: <10161fab-d733-c0ae-dadf-2814172461ef@sonic.net> <65fcd351-5f1f-8d15-1292-c58d6df5b7d0@sonic.net> <93beddfc-5a9c-a91c-72de-7144932914b4@sonic.net> <43dce488-5fee-0daf-71ab-84e69bc1c591@sonic.net> <1cb4e7882c3eabee975c01cbd8bb5355@livecode.com> Message-ID: Are you working with "LiveCode UI elements appear in lists of stacks" enabled? I specifically named all the script behaviors for Navigator starting with "rev" and they don't show up in the Project Browser for me. Not that I had looked before this, I use Navigator for everything. ;-) On Sat, Aug 4, 2018 at 11:42 AM Mark Wieder via use-livecode < use-livecode at lists.runrev.com> wrote: > On 08/04/2018 11:23 AM, Mark Waddingham via use-livecode wrote: > > > However, over time I'd suggest we look at it sitting in a > > mobile-permissions script library. Given the dynamic nature of handler > > dispatch in LC, there's all kinds of things we can do to make it really > > easy to adapt for particular projects. > > Although I do have to bemoan the proliferation of script stacks in the > Project Browser list. This especially became onerous when the Navigator > plugin started using script-only stacks. It's a pain having to scroll > through all those stacks that I'm never going to edit, and it's a pain > having to remove the plugin each time a new build comes out so that I > don't have to scroll through them just to work on system stacks. > > -- > Mark Wieder > ahsoftware at gmail.com > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From gcanyon at gmail.com Fri Aug 10 20:41:46 2018 From: gcanyon at gmail.com (Geoff Canyon) Date: Fri, 10 Aug 2018 17:41:46 -0700 Subject: valueDiff for arrays? In-Reply-To: References: <10161fab-d733-c0ae-dadf-2814172461ef@sonic.net> <65fcd351-5f1f-8d15-1292-c58d6df5b7d0@sonic.net> <93beddfc-5a9c-a91c-72de-7144932914b4@sonic.net> <43dce488-5fee-0daf-71ab-84e69bc1c591@sonic.net> <1cb4e7882c3eabee975c01cbd8bb5355@livecode.com> Message-ID: On Sat, Aug 4, 2018 at 12:00 PM Brian Milby via use-livecode < use-livecode at lists.runrev.com> wrote: > Plugins should probably be de-scriptified for distribution for this > reason. > This would be very bad for Navigator. Navigator shows multiple copies of itself (as many as you like/can tolerate) and this is only possible because everything is based on behaviors. Before I made the switch, Navigator was limited to three copies of itself, because making any more caused Bad Things to happen. It's been so long I don't remember the details, and obviously that was back in version 5 or earlier, so things might have changed, but regardless of how many gigabytes of RAM we have, duplicating Navigator's code over and over again is problematic. In short, "I can't go back, man! I won't!" :-) From brian at milby7.com Fri Aug 10 20:46:15 2018 From: brian at milby7.com (Brian Milby) Date: Fri, 10 Aug 2018 19:46:15 -0500 Subject: valueDiff for arrays? In-Reply-To: References: <10161fab-d733-c0ae-dadf-2814172461ef@sonic.net> <65fcd351-5f1f-8d15-1292-c58d6df5b7d0@sonic.net> <93beddfc-5a9c-a91c-72de-7144932914b4@sonic.net> <43dce488-5fee-0daf-71ab-84e69bc1c591@sonic.net> <1cb4e7882c3eabee975c01cbd8bb5355@livecode.com> Message-ID: I do it both ways, the problem is that behavior scripts created for maintaining a stack (version control) are inconvenient in the IDE. I've thought about suggesting a multiple step scriptify for IDE tools. The first step would be to create a card to house all behavior buttons. The first round would scriptify everything to buttons on that card. The second round would generate the script only stacks. Prior to distribution, the second round would be reversed to have a cleaner namespace inside the IDE. I've taken a different approach for my own work (Script Tracker). I just have my tool export all of the scripts to files. I can version control the files and edit them outside of the IDE. My tool keeps them in sync. Then the distributed tool doesn't have any external file requirements. I still need to go back and move my SvgIconTool into this model (and will before the next update). On Fri, Aug 10, 2018 at 7:36 PM, Geoff Canyon via use-livecode < use-livecode at lists.runrev.com> wrote: > Are you working with "LiveCode UI elements appear in lists of stacks" > enabled? I specifically named all the script behaviors for Navigator > starting with "rev" and they don't show up in the Project Browser for me. > Not that I had looked before this, I use Navigator for everything. ;-) > > On Sat, Aug 4, 2018 at 11:42 AM Mark Wieder via use-livecode < > use-livecode at lists.runrev.com> wrote: > > > On 08/04/2018 11:23 AM, Mark Waddingham via use-livecode wrote: > > > > > However, over time I'd suggest we look at it sitting in a > > > mobile-permissions script library. Given the dynamic nature of handler > > > dispatch in LC, there's all kinds of things we can do to make it really > > > easy to adapt for particular projects. > > > > Although I do have to bemoan the proliferation of script stacks in the > > Project Browser list. This especially became onerous when the Navigator > > plugin started using script-only stacks. It's a pain having to scroll > > through all those stacks that I'm never going to edit, and it's a pain > > having to remove the plugin each time a new build comes out so that I > > don't have to scroll through them just to work on system stacks. > > > > -- > > Mark Wieder > > ahsoftware at gmail.com > > > > _______________________________________________ > > use-livecode mailing list > > use-livecode at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From brian at milby7.com Fri Aug 10 20:48:16 2018 From: brian at milby7.com (Brian Milby) Date: Fri, 10 Aug 2018 19:48:16 -0500 Subject: valueDiff for arrays? In-Reply-To: References: <10161fab-d733-c0ae-dadf-2814172461ef@sonic.net> <65fcd351-5f1f-8d15-1292-c58d6df5b7d0@sonic.net> <93beddfc-5a9c-a91c-72de-7144932914b4@sonic.net> <43dce488-5fee-0daf-71ab-84e69bc1c591@sonic.net> <1cb4e7882c3eabee975c01cbd8bb5355@livecode.com> Message-ID: In your case it may be a bit more complicated, but I would think still attainable. The key would be for the scripts to live in a sub stack that didn't get duplicated. On Fri, Aug 10, 2018 at 7:41 PM, Geoff Canyon via use-livecode < use-livecode at lists.runrev.com> wrote: > On Sat, Aug 4, 2018 at 12:00 PM Brian Milby via use-livecode < > use-livecode at lists.runrev.com> wrote: > > > Plugins should probably be de-scriptified for distribution for this > > reason. > > > > This would be very bad for Navigator. Navigator shows multiple copies of > itself (as many as you like/can tolerate) and this is only possible because > everything is based on behaviors. Before I made the switch, Navigator was > limited to three copies of itself, because making any more caused Bad > Things to happen. It's been so long I don't remember the details, and > obviously that was back in version 5 or earlier, so things might have > changed, but regardless of how many gigabytes of RAM we have, duplicating > Navigator's code over and over again is problematic. > > In short, "I can't go back, man! I won't!" :-) > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From gcanyon at gmail.com Fri Aug 10 20:56:36 2018 From: gcanyon at gmail.com (Geoff Canyon) Date: Fri, 10 Aug 2018 17:56:36 -0700 Subject: Navigator v 6 is out Message-ID: Seems stable to me, but no one else has tried it, so I'm calling it alpha 1, use at your own risk. You can get Navigator here . Or grab it from GitHub . Update documentation is here . But briefly: *Added a Preferences Dialog*. All preferences were in a menu (and for now the menu option remains) but are now laid out in a dialog to make them far easier/clearer. *Group Folding! *Just click on the left 30 pixels of any group to fold/unfold it. There is (so far) no visual indication that this is possible, or that a group has been folded, but it's there. Suggestions welcome on a better interface. *Custom List Display!* You can now specify a string to value() for each item in the list display, so it's possible to do all sorts of interesting things, such as the layer of tID && tIS & "" & toUpper(char 1 of the name of tID) & ""&& Q(the short name of tID) && "loc:" && the loc of tID Which results in a display like: 23 | | *F* "Field Name" loc: 145,56 *Custom List Actions!* You can now specify a string to execute for list double-clicks, so for example you can set an action of: set the vis of tID to not the vis of tID And then double-clicking will show/hide the controls. You can set independent actions for any combination of shift, option, and command. There are several other bits, but check the docs for details. regards, Geoff From mark at livecode.com Fri Aug 10 21:17:48 2018 From: mark at livecode.com (Mark Waddingham) Date: Fri, 10 Aug 2018 20:17:48 -0500 Subject: valueDiff for arrays? In-Reply-To: References: <10161fab-d733-c0ae-dadf-2814172461ef@sonic.net> <65fcd351-5f1f-8d15-1292-c58d6df5b7d0@sonic.net> <93beddfc-5a9c-a91c-72de-7144932914b4@sonic.net> <43dce488-5fee-0daf-71ab-84e69bc1c591@sonic.net> <1cb4e7882c3eabee975c01cbd8bb5355@livecode.com> Message-ID: <18E98764-0487-406E-AEF6-DDD05ECD97BF@livecode.com> Or the ui stack is a substack which gets duplicated as another substack under the same root, but empty, mainstack... Mark. Sent from my iPhone > On 10 Aug 2018, at 19:48, Brian Milby via use-livecode wrote: > > In your case it may be a bit more complicated, but I would think still > attainable. The key would be for the scripts to live in a sub stack that > didn't get duplicated. > > On Fri, Aug 10, 2018 at 7:41 PM, Geoff Canyon via use-livecode < > use-livecode at lists.runrev.com> wrote: > >> On Sat, Aug 4, 2018 at 12:00 PM Brian Milby via use-livecode < >> use-livecode at lists.runrev.com> wrote: >> >>> Plugins should probably be de-scriptified for distribution for this >>> reason. >>> >> >> This would be very bad for Navigator. Navigator shows multiple copies of >> itself (as many as you like/can tolerate) and this is only possible because >> everything is based on behaviors. Before I made the switch, Navigator was >> limited to three copies of itself, because making any more caused Bad >> Things to happen. It's been so long I don't remember the details, and >> obviously that was back in version 5 or earlier, so things might have >> changed, but regardless of how many gigabytes of RAM we have, duplicating >> Navigator's code over and over again is problematic. >> >> In short, "I can't go back, man! I won't!" :-) >> _______________________________________________ >> use-livecode mailing list >> use-livecode at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From gcanyon at gmail.com Fri Aug 10 21:21:00 2018 From: gcanyon at gmail.com (Geoff Canyon) Date: Fri, 10 Aug 2018 18:21:00 -0700 Subject: Regaining IDE Efficiency: Property Inspector In-Reply-To: References: <5B6BFB64.8010704@pair.com> <7917abf8-1a40-cd2f-8f8a-65b357180c1b@fourthworld.com> Message-ID: On Thu, Aug 9, 2018 at 3:49 PM Mark Wieder via use-livecode < use-livecode at lists.runrev.com> wrote: > On 08/09/2018 08:14 AM, Richard Gaskin via use-livecode wrote: > > > Many (most?) development environments use a property sheet* instead, to > > handle the deep, rich variety of detailed properties developers need to > > control. > > Much like revNavigator, no? > I'm a big fan of property sheets. > > -- > Mark Wieder > ahsoftware at gmail.com My thoughts exactly ;-) On Thu, Aug 9, 2018 at 5:12 PM Mike Kerner via use-livecode < use-livecode at lists.runrev.com> wrote: > I'm not a fan of sheets. I find myself doing constant scrolling because > the property I'm looking for never seems to be on the screen, or if I'm > changing multiple properties and messing with settings to see what the > combination does, I'm constantly going up down up down, overshooting the > property, having to scroll-scroll-scroll to get to the right spot. > This is why Navigator allows you to add any list of properties in any order you like to the top of its Property Editor, and why it automatically tracks the most recent 5 properties you've edited (for that object type) to include at the top as well. If you have suggestions for how I might improve it, I'm happy to hear them. One thing I'm thinking of is a "demote" list for properties to shove to the bottom of the (currently alphabetical) list, since there are a bunch I never touch. regards, Geoff From brian at milby7.com Fri Aug 10 21:31:25 2018 From: brian at milby7.com (Brian Milby) Date: Fri, 10 Aug 2018 20:31:25 -0500 Subject: Navigator v 6 is out In-Reply-To: References: Message-ID: Very nice. (I did notice that your collapse code still has an apparent debug msg put with a couple of numbers). I'll take it for a spin and see if I notice anything (but kind of doubt I will). Thanks, Brian On Fri, Aug 10, 2018 at 7:56 PM, Geoff Canyon via use-livecode < use-livecode at lists.runrev.com> wrote: > Seems stable to me, but no one else has tried it, so I'm calling it alpha > 1, use at your own risk. > > You can get Navigator here > . Or grab it > from GitHub . > > Update documentation is here > . > But briefly: > > *Added a Preferences Dialog*. All preferences were in a menu (and for now > the menu option remains) but are now laid out in a dialog to make them far > easier/clearer. > > *Group Folding! *Just click on the left 30 pixels of any group to > fold/unfold it. There is (so far) no visual indication that this is > possible, or that a group has been folded, but it's there. Suggestions > welcome on a better interface. > > *Custom List Display!* You can now specify a string to value() for each > item in the list display, so it's possible to do all sorts of interesting > things, such as > > the layer of tID && tIS & "" & toUpper(char 1 of the name of tID) & > ""&& Q(the short name of tID) && "loc:" && the loc of tID > > Which results in a display like: > > 23 | | *F* "Field Name" loc: 145,56 > > *Custom List Actions!* You can now specify a string to execute for list > double-clicks, so for example you can set an action of: > > set the vis of tID to not the vis of tID > > And then double-clicking will show/hide the controls. You can set > independent actions for any combination of shift, option, and command. > > There are several other bits, but check the docs for details. > > regards, > > Geoff > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From dunbarx at aol.com Fri Aug 10 21:36:26 2018 From: dunbarx at aol.com (dunbarxx) Date: Fri, 10 Aug 2018 20:36:26 -0500 (CDT) Subject: Repeat for each element failing In-Reply-To: References: Message-ID: <1533951386163-0.post@n4.nabble.com> Bob wrote: "Is it legal to have arrays for the elements, or is it restricted to values? " Are you speaking of the "red" in myFavoriteColors["warm"]["red"] Craig Newman -- Sent from: http://runtime-revolution.278305.n4.nabble.com/Revolution-User-f278306.html From tom at makeshyft.com Fri Aug 10 21:54:21 2018 From: tom at makeshyft.com (Tom Glod) Date: Fri, 10 Aug 2018 21:54:21 -0400 Subject: Navigator v 6 is out In-Reply-To: References: Message-ID: geoff...you gots yourself a new user . thank you very much, this is really helpful on a project i been working on recently. the project manager......just not ready. On Fri, Aug 10, 2018 at 9:31 PM, Brian Milby via use-livecode < use-livecode at lists.runrev.com> wrote: > Very nice. (I did notice that your collapse code still has an apparent > debug msg put with a couple of numbers). > I'll take it for a spin and see if I notice anything (but kind of doubt I > will). > > Thanks, > Brian > > On Fri, Aug 10, 2018 at 7:56 PM, Geoff Canyon via use-livecode < > use-livecode at lists.runrev.com> wrote: > > > Seems stable to me, but no one else has tried it, so I'm calling it alpha > > 1, use at your own risk. > > > > You can get Navigator here > > . Or grab > it > > from GitHub . > > > > Update documentation is here > > >. > > But briefly: > > > > *Added a Preferences Dialog*. All preferences were in a menu (and for now > > the menu option remains) but are now laid out in a dialog to make them > far > > easier/clearer. > > > > *Group Folding! *Just click on the left 30 pixels of any group to > > fold/unfold it. There is (so far) no visual indication that this is > > possible, or that a group has been folded, but it's there. Suggestions > > welcome on a better interface. > > > > *Custom List Display!* You can now specify a string to value() for each > > item in the list display, so it's possible to do all sorts of interesting > > things, such as > > > > the layer of tID && tIS & "" & toUpper(char 1 of the name of tID) & > > ""&& Q(the short name of tID) && "loc:" && the loc of tID > > > > Which results in a display like: > > > > 23 | | *F* "Field Name" loc: 145,56 > > > > *Custom List Actions!* You can now specify a string to execute for list > > double-clicks, so for example you can set an action of: > > > > set the vis of tID to not the vis of tID > > > > And then double-clicking will show/hide the controls. You can set > > independent actions for any combination of shift, option, and command. > > > > There are several other bits, but check the docs for details. > > > > regards, > > > > Geoff > > _______________________________________________ > > use-livecode mailing list > > use-livecode at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From dunbarx at aol.com Fri Aug 10 22:11:16 2018 From: dunbarx at aol.com (dunbarxx) Date: Fri, 10 Aug 2018 21:11:16 -0500 (CDT) Subject: Repeat for each element failing In-Reply-To: <1533951386163-0.post@n4.nabble.com> References: <1533951386163-0.post@n4.nabble.com> Message-ID: <1533953476394-0.post@n4.nabble.com> My error. I meant: Are you speaking of the "warm" in myFavoriteColors["warm"]["red"] Craig -- Sent from: http://runtime-revolution.278305.n4.nabble.com/Revolution-User-f278306.html From ahsoftware at sonic.net Fri Aug 10 22:32:34 2018 From: ahsoftware at sonic.net (Mark Wieder) Date: Fri, 10 Aug 2018 19:32:34 -0700 Subject: valueDiff for arrays? In-Reply-To: References: <10161fab-d733-c0ae-dadf-2814172461ef@sonic.net> <65fcd351-5f1f-8d15-1292-c58d6df5b7d0@sonic.net> <93beddfc-5a9c-a91c-72de-7144932914b4@sonic.net> <43dce488-5fee-0daf-71ab-84e69bc1c591@sonic.net> <1cb4e7882c3eabee975c01cbd8bb5355@livecode.com> Message-ID: <651aa227-fd38-2d7e-9243-4d9bf3cb6348@sonic.net> On 08/10/2018 05:36 PM, Geoff Canyon via use-livecode wrote: > Are you working with "LiveCode UI elements appear in lists of stacks" > enabled? I specifically named all the script behaviors for Navigator > starting with "rev" and they don't show up in the Project Browser for me. Exactly. And It's not just navigator that's clogging things up here, I don't mean to single it out in particular. But if I need to work on a system stack (and I do this all the time) then there's a lot of cruft that shows up in the PB or the AB that I have to wade through to get to where I want to be. -- Mark Wieder ahsoftware at gmail.com From gcanyon at gmail.com Sat Aug 11 01:04:37 2018 From: gcanyon at gmail.com (Geoff Canyon) Date: Fri, 10 Aug 2018 22:04:37 -0700 Subject: LCB Performance In-Reply-To: References: Message-ID: This is not in LCB script, but you posting this reminded me of some code I wrote a long time ago when I needed (for a programming challenge) to write a function that would return primes up to 10^9 or so. That was far too large to do the traditional "build an array of excluded values" sort of thing, so I wrote code that self-groomed the array as it went, discarding the bits it no longer needed. I checked and I didn't have the stack anymore, so I rewrote it. It's about as fast as the traditional way (as you coded), and as designed, given time should be able to calculate up to... maybe 10 to a 100 million prime numbers? The working array only has a max of as many entries as the current number of found primes, so who knows? Anyway, I thought it was clever, here it is: function getPrimes2 pN if pN < 2 then return empty put "2" into tPrimes put trunc(sqrt(pN - 1)) into maxFactor repeat with tI = 3 to pN - 1 step 2 if p[tI] is empty then if tI <= maxFactor then put (2*tI),"" after p[tI^2] put cr & tI after tPrimes else repeat for each item i in p[tI] put i,"" after p[tI + i] end repeat end if delete variable p[tI] -- not sure whether this should be here or in the else section above end repeat return tPrimes end getPrimes2 The reason for the uncertainty of the delete is that I'm not sure whether LC creates/allocates the array element just based on testing if it is empty. If LC does, then the delete needs to be where it is. If LC doesn't, then it can be in the else, where we know the element exists. On Tue, Aug 7, 2018 at 8:54 PM Brian Milby via use-livecode < use-livecode at lists.runrev.com> wrote: > This is a continuation of some code introduced in the "valueDiff" thread, > but wanted to take it in a slightly different direction. We had some great > success at getting a process that took over 50 seconds on my machine down > to under 10 seconds. It isn't anything that we would actually use in > production, but I'm sure things like this can help us in the real world. > > I decided to try and port the fastest of the methods over to LCB. I'm sure > quite a bit of it is due to my lack of experience, but the speeds were much > slower. I ended up putting some hard coded limits in my stack so that LCB > wasn't used over 100,000 for the List and Array version and 1,000,000 for > the Byte version. > > What I found was that for arrays, the requirement to convert the number to > a string killed the performance (my guess anyway). Here is a full list of > the various versions that I've tried: > > "Find primes up to 100000, repeat 1 time(s)" > "Byte (bernd)" - 0.065108 seconds > "Byte (bwm)" - 0.103379 seconds > "Byte (alex)" - 0.122581 seconds > "Array (mark)" - 0.323269 seconds > "Array (bwm)" - 0.345896 seconds > "Array (original)" - 0.386326 seconds > "Byte (LCB)" - 1.125969 seconds > "List (LCB)" - 136.770451 seconds > "Array (LCB)" - 845.35211 seconds > > I've updated the stack that I uploaded with the new tests (but one would > need to compile/install the LCB for the last 3 tests) > https://milby.us/lc/Primes.livecode > > Here's one of the handlers that I converted: > > public handler getPrimesLCB_List(in pN as Number) returns String > variable tMroot as Number > variable tPrimes as String > variable tIsItPrime as List > variable tTenK as List > variable tYes as Data > variable tNo as Data > variable tI as Number > variable tJ as Number > put the byte with code 66 into tYes > put the byte with code 65 into tNo > if pN < 2 then > return the empty string > else if pN = 2 then > return "2" > end if > put (the trunc of sqrt(pN)) - 1 into tMroot > put the empty list into tIsItPrime > if pN >= 10000 then > put the empty list into tTenK > repeat 10000 times > push tYes onto tTenK > end repeat > repeat (pN / 10000) times > put tTenK & tIsItPrime into tIsItPrime > end repeat > end if > repeat pN mod 10000 times > push tYes onto tIsItPrime > end repeat > put "2" into tPrimes > repeat with tI from 3 up to tMroot by 2 > if tIsItPrime[tI] is tNo then > next repeat > end if > put "\n" & tI formatted as string after tPrimes > repeat with tJ from tI^2 up to pN by tI > put tNo into tIsItPrime[tJ] > end repeat > end repeat > repeat with tI from tMroot + (tMroot + 1) mod 2 up to pN - 1 by 2 > if tIsItPrime[tI] is tYes then > put "\n" & tI formatted as string after tPrimes > end if > end repeat > return tPrimes > end handler > > > Is there any way to optimize the speed of LCB to meet/exceed the same code > in LCS or is the intention more for things where the speed isn't the main > factor (like UI widgets and interacting with external code via FFI)? > > Thanks, > Brian > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From gcanyon at gmail.com Sat Aug 11 02:08:38 2018 From: gcanyon at gmail.com (Geoff Canyon) Date: Fri, 10 Aug 2018 23:08:38 -0700 Subject: Navigator v 6 is out In-Reply-To: References: Message-ID: On Fri, Aug 10, 2018 at 6:31 PM Brian Milby via use-livecode < use-livecode at lists.runrev.com> wrote: > Very nice. (I did notice that your collapse code still has an apparent > debug msg put with a couple of numbers). > I'll take it for a spin and see if I notice anything (but kind of doubt I > will). > > Thanks, > Brian > > Nice catch -- it was from when I was first testing the folding code. It's fixed on my copy, but I found an obscure bug. It looks like the filter field (in the upper right), which just does a text search in whatever is being displayed, works fine with folding, but the filter function (which is accessible on the Actions menu and allows for filtering by any test) causes the folding code to hide the wrong number of controls. I'm going to look at that and then post an update. again, thx gc From gcanyon at gmail.com Sat Aug 11 02:46:25 2018 From: gcanyon at gmail.com (Geoff Canyon) Date: Fri, 10 Aug 2018 23:46:25 -0700 Subject: Navigator v 6 is out In-Reply-To: References: Message-ID: Updated to fix the errant put, now marked as alpha 2. Turns out what looked like a bug with folding was me misinterpreting what Navigator was doing. I definitely need to figure out a better visual representation. gc On Fri, Aug 10, 2018 at 11:08 PM Geoff Canyon wrote: > > > On Fri, Aug 10, 2018 at 6:31 PM Brian Milby via use-livecode < > use-livecode at lists.runrev.com> wrote: > >> Very nice. (I did notice that your collapse code still has an apparent >> debug msg put with a couple of numbers). >> I'll take it for a spin and see if I notice anything (but kind of doubt I >> will). >> >> Thanks, >> Brian >> >> > Nice catch -- it was from when I was first testing the folding code. It's > fixed on my copy, but I found an obscure bug. It looks like the filter > field (in the upper right), which just does a text search in whatever is > being displayed, works fine with folding, but the filter function (which is > accessible on the Actions menu and allows for filtering by any test) causes > the folding code to hide the wrong number of controls. I'm going to look at > that and then post an update. > > again, thx > > gc > From tom at makeshyft.com Sat Aug 11 09:56:44 2018 From: tom at makeshyft.com (Tom Glod) Date: Sat, 11 Aug 2018 09:56:44 -0400 Subject: Navigator v 6 is out In-Reply-To: References: Message-ID: hey Geoff.... I can't for the life of me find a way to view my list of cards in the navigator, i want to switch between cards ...i'm sure there is an easy way. thanks...really liking not having to hunt for that fing project browser window. :) On Sat, Aug 11, 2018 at 2:46 AM, Geoff Canyon via use-livecode < use-livecode at lists.runrev.com> wrote: > Updated to fix the errant put, now marked as alpha 2. Turns out what looked > like a bug with folding was me misinterpreting what Navigator was doing. I > definitely need to figure out a better visual representation. > > gc > > On Fri, Aug 10, 2018 at 11:08 PM Geoff Canyon wrote: > > > > > > > On Fri, Aug 10, 2018 at 6:31 PM Brian Milby via use-livecode < > > use-livecode at lists.runrev.com> wrote: > > > >> Very nice. (I did notice that your collapse code still has an apparent > >> debug msg put with a couple of numbers). > >> I'll take it for a spin and see if I notice anything (but kind of doubt > I > >> will). > >> > >> Thanks, > >> Brian > >> > >> > > Nice catch -- it was from when I was first testing the folding code. It's > > fixed on my copy, but I found an obscure bug. It looks like the filter > > field (in the upper right), which just does a text search in whatever is > > being displayed, works fine with folding, but the filter function (which > is > > accessible on the Actions menu and allows for filtering by any test) > causes > > the folding code to hide the wrong number of controls. I'm going to look > at > > that and then post an update. > > > > again, thx > > > > gc > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From ahsoftware at sonic.net Sat Aug 11 11:22:25 2018 From: ahsoftware at sonic.net (Mark Wieder) Date: Sat, 11 Aug 2018 08:22:25 -0700 Subject: Navigator v 6 is out In-Reply-To: References: Message-ID: On 08/11/2018 06:56 AM, Tom Glod via use-livecode wrote: > hey Geoff.... I can't for the life of me find a way to view my list of > cards in the navigator, i want to switch between cards ...i'm sure there is > an easy way. thanks...really liking not having to hunt for that fing > project browser window. :) Third icon from the left in the menubar is the card selector. -- Mark Wieder ahsoftware at gmail.com From gcanyon at gmail.com Sat Aug 11 12:06:38 2018 From: gcanyon at gmail.com (Geoff Canyon) Date: Sat, 11 Aug 2018 09:06:38 -0700 Subject: Navigator v 6 is out In-Reply-To: References: Message-ID: The card list is available multiple ways: 1. The card menu (the third menu at the top of Navigator) lists the cards of whatever stack you're viewing. (up to the menu limit set in preferences -- the default is 300 -- so if there are more cards than that it will only display the limit) 2. On the card menu you can select Card List, and Navigator will display the cards in its list. (up to the list limit set in preferences -- the default is 10,000, but you can set it higher if you need to) There is no way in Navigator to replicate the view in the Project Browser, where you see a list of cards and then open more than one of them to display their controls at the same time. Alternatives are to have more than one copy of Navigator open, or to bookmark controls from multiple cards. gc On Sat, Aug 11, 2018 at 6:57 AM Tom Glod via use-livecode < use-livecode at lists.runrev.com> wrote: > hey Geoff.... I can't for the life of me find a way to view my list of > cards in the navigator, i want to switch between cards ...i'm sure there is > an easy way. thanks...really liking not having to hunt for that fing > project browser window. :) > > On Sat, Aug 11, 2018 at 2:46 AM, Geoff Canyon via use-livecode < > use-livecode at lists.runrev.com> wrote: > > > Updated to fix the errant put, now marked as alpha 2. Turns out what > looked > > like a bug with folding was me misinterpreting what Navigator was doing. > I > > definitely need to figure out a better visual representation. > > > > gc > > > > On Fri, Aug 10, 2018 at 11:08 PM Geoff Canyon wrote: > > > > > > > > > > > On Fri, Aug 10, 2018 at 6:31 PM Brian Milby via use-livecode < > > > use-livecode at lists.runrev.com> wrote: > > > > > >> Very nice. (I did notice that your collapse code still has an > apparent > > >> debug msg put with a couple of numbers). > > >> I'll take it for a spin and see if I notice anything (but kind of > doubt > > I > > >> will). > > >> > > >> Thanks, > > >> Brian > > >> > > >> > > > Nice catch -- it was from when I was first testing the folding code. > It's > > > fixed on my copy, but I found an obscure bug. It looks like the filter > > > field (in the upper right), which just does a text search in whatever > is > > > being displayed, works fine with folding, but the filter function > (which > > is > > > accessible on the Actions menu and allows for filtering by any test) > > causes > > > the folding code to hide the wrong number of controls. I'm going to > look > > at > > > that and then post an update. > > > > > > again, thx > > > > > > gc > > > > > _______________________________________________ > > use-livecode mailing list > > use-livecode at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From michael-kristensen at dsa-net.dk Sat Aug 11 12:52:13 2018 From: michael-kristensen at dsa-net.dk (Michael Kristensen) Date: Sat, 11 Aug 2018 18:52:13 +0200 Subject: Need a little help with image resizing Message-ID: <0A67C7C5-464C-4CD7-98A6-3DB95668C200@dsa-net.dk> Hi there I have an image B1 with a scribble made with brush tool in it. I want to double the width of the image without distorting the scribble. The plan is to: 1. select the image with select tool 2. cut the image out 3. resize the image 4. paste the image back in, in the original proportions As script: on mouseUp lock screen put (item 1 to 2 of rect of img B1) into K1 put (item 3 to 4 of rect of img B1) into K2 choose select tool drag from K1 to K2 cut set width of img B1 to 2*(width of img B1) drag from K1 to K2 paste choose browse tool end mouseUp But the script does not work. The proportions of the image after paste is as if the image was stretched. NOTE This works if I cut from one image and paste into another. It also works if I do it manually on image B1. Thanks Mic From ambassador at fourthworld.com Sat Aug 11 13:18:25 2018 From: ambassador at fourthworld.com (Richard Gaskin) Date: Sat, 11 Aug 2018 10:18:25 -0700 Subject: Need a little help with image resizing In-Reply-To: <0A67C7C5-464C-4CD7-98A6-3DB95668C200@dsa-net.dk> References: <0A67C7C5-464C-4CD7-98A6-3DB95668C200@dsa-net.dk> Message-ID: Michael Kristensen wrote: > I have an image B1 with a scribble made with brush tool in it. > I want to double the width of the image without distorting the scribble. > > The plan is to: > 1. select the image with select tool > 2. cut the image out > 3. resize the image > 4. paste the image back in, in the original proportions The crop command will do that in one step. -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ____________________________________________________________________ Ambassador at FourthWorld.com http://www.FourthWorld.com From jacque at hyperactivesw.com Sat Aug 11 13:38:02 2018 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Sat, 11 Aug 2018 12:38:02 -0500 Subject: Need a little help with image resizing In-Reply-To: <0A67C7C5-464C-4CD7-98A6-3DB95668C200@dsa-net.dk> References: <0A67C7C5-464C-4CD7-98A6-3DB95668C200@dsa-net.dk> Message-ID: <1652a110090.2761.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> Do you mean that you just want more white space around the image? You can use the crop command for that. -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com On August 11, 2018 11:54:16 AM Michael Kristensen via use-livecode wrote: > Hi there > > I have an image B1 with a scribble made with brush tool in it. > I want to double the width of the image without distorting the scribble. > > The plan is to: > 1. select the image with select tool > 2. cut the image out > 3. resize the image > 4. paste the image back in, in the original proportions > > As script: > > on mouseUp > lock screen > > put (item 1 to 2 of rect of img B1) into K1 > put (item 3 to 4 of rect of img B1) into K2 > > choose select tool > > drag from K1 to K2 > > cut > > set width of img B1 to 2*(width of img B1) > > drag from K1 to K2 > > paste > > choose browse tool > end mouseUp > > > But the script does not work. The proportions of the image after paste is > as if the image was stretched. > > > NOTE > This works if I cut from one image and paste into another. > > It also works if I do it manually on image B1. > > > Thanks > > Mic > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From jonathandlynch at gmail.com Sat Aug 11 16:34:31 2018 From: jonathandlynch at gmail.com (jonathandlynch at gmail.com) Date: Sat, 11 Aug 2018 16:34:31 -0400 Subject: Android compass question Message-ID: I have a new galaxy phone. When I read the mobile compass, both magnetic heading and true heading constantly change - even if the phone is laying down still. It changes up and down randomly by 5 degrees or so. Does anyone know if this is a problem with LC or with galaxy phones? My iPhone does not do this. Sent from my iPhone From bryan at exnihilo-media.com Sat Aug 11 16:37:59 2018 From: bryan at exnihilo-media.com (Bryan Anderson) Date: Sat, 11 Aug 2018 16:37:59 -0400 Subject: Resetting waitDepth Message-ID: Is there any way to clear out waiting commands?similar to the "cancel messageQueueID? for messages queued up using the ?send? command? I?ve looked high and low? see ?the waitDepth? Thanks! From mark at livecode.com Sat Aug 11 17:19:31 2018 From: mark at livecode.com (Mark Waddingham) Date: Sat, 11 Aug 2018 17:19:31 -0400 Subject: Resetting waitDepth In-Reply-To: References: Message-ID: I'm pretty sure exit to top should do in most cases - however I think there might be a few implicit in-engine/external wait used which ignore it (which probably should be considered bugs). Warmest Regards, Mark. Sent from my iPhone > On 11 Aug 2018, at 16:37, Bryan Anderson via use-livecode wrote: > > Is there any way to clear out waiting commands?similar to the "cancel > messageQueueID? for messages queued up using the ?send? command? I?ve > looked high and low? > > see ?the waitDepth? > > Thanks! > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From tom at makeshyft.com Sat Aug 11 23:53:09 2018 From: tom at makeshyft.com (Tom Glod) Date: Sat, 11 Aug 2018 23:53:09 -0400 Subject: Navigator v 6 is out In-Reply-To: References: Message-ID: got it....thank you. On Sat, Aug 11, 2018 at 12:06 PM, Geoff Canyon via use-livecode < use-livecode at lists.runrev.com> wrote: > The card list is available multiple ways: > > 1. The card menu (the third menu at the top of Navigator) lists the cards > of whatever stack you're viewing. (up to the menu limit set in preferences > -- the default is 300 -- so if there are more cards than that it will only > display the limit) > 2. On the card menu you can select Card List, and Navigator will display > the cards in its list. (up to the list limit set in preferences -- the > default is 10,000, but you can set it higher if you need to) > > There is no way in Navigator to replicate the view in the Project Browser, > where you see a list of cards and then open more than one of them to > display their controls at the same time. Alternatives are to have more than > one copy of Navigator open, or to bookmark controls from multiple cards. > > gc > > On Sat, Aug 11, 2018 at 6:57 AM Tom Glod via use-livecode < > use-livecode at lists.runrev.com> wrote: > > > hey Geoff.... I can't for the life of me find a way to view my list of > > cards in the navigator, i want to switch between cards ...i'm sure there > is > > an easy way. thanks...really liking not having to hunt for that fing > > project browser window. :) > > > > On Sat, Aug 11, 2018 at 2:46 AM, Geoff Canyon via use-livecode < > > use-livecode at lists.runrev.com> wrote: > > > > > Updated to fix the errant put, now marked as alpha 2. Turns out what > > looked > > > like a bug with folding was me misinterpreting what Navigator was > doing. > > I > > > definitely need to figure out a better visual representation. > > > > > > gc > > > > > > On Fri, Aug 10, 2018 at 11:08 PM Geoff Canyon > wrote: > > > > > > > > > > > > > > > On Fri, Aug 10, 2018 at 6:31 PM Brian Milby via use-livecode < > > > > use-livecode at lists.runrev.com> wrote: > > > > > > > >> Very nice. (I did notice that your collapse code still has an > > apparent > > > >> debug msg put with a couple of numbers). > > > >> I'll take it for a spin and see if I notice anything (but kind of > > doubt > > > I > > > >> will). > > > >> > > > >> Thanks, > > > >> Brian > > > >> > > > >> > > > > Nice catch -- it was from when I was first testing the folding code. > > It's > > > > fixed on my copy, but I found an obscure bug. It looks like the > filter > > > > field (in the upper right), which just does a text search in whatever > > is > > > > being displayed, works fine with folding, but the filter function > > (which > > > is > > > > accessible on the Actions menu and allows for filtering by any test) > > > causes > > > > the folding code to hide the wrong number of controls. I'm going to > > look > > > at > > > > that and then post an update. > > > > > > > > again, thx > > > > > > > > gc > > > > > > > _______________________________________________ > > > use-livecode mailing list > > > use-livecode at 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 at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From michael-kristensen at dsa-net.dk Sun Aug 12 06:13:07 2018 From: michael-kristensen at dsa-net.dk (Michael Kristensen) Date: Sun, 12 Aug 2018 12:13:07 +0200 Subject: Need a little help with image resizing In-Reply-To: References: Message-ID: <441ACE3E-BA80-435A-B62B-EB662D8E3B19@dsa-net.dk> Thanks Richard and Jacqueline That was easy. Did not know about the crop command. Michael From curry at pair.com Sun Aug 12 06:16:49 2018 From: curry at pair.com (Curry Kenworthy) Date: Sun, 12 Aug 2018 06:16:49 -0400 Subject: Anyone using Older LC versions? Message-ID: <5B700911.3070906@pair.com> Howdy Folks, I am preparing to roll out some addon updates. Therefore, I wanted to check which LC versions I need to support! What's the oldest version that YOU would need? Or if you know someone else who's using an older one. (Don't answer if you're just using 8/9; that's expected.) I've always supported a range of LC versions, due to the different financial/licensing and feature/bug circumstances that people have had. And (contrary to some pop "CompPsy") it's usually not a big deal, especially since I'm the middleware and the code already works. There are some generational LC tech differences and new keywords that can lead to optimization, but more often it's an arbitrary matter of which LC to compile with, and more importantly, how many versions I need to test. So...for the last few years I've been targeting 5.5 and up. This time I'm wondering whether I need to continue supporting 5.5, or can I kick it up to 6.7? It'll be one or the other. If anyone still needs 5.5 for serious work, let me know. (And yes, there can be some LC issues at least on Mac if publishing standalones with older versions, very true and good to bear in mind for security, UX, etc. But not everyone uses Mac or publishes standalones; I'm supporting addon users with their workflows and the LC versions they own, not policing or second-guessing what they do other than abiding by the addon TOS of course. I guess we may be getting past the LC permanent licenses where people would stick with a version to save money, but checking anyway just to be sure of people's needs. My addons run on the paid editions of LC, including Indy and Business.) However, LC 4 is definitely out to pasture now as far as the addons are concerned! :) There were generational tech issues between LC 4 and 5.5, and I'll be optimizing some code accordingly. In the unlikely event that anyone needs pre-5, there are still published versions of the addons that should continue to work very well with them. Best wishes, Curry Kenworthy Custom Software Development LiveCode Training and Consulting http://livecodeconsulting.com/ http://livecodeaddons.com/ From richmondmathewson at gmail.com Sun Aug 12 07:01:27 2018 From: richmondmathewson at gmail.com (Richmond Mathewson) Date: Sun, 12 Aug 2018 14:01:27 +0300 Subject: Anyone using Older LC versions? In-Reply-To: <5B700911.3070906@pair.com> References: <5B700911.3070906@pair.com> Message-ID: <983e0c20-8f62-6e79-8830-c818b90e78f3@gmail.com> Well, I use 7.1.4 on a very nearly daily basis because, in my opinion: 1. The Properties Palette is way, way better than that in 8/9. 2. Almost everything feels more intuitive. 3. I rarely need any of the extra stuff offered in subsequent versions. BUT: 4. I am NOT a person you should consider targetting as I like to work with "Plain Vanilla LiveCode." HOWEVER: 5. Check for "lurkers in the undergrowth" who work with versions earlier than 8/9 because: 5.1. They've got perpetual licences on earlier versions and don't feel that stumping up an annual fee for later versions is justified. Richmond. On 12/8/2018 1:16 pm, Curry Kenworthy via use-livecode wrote: > > Howdy Folks, > > I am preparing to roll out some addon updates. Therefore, I wanted to > check which LC versions I need to support! What's the oldest version > that YOU would need? Or if you know someone else who's using an older > one. > > (Don't answer if you're just using 8/9; that's expected.) > > I've always supported a range of LC versions, due to the different > financial/licensing and feature/bug circumstances that people have > had. And (contrary to some pop "CompPsy") it's usually not a big deal, > especially since I'm the middleware and the code already works. There > are some generational LC tech differences and new keywords that can > lead to optimization, but more often it's an arbitrary matter of which > LC to compile with, and more importantly, how many versions I need to > test. > > So...for the last few years I've been targeting 5.5 and up. This time > I'm wondering whether I need to continue supporting 5.5, or can I kick > it up to 6.7? It'll be one or the other. If anyone still needs 5.5 for > serious work, let me know. > > (And yes, there can be some LC issues at least on Mac if publishing > standalones with older versions, very true and good to bear in mind > for security, UX, etc. But not everyone uses Mac or publishes > standalones; I'm supporting addon users with their workflows and the > LC versions they own, not policing or second-guessing what they do > other than abiding by the addon TOS of course. I guess we may be > getting past the LC permanent licenses where people would stick with a > version to save money, but checking anyway just to be sure of people's > needs. My addons run on the paid editions of LC, including Indy and > Business.) > > However, LC 4 is definitely out to pasture now as far as the addons > are concerned! :) There were generational tech issues between LC 4 and > 5.5, and I'll be optimizing some code accordingly. In the unlikely > event that anyone needs pre-5, there are still published versions of > the addons that should continue to work very well with them. > > Best wishes, > > Curry Kenworthy > > Custom Software Development > LiveCode Training and Consulting > http://livecodeconsulting.com/ > http://livecodeaddons.com/ > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From paul at researchware.com Sun Aug 12 08:40:13 2018 From: paul at researchware.com (Paul Dupuis) Date: Sun, 12 Aug 2018 08:40:13 -0400 Subject: Anyone using Older LC versions? In-Reply-To: <5B700911.3070906@pair.com> References: <5B700911.3070906@pair.com> Message-ID: <8de625d3-8617-04a2-200e-8d6066e94486@researchware.com> We still have a few pre-Unicode stacks (all under LC 6.7.11). It is just taking a lot of time (that we don't have) to get them all migrated and tested to LC9+ I know you know this already, but I thought I would reply for any one else interested in this informal poll From bodine at bodinetraininggames.com Sun Aug 12 09:01:51 2018 From: bodine at bodinetraininggames.com (tbodine) Date: Sun, 12 Aug 2018 08:01:51 -0500 (CDT) Subject: Anyone using Older LC versions? In-Reply-To: <8de625d3-8617-04a2-200e-8d6066e94486@researchware.com> References: <5B700911.3070906@pair.com> <8de625d3-8617-04a2-200e-8d6066e94486@researchware.com> Message-ID: <1534078911011-0.post@n4.nabble.com> I use 7.1.4 almost daily. Thanks, Tom Bodine -- Sent from: http://runtime-revolution.278305.n4.nabble.com/Revolution-User-f278306.html From curry at pair.com Sun Aug 12 10:32:32 2018 From: curry at pair.com (Curry Kenworthy) Date: Sun, 12 Aug 2018 10:32:32 -0400 Subject: Anyone using Older LC versions? In-Reply-To: <983e0c20-8f62-6e79-8830-c818b90e78f3@gmail.com> References: <983e0c20-8f62-6e79-8830-c818b90e78f3@gmail.com> Message-ID: <5B704500.4030108@pair.com> Richmond/Tom: > I use 7.1.4 Paul: > LC 6.7.11 No worries, I plan to support 6 and 7 for years to come if at all possible! Richmond: > Check for "lurkers in the undergrowth" ... > perpetual licences on earlier versions and don't feel that > stumping up an annual fee for later versions is justified. I like that "undergrowth" part! Yes, one reason was always financial. However, some people have been stuck on older LC versions because of new LC bugs/issues, or old LC features. There's often a workaround possible for those cases, but sometimes there's no budget and authorization to pursue one merely for the sake of using a newer LC, if an older LC works. So it's in limbo until either LC fixes the bug or a workaround budget happens. Come to think of it, I know someone myself who is stuck on LC 5.5 for a product because of that reason, with a printing bug that showed up in LC 6 and is still with us in LC 9: https://quality.livecode.com/show_bug.cgi?id=21000 Probably some similar cases out there, so I'll think a bit more before dropping 5.5; if anyone is using 5.5 let me know. Thanks for the feedback! Best wishes, Curry Kenworthy Custom Software Development LiveCode Training and Consulting http://livecodeconsulting.com/ From bogdanoff at me.com Sun Aug 12 19:15:36 2018 From: bogdanoff at me.com (Peter Bogdanoff) Date: Sun, 12 Aug 2018 16:15:36 -0700 Subject: Text rendering of Unicode text in LC Message-ID: Hello all, I?m seeing Chinese characters being rendered differently in different versions of Livecode 8 in Windows 10. LC 8.1.3 Chinese characters are displayed appearing similarly to the 1-bit graphics of the old days?aliased simple pixels. LC 8.1.9 renders the same characters anti-aliased. Also, for 17 point Songti SC Regular, it is 1 pixel taller, with a corresponding greater line height?the whole field is stretched vertically. Also, in-line reference images which I use as small icons are also stretched 1 pixel vertically (but not horizontally). Helvetica font displays identically in both versions. Here?s an enlarged sample showing both: https://spark.adobe.com/page/clCst4mdUu8Jy/ Am I right in supposing this is a Skia issue, specifically the harfbuzz text shaping library, and that there have been updates to Skia/harfbuzz used in LC that have changed the rendering? Or, is this a LC bug that the text is correctly rendered with anti-aliasing but stretched vertically? Our Chinese translators and publisher are distressed seeing this, as they consider the anti-aliased, ?blurified" text inferior. I?ve not seen any reference to text rendering in the LC docs. (I?m still waiting for LC 9.0 to download to test it in that.) Peter Bogdanoff ArtsInteractive From bdrunrev at gmail.com Mon Aug 13 01:34:50 2018 From: bdrunrev at gmail.com (Bernard Devlin) Date: Mon, 13 Aug 2018 06:34:50 +0100 Subject: sqlite config/compilation files on github Message-ID: Hi all Could anyone point me to the file(s) on github determining how the sqlite external is configured and built. I've had a look round, but I can't seem to find the relevant file. I'm looking for the location at which the full-text search option is configured. Regards, Bernard From ahsoftware at sonic.net Mon Aug 13 01:47:03 2018 From: ahsoftware at sonic.net (Mark Wieder) Date: Sun, 12 Aug 2018 22:47:03 -0700 Subject: sqlite config/compilation files on github In-Reply-To: References: Message-ID: On 08/12/2018 10:34 PM, Bernard Devlin via use-livecode wrote: > Hi all > > Could anyone point me to the file(s) on github determining how the sqlite > external is configured and built. I've had a look round, but I can't seem > to find the relevant file. I'm looking for the location at which the > full-text search option is configured. Try thirdparty/libsqlite/libsqlite.gyp -- Mark Wieder ahsoftware at gmail.com From richmondmathewson at gmail.com Mon Aug 13 04:23:42 2018 From: richmondmathewson at gmail.com (Richmond Mathewson) Date: Mon, 13 Aug 2018 11:23:42 +0300 Subject: [OT] Snakey Problem Message-ID: <6bf08a50-aa0c-7a4c-fff4-b86ec7f86363@gmail.com> Like it or not (and mainly NOT), I have to offer Python to kids this fall . . . This is a b*gger for several reasons: 1. I love LiveCode. 2. To use Python to any effect apart from rather goofy manipulations with numbers and text an install requires 'modules' which are usually installed using a daft command-line system using something call 'PIP' [ "Permanently Injurious Python" perhaps? ] . . . which I have signally failed to get to work on either Macintosh or Linux. I wonder of anyone knows of a way to install Python 3 on Linux with the main GUI modules "bound in": i.e. a one-stop install. Frankly, Python, by using this module system seems to defeat itself to a certain extent: or, maybe I'm just spoilt by LiveCode. This question is very timely as Wednesday is Nag Panchami: the day of snakes! Richmond. From matthias_livecode_150811 at m-r-d.de Mon Aug 13 04:33:18 2018 From: matthias_livecode_150811 at m-r-d.de (Matthias Rebbe) Date: Mon, 13 Aug 2018 10:33:18 +0200 Subject: Is anyone using tsNet external with LCserver? In-Reply-To: <8B7CC377-D269-4585-B5A4-1750F6FAF994@m-r-d.de> References: <6766D7D7-CE11-4273-BEC2-78FC86C58497@revigniter.com> <8B7CC377-D269-4585-B5A4-1750F6FAF994@m-r-d.de> Message-ID: <4603808B-BACB-4776-847D-5AA0B99F289F@m-r-d.de> For those who are interested. HostM upgraded their systems this weekend. After this upgrade i am able to use my custom LC Server 9 Business installation (.htaccess method) with tsNET. So it seems, tsNET is needing more current libraries than LC 9 Server itself. Regards, Matthias > Am 20.06.2018 um 19:11 schrieb Matthias Rebbe via use-livecode : > > For those who are interested. > > I?ve sent a pro support request for my problem to get tsNet working with Livecode Server. It seems its not so easy to get it working. Support team has now created a bug report for the problem. bug 21377 > > > Regards, > > Matthias > >> Am 28.05.2018 um 14:01 schrieb Ralf Bitter via use-livecode >>: >> >> Hi Panos, >> >> I know that tsNetVersion() yielding an error is fixed. >> >> But does this really mean that all tsNet Business >> features are enabled on LC server (business)? >> >> Just did tests (got my files from the shelf) using >> as an example asynchronous requests, which failed. >> Synchronous flavours worked as expected. >> >> >> Ralf >> >> >>> On 28. May 2018, at 11:28, panagiotis merakos via use-livecode >> wrote: >>> >>> Hi all, >>> >>> >>> >>> *>>>>>>>>And don't expect to get access to the extended feature setof tsNet >>> Business on LC server. Seems there is no way to activatea business license >>> for tsNet on server, don?t think this has changed.* >>> >>> This is no longer the case, this bug has been fixed since LC 8.1.8 RC-1: >>> >>> https://quality.livecode.com/show_bug.cgi?id=19793 > >> >>> >>> Best, >>> Panos >> >> >> _______________________________________________ >> use-livecode mailing list >> use-livecode at lists.runrev.com > >> Please visit this url to subscribe, unsubscribe and manage your subscription preferences: >> http://lists.runrev.com/mailman/listinfo/use-livecode > > Matthias Rebbe > Tel +49 5741 310000 > ?https://matthiasrebbe.eu >? > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From peterwawood at gmail.com Mon Aug 13 05:21:18 2018 From: peterwawood at gmail.com (Peter W A Wood) Date: Mon, 13 Aug 2018 17:21:18 +0800 Subject: Re [OT] Snakey Problem References: <99425FEA-8877-4596-9609-DAEF66E3D870@gmail.com> Message-ID: Richmond I am no Python expert having only got over Pythonaphobia, which I contracted last century, in the last few months. The standard Python library, which is included in the distribution, includes the TKinter GUI library. When Python starts up, it doesn?t load many of the standard libraries automatically. That?s why you need the imports before you use them. (It imports them from the standard library). Here is the smallest hello Richmond program that I could find: import tkinter as tk gui = tk.Tk() w = tk.Label(gui, text="Hello, Richmond!") w.pack() w.mainloop() It should run in any standard Python3 distribution. You might want to think about using the new Mu Editor which is aimed at beginners. It includes it?s own version of Python3 (3.6 in the current release). It?s website is https://codewith.mu There?s an introduction to it at https://www.raspberrypi.org/blog/mu-python-ide/ Hope this helps Peter > On 13 Aug 2018, at 16:23, Richmond Mathewson via use-livecode > wrote: > > Like it or not (and mainly NOT), I have to offer Python to kids this fall . . . > > This is a b*gger for several reasons: > > 1. I love LiveCode. > > 2. To use Python to any effect apart from rather goofy manipulations with numbers and text an install > requires 'modules' which are usually installed using a daft command-line system using something call > 'PIP' [ "Permanently Injurious Python" perhaps? ] . . . which I have signally failed to get to work on either > Macintosh or Linux. > > I wonder of anyone knows of a way to install Python 3 on Linux with the main GUI modules "bound in": > i.e. a one-stop install. > > Frankly, Python, by using this module system seems to defeat itself to a certain extent: or, maybe I'm just > spoilt by LiveCode. > > This question is very timely as Wednesday is Nag Panchami: the day of snakes! > > Richmond. > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From benr_mc at cogapp.com Mon Aug 13 06:07:12 2018 From: benr_mc at cogapp.com (Ben Rubinstein) Date: Mon, 13 Aug 2018 11:07:12 +0100 Subject: Anyone using Older LC versions? In-Reply-To: <8de625d3-8617-04a2-200e-8d6066e94486@researchware.com> References: <5B700911.3070906@pair.com> <8de625d3-8617-04a2-200e-8d6066e94486@researchware.com> Message-ID: <079b0ec5-c68b-4588-70ae-d8355bff88a5@cogapp.com> I still use 6.7.11 regularly for the same reason as Paul. (9 for all new work.) Ben On 12/08/2018 13:40, Paul Dupuis via use-livecode wrote: > We still have a few pre-Unicode stacks (all under LC 6.7.11). It is just > taking a lot of time (that we don't have) to get them all migrated and > tested to LC9+ > > I know you know this already, but I thought I would reply for any one > else interested in this informal poll > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From bobsneidar at iotecdigital.com Mon Aug 13 10:50:39 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Mon, 13 Aug 2018 14:50:39 +0000 Subject: Repeat for each element failing In-Reply-To: <1533953476394-0.post@n4.nabble.com> References: <1533951386163-0.post@n4.nabble.com> <1533953476394-0.post@n4.nabble.com> Message-ID: <1D98FBBF-68C8-41EC-9C71-B4ADA29356C9@iotecdigital.com> No I mean when stating repeat for each element in myArray, can each element be arrays, but I know now that it can. I somehow via a code bug had an element that was empty. Since there was no key, repeat for each element choked. Bob S > On Aug 10, 2018, at 19:11 , dunbarxx via use-livecode wrote: > > My error. I meant: > > Are you speaking of the "warm" in myFavoriteColors["warm"]["red"] > > Craig From bobsneidar at iotecdigital.com Mon Aug 13 10:55:55 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Mon, 13 Aug 2018 14:55:55 +0000 Subject: Android compass question In-Reply-To: References: Message-ID: Maybe you don't know what you want most in this world. (Sorry I had to.) Might be a calibration issue, but I don't know how to calibrate the compass on an android. Bob S > On Aug 11, 2018, at 13:34 , Jonathan Lynch via use-livecode wrote: > > I have a new galaxy phone. When I read the mobile compass, both magnetic heading and true heading constantly change - even if the phone is laying down still. It changes up and down randomly by 5 degrees or so. Does anyone know if this is a problem with LC or with galaxy phones? My iPhone does not do this. > > Sent from my iPhone From bobsneidar at iotecdigital.com Mon Aug 13 10:57:21 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Mon, 13 Aug 2018 14:57:21 +0000 Subject: Resetting waitDepth In-Reply-To: References: Message-ID: <85E46477-5787-441E-8B8D-33EC9E5CC218@iotecdigital.com> Whuuuuut? I may have been bitten by these bugs! Bob S > On Aug 11, 2018, at 14:19 , Mark Waddingham via use-livecode wrote: > > I'm pretty sure exit to top should do in most cases - however I think there might be a few implicit in-engine/external wait used which ignore it (which probably should be considered bugs). > > Warmest Regards, > > Mark. > > Sent from my iPhone From devin_asay at byu.edu Mon Aug 13 10:57:27 2018 From: devin_asay at byu.edu (Devin Asay) Date: Mon, 13 Aug 2018 14:57:27 +0000 Subject: [OT] Snakey Problem In-Reply-To: <6bf08a50-aa0c-7a4c-fff4-b86ec7f86363@gmail.com> References: <6bf08a50-aa0c-7a4c-fff4-b86ec7f86363@gmail.com> Message-ID: <4EF1AF4E-7992-4EC6-8524-C127A12202F3@byu.edu> Richmond, One of my colleagues who teaches Python uses a cloud-based service called PythonAnywhere. The basic plan is free for anyone to use. You access it through a web browser. You may find it useful. Host, run, and code Python in the cloud: PythonAnywhere I have just tapped the extent of my Python system knowledge. ;) Devin On Aug 13, 2018, at 2:23 AM, Richmond Mathewson via use-livecode > wrote: Like it or not (and mainly NOT), I have to offer Python to kids this fall . . . This is a b*gger for several reasons: 1. I love LiveCode. 2. To use Python to any effect apart from rather goofy manipulations with numbers and text an install requires 'modules' which are usually installed using a daft command-line system using something call 'PIP' [ "Permanently Injurious Python" perhaps? ] . . . which I have signally failed to get to work on either Macintosh or Linux. I wonder of anyone knows of a way to install Python 3 on Linux with the main GUI modules "bound in": i.e. a one-stop install. Frankly, Python, by using this module system seems to defeat itself to a certain extent: or, maybe I'm just spoilt by LiveCode. This question is very timely as Wednesday is Nag Panchami: the day of snakes! Richmond. _______________________________________________ use-livecode mailing list use-livecode at lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode Devin Asay Director Office of Digital Humanities Brigham Young University From bobsneidar at iotecdigital.com Mon Aug 13 11:23:56 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Mon, 13 Aug 2018 15:23:56 +0000 Subject: [OT] Snakey Problem In-Reply-To: <4EF1AF4E-7992-4EC6-8524-C127A12202F3@byu.edu> References: <6bf08a50-aa0c-7a4c-fff4-b86ec7f86363@gmail.com> <4EF1AF4E-7992-4EC6-8524-C127A12202F3@byu.edu> Message-ID: <3CA6F7C7-A400-448B-9FE0-D5328FD90B0C@iotecdigital.com> Why do snakes get their own day?? They are the source of all our problems! Bob S > On Aug 13, 2018, at 07:57 , Devin Asay via use-livecode wrote: > > This question is very timely as Wednesday is Nag Panchami: the day of snakes! > > Richmond. From keith.clarke at me.com Mon Aug 13 11:32:10 2018 From: keith.clarke at me.com (Keith Clarke) Date: Mon, 13 Aug 2018 16:32:10 +0100 Subject: How to filter a list with a variable anywhere in a line Message-ID: <02796797-CA84-4775-948B-7546C5DDEFBB@me.com> Folks, I?m trying to filter a list of comma-delimited values to include only the lines that contain a string - somewhere in any of the items. What?s wrong with this syntax - it?s currently returning no lines when I can see tString in the second line of the variable? filter lines of tList with "*[" & tString & "]*" I?m guessing my concatenation fails to create good regex? TIA Keith From ahsoftware at sonic.net Mon Aug 13 11:34:22 2018 From: ahsoftware at sonic.net (Mark Wieder) Date: Mon, 13 Aug 2018 08:34:22 -0700 Subject: Re [OT] Snakey Problem In-Reply-To: References: <99425FEA-8877-4596-9609-DAEF66E3D870@gmail.com> Message-ID: <1ef9244d-6b5e-ad74-276f-7a4b199d92b3@sonic.net> On 08/13/2018 02:21 AM, Peter W A Wood via use-livecode wrote: >> Like it or not (and mainly NOT), I have to offer Python to kids this fall . . . >> Frankly, Python, by using this module system seems to defeat itself to a certain extent: or, maybe I'm just >> spoilt by LiveCode. We all are . But python has the best scientific libraries around (www.scipy.org). And everything python is free and open source - no silly licensing to worry about. Peter's suggestion of Mu looks good. Linux already comes with python installed. At a command line, type "python --version" and see what happens (then type "python3 --version" likewise). Do you need version 3? You've probably already got python 2.7 installed by default. But since mu contains python3 in its package that may answer your question. Pip is essential for python. Python is a programming language, not an environment of itself. So you'll want an IDE (mu would fit the bill) and modules (read libraries, plugins, ...) If your python version is 2.7.9 or greater (or python 3.4 or greater) then you've already got pip. If not, the apt-get should allow you to install pip. sudo apt-get install python-pip or sudo apt-get install python3-pip Notice that there are two possible versions of pip, depending on which version of python you want to run - if you're using python 2 then you can just invoke pip. If you're using python 3 then you'll run pip3. They coexist well. I have pip 9.0.1 and pip3 1.5.4 installed. ...and lastly I do want to point out that you may find yourself liking some things about python. There are some things that are awkward or hard to accomplish in LiveCode that are simple in python, and you can mix the two easily and let each do what it does best. YMMV. -- Mark Wieder ahsoftware at gmail.com From ahsoftware at sonic.net Mon Aug 13 11:38:45 2018 From: ahsoftware at sonic.net (Mark Wieder) Date: Mon, 13 Aug 2018 08:38:45 -0700 Subject: How to filter a list with a variable anywhere in a line In-Reply-To: <02796797-CA84-4775-948B-7546C5DDEFBB@me.com> References: <02796797-CA84-4775-948B-7546C5DDEFBB@me.com> Message-ID: <022826a8-bbe5-708a-ebb2-ec876e9d93df@sonic.net> On 08/13/2018 08:32 AM, Keith Clarke via use-livecode wrote: > Folks, > I?m trying to filter a list of comma-delimited values to include only the lines that contain a string - somewhere in any of the items. > > What?s wrong with this syntax - it?s currently returning no lines when I can see tString in the second line of the variable? > > filter lines of tList with "*[" & tString & "]*" > > > I?m guessing my concatenation fails to create good regex? If you really want regex then you have to specify that explictly: filter lines of tList with regex pattern "*[" & tString & "]*" but my guess is what you want is just filter lines of tList with "*" & tString & "*" -- Mark Wieder ahsoftware at gmail.com From ahsoftware at sonic.net Mon Aug 13 11:40:53 2018 From: ahsoftware at sonic.net (Mark Wieder) Date: Mon, 13 Aug 2018 08:40:53 -0700 Subject: Android compass question In-Reply-To: References: Message-ID: <77589eda-3676-9ba8-f6e2-60d18a9c21f1@sonic.net> On 08/13/2018 07:55 AM, Bob Sneidar via use-livecode wrote: > Maybe you don't know what you want most in this world. (Sorry I had to.) -- Mark Wieder ahsoftware at gmail.com From keith.clarke at me.com Mon Aug 13 11:51:15 2018 From: keith.clarke at me.com (Keith Clarke) Date: Mon, 13 Aug 2018 16:51:15 +0100 Subject: How to filter a list with a variable anywhere in a line In-Reply-To: <022826a8-bbe5-708a-ebb2-ec876e9d93df@sonic.net> References: <02796797-CA84-4775-948B-7546C5DDEFBB@me.com> <022826a8-bbe5-708a-ebb2-ec876e9d93df@sonic.net> Message-ID: <891FC435-A166-456E-9C09-FAABF88C4914@me.com> Thanks Mark - that fixed it (as in, the simpler approach of dropping the brackets). Being ?regex-phobic', I hadn?t picked up the subtle difference between wildcards and ?formal? regex in the doc examples. ;-) Thanks & regards, Keith > On 13 Aug 2018, at 16:38, Mark Wieder via use-livecode wrote: > > On 08/13/2018 08:32 AM, Keith Clarke via use-livecode wrote: >> Folks, >> I?m trying to filter a list of comma-delimited values to include only the lines that contain a string - somewhere in any of the items. >> What?s wrong with this syntax - it?s currently returning no lines when I can see tString in the second line of the variable? >> filter lines of tList with "*[" & tString & "]*" >> I?m guessing my concatenation fails to create good regex? > > If you really want regex then you have to specify that explictly: > > filter lines of tList with regex pattern "*[" & tString & "]*" > > but my guess is what you want is just > > filter lines of tList with "*" & tString & "*" > > -- > Mark Wieder > ahsoftware at gmail.com > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From ahsoftware at sonic.net Mon Aug 13 11:52:58 2018 From: ahsoftware at sonic.net (Mark Wieder) Date: Mon, 13 Aug 2018 08:52:58 -0700 Subject: Re [OT] Snakey Problem In-Reply-To: <1ef9244d-6b5e-ad74-276f-7a4b199d92b3@sonic.net> References: <99425FEA-8877-4596-9609-DAEF66E3D870@gmail.com> <1ef9244d-6b5e-ad74-276f-7a4b199d92b3@sonic.net> Message-ID: <697b7a6b-c82e-4a65-ee70-3268fd490072@sonic.net> On 08/13/2018 08:34 AM, Mark Wieder via use-livecode wrote: > coexist well. I have pip 9.0.1 and pip3 1.5.4 installed. (talking to myself...) My bad - I was looking at the wrong screen. I actually have pip 18.0 installed. -- Mark Wieder ahsoftware at gmail.com From ahsoftware at sonic.net Mon Aug 13 11:54:39 2018 From: ahsoftware at sonic.net (Mark Wieder) Date: Mon, 13 Aug 2018 08:54:39 -0700 Subject: How to filter a list with a variable anywhere in a line In-Reply-To: <891FC435-A166-456E-9C09-FAABF88C4914@me.com> References: <02796797-CA84-4775-948B-7546C5DDEFBB@me.com> <022826a8-bbe5-708a-ebb2-ec876e9d93df@sonic.net> <891FC435-A166-456E-9C09-FAABF88C4914@me.com> Message-ID: <6d50be59-2451-3d61-d031-7e7dadb6ad74@sonic.net> On 08/13/2018 08:51 AM, Keith Clarke via use-livecode wrote: > Thanks Mark - that fixed it (as in, the simpler approach of dropping the brackets). > > Being ?regex-phobic', I hadn?t picked up the subtle difference between wildcards and ?formal? regex in the doc examples. ;-) Yeah, it's pretty subtle since the bare filter syntax looks quite regexy all by itself. -- Mark Wieder ahsoftware at gmail.com From mark at livecode.com Mon Aug 13 11:57:01 2018 From: mark at livecode.com (Mark Waddingham) Date: Mon, 13 Aug 2018 17:57:01 +0200 Subject: Re [OT] Snakey Problem In-Reply-To: <1ef9244d-6b5e-ad74-276f-7a4b199d92b3@sonic.net> References: <99425FEA-8877-4596-9609-DAEF66E3D870@gmail.com> <1ef9244d-6b5e-ad74-276f-7a4b199d92b3@sonic.net> Message-ID: On 2018-08-13 17:34, Mark Wieder via use-livecode wrote: > On 08/13/2018 02:21 AM, Peter W A Wood via use-livecode wrote: > >>> Like it or not (and mainly NOT), I have to offer Python to kids this >>> fall . . . > >>> Frankly, Python, by using this module system seems to defeat itself >>> to a certain extent: or, maybe I'm just >>> spoilt by LiveCode. > > We all are . But python has the best scientific libraries around > (www.scipy.org). And everything python is free and open source - no > silly licensing to worry about. Last time I checked you sold at least two products which required a license... If you think licensing is silly, then why do you sell licensed software and not just give it away for free and open source as 'public domain'? :P Warmest Regards, Mark. -- Mark Waddingham ~ mark at livecode.com ~ http://www.livecode.com/ LiveCode: Everyone can create apps From keith.clarke at me.com Mon Aug 13 12:01:52 2018 From: keith.clarke at me.com (Keith Clarke) Date: Mon, 13 Aug 2018 17:01:52 +0100 Subject: How to filter a list with a variable anywhere in a line In-Reply-To: <6d50be59-2451-3d61-d031-7e7dadb6ad74@sonic.net> References: <02796797-CA84-4775-948B-7546C5DDEFBB@me.com> <022826a8-bbe5-708a-ebb2-ec876e9d93df@sonic.net> <891FC435-A166-456E-9C09-FAABF88C4914@me.com> <6d50be59-2451-3d61-d031-7e7dadb6ad74@sonic.net> Message-ID: Indeed, especially when anything regexy should be viewed from a safe distance - ideally from behind the couch ?in a tin-foil hat! > On 13 Aug 2018, at 16:54, Mark Wieder via use-livecode wrote: > > On 08/13/2018 08:51 AM, Keith Clarke via use-livecode wrote: >> Thanks Mark - that fixed it (as in, the simpler approach of dropping the brackets). >> Being ?regex-phobic', I hadn?t picked up the subtle difference between wildcards and ?formal? regex in the doc examples. ;-) > > Yeah, it's pretty subtle since the bare filter syntax looks quite regexy all by itself. > > -- > Mark Wieder > ahsoftware at gmail.com > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From bobsneidar at iotecdigital.com Mon Aug 13 12:11:00 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Mon, 13 Aug 2018 16:11:00 +0000 Subject: How to filter a list with a variable anywhere in a line In-Reply-To: References: <02796797-CA84-4775-948B-7546C5DDEFBB@me.com> <022826a8-bbe5-708a-ebb2-ec876e9d93df@sonic.net> <891FC435-A166-456E-9C09-FAABF88C4914@me.com> <6d50be59-2451-3d61-d031-7e7dadb6ad74@sonic.net> Message-ID: <6920F37A-D7AA-499A-867F-2689043A78B7@iotecdigital.com> Someone did a great article on using regex to parse csv files or some such thing, and was making the case why it couldn't be done, and in the middle of attempting to explain it, the author loses his mind. It was pretty funny. Bob S > On Aug 13, 2018, at 09:01 , Keith Clarke via use-livecode wrote: > > Indeed, especially when anything regexy should be viewed from a safe distance - ideally from behind the couch ?in a tin-foil hat! From ahsoftware at sonic.net Mon Aug 13 12:13:06 2018 From: ahsoftware at sonic.net (Mark Wieder) Date: Mon, 13 Aug 2018 09:13:06 -0700 Subject: Re [OT] Snakey Problem In-Reply-To: References: <99425FEA-8877-4596-9609-DAEF66E3D870@gmail.com> <1ef9244d-6b5e-ad74-276f-7a4b199d92b3@sonic.net> Message-ID: <5f6fd562-e334-8ac9-8512-8c8ae9f4a145@sonic.net> On 08/13/2018 08:57 AM, Mark Waddingham via use-livecode wrote: > Last time I checked you sold at least two products which required a > license... > > If you think licensing is silly, then why do you sell licensed software > and not just give it away for free and open source as 'public domain'? :P Nope. Not wanting to get into licensing wars here (the 'silly licensing' thing was not meant to be a poke at LC), but the stacks I sell have an initial low purchase price but no 'license' involved. A registration code is required to download (always free) updates as they appear, but there's no license check and no subscription and no locked code. And as you well know, I give away lots of foss and public domain code. :P yourself -- Mark Wieder ahsoftware at gmail.com From keith.clarke at me.com Mon Aug 13 12:20:54 2018 From: keith.clarke at me.com (Keith Clarke) Date: Mon, 13 Aug 2018 17:20:54 +0100 Subject: How to filter a list with a variable anywhere in a line In-Reply-To: <6920F37A-D7AA-499A-867F-2689043A78B7@iotecdigital.com> References: <02796797-CA84-4775-948B-7546C5DDEFBB@me.com> <022826a8-bbe5-708a-ebb2-ec876e9d93df@sonic.net> <891FC435-A166-456E-9C09-FAABF88C4914@me.com> <6d50be59-2451-3d61-d031-7e7dadb6ad74@sonic.net> <6920F37A-D7AA-499A-867F-2689043A78B7@iotecdigital.com> Message-ID: <3D4FDED0-764E-45A3-B8BE-C683F17DA8DE@me.com> ?ad insanem regexum - maybe his tin-foil hat slipped off. Keith > On 13 Aug 2018, at 17:11, Bob Sneidar via use-livecode wrote: > > Someone did a great article on using regex to parse csv files or some such thing, and was making the case why it couldn't be done, and in the middle of attempting to explain it, the author loses his mind. It was pretty funny. > > Bob S > > >> On Aug 13, 2018, at 09:01 , Keith Clarke via use-livecode wrote: >> >> Indeed, especially when anything regexy should be viewed from a safe distance - ideally from behind the couch ?in a tin-foil hat! > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From jacque at hyperactivesw.com Mon Aug 13 12:28:37 2018 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Mon, 13 Aug 2018 11:28:37 -0500 Subject: How to filter a list with a variable anywhere in a line In-Reply-To: <6920F37A-D7AA-499A-867F-2689043A78B7@iotecdigital.com> References: <02796797-CA84-4775-948B-7546C5DDEFBB@me.com> <022826a8-bbe5-708a-ebb2-ec876e9d93df@sonic.net> <891FC435-A166-456E-9C09-FAABF88C4914@me.com> <6d50be59-2451-3d61-d031-7e7dadb6ad74@sonic.net> <6920F37A-D7AA-499A-867F-2689043A78B7@iotecdigital.com> Message-ID: <165341e2b08.2761.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> I You can't parse html with regex: https://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags# See the top accepted answer. -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com On August 13, 2018 11:12:53 AM Bob Sneidar via use-livecode wrote: > Someone did a great article on using regex to parse csv files or some such > thing, and was making the case why it couldn't be done, and in the middle > of attempting to explain it, the author loses his mind. It was pretty funny. > > Bob S > > >> On Aug 13, 2018, at 09:01 , Keith Clarke via use-livecode >> wrote: >> >> Indeed, especially when anything regexy should be viewed from a safe >> distance - ideally from behind the couch ?in a tin-foil hat! > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From bobsneidar at iotecdigital.com Mon Aug 13 12:39:28 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Mon, 13 Aug 2018 16:39:28 +0000 Subject: How to filter a list with a variable anywhere in a line In-Reply-To: <165341e2b08.2761.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> References: <02796797-CA84-4775-948B-7546C5DDEFBB@me.com> <022826a8-bbe5-708a-ebb2-ec876e9d93df@sonic.net> <891FC435-A166-456E-9C09-FAABF88C4914@me.com> <6d50be59-2451-3d61-d031-7e7dadb6ad74@sonic.net> <6920F37A-D7AA-499A-867F-2689043A78B7@iotecdigital.com> <165341e2b08.2761.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> Message-ID: That was it! LOL! Bob S > On Aug 13, 2018, at 09:28 , J. Landman Gay via use-livecode wrote: > > I You can't parse html with regex: > > https://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags# > > See the top accepted answer. > -- > Jacqueline Landman Gay | jacque at hyperactivesw.com > HyperActive Software | http://www.hyperactivesw.com > On August 13, 2018 11:12:53 AM Bob Sneidar via use-livecode wrote: > >> Someone did a great article on using regex to parse csv files or some such thing, and was making the case why it couldn't be done, and in the middle of attempting to explain it, the author loses his mind. It was pretty funny. >> >> Bob S From richmondmathewson at gmail.com Mon Aug 13 12:44:11 2018 From: richmondmathewson at gmail.com (Richmond Mathewson) Date: Mon, 13 Aug 2018 19:44:11 +0300 Subject: [OT] Snakey Problem In-Reply-To: <4EF1AF4E-7992-4EC6-8524-C127A12202F3@byu.edu> References: <6bf08a50-aa0c-7a4c-fff4-b86ec7f86363@gmail.com> <4EF1AF4E-7992-4EC6-8524-C127A12202F3@byu.edu> Message-ID: <4b87a81a-0933-dd8e-94e6-b1f26b0e1366@gmail.com> That sounds marvellous, in theory, but for legal reasons the computers in my school do not have internet access. Richmond. On 13/8/2018 5:57 pm, Devin Asay via use-livecode wrote: > Richmond, > > One of my colleagues who teaches Python uses a cloud-based service called PythonAnywhere. The basic plan is free for anyone to use. You access it through a web browser. You may find it useful. > > Host, run, and code Python in the cloud: PythonAnywhere > > I have just tapped the extent of my Python system knowledge. ;) > > Devin > > > On Aug 13, 2018, at 2:23 AM, Richmond Mathewson via use-livecode > wrote: > > Like it or not (and mainly NOT), I have to offer Python to kids this fall . . . > > This is a b*gger for several reasons: > > 1. I love LiveCode. > > 2. To use Python to any effect apart from rather goofy manipulations with numbers and text an install > requires 'modules' which are usually installed using a daft command-line system using something call > 'PIP' [ "Permanently Injurious Python" perhaps? ] . . . which I have signally failed to get to work on either > Macintosh or Linux. > > I wonder of anyone knows of a way to install Python 3 on Linux with the main GUI modules "bound in": > i.e. a one-stop install. > > Frankly, Python, by using this module system seems to defeat itself to a certain extent: or, maybe I'm just > spoilt by LiveCode. > > This question is very timely as Wednesday is Nag Panchami: the day of snakes! > > Richmond. > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > > Devin Asay > Director > Office of Digital Humanities > Brigham Young University > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From ahsoftware at sonic.net Mon Aug 13 12:55:05 2018 From: ahsoftware at sonic.net (Mark Wieder) Date: Mon, 13 Aug 2018 09:55:05 -0700 Subject: How to filter a list with a variable anywhere in a line In-Reply-To: <165341e2b08.2761.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> References: <02796797-CA84-4775-948B-7546C5DDEFBB@me.com> <022826a8-bbe5-708a-ebb2-ec876e9d93df@sonic.net> <891FC435-A166-456E-9C09-FAABF88C4914@me.com> <6d50be59-2451-3d61-d031-7e7dadb6ad74@sonic.net> <6920F37A-D7AA-499A-867F-2689043A78B7@iotecdigital.com> <165341e2b08.2761.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> Message-ID: Ph'nglui mglw'nafh Cthulhu R'lyeh wgah'nagl fhtagn -- Mark Wieder ahsoftware at gmail.com From colinholgate at gmail.com Mon Aug 13 13:05:00 2018 From: colinholgate at gmail.com (Colin Holgate) Date: Mon, 13 Aug 2018 13:05:00 -0400 Subject: How to filter a list with a variable anywhere in a line In-Reply-To: References: <02796797-CA84-4775-948B-7546C5DDEFBB@me.com> <022826a8-bbe5-708a-ebb2-ec876e9d93df@sonic.net> <891FC435-A166-456E-9C09-FAABF88C4914@me.com> <6d50be59-2451-3d61-d031-7e7dadb6ad74@sonic.net> <6920F37A-D7AA-499A-867F-2689043A78B7@iotecdigital.com> <165341e2b08.2761.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> Message-ID: <2B1D6A5F-5D0D-4961-9253-7362F7771D2A@gmail.com> In that book I wrote there is a chapter on making a web scraper, something that could pull images and other media from a web page. I soon found all the articles talking about not using regex with HTML, so I used a mixture of techniques instead. Here?s the first part I wrote about it: ?A common approach when extracting a known pattern of text is to use regular expressions, often referred to as regex or regexp. At its simplest it's easy to understand, but it can get quite complex. Read the Wikipedia article if you want to understand it in depth: http://en.wikipedia.org/wiki/Regular_expression Another useful source of information is this Packt article on regular expressions: http://www.packtpub.com/article/regular-expressions-python-26-text-processing One problem though is that using regexp to parse HTML content is frowned upon. There are scores of articles online telling you outright not to parse HTML with regexp! Here's one pithy example: http://boingboing.net/2011/11/24/why-you-shouldnt-parse-html.html Now, parsing HTML source is exactly what we want to do here, and one solution to the problem is to mix and match, using LiveCode's other text matching and filtering abilities to do most of the work. Although it's not exactly regexp, LiveCode can use regular expressions in some of its matching and filtering functions, and they are somewhat easier to understand than full-blown regexp. So, let's begin by using those ?? A few pages later I do use some regex to pull text from the page: function getText pPageSource put replaceText(pPageSource,"(?:<(?Pscript|style)[\s\S]*?)|(?:)|(?:<[\s\S]*?>)","") into pPageSource replace lf with "" in pPageSource? replace tab with " " in pPageSource return pPageSource end getText From richmondmathewson at gmail.com Mon Aug 13 13:10:31 2018 From: richmondmathewson at gmail.com (Richmond Mathewson) Date: Mon, 13 Aug 2018 20:10:31 +0300 Subject: [OT] Snakey Problem In-Reply-To: <3CA6F7C7-A400-448B-9FE0-D5328FD90B0C@iotecdigital.com> References: <6bf08a50-aa0c-7a4c-fff4-b86ec7f86363@gmail.com> <4EF1AF4E-7992-4EC6-8524-C127A12202F3@byu.edu> <3CA6F7C7-A400-448B-9FE0-D5328FD90B0C@iotecdigital.com> Message-ID: Dunno about that . . . Let us suppose, for the moment at least, that the story of the Garden of Eden, in the Bible, while not being literally true, is a powerful and cogent psychological lesson . . . A rather beastly, paternalistic, sexist, bullying demi-urgos called Ialdabaoth gets too big for his boots and sets up a sort of petting-zoo and populates it with lots of jazzy animals and plants, among them 2 rather peculiar bald apes who have rather well-developed, if naive, minds. Now, old Ialdabaoth, being a right "case", pops 2 trees bung in the middle of the zoo, and they have just the tastiest and most interesting fruit you can imagine on them. In addition to this the fruit of these 2 trees have remarkable powers: the fruit of the first one gives you an instant doctorate in just about everything you can imagine, and the second one solves all your medical problems to such an extent that you'll live forever. The Ialdabaoth says to the 2 bald apes, "No, and not under any circumstances!" --------------- Try this experiment: go out and buy a bag of jelly sweeties, put its contents in a bowl right in the middle of the kitchen table and tell your children/grandchildren/nephews/nieces/ other stray kids, "Those are mine and I will turn you into pumpkins if you touch them." Last time I tried that those sweets lasted about 20 minutes. -------------- Now the Lord and Master of the Universe looks down at what yon Ialdabaoth is up to and feels an element of disquiet: not least because Ialdabaoth is misrepresenting things in a major way to the 2 bald apes. So the Lord and Master of the Universe pops together a very odd creature indeed: no arms, no wings and no legs: a snake. And sends that snake into the petting-zoo to point out what a "pill" Ialdabaoth is being. --------------- The snake does its work, as instructed, at which point "Old Sweaty Socks", Ialdabaoth, who, among other character defects, suffers from a serious temper problem, chucks the bald apes out of the zoo. At which point the bald apes work a few basic things out, and one of them is that, despite the petting-zoo being a sort of non-stop cafeteria and club-Med: they are actually better off outiside where they can use their creativity, brains and so forth to create the sort of world they want rather than the one that Ialdabaoth had imposed on them. ------------ The above, by the way, is my retelling of the standard Christian Gnostic Myth of Origins. I am retelling it not in any attempt to insult or upset anyone, but as at least one way of understanding why snakes, culturally, have been viewed with mixed feelings. Historically and mythologically snakes have been viewed ambivalently; both as threats and as the bearers of wisdom and healing (c.f. the wand of Aesclepius). ----------- There is a large body of evidence to support the idea that the early Jewish Temple on mount Moriah, in Jerusalem contained snake idols, as did the early Jewish (Samaritan) Temple on mount Gerizim. At the Jewish Temple at the first cataract on the Nile in Egypt snakes were worshiped along with 'Ashera': poles representing the brides of Yahweh. Snake worship has been found in South America and runs right through Hinduism, Buddhism and Jainism (if you really want to consider those 3 religious traditions as separate from each other). Nag Pachami is a Hindu festival: possibly the only religious tradition that has retained that to the present day. Richmond. On 13/8/2018 6:23 pm, Bob Sneidar via use-livecode wrote: > Why do snakes get their own day?? They are the source of all our problems! > > Bob S > > >> On Aug 13, 2018, at 07:57 , Devin Asay via use-livecode wrote: >> >> This question is very timely as Wednesday is Nag Panchami: the day of snakes! >> >> Richmond. > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From richmondmathewson at gmail.com Mon Aug 13 13:24:33 2018 From: richmondmathewson at gmail.com (Richmond Mathewson) Date: Mon, 13 Aug 2018 20:24:33 +0300 Subject: Re [OT] Snakey Problem In-Reply-To: References: <99425FEA-8877-4596-9609-DAEF66E3D870@gmail.com> <1ef9244d-6b5e-ad74-276f-7a4b199d92b3@sonic.net> Message-ID: <42fe5b86-f760-1f6d-aa0f-8de53c38215a@gmail.com> Ouch . . . I don't know why this has to degenerate into a sort of flame war about whether one has to pay for things or not. [Within the next few weeks I will have to pay LiveCode to relicence my Indy version of LiveCode - I am well aware of why I am going to do this; and, which is probably the most important point, I don't resent that.] If I had to pay something for Python I would: NOT because I like Python; because, frankly I don't [ why go backwards to the sort of programming language I last had to work with in 1986? ], but because I shall be making money out of teaching Python. "silly licensing" My Devawriter Pro and my Balawriter both feature "silly licensing" because, odd as it may seem, I did not make those programs for the love of it. I started this, not to let it wander off onto pay/free or whatever, but to ask advice re setting up Python on Linux boxes in my school Richmond. On 13/8/2018 6:57 pm, Mark Waddingham via use-livecode wrote: > On 2018-08-13 17:34, Mark Wieder via use-livecode wrote: >> On 08/13/2018 02:21 AM, Peter W A Wood via use-livecode wrote: >> >>>> Like it or not (and mainly NOT), I have to offer Python to kids >>>> this fall . . . >> >>>> Frankly, Python, by using this module system seems to defeat itself >>>> to a certain extent: or, maybe I'm just >>>> spoilt by LiveCode. >> >> We all are . But python has the best scientific libraries around >> (www.scipy.org). And everything python is free and open source - no >> silly licensing to worry about. > > Last time I checked you sold at least two products which required a > license... > > If you think licensing is silly, then why do you sell licensed > software and not just give it away for free and open source as 'public > domain'? :P > > Warmest Regards, > > Mark. > From mark at livecode.com Mon Aug 13 13:32:02 2018 From: mark at livecode.com (Mark Waddingham) Date: Mon, 13 Aug 2018 19:32:02 +0200 Subject: Re [OT] Snakey Problem In-Reply-To: <5f6fd562-e334-8ac9-8512-8c8ae9f4a145@sonic.net> References: <99425FEA-8877-4596-9609-DAEF66E3D870@gmail.com> <1ef9244d-6b5e-ad74-276f-7a4b199d92b3@sonic.net> <5f6fd562-e334-8ac9-8512-8c8ae9f4a145@sonic.net> Message-ID: <98dc8351d4457184981cd5a6bbe2202d@livecode.com> On 2018-08-13 18:13, Mark Wieder via use-livecode wrote: > Nope. Not wanting to get into licensing wars here (the 'silly > licensing' thing was not meant to be a poke at LC), but the stacks I > sell have an initial low purchase price but no 'license' involved. A > registration code is required to download (always free) updates as > they appear, but there's no license check and no subscription and no > locked code. I've no intention of starting a licensing war and I'm not, but I think I do have to make an important point so as to not mislead others who are also looking to sell the software they produce (of which there are probably a fair few on this list - since this is a development tool mailing list!). The problem is that I have no idea what you mean by 'no license'. Do you mean: (1) No-one is allowed to use it - you've not specified any terms of conveyance or use - so does that mean there are none? (2) You mean that it is public domain (which is the closest thing to 'no license' I believe) - you are just charging me $40 per tool as the download fee for the 'full' version. (3) You are relying on various laws and such which the purchaser is assumed to understand in order to know what they are allowed to do with what they have paid for? If (1) is the case - then the tools very existence seems to be a kind of a pointless exercise. If (2) is the case, then great - they both might make a useful addition to the non-GPL editions of LiveCode (as there is 'no license' they are not compatible with the GPL) - I'll pay $80, put them in the non-GPL editions and ensure everyone who uses those editions has complete and free access to them ;o). If (3) is the case, then, err - that's way too non-specific for me - I think I'll just take a pass. [ By the way, I should point out (although I'd hope this would be obvious!) that I won't *actually* be doing (2) - the lack of any specific details of the terms under which you are conveying your software means it is way to risky for me to even think about using your tools in any manner whatsoever! Also, I have far too much respect for anyone who is willing to release and support software regardless of whether they may or may not be somewhat light on the legalese side of things - so I ain't gonna go stealing anything! ] My point here is, simply, this - software licenses might well be verbose at times, annoying and you may well think that they are just standing in our way to do what we want to do. However, they are not, they absolutely are not. They are very important - they tell anyone who receives the software work you have created what their rights, responsibilities and redress (as a receiver of them) is with regard the use of what you have granted them access to. They don't have to be complex, nor full of legalese. However anybody who is vending software and failing to take the time and effort to set out in clear language what terms they intend their software to be used under either if bought, or just downloaded is doing both themselves a disservice, as well as their potential users. Also, I should also point out that Python does come with a software license. Indeed the PSF felt it necessary to create their own GPL-compatible one. Interestingly there is one clause in it which certainly makes it stronger than MIT: 3. In the event Licensee prepares a derivative work that is based on or incorporates Python 3.7.0 or any part thereof, and wants to make the derivative work available to others as provided herein, then Licensee hereby agrees to include in any such work a brief summary of the changes made to Python 3.7.0. Indeed, parts of the python source base are actually covered by a litany of other licenses too (just as LiveCode's is GPL + a number of others) as is more than usual in large open-source projects. So, anyway, Mark Wieder is free to continue to do as he sees fit - however, I'd strongly recommend anyone else thinking about selling or distributing software is not quite so laissez-faire with the (what can be extremely simple) legal side. You may not agree with software licensing or may think you are above, on top, aside or nowhere related to it; but if you wish to interact with others in the modern world of software, and particularly with those who are have to do due-diligence on such matters, you'd be wise to not ignore it and claim 'no license'. > And as you well know, I give away lots of foss and public domain code. > :P yourself What do you know - so do we (on a far greater scale, I'd perhaps venture) :oP Warmest Regards, Mark. -- Mark Waddingham ~ mark at livecode.com ~ http://www.livecode.com/ LiveCode: Everyone can create apps From smaclean at madmansoft.com Mon Aug 13 13:42:01 2018 From: smaclean at madmansoft.com (Stephen MacLean) Date: Mon, 13 Aug 2018 13:42:01 -0400 Subject: LC 9 and Memory Message-ID: Hi All, I?m running into an issue where LC 9.0.1 RC1 Business is running a process and is gobbling up memory and then not releasing it until I quit LC. Like 22GB of memory! Let me describe what I?m doing: I?m getting a query back from a MYSQL DB that contains 32k records, all text. Using revQueryDatabase() to put the data into a record set and the move cursor to go through each record in a repeat loop. During the loop, I?m calling multiple functions that use a variety of all the goodies LC has: tsNet directly to get some data and PUT and POST URL were they work fine (For some reason, they don?t work on some URL?s, but tsNet does). Processing that data and saving it back to the DB into a different table. While doing this I?m putting some text into a logging field, moving a progress bar and updating a counter field to show what record it?s on . I?m also running a timer to show the elapsed time. When done I save the log fld to a text file, then clear it. I also close the record set. The memory used for LC always goes up, but never goes down unless I quit. What am I missing? LC does it?s own GC and memory management, but in this case, I don?t see it. Anyone experience this before? Any tips for controlling it? TIA, Steve MacLean From bobsneidar at iotecdigital.com Mon Aug 13 13:47:28 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Mon, 13 Aug 2018 17:47:28 +0000 Subject: LC 9 and Memory In-Reply-To: References: Message-ID: Is this on a Mac? I know that for Macs, memory can be "in use" by an app, but the app will release it on request. "wired" memory is that which an app has allocated and will not release. Right now I have 11+ of 16 gigs of memory in use, but only 2.32 of it is "wired". If you look at the Activity Monitor, the indicator for Memory Pressure is really the indication of available resources. Windows these days probably uses a similar way of managing memory. Bob S > On Aug 13, 2018, at 10:42 , Stephen MacLean via use-livecode wrote: > > Hi All, > > I?m running into an issue where LC 9.0.1 RC1 Business is running a process and is gobbling up memory and then not releasing it until I quit LC. Like 22GB of memory! > > Let me describe what I?m doing: I?m getting a query back from a MYSQL DB that contains 32k records, all text. Using revQueryDatabase() to put the data into a record set and the move cursor to go through each record in a repeat loop. > > During the loop, I?m calling multiple functions that use a variety of all the goodies LC has: tsNet directly to get some data and PUT and POST URL were they work fine (For some reason, they don?t work on some URL?s, but tsNet does). Processing that data and saving it back to the DB into a different table. While doing this I?m putting some text into a logging field, moving a progress bar and updating a counter field to show what record it?s on . I?m also running a timer to show the elapsed time. > > When done I save the log fld to a text file, then clear it. I also close the record set. > > The memory used for LC always goes up, but never goes down unless I quit. > > What am I missing? LC does it?s own GC and memory management, but in this case, I don?t see it. > > Anyone experience this before? Any tips for controlling it? > > TIA, > > Steve MacLean From mark at livecode.com Mon Aug 13 13:55:00 2018 From: mark at livecode.com (Mark Waddingham) Date: Mon, 13 Aug 2018 19:55:00 +0200 Subject: LC 9 and Memory In-Reply-To: References: Message-ID: <5fd27255725a8b31ff0c91d06fb9575c@livecode.com> On 2018-08-13 19:42, Stephen MacLean via use-livecode wrote: > Anyone experience this before? Any tips for controlling it? Well it sounds like you are doing a fair bit there so its really hard to say whether or not there is a memory leak. The first thing to do is to find out whether that is actually 22Gb in use, or just an 'illusion'. Leave you application running so that you can observe the gradually increase of memory. Then determine its PID (should be visible in Activity Monitor) then do from Terminal: heap And share the report which is emitted to stdout with us :) Warmest Regards, Mark. -- Mark Waddingham ~ mark at livecode.com ~ http://www.livecode.com/ LiveCode: Everyone can create apps From smaclean at madmansoft.com Mon Aug 13 13:58:01 2018 From: smaclean at madmansoft.com (Stephen MacLean) Date: Mon, 13 Aug 2018 13:58:01 -0400 Subject: LC 9 and Memory In-Reply-To: References: Message-ID: <5AC2D7ED-5B74-401A-9667-98A9191BCF61@madmansoft.com> Yes, it?s on MacOS 10.12.6. No, this is in use? and cause my open apps, including LC, to be ?paused? saying that I had run out of memory. I have 32GB of real RAM and a 4TB SSD that the OS sits on, with half of that free. The swap file had grown to almost 30GB in size, with most of it used., which is probably why I paused everything? > On Aug 13, 2018, at 1:47 PM, Bob Sneidar via use-livecode wrote: > > Is this on a Mac? I know that for Macs, memory can be "in use" by an app, but the app will release it on request. "wired" memory is that which an app has allocated and will not release. Right now I have 11+ of 16 gigs of memory in use, but only 2.32 of it is "wired". If you look at the Activity Monitor, the indicator for Memory Pressure is really the indication of available resources. > > Windows these days probably uses a similar way of managing memory. > > Bob S > > >> On Aug 13, 2018, at 10:42 , Stephen MacLean via use-livecode wrote: >> >> Hi All, >> >> I?m running into an issue where LC 9.0.1 RC1 Business is running a process and is gobbling up memory and then not releasing it until I quit LC. Like 22GB of memory! >> >> Let me describe what I?m doing: I?m getting a query back from a MYSQL DB that contains 32k records, all text. Using revQueryDatabase() to put the data into a record set and the move cursor to go through each record in a repeat loop. >> >> During the loop, I?m calling multiple functions that use a variety of all the goodies LC has: tsNet directly to get some data and PUT and POST URL were they work fine (For some reason, they don?t work on some URL?s, but tsNet does). Processing that data and saving it back to the DB into a different table. While doing this I?m putting some text into a logging field, moving a progress bar and updating a counter field to show what record it?s on . I?m also running a timer to show the elapsed time. >> >> When done I save the log fld to a text file, then clear it. I also close the record set. >> >> The memory used for LC always goes up, but never goes down unless I quit. >> >> What am I missing? LC does it?s own GC and memory management, but in this case, I don?t see it. >> >> Anyone experience this before? Any tips for controlling it? >> >> TIA, >> >> Steve MacLean > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From smaclean at madmansoft.com Mon Aug 13 14:01:58 2018 From: smaclean at madmansoft.com (Stephen MacLean) Date: Mon, 13 Aug 2018 14:01:58 -0400 Subject: LC 9 and Memory In-Reply-To: <5fd27255725a8b31ff0c91d06fb9575c@livecode.com> References: <5fd27255725a8b31ff0c91d06fb9575c@livecode.com> Message-ID: <174FAE16-DF46-497A-8D62-CF7C974783CC@madmansoft.com> Hi Mark, Yes, doing quite a bit, which LC handles just fine:) Except for these with big queries;) I do want to mention that I call plenty of functions, so it?s not a real tight loop, just a loop with a lot going on. Ok, will do the next time I run one of these? These big batches take about 5 hours to run. Thanks, Steve > On Aug 13, 2018, at 1:55 PM, Mark Waddingham via use-livecode wrote: > > On 2018-08-13 19:42, Stephen MacLean via use-livecode wrote: >> Anyone experience this before? Any tips for controlling it? > > Well it sounds like you are doing a fair bit there so its really hard to say whether or not there is a memory leak. > > The first thing to do is to find out whether that is actually 22Gb in use, or just an 'illusion'. > > Leave you application running so that you can observe the gradually increase of memory. Then determine its PID (should be visible in Activity Monitor) then do from Terminal: > > heap > > And share the report which is emitted to stdout with us :) > > Warmest Regards, > > Mark. > > -- > Mark Waddingham ~ mark at livecode.com ~ http://www.livecode.com/ > LiveCode: Everyone can create apps > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From mark at livecode.com Mon Aug 13 14:07:13 2018 From: mark at livecode.com (Mark Waddingham) Date: Mon, 13 Aug 2018 20:07:13 +0200 Subject: LC 9 and Memory In-Reply-To: <174FAE16-DF46-497A-8D62-CF7C974783CC@madmansoft.com> References: <5fd27255725a8b31ff0c91d06fb9575c@livecode.com> <174FAE16-DF46-497A-8D62-CF7C974783CC@madmansoft.com> Message-ID: <36f4775637a4dfe30de95f942eb9b83f@livecode.com> On 2018-08-13 20:01, Stephen MacLean via use-livecode wrote: > Hi Mark, > > Yes, doing quite a bit, which LC handles just fine:) Except for these > with big queries;) I do want to mention that I call plenty of > functions, so it?s not a real tight loop, just a loop with a lot going > on. > > Ok, will do the next time I run one of these? These big batches take > about 5 hours to run. From what you said in your other message this could well be a memory-leak... However, the other potential cause is what's called 'heap-fragmentation'. Whilst memory is being freed correctly, sometimes certain use patterns can cause the C heap to consist of 'mostly free space', but having no contiguous block large enough to allocate some of the blocks of memory you are using - so the heap gets extended. When you do free a 'big block' it gets used up by lots of small blocks. Basically, the heap becomes like a block of swiss-cheese - you can fit small things in the holes, but nothing big. The 'heap' report will help determine what's going on there (you don't need to run it until you get to the exhaustion point - just for a while until you see the gradually continual rise). By looking at the report it is possible to tell the actual % of memory in use in the heap overall. Is there any way to split up the processing of a single batch into pieces, each run in its own process (sequentially?) - that approach actually gives you two things - (1) a fix to the exhaustion problem you are having and (2) the ability to recover most of the batch if one piece fails. Warmest Regards, Mark. -- Mark Waddingham ~ mark at livecode.com ~ http://www.livecode.com/ LiveCode: Everyone can create apps From ambassador at fourthworld.com Mon Aug 13 14:22:56 2018 From: ambassador at fourthworld.com (Richard Gaskin) Date: Mon, 13 Aug 2018 11:22:56 -0700 Subject: Re [OT] Snakey Problem In-Reply-To: <5f6fd562-e334-8ac9-8512-8c8ae9f4a145@sonic.net> References: <5f6fd562-e334-8ac9-8512-8c8ae9f4a145@sonic.net> Message-ID: Mark Wieder wrote: > Not wanting to get into licensing wars here (the 'silly licensing' > thing was not meant to be a poke at LC), but the stacks I sell have an > initial low purchase price but no 'license' involved. Everyone who respects creative work, and certainly every professional looking out for the well-being of their customers and their company, doesn't just want licensing, they need it. The Berne Convention codified into international law a deeply profound idea: the author of an original creative work fully owns that work at the very moment of creation, and has sole authority over how it is shared. In doing so, we now have nearly-universal agreement that the products of the human mind are no less important than the products of our hands. Recognizing this primacy of creators encourages creation. Licensing is the means by which a creator lets the world know what their intentions are for the thing they've created. Without a license, the principles that gave rise to the Berne Convention take precedence, so the work belongs only to its creator and can be distributed by no one. Licenses express how a creator wants to let others share the work. Even if the author wants to completely transfer all rights to the work to everyone on the planet without any restrictions of any kind, that needs to be explicitly declared (using "Public Domain" for that is especially useful since the phrase is well recognized as serving that purpose). Most other licenses retain ownership by the work's creator, granting various permissions for others to use and share the work. Some of these licenses may also grant rights to the source code, others may keep the source code proprietary. We have many licenses for many purposes, and it is the creator's right to craft their own license if they choose (though there are negative implications with open source projects using a non-standard license, but that's another topic). The main point here is that any copyrightable work released without any specific license at all cannot ethically or legally be used by anyone. Whether that's enforced is a separate matter, but those who respect original creative works will expect a license to allow them to know what they can and cannot do with it. Because if there is no license, under Berne Convention jurisdiction they can do nothing with it. And personally, I think that's very useful for all of us, well worth the time it takes to find and include explicit license terms that express our intentions. -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ____________________________________________________________________ Ambassador at FourthWorld.com http://www.FourthWorld.com From ahsoftware at sonic.net Mon Aug 13 14:26:57 2018 From: ahsoftware at sonic.net (Mark Wieder) Date: Mon, 13 Aug 2018 11:26:57 -0700 Subject: Re [OT] Snakey Problem In-Reply-To: <98dc8351d4457184981cd5a6bbe2202d@livecode.com> References: <99425FEA-8877-4596-9609-DAEF66E3D870@gmail.com> <1ef9244d-6b5e-ad74-276f-7a4b199d92b3@sonic.net> <5f6fd562-e334-8ac9-8512-8c8ae9f4a145@sonic.net> <98dc8351d4457184981cd5a6bbe2202d@livecode.com> Message-ID: <4a23daed-87fa-5e73-48cb-c0f39756d7bb@sonic.net> On 08/13/2018 10:32 AM, Mark Waddingham via use-livecode wrote: > I've no intention of starting a licensing war and I'm not, but I think I do have to make an important point so as to not mislead others who are also looking to sell the software they produce (of which there are probably a fair few on this list - since this is a development tool mailing list!). OK. Fair points. My use of 'no license' and 'silly licensing' was a bit off the cuff and not intended to start what this is becoming. So let me just say that I do indeed issue a license with the stacks, and the licensing fits somewhere in between MIT and WTF. There are two parts: for humans, and for lawyers. Here's the human part: Ah, Software Licensing Agreement (For both personal and commercial use). For humans: You bought a copy of this software, it's yours to do whatever you like. The code is open for you to examine or modify. Don't take me to court saying you have claims on this software, because you don't. Please don't give out copies to others. If you find bugs, please let me know and I'll fix them and everybody gains. If it turns out that this agreement doesn't match up with LiveCode's license agreement, I'll update it. The lawyers part is longer and translates the above into something that even lawyers can read. > Also, I should also point out that Python does come with a software license. As should any FOSS product. Interestingly, here's the original python license in its entirety: Copyright ? 1991 - 1995, Stichting Mathematisch Centrum Amsterdam, The Netherlands. All rights reserved. Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation, and that the name of Stichting Mathematisch Centrum or CWI not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission. STICHTING MATHEMATISCH CENTRUM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH CENTRUM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -- Mark Wieder ahsoftware at gmail.com -- Mark Wieder ahsoftware at gmail.com From smaclean at madmansoft.com Mon Aug 13 14:29:29 2018 From: smaclean at madmansoft.com (Stephen MacLean) Date: Mon, 13 Aug 2018 14:29:29 -0400 Subject: LC 9 and Memory In-Reply-To: <36f4775637a4dfe30de95f942eb9b83f@livecode.com> References: <5fd27255725a8b31ff0c91d06fb9575c@livecode.com> <174FAE16-DF46-497A-8D62-CF7C974783CC@madmansoft.com> <36f4775637a4dfe30de95f942eb9b83f@livecode.com> Message-ID: <2D9383A5-9190-4B5A-A0F6-BE6D3836A2A6@madmansoft.com> > On Aug 13, 2018, at 2:07 PM, Mark Waddingham via use-livecode wrote: > > Is there any way to split up the processing of a single batch into pieces, each run in its own process (sequentially?) - that approach actually gives you two things - (1) a fix to the exhaustion problem you are having and (2) the ability to recover most of the batch if one piece fails. > It?s about a split up as I can make it? I like to do that myself because 1) Helps me follow the code better 2) As you said, a failure or error won?t botch the whole thing. The only way to really make it smaller would be to limit the query. But, after this initial ?heavy lifting?, it will be run against MUCH smaller data sets, on a regular basis. At which point it probably won?t matter, but I can see a cumulative effect build up if it is a memory leak. I will let you know on the dump. Best, Steve From ahsoftware at sonic.net Mon Aug 13 14:37:22 2018 From: ahsoftware at sonic.net (Mark Wieder) Date: Mon, 13 Aug 2018 11:37:22 -0700 Subject: Re [OT] Snakey Problem In-Reply-To: References: <5f6fd562-e334-8ac9-8512-8c8ae9f4a145@sonic.net> Message-ID: <4f48a078-56eb-9298-f870-7d001afd59a1@sonic.net> On 08/13/2018 11:22 AM, Richard Gaskin via use-livecode wrote: > And personally, I think that's very useful for all of us, well worth the > time it takes to find and include explicit license terms that express > our intentions. > What I said. And by misspeaking 'no license' what I meant was that there is no subscription involved, no license checking in the software, no restrictions on use... you bought it, it's yours to use. ...and now I'd like to get away from licensing and back to python. https://www.youtube.com/watch?v=1k1ccguXiws -- Mark Wieder ahsoftware at gmail.com From mark at livecode.com Mon Aug 13 14:39:08 2018 From: mark at livecode.com (Mark Waddingham) Date: Mon, 13 Aug 2018 20:39:08 +0200 Subject: Re [OT] Snakey Problem In-Reply-To: <4a23daed-87fa-5e73-48cb-c0f39756d7bb@sonic.net> References: <99425FEA-8877-4596-9609-DAEF66E3D870@gmail.com> <1ef9244d-6b5e-ad74-276f-7a4b199d92b3@sonic.net> <5f6fd562-e334-8ac9-8512-8c8ae9f4a145@sonic.net> <98dc8351d4457184981cd5a6bbe2202d@livecode.com> <4a23daed-87fa-5e73-48cb-c0f39756d7bb@sonic.net> Message-ID: On 2018-08-13 20:26, Mark Wieder via use-livecode wrote: > Ah, Software Licensing Agreement > (For both personal and commercial use). > > For humans: > > You bought a copy of this software, it's yours to do whatever you like. > The code is open for you to examine or modify. > Don't take me to court saying you have claims on this software, > because you don't. > Please don't give out copies to others. > If you find bugs, please let me know and I'll fix them and everybody > gains. > If it turns out that this agreement doesn't match up with LiveCode's > license agreement, I'll update it. > > The lawyers part is longer and translates the above into something > that even lawyers can read. Hehe - lawyers do need special-casing at times :) Anyway the above sounds like a perfectly reasonable license - but it is a license (and not a 'silly' one ;)) - so I wasn't trying to start anything, just trying to prod you into admitting that you do actually have a license attached to your software :oP. > Copyright ? 1991 - 1995, Stichting Mathematisch Centrum Amsterdam, The > Netherlands. All rights reserved. > > Permission to use, copy, modify, and distribute this software and its > documentation for any purpose and without fee is hereby granted, > provided that the above copyright notice appear in all copies and that > both that copyright notice and this permission notice appear in > supporting documentation, and that the name of Stichting Mathematisch > Centrum or CWI not be used in advertising or publicity pertaining to > distribution of the software without specific, written prior > permission. > > STICHTING MATHEMATISCH CENTRUM DISCLAIMS ALL WARRANTIES WITH REGARD TO > THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND > FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH CENTRUM BE LIABLE > FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES > WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN > ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT > OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. Yes - its changed over the years - mostly not particularly notably (and mainly due to the transition from privately owned to the PSF I think). I only pulled out the latest (3.7) version because I haven't seen something *requiring* documentation of a 'change against the base' clause before (and I've read a *LOT* of software licenses over the years both closed and open source!). For a language system, it isn't a bad idea to be honest - it makes forks absolutely crystal clear as forks which is perhaps much more important when changes to language syntax and semantics are in play. Warmest Regards, Mark. -- Mark Waddingham ~ mark at livecode.com ~ http://www.livecode.com/ LiveCode: Everyone can create apps From bogdanoff at me.com Mon Aug 13 15:02:38 2018 From: bogdanoff at me.com (Peter Bogdanoff) Date: Mon, 13 Aug 2018 12:02:38 -0700 Subject: Text rendering of Unicode text in LC In-Reply-To: References: Message-ID: <3DC8B694-CC29-40FC-B9AD-0370463090D9@me.com> To follow up with my question from yesterday?and to continue with Biblical allusions others have begun? I?ve descended into hell, which I?m trying get out with some light from LiveCode Mark! To recap, the rendering of Chinese characters in Windows 10 is willy-nilly through different versions of LC. Earlier versions display bitmap glyphs, later versions display drawn characters. Now in LC 9.0 it displays a MIX of apparent bold and plain of characters all set identically. Examples: https://spark.adobe.com/page/clCst4mdUu8Jy/ What?s going on here? Bugs? My personal situation?this is a multi-year project that includes one of the two largest academic book publishers in China who are looking to our project as the vanguard of digital publishing in their country. They are looking at this text display and saying, ?we can?t publish this.? Now, they want to show it at a publishing conference... The Chinese translators say the bitmap text is great, but the anti-aliased rendered text is unusable. And everyone there has Windows. We with roman-text eyes don?t necessarily see a problem; they with Chinese character eyes are very particular. I?m supposing this is Skia doing the work (with the harfbuzz text shaping library?)?? If true, I see from the Skin/harfbuzz documentation on Font Embedded Bitmaps: "bool isEmbeddedBitmapText() const Returns true if Font Engine may return Glyphs from font bitmaps instead of from outlines.? https://skia.org/user/api/SkPaint_Reference#Subpixel_Text Can there be a font property option to display just the bitmap? Or are there other fixes that can be made? Peter Bogdanoff ArtsInteractive > On Aug 12, 2018, at 4:15 PM, Peter Bogdanoff via use-livecode wrote: > > Songti SC Regular From ahsoftware at sonic.net Mon Aug 13 15:03:09 2018 From: ahsoftware at sonic.net (Mark Wieder) Date: Mon, 13 Aug 2018 12:03:09 -0700 Subject: Re [OT] Snakey Problem In-Reply-To: References: <99425FEA-8877-4596-9609-DAEF66E3D870@gmail.com> <1ef9244d-6b5e-ad74-276f-7a4b199d92b3@sonic.net> <5f6fd562-e334-8ac9-8512-8c8ae9f4a145@sonic.net> <98dc8351d4457184981cd5a6bbe2202d@livecode.com> <4a23daed-87fa-5e73-48cb-c0f39756d7bb@sonic.net> Message-ID: <15e2b822-0d28-515a-cf24-40f49a3b6a09@sonic.net> On 08/13/2018 11:39 AM, Mark Waddingham via use-livecode wrote: > Yes - its changed over the years - mostly not particularly notably (and > mainly due to the transition from privately owned to the PSF I think). I And possibly more changes in the works, now that GvR stepped down as Benevolent Dictator For Life (BDFL) last month. -- Mark Wieder ahsoftware at gmail.com From tfabacher at gmail.com Mon Aug 13 15:08:11 2018 From: tfabacher at gmail.com (Todd Fabacher) Date: Mon, 13 Aug 2018 15:08:11 -0400 Subject: Using stackoverflow.com Message-ID: Just curious...Why are these questions NOT being put on stackoverflow.com? This is now people, companies, and publications rank languages these days. I think I have seen a post on people asking before, but it seems self-defeating to keep these post in the format. The new kids on the block and the old times do not benefit because they are not indexed by Google properly. Also, we have two clients who select NOT to have us use LiveCode this month. Something needs to change here. I am a strong believer that the community needs to step forward and do something. The two reasons they want a different environment were: 1. Not sufficient 3rd party tools with a viable marketplace [also little on Git]. If we have all these old LC scripts and they are open source, why don't we just put them on git??? and 2. small community on StackOverflow. And please someone work on the www.slant.co. Here it is if you are unaware: https://medium.com/building-slant/what-is-slant-5a836b200c0 People really read this stuff and I can't get clients to use livecode. It's a real problem that needs to be addressed. I try not to complain and I think the community needs to step forward. https://www.slant.co/versus/119/124/~livecode_vs_scratch https://www.slant.co/versus/119/125/~livecode_vs_php https://www.slant.co/versus/119/126/~livecode_vs_golang https://www.slant.co/versus/119/381/~livecode_vs_haxe We all suffer as a community when we can not get companies who would commit resources and new young blood. Don't just want to complain. I am happy to put some resources into widgets. We have been working on a few. --Todd From richmondmathewson at gmail.com Mon Aug 13 15:24:05 2018 From: richmondmathewson at gmail.com (Richmond Mathewson) Date: Mon, 13 Aug 2018 22:24:05 +0300 Subject: Text rendering of Unicode text in LC In-Reply-To: <3DC8B694-CC29-40FC-B9AD-0370463090D9@me.com> References: <3DC8B694-CC29-40FC-B9AD-0370463090D9@me.com> Message-ID: <0d2467cc-4c97-6370-5c76-071bc9e6c5f3@gmail.com> I've just had a look at you sample: https://spark.adobe.com/page/clCst4mdUu8Jy/ and I have to admit that plain-bold apparently random alternation is pretty pug-ugly. I don't know HOW you are getting the Chinese characters to show up, and as your sample does not contain selectable text I cannot "go backwards for Christmas" and work out what the Unicode addresses of some of those glyphs are. My own experience with Unicode in LiveCode has been confined to Indic, Slavic and Old English alphabetic forms and I have always ended up with "proper" anti-aliased true type representation. --- At the risk of being seen as extremely goofy . . . Are ALL your Chinese characters contained in a single font? [Even though that is claimed on the page] ------ Certainly IFF all your Chinese characters are contained in a single font and are NOT differently weighted (i.e. some are not BOLD while others are not) I don't think LiveCode should be at fault. What makes things a bit awkward is how your text images online are generated . . . If you were to export a PNG or JPEG image from your textField inwith your LiveCode stack you would get an EXACT representation of what the field looked like. My experience of exporting a field as HTMLtext has also always been positive as long as the font of the resultant HTML page is a webfont derived from the font used inwith LiveCode. -------- I won't pretend to understand what you say about Skia. But I do wonder why there has to be anything between LiveCode and your web representation. ----- I, also, don't understand the necessity for Adobe Spark. But I'm one of those people who like to keep things simple. This: http://andregarzia.on-rev.com/richmond/dwriterpro.html contains NOTHING more than simple images rendered out of a LiveCode stack as screenshots from a textField. Richmond. On 13/8/2018 10:02 pm, Peter Bogdanoff via use-livecode wrote: > To follow up with my question from yesterday?and to continue with Biblical allusions others have begun? > > I?ve descended into hell, which I?m trying get out with some light from LiveCode Mark! > > To recap, the rendering of Chinese characters in Windows 10 is willy-nilly through different versions of LC. Earlier versions display bitmap glyphs, later versions display drawn characters. Now in LC 9.0 it displays a MIX of apparent bold and plain of characters all set identically. > > Examples: > https://spark.adobe.com/page/clCst4mdUu8Jy/ > > What?s going on here? Bugs? > > My personal situation?this is a multi-year project that includes one of the two largest academic book publishers in China who are looking to our project as the vanguard of digital publishing in their country. They are looking at this text display and saying, ?we can?t publish this.? Now, they want to show it at a publishing conference... > > The Chinese translators say the bitmap text is great, but the anti-aliased rendered text is unusable. And everyone there has Windows. We with roman-text eyes don?t necessarily see a problem; they with Chinese character eyes are very particular. > > I?m supposing this is Skia doing the work (with the harfbuzz text shaping library?)?? If true, I see from the Skin/harfbuzz documentation on Font Embedded Bitmaps: > > "bool isEmbeddedBitmapText() const > Returns true if Font Engine may return Glyphs from font bitmaps instead of from outlines.? > > https://skia.org/user/api/SkPaint_Reference#Subpixel_Text > > > Can there be a font property option to display just the bitmap? Or are there other fixes that can be made? > > Peter Bogdanoff > ArtsInteractive > >> On Aug 12, 2018, at 4:15 PM, Peter Bogdanoff via use-livecode wrote: >> >> Songti SC Regular > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From paul at researchware.com Mon Aug 13 15:24:27 2018 From: paul at researchware.com (Paul Dupuis) Date: Mon, 13 Aug 2018 15:24:27 -0400 Subject: Using stackoverflow.com In-Reply-To: References: Message-ID: I have heard of and use (occasionally) stackoverflow.com Never heard of Slant and I'm not sure that in this day and age of paid marketing disguised as "independent" reviews, that I would trust ANY website for product recommendations that I or someone I trust had not personally tried. Just one opinion. On 8/13/2018 3:08 PM, Todd Fabacher via use-livecode wrote: > Just curious...Why are these questions NOT being put on stackoverflow.com? > This is now people, companies, and publications rank languages these days. > > I think I have seen a post on people asking before, but it seems > self-defeating to keep these post in the format. The new kids on the block > and the old times do not benefit because they are not indexed by Google > properly. > > Also, we have two clients who select NOT to have us use LiveCode this > month. Something needs to change here. I am a strong believer that the > community needs to step forward and do something. The two reasons they want > a different environment were: > > 1. Not sufficient 3rd party tools with a viable marketplace [also little on > Git]. If we have all these old LC scripts and they are open source, why > don't we just put them on git??? > > and > > 2. small community on StackOverflow. > > > And please someone work on the www.slant.co. Here it is if you are > unaware: https://medium.com/building-slant/what-is-slant-5a836b200c0 > People really read this stuff and I can't get clients to use livecode. It's > a real problem that needs to be addressed. I try not to complain and I > think the community needs to step forward. > > https://www.slant.co/versus/119/124/~livecode_vs_scratch > https://www.slant.co/versus/119/125/~livecode_vs_php > https://www.slant.co/versus/119/126/~livecode_vs_golang > https://www.slant.co/versus/119/381/~livecode_vs_haxe > > > We all suffer as a community when we can not get companies who would commit > resources and new young blood. Don't just want to complain. I am happy to > put some resources into widgets. We have been working on a few. > > --Todd > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From ambassador at fourthworld.com Mon Aug 13 14:52:22 2018 From: ambassador at fourthworld.com (Richard Gaskin) Date: Mon, 13 Aug 2018 11:52:22 -0700 Subject: Re [OT] Snakey Problem In-Reply-To: <4f48a078-56eb-9298-f870-7d001afd59a1@sonic.net> References: <4f48a078-56eb-9298-f870-7d001afd59a1@sonic.net> Message-ID: Mark Wieder wrote: > On 08/13/2018 11:22 AM, Richard Gaskin via use-livecode wrote: > >> And personally, I think that's very useful for all of us, well worth >> the time it takes to find and include explicit license terms that >> express our intentions. > > What I said. And by misspeaking 'no license' what I meant was that > there is no subscription involved, no license checking in the > software, no restrictions on use... you bought it, it's yours to use. > > ...and now I'd like to get away from licensing and back to python. Agreed. To clarify, I know you well enough to know you've been around that block a few times. I took this opportunity to write a "why licensing" post because I see a *lot* of libraries and other components in our community distributed with no license at all. Hopefully I was able to convey enough of the value of license declaration to encourage more folks to do it. -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ____________________________________________________________________ Ambassador at FourthWorld.com http://www.FourthWorld.com From mark at livecode.com Mon Aug 13 15:58:38 2018 From: mark at livecode.com (Mark Waddingham) Date: Mon, 13 Aug 2018 21:58:38 +0200 Subject: Text rendering of Unicode text in LC In-Reply-To: <3DC8B694-CC29-40FC-B9AD-0370463090D9@me.com> References: <3DC8B694-CC29-40FC-B9AD-0370463090D9@me.com> Message-ID: On 2018-08-13 21:02, Peter Bogdanoff via use-livecode wrote: > To follow up with my question from yesterday?and to continue with > Biblical allusions others have begun? > > I?ve descended into hell, which I?m trying get out with some > light from LiveCode Mark! Heh - well I can't explain the difference between 8.1.3 and 8.1.9 - there's no changes to libgraphics or libskia between those two versions (as far as I can see) also with a quick diff of the relevant source files I can't see any relevant field changes, or image changes (which would be the cause of the vertical stretching of the inline image). However, that was just with a 'quick look' so can't say for absolute certain. The main change we made to text rendering was between 8.1.x and 9.0.x - when we updated Skia to the latest (at the time) version. One thing I do notice looking at the text (although I don't read Chinese ideographs, so I'm doing this purely on shape and a rather intense staring at the LC9 image you provided) is this... You never seem to get a character which looks the same appearing in 'bold' and 'non-bold'. Now, this isn't bold and non-bold - this is sub-pixel anti-aliased and bitmap I presume. This makes me think that not all your glyphs are being rendered using Songti SC Regular - and you are suffering from 'font fallback'. When the chosen font does not contain glyphs that are needed, the 'closest matching' font on the system which has those glyphs is used. If you can determine what ideographs are being rendered seemingly bold and non-bold (by Unicode codepoint ideally) - then that might help diagnose that (also finding a case where the same ideograph appears once as bold and once as non-bold would prove that hypothesis false). The other odd thing I notice is that the field containing the inline images appears to have a slight drift downwards compared to the one without. You can try using 'fixedLineHeight' of the fields to solve that - all ideographic lines should have the same height (as ideographs are traditionally drawn in a fixed grid). If you can copy and paste the two example fields you have there (with relevant image needed for the speaker so it renders) I can take a closer look - looking at an image is not the best way to diagnose issues really! Warmest Regards, Mark. -- Mark Waddingham ~ mark at livecode.com ~ http://www.livecode.com/ LiveCode: Everyone can create apps From bogdanoff at me.com Mon Aug 13 15:59:07 2018 From: bogdanoff at me.com (Peter Bogdanoff) Date: Mon, 13 Aug 2018 12:59:07 -0700 Subject: Text rendering of Unicode text in LC In-Reply-To: <0d2467cc-4c97-6370-5c76-071bc9e6c5f3@gmail.com> References: <3DC8B694-CC29-40FC-B9AD-0370463090D9@me.com> <0d2467cc-4c97-6370-5c76-071bc9e6c5f3@gmail.com> Message-ID: <2F2208B7-F15E-430D-8226-33D2D4BDCDAD@me.com> Hi Richmond, thanks for your reply. I realize this is for most an obscure corner of the world. > > I don't know HOW you are getting the Chinese characters to show up, and as your sample > does not contain selectable text I cannot "go backwards for Christmas" and work out > what the Unicode addresses of some of those glyphs are. This is a screen shot from virtual Windows 10 on my Mac in LC 9.0. On the Mac, of course, it?s beautiful. The exact same HTML displayed in LC 8 versions in Windows don?t show this particular problem of a visual mix of styles (there?s other problems). It?s a very large project, but I?ll prepare a small stack example. > My own experience with Unicode in LiveCode has been confined to Indic, Slavic and Old English > alphabetic forms and I have always ended up with "proper" anti-aliased true type representation. I want to assume that ?proper" display would happen here. LC 8 rendering is uniformly bad, not un-evenly bad as LC 9. The Chinese editor tells me that each character is too close to the next?it looks squished together. Words are made up of 1-3 characters and they need space around them. She describes the ?bold? looking characters in LC 9 as looking like a display font, not for body text. > > --- > > At the risk of being seen as extremely goofy . . . > > Are ALL your Chinese characters contained in a single font? Yes, I went back reselected text and set the fonts to make sure. I studied the HTML to look for anomalies, but all appears normal. > > [Even though that is claimed on the page] > > ------ > > Certainly IFF all your Chinese characters are contained in a single font and are > NOT differently weighted (i.e. some are not BOLD while others are not) > I don't think LiveCode should be at fault. Yes, that?s why I?m asking about the Skia rendering. Anyone at Livecode to help with this????? > > What makes things a bit awkward is how your text images online are generated . . . > > If you were to export a PNG or JPEG image from your textField inwith your LiveCode stack > you would get an EXACT representation of what the field looked like. > > My experience of exporting a field as HTMLtext has also always been positive as long > as the font of the resultant HTML page is a webfont derived from the font used inwith LiveCode. I saved the HTML to a file, opened it in Firefox in Windows and it is great, as it should be. The same HTML displayed in LC is subpar. > > -------- > I won't pretend to understand what you say about Skia. > > But I do wonder why there has to be anything between LiveCode and your web representation. > > ----- > I, also, don't understand the necessity for Adobe Spark. > > But I'm one of those people who like to keep things simple. Spark was a free, quick solution to get the images up. > > This: http://andregarzia.on-rev.com/richmond/dwriterpro.html > > contains NOTHING more than simple images rendered out of a LiveCode stack as screenshots from a textField. > > Richmond. > > On 13/8/2018 10:02 pm, Peter Bogdanoff via use-livecode wrote: >> To follow up with my question from yesterday?and to continue with Biblical allusions others have begun? >> >> I?ve descended into hell, which I?m trying get out with some light from LiveCode Mark! >> >> To recap, the rendering of Chinese characters in Windows 10 is willy-nilly through different versions of LC. Earlier versions display bitmap glyphs, later versions display drawn characters. Now in LC 9.0 it displays a MIX of apparent bold and plain of characters all set identically. >> >> Examples: >> https://spark.adobe.com/page/clCst4mdUu8Jy/ >> >> What?s going on here? Bugs? >> >> My personal situation?this is a multi-year project that includes one of the two largest academic book publishers in China who are looking to our project as the vanguard of digital publishing in their country. They are looking at this text display and saying, ?we can?t publish this.? Now, they want to show it at a publishing conference... >> >> The Chinese translators say the bitmap text is great, but the anti-aliased rendered text is unusable. And everyone there has Windows. We with roman-text eyes don?t necessarily see a problem; they with Chinese character eyes are very particular. >> >> I?m supposing this is Skia doing the work (with the harfbuzz text shaping library?)?? If true, I see from the Skin/harfbuzz documentation on Font Embedded Bitmaps: >> >> "bool isEmbeddedBitmapText() const >> Returns true if Font Engine may return Glyphs from font bitmaps instead of from outlines.? >> >> https://skia.org/user/api/SkPaint_Reference#Subpixel_Text >> >> >> Can there be a font property option to display just the bitmap? Or are there other fixes that can be made? >> >> Peter Bogdanoff >> ArtsInteractive >> >>> On Aug 12, 2018, at 4:15 PM, Peter Bogdanoff via use-livecode wrote: >>> >>> Songti SC Regular >> _______________________________________________ >> use-livecode mailing list >> use-livecode at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From ahsoftware at sonic.net Mon Aug 13 16:09:13 2018 From: ahsoftware at sonic.net (Mark Wieder) Date: Mon, 13 Aug 2018 13:09:13 -0700 Subject: Re [OT] Snakey Problem In-Reply-To: References: <4f48a078-56eb-9298-f870-7d001afd59a1@sonic.net> Message-ID: <859a3b62-f9cd-6947-2443-0c0e81d86fe6@sonic.net> On 08/13/2018 11:52 AM, Richard Gaskin via use-livecode wrote: > Agreed.? To clarify, I know you well enough to know you've been around > that block a few times.? I took this opportunity to write a "why > licensing" post because I see a *lot* of libraries and other components > in our community distributed with no license at all. Hopefully I was > able to convey enough of the value of license declaration to encourage > more folks to do it. > ...and just to put this to rest, I want to say it was your urging many years ago that got me to craft a license in the first place. -- Mark Wieder ahsoftware at gmail.com From bogdanoff at me.com Mon Aug 13 16:11:43 2018 From: bogdanoff at me.com (Peter Bogdanoff) Date: Mon, 13 Aug 2018 13:11:43 -0700 Subject: Text rendering of Unicode text in LC In-Reply-To: References: <3DC8B694-CC29-40FC-B9AD-0370463090D9@me.com> Message-ID: <275F4B05-7D67-44B0-A777-31DB1718A571@me.com> Thanks Mark for your reply. > > Heh - well I can't explain the difference between 8.1.3 and 8.1.9 - there's no changes to libgraphics or libskia between those two versions (as far as I can see) also with a quick diff of the relevant source files I can't see any relevant field changes, or image changes (which would be the cause of the vertical stretching of the inline image). However, that was just with a 'quick look' so can't say for absolute certain. > > The main change we made to text rendering was between 8.1.x and 9.0.x - when we updated Skia to the latest (at the time) version. > > One thing I do notice looking at the text (although I don't read Chinese ideographs, so I'm doing this purely on shape and a rather intense staring at the LC9 image you provided) is this... > > You never seem to get a character which looks the same appearing in 'bold' and 'non-bold'. Now, this isn't bold and non-bold - this is sub-pixel anti-aliased and bitmap I presume. > > This makes me think that not all your glyphs are being rendered using Songti SC Regular - and you are suffering from 'font fallback'. When the chosen font does not contain glyphs that are needed, the 'closest matching' font on the system which has those glyphs is used. I?ll see if I can find repeated characters that would have missing glyphs. > > If you can determine what ideographs are being rendered seemingly bold and non-bold (by Unicode codepoint ideally) - then that might help diagnose that (also finding a case where the same ideograph appears once as bold and once as non-bold would prove that hypothesis false). > > The other odd thing I notice is that the field containing the inline images appears to have a slight drift downwards compared to the one without. You can try using 'fixedLineHeight' of the fields to solve that - all ideographic lines should have the same height (as ideographs are traditionally drawn in a fixed grid). I can?t use fixed line height, because we use inline ?thumbnail? images that would span several lines. The Chinese readers haven?t complained about this particular issue. The do complain that the characters don?t have enough horizontal space when rendered. > > If you can copy and paste the two example fields you have there (with relevant image needed for the speaker so it renders) I can take a closer look - looking at an image is not the best way to diagnose issues really! I'll prepare a sample stack. > > Warmest Regards, > > Mark. > > -- > Mark Waddingham ~ mark at livecode.com ~ http://www.livecode.com/ > LiveCode: Everyone can create apps > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From jacque at hyperactivesw.com Mon Aug 13 16:24:15 2018 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Mon, 13 Aug 2018 15:24:15 -0500 Subject: Android compass question In-Reply-To: References: Message-ID: <46969ace-3c91-82a6-2dfb-4677400070b2@hyperactivesw.com> On 8/11/18 3:34 PM, Jonathan Lynch via use-livecode wrote: > I have a new galaxy phone. When I read the mobile compass, both magnetic heading and true heading constantly change - even if the phone is laying down still. It changes up and down randomly by 5 degrees or so. Does anyone know if this is a problem with LC or with galaxy phones? My iPhone does not do this. My Galaxy S5 does the same thing with a LC compass I made. My guess is that's the way Android reads GPS data. When it tries to find my house, it does a whole bunch of hops around the circumference before settling down on the center, and even then it still twitches as it tries for more accuracy. A compass I downloaded from the Play Store does not do that on my Pixel. I'd guess that the app is doing some rounding to the nearest integer, since it doesn't display fractional values. Try downloading a few of the dozens of compasses on the Play Store and see how they behave. It may be that LC is actually more precise than you want it to be. I do know that LC is only reporting what the OS tells it. -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com From paul at researchware.com Mon Aug 13 16:24:38 2018 From: paul at researchware.com (Paul Dupuis) Date: Mon, 13 Aug 2018 16:24:38 -0400 Subject: Bug in the pageHeights function Message-ID: I don't know how many people have old fashion printing in their apps (I know, printing is so 20th century!). I wanted to let anyone out there using the pageHeights function that there is a bug in pageHeights from LC6.7.x through LC9.0.0 that returns really wacky numbers for certain content of the field the pageHeights is being computed for. For the exact same field, no change in properties, just changing teh content by setting the htmlText, different content will generate abnormal pageHeights numbers. For example For LC9.0.0, the pageHeights reports 692 689 -51061 For LC6.7.11, the pageHeights reports 667 666 4294919018 Correct values are returned under LC6.6.5. It took use a long time to track this down because it does appear to be content based! So, just in case any others have been experiencing very weird random printing issue, I wanted to let folks know. See https://quality.livecode.com/show_bug.cgi?id=21491 From ahsoftware at sonic.net Mon Aug 13 16:45:21 2018 From: ahsoftware at sonic.net (Mark Wieder) Date: Mon, 13 Aug 2018 13:45:21 -0700 Subject: Using stackoverflow.com In-Reply-To: References: Message-ID: <33b5bfa9-2417-5b30-ebb7-b0d764f48c3e@sonic.net> On 08/13/2018 12:08 PM, Todd Fabacher via use-livecode wrote: > Also, we have two clients who select NOT to have us use LiveCode this > month. Been there. Several times. I feel your pain. > 1. Not sufficient 3rd party tools with a viable marketplace [also little on > Git]. If we have all these old LC scripts and they are open source, why > don't we just put them on git??? There's some stuff on github, but it's not easy to find. Also, stacks that aren't script-only aren't a great fit for github other than as a means of somewhere to put them. Github is actually set up more for other team purposes than just a a repository for files. There's livecodeshare, but you have to know about it in order to look for it, it's on runrev.com instead of livecode.com/org, posting and updating stacks there is a pain, and it's only for complete stacks. There's no way to upload scripts as text and no way to upload widgets. There's actually no place to upload widgets that I know of other than the web forum, and searching for things there is byzantine. > 2. small community on StackOverflow. I use stackoverflow all the time. It's an essential resource. I never use it for LC bc the community isn't there. The resources are here instead. > And please someone work on the www.slant.co. I'm with Paul on this. I never heard of slant (I first read that as 'slack') and I'm wary of it. Unfortunately people tend to believe what they see on the internet. Even if it's not in color . -- Mark Wieder ahsoftware at gmail.com From bogdanoff at me.com Mon Aug 13 16:56:07 2018 From: bogdanoff at me.com (Peter Bogdanoff) Date: Mon, 13 Aug 2018 13:56:07 -0700 Subject: Text rendering of Unicode text in LC In-Reply-To: <275F4B05-7D67-44B0-A777-31DB1718A571@me.com> References: <3DC8B694-CC29-40FC-B9AD-0370463090D9@me.com> <275F4B05-7D67-44B0-A777-31DB1718A571@me.com> Message-ID: <490F7B5C-886D-4C8E-9894-3EB993640C56@me.com> Here is a sample of the Chinese text. It has a button to click to toggle showing the text and the htmlText in the same fields. Note to see the text problems you will have to open this in Windows 10. I must point out that the LC 8 versions only show the anti-alias rendering problem in Chinese MS Windows installations! LC 9.0: Bold and not bold-looking rendered text mixed in together. It should be NOT bold. LC 8.1.9:Shows bitmap glyphs in standard Windows OS. However it renders text as anti-aliased but poorly in Chinese MS Windows installations LC 8.1.3 Shows bitmap glyphs in standard Windows OS. However it renders text as anti-aliased but poorly in Chinese MS Windows installations https://artsinteractive-products.s3.amazonaws.com/MITA/Chinese%20Display%20Sample.livecode pb > On Aug 13, 2018, at 1:11 PM, Peter Bogdanoff via use-livecode wrote: > > Thanks Mark for your reply. > >> >> Heh - well I can't explain the difference between 8.1.3 and 8.1.9 - there's no changes to libgraphics or libskia between those two versions (as far as I can see) also with a quick diff of the relevant source files I can't see any relevant field changes, or image changes (which would be the cause of the vertical stretching of the inline image). However, that was just with a 'quick look' so can't say for absolute certain. >> >> The main change we made to text rendering was between 8.1.x and 9.0.x - when we updated Skia to the latest (at the time) version. >> >> One thing I do notice looking at the text (although I don't read Chinese ideographs, so I'm doing this purely on shape and a rather intense staring at the LC9 image you provided) is this... >> >> You never seem to get a character which looks the same appearing in 'bold' and 'non-bold'. Now, this isn't bold and non-bold - this is sub-pixel anti-aliased and bitmap I presume. >> >> This makes me think that not all your glyphs are being rendered using Songti SC Regular - and you are suffering from 'font fallback'. When the chosen font does not contain glyphs that are needed, the 'closest matching' font on the system which has those glyphs is used. > > I?ll see if I can find repeated characters that would have missing glyphs. >> >> If you can determine what ideographs are being rendered seemingly bold and non-bold (by Unicode codepoint ideally) - then that might help diagnose that (also finding a case where the same ideograph appears once as bold and once as non-bold would prove that hypothesis false). >> >> The other odd thing I notice is that the field containing the inline images appears to have a slight drift downwards compared to the one without. You can try using 'fixedLineHeight' of the fields to solve that - all ideographic lines should have the same height (as ideographs are traditionally drawn in a fixed grid). > > I can?t use fixed line height, because we use inline ?thumbnail? images that would span several lines. The Chinese readers haven?t complained about this particular issue. The do complain that the characters don?t have enough horizontal space when rendered. > >> >> If you can copy and paste the two example fields you have there (with relevant image needed for the speaker so it renders) I can take a closer look - looking at an image is not the best way to diagnose issues really! > > I'll prepare a sample stack. > >> >> Warmest Regards, >> >> Mark. >> >> -- >> Mark Waddingham ~ mark at livecode.com ~ http://www.livecode.com/ >> LiveCode: Everyone can create apps >> >> _______________________________________________ >> use-livecode mailing list >> use-livecode at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From mark at canelasoftware.com Mon Aug 13 17:26:33 2018 From: mark at canelasoftware.com (Mark Talluto) Date: Mon, 13 Aug 2018 14:26:33 -0700 Subject: Navigator v 6 is out In-Reply-To: References: Message-ID: <5C0DA4A0-C506-44F2-A5FE-8A16406BEBBF@canelasoftware.com> As always, thanks for this Geoff. Make working with big projects a lot better. Any chance you have a way to collapse all controls via some menu or keyboard sequence? And, can we expand all controls as well in some quick way? I am thinking that I will default to having all collapsable controls be collapsed to I can move through the long list more quickly. Just some thoughts. We always want more rope?. Best regards, Mark Talluto livecloud.io nursenotes.net canelasoftware.com > On Aug 10, 2018, at 5:56 PM, Geoff Canyon via use-livecode wrote: > > *Group Folding! *Just click on the left 30 pixels of any group to > fold/unfold it. There is (so far) no visual indication that this is > possible, or that a group has been folded, but it's there. Suggestions > welcome on a better interface. From bobsneidar at iotecdigital.com Mon Aug 13 17:29:09 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Mon, 13 Aug 2018 21:29:09 +0000 Subject: Navigator v 6 is out In-Reply-To: <5C0DA4A0-C506-44F2-A5FE-8A16406BEBBF@canelasoftware.com> References: <5C0DA4A0-C506-44F2-A5FE-8A16406BEBBF@canelasoftware.com> Message-ID: I had the same thought. May a preference for open collapsed so we can drill down. I cannot see how to collapse just one item though. Bob S > On Aug 13, 2018, at 14:26 , Mark Talluto via use-livecode wrote: > > As always, thanks for this Geoff. Make working with big projects a lot better. Any chance you have a way to collapse all controls via some menu or keyboard sequence? And, can we expand all controls as well in some quick way? I am thinking that I will default to having all collapsable controls be collapsed to I can move through the long list more quickly. > > Just some thoughts. We always want more rope?. > > Best regards, > > Mark Talluto From tom at makeshyft.com Mon Aug 13 17:29:46 2018 From: tom at makeshyft.com (Tom Glod) Date: Mon, 13 Aug 2018 17:29:46 -0400 Subject: Using stackoverflow.com In-Reply-To: <33b5bfa9-2417-5b30-ebb7-b0d764f48c3e@sonic.net> References: <33b5bfa9-2417-5b30-ebb7-b0d764f48c3e@sonic.net> Message-ID: agreed on all points ..... Re LC Share.......Had I not fallen in love with Livecode due to its cosmic arrival in my life i would have clicked the x and never gone back as soon as i saw the examples on lc share. its so incredibly underwhelming. i think its something that must be improved, down to the level of being able to download individual commands and functions that do specific things...and can be easily updated by those who shared their stuff there. seems like LC is still going uphill ...but at some point ..... peak difficulty will be reached ....and the big leaps forward can happen must more easily. If I was livecode...i would spend a lot of time consolidating and updating the learning resources. And I would post on social media when there is an event happening. On Mon, Aug 13, 2018 at 4:45 PM, Mark Wieder via use-livecode < use-livecode at lists.runrev.com> wrote: > On 08/13/2018 12:08 PM, Todd Fabacher via use-livecode wrote: > > Also, we have two clients who select NOT to have us use LiveCode this >> month. >> > > Been there. Several times. I feel your pain. > > 1. Not sufficient 3rd party tools with a viable marketplace [also little on >> Git]. If we have all these old LC scripts and they are open source, why >> don't we just put them on git??? >> > > There's some stuff on github, but it's not easy to find. Also, stacks that > aren't script-only aren't a great fit for github other than as a means of > somewhere to put them. Github is actually set up more for other team > purposes than just a a repository for files. > > > There's livecodeshare, but you have to know about it in order to look for > it, it's on runrev.com instead of livecode.com/org, posting and updating > stacks there is a pain, and it's only for complete stacks. There's no way > to upload scripts as text and no way to upload widgets. There's actually no > place to upload widgets that I know of other than the web forum, and > searching for things there is byzantine. > > > 2. small community on StackOverflow. >> > > I use stackoverflow all the time. It's an essential resource. I > never use it for LC bc the community isn't there. The resources are here > instead. > > And please someone work on the www.slant.co. >> > > I'm with Paul on this. I never heard of slant (I first read that as > 'slack') and I'm wary of it. Unfortunately people tend to believe what they > see on the internet. Even if it's not in color . > > -- > Mark Wieder > ahsoftware at gmail.com > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From mark at canelasoftware.com Mon Aug 13 17:39:37 2018 From: mark at canelasoftware.com (Mark Talluto) Date: Mon, 13 Aug 2018 14:39:37 -0700 Subject: Navigator v 6 is out In-Reply-To: References: <5C0DA4A0-C506-44F2-A5FE-8A16406BEBBF@canelasoftware.com> Message-ID: <47983E83-B677-4CF3-A212-65E7C0E5F3E5@canelasoftware.com> To collapse one time, just click the first word ?group?. It will hide all the children to the group. To drill down, simple right click the group you want to focus on. Then select ?Browse Controls?. Best regards, Mark Talluto livecloud.io nursenotes.net canelasoftware.com > On Aug 13, 2018, at 2:29 PM, Bob Sneidar via use-livecode wrote: > > I had the same thought. May a preference for open collapsed so we can drill down. I cannot see how to collapse just one item though. > > Bob S > >> On Aug 13, 2018, at 14:26 , Mark Talluto via use-livecode wrote: >> >> As always, thanks for this Geoff. Make working with big projects a lot better. Any chance you have a way to collapse all controls via some menu or keyboard sequence? And, can we expand all controls as well in some quick way? I am thinking that I will default to having all collapsable controls be collapsed to I can move through the long list more quickly. >> >> Just some thoughts. We always want more rope?. >> >> Best regards, >> >> Mark Talluto > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From ambassador at fourthworld.com Mon Aug 13 17:44:11 2018 From: ambassador at fourthworld.com (Richard Gaskin) Date: Mon, 13 Aug 2018 14:44:11 -0700 Subject: Re [OT] Snakey Problem In-Reply-To: <859a3b62-f9cd-6947-2443-0c0e81d86fe6@sonic.net> References: <859a3b62-f9cd-6947-2443-0c0e81d86fe6@sonic.net> Message-ID: Mark Wieder wrote: > On 08/13/2018 11:52 AM, Richard Gaskin via use-livecode wrote: > >> Agreed. To clarify, I know you well enough to know you've been around >> that block a few times. I took this opportunity to write a "why >> licensing" post because I see a *lot* of libraries and other components >> in our community distributed with no license at all. Hopefully I was >> able to convey enough of the value of license declaration to encourage >> more folks to do it. >> > > ...and just to put this to rest, I want to say it was your urging many > years ago that got me to craft a license in the first place. I owe my curmudgeonliness to my local Linux user group, where we had a Github rep give a talk. One of the items she mentioned was the importance of having license files in repos. I've been a reformed man ever since. :) -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ____________________________________________________________________ Ambassador at FourthWorld.com http://www.FourthWorld.com From brian at milby7.com Mon Aug 13 17:51:14 2018 From: brian at milby7.com (Brian Milby) Date: Mon, 13 Aug 2018 16:51:14 -0500 Subject: Using stackoverflow.com In-Reply-To: <33b5bfa9-2417-5b30-ebb7-b0d764f48c3e@sonic.net> References: <33b5bfa9-2417-5b30-ebb7-b0d764f48c3e@sonic.net> Message-ID: I think GitHub could be a great place to store/share stacks. Here is an example of what is possible: https://github.com/bwmilby/lc-misc/tree/master/NestedDGBehavior That is a binary stack but includes a readme.md that links to a screen shot and all scripts are exported from the stack and are viewable online (main ones linked in the readme). I use ScriptTracker (same repo) to export the stack scripts but have seen other tools that can generate text files too. That way people can browse the code and if they want to download they just need to get the one stack file to have everything. I agree that just putting a stack on GitHub isn?t going to help people have any idea what they are viewing. Thanks, Brian On Aug 13, 2018, 3:47 PM -0500, Mark Wieder via use-livecode , wrote: > > > 1. Not sufficient 3rd party tools with a viable marketplace [also little on > > Git]. If we have all these old LC scripts and they are open source, why > > don't we just put them on git??? > > There's some stuff on github, but it's not easy to find. Also, stacks > that aren't script-only aren't a great fit for github other than as a > means of somewhere to put them. Github is actually set up more for other > team purposes than just a a repository for files. > From monte at appisle.net Mon Aug 13 18:18:08 2018 From: monte at appisle.net (Monte Goulding) Date: Tue, 14 Aug 2018 08:18:08 +1000 Subject: Using stackoverflow.com In-Reply-To: References: Message-ID: <3343B424-E708-4DA4-98B7-043BEF4CD5E9@appisle.net> > On 14 Aug 2018, at 5:08 am, Todd Fabacher via use-livecode wrote: > > Just curious...Why are these questions NOT being put on stackoverflow.com ? > This is now people, companies, and publications rank languages these days. I was trying to encourage questions on SO a few years back. I did mergExt support there for that reason. SO is great for building a repository of knowledge, however, it is downright hostile if you don?t ask the question in the right way. One solution for the community is if people that have an interesting problem that is then discussed and resolved here or on the forums could then pose the question on SO and answer it themselves with the correct answer. That way the knowledge is better preserved. Cheers Monte From mark at livecode.com Mon Aug 13 18:50:57 2018 From: mark at livecode.com (Mark Waddingham) Date: Mon, 13 Aug 2018 23:50:57 +0100 Subject: Text rendering of Unicode text in LC In-Reply-To: <490F7B5C-886D-4C8E-9894-3EB993640C56@me.com> References: <3DC8B694-CC29-40FC-B9AD-0370463090D9@me.com> <275F4B05-7D67-44B0-A777-31DB1718A571@me.com> <490F7B5C-886D-4C8E-9894-3EB993640C56@me.com> Message-ID: <11E94BF1-E06C-4BBB-9CAB-77FFF6373662@livecode.com> As I said I'm pretty sure nothing is bold - it is just anti-aliasing. The fact that the problem is only occurring on Chinese Windows systems in 8.1.x very much suggests that this is a font problem (which is obviously universal in Win10). Perhaps try a complete non included with Win Chinese font and see if the problem is seen then? Warmest Regards, Mark. Sent from my iPhone > On 13 Aug 2018, at 21:56, Peter Bogdanoff via use-livecode wrote: > > Here is a sample of the Chinese text. It has a button to click to toggle showing the text and the htmlText in the same fields. Note to see the text problems you will have to open this in Windows 10. I must point out that the LC 8 versions only show the anti-alias rendering problem in Chinese MS Windows installations! > > LC 9.0: Bold and not bold-looking rendered text mixed in together. It should be NOT bold. > LC 8.1.9:Shows bitmap glyphs in standard Windows OS. However it renders text as anti-aliased but poorly in Chinese MS Windows installations > LC 8.1.3 Shows bitmap glyphs in standard Windows OS. However it renders text as anti-aliased but poorly in Chinese MS Windows installations > > https://artsinteractive-products.s3.amazonaws.com/MITA/Chinese%20Display%20Sample.livecode > > pb > >> On Aug 13, 2018, at 1:11 PM, Peter Bogdanoff via use-livecode wrote: >> >> Thanks Mark for your reply. >> >>> >>> Heh - well I can't explain the difference between 8.1.3 and 8.1.9 - there's no changes to libgraphics or libskia between those two versions (as far as I can see) also with a quick diff of the relevant source files I can't see any relevant field changes, or image changes (which would be the cause of the vertical stretching of the inline image). However, that was just with a 'quick look' so can't say for absolute certain. >>> >>> The main change we made to text rendering was between 8.1.x and 9.0.x - when we updated Skia to the latest (at the time) version. >>> >>> One thing I do notice looking at the text (although I don't read Chinese ideographs, so I'm doing this purely on shape and a rather intense staring at the LC9 image you provided) is this... >>> >>> You never seem to get a character which looks the same appearing in 'bold' and 'non-bold'. Now, this isn't bold and non-bold - this is sub-pixel anti-aliased and bitmap I presume. >>> >>> This makes me think that not all your glyphs are being rendered using Songti SC Regular - and you are suffering from 'font fallback'. When the chosen font does not contain glyphs that are needed, the 'closest matching' font on the system which has those glyphs is used. >> >> I?ll see if I can find repeated characters that would have missing glyphs. >>> >>> If you can determine what ideographs are being rendered seemingly bold and non-bold (by Unicode codepoint ideally) - then that might help diagnose that (also finding a case where the same ideograph appears once as bold and once as non-bold would prove that hypothesis false). >>> >>> The other odd thing I notice is that the field containing the inline images appears to have a slight drift downwards compared to the one without. You can try using 'fixedLineHeight' of the fields to solve that - all ideographic lines should have the same height (as ideographs are traditionally drawn in a fixed grid). >> >> I can?t use fixed line height, because we use inline ?thumbnail? images that would span several lines. The Chinese readers haven?t complained about this particular issue. The do complain that the characters don?t have enough horizontal space when rendered. >> >>> >>> If you can copy and paste the two example fields you have there (with relevant image needed for the speaker so it renders) I can take a closer look - looking at an image is not the best way to diagnose issues really! >> >> I'll prepare a sample stack. >> >>> >>> Warmest Regards, >>> >>> Mark. >>> >>> -- >>> Mark Waddingham ~ mark at livecode.com ~ http://www.livecode.com/ >>> LiveCode: Everyone can create apps >>> >>> _______________________________________________ >>> use-livecode mailing list >>> use-livecode at 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 at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From bobsneidar at iotecdigital.com Mon Aug 13 18:55:09 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Mon, 13 Aug 2018 22:55:09 +0000 Subject: Text rendering of Unicode text in LC In-Reply-To: <11E94BF1-E06C-4BBB-9CAB-77FFF6373662@livecode.com> References: <3DC8B694-CC29-40FC-B9AD-0370463090D9@me.com> <275F4B05-7D67-44B0-A777-31DB1718A571@me.com> <490F7B5C-886D-4C8E-9894-3EB993640C56@me.com> <11E94BF1-E06C-4BBB-9CAB-77FFF6373662@livecode.com> Message-ID: That's what I was thinking. Also, I noted that when developing on the Mac, I selected a bold typeface (not typeface with the bold style applied) for a common header label, but when I ported to Windows, LC was substituting the font! Upon further investigation, even though it was a standard web font included on both platforms, the Windows version did not have a bold typeface! So it just gave up thinking the typeface didn't exist and picked another font. So watch out for those little caveats. Bob S > On Aug 13, 2018, at 15:50 , Mark Waddingham via use-livecode wrote: > > As I said I'm pretty sure nothing is bold - it is just anti-aliasing. > > The fact that the problem is only occurring on Chinese Windows systems in 8.1.x very much suggests that this is a font problem (which is obviously universal in Win10). > > Perhaps try a complete non included with Win Chinese font and see if the problem is seen then? > > Warmest Regards, > > Mark. From gcanyon at gmail.com Mon Aug 13 22:11:26 2018 From: gcanyon at gmail.com (Geoff Canyon) Date: Mon, 13 Aug 2018 19:11:26 -0700 Subject: Navigator v 6 is out In-Reply-To: <47983E83-B677-4CF3-A212-65E7C0E5F3E5@canelasoftware.com> References: <5C0DA4A0-C506-44F2-A5FE-8A16406BEBBF@canelasoftware.com> <47983E83-B677-4CF3-A212-65E7C0E5F3E5@canelasoftware.com> Message-ID: It's actually just the left 30 pixels to collapse/expand. I was going to include the word "group" and everything to the left, but then I came up with the "define your own display string" feature, which means that the word "group" might not even be in the string. Personally, I'm liking just displaying the first letter of the control type, bolded, but I'm not fully convinced yet. gc On Mon, Aug 13, 2018 at 2:39 PM Mark Talluto via use-livecode < use-livecode at lists.runrev.com> wrote: > To collapse one time, just click the first word ?group?. It will hide all > the children to the group. > > To drill down, simple right click the group you want to focus on. Then > select ?Browse Controls?. > > Best regards, > > Mark Talluto > livecloud.io > nursenotes.net > canelasoftware.com > > > On Aug 13, 2018, at 2:29 PM, Bob Sneidar via use-livecode < > use-livecode at lists.runrev.com> wrote: > > > > I had the same thought. May a preference for open collapsed so we can > drill down. I cannot see how to collapse just one item though. > > > > Bob S > > > >> On Aug 13, 2018, at 14:26 , Mark Talluto via use-livecode < > use-livecode at lists.runrev.com> wrote: > >> > >> As always, thanks for this Geoff. Make working with big projects a lot > better. Any chance you have a way to collapse all controls via some menu or > keyboard sequence? And, can we expand all controls as well in some quick > way? I am thinking that I will default to having all collapsable controls > be collapsed to I can move through the long list more quickly. > >> > >> Just some thoughts. We always want more rope?. > >> > >> Best regards, > >> > >> Mark Talluto > > > > _______________________________________________ > > use-livecode mailing list > > use-livecode at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From gcanyon at gmail.com Mon Aug 13 22:14:39 2018 From: gcanyon at gmail.com (Geoff Canyon) Date: Mon, 13 Aug 2018 19:14:39 -0700 Subject: Navigator v 6 is out In-Reply-To: <5C0DA4A0-C506-44F2-A5FE-8A16406BEBBF@canelasoftware.com> References: <5C0DA4A0-C506-44F2-A5FE-8A16406BEBBF@canelasoftware.com> Message-ID: Yeah, a command to collapse the parent of the currently highlighted control(s) would make sense, along with a collapse/expand all (to a certain level), and a preference setting to open collapsed by default. I'm ironing out some bugs right now, but I'll take a look at this first thing -- should be straightforward, right? As a general question, is there another/better way to do command keys in Navigator than a front script (which I would like to avoid if possible)? gc On Mon, Aug 13, 2018 at 2:26 PM Mark Talluto via use-livecode < use-livecode at lists.runrev.com> wrote: > As always, thanks for this Geoff. Make working with big projects a lot > better. Any chance you have a way to collapse all controls via some menu or > keyboard sequence? And, can we expand all controls as well in some quick > way? I am thinking that I will default to having all collapsable controls > be collapsed to I can move through the long list more quickly. > > Just some thoughts. We always want more rope?. > > Best regards, > > Mark Talluto > livecloud.io > nursenotes.net > canelasoftware.com > > > > > > On Aug 10, 2018, at 5:56 PM, Geoff Canyon via use-livecode < > use-livecode at lists.runrev.com> wrote: > > > > *Group Folding! *Just click on the left 30 pixels of any group to > > fold/unfold it. There is (so far) no visual indication that this is > > possible, or that a group has been folded, but it's there. Suggestions > > welcome on a better interface. > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From gcanyon at gmail.com Mon Aug 13 22:21:27 2018 From: gcanyon at gmail.com (Geoff Canyon) Date: Mon, 13 Aug 2018 19:21:27 -0700 Subject: Navigator v 6 is out In-Reply-To: References: <5C0DA4A0-C506-44F2-A5FE-8A16406BEBBF@canelasoftware.com> Message-ID: A question for anyone/everyone working with Navigator: the prefs dialog is actually set up to allow for many of the preferences to be specific to the Navigator that opened the dialog, or universal. I went with universal by default, but the code is all there. Is there any appetite for having a different display string, or color scheme, or... for individual Navigators? gc > From ambassador at fourthworld.com Mon Aug 13 22:57:16 2018 From: ambassador at fourthworld.com (Richard Gaskin) Date: Mon, 13 Aug 2018 19:57:16 -0700 Subject: stack rect with decorations? Message-ID: <92f74349-631a-e200-a4a6-910940535a8f@fourthworld.com> My dictionary doesn't work and I don't see what I need in the See Also for the online dicts, so maybe someone here remembers: How do I specify that I want to set the rect of a stack where the coordinates I'm passing are for the full outside rect, including all window trimmings (border, title bar, etc.)? TIA - -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ____________________________________________________________________ Ambassador at FourthWorld.com http://www.FourthWorld.com From brian at milby7.com Mon Aug 13 23:19:32 2018 From: brian at milby7.com (Brian Milby) Date: Mon, 13 Aug 2018 22:19:32 -0500 Subject: stack rect with decorations? In-Reply-To: <92f74349-631a-e200-a4a6-910940535a8f@fourthworld.com> References: <92f74349-631a-e200-a4a6-910940535a8f@fourthworld.com> Message-ID: <09cb1971-39f3-486b-9e25-62dd47db7082@Spark> the effective rect Thanks, Brian On Aug 13, 2018, 9:57 PM -0500, Richard Gaskin via use-livecode , wrote: > My dictionary doesn't work and I don't see what I need in the See Also > for the online dicts, so maybe someone here remembers: > > How do I specify that I want to set the rect of a stack where the > coordinates I'm passing are for the full outside rect, including all > window trimmings (border, title bar, etc.)? > > TIA - > > -- > Richard Gaskin > Fourth World Systems > Software Design and Development for the Desktop, Mobile, and the Web > ____________________________________________________________________ > Ambassador at FourthWorld.com http://www.FourthWorld.com > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From jacque at hyperactivesw.com Mon Aug 13 23:24:39 2018 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Mon, 13 Aug 2018 22:24:39 -0500 Subject: stack rect with decorations? In-Reply-To: <92f74349-631a-e200-a4a6-910940535a8f@fourthworld.com> References: <92f74349-631a-e200-a4a6-910940535a8f@fourthworld.com> Message-ID: <1653676c8d8.2761.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> Try "the effective rect of stack x". -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com On August 13, 2018 9:58:42 PM Richard Gaskin via use-livecode wrote: > My dictionary doesn't work and I don't see what I need in the See Also > for the online dicts, so maybe someone here remembers: > > How do I specify that I want to set the rect of a stack where the > coordinates I'm passing are for the full outside rect, including all > window trimmings (border, title bar, etc.)? > > TIA - > > -- > Richard Gaskin > Fourth World Systems > Software Design and Development for the Desktop, Mobile, and the Web > ____________________________________________________________________ > Ambassador at FourthWorld.com http://www.FourthWorld.com > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From richmondmathewson at gmail.com Tue Aug 14 03:49:57 2018 From: richmondmathewson at gmail.com (Richmond Mathewson) Date: Tue, 14 Aug 2018 10:49:57 +0300 Subject: stack rect with decorations? In-Reply-To: <92f74349-631a-e200-a4a6-910940535a8f@fourthworld.com> References: <92f74349-631a-e200-a4a6-910940535a8f@fourthworld.com> Message-ID: <17777d56-2203-8f3d-fc7b-4324cff4ebbd@gmail.com> Just download and install the community version of 7.1.4 and you'll have a working Dictionary. Richmond. On 14/8/2018 5:57 am, Richard Gaskin via use-livecode wrote: > My dictionary doesn't work and I don't see what I need in the See Also > for the online dicts, so maybe someone here remembers: > > How do I specify that I want to set the rect of a stack where the > coordinates I'm passing are for the full outside rect, including all > window trimmings (border, title bar, etc.)? > > TIA - > From panos.merakos at livecode.com Tue Aug 14 03:51:52 2018 From: panos.merakos at livecode.com (panagiotis merakos) Date: Tue, 14 Aug 2018 08:51:52 +0100 Subject: [ANN] This Week in LiveCode 141 Message-ID: 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 #141 here: https://goo.gl/VKHEdV 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 From richmondmathewson at gmail.com Tue Aug 14 05:20:00 2018 From: richmondmathewson at gmail.com (Richmond Mathewson) Date: Tue, 14 Aug 2018 12:20:00 +0300 Subject: Fun with Windows 10 Message-ID: Not really, to be honest! I have a pupil who has a PC running Windows 10 which he has stuffed "to the gills" with just about everything he can lay his sweaty paws on . . . He is supposed to be working on his LiveCode project for the Summer course but has the following problem: He has installed both 8.1.10 and 9.0 (even though I told him to stick with 8). ON clicking on the symbolic link on the Windows desktop for LC 8.1.10 LiveCode starts up and shows the Start Center: no revMenubar and no revTools bar. I have tried ctrl-M to get the message box to tell the thing to show the menubar and the Tools to no avail. On dismissing the Start Center one is left with NOTHING. Firing up LC 9 shows the squashed-caterpillar-green '9' splash screen followed by NOTHING. Obviously this won't do . . . Richmond. From colinholgate at gmail.com Tue Aug 14 08:13:20 2018 From: colinholgate at gmail.com (Colin Holgate) Date: Tue, 14 Aug 2018 08:13:20 -0400 Subject: Fun with Windows 10 In-Reply-To: References: Message-ID: I tried both 8.1.1 and 9.0.1 in Windows 10 Home version 1803, and they were ok. If you get Properties on the EXE, and ?Run compatibility tourbleshooter?, does that show up anything? From curry at pair.com Tue Aug 14 09:13:17 2018 From: curry at pair.com (Curry Kenworthy) Date: Tue, 14 Aug 2018 09:13:17 -0400 Subject: Fun with Windows 10 In-Reply-To: References: Message-ID: <5B72D56D.1000206@pair.com> Quickest route might be LC 6.7. No matter which version, 6 8 9, if you can, turn off ALL update preferences/options. Check Task Manager and end any stray LC processes, especially an "Installer" or "Setup" process which is usually just an update check, but causes tons of issues. Furthermore I often deleted that setup file (it's .setup.exe in each IDE folder) and that's what you can do if you can't access the prefs. Sometimes LC on Windows didn't launch correctly right after install - just end any processes, don't reinstall, and normally launch. Then it works. Note that none of this "fun" is actually about Windows itself, it's just less LC familiarity and support for Windows, and perhaps fewer LC users on that side. I switched to Windows soon after the point when Mac abandoned its original rigorous human interface research, because I have a little less fine motor control than the average person and Window provides a little more real estate for some of the controls. That made Windows easier for me to use, just as the original HIG-aware Mac was easier than Windows. Yes, it was that simple! And very affordable, another helpful factor. Both companies have sort of lost the plot, so besides human interface and affordability, I don't have a dog in that race otherwise. :) Best wishes, Curry Kenworthy Custom Software Development LiveCode Training and Consulting http://livecodeconsulting.com/ From richmondmathewson at gmail.com Tue Aug 14 09:23:07 2018 From: richmondmathewson at gmail.com (Richmond Mathewson) Date: Tue, 14 Aug 2018 16:23:07 +0300 Subject: Fun with Windows 10 In-Reply-To: References: Message-ID: <37a812a9-4676-f33e-2c31-8372b397dc22@gmail.com> I honestly don't know what would show up anything because . . . I connected the boy's computer up to the internet at which point it asked me to register the OS & I put 2 & 2 together: disconnected the machine, popped down the road with it and gave the boy's Mum "a wigging" about Pirate software and told her that until they installed either legit. Windows or an open source OS on their machine they could "paddle their own canoe". It was quite obvious this woman did not even begin to understand any of the ways pirate software might be wrong. This is an "ongoing situation" in Bulgaria . . . I suspected the woman would not understand the problem because she is a paralegal! So long, and thanks for all the fish. I'll just stick with Xubuntu and Mac OS. Richmond. On 14/8/2018 3:13 pm, Colin Holgate via use-livecode wrote: > I tried both 8.1.1 and 9.0.1 in Windows 10 Home version 1803, and they were ok. > > If you get Properties on the EXE, and ?Run compatibility tourbleshooter?, does that show up anything? > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From rdimola at evergreeninfo.net Tue Aug 14 09:34:09 2018 From: rdimola at evergreeninfo.net (Ralph DiMola) Date: Tue, 14 Aug 2018 09:34:09 -0400 Subject: Fun with Windows 10 In-Reply-To: References: Message-ID: <001901d433d3$7db83fd0$7928bf70$@net> 6.76 thru 9.01 on a 1709 VM is OK. I would have him blow away the prefs to start==>\users\\AppData\Roaming\RunRev\Preference In that folder delete or rename the Livecode*.rev files. Ralph DiMola IT Director Evergreen Information Services rdimola at evergreeninfo.net -----Original Message----- From: use-livecode [mailto:use-livecode-bounces at lists.runrev.com] On Behalf Of Richmond Mathewson via use-livecode Sent: Tuesday, August 14, 2018 5:20 AM To: How to use LiveCode Cc: Richmond Mathewson Subject: Fun with Windows 10 Not really, to be honest! I have a pupil who has a PC running Windows 10 which he has stuffed "to the gills" with just about everything he can lay his sweaty paws on . . . He is supposed to be working on his LiveCode project for the Summer course but has the following problem: He has installed both 8.1.10 and 9.0 (even though I told him to stick with 8). ON clicking on the symbolic link on the Windows desktop for LC 8.1.10 LiveCode starts up and shows the Start Center: no revMenubar and no revTools bar. I have tried ctrl-M to get the message box to tell the thing to show the menubar and the Tools to no avail. On dismissing the Start Center one is left with NOTHING. Firing up LC 9 shows the squashed-caterpillar-green '9' splash screen followed by NOTHING. Obviously this won't do . . . Richmond. _______________________________________________ use-livecode mailing list use-livecode at lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode From richmondmathewson at gmail.com Tue Aug 14 09:33:57 2018 From: richmondmathewson at gmail.com (Richmond Mathewson) Date: Tue, 14 Aug 2018 16:33:57 +0300 Subject: Fun with Windows 10 In-Reply-To: <5B72D56D.1000206@pair.com> References: <5B72D56D.1000206@pair.com> Message-ID: <6e136568-3ea0-f4ad-6658-a4a976c4376a@gmail.com> Read my previous reply . . . On 14/8/2018 4:13 pm, Curry Kenworthy via use-livecode wrote: > > Quickest route might be LC 6.7. > > No matter which version, 6 8 9, if you can, turn off ALL update > preferences/options. *That would have been very difficult indeed as I was 100% unable to get at anything.** **On launching LC 8, after the splash screen there was nothing. I could not even raise the MessageBox** **even though the Windows resource manager told me LiveCode was still running.** ** **The simple fact was that all versions of LiveCode did not come up with any of the GUI** **because:** ** **1. Pirate version of Windows 10 with NO anti-virus anything: probably had great big holes in its underpants.** ** **2. System loaded with tons of pirated games.** ** **3. Returned the machine, said a fair few strong words anent piracy, and will NOT touch any kid's machines** **with Windows in Bulgaria again: learnt a nasty lesson.* > > Check Task Manager and end any stray LC processes, especially an > "Installer" or "Setup" process which is usually just an update check, > but causes tons of issues. Furthermore I often deleted that setup file > (it's .setup.exe in each IDE folder) and that's what you can do if you > can't access the prefs. > > Sometimes LC on Windows didn't launch correctly right after install - > just end any processes, don't reinstall, and normally launch. Then it > works. > > Note that none of this "fun" is actually about Windows itself, it's > just less LC familiarity and support for Windows, and perhaps fewer LC > users on that side. > > I switched to Windows soon after the point when Mac abandoned its > original rigorous human interface research, because I have a little > less fine motor control than the average person and Window provides a > little more real estate for some of the controls. *I switched to Linux when I couldn't afford the vast expense of buying Macintosh machines . . .** ** **and found that Linux is much, much better than either Macintosh or Windows insofar as it allows** **even uncoordinated types like myself very "fine motor control" with tweaking the system to the way I like things.* > > That made Windows easier for me to use, just as the original HIG-aware > Mac was easier than Windows. Yes, it was that simple! And very > affordable, another helpful factor. Both companies have sort of lost > the plot, so besides human interface and affordability, I don't have a > dog in that race otherwise. :) *Apple got too big for their boots and fell in love with marketing their expensive toys to Paris Hilton knock-offs.* > > Best wishes, > > Curry Kenworthy > *Thanks for your best wishes: but at the moment a stiff cup of strong black coffee and a blast of music by Thomas Arne** **are already soothing my troubled breast.** ** **Richmond.* From curry at pair.com Tue Aug 14 09:57:15 2018 From: curry at pair.com (Curry Kenworthy) Date: Tue, 14 Aug 2018 09:57:15 -0400 Subject: Fun with Windows 10 In-Reply-To: <6e136568-3ea0-f4ad-6658-a4a976c4376a@gmail.com> References: <6e136568-3ea0-f4ad-6658-a4a976c4376a@gmail.com> Message-ID: <5B72DFBB.8080706@pair.com> Howdy Richmond, > Read my previous reply Your reply was not previous (to my message, that is); it was 10 minutes later. > That would have been very difficult indeed > as I was 100% unable to get at anything. In the same message I addressed that possibility. So, if your student ever comes back with a legit copy of the OS, you can refer back here. > soothing my troubled breast I'm glad! Enjoy. :) Best wishes, Curry Kenworthy Custom Software Development LiveCode Training and Consulting http://livecodeconsulting.com/ From bobsneidar at iotecdigital.com Tue Aug 14 10:34:29 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Tue, 14 Aug 2018 14:34:29 +0000 Subject: Navigator v 6 is out In-Reply-To: References: <5C0DA4A0-C506-44F2-A5FE-8A16406BEBBF@canelasoftware.com> Message-ID: <2170422D-3F71-40B3-B684-D4E151364863@iotecdigital.com> I'm good with universal really. Preferences can become too granular. Then you would have people complaining they set a pref and now it isn't sticking. Bob S > On Aug 13, 2018, at 19:21 , Geoff Canyon via use-livecode wrote: > > A question for anyone/everyone working with Navigator: the prefs dialog is > actually set up to allow for many of the preferences to be specific to the > Navigator that opened the dialog, or universal. I went with universal by > default, but the code is all there. Is there any appetite for having a > different display string, or color scheme, or... for individual Navigators? > > gc > >> > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From bobsneidar at iotecdigital.com Tue Aug 14 10:38:13 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Tue, 14 Aug 2018 14:38:13 +0000 Subject: Fun with Windows 10 In-Reply-To: <37a812a9-4676-f33e-2c31-8372b397dc22@gmail.com> References: <37a812a9-4676-f33e-2c31-8372b397dc22@gmail.com> Message-ID: <226049B9-0CD9-4880-B059-9CAB25D75722@iotecdigital.com> How long do we have? Bob S > On Aug 14, 2018, at 06:23 , Richmond Mathewson via use-livecode wrote: > > So long, and thanks for all the fish. From bobsneidar at iotecdigital.com Tue Aug 14 10:39:38 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Tue, 14 Aug 2018 14:39:38 +0000 Subject: Fun with Windows 10 In-Reply-To: <6e136568-3ea0-f4ad-6658-a4a976c4376a@gmail.com> References: <5B72D56D.1000206@pair.com> <6e136568-3ea0-f4ad-6658-a4a976c4376a@gmail.com> Message-ID: <1FFFEE75-1C4C-448B-9D06-7BD240ADE5E3@iotecdigital.com> If only Apple could be more like Dell, huh? Bob S > On Aug 14, 2018, at 06:33 , Richmond Mathewson via use-livecode wrote: > > *Apple got too big for their boots and fell in love with marketing their expensive toys to Paris Hilton knock-offs.* > From brahma at hindu.org Tue Aug 14 10:50:37 2018 From: brahma at hindu.org (Sannyasin Brahmanathaswami) Date: Tue, 14 Aug 2018 14:50:37 +0000 Subject: Cropping a Referenced image References: <000001d3f95e$0f58b470$2e0a1d50$@net> Message-ID: #test on mouseup put the long id of img "thumbTemplate" into pImage put the loc of pImage into pLocation set the filename of pImage to "https://i.ytimg.com/vi/KO3l3-4pFyo/default.jpg" --set the filename of pImage to "https://i.ytimg.com/vi/KO3l3-4pFyo/hqdefault.jpg" set the loc of pImage to pLocation end mouseup USE CASE: 1) eliminate top and bottom letter boxing on YouTube thumbnails. Easy done on web with CSS, not easy in LC 2) They provide a 4x3 by ratio 3) But when you post an HD video, thumbnail is 16x9, letterbox, top and bottom (45 pix of the hqdefault.jpg). 4) All youTube video channel thumbnails are letterboxed -- we don't 4X3 videos, ever... 6) "crop" command does on work with referenced images. 7) Look for a simple method that in the data grid takes up very little CPU time. 8) options a) seems like I could make a mask on top the image to eliminate the letterbox. b) other options? 9) we could go to the trouble to down load the thumb and crop and store them in /documents (mobile app); but there's no point: the user *has* to have a internet connection to use this module to view YouTube; and the call to https://i.ytimg.com is very fast, so why bother? Spotify does a similar thing: it has a generic icon until the album cover is loaded. Any ideas? Meanwhile I'll explored masking. BR From brahma at hindu.org Tue Aug 14 10:55:06 2018 From: brahma at hindu.org (Sannyasin Brahmanathaswami) Date: Tue, 14 Aug 2018 14:55:06 +0000 Subject: Cropping a referenced image Message-ID: [sending this again, because it was rolled in another thread/conversation by the mail list} #test on mouseup put the long id of img "thumbTemplate" into pImage put the loc of pImage into pLocation set the filename of pImage to "https://i.ytimg.com/vi/KO3l3-4pFyo/default.jpg" --set the filename of pImage to "https://i.ytimg.com/vi/KO3l3-4pFyo/hqdefault.jpg" set the loc of pImage to pLocation end mouseup USE CASE: 1) eliminate top and bottom letter boxing on YouTube thumbnails. Easy done on web with CSS, not easy in LC 2) They provide a 4x3 by ratio 3) But when you post an HD video, thumbnail is 16x9, letterbox, top and bottom (45 pix of the hqdefault.jpg). 4) All youTube video channel thumbnails are letterboxed -- we don't 4X3 videos, ever... 6) "crop" command does on work with referenced images. 7) Look for a simple method that in the data grid takes up very little CPU time. 8) options a) seems like I could make a mask on top the image to eliminate the letterbox. b) other options? 9) we could go to the trouble to down load the thumb and crop and store them in /documents (mobile app); but there's no point: the user *has* to have a internet connection to use this module to view YouTube; and the call to https://i.ytimg.com is very fast, so why bother? Spotify does a similar thing: it has a generic icon until the album cover is loaded. Any ideas? Meanwhile I'll explored masking. BR From klaus at major-k.de Tue Aug 14 11:03:39 2018 From: klaus at major-k.de (Klaus major-k) Date: Tue, 14 Aug 2018 17:03:39 +0200 Subject: Cropping a referenced image In-Reply-To: References: Message-ID: <40DA49BD-F91E-4051-A3E9-72BD7C6A0189@major-k.de> Hi Swami, > Am 14.08.2018 um 16:55 schrieb Sannyasin Brahmanathaswami via use-livecode : > > [sending this again, because it was rolled in another thread/conversation by the mail list} > > #test > > on mouseup > put the long id of img "thumbTemplate" into pImage > put the loc of pImage into pLocation > set the filename of pImage to "https://i.ytimg.com/vi/KO3l3-4pFyo/default.jpg" > --set the filename of pImage to "https://i.ytimg.com/vi/KO3l3-4pFyo/hqdefault.jpg" > set the loc of pImage to pLocation > > end mouseup > > USE CASE: > 1) eliminate top and bottom letter boxing on YouTube thumbnails. Easy done on web with CSS, not easy in LC > 2) They provide a 4x3 by ratio > 3) But when you post an HD video, thumbnail is 16x9, letterbox, top and bottom (45 pix of the hqdefault.jpg). > 4) All youTube video channel thumbnails are letterboxed -- we don't 4X3 videos, ever... > 6) "crop" command does on work with referenced images. > 7) Look for a simple method that in the data grid takes up very little CPU time. > 8) options > a) seems like I could make a mask on top the image to eliminate the letterbox. > b) other options? > 9) we could go to the trouble to down load the thumb and crop and store them in /documents (mobile app); but there's no point: the user *has* to have a internet connection to use this module to view YouTube; and the call to https://i.ytimg.com is very fast, so why bother? > > Spotify does a similar thing: it has a generic icon until the album cover is loaded. > > Any ideas? Meanwhile I'll explored masking. can't you use a button, set its icon to your image(s) and then just "crop" the button? Know what I mean? ... set the width of btn "el croppo" to the width of img pImage ## Or use formattedwidth... set the height of btn "el croppo" to round(the width of img pImage/16*9) ... > BR Best Klaus -- Klaus Major http://www.major-k.de klaus at major-k.de From bobsneidar at iotecdigital.com Tue Aug 14 11:47:14 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Tue, 14 Aug 2018 15:47:14 +0000 Subject: Cropping a referenced image In-Reply-To: <40DA49BD-F91E-4051-A3E9-72BD7C6A0189@major-k.de> References: <40DA49BD-F91E-4051-A3E9-72BD7C6A0189@major-k.de> Message-ID: <0EB8A748-9637-49F1-ADBD-740DAA9DA5F0@iotecdigital.com> > On Aug 14, 2018, at 08:03 , Klaus major-k via use-livecode wrote: > > set the height of btn "el croppo" to round(the width of img pImage/16*9) You are dancing perilously close to the boundaries of the evil SpellCorrect. Bob S From brahma at hindu.org Tue Aug 14 11:53:32 2018 From: brahma at hindu.org (Sannyasin Brahmanathaswami) Date: Tue, 14 Aug 2018 15:53:32 +0000 Subject: Cropping a referenced image References: Message-ID: Scott Rossi's Method in masking0ption.livecode. I can copy the group of an image (car) with ink:blendSrcOver and graphic ink:blendDstIn into another stack it appears fine. but as soon and I "touch" in group edited, even if you keep them ink params the same, I get not mask! (9.0.1 RC1) so... LC *can* display the original of masked image but the IDE "wrecks" it go stack url "http://wiki.hindu.org/uploads/maskingoptions.livecode" BR On 8/14/18 4:55 AM, Sannyasin Brahmanathaswami via use-livecode wrote: [sending this again, because it was rolled in another thread/conversation by the mail list} #test on mouseup put the long id of img "thumbTemplate" into pImage put the loc of pImage into pLocation set the filename of pImage to "https://i.ytimg.com/vi/KO3l3-4pFyo/default.jpg" --set the filename of pImage to "https://i.ytimg.com/vi/KO3l3-4pFyo/hqdefault.jpg" set the loc of pImage to pLocation end mouseup USE CASE: 1) eliminate top and bottom letter boxing on YouTube thumbnails. Easy done on web with CSS, not easy in LC 2) They provide a 4x3 by ratio 3) But when you post an HD video, thumbnail is 16x9, letterbox, top and bottom (45 pix of the hqdefault.jpg). 4) All youTube video channel thumbnails are letterboxed -- we don't 4X3 videos, ever... 6) "crop" command does on work with referenced images. 7) Look for a simple method that in the data grid takes up very little CPU time. 8) options a) seems like I could make a mask on top the image to eliminate the letterbox. b) other options? 9) we could go to the trouble to down load the thumb and crop and store them in /documents (mobile app); but there's no point: the user *has* to have a internet connection to use this module to view YouTube; and the call to https://i.ytimg.com is very fast, so why bother? Spotify does a similar thing: it has a generic icon until the album cover is loaded. Any ideas? Meanwhile I'll explored masking. BR From klaus at major-k.de Tue Aug 14 11:55:03 2018 From: klaus at major-k.de (Klaus major-k) Date: Tue, 14 Aug 2018 17:55:03 +0200 Subject: Cropping a referenced image In-Reply-To: <0EB8A748-9637-49F1-ADBD-740DAA9DA5F0@iotecdigital.com> References: <40DA49BD-F91E-4051-A3E9-72BD7C6A0189@major-k.de> <0EB8A748-9637-49F1-ADBD-740DAA9DA5F0@iotecdigital.com> Message-ID: Hi Bob, > Am 14.08.2018 um 17:47 schrieb Bob Sneidar via use-livecode : > > >> On Aug 14, 2018, at 08:03 , Klaus major-k via use-livecode wrote: >> >> set the height of btn "el croppo" to round(the width of img pImage/16*9) > > You are dancing perilously close to the boundaries of the evil SpellCorrect. SpellCorrect is for PUSSIES! :-D > Bob S Best Klaus -- Klaus Major http://www.major-k.de klaus at major-k.de From smaclean at madmansoft.com Tue Aug 14 12:18:10 2018 From: smaclean at madmansoft.com (Stephen MacLean) Date: Tue, 14 Aug 2018 12:18:10 -0400 Subject: Cropping a referenced image In-Reply-To: References: Message-ID: <1B4E159E-D6B3-4B34-BF7F-AB61254C2E40@madmansoft.com> > > > #test > > on mouseup > > put the long id of img "thumbTemplate" into pImage > > put the loc of pImage into pLocation > > set the filename of pImage to "https://i.ytimg.com/vi/KO3l3-4pFyo/default.jpg" > > > --set the filename of pImage to "https://i.ytimg.com/vi/KO3l3-4pFyo/hqdefault.jpg" > > set the loc of pImage to pLocation > > end mouseup > > USE CASE: > > 1) eliminate top and bottom letter boxing on YouTube thumbnails. Easy done on web with CSS, not easy in LC > 2) They provide a 4x3 by ratio > 3) But when you post an HD video, thumbnail is 16x9, letterbox, top and bottom (45 pix of the hqdefault.jpg). > 4) All youTube video channel thumbnails are letterboxed -- we don't 4X3 videos, ever... > 6) "crop" command does on work with referenced images. > 7) Look for a simple method that in the data grid takes up very little CPU time. > 8) options > a) seems like I could make a mask on top the image to eliminate the letterbox. > b) other options? > 9) we could go to the trouble to down load the thumb and crop and store them in /documents (mobile app); but there's no point: the user *has* to have a internet connection to use this module to view YouTube; and the call to https://i.ytimg.com is very fast, so why bother? > > Spotify does a similar thing: it has a generic icon until the album cover is loaded. > > Any ideas? Meanwhile I'll explored masking. > > BR Hi BR, I?ve had problems with "set the filename of pImage to? and use a slightly different method (In a nutshell): on a card (cropImg), I have a blank image for loading the image into (checkImg) and a rectangle set to the size I want to crop (cropRect). First, put get the image and put that image into your blank (I do use tsNet directly to do this, as it seems to be the most reliable, even though the URL library uses tsNet: put URL tURL into tempImage put tempImage into image "checkImg" of card "chkImg" In script I position the crop rectangle over the image the way I want it. Next, export the image inside the cropRect: put the long ID of grc "cropRect" of cd "cropImg" of stack "imgEngine" into cropRectID put the long ID of img "checkImg" of cd "cropImg" of stack "imgEngine" into checkImgID # Export the cropped image set the text of checkImgID to empty export snapshot from rect (rect of cropRectID) of checkImgID to tTempCrop as JPEG set the text of heroImgID to tTempCrop From there you can save it or do whatever else you want to do:) HTH, Steve MacLean From smaclean at madmansoft.com Tue Aug 14 12:24:58 2018 From: smaclean at madmansoft.com (Stephen MacLean) Date: Tue, 14 Aug 2018 12:24:58 -0400 Subject: Cropping a referenced image In-Reply-To: <1B4E159E-D6B3-4B34-BF7F-AB61254C2E40@madmansoft.com> References: <1B4E159E-D6B3-4B34-BF7F-AB61254C2E40@madmansoft.com> Message-ID: <8FB6E2EA-9589-4429-95F7-5466E19968E2@madmansoft.com> > On Aug 14, 2018, at 12:18 PM, Stephen MacLean via use-livecode wrote: > > set the text of checkImgID to empty > > export snapshot from rect (rect of cropRectID) of checkImgID to tTempCrop as JPEG > > set the text of heroImgID to tTempCrop This should be this: > set the text of checkImgID to empty > > export snapshot from rect (rect of cropRectID) of checkImgID to tTempCrop as JPEG > > set the text ofcheckImgID to tTempCrop Sorry! Steve MacLean From richmondmathewson at gmail.com Tue Aug 14 12:26:40 2018 From: richmondmathewson at gmail.com (Richmond Mathewson) Date: Tue, 14 Aug 2018 19:26:40 +0300 Subject: Fun with Windows 10 In-Reply-To: <1FFFEE75-1C4C-448B-9D06-7BD240ADE5E3@iotecdigital.com> References: <5B72D56D.1000206@pair.com> <6e136568-3ea0-f4ad-6658-a4a976c4376a@gmail.com> <1FFFEE75-1C4C-448B-9D06-7BD240ADE5E3@iotecdigital.com> Message-ID: "Once you get beyond how cute they are, you'll find that netbooks can do a lot more than check your e-mail." http://www.nbcnews.com/id/30709961/ns/technology_and_science-digital_home/t/lets-market-pcs-its/#.W3MB7Edj0mI I've never felt the need to have a cute computer; mainly 'cos I'm so cute even without a computer . . . That's why I'm saving up for a Petticoat 5: https://youtu.be/2dEmWvVfEts Bet you all want one too. Richmond. On 14/8/2018 5:39 pm, Bob Sneidar via use-livecode wrote: > If only Apple could be more like Dell, huh? > > Bob S > > >> On Aug 14, 2018, at 06:33 , Richmond Mathewson via use-livecode wrote: >> >> *Apple got too big for their boots and fell in love with marketing their expensive toys to Paris Hilton knock-offs.* >> > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From ahsoftware at sonic.net Tue Aug 14 12:30:19 2018 From: ahsoftware at sonic.net (Mark Wieder) Date: Tue, 14 Aug 2018 09:30:19 -0700 Subject: Fun with Windows 10 In-Reply-To: <226049B9-0CD9-4880-B059-9CAB25D75722@iotecdigital.com> References: <37a812a9-4676-f33e-2c31-8372b397dc22@gmail.com> <226049B9-0CD9-4880-B059-9CAB25D75722@iotecdigital.com> Message-ID: On 08/14/2018 07:38 AM, Bob Sneidar via use-livecode wrote: > How long do we have? > > Bob S > > >> On Aug 14, 2018, at 06:23 , Richmond Mathewson via use-livecode wrote: >> >> So long, and thanks for all the fish. 8.5 x 11 -- Mark Wieder ahsoftware at gmail.com From richmondmathewson at gmail.com Tue Aug 14 13:17:24 2018 From: richmondmathewson at gmail.com (Richmond Mathewson) Date: Tue, 14 Aug 2018 20:17:24 +0300 Subject: Fun with Windows 10 In-Reply-To: References: <37a812a9-4676-f33e-2c31-8372b397dc22@gmail.com> <226049B9-0CD9-4880-B059-9CAB25D75722@iotecdigital.com> Message-ID: <2ccfbbc7-3346-9b26-283a-18cb3bf7ba18@gmail.com> 6 x 7 On 14/8/2018 7:30 pm, Mark Wieder via use-livecode wrote: > On 08/14/2018 07:38 AM, Bob Sneidar via use-livecode wrote: >> How long do we have? >> >> Bob S >> >> >>> On Aug 14, 2018, at 06:23 , Richmond Mathewson via use-livecode >>> wrote: >>> >>> So long, and thanks for all the fish. > > 8.5 x 11 > From gcanyon at gmail.com Tue Aug 14 13:56:31 2018 From: gcanyon at gmail.com (Geoff Canyon) Date: Tue, 14 Aug 2018 10:56:31 -0700 Subject: Navigator v 6 is out In-Reply-To: <2170422D-3F71-40B3-B684-D4E151364863@iotecdigital.com> References: <5C0DA4A0-C506-44F2-A5FE-8A16406BEBBF@canelasoftware.com> <2170422D-3F71-40B3-B684-D4E151364863@iotecdigital.com> Message-ID: Pretty much my thinking as well, and why I shipped it as I did. But I wanted to ask. gc On Tue, Aug 14, 2018 at 7:34 AM Bob Sneidar via use-livecode < use-livecode at lists.runrev.com> wrote: > I'm good with universal really. Preferences can become too granular. Then > you would have people complaining they set a pref and now it isn't > sticking. > > Bob S > > > > On Aug 13, 2018, at 19:21 , Geoff Canyon via use-livecode < > use-livecode at lists.runrev.com> wrote: > > > > A question for anyone/everyone working with Navigator: the prefs dialog > is > > actually set up to allow for many of the preferences to be specific to > the > > Navigator that opened the dialog, or universal. I went with universal by > > default, but the code is all there. Is there any appetite for having a > > different display string, or color scheme, or... for individual > Navigators? > > > > gc > > > >> > > _______________________________________________ > > use-livecode mailing list > > use-livecode at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From rdimola at evergreeninfo.net Tue Aug 14 14:01:02 2018 From: rdimola at evergreeninfo.net (Ralph DiMola) Date: Tue, 14 Aug 2018 14:01:02 -0400 Subject: Fun with Windows 10 In-Reply-To: <2ccfbbc7-3346-9b26-283a-18cb3bf7ba18@gmail.com> References: <37a812a9-4676-f33e-2c31-8372b397dc22@gmail.com> <226049B9-0CD9-4880-B059-9CAB25D75722@iotecdigital.com> <2ccfbbc7-3346-9b26-283a-18cb3bf7ba18@gmail.com> Message-ID: <003b01d433f8$c66d12d0$53473870$@net> 42 Ralph DiMola IT Director Evergreen Information Services rdimola at evergreeninfo.net -----Original Message----- From: use-livecode [mailto:use-livecode-bounces at lists.runrev.com] On Behalf Of Richmond Mathewson via use-livecode Sent: Tuesday, August 14, 2018 1:17 PM To: How to use LiveCode Cc: Richmond Mathewson Subject: Re: Fun with Windows 10 6 x 7 On 14/8/2018 7:30 pm, Mark Wieder via use-livecode wrote: > On 08/14/2018 07:38 AM, Bob Sneidar via use-livecode wrote: >> How long do we have? >> >> Bob S >> >> >>> On Aug 14, 2018, at 06:23 , Richmond Mathewson via use-livecode >>> wrote: >>> >>> So long, and thanks for all the fish. > > 8.5 x 11 > _______________________________________________ use-livecode mailing list use-livecode at lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode From rdimola at evergreeninfo.net Tue Aug 14 14:09:01 2018 From: rdimola at evergreeninfo.net (Ralph DiMola) Date: Tue, 14 Aug 2018 14:09:01 -0400 Subject: Windows: "not responding" In-Reply-To: <28548157-7853-9b55-fedd-1f29fe5b1025@fourthworld.com> References: <28548157-7853-9b55-fedd-1f29fe5b1025@fourthworld.com> Message-ID: <003c01d433f9$e4ad6870$ae083950$@net> I just got "application is not responding" from the Win 10 Task Manager for about 10 seconds before it came back. I don't say that LC could not improve on this but if one of Windows core utilities can't avoid it, then in my humble opinion LC can only mitigate it but never solve it. Ralph DiMola IT Director Evergreen Information Services rdimola at evergreeninfo.net -----Original Message----- From: use-livecode [mailto:use-livecode-bounces at lists.runrev.com] On Behalf Of Richard Gaskin via use-livecode Sent: Tuesday, August 07, 2018 1:59 PM To: How to use LiveCode Cc: Richard Gaskin Subject: Windows: "not responding" We've discussed many times here the anomaly in which an LC process on Windows is running quite fine, but when it's working really hard the OS starts monkeying with the window appearance, adding the string "application is not responding" in the title bar. In all cases I've see thus far, the app itself is fine, but apparently it's not yielding enough cycles to the OS for the OS to feel comfortable about the relationship. Based on early conversations here, I had thought that a solution addressing this was in progress, but checking the bug DB I can't find even a report for this at all, let alone one noting "In Progress". Anyone here know the status of this issue? Should I file a new report on it? -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ____________________________________________________________________ Ambassador at FourthWorld.com http://www.FourthWorld.com _______________________________________________ use-livecode mailing list use-livecode at lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode From richmondmathewson at gmail.com Tue Aug 14 14:50:40 2018 From: richmondmathewson at gmail.com (Richmond Mathewson) Date: Tue, 14 Aug 2018 21:50:40 +0300 Subject: Why I insist on my pupils writing properly formed English letters. Message-ID: <0bbb54bb-ac70-3f56-e6eb-3bd2200910da@gmail.com> Because some people who did not take handwriting very seriously, called the Marwari, started getting their letter 'D' wrong to the extent that it eventually began to be treated as a different letter by Indian Colonial Language experts at the end of the 19th century and then got plonked into the Unicode standard in a different place from the letter it should have been if those slap-dash Marwaris hadn't been a bit uncoordinated with their pens . . . . . . And now LiveCode 8.1.10 using my Devawriter Pro font which has the Marwari glyph in its correct place (hex 978, decimal 2424) seems unable to put anything but a wee box into a field set to my font when I do this: put numToCodePoint(2424) into fld "ff" even while it behaves itself perfectly happily with: put numToCodePoint(2427) into fld "ff" A while back someone was stating something about LiveCode not being able to cope with post Unicode 10; but as the Marwari 'D' was in place at least as early as Unicode 7 I'm not convinced about that. All this on Macintosh 10.7.5. In about 10 minutes will transport everything over to Linux and see what goes on there. Richmond. From brahma at hindu.org Tue Aug 14 15:18:39 2018 From: brahma at hindu.org (Sannyasin Brahmanathaswami) Date: Tue, 14 Aug 2018 19:18:39 +0000 Subject: Cropping a referenced image References: <40DA49BD-F91E-4051-A3E9-72BD7C6A0189@major-k.de> Message-ID: Klaus! Brilliant! and "too easy" to boot on mouseup put "https://i.ytimg.com/vi/KO3l3-4pFyo/default.jpg" into tURL set the itemdel to "/"; put item -2 of tURL into tImageName clone img "ytBtnIconTemplate" as tImageName put the long id of img tImageName into pImage set the filename of pImage to "https://i.ytimg.com/vi/KO3l3-4pFyo/default.jpg" set the icon of button "ytTubeThumb" to (the id of pImage) end mouseup # Now, we now we have the reference image (hidden on a card) # so we don't have go to web to get them if they scroll "around" to the card again on mouseup put "https://i.ytimg.com/vi/KO3l3-4pFyo/default.jpg" into tURL set the itemdel to "/"; put item -2 of tURL into tImageName clone img "ytBtnIconTemplate" as tImageName put the long id of img tImageName into pImage if exists(pImage) = false then set the filename of pImage to "https://i.ytimg.com/vi/KO3l3-4pFyo/default.jpg" end if set the icon of button "ytTubeThumb" to (the id of pImage) end mouseup C'est merveilleux! @ steve, i have used the copy,crop & exportscreen shot method on a puzzle where we need to take the words in a field and copy to "tiles" but there is a hit of the CPU that we can afford in mobile. BR On 8/14/18 5:05 AM, Klaus major-k via use-livecode wrote: can't you use a button, set its icon to your image(s) and then just "crop" the button? Know what I mean? ... set the width of btn "el croppo" to the width of img pImage ## Or use formattedwidth... set the height of btn "el croppo" to round(the width of img pImage/16*9) ... From paul at researchware.com Tue Aug 14 15:32:06 2018 From: paul at researchware.com (Paul Dupuis) Date: Tue, 14 Aug 2018 15:32:06 -0400 Subject: Windows: "not responding" In-Reply-To: <003c01d433f9$e4ad6870$ae083950$@net> References: <28548157-7853-9b55-fedd-1f29fe5b1025@fourthworld.com> <003c01d433f9$e4ad6870$ae083950$@net> Message-ID: <869d23dd-aed0-1f0a-9764-815de035f808@researchware.com> On 8/14/2018 2:09 PM, Ralph DiMola via use-livecode wrote: > I just got "application is not responding" from the Win 10 Task Manager for > about 10 seconds before it came back. I don't say that LC could not improve > on this but if one of Windows core utilities can't avoid it, then in my > humble opinion LC can only mitigate it but never solve it. > Undoubtedly true, but it is still darned annoying. I was just working with an App processing 7334 records. It has a counter in a window, doing the "Preparing of " so I can see its progress as each record takes many seconds. At "Preparing 3541 of 7334" Windows 8.1 declared that the window was "not responding" and stopped updating the counter windows. I could tell it was still running because it also does a "set cursor to busy" after each record and while Windows switched the LiveCode beachball spinning busy cursor to its blue ring of death, if I move the cursor over a different window of the app it changed back to the spinning busy cursor and kept on spinning at the expected rate. I think this Windows issue in 8.x and 10 impacts people doing various intensive data processing tasks the most by preventing updates to status windows while the script executes. Now trying inserting various "wait ... with messages" to see if I can get it to display the counter all the way to the end (about 1.5 hours each test!) It would be nice if some LiveCode, Ltd expert could at least look into this and let people know if they can do anything in their apps to avoid this rather than leave us to try different thing hoping something we stumble upon may work. From bobsneidar at iotecdigital.com Tue Aug 14 15:59:16 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Tue, 14 Aug 2018 19:59:16 +0000 Subject: Windows: "not responding" In-Reply-To: <869d23dd-aed0-1f0a-9764-815de035f808@researchware.com> References: <28548157-7853-9b55-fedd-1f29fe5b1025@fourthworld.com> <003c01d433f9$e4ad6870$ae083950$@net> <869d23dd-aed0-1f0a-9764-815de035f808@researchware.com> Message-ID: <3FAF4A23-7204-4F85-96BD-FCBBCA39D0CA@iotecdigital.com> I think they did. As I recall, the upshot was that this is a Windows thing, and Livecode is not the only victim. In fact, we use a product by Prism called DocRecord, and it will exhibit similar behavior when running on a slower PC with less than optimal resources. I'm thinking maybe this would be a good task to hand off to some kind of agent app. It's easy to do with sockets, passing information back and forth. I wrote a Spinner app and compiled it, which would receive Applescript commands to show/hide itself, display a progress indicator, and display a status message. Since it was compiled as it's own app, it ran in it's own thread, so leaving my main app to go about it's business while it was doing it's thing. For my purposes it was only a progress dialog because an animated gif will only update while Livecode is idle, which it never is when I need a progress indicator. Bob S > On Aug 14, 2018, at 12:32 , Paul Dupuis via use-livecode wrote: > > It would be nice if some LiveCode, Ltd expert could at least look into > this and let people know if they can do anything in their apps to avoid > this rather than leave us to try different thing hoping something we > stumble upon may work. From tom at makeshyft.com Tue Aug 14 16:12:09 2018 From: tom at makeshyft.com (Tom Glod) Date: Tue, 14 Aug 2018 16:12:09 -0400 Subject: Windows: "not responding" In-Reply-To: <3FAF4A23-7204-4F85-96BD-FCBBCA39D0CA@iotecdigital.com> References: <28548157-7853-9b55-fedd-1f29fe5b1025@fourthworld.com> <003c01d433f9$e4ad6870$ae083950$@net> <869d23dd-aed0-1f0a-9764-815de035f808@researchware.com> <3FAF4A23-7204-4F85-96BD-FCBBCA39D0CA@iotecdigital.com> Message-ID: if i had a penny for every time this has come up.... i do not enjoy having to slow down my handlers by adding a wait with messages command ..... its a noticeable drop in data processing performance. this HAS to be addressed at the level of the engine. The OS is supposed to schedule CPU cycles to different processes .... and for some reason the engine is asking for top priority. has anyone ever tried lowering the priority level in the task manager ? to see if that has an effect on this problem?.... i might go test that out the next time i'm in lc. On Tue, Aug 14, 2018 at 3:59 PM, Bob Sneidar via use-livecode < use-livecode at lists.runrev.com> wrote: > I think they did. As I recall, the upshot was that this is a Windows > thing, and Livecode is not the only victim. In fact, we use a product by > Prism called DocRecord, and it will exhibit similar behavior when running > on a slower PC with less than optimal resources. > > I'm thinking maybe this would be a good task to hand off to some kind of > agent app. It's easy to do with sockets, passing information back and > forth. I wrote a Spinner app and compiled it, which would receive > Applescript commands to show/hide itself, display a progress indicator, and > display a status message. Since it was compiled as it's own app, it ran in > it's own thread, so leaving my main app to go about it's business while it > was doing it's thing. > > For my purposes it was only a progress dialog because an animated gif will > only update while Livecode is idle, which it never is when I need a > progress indicator. > > Bob S > > > > On Aug 14, 2018, at 12:32 , Paul Dupuis via use-livecode < > use-livecode at lists.runrev.com> wrote: > > > > It would be nice if some LiveCode, Ltd expert could at least look into > > this and let people know if they can do anything in their apps to avoid > > this rather than leave us to try different thing hoping something we > > stumble upon may work. > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From tom at makeshyft.com Tue Aug 14 16:29:54 2018 From: tom at makeshyft.com (Tom Glod) Date: Tue, 14 Aug 2018 16:29:54 -0400 Subject: Windows: "not responding" In-Reply-To: References: <28548157-7853-9b55-fedd-1f29fe5b1025@fourthworld.com> <003c01d433f9$e4ad6870$ae083950$@net> <869d23dd-aed0-1f0a-9764-815de035f808@researchware.com> <3FAF4A23-7204-4F85-96BD-FCBBCA39D0CA@iotecdigital.com> Message-ID: nope. doesn't seem to have any effect. On Tue, Aug 14, 2018 at 4:12 PM, Tom Glod wrote: > if i had a penny for every time this has come up.... > > i do not enjoy having to slow down my handlers by adding a wait with > messages command ..... its a noticeable drop in data processing > performance. this HAS to be addressed at the level of the engine. The OS > is supposed to schedule CPU cycles to different processes .... and for some > reason the engine is asking for top priority. > > has anyone ever tried lowering the priority level in the task manager ? to > see if that has an effect on this problem?.... i might go test that out the > next time i'm in lc. > > > On Tue, Aug 14, 2018 at 3:59 PM, Bob Sneidar via use-livecode < > use-livecode at lists.runrev.com> wrote: > >> I think they did. As I recall, the upshot was that this is a Windows >> thing, and Livecode is not the only victim. In fact, we use a product by >> Prism called DocRecord, and it will exhibit similar behavior when running >> on a slower PC with less than optimal resources. >> >> I'm thinking maybe this would be a good task to hand off to some kind of >> agent app. It's easy to do with sockets, passing information back and >> forth. I wrote a Spinner app and compiled it, which would receive >> Applescript commands to show/hide itself, display a progress indicator, and >> display a status message. Since it was compiled as it's own app, it ran in >> it's own thread, so leaving my main app to go about it's business while it >> was doing it's thing. >> >> For my purposes it was only a progress dialog because an animated gif >> will only update while Livecode is idle, which it never is when I need a >> progress indicator. >> >> Bob S >> >> >> > On Aug 14, 2018, at 12:32 , Paul Dupuis via use-livecode < >> use-livecode at lists.runrev.com> wrote: >> > >> > It would be nice if some LiveCode, Ltd expert could at least look into >> > this and let people know if they can do anything in their apps to avoid >> > this rather than leave us to try different thing hoping something we >> > stumble upon may work. >> >> >> _______________________________________________ >> use-livecode mailing list >> use-livecode at lists.runrev.com >> Please visit this url to subscribe, unsubscribe and manage your >> subscription preferences: >> http://lists.runrev.com/mailman/listinfo/use-livecode >> > > From richmondmathewson at gmail.com Tue Aug 14 16:51:08 2018 From: richmondmathewson at gmail.com (Richmond Mathewson) Date: Tue, 14 Aug 2018 23:51:08 +0300 Subject: Why I insist on my pupils writing properly formed English letters. In-Reply-To: <0bbb54bb-ac70-3f56-e6eb-3bd2200910da@gmail.com> References: <0bbb54bb-ac70-3f56-e6eb-3bd2200910da@gmail.com> Message-ID: <38b56759-2a1d-b41f-f774-cec0eb76bd67@gmail.com> Mocked by an operating system, no less. If I set the font of my field to ANY font other than the one where a glyph in position hex 978 exists then glyph hex 978 is readily supplied; changing over to my own font (where a glyph is in place) I end up with a square: and this not by LiveCode alone. On 14/8/2018 9:50 pm, Richmond Mathewson wrote: > Because some people who did not take handwriting very seriously, > called the Marwari, started getting their letter 'D' wrong > to the extent that it eventually began to be treated as a different > letter by Indian Colonial Language experts at the end of > the 19th century and then got plonked into the Unicode standard in a > different place from the letter it should have been > if those slap-dash Marwaris hadn't been a bit uncoordinated with their > pens . . . > > . . . And now LiveCode 8.1.10 using my Devawriter Pro font which has > the Marwari glyph in its correct place (hex 978, decimal 2424) > seems unable to put anything but a wee box into a field set to my font > when I do this: > > put numToCodePoint(2424) into fld "ff" > > even while it behaves itself perfectly happily with: > > put numToCodePoint(2427) into fld "ff" > > A while back someone was stating something about LiveCode not being > able to cope with post Unicode 10; but as the > Marwari 'D' was in place at least as early as Unicode 7 I'm not > convinced about that. > > All this on Macintosh 10.7.5. > > In about 10 minutes will transport everything over to Linux and see > what goes on there. > > Richmond. From jacque at hyperactivesw.com Tue Aug 14 17:04:48 2018 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Tue, 14 Aug 2018 16:04:48 -0500 Subject: Fun with Windows 10 In-Reply-To: References: <5B72D56D.1000206@pair.com> <6e136568-3ea0-f4ad-6658-a4a976c4376a@gmail.com> <1FFFEE75-1C4C-448B-9D06-7BD240ADE5E3@iotecdigital.com> Message-ID: <9b574a74-59d8-aeb0-af4b-255f2405e0ac@hyperactivesw.com> On 8/14/18 11:26 AM, Richmond Mathewson via use-livecode wrote: > That's why I'm saving up for a Petticoat 5 A brief diversion: I have always hated pink since I can remember. I climbed trees and read books up there as soon as I was able. When I was some high 1-digit age, I asked for a chemistry set for my birthday. My mom was shocked, didn't I want a nice doll? No, I wanted a chemistry set. I got one, but was disappointed that the most advanced thing it would do was write with "invisible ink" made from lemon juice. I wanted to blow up the bathroom. When I was approaching puberty I asked for a Kenner Girder and Panel set. This was a bunch of preformed, snap-together plastic pieces that allowed you to construct buildings and skyscrapters. My mom was appalled. Wouldn't a nice play kitchen be better? No, it wouldn't. When I went to college my mom nagged me constantly to wear more makeup, paint my eyes like a boll weevil, and "do something with your hair," preferably helmet hair. She kept telling me that was the only way to catch a man. I told her I didn't want to catch one, I wanted to find one who liked me for how I was. She was positive I would never marry. But I did, and we still are, and my sister who wore more makeup masks and slept in beer-can rollers is on her third husband. I would never buy a girlie computer. Besides, I've never in my life had long fingernails. -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com From ambassador at fourthworld.com Tue Aug 14 17:09:27 2018 From: ambassador at fourthworld.com (Richard Gaskin) Date: Tue, 14 Aug 2018 14:09:27 -0700 Subject: Windows: "not responding" In-Reply-To: <3FAF4A23-7204-4F85-96BD-FCBBCA39D0CA@iotecdigital.com> References: <3FAF4A23-7204-4F85-96BD-FCBBCA39D0CA@iotecdigital.com> Message-ID: Bob Sneidar wrote: > I think they did. As I recall, the upshot was that this is a Windows > thing, and Livecode is not the only victim. Already addressed when this came up a week ago: http://lists.runrev.com/pipermail/use-livecode/2018-August/249081.html TL;DR: LC is not alone, but evidences this far more often than anything else most of us have seen. IIRC the issue has been acknowledged by the team, and I believe steps are underway to address it, or at least slated. Anyone know the BZ# for this? -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ____________________________________________________________________ Ambassador at FourthWorld.com http://www.FourthWorld.com From richmondmathewson at gmail.com Tue Aug 14 17:25:44 2018 From: richmondmathewson at gmail.com (Richmond Mathewson) Date: Wed, 15 Aug 2018 00:25:44 +0300 Subject: Fun with Windows 10 In-Reply-To: <9b574a74-59d8-aeb0-af4b-255f2405e0ac@hyperactivesw.com> References: <5B72D56D.1000206@pair.com> <6e136568-3ea0-f4ad-6658-a4a976c4376a@gmail.com> <1FFFEE75-1C4C-448B-9D06-7BD240ADE5E3@iotecdigital.com> <9b574a74-59d8-aeb0-af4b-255f2405e0ac@hyperactivesw.com> Message-ID: Dear Jacque, I was appealing to the male contributors to this Use-List. As a man who won prizes for sewing, cooking, flower-arranging, woodwork and was a Sergeant in the school Cadet Force I am the last person to have any truck with daft social stereotypes. I am aware as the next person who has their head reasonably well screwed on that there are male, female and in-between "Paris Hiltons". You do not need to prove to me how "butch" you were; any more than my football teacher had to start calling me a "pansy" when he found me making daisy chains round the back of the goal while other boys managed to score 3 goals because I wasn't there. Love, Richmond. On 15/8/2018 12:04 am, J. Landman Gay via use-livecode wrote: > On 8/14/18 11:26 AM, Richmond Mathewson via use-livecode wrote: >> That's why I'm saving up for a Petticoat 5 > > A brief diversion: > > I have always hated pink since I can remember. I climbed trees and > read books up there as soon as I was able. > > When I was some high 1-digit age, I asked for a chemistry set for my > birthday. My mom was shocked, didn't I want a nice doll? No, I wanted > a chemistry set. I got one, but was disappointed that the most > advanced thing it would do was write with "invisible ink" made from > lemon juice. I wanted to blow up the bathroom. > > When I was approaching puberty I asked for a Kenner Girder and Panel > set. This was a bunch of preformed, snap-together plastic pieces that > allowed you to construct buildings and skyscrapters. My mom was > appalled. Wouldn't a nice play kitchen be better? No, it wouldn't. > > When I went to college my mom nagged me constantly to wear more > makeup, paint my eyes like a boll weevil, and "do something with your > hair," preferably helmet hair. She kept telling me that was the only > way to catch a man. I told her I didn't want to catch one, I wanted to > find one who liked me for how I was. She was positive I would never > marry. But I did, and we still are, and my sister who wore more makeup > masks and slept in beer-can rollers is on her third husband. > > I would never buy a girlie computer. Besides, I've never in my life > had long fingernails. > From curry at pair.com Tue Aug 14 17:31:38 2018 From: curry at pair.com (Curry Kenworthy) Date: Tue, 14 Aug 2018 17:31:38 -0400 Subject: Windows: "not responding" In-Reply-To: References: Message-ID: <5B734A3A.60005@pair.com> I recently ran a Windows app from a major publisher that used a very big percentage of both the CPU and the GPU (my computer didn't meet the minimum specs) without any complaints at all from the OS. High CPU, but totally responsive. Worked just fine. And that's one tiny snowflake on the tip of the iceberg. There are so many Win apps that handle intensive processing tasks without a hitch. So it's not a matter of apps being unable to crunch data on PCs. There may be very compelling and knowledgeable reasons why it's been a problem here, maybe it is even a Windows hurdle, but still we must acknowledge what our eyes can see, that Windows is not lacking for serious apps of all types that can deliver serious performance. So I too would love to see the engine get some tweaks for Windows. And Windows is a great place for LiveCode, probably an underutilized market. It wouldn't hurt to bring more PC customers into the fold. Meanwhile, most LC scripts can be way more optimized than what they are. Standard scripting techniques are not good enough! I also use a budget PC and an aging Mac for my regular work, so I usually see any performance issues nearer to the beginning of a project, unless I'm caught out by using a sample data set that's too small. Best wishes, Curry Kenworthy Custom Software Development LiveCode Training and Consulting http://livecodeconsulting.com/ From tom at makeshyft.com Tue Aug 14 18:08:00 2018 From: tom at makeshyft.com (Tom Glod) Date: Tue, 14 Aug 2018 18:08:00 -0400 Subject: Windows: "not responding" In-Reply-To: <5B734A3A.60005@pair.com> References: <5B734A3A.60005@pair.com> Message-ID: to add something to this.... what also seems to help alleviate the problem is to change the frequency in which the screen updates happen......so show the progress every 10% instead of every .1% or 1%. LC is actually really fast at processing variables and chunks....and to be able to go top speed will be great .....one day when this is addressed. On Tue, Aug 14, 2018 at 5:31 PM, Curry Kenworthy via use-livecode < use-livecode at lists.runrev.com> wrote: > > I recently ran a Windows app from a major publisher that used a very big > percentage of both the CPU and the GPU (my computer didn't meet the minimum > specs) without any complaints at all from the OS. High CPU, but totally > responsive. Worked just fine. > > And that's one tiny snowflake on the tip of the iceberg. There are so many > Win apps that handle intensive processing tasks without a hitch. So it's > not a matter of apps being unable to crunch data on PCs. There may be very > compelling and knowledgeable reasons why it's been a problem here, maybe it > is even a Windows hurdle, but still we must acknowledge what our eyes can > see, that Windows is not lacking for serious apps of all types that can > deliver serious performance. > > So I too would love to see the engine get some tweaks for Windows. And > Windows is a great place for LiveCode, probably an underutilized market. It > wouldn't hurt to bring more PC customers into the fold. > > Meanwhile, most LC scripts can be way more optimized than what they are. > Standard scripting techniques are not good enough! I also use a budget PC > and an aging Mac for my regular work, so I usually see any performance > issues nearer to the beginning of a project, unless I'm caught out by using > a sample data set that's too small. > > Best wishes, > > Curry Kenworthy > > Custom Software Development > LiveCode Training and Consulting > http://livecodeconsulting.com/ > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From bobsneidar at iotecdigital.com Tue Aug 14 18:09:05 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Tue, 14 Aug 2018 22:09:05 +0000 Subject: [OT] Sublime Text Sync Scrolling Message-ID: For those of you who use Sublime Text, I need a way to compare two scripts side by side, in such away that as I scroll 1, the other also scrolls. There are scroll sync plugins that purport to do so, but I have tried 3 and all fail to do what they are supposed to do. Does anyone who uses Spblime Text know of a plugin that does this? Bob S From bobsneidar at iotecdigital.com Tue Aug 14 18:17:48 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Tue, 14 Aug 2018 22:17:48 +0000 Subject: [OT] Sublime Text Sync Scrolling In-Reply-To: References: Message-ID: <847EF7F1-E6EB-438F-9F9C-B3364711C4B7@iotecdigital.com> NVM I got one of them working. Bob S > On Aug 14, 2018, at 15:09 , Bob Sneidar via use-livecode wrote: > > For those of you who use Sublime Text, I need a way to compare two scripts side by side, in such away that as I scroll 1, the other also scrolls. There are scroll sync plugins that purport to do so, but I have tried 3 and all fail to do what they are supposed to do. Does anyone who uses Spblime Text know of a plugin that does this? > > Bob S From smaclean at madmansoft.com Tue Aug 14 18:18:13 2018 From: smaclean at madmansoft.com (Stephen MacLean) Date: Tue, 14 Aug 2018 18:18:13 -0400 Subject: Database data & emoji's Message-ID: <2E7B0C13-EDE9-401E-9E79-EB3115231C28@madmansoft.com> Hi All, So I have data (text) stored in a mySQL DB that is set for UTF8 and it stores unicode and emoji characters just fine. My problem is that when I pull a field from the record set and put it into a LC field, I don?t get the unicode or emoji, just the the usual strange characters. I know that LC fields support emoji and other unicode characters. I can cut and paste them in and they display fine. My steps in getting the data from the DB to a LC field are: Load the data into an array element like: put revDatabaseColumnNamed(sRecSet,"tw_full_text") into gCurrentRec["tw_full_text"] Then: put gCurrentRec["tw_full_text"] into fld "tw_full_text" I?m probably missing some encoding or decoding step along the way? can some one point me in the right direction? Thanks, Steve MacLean From tore.nilsen at me.com Tue Aug 14 18:24:02 2018 From: tore.nilsen at me.com (Tore Nilsen) Date: Wed, 15 Aug 2018 00:24:02 +0200 Subject: Database data & emoji's In-Reply-To: <2E7B0C13-EDE9-401E-9E79-EB3115231C28@madmansoft.com> References: <2E7B0C13-EDE9-401E-9E79-EB3115231C28@madmansoft.com> Message-ID: <5302BA26-08DC-42A7-B334-02C248DE46E2@me.com> You should look up textEncode and textDecode in the dictionary. I think they may prove useful. Best regards Tore Nilsen ------- This mail contains no viruses or bacteria as it is electronically produced and untouched by human hands. Once printed it may or may not contain various microorganisms that can cause diseases. Print and hand out at own risk. Unsolicited distribution of this mail is prohibited. > 15. aug. 2018 kl. 00:18 skrev Stephen MacLean via use-livecode : > > Hi All, > > So I have data (text) stored in a mySQL DB that is set for UTF8 and it stores unicode and emoji characters just fine. > > My problem is that when I pull a field from the record set and put it into a LC field, I don?t get the unicode or emoji, just the the usual strange characters. > > I know that LC fields support emoji and other unicode characters. I can cut and paste them in and they display fine. > > My steps in getting the data from the DB to a LC field are: > > Load the data into an array element like: > put revDatabaseColumnNamed(sRecSet,"tw_full_text") into gCurrentRec["tw_full_text"] > > Then: > > put gCurrentRec["tw_full_text"] into fld "tw_full_text" > > > I?m probably missing some encoding or decoding step along the way? can some one point me in the right direction? > > Thanks, > > Steve MacLean > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From jacque at hyperactivesw.com Tue Aug 14 19:15:23 2018 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Tue, 14 Aug 2018 18:15:23 -0500 Subject: Determine if device is a tablet Message-ID: <520947f9-f31a-d9f8-3a67-2c38e9529495@hyperactivesw.com> I need to determine whether the current mobile device is a tablet or a phone. On iOS I can use "the machine" but on Android it only provides the manufacturer's name. Does anyone know a way to do that? -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com From terry.judd at unimelb.edu.au Tue Aug 14 19:20:11 2018 From: terry.judd at unimelb.edu.au (Terry Judd) Date: Tue, 14 Aug 2018 23:20:11 +0000 Subject: Determine if device is a tablet In-Reply-To: <520947f9-f31a-d9f8-3a67-2c38e9529495@hyperactivesw.com> References: <520947f9-f31a-d9f8-3a67-2c38e9529495@hyperactivesw.com> Message-ID: <04F4B448-B351-4008-A5A4-89151ABA039C@unimelb.edu.au> Can you do it based on the aspect ratio of the screen? I wouldn't have thought that there were many phones that were as 'squat' as a typical tablet. Terry... ?On 15/08/2018 9:16 am, "use-livecode on behalf of J. Landman Gay via use-livecode" wrote: I need to determine whether the current mobile device is a tablet or a phone. On iOS I can use "the machine" but on Android it only provides the manufacturer's name. Does anyone know a way to do that? -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com _______________________________________________ use-livecode mailing list use-livecode at lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode From bobsneidar at iotecdigital.com Tue Aug 14 19:26:04 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Tue, 14 Aug 2018 23:26:04 +0000 Subject: Determine if device is a tablet In-Reply-To: <520947f9-f31a-d9f8-3a67-2c38e9529495@hyperactivesw.com> References: <520947f9-f31a-d9f8-3a67-2c38e9529495@hyperactivesw.com> Message-ID: <4FB8674B-4637-4EBA-9D0E-1DA841A22687@iotecdigital.com> Does any other device do that? If not, it's just process of elimination. On my Apple laptop I get MacBookPro11,4. On my Windows VM I get x86. I cannot test against Linux, but I'm sure it's something similar. Likely all apples begin with Mac. There is also the platform. Bob S > On Aug 14, 2018, at 16:15 , J. Landman Gay via use-livecode wrote: > > I need to determine whether the current mobile device is a tablet or a phone. On iOS I can use "the machine" but on Android it only provides the manufacturer's name. > > Does anyone know a way to do that? > > -- > Jacqueline Landman Gay | jacque at hyperactivesw.com > HyperActive Software | http://www.hyperactivesw.com From gcanyon at gmail.com Tue Aug 14 19:37:09 2018 From: gcanyon at gmail.com (Geoff Canyon) Date: Tue, 14 Aug 2018 16:37:09 -0700 Subject: Navigator v 6 is out In-Reply-To: References: <5C0DA4A0-C506-44F2-A5FE-8A16406BEBBF@canelasoftware.com> <2170422D-3F71-40B3-B684-D4E151364863@iotecdigital.com> Message-ID: I've updated to fix several reported issues, and update the Find In Scripts and Find by Test functions to support behaviors. Fixes: 1. Opening object Inspectors from Navigator should now work. 2. Command-Double-Click for individual Object Inspectors for multiple controls should now work better -- there was sometimes a bug where it wouldn't open inspectors for all the selected controls. 3. Prefs dialog is now a palette, so should never be editable. 4. Corrected some code for bookmarks that was broken by the new list display formats. 5. Added the ability to find in scripts including behavior scripts, and by tests to include testing behaviors. As always, you can get Navigator here . Or grab it from GitHub . Documentation is here . gc On Tue, Aug 14, 2018 at 10:56 AM Geoff Canyon wrote: > Pretty much my thinking as well, and why I shipped it as I did. But I > wanted to ask. > > gc > > On Tue, Aug 14, 2018 at 7:34 AM Bob Sneidar via use-livecode < > use-livecode at lists.runrev.com> wrote: > >> I'm good with universal really. Preferences can become too granular. Then >> you would have people complaining they set a pref and now it isn't >> sticking. >> >> Bob S >> >> >> > On Aug 13, 2018, at 19:21 , Geoff Canyon via use-livecode < >> use-livecode at lists.runrev.com> wrote: >> > >> > A question for anyone/everyone working with Navigator: the prefs dialog >> is >> > actually set up to allow for many of the preferences to be specific to >> the >> > Navigator that opened the dialog, or universal. I went with universal by >> > default, but the code is all there. Is there any appetite for having a >> > different display string, or color scheme, or... for individual >> Navigators? >> > >> > gc >> > >> >> >> > _______________________________________________ >> > use-livecode mailing list >> > use-livecode at 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 at lists.runrev.com >> Please visit this url to subscribe, unsubscribe and manage your >> subscription preferences: >> http://lists.runrev.com/mailman/listinfo/use-livecode >> > From jacque at hyperactivesw.com Tue Aug 14 19:53:21 2018 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Tue, 14 Aug 2018 18:53:21 -0500 Subject: Fun with Windows 10 In-Reply-To: References: <5B72D56D.1000206@pair.com> <6e136568-3ea0-f4ad-6658-a4a976c4376a@gmail.com> <1FFFEE75-1C4C-448B-9D06-7BD240ADE5E3@iotecdigital.com> <9b574a74-59d8-aeb0-af4b-255f2405e0ac@hyperactivesw.com> Message-ID: <468f144b-21ce-c6d5-5a8b-3451d2691501@hyperactivesw.com> Oh dear, I wasn't trying to prove anything and I didn't really have you in mind...it's a story I tell often because my mother was so convinced that the old stereotypes were still valid and that I was a lost cause, which I never believed. :) And I think it's amusing when I look back and see how desperate she was to make a proper lady out of me at the same time it was going out of vogue. The times were changing, but she didn't get it. I probably didn't put enough smileys in there, it didn't come off the same way it does in my head, which is fond amusement. On 8/14/18 4:25 PM, Richmond Mathewson via use-livecode wrote: > Dear Jacque, > > I was appealing to the male contributors to this Use-List. > > As a man who won prizes for sewing, cooking, flower-arranging, woodwork > and was a Sergeant in the school Cadet Force I am the last person to > have any > truck with daft social stereotypes. > > I am aware as the next person who has their head reasonably well screwed > on that > there are male, female and in-between "Paris Hiltons". > > You do not need to prove to me how "butch" you were; any more than my > football teacher had to > start calling me? a "pansy" when he found me making daisy chains round > the back of the goal > while other boys managed to score 3 goals because I wasn't there. > > Love, Richmond. > > On 15/8/2018 12:04 am, J. Landman Gay via use-livecode wrote: >> On 8/14/18 11:26 AM, Richmond Mathewson via use-livecode wrote: >>> That's why I'm saving up for a Petticoat 5 >> >> A brief diversion: >> >> I have always hated pink since I can remember. I climbed trees and >> read books up there as soon as I was able. >> >> When I was some high 1-digit age, I asked for a chemistry set for my >> birthday. My mom was shocked, didn't I want a nice doll? No, I wanted >> a chemistry set. I got one, but was disappointed that the most >> advanced thing it would do was write with "invisible ink" made from >> lemon juice. I wanted to blow up the bathroom. >> >> When I was approaching puberty I asked for a Kenner Girder and Panel >> set. This was a bunch of preformed, snap-together plastic pieces that >> allowed you to construct buildings and skyscrapters. My mom was >> appalled. Wouldn't a nice play kitchen be better? No, it wouldn't. >> >> When I went to college my mom nagged me constantly to wear more >> makeup, paint my eyes like a boll weevil, and "do something with your >> hair," preferably helmet hair. She kept telling me that was the only >> way to catch a man. I told her I didn't want to catch one, I wanted to >> find one who liked me for how I was. She was positive I would never >> marry. But I did, and we still are, and my sister who wore more makeup >> masks and slept in beer-can rollers is on her third husband. >> >> I would never buy a girlie computer. Besides, I've never in my life >> had long fingernails. >> > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com From revdev at pdslabs.net Tue Aug 14 20:18:45 2018 From: revdev at pdslabs.net (Phil Davis) Date: Tue, 14 Aug 2018 17:18:45 -0700 Subject: Determine if device is a tablet In-Reply-To: <520947f9-f31a-d9f8-3a67-2c38e9529495@hyperactivesw.com> References: <520947f9-f31a-d9f8-3a67-2c38e9529495@hyperactivesw.com> Message-ID: Hi Jacque, One idea: If your app can reach out to a LC page on a server, that page could return $_SERVER["HTTP_USER_AGENT"] which in many cases tells something about the kind of device that connected. For example: An old iPad: Mozilla/5.0 (iPad;CPU OS 9_3_5 like Mac OS X) AppleWebKit/601.1 (KHTML, like Gecko) My phone: Mozilla/5.0 (iPhone;CPU iPhone OS 11_4_1 like Mac OS X) AppleWebKit/604.1.34 (KHTML, like Gecko) CriOS/68.0.3440.83 An old Samsung tablet: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.109 Safari/537.36 Just grasping at straws here. Better info is hidden somewhere in the bowels of the device. It would be cleaner to just get it directly. Phil Davis On 8/14/18 4:15 PM, J. Landman Gay via use-livecode wrote: > I need to determine whether the current mobile device is a tablet or a > phone. On iOS I can use "the machine" but on Android it only provides > the manufacturer's name. > > Does anyone know a way to do that? > -- Phil Davis From alex at tweedly.net Tue Aug 14 20:21:51 2018 From: alex at tweedly.net (Alex Tweedly) Date: Wed, 15 Aug 2018 01:21:51 +0100 Subject: Determine if device is a tablet In-Reply-To: <520947f9-f31a-d9f8-3a67-2c38e9529495@hyperactivesw.com> References: <520947f9-f31a-d9f8-3a67-2c38e9529495@hyperactivesw.com> Message-ID: What's the difference between a tablet and a phone ? Is it the existence of a SIM card ? But if I have an iPhone, but no SIM in it - is it then a tablet ? Is it the size, or the number of pixels, or the ratio ? or what ? :-) Alex. P.S. and how different will the answer be in a year's time? On 15/08/2018 00:15, J. Landman Gay via use-livecode wrote: > I need to determine whether the current mobile device is a tablet or a > phone. On iOS I can use "the machine" but on Android it only provides > the manufacturer's name. > > Does anyone know a way to do that? > From monte at appisle.net Tue Aug 14 21:15:27 2018 From: monte at appisle.net (Monte Goulding) Date: Wed, 15 Aug 2018 11:15:27 +1000 Subject: Determine if device is a tablet In-Reply-To: References: <520947f9-f31a-d9f8-3a67-2c38e9529495@hyperactivesw.com> Message-ID: <0DF3E528-8122-44FE-AA2D-F2CE1DCDC73E@appisle.net> On 15/08/2018 00:15, J. Landman Gay via use-livecode wrote: > I need to determine whether the current mobile device is a tablet or a phone. On iOS I can use "the machine" but on Android it only provides the manufacturer's name. > > Does anyone know a way to do that? Looks like there?s no actual API for this. Here?s various native hacks: https://stackoverflow.com/questions/5832368/tablet-or-phone-android Basically it boils down to deciding what size you consider is a tablet and then checking the screenRect. Cheers Monte From jerry at jhjensen.com Tue Aug 14 21:20:41 2018 From: jerry at jhjensen.com (Jerry Jensen) Date: Tue, 14 Aug 2018 18:20:41 -0700 Subject: Fun with Windows 10 In-Reply-To: <468f144b-21ce-c6d5-5a8b-3451d2691501@hyperactivesw.com> References: <5B72D56D.1000206@pair.com> <6e136568-3ea0-f4ad-6658-a4a976c4376a@gmail.com> <1FFFEE75-1C4C-448B-9D06-7BD240ADE5E3@iotecdigital.com> <9b574a74-59d8-aeb0-af4b-255f2405e0ac@hyperactivesw.com> <468f144b-21ce-c6d5-5a8b-3451d2691501@hyperactivesw.com> Message-ID: <01E77F7B-8DA4-47ED-8B63-053795AE36F0@jhjensen.com> I like your story. I get it. Too many smileys make me drool. .Jerry > On Aug 14, 2018, at 4:53 PM, J. Landman Gay via use-livecode wrote: > > Oh dear, I wasn't trying to prove anything and I didn't really have you in mind...it's a story I tell often because my mother was so convinced that the old stereotypes were still valid and that I was a lost cause, which I never believed. :) And I think it's amusing when I look back and see how desperate she was to make a proper lady out of me at the same time it was going out of vogue. The times were changing, but she didn't get it. > > I probably didn't put enough smileys in there, it didn't come off the same way it does in my head, which is fond amusement. > > On 8/14/18 4:25 PM, Richmond Mathewson via use-livecode wrote: >> Dear Jacque, >> I was appealing to the male contributors to this Use-List. >> As a man who won prizes for sewing, cooking, flower-arranging, woodwork >> and was a Sergeant in the school Cadet Force I am the last person to have any >> truck with daft social stereotypes. >> I am aware as the next person who has their head reasonably well screwed on that >> there are male, female and in-between "Paris Hiltons". >> You do not need to prove to me how "butch" you were; any more than my football teacher had to >> start calling me a "pansy" when he found me making daisy chains round the back of the goal >> while other boys managed to score 3 goals because I wasn't there. >> Love, Richmond. >> On 15/8/2018 12:04 am, J. Landman Gay via use-livecode wrote: >>> On 8/14/18 11:26 AM, Richmond Mathewson via use-livecode wrote: >>>> That's why I'm saving up for a Petticoat 5 >>> >>> A brief diversion: >>> >>> I have always hated pink since I can remember. I climbed trees and read books up there as soon as I was able. >>> >>> When I was some high 1-digit age, I asked for a chemistry set for my birthday. My mom was shocked, didn't I want a nice doll? No, I wanted a chemistry set. I got one, but was disappointed that the most advanced thing it would do was write with "invisible ink" made from lemon juice. I wanted to blow up the bathroom. >>> >>> When I was approaching puberty I asked for a Kenner Girder and Panel set. This was a bunch of preformed, snap-together plastic pieces that allowed you to construct buildings and skyscrapters. My mom was appalled. Wouldn't a nice play kitchen be better? No, it wouldn't. >>> >>> When I went to college my mom nagged me constantly to wear more makeup, paint my eyes like a boll weevil, and "do something with your hair," preferably helmet hair. She kept telling me that was the only way to catch a man. I told her I didn't want to catch one, I wanted to find one who liked me for how I was. She was positive I would never marry. But I did, and we still are, and my sister who wore more makeup masks and slept in beer-can rollers is on her third husband. >>> >>> I would never buy a girlie computer. Besides, I've never in my life had long fingernails. >>> >> _______________________________________________ >> use-livecode mailing list >> use-livecode at lists.runrev.com >> Please visit this url to subscribe, unsubscribe and manage your subscription preferences: >> http://lists.runrev.com/mailman/listinfo/use-livecode > > > -- > Jacqueline Landman Gay | jacque at hyperactivesw.com > HyperActive Software | http://www.hyperactivesw.com > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From ahsoftware at sonic.net Tue Aug 14 22:05:18 2018 From: ahsoftware at sonic.net (Mark Wieder) Date: Tue, 14 Aug 2018 19:05:18 -0700 Subject: Navigator v 6 is out In-Reply-To: References: <5C0DA4A0-C506-44F2-A5FE-8A16406BEBBF@canelasoftware.com> <2170422D-3F71-40B3-B684-D4E151364863@iotecdigital.com> Message-ID: <90503713-9a43-95b3-7f22-7565cb05aa40@sonic.net> On 08/14/2018 04:37 PM, Geoff Canyon via use-livecode wrote: > I've updated to fix several reported issues, and update the Find In Scripts > and Find by Test functions to support behaviors. Another issue to report: listing system stacks probably works on osx but there's no option key on linux or win. PR submitted. -- Mark Wieder ahsoftware at gmail.com From smaclean at madmansoft.com Tue Aug 14 22:07:41 2018 From: smaclean at madmansoft.com (Stephen MacLean) Date: Tue, 14 Aug 2018 22:07:41 -0400 Subject: Database data & emoji's In-Reply-To: <5302BA26-08DC-42A7-B334-02C248DE46E2@me.com> References: <2E7B0C13-EDE9-401E-9E79-EB3115231C28@madmansoft.com> <5302BA26-08DC-42A7-B334-02C248DE46E2@me.com> Message-ID: <4494CD3F-277D-4C0E-9053-09380F3DED25@madmansoft.com> Hi Tore, Thanks, but I?ve already looked at and tried those. Even putting the data directly from the RecordSet to the field just results in question marks ??? where the emoji should be: put textDecode(revDatabaseColumnNamed(sRecSet,"tw_full_text")) into fld "cleaned_tw_content" of cd ?twCleaner" The table and field in the table are utf8mb4 encoded to allow the storing of emoji and other UTF data. My connection in Navicat show it to be UTF-8 as well, and I can see the emoji in the results. However, I don?t see an option to set this in the revOpenDatabase(), so I take it that LC does it automatically? Any other ideas appreciated. TIA, Steve MacLean > On Aug 14, 2018, at 6:24 PM, Tore Nilsen via use-livecode wrote: > > You should look up textEncode and textDecode in the dictionary. I think they may prove useful. > > Best regards > Tore Nilsen > > ------- > This mail contains no viruses or bacteria as it is electronically produced and untouched by human hands. Once printed it may or may not contain various microorganisms that can cause diseases. Print and hand out at own risk. Unsolicited distribution of this mail is prohibited. > > > > > > > >> 15. aug. 2018 kl. 00:18 skrev Stephen MacLean via use-livecode : >> >> Hi All, >> >> So I have data (text) stored in a mySQL DB that is set for UTF8 and it stores unicode and emoji characters just fine. >> >> My problem is that when I pull a field from the record set and put it into a LC field, I don?t get the unicode or emoji, just the the usual strange characters. >> >> I know that LC fields support emoji and other unicode characters. I can cut and paste them in and they display fine. >> >> My steps in getting the data from the DB to a LC field are: >> >> Load the data into an array element like: >> put revDatabaseColumnNamed(sRecSet,"tw_full_text") into gCurrentRec["tw_full_text"] >> >> Then: >> >> put gCurrentRec["tw_full_text"] into fld "tw_full_text" >> >> >> I?m probably missing some encoding or decoding step along the way? can some one point me in the right direction? >> >> Thanks, >> >> Steve MacLean >> _______________________________________________ >> use-livecode mailing list >> use-livecode at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From smaclean at madmansoft.com Tue Aug 14 22:55:37 2018 From: smaclean at madmansoft.com (Stephen MacLean) Date: Tue, 14 Aug 2018 22:55:37 -0400 Subject: Database data & emoji's In-Reply-To: <4494CD3F-277D-4C0E-9053-09380F3DED25@madmansoft.com> References: <2E7B0C13-EDE9-401E-9E79-EB3115231C28@madmansoft.com> <5302BA26-08DC-42A7-B334-02C248DE46E2@me.com> <4494CD3F-277D-4C0E-9053-09380F3DED25@madmansoft.com> Message-ID: <9590BBCD-788F-4E97-A562-3130A780D2E9@madmansoft.com> Unfortunately, this looks to be an issue with the revDatabaseColumnNamed() not getting the proper data, even when using a variable in the command to get binary data: put revDatabaseColumnNamed(sRecSet,"tw_full_text","test?) <- should get either text or binary data with put test into fld "cleaned_tw_content" of cd "twCleaner" or put textDecode(test) into fld "cleaned_tw_content" of cd "twCleaner" doesn?t work. put "#DSum ? ??@David_summers12Y" into test put test into fld "cleaned_tw_content" of cd "twCleaner" Does. Any other insight, ideas? TIA. > On Aug 14, 2018, at 10:07 PM, Stephen MacLean via use-livecode wrote: > > Hi Tore, > > Thanks, but I?ve already looked at and tried those. > > Even putting the data directly from the RecordSet to the field just results in question marks ??? where the emoji should be: > > put textDecode(revDatabaseColumnNamed(sRecSet,"tw_full_text")) into fld "cleaned_tw_content" of cd ?twCleaner" > > The table and field in the table are utf8mb4 encoded to allow the storing of emoji and other UTF data. > > My connection in Navicat show it to be UTF-8 as well, and I can see the emoji in the results. However, I don?t see an option to set this in the revOpenDatabase(), so I take it that LC does it automatically? > > Any other ideas appreciated. > > TIA, > > Steve MacLean > > >> On Aug 14, 2018, at 6:24 PM, Tore Nilsen via use-livecode wrote: >> >> You should look up textEncode and textDecode in the dictionary. I think they may prove useful. >> >> Best regards >> Tore Nilsen >> >> ------- >> This mail contains no viruses or bacteria as it is electronically produced and untouched by human hands. Once printed it may or may not contain various microorganisms that can cause diseases. Print and hand out at own risk. Unsolicited distribution of this mail is prohibited. >> >> >> >> >> >> >> >>> 15. aug. 2018 kl. 00:18 skrev Stephen MacLean via use-livecode : >>> >>> Hi All, >>> >>> So I have data (text) stored in a mySQL DB that is set for UTF8 and it stores unicode and emoji characters just fine. >>> >>> My problem is that when I pull a field from the record set and put it into a LC field, I don?t get the unicode or emoji, just the the usual strange characters. >>> >>> I know that LC fields support emoji and other unicode characters. I can cut and paste them in and they display fine. >>> >>> My steps in getting the data from the DB to a LC field are: >>> >>> Load the data into an array element like: >>> put revDatabaseColumnNamed(sRecSet,"tw_full_text") into gCurrentRec["tw_full_text"] >>> >>> Then: >>> >>> put gCurrentRec["tw_full_text"] into fld "tw_full_text" >>> >>> >>> I?m probably missing some encoding or decoding step along the way? can some one point me in the right direction? >>> >>> Thanks, >>> >>> Steve MacLean >>> _______________________________________________ >>> use-livecode mailing list >>> use-livecode at 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 at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From brian at milby7.com Tue Aug 14 22:59:51 2018 From: brian at milby7.com (Brian Milby) Date: Tue, 14 Aug 2018 21:59:51 -0500 Subject: Navigator v 6 is out In-Reply-To: <90503713-9a43-95b3-7f22-7565cb05aa40@sonic.net> References: <5C0DA4A0-C506-44F2-A5FE-8A16406BEBBF@canelasoftware.com> <2170422D-3F71-40B3-B684-D4E151364863@iotecdigital.com> <90503713-9a43-95b3-7f22-7565cb05aa40@sonic.net> Message-ID: Strange... alt key works on my Win10 laptop. On Tue, Aug 14, 2018 at 9:05 PM, Mark Wieder via use-livecode < use-livecode at lists.runrev.com> wrote: > On 08/14/2018 04:37 PM, Geoff Canyon via use-livecode wrote: > >> I've updated to fix several reported issues, and update the Find In >> Scripts >> and Find by Test functions to support behaviors. >> > > Another issue to report: listing system stacks probably works on osx but > there's no option key on linux or win. > > PR submitted. > > -- > Mark Wieder > ahsoftware at gmail.com > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From irog at mac.com Tue Aug 14 23:06:49 2018 From: irog at mac.com (Roger Guay) Date: Tue, 14 Aug 2018 20:06:49 -0700 Subject: Fun with Windows 10 In-Reply-To: <468f144b-21ce-c6d5-5a8b-3451d2691501@hyperactivesw.com> References: <5B72D56D.1000206@pair.com> <6e136568-3ea0-f4ad-6658-a4a976c4376a@gmail.com> <1FFFEE75-1C4C-448B-9D06-7BD240ADE5E3@iotecdigital.com> <9b574a74-59d8-aeb0-af4b-255f2405e0ac@hyperactivesw.com> <468f144b-21ce-c6d5-5a8b-3451d2691501@hyperactivesw.com> Message-ID: FWIW, I thought it was extremely funny! I think you should consider stand-up comedienne as a second career. Roger > On Aug 14, 2018, at 4:53 PM, J. Landman Gay via use-livecode wrote: > > Oh dear, I wasn't trying to prove anything and I didn't really have you in mind...it's a story I tell often because my mother was so convinced that the old stereotypes were still valid and that I was a lost cause, which I never believed. :) And I think it's amusing when I look back and see how desperate she was to make a proper lady out of me at the same time it was going out of vogue. The times were changing, but she didn't get it. > > I probably didn't put enough smileys in there, it didn't come off the same way it does in my head, which is fond amusement. > > On 8/14/18 4:25 PM, Richmond Mathewson via use-livecode wrote: >> Dear Jacque, >> I was appealing to the male contributors to this Use-List. >> As a man who won prizes for sewing, cooking, flower-arranging, woodwork >> and was a Sergeant in the school Cadet Force I am the last person to have any >> truck with daft social stereotypes. >> I am aware as the next person who has their head reasonably well screwed on that >> there are male, female and in-between "Paris Hiltons". >> You do not need to prove to me how "butch" you were; any more than my football teacher had to >> start calling me a "pansy" when he found me making daisy chains round the back of the goal >> while other boys managed to score 3 goals because I wasn't there. >> Love, Richmond. >> On 15/8/2018 12:04 am, J. Landman Gay via use-livecode wrote: >>> On 8/14/18 11:26 AM, Richmond Mathewson via use-livecode wrote: >>>> That's why I'm saving up for a Petticoat 5 >>> >>> A brief diversion: >>> >>> I have always hated pink since I can remember. I climbed trees and read books up there as soon as I was able. >>> >>> When I was some high 1-digit age, I asked for a chemistry set for my birthday. My mom was shocked, didn't I want a nice doll? No, I wanted a chemistry set. I got one, but was disappointed that the most advanced thing it would do was write with "invisible ink" made from lemon juice. I wanted to blow up the bathroom. >>> >>> When I was approaching puberty I asked for a Kenner Girder and Panel set. This was a bunch of preformed, snap-together plastic pieces that allowed you to construct buildings and skyscrapters. My mom was appalled. Wouldn't a nice play kitchen be better? No, it wouldn't. >>> >>> When I went to college my mom nagged me constantly to wear more makeup, paint my eyes like a boll weevil, and "do something with your hair," preferably helmet hair. She kept telling me that was the only way to catch a man. I told her I didn't want to catch one, I wanted to find one who liked me for how I was. She was positive I would never marry. But I did, and we still are, and my sister who wore more makeup masks and slept in beer-can rollers is on her third husband. >>> >>> I would never buy a girlie computer. Besides, I've never in my life had long fingernails. >>> >> _______________________________________________ >> use-livecode mailing list >> use-livecode at lists.runrev.com >> Please visit this url to subscribe, unsubscribe and manage your subscription preferences: >> http://lists.runrev.com/mailman/listinfo/use-livecode > > > -- > Jacqueline Landman Gay | jacque at hyperactivesw.com > HyperActive Software | http://www.hyperactivesw.com > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From ambassador at fourthworld.com Wed Aug 15 00:08:20 2018 From: ambassador at fourthworld.com (Richard Gaskin) Date: Tue, 14 Aug 2018 21:08:20 -0700 Subject: stack rect with decorations? In-Reply-To: <1653676c8d8.2761.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> References: <1653676c8d8.2761.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> Message-ID: Thanks. I had thought I'd tried that and it didn't work, but I tried again at your prompting and indeed it works well, even as far back as v6.7. Do you recall when the "effective" keyword was added as an option for setting a stack's rect property? -- Richard Gaskin Fourth World Systems J. Landman Gay wrote: > Try "the effective rect of stack x". > -- > Jacqueline Landman Gay | jacque at hyperactivesw.com > > On August 13, 2018 9:58:42 PM Richard Gaskin wrote: > >> My dictionary doesn't work and I don't see what I need in the See >> Also for the online dicts, so maybe someone here remembers: >> >> How do I specify that I want to set the rect of a stack where the >> coordinates I'm passing are for the full outside rect, including all >> window trimmings (border, title bar, etc.)? From ahsoftware at sonic.net Wed Aug 15 00:08:27 2018 From: ahsoftware at sonic.net (Mark Wieder) Date: Tue, 14 Aug 2018 21:08:27 -0700 Subject: Navigator v 6 is out In-Reply-To: References: <5C0DA4A0-C506-44F2-A5FE-8A16406BEBBF@canelasoftware.com> <2170422D-3F71-40B3-B684-D4E151364863@iotecdigital.com> <90503713-9a43-95b3-7f22-7565cb05aa40@sonic.net> Message-ID: <2a25a139-b185-a008-c2c4-6808170f2a48@sonic.net> On 08/14/2018 07:59 PM, Brian Milby via use-livecode wrote: > Strange... alt key works on my Win10 laptop. Yeah, the alt key is trapped on linux for os purposes. For instance you can alt-drag a stack around on the desktop. Alt-clicking the stacks icon on Navigator does nothing on linux. Doesn't even drop down the menu. -- Mark Wieder ahsoftware at gmail.com From ahsoftware at sonic.net Wed Aug 15 00:11:58 2018 From: ahsoftware at sonic.net (Mark Wieder) Date: Tue, 14 Aug 2018 21:11:58 -0700 Subject: Fun with Windows 10 In-Reply-To: <468f144b-21ce-c6d5-5a8b-3451d2691501@hyperactivesw.com> References: <5B72D56D.1000206@pair.com> <6e136568-3ea0-f4ad-6658-a4a976c4376a@gmail.com> <1FFFEE75-1C4C-448B-9D06-7BD240ADE5E3@iotecdigital.com> <9b574a74-59d8-aeb0-af4b-255f2405e0ac@hyperactivesw.com> <468f144b-21ce-c6d5-5a8b-3451d2691501@hyperactivesw.com> Message-ID: <9b76521b-a0c4-f1a5-f0a6-b4c2c6688478@sonic.net> On 08/14/2018 04:53 PM, J. Landman Gay via use-livecode wrote: > Oh dear, I wasn't trying to prove anything and I didn't really have you I think Richmond was aiming at a different target audience... > On 8/14/18 4:25 PM, Richmond Mathewson via use-livecode wrote: >> Dear Jacque, >> >> I was appealing to the male ...Richmond, we're all fond of you, but I wouldn't go so far as to call you 'appealing'... -- Mark Wieder ahsoftware at gmail.com From ambassador at fourthworld.com Wed Aug 15 00:13:22 2018 From: ambassador at fourthworld.com (Richard Gaskin) Date: Tue, 14 Aug 2018 21:13:22 -0700 Subject: Determine if device is a tablet In-Reply-To: <520947f9-f31a-d9f8-3a67-2c38e9529495@hyperactivesw.com> References: <520947f9-f31a-d9f8-3a67-2c38e9529495@hyperactivesw.com> Message-ID: <99b2c233-bd8f-d090-5fff-812d2786c161@fourthworld.com> J. Landman Gay wrote: > I need to determine whether the current mobile device is a tablet or a > phone. On iOS I can use "the machine" but on Android it only provides > the manufacturer's name. > > Does anyone know a way to do that? For screen metrics or device capabilities? -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ____________________________________________________________________ Ambassador at FourthWorld.com http://www.FourthWorld.com From brian at milby7.com Wed Aug 15 00:18:11 2018 From: brian at milby7.com (Brian Milby) Date: Tue, 14 Aug 2018 23:18:11 -0500 Subject: stack rect with decorations? In-Reply-To: References: <1653676c8d8.2761.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> Message-ID: 6.0 according to the dictionary. Thanks, Brian On Aug 14, 2018, 11:08 PM -0500, Richard Gaskin via use-livecode , wrote: > Thanks. I had thought I'd tried that and it didn't work, but I tried > again at your prompting and indeed it works well, even as far back as v6.7. > > Do you recall when the "effective" keyword was added as an option for > setting a stack's rect property? > > -- > Richard Gaskin > Fourth World Systems > > > J. Landman Gay wrote: > > > Try "the effective rect of stack x". > > -- > > Jacqueline Landman Gay | jacque at hyperactivesw.com > > > > On August 13, 2018 9:58:42 PM Richard Gaskin wrote: > > > > > My dictionary doesn't work and I don't see what I need in the See > > > Also for the online dicts, so maybe someone here remembers: > > > > > > How do I specify that I want to set the rect of a stack where the > > > coordinates I'm passing are for the full outside rect, including all > > > window trimmings (border, title bar, etc.)? > > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From gcanyon at gmail.com Wed Aug 15 00:53:00 2018 From: gcanyon at gmail.com (Geoff Canyon) Date: Tue, 14 Aug 2018 21:53:00 -0700 Subject: Navigator v 6 is out In-Reply-To: <2a25a139-b185-a008-c2c4-6808170f2a48@sonic.net> References: <5C0DA4A0-C506-44F2-A5FE-8A16406BEBBF@canelasoftware.com> <2170422D-3F71-40B3-B684-D4E151364863@iotecdigital.com> <90503713-9a43-95b3-7f22-7565cb05aa40@sonic.net> <2a25a139-b185-a008-c2c4-6808170f2a48@sonic.net> Message-ID: Good that alt works on Windows, because the more I think about it, the more I realize this will be challenging to untangle. I use the optionkey in Navigator for...options (who da thunk it?) all over the place. gc On Tue, Aug 14, 2018 at 9:09 PM Mark Wieder via use-livecode < use-livecode at lists.runrev.com> wrote: > On 08/14/2018 07:59 PM, Brian Milby via use-livecode wrote: > > Strange... alt key works on my Win10 laptop. > > Yeah, the alt key is trapped on linux for os purposes. For instance you > can alt-drag a stack around on the desktop. Alt-clicking the stacks icon > on Navigator does nothing on linux. Doesn't even drop down the menu. > > -- > Mark Wieder > ahsoftware at gmail.com > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From jacque at hyperactivesw.com Wed Aug 15 02:32:17 2018 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Wed, 15 Aug 2018 01:32:17 -0500 Subject: Determine if device is a tablet In-Reply-To: <99b2c233-bd8f-d090-5fff-812d2786c161@fourthworld.com> References: <520947f9-f31a-d9f8-3a67-2c38e9529495@hyperactivesw.com> <99b2c233-bd8f-d090-5fff-812d2786c161@fourthworld.com> Message-ID: <387a207d-04f2-feff-d73e-eb41746a987a@hyperactivesw.com> On 8/14/18 11:13 PM, Richard Gaskin via use-livecode wrote: > J. Landman Gay wrote: > > > I need to determine whether the current mobile device is a tablet or a > > phone. On iOS I can use "the machine" but on Android it only provides > > the manufacturer's name. > > > > Does anyone know a way to do that? > > For screen metrics or device capabilities? > Metrics. I want to allow landcape orientation on tablets but only portrait for phones. Phil suggested getting device info, but mobileBuildInfo doesn't return anything better than "the machine." The server idea doesn't return specific enough info either if it isn't an i-thing. Monte mentioned the screenrect, which is what I started with, but it's a wild guess. Right now I'm using an arbitrary screen pixel width but I don't think it will work everywhere. I thought about using a ratio but I'm not sure what would be most accurate. And I'm not clear on how different resolutions affect it. -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com From richmondmathewson at gmail.com Wed Aug 15 03:03:21 2018 From: richmondmathewson at gmail.com (Richmond Mathewson) Date: Wed, 15 Aug 2018 10:03:21 +0300 Subject: Fun with Windows 10 In-Reply-To: <468f144b-21ce-c6d5-5a8b-3451d2691501@hyperactivesw.com> References: <5B72D56D.1000206@pair.com> <6e136568-3ea0-f4ad-6658-a4a976c4376a@gmail.com> <1FFFEE75-1C4C-448B-9D06-7BD240ADE5E3@iotecdigital.com> <9b574a74-59d8-aeb0-af4b-255f2405e0ac@hyperactivesw.com> <468f144b-21ce-c6d5-5a8b-3451d2691501@hyperactivesw.com> Message-ID: Oh dear, my reply was part of a story I like to tell because my parents had lots of well-meaning friends who were convinced that those stereotypes were eternal verities, and had lots of sadistic fun informing my parents that I'd grow up to be 'queer': which I did, but not in the way they meant! The most amusing thing in my childhood was watching the faces of those 'friends' after they had pointed out that my setting up tea parties with my sister's dolls (while she was zooming my toy cars around the place) was a 100% guarantee of something unsuitable in my later years, my father pointed out that he was always getting into trouble for dressing up in his sister's clothes. My father is, needless to say as normal as all the males in our family . . . and, what is more, has always stated that a child's play is a child's play and adults should never, under any circumstances, interfere in it or try to steer it is some sort of 'suitable' direction. I am quite sure that well-meaning adults interfering in a child's play does one hell of a lot of damage: while, if children are left to their own devices they will reach some sort of satisfactory adulthood with a good modicum of contentment. Richmond. On 15/8/2018 2:53 am, J. Landman Gay via use-livecode wrote: > Oh dear, I wasn't trying to prove anything and I didn't really have > you in mind...it's a story I tell often because my mother was so > convinced that the old stereotypes were still valid and that I was a > lost cause, which I never believed. :) And I think it's amusing when I > look back and see how desperate she was to make a proper lady out of > me at the same time it was going out of vogue. The times were > changing, but she didn't get it. > > I probably didn't put enough smileys in there, it didn't come off the > same way it does in my head, which is fond amusement. > > On 8/14/18 4:25 PM, Richmond Mathewson via use-livecode wrote: >> Dear Jacque, >> >> I was appealing to the male contributors to this Use-List. >> >> As a man who won prizes for sewing, cooking, flower-arranging, woodwork >> and was a Sergeant in the school Cadet Force I am the last person to >> have any >> truck with daft social stereotypes. >> >> I am aware as the next person who has their head reasonably well >> screwed on that >> there are male, female and in-between "Paris Hiltons". >> >> You do not need to prove to me how "butch" you were; any more than my >> football teacher had to >> start calling me a "pansy" when he found me making daisy chains >> round the back of the goal >> while other boys managed to score 3 goals because I wasn't there. >> >> Love, Richmond. >> >> On 15/8/2018 12:04 am, J. Landman Gay via use-livecode wrote: >>> On 8/14/18 11:26 AM, Richmond Mathewson via use-livecode wrote: >>>> That's why I'm saving up for a Petticoat 5 >>> >>> A brief diversion: >>> >>> I have always hated pink since I can remember. I climbed trees and >>> read books up there as soon as I was able. >>> >>> When I was some high 1-digit age, I asked for a chemistry set for my >>> birthday. My mom was shocked, didn't I want a nice doll? No, I >>> wanted a chemistry set. I got one, but was disappointed that the >>> most advanced thing it would do was write with "invisible ink" made >>> from lemon juice. I wanted to blow up the bathroom. >>> >>> When I was approaching puberty I asked for a Kenner Girder and Panel >>> set. This was a bunch of preformed, snap-together plastic pieces >>> that allowed you to construct buildings and skyscrapters. My mom was >>> appalled. Wouldn't a nice play kitchen be better? No, it wouldn't. >>> >>> When I went to college my mom nagged me constantly to wear more >>> makeup, paint my eyes like a boll weevil, and "do something with >>> your hair," preferably helmet hair. She kept telling me that was the >>> only way to catch a man. I told her I didn't want to catch one, I >>> wanted to find one who liked me for how I was. She was positive I >>> would never marry. But I did, and we still are, and my sister who >>> wore more makeup masks and slept in beer-can rollers is on her third >>> husband. >>> >>> I would never buy a girlie computer. Besides, I've never in my life >>> had long fingernails. >>> >> >> _______________________________________________ >> use-livecode mailing list >> use-livecode at lists.runrev.com >> Please visit this url to subscribe, unsubscribe and manage your >> subscription preferences: >> http://lists.runrev.com/mailman/listinfo/use-livecode >> > > From richmondmathewson at gmail.com Wed Aug 15 03:05:46 2018 From: richmondmathewson at gmail.com (Richmond Mathewson) Date: Wed, 15 Aug 2018 10:05:46 +0300 Subject: Fun with Windows 10 In-Reply-To: <9b76521b-a0c4-f1a5-f0a6-b4c2c6688478@sonic.net> References: <5B72D56D.1000206@pair.com> <6e136568-3ea0-f4ad-6658-a4a976c4376a@gmail.com> <1FFFEE75-1C4C-448B-9D06-7BD240ADE5E3@iotecdigital.com> <9b574a74-59d8-aeb0-af4b-255f2405e0ac@hyperactivesw.com> <468f144b-21ce-c6d5-5a8b-3451d2691501@hyperactivesw.com> <9b76521b-a0c4-f1a5-f0a6-b4c2c6688478@sonic.net> Message-ID: Cripes: Mark: is it thee or me who is getting long in the tooth? :) When I want "to appeal" I get on my Flasher's Mac and stand around on wet streets on Friday night; as we all do. "Would you like to come up to my place and see my LiveCode?" Richmond. On 15/8/2018 7:11 am, Mark Wieder via use-livecode wrote: > On 08/14/2018 04:53 PM, J. Landman Gay via use-livecode wrote: >> Oh dear, I wasn't trying to prove anything and I didn't really have you > > I think Richmond was aiming at a different target audience... > >> On 8/14/18 4:25 PM, Richmond Mathewson via use-livecode wrote: >>> Dear Jacque, >>> >>> I was appealing to the male > > ...Richmond, we're all fond of you, but I wouldn't go so far as to > call you 'appealing'... > From gcanyon at gmail.com Wed Aug 15 03:09:31 2018 From: gcanyon at gmail.com (Geoff Canyon) Date: Wed, 15 Aug 2018 00:09:31 -0700 Subject: Navigator v 6 is out In-Reply-To: References: <5C0DA4A0-C506-44F2-A5FE-8A16406BEBBF@canelasoftware.com> <2170422D-3F71-40B3-B684-D4E151364863@iotecdigital.com> <90503713-9a43-95b3-7f22-7565cb05aa40@sonic.net> <2a25a139-b185-a008-c2c4-6808170f2a48@sonic.net> Message-ID: I just pushed a new update that has the following features: 1. Right/Control-click on any card or group and the popup menu will include a "Fold Depth" sub-menu. Setting a depth other than "Show All" will fold groups within that card/group to that level. 2. Right/Control-click on a group, and Fold Level>0 is available, which collapses the group itself. 3. Right/Control-click on a card and the minimum level is 1, displaying base-level controls for the card. 4. You can use the sub-menu on bookmarks and cards in list view. Nothing bad will happen. The fold depth will be set, but nothing will happen visually. But see item 5. 5. The Preference dialog now has a menu to set the default fold level. This takes effect whenever a given Navigator switches from one card to another. Exactly when the default should apply is an open question for those who will use the feature. 6. Amazingly, drag-and-drop seems to work (flawlessly?) with folding. Let me know if you find failure modes. 7. Because of folding it occurred to me to test, and drag-and-drop does not work flawlessly when a filter is applied to the list. I'll have a look at that for another update. As usual, you can get Navigator here . Or grab it from GitHub . Update documentation is here . gc On Tue, Aug 14, 2018 at 9:53 PM Geoff Canyon wrote: > Good that alt works on Windows, because the more I think about it, the > more I realize this will be challenging to untangle. I use the optionkey in > Navigator for...options (who da thunk it?) all over the place. > > gc > > On Tue, Aug 14, 2018 at 9:09 PM Mark Wieder via use-livecode < > use-livecode at lists.runrev.com> wrote: > >> On 08/14/2018 07:59 PM, Brian Milby via use-livecode wrote: >> > Strange... alt key works on my Win10 laptop. >> >> Yeah, the alt key is trapped on linux for os purposes. For instance you >> can alt-drag a stack around on the desktop. Alt-clicking the stacks icon >> on Navigator does nothing on linux. Doesn't even drop down the menu. >> >> -- >> Mark Wieder >> ahsoftware at gmail.com >> >> _______________________________________________ >> use-livecode mailing list >> use-livecode at lists.runrev.com >> Please visit this url to subscribe, unsubscribe and manage your >> subscription preferences: >> http://lists.runrev.com/mailman/listinfo/use-livecode >> > From terry.judd at unimelb.edu.au Wed Aug 15 03:11:14 2018 From: terry.judd at unimelb.edu.au (Terry Judd) Date: Wed, 15 Aug 2018 07:11:14 +0000 Subject: Determine if device is a tablet In-Reply-To: <387a207d-04f2-feff-d73e-eb41746a987a@hyperactivesw.com> References: <520947f9-f31a-d9f8-3a67-2c38e9529495@hyperactivesw.com> <99b2c233-bd8f-d090-5fff-812d2786c161@fourthworld.com> <387a207d-04f2-feff-d73e-eb41746a987a@hyperactivesw.com> Message-ID: <820250BF-0B5A-4A9D-8C4C-9F2B9AF9BCFE@unimelb.edu.au> So, iPhones (5 and above) have an aspect ratio of something like 1.78, versus 1.33 for an iPad. Don't know what sort of range you are likely to find with Android devices but perhaps using a value of below 1.4-1.5 to indicate the device is a tablet would work for the majority? Terry... ?On 15/08/2018 4:32 pm, "use-livecode on behalf of J. Landman Gay via use-livecode" wrote: On 8/14/18 11:13 PM, Richard Gaskin via use-livecode wrote: > J. Landman Gay wrote: > > > I need to determine whether the current mobile device is a tablet or a > > phone. On iOS I can use "the machine" but on Android it only provides > > the manufacturer's name. > > > > Does anyone know a way to do that? > > For screen metrics or device capabilities? > Metrics. I want to allow landcape orientation on tablets but only portrait for phones. Phil suggested getting device info, but mobileBuildInfo doesn't return anything better than "the machine." The server idea doesn't return specific enough info either if it isn't an i-thing. Monte mentioned the screenrect, which is what I started with, but it's a wild guess. Right now I'm using an arbitrary screen pixel width but I don't think it will work everywhere. I thought about using a ratio but I'm not sure what would be most accurate. And I'm not clear on how different resolutions affect it. -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com _______________________________________________ use-livecode mailing list use-livecode at lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode From mark at livecode.com Wed Aug 15 04:06:54 2018 From: mark at livecode.com (Mark Waddingham) Date: Wed, 15 Aug 2018 10:06:54 +0200 Subject: Text rendering of Unicode text in LC In-Reply-To: <490F7B5C-886D-4C8E-9894-3EB993640C56@me.com> References: <3DC8B694-CC29-40FC-B9AD-0370463090D9@me.com> <275F4B05-7D67-44B0-A777-31DB1718A571@me.com> <490F7B5C-886D-4C8E-9894-3EB993640C56@me.com> Message-ID: <762c21e87fefe9ac189239ebae129d3f@livecode.com> On 2018-08-13 22:56, Peter Bogdanoff via use-livecode wrote: > Here is a sample of the Chinese text. It has a button to click to > toggle showing the text and the htmlText in the same fields. Note to > see the text problems you will have to open this in Windows 10. I must > point out that the LC 8 versions only show the anti-alias rendering > problem in Chinese MS Windows installations! > > LC 9.0: Bold and not bold-looking rendered text mixed in together. It > should be NOT bold. > LC 8.1.9:Shows bitmap glyphs in standard Windows OS. However it > renders text as anti-aliased but poorly in Chinese MS Windows > installations > LC 8.1.3 Shows bitmap glyphs in standard Windows OS. However it > renders text as anti-aliased but poorly in Chinese MS Windows > installations > > https://artsinteractive-products.s3.amazonaws.com/MITA/Chinese%20Display%20Sample.livecode We checked all dp's of 9 after 6 - it is fine in an unreleased build of dp-7, but not in the released build. If you could file a bug with your sample stack, so we can keep track - we'll get someone to take a look. I go back on what I said before - having seen the stack 'live' - it does indeed look as some glyphs are being rendered in bold, and some are not. For what its worth, I think its definitely a font issue of some kind - we'll take a look at the lighter looking ideographs in comparison to the darker ones to see if we can determine if it is related to 'font fallback'. Part of me wonders whether it is some sort of glyph caching issue in skia - since the first line of text is bold. Definitely something slightly odd going on anyway. Warmest Regards, Mark. -- Mark Waddingham ~ mark at livecode.com ~ http://www.livecode.com/ LiveCode: Everyone can create apps From bogdanoff at me.com Wed Aug 15 04:24:21 2018 From: bogdanoff at me.com (Peter Bogdanoff) Date: Wed, 15 Aug 2018 01:24:21 -0700 Subject: Text rendering of Unicode text in LC In-Reply-To: <762c21e87fefe9ac189239ebae129d3f@livecode.com> References: <3DC8B694-CC29-40FC-B9AD-0370463090D9@me.com> <275F4B05-7D67-44B0-A777-31DB1718A571@me.com> <490F7B5C-886D-4C8E-9894-3EB993640C56@me.com> <762c21e87fefe9ac189239ebae129d3f@livecode.com> Message-ID: Hi Mark, I?ll file the bug report. On the other issue I had with the ?blurry? text in LC 8. Now I?m seeing that text with the faulty rendering is only in a main stack. All substacks of that stack that use the same font have normal, good rendering. This issue appeared only recently--earlier runtimes created for Windows users were all OK, but the runtime created a week ago was bad. So I?m thinking some sort of corruption in the main stack? The bad rendering shows on all cards and in different backgrounds of that stack only, and only in Windows. I?ve rebuilt the main stack by copying cards, custom properties, and stack script over to a new stack. I?m sending that new version to our translator in China for her to test to see if that improves the situation. Thanks again for your help! Peter > On Aug 15, 2018, at 1:06 AM, Mark Waddingham via use-livecode wrote: > > On 2018-08-13 22:56, Peter Bogdanoff via use-livecode wrote: >> Here is a sample of the Chinese text. It has a button to click to >> toggle showing the text and the htmlText in the same fields. Note to >> see the text problems you will have to open this in Windows 10. I must >> point out that the LC 8 versions only show the anti-alias rendering >> problem in Chinese MS Windows installations! >> LC 9.0: Bold and not bold-looking rendered text mixed in together. It >> should be NOT bold. >> LC 8.1.9:Shows bitmap glyphs in standard Windows OS. However it >> renders text as anti-aliased but poorly in Chinese MS Windows >> installations >> LC 8.1.3 Shows bitmap glyphs in standard Windows OS. However it >> renders text as anti-aliased but poorly in Chinese MS Windows >> installations >> https://artsinteractive-products.s3.amazonaws.com/MITA/Chinese%20Display%20Sample.livecode > > We checked all dp's of 9 after 6 - it is fine in an unreleased build of dp-7, but not in the released build. > > If you could file a bug with your sample stack, so we can keep track - we'll get someone to take a look. > > I go back on what I said before - having seen the stack 'live' - it does indeed look as some glyphs are being rendered in bold, and some are not. For what its worth, I think its definitely a font issue of some kind - we'll take a look at the lighter looking ideographs in comparison to the darker ones to see if we can determine if it is related to 'font fallback'. > > Part of me wonders whether it is some sort of glyph caching issue in skia - since the first line of text is bold. Definitely something slightly odd going on anyway. > > Warmest Regards, > > Mark. > > -- > Mark Waddingham ~ mark at livecode.com ~ http://www.livecode.com/ > LiveCode: Everyone can create apps > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From mark at livecode.com Wed Aug 15 04:36:55 2018 From: mark at livecode.com (Mark Waddingham) Date: Wed, 15 Aug 2018 10:36:55 +0200 Subject: Text rendering of Unicode text in LC In-Reply-To: References: <3DC8B694-CC29-40FC-B9AD-0370463090D9@me.com> <275F4B05-7D67-44B0-A777-31DB1718A571@me.com> <490F7B5C-886D-4C8E-9894-3EB993640C56@me.com> <762c21e87fefe9ac189239ebae129d3f@livecode.com> Message-ID: <6daa68e361e418393d3bb9852d1e7693@livecode.com> On 2018-08-15 10:24, Peter Bogdanoff via use-livecode wrote: > Hi Mark, > > I?ll file the bug report. > > On the other issue I had with the ?blurry? text in LC 8. Now I?m > seeing that text with the faulty rendering is only in a main stack. > All substacks of that stack that use the same font have normal, good > rendering. This issue appeared only recently--earlier runtimes created > for Windows users were all OK, but the runtime created a week ago was > bad. So I?m thinking some sort of corruption in the main stack? The > bad rendering shows on all cards and in different backgrounds of that > stack only, and only in Windows. That indeed does sound very odd indeed. I wonder if a stray textFont/textStyle setting somewhere in the hierarchy could have crept in? > I?ve rebuilt the main stack by copying cards, custom properties, and > stack script over to a new stack. I?m sending that new version to our > translator in China for her to test to see if that improves the > situation. Hopefully that will resolve things for your current version (which I presume you'd rather keep at 8.x for now). We'll take a look at the text issue in 9 - although could you check whether it is a similar problem? i.e. Something to do with that stack. That being said the problem definitely appears between two dp's of 9... However, it might be that something 'odd' is triggering the issue. (Basically we think it is something to do with the skia update we did - that is certainly why things are anti-aliased rather than not!). I'm not sure what percentage of people we have using ideographic scripts in LC is, but it certainly isn't zero - and we haven't had any other reports of a problem with 9's rendering of text. So I'm hoping it is an obscure edge-case which is being triggered by something specific - of course, that does make it much harder to track down! Warmest Regards, Mark. -- Mark Waddingham ~ mark at livecode.com ~ http://www.livecode.com/ LiveCode: Everyone can create apps From richmondmathewson at gmail.com Wed Aug 15 04:53:22 2018 From: richmondmathewson at gmail.com (Richmond) Date: Wed, 15 Aug 2018 11:53:22 +0300 Subject: Why I insist on my pupils writing properly formed English letters. In-Reply-To: <38b56759-2a1d-b41f-f774-cec0eb76bd67@gmail.com> References: <0bbb54bb-ac70-3f56-e6eb-3bd2200910da@gmail.com> <38b56759-2a1d-b41f-f774-cec0eb76bd67@gmail.com> Message-ID: <92aa582f-f20e-1c95-af7d-8da8fe35442b@gmail.com> It would, indeed seem to be the operating system as everything works 100% on Linux. Richmond. On 14.08.2018 23:51, Richmond Mathewson wrote: > Mocked by an operating system, no less. > > If I set the font of my field to ANY font other than the one where a > glyph in position hex 978 exists > then glyph hex 978 is readily supplied; changing over to my own font > (where a glyph is in place) > ?I end up with a square: and this not by LiveCode alone. > > On 14/8/2018 9:50 pm, Richmond Mathewson wrote: >> Because some people who did not take handwriting very seriously, >> called the Marwari, started getting their letter 'D' wrong >> to the extent that it eventually began to be treated as a different >> letter by Indian Colonial Language experts at the end of >> the 19th century and then got plonked into the Unicode standard in a >> different place from the letter it should have been >> if those slap-dash Marwaris hadn't been a bit uncoordinated with >> their pens . . . >> >> . . . And now LiveCode 8.1.10 using my Devawriter Pro font which has >> the Marwari glyph in its correct place (hex 978, decimal 2424) >> seems unable to put anything but a wee box into a field set to my >> font when I do this: >> >> put numToCodePoint(2424) into fld "ff" >> >> even while it behaves itself perfectly happily with: >> >> put numToCodePoint(2427) into fld "ff" >> >> A while back someone was stating something about LiveCode not being >> able to cope with post Unicode 10; but as the >> Marwari 'D' was in place at least as early as Unicode 7 I'm not >> convinced about that. >> >> All this on Macintosh 10.7.5. >> >> In about 10 minutes will transport everything over to Linux and see >> what goes on there. >> >> Richmond. > From hakan at exformedia.se Wed Aug 15 08:23:24 2018 From: hakan at exformedia.se (hakan at exformedia.se) Date: Wed, 15 Aug 2018 14:23:24 +0200 Subject: Determine if device is a tablet In-Reply-To: <387a207d-04f2-feff-d73e-eb41746a987a@hyperactivesw.com> References: <520947f9-f31a-d9f8-3a67-2c38e9529495@hyperactivesw.com> <99b2c233-bd8f-d090-5fff-812d2786c161@fourthworld.com> <387a207d-04f2-feff-d73e-eb41746a987a@hyperactivesw.com> Message-ID: I think the idea is that if you have enough space for a viable landscape representation I think you should support it. The line between phone and tablet is very blurry and according to the rumours even Apple will start to support landscape multi-column apps on the new phones. Eg. : https://gadgets.ndtv.com/mobiles/news/apple-iphone-x-plus-6-5-inch-2018-landscape-mode-ios-12-beta-1893260 :-H?kan On 15 Aug 2018, 08:32 +0200, J. Landman Gay via use-livecode , wrote: > On 8/14/18 11:13 PM, Richard Gaskin via use-livecode wrote: > > J. Landman Gay wrote: > > > > > I need to determine whether the current mobile device is a tablet or a > > > phone. On iOS I can use "the machine" but on Android it only provides > > > the manufacturer's name. > > > > > > Does anyone know a way to do that? > > > > For screen metrics or device capabilities? > > > > Metrics. I want to allow landcape orientation on tablets but only > portrait for phones. > > Phil suggested getting device info, but mobileBuildInfo doesn't return > anything better than "the machine." The server idea doesn't return > specific enough info either if it isn't an i-thing. > > Monte mentioned the screenrect, which is what I started with, but it's a > wild guess. Right now I'm using an arbitrary screen pixel width but I > don't think it will work everywhere. > > I thought about using a ratio but I'm not sure what would be most > accurate. And I'm not clear on how different resolutions affect it. > > -- > Jacqueline Landman Gay | jacque at hyperactivesw.com > HyperActive Software | http://www.hyperactivesw.com > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From skiplondon at gmail.com Wed Aug 15 10:21:12 2018 From: skiplondon at gmail.com (Skip Kimpel) Date: Wed, 15 Aug 2018 10:21:12 -0400 Subject: Preview HTML of a field Message-ID: I would like to preview the HTML that exists in a field and preview it within LC. What is the best way of doing this? SKIP From brahma at hindu.org Wed Aug 15 10:27:35 2018 From: brahma at hindu.org (Sannyasin Brahmanathaswami) Date: Wed, 15 Aug 2018 14:27:35 +0000 Subject: Cropping a referenced image References: <40DA49BD-F91E-4051-A3E9-72BD7C6A0189@major-k.de> <0EB8A748-9637-49F1-ADBD-740DAA9DA5F0@iotecdigital.com> Message-ID: Sometimes LiveCode astounds me... Using Klause's method, plus Datagrid under the hood (and all its code) 1) the setting to Button icon to the size you want your image cropped, 120X74 2) Place an image off screen at +1000 to the right. 3) At 120x90 call it img "ytBtnIconTemplate" I was able to fill the DataGrid with the images *in just SEVEN lines of code* ! on FillInData pDataArray put pDataArray["ytThumb"] into tURL set the itemdel to "/"; put item -2 of tURL into tImageName if exists(img tImageName ) = false then clone img "ytBtnIconTemplate" as tImageName set the filename of img tImageName to pDataArray["ytThumb"] end if set the icon of button "ytThumb"of me to (the id img tImageName) set the text of field "collectionTitle" of me to pDataArray["collectionTitle"] end FillInData From smudge.andy at googlemail.com Wed Aug 15 10:34:54 2018 From: smudge.andy at googlemail.com (AndyP) Date: Wed, 15 Aug 2018 09:34:54 -0500 (CDT) Subject: Preview HTML of a field In-Reply-To: References: Message-ID: <1534343694756-0.post@n4.nabble.com> Add a browser widget and then set the htmlText of widget "Browser" to field "myField" ----- Andy Piddock My software never has bugs. It just develops random features. TinyIDE a Free alternative minimalist IDE Plugin for LiveCode Script editor Themer for LC http://2108.co.uk PointandSee is a FREE simple but full featured under cursor colour picker / finder. http://www.pointandsee.co.uk - made with LiveCode -- Sent from: http://runtime-revolution.278305.n4.nabble.com/Revolution-User-f278306.html From bobsneidar at iotecdigital.com Wed Aug 15 10:48:51 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Wed, 15 Aug 2018 14:48:51 +0000 Subject: Fun with Windows 10 In-Reply-To: References: <5B72D56D.1000206@pair.com> <6e136568-3ea0-f4ad-6658-a4a976c4376a@gmail.com> <1FFFEE75-1C4C-448B-9D06-7BD240ADE5E3@iotecdigital.com> <9b574a74-59d8-aeb0-af4b-255f2405e0ac@hyperactivesw.com> <468f144b-21ce-c6d5-5a8b-3451d2691501@hyperactivesw.com> <9b76521b-a0c4-f1a5-f0a6-b4c2c6688478@sonic.net> Message-ID: > On Aug 15, 2018, at 24:05 , Richmond Mathewson via use-livecode wrote: > > Cripes: Mark: is it thee or me who is getting long in the tooth? :) > > When I want "to appeal" I get on my Flasher's Mac and stand around on wet streets on Friday night; > as we all do. > > "Would you like to come up to my place and see my LiveCode?" > > Richmond. I'd be far more concerned about the person who answers, "Why yes, yes I would!" than you. :-) Bob S From bobsneidar at iotecdigital.com Wed Aug 15 10:51:16 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Wed, 15 Aug 2018 14:51:16 +0000 Subject: Navigator v 6 is out In-Reply-To: References: <5C0DA4A0-C506-44F2-A5FE-8A16406BEBBF@canelasoftware.com> <2170422D-3F71-40B3-B684-D4E151364863@iotecdigital.com> <90503713-9a43-95b3-7f22-7565cb05aa40@sonic.net> <2a25a139-b185-a008-c2c4-6808170f2a48@sonic.net> Message-ID: Great job Geoff! Where can I donate to your cause? Paypal perhaps? Bob S From bobsneidar at iotecdigital.com Wed Aug 15 10:54:41 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Wed, 15 Aug 2018 14:54:41 +0000 Subject: Cropping a referenced image In-Reply-To: References: <40DA49BD-F91E-4051-A3E9-72BD7C6A0189@major-k.de> <0EB8A748-9637-49F1-ADBD-740DAA9DA5F0@iotecdigital.com> Message-ID: <5FEB3937-DC75-4C78-AD88-ADB252E8AB2E@iotecdigital.com> We all asked for a table object that worked much like a spreadsheet, and we got something much, much cooler, thanks to the work Trevor did. Greatly appreciated Trevor! Prior to the datagrid, I would be hard pressed to write any kind of database application. Bob S > On Aug 15, 2018, at 07:27 , Sannyasin Brahmanathaswami via use-livecode wrote: > > Sometimes LiveCode astounds me... > > Using Klause's method, plus Datagrid under the hood (and all its code) > > 1) the setting to Button icon to the size you want your image cropped, 120X74 > 2) Place an image off screen at +1000 to the right. > 3) At 120x90 call it img "ytBtnIconTemplate" > > I was able to fill the DataGrid with the images *in just SEVEN lines of code* ! From gcanyon at gmail.com Wed Aug 15 10:59:19 2018 From: gcanyon at gmail.com (Geoff Canyon) Date: Wed, 15 Aug 2018 07:59:19 -0700 Subject: Navigator v 6 is out In-Reply-To: References: <5C0DA4A0-C506-44F2-A5FE-8A16406BEBBF@canelasoftware.com> <2170422D-3F71-40B3-B684-D4E151364863@iotecdigital.com> <90503713-9a43-95b3-7f22-7565cb05aa40@sonic.net> <2a25a139-b185-a008-c2c4-6808170f2a48@sonic.net> Message-ID: Thanks, sending you PayPal info privately. On Wed, Aug 15, 2018 at 7:51 AM Bob Sneidar via use-livecode < use-livecode at lists.runrev.com> wrote: > Great job Geoff! Where can I donate to your cause? Paypal perhaps? > > Bob S > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From paul at researchware.com Wed Aug 15 11:02:47 2018 From: paul at researchware.com (Paul Dupuis) Date: Wed, 15 Aug 2018 11:02:47 -0400 Subject: Preview HTML of a field In-Reply-To: <1534343694756-0.post@n4.nabble.com> References: <1534343694756-0.post@n4.nabble.com> Message-ID: <9d1b89b2-1fa7-1f58-64b1-a7525230ea7c@researchware.com> I'd suggest using the "effective htmlText of field " as the effective keyword will add tags for the inherited styles of the field (like default font, etc.) On 8/15/2018 10:34 AM, AndyP via use-livecode wrote: > Add a browser widget and then > > set the htmlText of widget "Browser" to field "myField" > > > > ----- > Andy Piddock > > > My software never has bugs. It just develops random features. > > TinyIDE a Free alternative minimalist IDE Plugin for LiveCode > > > Script editor Themer for LC http://2108.co.uk > > PointandSee is a FREE simple but full featured under cursor colour picker / finder. > http://www.pointandsee.co.uk - made with LiveCode > -- > Sent from: http://runtime-revolution.278305.n4.nabble.com/Revolution-User-f278306.html > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From skiplondon at gmail.com Wed Aug 15 11:15:46 2018 From: skiplondon at gmail.com (Skip Kimpel) Date: Wed, 15 Aug 2018 11:15:46 -0400 Subject: Preview HTML of a field In-Reply-To: <9d1b89b2-1fa7-1f58-64b1-a7525230ea7c@researchware.com> References: <1534343694756-0.post@n4.nabble.com> <9d1b89b2-1fa7-1f58-64b1-a7525230ea7c@researchware.com> Message-ID: Thank you Andy and Paul for your input. Having said that, I have tried both techniques and am still not able to produce the results. Any other insight I might be missing? Seems like such a simple thing, not sure why I am struggling with this. SKIP On Wed, Aug 15, 2018 at 11:03 AM Paul Dupuis via use-livecode < use-livecode at lists.runrev.com> wrote: > I'd suggest using the "effective htmlText of field " as the > effective keyword will add tags for the inherited styles of the field > (like default font, etc.) > > > On 8/15/2018 10:34 AM, AndyP via use-livecode wrote: > > Add a browser widget and then > > > > set the htmlText of widget "Browser" to field "myField" > > > > > > > > ----- > > Andy Piddock > > > > > > My software never has bugs. It just develops random features. > > > > TinyIDE a Free alternative minimalist IDE Plugin for LiveCode > > > > > > Script editor Themer for LC http://2108.co.uk > > > > PointandSee is a FREE simple but full featured under cursor colour > picker / finder. > > http://www.pointandsee.co.uk - made with LiveCode > > -- > > Sent from: > http://runtime-revolution.278305.n4.nabble.com/Revolution-User-f278306.html > > > > _______________________________________________ > > use-livecode mailing list > > use-livecode at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From skiplondon at gmail.com Wed Aug 15 11:19:06 2018 From: skiplondon at gmail.com (Skip Kimpel) Date: Wed, 15 Aug 2018 11:19:06 -0400 Subject: Preview HTML of a field In-Reply-To: <9d1b89b2-1fa7-1f58-64b1-a7525230ea7c@researchware.com> References: <1534343694756-0.post@n4.nabble.com> <9d1b89b2-1fa7-1f58-64b1-a7525230ea7c@researchware.com> Message-ID: So sorry, my bad!!! I had, for some reason, commented out a key element of this and that is why it was not rendering. I knew it was easier than I made it out to be! Thanks again for your help in this matter! SKIP On Wed, Aug 15, 2018 at 11:03 AM Paul Dupuis via use-livecode < use-livecode at lists.runrev.com> wrote: > I'd suggest using the "effective htmlText of field " as the > effective keyword will add tags for the inherited styles of the field > (like default font, etc.) > > > On 8/15/2018 10:34 AM, AndyP via use-livecode wrote: > > Add a browser widget and then > > > > set the htmlText of widget "Browser" to field "myField" > > > > > > > > ----- > > Andy Piddock > > > > > > My software never has bugs. It just develops random features. > > > > TinyIDE a Free alternative minimalist IDE Plugin for LiveCode > > > > > > Script editor Themer for LC http://2108.co.uk > > > > PointandSee is a FREE simple but full featured under cursor colour > picker / finder. > > http://www.pointandsee.co.uk - made with LiveCode > > -- > > Sent from: > http://runtime-revolution.278305.n4.nabble.com/Revolution-User-f278306.html > > > > _______________________________________________ > > use-livecode mailing list > > use-livecode at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From bobsneidar at iotecdigital.com Wed Aug 15 11:22:04 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Wed, 15 Aug 2018 15:22:04 +0000 Subject: Preview HTML of a field In-Reply-To: References: <1534343694756-0.post@n4.nabble.com> <9d1b89b2-1fa7-1f58-64b1-a7525230ea7c@researchware.com> Message-ID: get the numToCodePoint of one of the bad characters. It may be your database encoding is an issue. If you are textencoding going in and textdecoding coming out of the database, that would preclude database encoding, especially if you are using a blob column as those (to my knowledge) are already binary type. Bob S > On Aug 15, 2018, at 08:15 , Skip Kimpel via use-livecode wrote: > > Thank you Andy and Paul for your input. Having said that, I have tried > both techniques and am still not able to produce the results. > > Any other insight I might be missing? Seems like such a simple thing, not > sure why I am struggling with this. > > SKIP From bodine at bodinetraininggames.com Wed Aug 15 12:12:09 2018 From: bodine at bodinetraininggames.com (tbodine) Date: Wed, 15 Aug 2018 11:12:09 -0500 (CDT) Subject: Fun with Windows 10 In-Reply-To: <9b574a74-59d8-aeb0-af4b-255f2405e0ac@hyperactivesw.com> References: <5B72D56D.1000206@pair.com> <6e136568-3ea0-f4ad-6658-a4a976c4376a@gmail.com> <1FFFEE75-1C4C-448B-9D06-7BD240ADE5E3@iotecdigital.com> <9b574a74-59d8-aeb0-af4b-255f2405e0ac@hyperactivesw.com> Message-ID: <1534349529897-0.post@n4.nabble.com> Loved your story, JLG. To know and be your true self at such a young age is like a super power. (Let us all know when you tell your story on The Moth.) -- Tom Bodine Jacqueline Landman Gayl via use-livecode wrote > A brief diversion: > > I have always hated pink since I can remember. I climbed trees and read > books up there as soon as I was able. > > When I was some high 1-digit age, I asked for a chemistry set for my > birthday. My mom was shocked, didn't I want a nice doll? No, I wanted a > chemistry set. I got one, but was disappointed that the most advanced > thing it would do was write with "invisible ink" made from lemon juice. > I wanted to blow up the bathroom. > > When I was approaching puberty I asked for a Kenner Girder and Panel > set. This was a bunch of preformed, snap-together plastic pieces that > allowed you to construct buildings and skyscrapters. My mom was > appalled. Wouldn't a nice play kitchen be better? No, it wouldn't. > > When I went to college my mom nagged me constantly to wear more makeup, > paint my eyes like a boll weevil, and "do something with your hair," > preferably helmet hair. She kept telling me that was the only way to > catch a man. I told her I didn't want to catch one, I wanted to find one > who liked me for how I was. She was positive I would never marry. But I > did, and we still are, and my sister who wore more makeup masks and > slept in beer-can rollers is on her third husband. > > I would never buy a girlie computer. Besides, I've never in my life had > long fingernails. > > -- > Jacqueline Landman Gay | > jacque@ > HyperActive Software | http://www.hyperactivesw.com -- Sent from: http://runtime-revolution.278305.n4.nabble.com/Revolution-User-f278306.html From skiplondon at gmail.com Wed Aug 15 12:30:57 2018 From: skiplondon at gmail.com (Skip Kimpel) Date: Wed, 15 Aug 2018 12:30:57 -0400 Subject: Preview HTML of a field In-Reply-To: References: <1534343694756-0.post@n4.nabble.com> <9d1b89b2-1fa7-1f58-64b1-a7525230ea7c@researchware.com> Message-ID: Perfect... thank you. SKIP On Wed, Aug 15, 2018 at 11:22 AM Bob Sneidar via use-livecode < use-livecode at lists.runrev.com> wrote: > get the numToCodePoint of one of the bad characters. It may be your > database encoding is an issue. If you are textencoding going in and > textdecoding coming out of the database, that would preclude database > encoding, especially if you are using a blob column as those (to my > knowledge) are already binary type. > > Bob S > > > > On Aug 15, 2018, at 08:15 , Skip Kimpel via use-livecode < > use-livecode at lists.runrev.com> wrote: > > > > Thank you Andy and Paul for your input. Having said that, I have tried > > both techniques and am still not able to produce the results. > > > > Any other insight I might be missing? Seems like such a simple thing, > not > > sure why I am struggling with this. > > > > SKIP > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From dvglasgow at gmail.com Wed Aug 15 12:46:14 2018 From: dvglasgow at gmail.com (David V Glasgow) Date: Wed, 15 Aug 2018 17:46:14 +0100 Subject: Memory related crash?? In-Reply-To: References: <5B72D56D.1000206@pair.com> <6e136568-3ea0-f4ad-6658-a4a976c4376a@gmail.com> <1FFFEE75-1C4C-448B-9D06-7BD240ADE5E3@iotecdigital.com> <9b574a74-59d8-aeb0-af4b-255f2405e0ac@hyperactivesw.com> <468f144b-21ce-c6d5-5a8b-3451d2691501@hyperactivesw.com> <9b76521b-a0c4-f1a5-f0a6-b4c2c6688478@sonic.net> Message-ID: but is it me? Mac OS 10.12.6, LC 8.1.10 I have a 4 card stack which when loaded takes the LC memory to 66MB I then load a 25MB plain text file into a scrolling field (which takes maybe 20 seconds and shows LC as 'not responding? in Activity Monitor). This take memory to 282MB I then perform the following script Where the field ?coerckey? is a list of 21 keywords I need to find in the imported text. put empty into field "foundlines" put empty into ttemp put empty into field "totaliser" put 1 into ttcount repeat for each line i in field "coerckey" put i into field "currentkey" put field "import" into ttemp filter lines of ttemp with regex pattern i put ttemp & return before field "foundlines" put "??? " & i & " ???" & return before field "foundlines" filter field "foundlines" without empty put the number of lines of field "foundlines" -ttcount into field "coerfreq" put ttcount + 1 into ttcount end repeat It works fine, and at a reasonable lick, but the memory balloons to 2.46 GB, and is never released, even after the handler is done. I have several other similar scripts, and unsurprisingly, after two or three, LC chokes. I read somewhere that there was a memory leak in a previous version related to the filter command, although I thought that was something to do with Unicode. So is what I see down to me, or LC? Best wishes, David Glasgow From lists at mangomultimedia.com Wed Aug 15 12:56:31 2018 From: lists at mangomultimedia.com (Trevor DeVore) Date: Wed, 15 Aug 2018 11:56:31 -0500 Subject: Cropping a referenced image In-Reply-To: <5FEB3937-DC75-4C78-AD88-ADB252E8AB2E@iotecdigital.com> References: <40DA49BD-F91E-4051-A3E9-72BD7C6A0189@major-k.de> <0EB8A748-9637-49F1-ADBD-740DAA9DA5F0@iotecdigital.com> <5FEB3937-DC75-4C78-AD88-ADB252E8AB2E@iotecdigital.com> Message-ID: On Wed, Aug 15, 2018 at 9:55 AM Bob Sneidar via use-livecode < use-livecode at lists.runrev.com> wrote: > We all asked for a table object that worked much like a spreadsheet, and > we got something much, much cooler, thanks to the work Trevor did. Greatly > appreciated Trevor! Prior to the datagrid, I would be hard pressed to write > any kind of database application. > You?re welcome Bob :-) -- Trevor DeVore ScreenSteps www.screensteps.com From gcanyon at gmail.com Wed Aug 15 14:10:57 2018 From: gcanyon at gmail.com (Geoff Canyon) Date: Wed, 15 Aug 2018 11:10:57 -0700 Subject: Using stackoverflow.com In-Reply-To: References: Message-ID: On Mon, Aug 13, 2018 at 12:08 PM Todd Fabacher via use-livecode < use-livecode at lists.runrev.com> wrote: > > 1. Not sufficient 3rd party tools with a viable marketplace [also little on > Git]. If we have all these old LC scripts and they are open source, why > don't we just put them on git??? > This is a really good point. It *should* be trivial to put anything you've worked on in LC onto GitHub. As an experiment I just did this with some code I wrote a few days ago in response to another thread on this list: https://github.com/gcanyon/primelist It's just a simple routine to generate primes, but it has the advantage that it uses less array storage than traditional methods -- usage scales with the number of primes to return, rather than the upper bound, so it's theoretically capable of returning a list of primes up to a billion or more. The process wasn't too painful: 1. Create a new repository on GitHub 2. Pick a spot on my computer and clone the repository using GitKraken 3. Use Navigator (shameless self promotion!) to export the script I wrote into a script-only stack in the repository folder 4. Merge the new file and push up to GitHub And done! Is there a way to tag repositories on GitHub by language, so it's easy to find all LC repos? gc From jacque at hyperactivesw.com Wed Aug 15 14:18:48 2018 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Wed, 15 Aug 2018 13:18:48 -0500 Subject: Determine if device is a tablet In-Reply-To: References: <520947f9-f31a-d9f8-3a67-2c38e9529495@hyperactivesw.com> <99b2c233-bd8f-d090-5fff-812d2786c161@fourthworld.com> <387a207d-04f2-feff-d73e-eb41746a987a@hyperactivesw.com> Message-ID: <56a52454-083f-6e61-244a-c9d09c9b88de@hyperactivesw.com> You're right, I should have said "screen size" rather than "tablet" since I'm concerned with metrics. Terry's ratio cut-off of about 1.4 or so could work. The new iPhone X has a ratio just over 2.0. I wonder if the text would be too small to read comfortably there. On 8/15/18 7:23 AM, hakan at exformedia.se wrote: > I think the idea is that if you have enough space for a viable landscape representation I think you should support it. The line between phone and tablet is very blurry and according to the rumours even Apple will start to support landscape multi-column apps on the new phones. Eg. : > > https://gadgets.ndtv.com/mobiles/news/apple-iphone-x-plus-6-5-inch-2018-landscape-mode-ios-12-beta-1893260 > > :-H?kan > On 15 Aug 2018, 08:32 +0200, J. Landman Gay via use-livecode , wrote: >> On 8/14/18 11:13 PM, Richard Gaskin via use-livecode wrote: >>> J. Landman Gay wrote: >>> >>>> I need to determine whether the current mobile device is a tablet or a >>>> phone. On iOS I can use "the machine" but on Android it only provides >>>> the manufacturer's name. >>>> >>>> Does anyone know a way to do that? >>> >>> For screen metrics or device capabilities? >>> >> >> Metrics. I want to allow landcape orientation on tablets but only >> portrait for phones. >> >> Phil suggested getting device info, but mobileBuildInfo doesn't return >> anything better than "the machine." The server idea doesn't return >> specific enough info either if it isn't an i-thing. >> >> Monte mentioned the screenrect, which is what I started with, but it's a >> wild guess. Right now I'm using an arbitrary screen pixel width but I >> don't think it will work everywhere. >> >> I thought about using a ratio but I'm not sure what would be most >> accurate. And I'm not clear on how different resolutions affect it. >> >> -- >> Jacqueline Landman Gay | jacque at hyperactivesw.com >> HyperActive Software | http://www.hyperactivesw.com >> >> _______________________________________________ >> use-livecode mailing list >> use-livecode at lists.runrev.com >> Please visit this url to subscribe, unsubscribe and manage your subscription preferences: >> http://lists.runrev.com/mailman/listinfo/use-livecode > -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com From gcanyon at gmail.com Wed Aug 15 14:20:38 2018 From: gcanyon at gmail.com (Geoff Canyon) Date: Wed, 15 Aug 2018 11:20:38 -0700 Subject: Using stackoverflow.com In-Reply-To: References: Message-ID: On Wed, Aug 15, 2018 at 11:10 AM Geoff Canyon wrote: > > The process wasn't too painful: > > 1. Create a new repository on GitHub > 2. Pick a spot on my computer and clone the repository using GitKraken > 3. Use Navigator (shameless self promotion!) to export the script I wrote > into a script-only stack in the repository folder > 4. Merge the new file and push up to GitHub > > And done! Is there a way to tag repositories on GitHub by language, so > it's easy to find all LC repos? > Of course it helps if you upload the correct script... (grr) So: 5. Use Navigator to restore the script from the repo into the button 6. Use Navigator to export the actual script from the card to the repo 7. Merge again 8. Push again And now it's done. From jacque at hyperactivesw.com Wed Aug 15 14:28:41 2018 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Wed, 15 Aug 2018 13:28:41 -0500 Subject: Fun with Windows 10 In-Reply-To: <1534349529897-0.post@n4.nabble.com> References: <5B72D56D.1000206@pair.com> <6e136568-3ea0-f4ad-6658-a4a976c4376a@gmail.com> <1FFFEE75-1C4C-448B-9D06-7BD240ADE5E3@iotecdigital.com> <9b574a74-59d8-aeb0-af4b-255f2405e0ac@hyperactivesw.com> <1534349529897-0.post@n4.nabble.com> Message-ID: <0d4162d6-3588-8ba4-3a04-593a2d586331@hyperactivesw.com> On 8/15/18 11:12 AM, tbodine via use-livecode wrote: > To know and be your true self at such a young age is > like a super power. My mom called my super power "stubborn brat." :) Thanks to all who responded, these little mental blurps sometimes pop out independently. -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com From warren at warrensweb.us Wed Aug 15 14:58:46 2018 From: warren at warrensweb.us (Warren Samples) Date: Wed, 15 Aug 2018 13:58:46 -0500 Subject: Using stackoverflow.com In-Reply-To: References: Message-ID: <20180815135846.46f6c919@mattie-ant> On Wed, 15 Aug 2018 11:10:57 -0700 Geoff Canyon via use-livecode wrote: > And done! Is there a way to tag repositories on GitHub by language, so it's > easy to find all LC repos? https://help.github.com/articles/working-with-tags/ https://github.com/topics/livecode From ambassador at fourthworld.com Wed Aug 15 14:58:37 2018 From: ambassador at fourthworld.com (Richard Gaskin) Date: Wed, 15 Aug 2018 11:58:37 -0700 Subject: Determine if device is a tablet In-Reply-To: <387a207d-04f2-feff-d73e-eb41746a987a@hyperactivesw.com> References: <387a207d-04f2-feff-d73e-eb41746a987a@hyperactivesw.com> Message-ID: J. Landman Gay wrote: > Metrics. I want to allow landcape orientation on tablets but only > portrait for phones. > > Phil suggested getting device info, but mobileBuildInfo doesn't return > anything better than "the machine." The server idea doesn't return > specific enough info either if it isn't an i-thing. > > Monte mentioned the screenrect, which is what I started with, but it's > a wild guess. Right now I'm using an arbitrary screen pixel width but > I don't think it will work everywhere. Why not? The LC team has done a great job with resolution independence, using the OS routines to normalize coordinates for pixel density, so what we work with are logical pixels. So Monte may be onto something: figure out how many pixels your layout needs, and check the screenRect. When you don't have the number of pixels your layout needs, limit rotation options. > I thought about using a ratio but I'm not sure what would be most > accurate. And I'm not clear on how different resolutions affect it. Ratio tells us the relationship between width and height, independent of size. I've seen 3x4, 9x16, 10x16 and others in both very small and very large devices. -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ____________________________________________________________________ Ambassador at FourthWorld.com http://www.FourthWorld.com From richmondmathewson at gmail.com Wed Aug 15 15:17:44 2018 From: richmondmathewson at gmail.com (Richmond Mathewson) Date: Wed, 15 Aug 2018 22:17:44 +0300 Subject: Fun with Windows 10 In-Reply-To: <0d4162d6-3588-8ba4-3a04-593a2d586331@hyperactivesw.com> References: <5B72D56D.1000206@pair.com> <6e136568-3ea0-f4ad-6658-a4a976c4376a@gmail.com> <1FFFEE75-1C4C-448B-9D06-7BD240ADE5E3@iotecdigital.com> <9b574a74-59d8-aeb0-af4b-255f2405e0ac@hyperactivesw.com> <1534349529897-0.post@n4.nabble.com> <0d4162d6-3588-8ba4-3a04-593a2d586331@hyperactivesw.com> Message-ID: Most "mental blurps" pop out because their parents get up to something before that, and many "mental blurps" grow up into interesting and creative people who contribute greatly to society: we should all be grateful for "mental blurps". Our society spends most of its time being nasty to "mental blurps" when it should be doing all it can to encourage them. Luckily most "little mental blurps" weather the storms of disapproval and those who would fit them into rigid categories and grow up into . . . err . . . LiveCode programmers among many other things. Richmond. On 15/8/2018 9:28 pm, J. Landman Gay via use-livecode wrote: > On 8/15/18 11:12 AM, tbodine via use-livecode wrote: >> To know and be your true self at such a young age is >> like a super power. > > My mom called my super power "stubborn brat." :) > > Thanks to all who responded, these little mental blurps sometimes pop > out independently. > From gcanyon at gmail.com Wed Aug 15 16:13:21 2018 From: gcanyon at gmail.com (Geoff Canyon) Date: Wed, 15 Aug 2018 13:13:21 -0700 Subject: Using stackoverflow.com In-Reply-To: <20180815135846.46f6c919@mattie-ant> References: <20180815135846.46f6c919@mattie-ant> Message-ID: Ah, topics are the key concept. Glad that now Navigator is associated with LiveCode on GitHub... On Wed, Aug 15, 2018 at 11:59 AM Warren Samples via use-livecode < use-livecode at lists.runrev.com> wrote: > On Wed, 15 Aug 2018 11:10:57 -0700 > Geoff Canyon via use-livecode wrote: > > > And done! Is there a way to tag repositories on GitHub by language, so > it's > > easy to find all LC repos? > > > https://help.github.com/articles/working-with-tags/ > > https://github.com/topics/livecode > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From tom at makeshyft.com Wed Aug 15 16:18:51 2018 From: tom at makeshyft.com (Tom Glod) Date: Wed, 15 Aug 2018 16:18:51 -0400 Subject: copying large string from clipboard is slooooooooooooooooooooooooooooow Message-ID: Hey Peeps... so I'm stress testing a clipboard tool I have been working on .....and copying a large key from the clipboard array into a variable (such as the king james bible from the guttenberg project) takes a really long time. like 3 or 4 seconds ....(for each key) its a large string...but thats crazy. I'm copying from "the clipboarddata" ... not rawdata or fulldata. should i report bug? or is there a legit reason why this is so? thanks for any thoughts From paul at researchware.com Wed Aug 15 17:09:07 2018 From: paul at researchware.com (Paul Dupuis) Date: Wed, 15 Aug 2018 17:09:07 -0400 Subject: Using stackoverflow.com In-Reply-To: References: Message-ID: <78461eda-f091-aab6-d28f-ebb8a6218259@researchware.com> On 8/15/2018 2:10 PM, Geoff Canyon via use-livecode wrote: > This is a really good point. It *should* be trivial to put anything you've > worked on in LC onto GitHub. Like a *lot* of software (in fact I would argue all software), GIT is easy if you know it and hard if you do not. Everything has a learning curve. Sometime, even the initial time to figure of what to download and install, how to start and use it in the most basic way, is still more learning time that you have available. I have made 3 attempts to get "started" with GIT on Windows 8.1 - specifically to be able to access LiveCode stuff in GIT, and very specifically to consider helping fix documentation in the Dictionary - and stopped because I was interrupted by other work before I had enough time to get very far. From ambassador at fourthworld.com Wed Aug 15 17:25:23 2018 From: ambassador at fourthworld.com (Richard Gaskin) Date: Wed, 15 Aug 2018 14:25:23 -0700 Subject: copying large string from clipboard is slooooooooooooooooooooooooooooow In-Reply-To: References: Message-ID: <00c63816-ffb9-d534-877a-2fe6c83887ae@fourthworld.com> Tom Glod wrote: > Hey Peeps... so I'm stress testing a clipboard tool I have been > working on .....and copying a large key from the clipboard array into > a variable (such as the king james bible from the guttenberg project) > takes a really long time. What is the size? It's been a long time since I worked with that file. > like 3 or 4 seconds ....(for each key) > > its a large string...but thats crazy. > > I'm copying from "the clipboarddata" ... not rawdata or fulldata. > > should i report bug? or is there a legit reason why this is so? Depends. That's a very rare use case, one not likely optimized for by many apps, or even the OS. So one way to get a feel for whether LC is indeed slow there is to compare with another program: How long does it take to copy with the file is opened in Word? And from WordPad? Might also get comparisons with any other program you have lying around that can be used for that. -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ____________________________________________________________________ Ambassador at FourthWorld.com http://www.FourthWorld.com From brian at milby7.com Wed Aug 15 17:33:20 2018 From: brian at milby7.com (Brian Milby) Date: Wed, 15 Aug 2018 16:33:20 -0500 Subject: copying large string from clipboard is slooooooooooooooooooooooooooooow In-Reply-To: <00c63816-ffb9-d534-877a-2fe6c83887ae@fourthworld.com> References: <00c63816-ffb9-d534-877a-2fe6c83887ae@fourthworld.com> Message-ID: Several keys cause the engine to perform work on the data before returning it. I would compare with pulling data from the raw clipboard to ensure the engine is not manipulating it first. Thanks, Brian On Aug 15, 2018, 4:25 PM -0500, Richard Gaskin via use-livecode , wrote: > Tom Glod wrote: > > > Hey Peeps... so I'm stress testing a clipboard tool I have been > > working on .....and copying a large key from the clipboard array into > > a variable (such as the king james bible from the guttenberg project) > > takes a really long time. > > What is the size? It's been a long time since I worked with that file. > > > > like 3 or 4 seconds ....(for each key) > > > > its a large string...but thats crazy. > > > > I'm copying from "the clipboarddata" ... not rawdata or fulldata. > > > > should i report bug? or is there a legit reason why this is so? > > Depends. That's a very rare use case, one not likely optimized for by > many apps, or even the OS. > > So one way to get a feel for whether LC is indeed slow there is to > compare with another program: > > How long does it take to copy with the file is opened in Word? > And from WordPad? > Might also get comparisons with any other program you have lying around > that can be used for that. > > -- > Richard Gaskin > Fourth World Systems > Software Design and Development for the Desktop, Mobile, and the Web > ____________________________________________________________________ > Ambassador at FourthWorld.com http://www.FourthWorld.com > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From tom at makeshyft.com Wed Aug 15 17:36:09 2018 From: tom at makeshyft.com (Tom Glod) Date: Wed, 15 Aug 2018 17:36:09 -0400 Subject: copying large string from clipboard is slooooooooooooooooooooooooooooow In-Reply-To: <00c63816-ffb9-d534-877a-2fe6c83887ae@fourthworld.com> References: <00c63816-ffb9-d534-877a-2fe6c83887ae@fourthworld.com> Message-ID: Hi Richard...to copy it from a custom property into a variable takes a blink of an eye. the file is i think 4.5 mb or so. takes 14ms seconds to do a md5 hash its definitely the slowness of the clipboarddata function. On Wed, Aug 15, 2018 at 5:25 PM, Richard Gaskin via use-livecode < use-livecode at lists.runrev.com> wrote: > Tom Glod wrote: > > > Hey Peeps... so I'm stress testing a clipboard tool I have been > > working on .....and copying a large key from the clipboard array into > > a variable (such as the king james bible from the guttenberg project) > > takes a really long time. > > What is the size? It's been a long time since I worked with that file. > > > > like 3 or 4 seconds ....(for each key) > > > > its a large string...but thats crazy. > > > > I'm copying from "the clipboarddata" ... not rawdata or fulldata. > > > > should i report bug? or is there a legit reason why this is so? > > Depends. That's a very rare use case, one not likely optimized for by > many apps, or even the OS. > > So one way to get a feel for whether LC is indeed slow there is to compare > with another program: > > How long does it take to copy with the file is opened in Word? > And from WordPad? > Might also get comparisons with any other program you have lying around > that can be used for that. > > -- > Richard Gaskin > Fourth World Systems > Software Design and Development for the Desktop, Mobile, and the Web > ____________________________________________________________________ > Ambassador at FourthWorld.com http://www.FourthWorld.com > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From tom at makeshyft.com Wed Aug 15 17:43:04 2018 From: tom at makeshyft.com (Tom Glod) Date: Wed, 15 Aug 2018 17:43:04 -0400 Subject: copying large string from clipboard is slooooooooooooooooooooooooooooow In-Reply-To: References: <00c63816-ffb9-d534-877a-2fe6c83887ae@fourthworld.com> Message-ID: hhhmmmm.... that could be the reason indeed. will do more tests. Will have to revisit and do some bug reports that i didn't have time to do when i first started using rawclipboarddata i know there is at least 1 hard crash when catching a clipboard error (which i have no idea why i was getting). i couldn't wait so i switched to using clipboarddata which still worked for what i needed. sigh. Thanks Brian. On Wed, Aug 15, 2018 at 5:33 PM, Brian Milby via use-livecode < use-livecode at lists.runrev.com> wrote: > Several keys cause the engine to perform work on the data before returning > it. I would compare with pulling data from the raw clipboard to ensure the > engine is not manipulating it first. > > Thanks, > Brian > On Aug 15, 2018, 4:25 PM -0500, Richard Gaskin via use-livecode < > use-livecode at lists.runrev.com>, wrote: > > Tom Glod wrote: > > > > > Hey Peeps... so I'm stress testing a clipboard tool I have been > > > working on .....and copying a large key from the clipboard array into > > > a variable (such as the king james bible from the guttenberg project) > > > takes a really long time. > > > > What is the size? It's been a long time since I worked with that file. > > > > > > > like 3 or 4 seconds ....(for each key) > > > > > > its a large string...but thats crazy. > > > > > > I'm copying from "the clipboarddata" ... not rawdata or fulldata. > > > > > > should i report bug? or is there a legit reason why this is so? > > > > Depends. That's a very rare use case, one not likely optimized for by > > many apps, or even the OS. > > > > So one way to get a feel for whether LC is indeed slow there is to > > compare with another program: > > > > How long does it take to copy with the file is opened in Word? > > And from WordPad? > > Might also get comparisons with any other program you have lying around > > that can be used for that. > > > > -- > > Richard Gaskin > > Fourth World Systems > > Software Design and Development for the Desktop, Mobile, and the Web > > ____________________________________________________________________ > > Ambassador at FourthWorld.com http://www.FourthWorld.com > > > > _______________________________________________ > > use-livecode mailing list > > use-livecode at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From davros at bellaliant.net Wed Aug 15 17:57:37 2018 From: davros at bellaliant.net (John McKenzie) Date: Wed, 15 Aug 2018 18:57:37 -0300 Subject: Data Persistence In-Reply-To: References: <20180723185741.0e593aff@poseidon> Message-ID: <20180815185737.637835c2@poseidon> Hello again, everyone. Jacqueline, I enjoyed the fact you shared your story of not conforming to gender stereotypes with your childhood interests. Find it sad that science and engineering in general was (is?) considered a boys thing. Feel like I want to inject my two cents worth about software licences but it is a topic that could derail the list and I know I should not contribute to that. Know I was OK with and understood the off the cuff nature of "silly" and definitely do not agree with everything licences force upon us in modern times. So I continue to ask questions to help with my data persistence problem on Android. While I want to make sure my syntax is correct I firstly need to know if conceptually what I am doing will work/is correct. On my three cards (each records numbers for a different flight) the fields now all save their info to an array, flightArr[], upon closeField as suggested by the crowd here on the mailing list. I have it set-up so that when I stitch to another app (a phone call comes in, or I need to look up an airport code using an app, etc) it saves the info from each field on every card to a text file and upon opening it repopulates those text fields. This is accomplished using the handlers on shutdown and on openStack. The change I am going to try unless told not to in reply to this message is to encode the array into something and deencode it upon openStack. So each field would have put something into the array upon closeField. Would it work that upon on shutdown I could just say encode the array and then upon openStack I deencode the array and have the commands to populate the appropriate fields with their values from the array that was just deencoded? My array is called flightArr[]. Want to check with all of you that the syntax I was going to try is correct, although I suppose it does not matter if conceptually this is a bad idea. This would be on the stack. on shutdown set the defaultFolder to specialFolderPath("cache") put arrayEncode(flightArr) into theEncodedArray put theEncodedArray into URL ("binfile:" & theflightArray) pass shutdown end shutdown on openstack set the defaultFolder to specialFolderPath("cache") put URL ("binfile:" & theflightArray) into theEncodedArray put arrayDecode(theEncodedArray) into flightArr put flightArr[1] into field flight of card 1 put flightArr[2] into field sta of card 1 put flightArr[3] into field ata of card 1 # Etc, etc, for each text field for each card end openstack I see a few things already that make me think it is unlikely to be that simple. Also the array probably needs a "[]" after it every time. So it is probably embarrassingly wrong and I should spend a little more time reading the dictionary before sending this off but I have to leave for work in a few minutes. Thanks for your help. From martyknappster at gmail.com Wed Aug 15 18:02:02 2018 From: martyknappster at gmail.com (Knapp Martin) Date: Wed, 15 Aug 2018 15:02:02 -0700 Subject: scaleFactor Message-ID: <9E15CD31-C9B8-44C5-9477-3BDDE16740BF@gmail.com> I know that scaleFactor is not intended to be a "zoom view" feature for desktop, but in lieu of actually having zoom views, I really need to use it to allow the user to enlarge or reduce the window size for a Mac and Windows app I?m working on. What I would like is for it to shrink or grow from the topLeft point on the screen but I can't seem to figure out a way to keep it from jumping around. I would like to have scaleFactors from .5 to 1.5. Anybody tackled this one? Thanks, Marty From ambassador at fourthworld.com Wed Aug 15 18:00:44 2018 From: ambassador at fourthworld.com (Richard Gaskin) Date: Wed, 15 Aug 2018 15:00:44 -0700 Subject: copying large string from clipboard is slooooooooooooooooooooooooooooow In-Reply-To: References: Message-ID: See Brian's note to get where I was going with that. I suggested comparing the speed with other programs because I'm assuming you're doing this for a worthwhile reason. When we see how other apps compare with a similar task for their own reasons we begin to see the wide range of things that can sometimes happen moving lots of data to and from the system scrap. An MD5 hash is not a Clipboard operation. It doesn't need to integrate with the system's Clipboard subsystem, nor require reformatting the entire string as the Clipboard sometimes does. "If you can drive one mile in a minute, shouldn't you be able to walk that in the same amount of time? After all, it's the same length." :) Different operations take different amounts of time. LC makes it easy to forget that, since it does so much of the work for us. Only by following the conversation around various Clipboard bug reports have I been able to begin to approximate an understanding of the complexity of the task. LC is sometimes working really, really hard so we don't have to. If the amount of time needed for that operation is prohibitive for what you need to do, I'm sure we can find an alternative method. Maybe rawClipboardData will handle what you need. Other methods may be available as well. It all depends on what exactly you want to do. Sometimes we can learn by how other apps do that. -- Richard Gaskin Fourth World Systems Tom Glod wrote: > Hi Richard...to copy it from a custom property into a variable takes a > blink of an eye. > > the file is i think 4.5 mb or so. > > takes 14ms seconds to do a md5 hash > > its definitely the slowness of the clipboarddata function. > > On Wed, Aug 15, 2018 at 5:25 PM, Richard Gaskin via use-livecode < > use-livecode at lists.runrev.com> wrote: > >> Tom Glod wrote: >> >> > Hey Peeps... so I'm stress testing a clipboard tool I have been >> > working on .....and copying a large key from the clipboard array into >> > a variable (such as the king james bible from the guttenberg project) >> > takes a really long time. >> >> What is the size? It's been a long time since I worked with that file. >> >> >> > like 3 or 4 seconds ....(for each key) >> > >> > its a large string...but thats crazy. >> > >> > I'm copying from "the clipboarddata" ... not rawdata or fulldata. >> > >> > should i report bug? or is there a legit reason why this is so? >> >> Depends. That's a very rare use case, one not likely optimized for by >> many apps, or even the OS. >> >> So one way to get a feel for whether LC is indeed slow there is to compare >> with another program: >> >> How long does it take to copy with the file is opened in Word? >> And from WordPad? >> Might also get comparisons with any other program you have lying around >> that can be used for that. >> >> -- >> Richard Gaskin From tom at makeshyft.com Wed Aug 15 18:37:45 2018 From: tom at makeshyft.com (Tom Glod) Date: Wed, 15 Aug 2018 18:37:45 -0400 Subject: copying large string from clipboard is slooooooooooooooooooooooooooooow In-Reply-To: References: Message-ID: I understand..thanks for clarifying and responding. I will return and share my further findings on this...... and yes...LC does do alot of hard work for us. On Wed, Aug 15, 2018 at 6:00 PM, Richard Gaskin via use-livecode < use-livecode at lists.runrev.com> wrote: > See Brian's note to get where I was going with that. > > I suggested comparing the speed with other programs because I'm assuming > you're doing this for a worthwhile reason. When we see how other apps > compare with a similar task for their own reasons we begin to see the wide > range of things that can sometimes happen moving lots of data to and from > the system scrap. > > An MD5 hash is not a Clipboard operation. It doesn't need to integrate > with the system's Clipboard subsystem, nor require reformatting the entire > string as the Clipboard sometimes does. > > "If you can drive one mile in a minute, shouldn't you be able to walk that > in the same amount of time? After all, it's the same length." :) > > Different operations take different amounts of time. > > LC makes it easy to forget that, since it does so much of the work for us. > Only by following the conversation around various Clipboard bug reports > have I been able to begin to approximate an understanding of the complexity > of the task. LC is sometimes working really, really hard so we don't have > to. > > If the amount of time needed for that operation is prohibitive for what > you need to do, I'm sure we can find an alternative method. Maybe > rawClipboardData will handle what you need. Other methods may be available > as well. It all depends on what exactly you want to do. Sometimes we can > learn by how other apps do that. > > -- > Richard Gaskin > Fourth World Systems > > > Tom Glod wrote: > > Hi Richard...to copy it from a custom property into a variable takes a >> blink of an eye. >> >> the file is i think 4.5 mb or so. >> >> takes 14ms seconds to do a md5 hash >> >> its definitely the slowness of the clipboarddata function. >> >> On Wed, Aug 15, 2018 at 5:25 PM, Richard Gaskin via use-livecode < >> use-livecode at lists.runrev.com> wrote: >> >> Tom Glod wrote: >>> >>> > Hey Peeps... so I'm stress testing a clipboard tool I have been >>> > working on .....and copying a large key from the clipboard array into >>> > a variable (such as the king james bible from the guttenberg project) >>> > takes a really long time. >>> >>> What is the size? It's been a long time since I worked with that file. >>> >>> >>> > like 3 or 4 seconds ....(for each key) >>> > >>> > its a large string...but thats crazy. >>> > >>> > I'm copying from "the clipboarddata" ... not rawdata or fulldata. >>> > >>> > should i report bug? or is there a legit reason why this is so? >>> >>> Depends. That's a very rare use case, one not likely optimized for by >>> many apps, or even the OS. >>> >>> So one way to get a feel for whether LC is indeed slow there is to >>> compare >>> with another program: >>> >>> How long does it take to copy with the file is opened in Word? >>> And from WordPad? >>> Might also get comparisons with any other program you have lying around >>> that can be used for that. >>> >>> -- >>> Richard Gaskin >>> >> > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From bogdanoff at me.com Wed Aug 15 19:11:21 2018 From: bogdanoff at me.com (Peter Bogdanoff) Date: Wed, 15 Aug 2018 16:11:21 -0700 Subject: scaleFactor In-Reply-To: <9E15CD31-C9B8-44C5-9477-3BDDE16740BF@gmail.com> References: <9E15CD31-C9B8-44C5-9477-3BDDE16740BF@gmail.com> Message-ID: I too am using scaleFactor and ran into this issue of the difficulty of windows moving around and even off screen. It seems that when scaleFactor is invoked the entire screen is now virtual and calculations have to be made to position the window where you want it to be visually. Unfortunately, those exact calculations were beyond me at the time I implemented scaleFactor, so my windows do still move somewhat. But if someone else has a method/formula for window placement I too would be interested. Peter Bogdanoff ArtsInteractive > On Aug 15, 2018, at 3:02 PM, Knapp Martin via use-livecode wrote: > > I know that scaleFactor is not intended to be a "zoom view" feature for desktop, but in lieu of actually having zoom views, I really need to use it to allow the user to enlarge or reduce the window size for a Mac and Windows app I?m working on. What I would like is for it to shrink or grow from the topLeft point on the screen but I can't seem to figure out a way to keep it from jumping around. I would like to have scaleFactors from .5 to 1.5. Anybody tackled this one? > > Thanks, > Marty > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From brian at milby7.com Wed Aug 15 20:26:30 2018 From: brian at milby7.com (Brian Milby) Date: Wed, 15 Aug 2018 19:26:30 -0500 Subject: Data Persistence In-Reply-To: <20180815185737.637835c2@poseidon> References: <20180723185741.0e593aff@poseidon> <20180815185737.637835c2@poseidon> Message-ID: I don?t think you can count on the shutdown message, so you would export on each change. Arrays can use text for the key, so you could make things easier by using loops and field names. Thanks, Brian On Aug 15, 2018, 4:58 PM -0500, John McKenzie via use-livecode , wrote: > > > Hello again, everyone. > > Jacqueline, I enjoyed the fact you shared your story of not > conforming to gender stereotypes with your childhood interests. Find it > sad that science and engineering in general was (is?) considered a boys > thing. > > Feel like I want to inject my two cents worth about software licences > but it is a topic that could derail the list and I know I should not > contribute to that. Know I was OK with and understood the off the cuff > nature of "silly" and definitely do not agree with everything licences > force upon us in modern times. > > > So I continue to ask questions to help with my data persistence > problem on Android. > > While I want to make sure my syntax is correct I firstly need to know > if conceptually what I am doing will work/is correct. > > On my three cards (each records numbers for a different flight) the > fields now all save their info to an array, flightArr[], upon > closeField as suggested by the crowd here on the mailing list. > > I have it set-up so that when I stitch to another app (a phone call > comes in, or I need to look up an airport code using an app, etc) it > saves the info from each field on every card to a text file and upon > opening it repopulates those text fields. This is accomplished using > the handlers on shutdown and on openStack. The change I am going to try > unless told not to in reply to this message is to encode the array into > something and deencode it upon openStack. > > So each field would have put something into the array upon closeField. > > Would it work that upon on shutdown I could just say encode the array > and then upon openStack I deencode the array and have the commands to > populate the appropriate fields with their values from the array that > was just deencoded? > > My array is called flightArr[]. Want to check with all of you that the > syntax I was going to try is correct, although I suppose it does not > matter if conceptually this is a bad idea. This would be on the stack. > > on shutdown > set the defaultFolder to specialFolderPath("cache") > put arrayEncode(flightArr) into theEncodedArray > put theEncodedArray into URL ("binfile:" & theflightArray) > pass shutdown > end shutdown > > on openstack > set the defaultFolder to specialFolderPath("cache") > put URL ("binfile:" & theflightArray) into theEncodedArray > put arrayDecode(theEncodedArray) into flightArr > put flightArr[1] into field flight of card 1 > put flightArr[2] into field sta of card 1 > put flightArr[3] into field ata of card 1 > # Etc, etc, for each text field for each card > end openstack > > I see a few things already that make me think it is unlikely to be > that simple. Also the array probably needs a "[]" after it every time. > So it is probably embarrassingly wrong and I should spend a little more > time reading the dictionary before sending this off but I have to leave > for work in a few minutes. > > Thanks for your help. > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From brian at milby7.com Wed Aug 15 22:44:52 2018 From: brian at milby7.com (Brian Milby) Date: Wed, 15 Aug 2018 21:44:52 -0500 Subject: copying large string from clipboard is slooooooooooooooooooooooooooooow In-Reply-To: References: Message-ID: The problem with the fullClipboardData and clipboardData is that when you ask for a text key type that isn't on the system clipboard, then LiveCode will generate it for you. So if you ask for styled text, first it will just give you styled text from the clipboard. If not available, it will try for RTF and convert. Next it will look for HTML and convert, and finally it will convert plain text to styled text. Converting plain text to styled text involves parsing the text into paragraphs as part of the operation. If you ask for HTMLText, first it will get the StyledText (see above) and then that will get converted to HTML. I just copied part of the text of this email (doing in online in GMail/Chrome on MacOS X). Here's an example of what LiveCode is doing: lock the clipboard;put the keys of the rawClipboardData;unlock the clipboard public.html public.utf8-plain-text (*) put the keys of the fullClipboardData text (*) rtftext htmltext styles styledtext rtf html As you can see from the above, the system clipboard only really has 2 items, but LiveCode reports 7 different types being available. Anything besides text and html will be something that LiveCode has to generate before providing. I also did a copy in Atom (text editor) and executed the same 2 commands. The 2 lines marked with the (*) are all that is reported, however LiveCode will still make the rest of the list available if requested. This is one of the times where understanding what the engine is doing in the background can help you not work against it. [And in the latest version of LiveCode, you can now set the clipboarddata[ "text"] and it will paste everywhere as expected - no automatic conversion to HTMLtext (which is what just about every other program seems to use if available). This also means that you can use ((set the clipboarddata["text"] to the clipboarddata["text"])) to 'clean' the clipboard and remove formatting instead of using an external text editor.] Thanks, Brian On Wed, Aug 15, 2018 at 5:37 PM, Tom Glod via use-livecode < use-livecode at lists.runrev.com> wrote: > I understand..thanks for clarifying and responding. I will return and > share my further findings on this...... and yes...LC does do alot of hard > work for us. > > On Wed, Aug 15, 2018 at 6:00 PM, Richard Gaskin via use-livecode < > use-livecode at lists.runrev.com> wrote: > > > See Brian's note to get where I was going with that. > > > > I suggested comparing the speed with other programs because I'm assuming > > you're doing this for a worthwhile reason. When we see how other apps > > compare with a similar task for their own reasons we begin to see the > wide > > range of things that can sometimes happen moving lots of data to and from > > the system scrap. > > > > An MD5 hash is not a Clipboard operation. It doesn't need to integrate > > with the system's Clipboard subsystem, nor require reformatting the > entire > > string as the Clipboard sometimes does. > > > > "If you can drive one mile in a minute, shouldn't you be able to walk > that > > in the same amount of time? After all, it's the same length." :) > > > > Different operations take different amounts of time. > > > > LC makes it easy to forget that, since it does so much of the work for > us. > > Only by following the conversation around various Clipboard bug reports > > have I been able to begin to approximate an understanding of the > complexity > > of the task. LC is sometimes working really, really hard so we don't > have > > to. > > > > If the amount of time needed for that operation is prohibitive for what > > you need to do, I'm sure we can find an alternative method. Maybe > > rawClipboardData will handle what you need. Other methods may be > available > > as well. It all depends on what exactly you want to do. Sometimes we can > > learn by how other apps do that. > > > > -- > > Richard Gaskin > > Fourth World Systems > > > > > > Tom Glod wrote: > > > > Hi Richard...to copy it from a custom property into a variable takes a > >> blink of an eye. > >> > >> the file is i think 4.5 mb or so. > >> > >> takes 14ms seconds to do a md5 hash > >> > >> its definitely the slowness of the clipboarddata function. > >> > >> On Wed, Aug 15, 2018 at 5:25 PM, Richard Gaskin via use-livecode < > >> use-livecode at lists.runrev.com> wrote: > >> > >> Tom Glod wrote: > >>> > >>> > Hey Peeps... so I'm stress testing a clipboard tool I have been > >>> > working on .....and copying a large key from the clipboard array into > >>> > a variable (such as the king james bible from the guttenberg project) > >>> > takes a really long time. > >>> > >>> What is the size? It's been a long time since I worked with that file. > >>> > >>> > >>> > like 3 or 4 seconds ....(for each key) > >>> > > >>> > its a large string...but thats crazy. > >>> > > >>> > I'm copying from "the clipboarddata" ... not rawdata or fulldata. > >>> > > >>> > should i report bug? or is there a legit reason why this is so? > >>> > >>> Depends. That's a very rare use case, one not likely optimized for by > >>> many apps, or even the OS. > >>> > >>> So one way to get a feel for whether LC is indeed slow there is to > >>> compare > >>> with another program: > >>> > >>> How long does it take to copy with the file is opened in Word? > >>> And from WordPad? > >>> Might also get comparisons with any other program you have lying around > >>> that can be used for that. > >>> > >>> -- > >>> Richard Gaskin > >>> > >> > > _______________________________________________ > > use-livecode mailing list > > use-livecode at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From dvglasgow at gmail.com Thu Aug 16 05:01:02 2018 From: dvglasgow at gmail.com (David V Glasgow) Date: Thu, 16 Aug 2018 10:01:02 +0100 Subject: Memory related crash?? In-Reply-To: References: <5B72D56D.1000206@pair.com> <6e136568-3ea0-f4ad-6658-a4a976c4376a@gmail.com> <1FFFEE75-1C4C-448B-9D06-7BD240ADE5E3@iotecdigital.com> <9b574a74-59d8-aeb0-af4b-255f2405e0ac@hyperactivesw.com> <468f144b-21ce-c6d5-5a8b-3451d2691501@hyperactivesw.com> <9b76521b-a0c4-f1a5-f0a6-b4c2c6688478@sonic.net> Message-ID: In the great tradition of answering your own question. I just tried the identical process in LC7 Loading the text file takes memory up to a similar size as in LC 8.1.10, but the script runs successfully and even repeats for multiple collections of keywords without memory pressure rising at all, and LC memory never rises above 300MB Everything seems brisker, too. Best wishes, David G > On 15 Aug 2018, at 5:46 pm, David V Glasgow wrote: > > but is it me? > > Mac OS 10.12.6, LC 8.1.10 > > I have a 4 card stack which when loaded takes the LC memory to 66MB > I then load a 25MB plain text file into a scrolling field (which takes maybe 20 seconds and shows LC as 'not responding? in Activity Monitor). This take memory to 282MB > I then perform the following script Where the field ?coerckey? is a list of 21 keywords I need to find in the imported text. > > put empty into field "foundlines" > put empty into ttemp > put empty into field "totaliser" > put 1 into ttcount > repeat for each line i in field "coerckey" > put i into field "currentkey" > put field "import" into ttemp > filter lines of ttemp with regex pattern i > put ttemp & return before field "foundlines" > put "??? " & i & " ???" & return before field "foundlines" > filter field "foundlines" without empty > put the number of lines of field "foundlines" -ttcount into field "coerfreq" > put ttcount + 1 into ttcount > end repeat > > It works fine, and at a reasonable lick, but the memory balloons to 2.46 GB, and is never released, even after the handler is done. I have several other similar scripts, and unsurprisingly, after two or three, LC chokes. > > I read somewhere that there was a memory leak in a previous version related to the filter command, although I thought that was something to do with Unicode. > > So is what I see down to me, or LC? > > Best wishes, > > David Glasgow > > From richmondmathewson at gmail.com Thu Aug 16 05:32:06 2018 From: richmondmathewson at gmail.com (Richmond Mathewson) Date: Thu, 16 Aug 2018 12:32:06 +0300 Subject: Not many people know this. Message-ID: So, mucking around as one does during one's Summer holiday I went looking in the documentation of LiveCode (shock, horror) and could NOT find something that had bubbled up in my diseased mind, so I tried it anyway, and . . . Ye Gods! It worked. Possibly I am reinventing the wheel here: set the textFont of word 3 to "Charcoal" This IS incredibly useful when one is typing to Mum in Sanskrit (as one does) and wants to use a variant glyph (as one does continuously) as it allows one to have 2 congruent fonts side-by-side featuring differing variants of standard glyphs. No: I know that that will not make many of you run out into the road madly waving your underpants over your heads shouting "Ra, Ra, Rasputin!", but, notwithstanding . . . it excites me no end. Richmond. From richmondmathewson at gmail.com Thu Aug 16 05:54:44 2018 From: richmondmathewson at gmail.com (Richmond Mathewson) Date: Thu, 16 Aug 2018 12:54:44 +0300 Subject: Not many people know this. In-Reply-To: References: Message-ID: <47dffd5c-b2da-9b20-75b7-2b44f845cf58@gmail.com> In fact, one can "fine tune" this operation to have this sort of effect: put the number of chars in fld "ff" into NF if char NF of fld "ff" = "a" then set the textFont of char NF of fld "ff" to "MonsterMash" else set the textFont of char NF of fld "ff" to "UsualBoring" end if Richmond. On 16/8/2018 12:32 pm, Richmond Mathewson wrote: > So, mucking around as one does during one's Summer holiday I went > looking in the documentation of LiveCode > (shock, horror) and could NOT find something that had bubbled up in my > diseased mind, so I tried it anyway, > and . . . Ye Gods! It worked. > > Possibly I am reinventing the wheel here: > > set the textFont of word 3 to "Charcoal" > > This IS incredibly useful when one is typing to Mum in Sanskrit (as > one does) and wants to > use a variant glyph (as one does continuously) as it allows one to > have 2 congruent fonts > side-by-side featuring differing variants of standard glyphs. > > No: I know that that will not make many of you run out into the road > madly waving your > underpants over your heads shouting "Ra, Ra, Rasputin!", but, > notwithstanding . . . it excites me > no end. > > Richmond. From richmondmathewson at gmail.com Thu Aug 16 06:43:21 2018 From: richmondmathewson at gmail.com (Richmond Mathewson) Date: Thu, 16 Aug 2018 13:43:21 +0300 Subject: Not many people know this. In-Reply-To: <47dffd5c-b2da-9b20-75b7-2b44f845cf58@gmail.com> References: <47dffd5c-b2da-9b20-75b7-2b44f845cf58@gmail.com> Message-ID: <348cbf5d-8c20-2bdd-635a-5af68a94bf24@gmail.com> *Mucking around further, I discovered one can set the textFont for ** **a char that does NOT exist, this is extremely useful insofar as ** **one does not have to populate 100s of buttons with "corrective" code:** ** **on mouseUp** ** put "x" after fld "ff"** ** put the number of chars in fld "ff" into NF** ** set the textFont of char NF of fld "ff" to "MonsterMash"** **set the textFont of char (NF+1) of fld "ff" to "BoringGuff"** **end mouseUp* * **Richmond.* From hakan at exformedia.se Thu Aug 16 06:50:17 2018 From: hakan at exformedia.se (hakan at exformedia.se) Date: Thu, 16 Aug 2018 12:50:17 +0200 Subject: scaleFactor In-Reply-To: References: <9E15CD31-C9B8-44C5-9477-3BDDE16740BF@gmail.com> Message-ID: <91f70ac1-4eab-4b83-b79c-7d91d61a2b70@Spark> As the screenrect is the same but virtually larger / smaller based on the scaleFactor you need calculate the scale factor based on the current scaleFactor and the new scaleFactor Try this: on?changeScaleFactor?pNewScale ? ?put the scaleFactor of this stack into tScale ? ?put tScale /?pNewScale?into tFactor ? ?put the topLeft of this stack into tTL ? ?multiply item 1 of tTL by tFactor ? ?multiply item 2 of tTl by tFactor ? ?set the scaleFactor of this stack to pNewScale ? ?set the topLeft of this stack to tTL end changeScaleFactor Of course you can substitute topLeft with something else if you want another corner or the center to be the fix point. :-H?kan On 16 Aug 2018, 01:11 +0200, Peter Bogdanoff via use-livecode , wrote: > I too am using scaleFactor and ran into this issue of the difficulty of windows moving around and even off screen. It seems that when scaleFactor is invoked the entire screen is now virtual and calculations have to be made to position the window where you want it to be visually. Unfortunately, those exact calculations were beyond me at the time I implemented scaleFactor, so my windows do still move somewhat. But if someone else has a method/formula for window placement I too would be interested. > > Peter Bogdanoff > ArtsInteractive > > > > On Aug 15, 2018, at 3:02 PM, Knapp Martin via use-livecode wrote: > > > > I know that scaleFactor is not intended to be a "zoom view" feature for desktop, but in lieu of actually having zoom views, I really need to use it to allow the user to enlarge or reduce the window size for a Mac and Windows app I?m working on. What I would like is for it to shrink or grow from the topLeft point on the screen but I can't seem to figure out a way to keep it from jumping around. I would like to have scaleFactors from .5 to 1.5. Anybody tackled this one? > > > > Thanks, > > Marty > > _______________________________________________ > > use-livecode mailing list > > use-livecode at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From tom at makeshyft.com Thu Aug 16 09:30:26 2018 From: tom at makeshyft.com (Tom Glod) Date: Thu, 16 Aug 2018 09:30:26 -0400 Subject: copying large string from clipboard is slooooooooooooooooooooooooooooow In-Reply-To: References: Message-ID: Brian, I appreciate the in-depth explanation ..... i have to put a stack together that shows the bug i ran into when working with rawclipboarddata..... i will give it another go...i really hope it was my code...... but its unlikely since it was just a loop that loads each key. thanks again. On Wed, Aug 15, 2018 at 10:44 PM, Brian Milby via use-livecode < use-livecode at lists.runrev.com> wrote: > The problem with the fullClipboardData and clipboardData is that when you > ask for a text key type that isn't on the system clipboard, then LiveCode > will generate it for you. > > So if you ask for styled text, first it will just give you styled text from > the clipboard. If not available, it will try for RTF and convert. Next it > will look for HTML and convert, and finally it will convert plain text to > styled text. Converting plain text to styled text involves parsing the > text into paragraphs as part of the operation. > > If you ask for HTMLText, first it will get the StyledText (see above) and > then that will get converted to HTML. > > I just copied part of the text of this email (doing in online in > GMail/Chrome on MacOS X). Here's an example of what LiveCode is doing: > > lock the clipboard;put the keys of the rawClipboardData;unlock the > clipboard > public.html > public.utf8-plain-text (*) > > put the keys of the fullClipboardData > text (*) > rtftext > htmltext > styles > styledtext > rtf > html > > > As you can see from the above, the system clipboard only really has 2 > items, but LiveCode reports 7 different types being available. Anything > besides text and html will be something that LiveCode has to generate > before providing. I also did a copy in Atom (text editor) and executed the > same 2 commands. The 2 lines marked with the (*) are all that is reported, > however LiveCode will still make the rest of the list available if > requested. > > This is one of the times where understanding what the engine is doing in > the background can help you not work against it. > > [And in the latest version of LiveCode, you can now set the clipboarddata[ > "text"] and it will paste everywhere as expected - no automatic conversion > to HTMLtext (which is what just about every other program seems to use if > available). This also means that you can use ((set the > clipboarddata["text"] to the clipboarddata["text"])) to 'clean' the > clipboard and remove formatting instead of using an external text editor.] > > Thanks, > Brian > > On Wed, Aug 15, 2018 at 5:37 PM, Tom Glod via use-livecode < > use-livecode at lists.runrev.com> wrote: > > > I understand..thanks for clarifying and responding. I will return and > > share my further findings on this...... and yes...LC does do alot of hard > > work for us. > > > > On Wed, Aug 15, 2018 at 6:00 PM, Richard Gaskin via use-livecode < > > use-livecode at lists.runrev.com> wrote: > > > > > See Brian's note to get where I was going with that. > > > > > > I suggested comparing the speed with other programs because I'm > assuming > > > you're doing this for a worthwhile reason. When we see how other apps > > > compare with a similar task for their own reasons we begin to see the > > wide > > > range of things that can sometimes happen moving lots of data to and > from > > > the system scrap. > > > > > > An MD5 hash is not a Clipboard operation. It doesn't need to integrate > > > with the system's Clipboard subsystem, nor require reformatting the > > entire > > > string as the Clipboard sometimes does. > > > > > > "If you can drive one mile in a minute, shouldn't you be able to walk > > that > > > in the same amount of time? After all, it's the same length." :) > > > > > > Different operations take different amounts of time. > > > > > > LC makes it easy to forget that, since it does so much of the work for > > us. > > > Only by following the conversation around various Clipboard bug reports > > > have I been able to begin to approximate an understanding of the > > complexity > > > of the task. LC is sometimes working really, really hard so we don't > > have > > > to. > > > > > > If the amount of time needed for that operation is prohibitive for what > > > you need to do, I'm sure we can find an alternative method. Maybe > > > rawClipboardData will handle what you need. Other methods may be > > available > > > as well. It all depends on what exactly you want to do. Sometimes we > can > > > learn by how other apps do that. > > > > > > -- > > > Richard Gaskin > > > Fourth World Systems > > > > > > > > > Tom Glod wrote: > > > > > > Hi Richard...to copy it from a custom property into a variable takes a > > >> blink of an eye. > > >> > > >> the file is i think 4.5 mb or so. > > >> > > >> takes 14ms seconds to do a md5 hash > > >> > > >> its definitely the slowness of the clipboarddata function. > > >> > > >> On Wed, Aug 15, 2018 at 5:25 PM, Richard Gaskin via use-livecode < > > >> use-livecode at lists.runrev.com> wrote: > > >> > > >> Tom Glod wrote: > > >>> > > >>> > Hey Peeps... so I'm stress testing a clipboard tool I have been > > >>> > working on .....and copying a large key from the clipboard array > into > > >>> > a variable (such as the king james bible from the guttenberg > project) > > >>> > takes a really long time. > > >>> > > >>> What is the size? It's been a long time since I worked with that > file. > > >>> > > >>> > > >>> > like 3 or 4 seconds ....(for each key) > > >>> > > > >>> > its a large string...but thats crazy. > > >>> > > > >>> > I'm copying from "the clipboarddata" ... not rawdata or fulldata. > > >>> > > > >>> > should i report bug? or is there a legit reason why this is so? > > >>> > > >>> Depends. That's a very rare use case, one not likely optimized for > by > > >>> many apps, or even the OS. > > >>> > > >>> So one way to get a feel for whether LC is indeed slow there is to > > >>> compare > > >>> with another program: > > >>> > > >>> How long does it take to copy with the file is opened in Word? > > >>> And from WordPad? > > >>> Might also get comparisons with any other program you have lying > around > > >>> that can be used for that. > > >>> > > >>> -- > > >>> Richard Gaskin > > >>> > > >> > > > _______________________________________________ > > > use-livecode mailing list > > > use-livecode at 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 at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From tom at makeshyft.com Thu Aug 16 09:34:38 2018 From: tom at makeshyft.com (Tom Glod) Date: Thu, 16 Aug 2018 09:34:38 -0400 Subject: Not many people know this. In-Reply-To: <348cbf5d-8c20-2bdd-635a-5af68a94bf24@gmail.com> References: <47dffd5c-b2da-9b20-75b7-2b44f845cf58@gmail.com> <348cbf5d-8c20-2bdd-635a-5af68a94bf24@gmail.com> Message-ID: u r right...did not know this ...cool trick..... ..so if i want a fontawesome icon at the beginning of a paragraph..... i can do that and not use imagesource. great tip. On Thu, Aug 16, 2018 at 6:43 AM, Richmond Mathewson via use-livecode < use-livecode at lists.runrev.com> wrote: > *Mucking around further, I discovered one can set the textFont for ** > **a char that does NOT exist, this is extremely useful insofar as ** > **one does not have to populate 100s of buttons with "corrective" code:** > ** > **on mouseUp** > ** put "x" after fld "ff"** > ** put the number of chars in fld "ff" into NF** > ** set the textFont of char NF of fld "ff" to "MonsterMash"** > **set the textFont of char (NF+1) of fld "ff" to "BoringGuff"** > **end mouseUp* > * > **Richmond.* > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From brahma at hindu.org Thu Aug 16 10:03:05 2018 From: brahma at hindu.org (Sannyasin Brahmanathaswami) Date: Thu, 16 Aug 2018 14:03:05 +0000 Subject: Cropping a referenced image References: <40DA49BD-F91E-4051-A3E9-72BD7C6A0189@major-k.de> <0EB8A748-9637-49F1-ADBD-740DAA9DA5F0@iotecdigital.com> <5FEB3937-DC75-4C78-AD88-ADB252E8AB2E@iotecdigital.com> Message-ID: Yes I thank "Livecode" but really should thank Trevor for the code (Datagrid) behind my little handler. Suddenly going from dBase-query --> lcArray --> to a form with multiple controls became easy. I just hope it scrolls smoothly on Mobile (have yet to test it). On 8/15/18 6:57 AM, Trevor DeVore via use-livecode wrote: We all asked for a table object that worked much like a spreadsheet, and we got something much, much cooler, thanks to the work Trevor did. Greatly appreciated Trevor! Prior to the datagrid, I would be hard pressed to write any kind of database application. You?re welcome Bob :-) From bobsneidar at iotecdigital.com Thu Aug 16 10:43:13 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Thu, 16 Aug 2018 14:43:13 +0000 Subject: Data Persistence In-Reply-To: References: <20180723185741.0e593aff@poseidon> <20180815185737.637835c2@poseidon> Message-ID: <059F5288-4244-498D-87B3-FED97CF70211@iotecdigital.com> This is right. I do a similar thing, but I have a command I wrote that gets all the objects on a card, excluding groups and fields that are in a datagrid, then loops through each one for a property I set in them indicating the array key I want to populate the field with. This way I can load data from a database as an array, then populate all the fields on a card with the data from that array, simply by virtue of adding a property to each field I want to populate. This command I have, I call it populateForm, also populates buttons and popup menus (which are actually buttons). A checkbox for instance can be populated with one of the values, true, yes or 1. (yes because that is the default value returned by a PDF fillable form when one of it's checkboxes is checked). Bob S > On Aug 15, 2018, at 17:26 , Brian Milby via use-livecode wrote: > >> on openstack >> set the defaultFolder to specialFolderPath("cache") >> put URL ("binfile:" & theflightArray) into theEncodedArray >> put arrayDecode(theEncodedArray) into flightArr >> put flightArr[1] into field flight of card 1 >> put flightArr[2] into field sta of card 1 >> put flightArr[3] into field ata of card 1 >> # Etc, etc, for each text field for each card >> end openstack >> >> I see a few things already that make me think it is unlikely to be >> that simple. Also the array probably needs a "[]" after it every time. >> So it is probably embarrassingly wrong and I should spend a little more >> time reading the dictionary before sending this off but I have to leave >> for work in a few minutes. >> >> Thanks for your help. From bobsneidar at iotecdigital.com Thu Aug 16 10:46:42 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Thu, 16 Aug 2018 14:46:42 +0000 Subject: copying large string from clipboard is slooooooooooooooooooooooooooooow In-Reply-To: References: Message-ID: <00E4AF7D-0B45-49EB-8D89-6A8999D5EA3F@iotecdigital.com> Oh no kidding! I didn't realize that! I thought the clipboard created ALL the key types when it imported, but it makes more sense (more efficient) doing it on the fly. Bob S > On Aug 15, 2018, at 19:44 , Brian Milby via use-livecode wrote: > > As you can see from the above, the system clipboard only really has 2 > items, but LiveCode reports 7 different types being available. Anything > besides text and html will be something that LiveCode has to generate > before providing. I also did a copy in Atom (text editor) and executed the > same 2 commands. The 2 lines marked with the (*) are all that is reported, > however LiveCode will still make the rest of the list available if > requested. From livfoss at mac.com Thu Aug 16 10:46:54 2018 From: livfoss at mac.com (Graham Samuel) Date: Thu, 16 Aug 2018 16:46:54 +0200 Subject: Bluetooth detection and use? Message-ID: <979FEE68-297B-4B66-B8C4-21C2E4C448F5@mac.com> After a long long interval of not really coding anything, I?m thinking of a cross-platform app that uses Bluetooth devices. I see that mergNIC can tell me if my iOS has something connected via Bluetooth, but that raises a lot more questions than it answers, such as ?what kind of device have we here?? and ?oops, I?m on Android/ Mac/ PC, now what??, and ?glad we?re connected, how do we actually read some data?" Is anyone out there using Bluetooth, or is it not a suitable thing to mix with LC? TIA Graham From bobsneidar at iotecdigital.com Thu Aug 16 10:48:35 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Thu, 16 Aug 2018 14:48:35 +0000 Subject: Not many people know this. In-Reply-To: References: Message-ID: <7B705E43-8A66-4213-BE6A-326942EF8CFB@iotecdigital.com> I thought I had the last tape of me doing that destroyed! DAMN YOU RASPUTIN!!!!!!! Bob S > On Aug 16, 2018, at 02:32 , Richmond Mathewson via use-livecode wrote: > > No: I know that that will not make many of you run out into the road madly waving your > underpants over your heads shouting "Ra, Ra, Rasputin!", but, notwithstanding . . . it excites me > no end. > > Richmond. From brian at milby7.com Thu Aug 16 10:50:58 2018 From: brian at milby7.com (Brian Milby) Date: Thu, 16 Aug 2018 09:50:58 -0500 Subject: copying large string from clipboard is slooooooooooooooooooooooooooooow In-Reply-To: <00E4AF7D-0B45-49EB-8D89-6A8999D5EA3F@iotecdigital.com> References: <00E4AF7D-0B45-49EB-8D89-6A8999D5EA3F@iotecdigital.com> Message-ID: Correct - when importing from the system clipboard they are created as needed. When a copy is done inside LC, then all the variants are created and placed on the system clipboard (which is what caused the plain text paste problem originally). Thanks, Brian On Aug 16, 2018, 9:47 AM -0500, Bob Sneidar via use-livecode , wrote: > Oh no kidding! I didn't realize that! I thought the clipboard created ALL the key types when it imported, but it makes more sense (more efficient) doing it on the fly. > > Bob S > > > > On Aug 15, 2018, at 19:44 , Brian Milby via use-livecode wrote: > > > > As you can see from the above, the system clipboard only really has 2 > > items, but LiveCode reports 7 different types being available. Anything > > besides text and html will be something that LiveCode has to generate > > before providing. I also did a copy in Atom (text editor) and executed the > > same 2 commands. The 2 lines marked with the (*) are all that is reported, > > however LiveCode will still make the rest of the list available if > > requested. > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From bobsneidar at iotecdigital.com Thu Aug 16 10:57:19 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Thu, 16 Aug 2018 14:57:19 +0000 Subject: Cropping a referenced image In-Reply-To: References: <40DA49BD-F91E-4051-A3E9-72BD7C6A0189@major-k.de> <0EB8A748-9637-49F1-ADBD-740DAA9DA5F0@iotecdigital.com> <5FEB3937-DC75-4C78-AD88-ADB252E8AB2E@iotecdigital.com> Message-ID: If you want it to be even easier, get Trevor's sqlYoga! It's a bit of a learning curve, but the benefits are substantial. Virtually everything about connecting and querying a SQL database can be saved as a property of a button (called the dbObject). Even common queries that you use a lot, and relations between tables can be saved. And the data can be returned as tab delimited table style text or as arrays. The arrays are the same format as the ones that datagrids use, so it's a simple matter of setting the dgData of a datagrid to what sqlYoga returns. Bob S > On Aug 16, 2018, at 07:03 , Sannyasin Brahmanathaswami via use-livecode wrote: > > Yes I thank "Livecode" but really should thank Trevor for the code (Datagrid) behind my little handler. Suddenly going from dBase-query --> lcArray --> to a form with multiple controls became easy. > > I just hope it scrolls smoothly on Mobile (have yet to test it). From mark at livecode.com Thu Aug 16 11:11:45 2018 From: mark at livecode.com (Mark Waddingham) Date: Thu, 16 Aug 2018 17:11:45 +0200 Subject: Not many people know this. In-Reply-To: References: Message-ID: On 2018-08-16 11:32, Richmond Mathewson via use-livecode wrote: > Possibly I am reinventing the wheel here: > > set the textFont of word 3 to "Charcoal" > > This IS incredibly useful when one is typing to Mum in Sanskrit (as > one does) and wants to > use a variant glyph (as one does continuously) as it allows one to > have 2 congruent fonts > side-by-side featuring differing variants of standard glyphs. Indeed! All characters in a field can have a distinct textFont, textStyle and textSize (and a number of other properties - they are called 'char level styles' - in the docs you can see the ones which are which show an example which is 'the ... of char of field' IIRC). If such a char level property is empty for a given char, then it inherits from the field. This has 'always been the case' - the only difference to it in the last 10 years is when we made it so textFont/textSize and textStyle independent. Previously, if you set one at the char level - all three would be set. Warmest Regards, Mark. P.S. The engine doesn't actually store things per-char - but in runs - i.e. if the complete set of properties for char N ... N+M are identical, then it stores that information. This reduces the overhead of the per-char styles to when they are used, rather than universally. -- Mark Waddingham ~ mark at livecode.com ~ http://www.livecode.com/ LiveCode: Everyone can create apps From chipsm at themartinz.com Thu Aug 16 11:17:54 2018 From: chipsm at themartinz.com (chipsm at themartinz.com) Date: Thu, 16 Aug 2018 08:17:54 -0700 Subject: Not many people know this. In-Reply-To: References: Message-ID: <036601d43574$4e64bbd0$eb2e3370$@themartinz.com> So, is this the same thing as the "paragraph" property? I find that this is also super useful. Sincerely, Clarence Martin Email: Chipsm at themartinz.com Cell: 626 696-5561 -----Original Message----- From: use-livecode On Behalf Of Mark Waddingham via use-livecode Sent: Thursday, August 16, 2018 8:12 AM To: How to use LiveCode Cc: Mark Waddingham Subject: Re: Not many people know this. On 2018-08-16 11:32, Richmond Mathewson via use-livecode wrote: > Possibly I am reinventing the wheel here: > > set the textFont of word 3 to "Charcoal" > > This IS incredibly useful when one is typing to Mum in Sanskrit (as > one does) and wants to use a variant glyph (as one does continuously) > as it allows one to have 2 congruent fonts side-by-side featuring > differing variants of standard glyphs. Indeed! All characters in a field can have a distinct textFont, textStyle and textSize (and a number of other properties - they are called 'char level styles' - in the docs you can see the ones which are which show an example which is 'the ... of char of field' IIRC). If such a char level property is empty for a given char, then it inherits from the field. This has 'always been the case' - the only difference to it in the last 10 years is when we made it so textFont/textSize and textStyle independent. Previously, if you set one at the char level - all three would be set. Warmest Regards, Mark. P.S. The engine doesn't actually store things per-char - but in runs - i.e. if the complete set of properties for char N ... N+M are identical, then it stores that information. This reduces the overhead of the per-char styles to when they are used, rather than universally. -- Mark Waddingham ~ mark at livecode.com ~ http://www.livecode.com/ LiveCode: Everyone can create apps _______________________________________________ use-livecode mailing list use-livecode at lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode From ambassador at fourthworld.com Thu Aug 16 13:48:48 2018 From: ambassador at fourthworld.com (Richard Gaskin) Date: Thu, 16 Aug 2018 10:48:48 -0700 Subject: Not many people know this. In-Reply-To: <036601d43574$4e64bbd0$eb2e3370$@themartinz.com> References: <036601d43574$4e64bbd0$eb2e3370$@themartinz.com> Message-ID: Clarence wrote: > So, is this the same thing as the "paragraph" property? I find that > this is also super useful. Related, but different enough to draw attention to. AFAIK all xTalks have supported styled text. It may be that HC 1.0 only provided that for the whole field (I can't recall), but if so it wasn't long before it joined the other xTalks in allowing us to assign style attributes like textFont, textSize, and textStyle using chunk expressions so we can apply them to lines, words, and characters. Paragraph-level formatting opens up wholly new opportunities, beyond any xTalk I've ever seen. I'm not sure if this info has been incorporated into the docs system yet, but the Release Notes for v5.5 offer a solid overview of the new field features (starting on p12), most of which are paragraph-level properties like indent, border, padding, etc. (p19), along with the wonderfully efficient styledText array representation of field contents ([p16) and super-useful indented lists a la HTML and word processors (p18): https://downloads.livecode.com/livecode/5_5_4/LiveCodeNotes-5_5_4.pdf With these features you can add very satisfying word processing features to your desktop apps. -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ____________________________________________________________________ Ambassador at FourthWorld.com http://www.FourthWorld.com From mark at livecode.com Thu Aug 16 14:21:02 2018 From: mark at livecode.com (Mark Waddingham) Date: Thu, 16 Aug 2018 20:21:02 +0200 Subject: Not many people know this. In-Reply-To: References: <036601d43574$4e64bbd0$eb2e3370$@themartinz.com> Message-ID: On 2018-08-16 19:48, Richard Gaskin via use-livecode wrote: > I'm not sure if this info has been incorporated into the docs system > yet, but the Release Notes for v5.5 offer a solid overview of the new > field features (starting on p12), most of which are paragraph-level > properties like indent, border, padding, etc. (p19), along with the > wonderfully efficient styledText array representation of field > contents ([p16) and super-useful indented lists a la HTML and word > processors (p18): > https://downloads.livecode.com/livecode/5_5_4/LiveCodeNotes-5_5_4.pdf I think all the relevant props and such are in the dictionary - even the styledText property. However, it is perhaps not the clearest description of the latter - so any suggestions on how to improve that would be most welcome. (As it uses a hierarchical array value - and quite a 'complex' one, relatively speaking - it is quite 'new' in terms of how it works compared to older properties; as such we perhaps haven't found the best way to explain it!). In response to Clarence's question - paragraph when applied to a field is a synonym to line. There are two types of style properties - paragraph (line) level and char level. These are all distinct apart from one - metadata. If you set a char style of a paragraph/line then it is equivalent to char 1 to -1 of line. e.g. set the textFont of line 1 of field 1 to "Geneva" <=> set the textFont of char 1 to -1 of line 1 of field 1 If you set the paragraph style of a char then it is equivalent to line (the lineIndex of char) of field: set the spaceAbove of char 3 of field 1 to 10 <=> set the spaceAbove of line (the lineIndex of char 3 of field 1) to 10 [ Note: 'the lineIndex of ' gives the index of the line chunk the start of is in, and the 'charIndex of ' gives the index of the char the start of is in. ] The exception to the above to rules (as mentioned above) is 'the metadata' property - with that property you can *either* set at the line level, or the char level or both: set the metadata of line 3 of field 1 to "Hello World!" set the metadata of char 3 of line 3 of field 1 to "Goodbye World!" Will result in "Hello World!" being applied to the line, and "Goodbye World!" being applied to char 3 of the line - i.e. neither clobbers the other, and you need to use the same kind of chunk reference to fetch the value back. Warmest Regards, Mark. P.S. You can largely thank Trevor for the above additions, in particular the styledText and metadata - in terms of providing use-cases which led to their design and implementation. P.P.S. I won't necessarily thank him for the loss of hair that resulted in actually implementing them in the field object itself. There's a good reason we treat that particular 10,000 odd lines of code with a great deal of care and respect - it really doesn't like being touched very much! -- Mark Waddingham ~ mark at livecode.com ~ http://www.livecode.com/ LiveCode: Everyone can create apps From devin_asay at byu.edu Thu Aug 16 14:38:07 2018 From: devin_asay at byu.edu (Devin Asay) Date: Thu, 16 Aug 2018 18:38:07 +0000 Subject: Not many people know this. In-Reply-To: References: <036601d43574$4e64bbd0$eb2e3370$@themartinz.com> Message-ID: On Aug 16, 2018, at 11:48 AM, Richard Gaskin via use-livecode > wrote: Paragraph-level formatting opens up wholly new opportunities, beyond any xTalk I've ever seen. I'm not sure if this info has been incorporated into the docs system yet, but the Release Notes for v5.5 offer a solid overview of the new field features (starting on p12), most of which are paragraph-level properties like indent, border, padding, etc. (p19), along with the wonderfully efficient styledText array representation of field contents ([p16) and super-useful indented lists a la HTML and word processors (p18): https://downloads.livecode.com/livecode/5_5_4/LiveCodeNotes-5_5_4.pdf When I revised the htmlText property entry in the dictionary a couple of years ago, I incorporated all of the changes to the paragraph

tag, which included all of the new paragraph level properties. That?s the only place in the dictionary I can think of where a discussion of all of the p-level properties together is appropriate. What is still left to be done is to update all of the entries for the individual properties that were field-level props only before v. 5.5. While the syntax statements have all been updated, there is no note in the entries of when they were changed to become p-level. I wish I had the time now, but my LC time has been severely reduced by my duties at work the last couple of years. Dictionary editing is a great way for community members to contribute to the LC project, and the barrier to entry is much lower than trying to learn enough C code to work on the LC engine. It requires attention to detail, but otherwise is kind of fun and not difficult. Cheers, Devin Devin Asay Director Office of Digital Humanities Brigham Young University From richmondmathewson at gmail.com Thu Aug 16 15:01:49 2018 From: richmondmathewson at gmail.com (Richmond Mathewson) Date: Thu, 16 Aug 2018 22:01:49 +0300 Subject: Not many people know this. In-Reply-To: <348cbf5d-8c20-2bdd-635a-5af68a94bf24@gmail.com> References: <47dffd5c-b2da-9b20-75b7-2b44f845cf58@gmail.com> <348cbf5d-8c20-2bdd-635a-5af68a94bf24@gmail.com> Message-ID: Of course it was too good to last . . . I merrily filled a field up with a series of letters from 2 different fonts and then did this: * **set the text of fld "f2" to the text of fld "f1"* and all my font stuff disappeared and everything ended up in the textFont of field "f2". So . . . The *BIG QUESTION* is how to retain one's "cocktail" of fonts when taking some text from one field into another one. Richmond. From devin_asay at byu.edu Thu Aug 16 15:03:50 2018 From: devin_asay at byu.edu (Devin Asay) Date: Thu, 16 Aug 2018 19:03:50 +0000 Subject: Not many people know this. In-Reply-To: References: <47dffd5c-b2da-9b20-75b7-2b44f845cf58@gmail.com> <348cbf5d-8c20-2bdd-635a-5af68a94bf24@gmail.com> Message-ID: <351A5F04-04B5-4435-85D0-C044097519DD@byu.edu> On Aug 16, 2018, at 1:01 PM, Richmond Mathewson via use-livecode > wrote: Of course it was too good to last . . . I merrily filled a field up with a series of letters from 2 different fonts and then did this: * **set the text of fld "f2" to the text of fld "f1"* and all my font stuff disappeared and everything ended up in the textFont of field "f2". So . . . The *BIG QUESTION* is how to retain one's "cocktail" of fonts when taking some text from one field into another one. ================ The htmlText or rtfText properties should retain all formatting: set the htmlText of fld ?f2? to the htmlText of fld ?f2? HTH, Devin Devin Asay Director Office of Digital Humanities Brigham Young University From benr_mc at cogapp.com Thu Aug 16 15:49:06 2018 From: benr_mc at cogapp.com (Ben Rubinstein) Date: Thu, 16 Aug 2018 20:49:06 +0100 Subject: Not many people know this. In-Reply-To: References: <036601d43574$4e64bbd0$eb2e3370$@themartinz.com> Message-ID: <30fe3f50-7efa-ae50-7632-30705a36b356@cogapp.com> Sorry, did somebody just give me an excuse to indulge in nostalgia? On 16/08/2018 18:48, Richard Gaskin via use-livecode wrote: > AFAIK all xTalks have supported styled text.? It may be that HC 1.0 only > provided that for the whole field (I can't recall), It was definitely the case that HC 1.0 only supported one style per field; and I know this is so because when the Design Museum opened in London in 1989, it featured an interactive guide to its permanent collection on half-a-dozen Mac SEs. We made the collection guide in HyperCard, and it featured hyperlinks which we wanted to be in bold: https://www.dropbox.com/s/rj6zuxo1u5l2bfn/DM01_tudyCollRichSapper.jpg There was a simple CMS mode for editing the text and defining links; when the user saved changes, it invoked a layout mode which wrapped the text around an image (i.e. we had two fields and split the text between them) and also made the links. But there was no facility for bold text; and none of the functions which can now be used to figure out where on the card a character in a field has been drawn existed then. The solution we adopted, which could _possibly_ be described as overkill, was to use an XCMD we'd already made which could grab a screenshot and store it in the stack as an icon resource; and add a new one which could compare two icons. So when the code wanted to make a word bold, it made its best guess as to where the word that was to be linked would be on the card; took a screenshot centered on that position; then created a small field with the word (that would also act as a button for the link); and placed it at that location. Then it could take another screenshot and compare it to the base one without the link field: if the location was just right, the two would be the same, and it just needed to nudge the field one pixel to the right to make it a bold hyperlink. If the two were different, it moved the field in a spiral around the point, one pixel at a time, and taking another screenshot each step, until it finally found the correct spot. If after moving the field some hundreds of times it was unable to locate the perfect point, it played a sound sample "Please help by moving the word" and made the field track the mouse until the user clicked to indicate it was just right. It is arguable whether the time spent creating this solution to make the layout process nearly automatic was actually less than the time saved by not requiring a more manual process. But I felt it was a triumph all the same! I'm going to ask Nurse to bring my nightcap now. Ben From martyknappster at gmail.com Thu Aug 16 16:05:01 2018 From: martyknappster at gmail.com (Knapp Martin) Date: Thu, 16 Aug 2018 13:05:01 -0700 Subject: scaleFactor In-Reply-To: <91f70ac1-4eab-4b83-b79c-7d91d61a2b70@Spark> References: <9E15CD31-C9B8-44C5-9477-3BDDE16740BF@gmail.com> <91f70ac1-4eab-4b83-b79c-7d91d61a2b70@Spark> Message-ID: <9FD1F94B-ADC9-4502-9A61-1BBCDC1FCE04@gmail.com> Thank you! Works great. > On Aug 16, 2018, at 3:50 AM, H?kan Liljegren via use-livecode wrote: > > As the screenrect is the same but virtually larger / smaller based on the scaleFactor you need calculate the scale factor based on the current scaleFactor and the new scaleFactor > > Try this: > on changeScaleFactor pNewScale > put the scaleFactor of this stack into tScale > put tScale / pNewScale into tFactor > put the topLeft of this stack into tTL > multiply item 1 of tTL by tFactor > multiply item 2 of tTl by tFactor > set the scaleFactor of this stack to pNewScale > set the topLeft of this stack to tTL > end changeScaleFactor > > Of course you can substitute topLeft with something else if you want another corner or the center to be the fix point. > > :-H?kan > On 16 Aug 2018, 01:11 +0200, Peter Bogdanoff via use-livecode , wrote: >> I too am using scaleFactor and ran into this issue of the difficulty of windows moving around and even off screen. It seems that when scaleFactor is invoked the entire screen is now virtual and calculations have to be made to position the window where you want it to be visually. Unfortunately, those exact calculations were beyond me at the time I implemented scaleFactor, so my windows do still move somewhat. But if someone else has a method/formula for window placement I too would be interested. >> >> Peter Bogdanoff >> ArtsInteractive >> >> >>> On Aug 15, 2018, at 3:02 PM, Knapp Martin via use-livecode wrote: >>> >>> I know that scaleFactor is not intended to be a "zoom view" feature for desktop, but in lieu of actually having zoom views, I really need to use it to allow the user to enlarge or reduce the window size for a Mac and Windows app I?m working on. What I would like is for it to shrink or grow from the topLeft point on the screen but I can't seem to figure out a way to keep it from jumping around. I would like to have scaleFactors from .5 to 1.5. Anybody tackled this one? >>> >>> Thanks, >>> Marty From chipsm at themartinz.com Thu Aug 16 16:07:50 2018 From: chipsm at themartinz.com (chipsm at themartinz.com) Date: Thu, 16 Aug 2018 13:07:50 -0700 Subject: Not many people know this. In-Reply-To: References: <036601d43574$4e64bbd0$eb2e3370$@themartinz.com> Message-ID: <043601d4359c$cf30f710$6d92e530$@themartinz.com> I found this Paragraph Property because of Peter Haworth's LCStackBrowser Plugin. I have had problems using LCStackBrowser as of late - since version 8x.x. I think the problem actually stems from the Behavior Scripts in LCStackBrowser and conflicts with the AutoComplete behaviors - I'm not sure just speculating. I think that Peter has been frustrated getting Support to help solve the problems. I was hoping the Navigator was able to show the "Paragraph" properties, but no. Peter, if your listening: I have a work around for using LCStackBrowser- I don't auto load the plugin. I load other plugins next -actually I auto load Navigator. Then I load LCStackBrowser. Why do I do it? : I find that Geoff Canyon's Navigator to be an excellent tool. But there are things that LCStackBrowser does also. I like the idea of being able to save versions of the application you are building via LCStackBrowser among several other features. I would like to see a conglomeration of the two plugins (hint hint). I am exhausted now! Sincerely, Clarence Martin Email: Chipsm at themartinz.com Cell: 626 696-5561 -----Original Message----- From: use-livecode On Behalf Of Richard Gaskin via use-livecode Sent: Thursday, August 16, 2018 10:49 AM To: use-livecode at lists.runrev.com Cc: Richard Gaskin Subject: Re: Not many people know this. Clarence wrote: > So, is this the same thing as the "paragraph" property? I find that > this is also super useful. Related, but different enough to draw attention to. AFAIK all xTalks have supported styled text. It may be that HC 1.0 only provided that for the whole field (I can't recall), but if so it wasn't long before it joined the other xTalks in allowing us to assign style attributes like textFont, textSize, and textStyle using chunk expressions so we can apply them to lines, words, and characters. Paragraph-level formatting opens up wholly new opportunities, beyond any xTalk I've ever seen. I'm not sure if this info has been incorporated into the docs system yet, but the Release Notes for v5.5 offer a solid overview of the new field features (starting on p12), most of which are paragraph-level properties like indent, border, padding, etc. (p19), along with the wonderfully efficient styledText array representation of field contents ([p16) and super-useful indented lists a la HTML and word processors (p18): https://downloads.livecode.com/livecode/5_5_4/LiveCodeNotes-5_5_4.pdf With these features you can add very satisfying word processing features to your desktop apps. -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ____________________________________________________________________ Ambassador at FourthWorld.com http://www.FourthWorld.com _______________________________________________ use-livecode mailing list use-livecode at lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode From lists at mangomultimedia.com Thu Aug 16 18:25:00 2018 From: lists at mangomultimedia.com (Trevor DeVore) Date: Thu, 16 Aug 2018 17:25:00 -0500 Subject: Not many people know this. In-Reply-To: References: <036601d43574$4e64bbd0$eb2e3370$@themartinz.com> Message-ID: On Thu, Aug 16, 2018 at 1:21 PM Mark Waddingham via use-livecode < use-livecode at lists.runrev.com> wrote: > > P.S. You can largely thank Trevor for the above additions, in particular > the styledText and metadata - in terms of providing use-cases which led > to their design and implementation. > > P.P.S. I won't necessarily thank him for the loss of hair that resulted > in actually implementing them in the field object itself. There's a good > reason we treat that particular 10,000 odd lines of code with a great > deal of care and respect - it really doesn't like being touched very > much! > It was all a part of my quest to equalize our hairlines. -- Trevor DeVore ScreenSteps www.screensteps.com From bogdanoff at me.com Thu Aug 16 18:38:51 2018 From: bogdanoff at me.com (Peter Bogdanoff) Date: Thu, 16 Aug 2018 15:38:51 -0700 Subject: "Effective" characters in a line in a field In-Reply-To: References: <036601d43574$4e64bbd0$eb2e3370$@themartinz.com> Message-ID: <2D0C4D10-0E0F-4859-A1E9-4068574FE79F@me.com> Hi, On the subject of chunk references? I want to add a carriage return at the end of every visual line of a paragraph. This would keep the characters of a visual line constant when transferring from Mac to Windows, and set to any font. Is there a way to find out what is the last character of any visual line of a paragraph to automatically add the CR? Or do I have to do some brute force method? Peter Bogdanoff ArtsInteractive From terry.judd at unimelb.edu.au Thu Aug 16 19:51:02 2018 From: terry.judd at unimelb.edu.au (Terry Judd) Date: Thu, 16 Aug 2018 23:51:02 +0000 Subject: "Effective" characters in a line in a field In-Reply-To: <2D0C4D10-0E0F-4859-A1E9-4068574FE79F@me.com> References: <036601d43574$4e64bbd0$eb2e3370$@themartinz.com> <2D0C4D10-0E0F-4859-A1E9-4068574FE79F@me.com> Message-ID: Check out the formattedText property. Terry... ?On 17/08/2018 8:39 am, "use-livecode on behalf of Peter Bogdanoff via use-livecode" wrote: Hi, On the subject of chunk references? I want to add a carriage return at the end of every visual line of a paragraph. This would keep the characters of a visual line constant when transferring from Mac to Windows, and set to any font. Is there a way to find out what is the last character of any visual line of a paragraph to automatically add the CR? Or do I have to do some brute force method? Peter Bogdanoff ArtsInteractive _______________________________________________ use-livecode mailing list use-livecode at lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode From bogdanoff at me.com Thu Aug 16 20:35:37 2018 From: bogdanoff at me.com (Peter Bogdanoff) Date: Thu, 16 Aug 2018 17:35:37 -0700 Subject: "Effective" characters in a line in a field In-Reply-To: References: <036601d43574$4e64bbd0$eb2e3370$@themartinz.com> <2D0C4D10-0E0F-4859-A1E9-4068574FE79F@me.com> Message-ID: Hey, thanks! > On Aug 16, 2018, at 4:51 PM, Terry Judd via use-livecode wrote: > > Check out the formattedText property. > > Terry... > > ?On 17/08/2018 8:39 am, "use-livecode on behalf of Peter Bogdanoff via use-livecode" wrote: > > Hi, > > On the subject of chunk references? > > I want to add a carriage return at the end of every visual line of a paragraph. This would keep the characters of a visual line constant when transferring from Mac to Windows, and set to any font. > > Is there a way to find out what is the last character of any visual line of a paragraph to automatically add the CR? Or do I have to do some brute force method? > > Peter Bogdanoff > ArtsInteractive > _______________________________________________ > use-livecode mailing list > use-livecode at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From ahsoftware at sonic.net Thu Aug 16 20:56:58 2018 From: ahsoftware at sonic.net (Mark Wieder) Date: Thu, 16 Aug 2018 17:56:58 -0700 Subject: Not many people know this. In-Reply-To: References: <036601d43574$4e64bbd0$eb2e3370$@themartinz.com> Message-ID: <534d39fd-9bc8-d851-1025-91db4211b518@sonic.net> On 08/16/2018 11:21 AM, Mark Waddingham via use-livecode wrote: > reason we treat that particular 10,000 odd lines of code with a great My goodness. I thought I was the only one who wrote odd lines of code... -- Mark Wieder ahsoftware at gmail.com From brahma at hindu.org Fri Aug 17 00:42:16 2018 From: brahma at hindu.org (Sannyasin Brahmanathaswami) Date: Fri, 17 Aug 2018 04:42:16 +0000 Subject: Not many people know this. References: <036601d43574$4e64bbd0$eb2e3370$@themartinz.com> Message-ID: On 8/16/18 7:49 AM, Richard Gaskin via use-livecode wrote: > but the Release Notes for v5.5 offer a solid overview of the new > field features (starting on p12), I keep that! it is golden. I think they replaced it with a stack showing all the features, I can't find it now. But setting the array of style text, marvelous. Thanks again Trevor and Mark! Someday someone should go a menu like inDesign so that you can "do text" from a WSIWIG menu. I know Andre has one but he didn't even know about all the features available since v5.5. That's how buried it is. Second Clarence "notion" time meld lcStackBrowser with Navigator. LCSB also failed for me since 8.* I can't even imagine of Geoff stays neck and neck with an evolving IDE! BR From gcanyon at gmail.com Fri Aug 17 01:40:37 2018 From: gcanyon at gmail.com (Geoff Canyon) Date: Thu, 16 Aug 2018 22:40:37 -0700 Subject: Not many people know this. In-Reply-To: <043601d4359c$cf30f710$6d92e530$@themartinz.com> References: <036601d43574$4e64bbd0$eb2e3370$@themartinz.com> <043601d4359c$cf30f710$6d92e530$@themartinz.com> Message-ID: re: Stack versioning: I personally do that using Git/GitKraken. Any suggestion how it should work? re: text styles: you can edit the contents of any field (hidden/locked, whatever) in Navigator. You can convert the editor on the fly from showing the styled text to the HTMLtext of the field, which shows all the text styles. I would have sworn that while editing the styled text, the style options on the LC IDE menu would work on the text in Navigator's editor, but either that went away many versions of LC ago (before 6.x) or I'm misremembering. It's annoying because I really don't want to build in the complexity of a style menu in Navigator (but I guess I have no choice). FYI I have several things in the queue right now, so it's going to be a bit before I can look at this. From heather at livecode.com Fri Aug 17 06:31:56 2018 From: heather at livecode.com (Heather Laine) Date: Fri, 17 Aug 2018 11:31:56 +0100 Subject: Not many people know this. In-Reply-To: References: <036601d43574$4e64bbd0$eb2e3370$@themartinz.com> Message-ID: Just a footnote here... there is actually documentation on paragraph styles, in our lessons portal: http://lessons.livecode.com/m/4071/l/58674-how-do-i-style-paragraphs-in-a-field The lessons portal is a rich source of information, always worth a look. Best Regards, Heather Heather Laine Customer Services Manager LiveCode Ltd www.livecode.com > On 17 Aug 2018, at 05:42, Sannyasin Brahmanathaswami via use-livecode wrote: > > On 8/16/18 7:49 AM, Richard Gaskin via use-livecode wrote: >> but the Release Notes for v5.5 offer a solid overview of the new >> field features (starting on p12), > > I keep that! it is golden. I think they replaced it with a stack showing > all the features, I can't find it now. > > But setting the array of style text, marvelous. Thanks again Trevor and > Mark! > > Someday someone should go a menu like inDesign so that you can "do text" > from a WSIWIG menu. > I know Andre has one but he didn't even know about all the features > available since v5.5. That's how buried it is. > > Second Clarence "notion" time meld lcStackBrowser with Navigator. LCSB > also failed for me since 8.* > > I can't even imagine of Geoff stays neck and neck with an evolving IDE! > > BR > > > > > > > > > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From chipsm at themartinz.com Fri Aug 17 07:06:21 2018 From: chipsm at themartinz.com (chipsm at themartinz.com) Date: Fri, 17 Aug 2018 04:06:21 -0700 Subject: Not many people know this. In-Reply-To: References: <036601d43574$4e64bbd0$eb2e3370$@themartinz.com> <043601d4359c$cf30f710$6d92e530$@themartinz.com> Message-ID: <00bb01d4361a$5483cb40$fd8b61c0$@themartinz.com> Geoff, I truly appreciate what you have done with Navigator. I also appreciate the amount of work and dedication that it takes to keep this plugin current. I am still exploring everything that Navigator can do. Heather, Thanks for the link to the LiveCode Lessons on "How do I style paragraphs in a field". I consider the support that you give to the LiveCode Community as beyond compare. Sincerely, Clarence Martin Email: Chipsm at themartinz.com Cell: 626 696-5561 -----Original Message----- From: use-livecode On Behalf Of Geoff Canyon via use-livecode Sent: Thursday, August 16, 2018 10:41 PM To: How to use LiveCode Cc: Geoff Canyon Subject: Re: Not many people know this. re: Stack versioning: I personally do that using Git/GitKraken. Any suggestion how it should work? re: text styles: you can edit the contents of any field (hidden/locked, whatever) in Navigator. You can convert the editor on the fly from showing the styled text to the HTMLtext of the field, which shows all the text styles. I would have sworn that while editing the styled text, the style options on the LC IDE menu would work on the text in Navigator's editor, but either that went away many versions of LC ago (before 6.x) or I'm misremembering. It's annoying because I really don't want to build in the complexity of a style menu in Navigator (but I guess I have no choice). FYI I have several things in the queue right now, so it's going to be a bit before I can look at this. _______________________________________________ use-livecode mailing list use-livecode at lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode From klaus at major-k.de Fri Aug 17 07:43:33 2018 From: klaus at major-k.de (Klaus major-k) Date: Fri, 17 Aug 2018 13:43:33 +0200 Subject: filter list_of_files with REGEX xyz? Message-ID: <9395A849-91C6-4E94-84E2-C0B9B72DBBF1@major-k.de> Hi friends, I know how to: ... filter list_of_files with "*.jpg" ... But REGEX stuff is way over my head. :-/ Can anyone provide the regex/pattern syntax for filtering jpg, png etc. in ONE run? Know what I mean? Thanks a lot in advance! Best Klaus -- Klaus Major http://www.major-k.de klaus at major-k.de From iphonelagi at gmail.com Fri Aug 17 08:37:44 2018 From: iphonelagi at gmail.com (Lagi Pittas) Date: Fri, 17 Aug 2018 13:37:44 +0100 Subject: Using stackoverflow.com In-Reply-To: References: <20180815135846.46f6c919@mattie-ant> Message-ID: Hi, I'm sorry for the meandering, unfocused ran/stream of consciousness below but ...... I agree with all the sentiments so far, and I can empathise with Mark and Todd about people who "Know" that everything must be written in C++ , Java or Python. - Livecode is a "baby language" according to them - so was Clipper but we had OO (ish) and codeblocks in 1990. I wouldn't write a Multitasking Kernal in Livecode (I created one in C for a Voice application for Dollond and Aitchison before they were bought by boots). . The Idea of taking the essence of some of the great threads in this List and the Forums is to me a brilliant idea, But we need a concerted effort with The Livecode mothership mucking in - seems to me there is a lot of demarcation (the software developers Without (again!!!) trying to beat a dead horse - and without becoming personal (it isn't). Marketing and Web is controlled by the same person believe - I don't see much marketing (posting articles get the word out is marketing), and we have a revamp every couple of years. What doesn't marketing/Web design have 1 hour a day to first find where old links have stopped working (there are still many) post articles on development sites but the biggie and probably the best post interesting threads to SO as Todd says (and Monty tried to get going) and we (I would be willing to find some time - but I wash the bottles as well - oh top be just a marketer and look after a Wordpress site). I'm now wondering if the LC Towers is sitting back and waiting for all the moolah to come in from the LIvecode for Filemaker (which I don't doubt is coming in), but there is still stuff missing from the Kickstarter - the and also the new sqlite library we crowdfunded nearly 2 years ago. Yes LC is fantastic - I would't be here if it wasn't but there are far too many Moustraps for every developer to come running for ours. Python is a joke as a first language for kids - heck I could never go back to UI creating screens by hand coding ever since I used Foxpro (for Dos) and Delphi. You might as well use BBC basic for windows . Don't get me wrong I play/write utilities with Python,Lua,Purebasic BBC basic, Xharbour, B4fX (B4A,b4I), Xojo, Delphi (v7) and Lazarus (yes I have the lot - paid for but not updated because I don't use them for making money) but since I jettisoned Visual Foxpro, LC is what I use for "Real programs". But until the great unwashed get to hear about LC (open source) LC commercial will always be in the backwaters. Foxpro still works (last update 2004) and I used it to knock up a simple label printing program for a cousin of mine in a couple of hours, a year or so back - horses for courses. So my question what does marketing do? - because it sure looks like a part time job to me - I would like to be wrong but it seems to me 9 to 5 and no passion to get the word out, going that extra mile. Not getting involved with the community (on this list) to see how we could all help even if it is questions and answers on SO would be a start. I'm not holding my breath to see if anybody other than the developers pop in here. Regards Lagi p.s And while i'm on a stream of consciousness rant. I understand why you don't have a perpetual license at least for the desktops but I say again you should have a separate IOS and Android package only for ?99 (ish) which does not run out (although updates will need to be paid for as- per XOJO). Why so? Because if I want to create a program for IOS ?500 (yearly) for livecode Indy + ?99 for Apple yearly - launch my program and I make ?200 (probably 90% make sweet Fanny Adams) and after a year I have to pay again to use the program - I wont even go ther. XOJO and b4I are about that price and don't run out (but you pay for updates). Now if the LC "lite" versions (Android and IOS) didn't run out but ?99 a year was for Updates which WILL be needed on Mobile because of the changes to the API you would have all the people at XOJO (if you marketed to them) coming in whilethey wait for to XOJO finish version 1 of their Android edition (some already do use LC for that). Lots of ?99 a year or 2 for updates adds up. - And todays bedroom programmer is tomorrows business programmer (Windows/MAC). And Btw I still think XOJO's website tells you exactly what it's about CROSS-PLATFORM RAPID APPLICATION DEVELOPMENT. We have to scroll (below the fold) to find Startups, Education, getting Started (You are not talking to me or Dave or Richard or Todd or other Old Guard (who still know what a command line is) who are looking for a new home. Why not talk to your visitors above the fold - and "our story can still be there on page 1) taking a quarter of the page on the right. We have to click anyway - this is web design 101. LC is not BMW trying to sell a lifestyle without mentioning the features/benefits of the product Now I have to work late because of a rant!! p.p.s It's because I care about where LC is going (or not) that I sound like I'm getting at the company and people , but since I can't get a bucket of water up there to marketing this rant will have to do. On Wed, 15 Aug 2018 at 21:13, Geoff Canyon via use-livecode < use-livecode at lists.runrev.com> wrote: > Ah, topics are the key concept. Glad that now Navigator is associated with > LiveCode on GitHub... > > On Wed, Aug 15, 2018 at 11:59 AM Warren Samples via use-livecode < > use-livecode at lists.runrev.com> wrote: > > > On Wed, 15 Aug 2018 11:10:57 -0700 > > Geoff Canyon via use-livecode wrote: > > > > > And done! Is there a way to tag repositories on GitHub by language, so > > it's > > > easy to find all LC repos? > > > > > > https://help.github.com/articles/working-with-tags/ > > > > https://github.com/topics/livecode > > > > _______________________________________________ > > use-livecode mailing list > > use-livecode at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From brian at milby7.com Fri Aug 17 08:40:01 2018 From: brian at milby7.com (Brian Milby) Date: Fri, 17 Aug 2018 07:40:01 -0500 Subject: filter list_of_files with REGEX xyz? In-Reply-To: <9395A849-91C6-4E94-84E2-C0B9B72DBBF1@major-k.de> References: <9395A849-91C6-4E94-84E2-C0B9B72DBBF1@major-k.de> Message-ID: <5ee0aa80-8950-44cf-82c6-6113cb31943f@Spark> Pattern ?*.(jpe?g|png|gif)? Thanks, Brian On Aug 17, 2018, 6:44 AM -0500, Klaus major-k via use-livecode , wrote: > Hi friends, > > I know how to: > ... > filter list_of_files with "*.jpg" > ... > But REGEX stuff is way over my head. :-/ > > Can anyone provide the regex/pattern syntax for filtering > jpg, png etc. in ONE run? Know what I mean? > > Thanks a lot in advance! > > > Best > > Klaus > -- > Klaus Major > http://www.major-k.de > klaus at major-k.de > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From klaus at major-k.de Fri Aug 17 09:14:54 2018 From: klaus at major-k.de (Klaus major-k) Date: Fri, 17 Aug 2018 15:14:54 +0200 Subject: filter list_of_files with REGEX xyz? In-Reply-To: <5ee0aa80-8950-44cf-82c6-6113cb31943f@Spark> References: <9395A849-91C6-4E94-84E2-C0B9B72DBBF1@major-k.de> <5ee0aa80-8950-44cf-82c6-6113cb31943f@Spark> Message-ID: <850300F7-07D2-4E39-BA47-06A3A2A1458F@major-k.de> Hi Brian, > Am 17.08.2018 um 14:40 schrieb Brian Milby via use-livecode : > > Pattern ?*.(jpe?g|png|gif)? thanks, but that does not work!? I tried: on mouseUp pMouseButton answer folder "sdsdsdsd" put it into tFolder put files(tFolder) into tList filter tList with pattern "*.(jpe?g|png|gif)" answer tList end mouseUp tList = EMPTY, I made of course sure there are JPG, PNG and GIF files in that folder. Same when I use: ... filter lines of tList with pattern "*.(jpe?g|png|gif)" ... Any clues? > Thanks, You're welcome! :-) > Brian > On Aug 17, 2018, 6:44 AM -0500, Klaus major-k via use-livecode , wrote: >> Hi friends, >> >> I know how to: >> ... >> filter list_of_files with "*.jpg" >> ... >> But REGEX stuff is way over my head. :-/ >> Can anyone provide the regex/pattern syntax for filtering >> jpg, png etc. in ONE run? Know what I mean? Best Klaus -- Klaus Major http://www.major-k.de klaus at major-k.de From brian at milby7.com Fri Aug 17 09:19:12 2018 From: brian at milby7.com (Brian Milby) Date: Fri, 17 Aug 2018 08:19:12 -0500 Subject: filter list_of_files with REGEX xyz? In-Reply-To: <850300F7-07D2-4E39-BA47-06A3A2A1458F@major-k.de> References: <9395A849-91C6-4E94-84E2-C0B9B72DBBF1@major-k.de> <5ee0aa80-8950-44cf-82c6-6113cb31943f@Spark> <850300F7-07D2-4E39-BA47-06A3A2A1458F@major-k.de> Message-ID: RegEx pattern Sorry, I was just giving the pattern, not the syntax. Also, it will probably be case sensitive in that format. I won?t be able to test until later. I don?t recall the case insensitive flag off hand. Thanks, Brian On Aug 17, 2018, 8:15 AM -0500, Klaus major-k via use-livecode , wrote: > Hi Brian, > > > Am 17.08.2018 um 14:40 schrieb Brian Milby via use-livecode : > > > > Pattern ?*.(jpe?g|png|gif)? > > thanks, but that does not work!? > > I tried: > on mouseUp pMouseButton > answer folder "sdsdsdsd" > put it into tFolder > put files(tFolder) into tList > filter tList with pattern "*.(jpe?g|png|gif)" > answer tList > end mouseUp > > tList = EMPTY, I made of course sure there are JPG, PNG and GIF files in that folder. > > Same when I use: > ... > filter lines of tList with pattern "*.(jpe?g|png|gif)" > ... > Any clues? > > > Thanks, > > You're welcome! :-) > > > Brian > > On Aug 17, 2018, 6:44 AM -0500, Klaus major-k via use-livecode , wrote: > > > Hi friends, > > > > > > I know how to: > > > ... > > > filter list_of_files with "*.jpg" > > > ... > > > But REGEX stuff is way over my head. :-/ > > > Can anyone provide the regex/pattern syntax for filtering > > > jpg, png etc. in ONE run? Know what I mean? > > Best > > Klaus > > -- > Klaus Major > http://www.major-k.de > klaus at major-k.de > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From klaus at major-k.de Fri Aug 17 09:26:49 2018 From: klaus at major-k.de (Klaus major-k) Date: Fri, 17 Aug 2018 15:26:49 +0200 Subject: filter list_of_files with REGEX xyz? In-Reply-To: References: <9395A849-91C6-4E94-84E2-C0B9B72DBBF1@major-k.de> <5ee0aa80-8950-44cf-82c6-6113cb31943f@Spark> <850300F7-07D2-4E39-BA47-06A3A2A1458F@major-k.de> Message-ID: Hi Brian, > Am 17.08.2018 um 15:19 schrieb Brian Milby via use-livecode : > > RegEx pattern > Sorry, I was just giving the pattern, not the syntax. > Also, it will probably be case sensitive in that format. My suffixes are all lower case, so this shouldn't matter here. > I won?t be able to test until later. I don?t recall the case insensitive flag off hand. No joy :-/ If I use: ... filter tList with regex pattern "*.(jpe?g|png|gif)" ... or ... filter lines of tList with regex pattern "*.(jpe?g|png|gif)" ... I get an error: button "Button": execution error at line 8 (matchChunk: error in pattern expression), char 1 > Thanks, > Brian Best Klaus -- Klaus Major http://www.major-k.de klaus at major-k.de From rdimola at evergreeninfo.net Fri Aug 17 09:47:40 2018 From: rdimola at evergreeninfo.net (Ralph DiMola) Date: Fri, 17 Aug 2018 09:47:40 -0400 Subject: filter list_of_files with REGEX xyz? In-Reply-To: References: <9395A849-91C6-4E94-84E2-C0B9B72DBBF1@major-k.de> <5ee0aa80-8950-44cf-82c6-6113cb31943f@Spark> <850300F7-07D2-4E39-BA47-06A3A2A1458F@major-k.de> Message-ID: <001d01d43630$e0b27970$a2176c50$@net> (?i) turn off case sensitivity for everything after it in the regex expression. (?-i) turns it back on again for everything after it. Ralph DiMola IT Director Evergreen Information Services rdimola at evergreeninfo.net -----Original Message----- From: use-livecode [mailto:use-livecode-bounces at lists.runrev.com] On Behalf Of Brian Milby via use-livecode Sent: Friday, August 17, 2018 9:19 AM To: How to use LiveCode Cc: Brian Milby Subject: Re: filter list_of_files with REGEX xyz? RegEx pattern Sorry, I was just giving the pattern, not the syntax. Also, it will probably be case sensitive in that format. I won?t be able to test until later. I don?t recall the case insensitive flag off hand. Thanks, Brian On Aug 17, 2018, 8:15 AM -0500, Klaus major-k via use-livecode , wrote: > Hi Brian, > > > Am 17.08.2018 um 14:40 schrieb Brian Milby via use-livecode : > > > > Pattern ?*.(jpe?g|png|gif)? > > thanks, but that does not work!? > > I tried: > on mouseUp pMouseButton > answer folder "sdsdsdsd" > put it into tFolder > put files(tFolder) into tList > filter tList with pattern "*.(jpe?g|png|gif)" > answer tList > end mouseUp > > tList = EMPTY, I made of course sure there are JPG, PNG and GIF files in that folder. > > Same when I use: > ... > filter lines of tList with pattern "*.(jpe?g|png|gif)" > ... > Any clues? > > > Thanks, > > You're welcome! :-) > > > Brian > > On Aug 17, 2018, 6:44 AM -0500, Klaus major-k via use-livecode , wrote: > > > Hi friends, > > > > > > I know how to: > > > ... > > > filter list_of_files with "*.jpg" > > > ... > > > But REGEX stuff is way over my head. :-/ Can anyone provide the > > > regex/pattern syntax for filtering jpg, png etc. in ONE run? Know > > > what I mean? > > Best > > Klaus > > -- > Klaus Major > http://www.major-k.de > klaus at major-k.de > > > _______________________________________________ > use-livecode mailing list > use-livecode at 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 at lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode From hh at hyperhh.de Fri Aug 17 09:58:28 2018 From: hh at hyperhh.de (hh) Date: Fri, 17 Aug 2018 15:58:28 +0200 Subject: filter list_of_files with REGEX xyz? Message-ID: <6C92EBFB-3599-45A3-B9B7-2140925AEE84@hyperhh.de> This is already case-insensitive, but the period needs an escape: filter tList with regex pattern "\.*(jpe?g|png|gif)$" From klaus at major-k.de Fri Aug 17 10:02:22 2018 From: klaus at major-k.de (Klaus major-k) Date: Fri, 17 Aug 2018 16:02:22 +0200 Subject: filter list_of_files with REGEX xyz? In-Reply-To: <6C92EBFB-3599-45A3-B9B7-2140925AEE84@hyperhh.de> References: <6C92EBFB-3599-45A3-B9B7-2140925AEE84@hyperhh.de> Message-ID: <276C2B74-CC30-404A-BFCC-9155B330A5FC@major-k.de> Hi Hermann, > Am 17.08.2018 um 15:58 schrieb hh via use-livecode : > > This is already case-insensitive, but the period needs an escape: > > filter tList with regex pattern "\.*(jpe?g|png|gif)$" ah, jetzt ja! :-) Thanks a lot! Best Klaus -- Klaus Major http://www.major-k.de klaus at major-k.de From brian at milby7.com Fri Aug 17 10:03:29 2018 From: brian at milby7.com (Brian Milby) Date: Fri, 17 Aug 2018 09:03:29 -0500 Subject: filter list_of_files with REGEX xyz? In-Reply-To: <001d01d43630$e0b27970$a2176c50$@net> References: <9395A849-91C6-4E94-84E2-C0B9B72DBBF1@major-k.de> <5ee0aa80-8950-44cf-82c6-6113cb31943f@Spark> <850300F7-07D2-4E39-BA47-06A3A2A1458F@major-k.de> <001d01d43630$e0b27970$a2176c50$@net> Message-ID: Let?s try this again... Regex pattern ?.*\.(jpe?g|png)$? . - any character * - any number of previous match term ? - 0 or 1 of previous term \. - escapes the period for literal match () - groups terms | - alternates within group $ - end of line Thanks, Brian On Aug 17, 2018, 8:45 AM -0500, Ralph DiMola via use-livecode , wrote: > (?i) turn off case sensitivity for everything after it in the regex expression. (?-i) turns it back on again for everything after it. > > Ralph DiMola > IT Director > Evergreen Information Services > rdimola at evergreeninfo.net > > > -----Original Message----- > From: use-livecode [mailto:use-livecode-bounces at lists.runrev.com] On Behalf Of Brian Milby via use-livecode > Sent: Friday, August 17, 2018 9:19 AM > To: How to use LiveCode > Cc: Brian Milby > Subject: Re: filter list_of_files with REGEX xyz? > > RegEx pattern > Sorry, I was just giving the pattern, not the syntax. > Also, it will probably be case sensitive in that format. I won?t be able to test until later. I don?t recall the case insensitive flag off hand. > > Thanks, > Brian > On Aug 17, 2018, 8:15 AM -0500, Klaus major-k via use-livecode , wrote: > > Hi Brian, > > > > > Am 17.08.2018 um 14:40 schrieb Brian Milby via use-livecode : > > > > > > Pattern ?*.(jpe?g|png|gif)? > > > > thanks, but that does not work!? > > > > I tried: > > on mouseUp pMouseButton > > answer folder "sdsdsdsd" > > put it into tFolder > > put files(tFolder) into tList > > filter tList with pattern "*.(jpe?g|png|gif)" > > answer tList > > end mouseUp > > > > tList = EMPTY, I made of course sure there are JPG, PNG and GIF files in that folder. > > > > Same when I use: > > ... > > filter lines of tList with pattern "*.(jpe?g|png|gif)" > > ... > > Any clues? > > > > > Thanks, > > > > You're welcome! :-) > > > > > Brian > > > On Aug 17, 2018, 6:44 AM -0500, Klaus major-k via use-livecode , wrote: > > > > Hi friends, > > > > > > > > I know how to: > > > > ... > > > > filter list_of_files with "*.jpg" > > > > ... > > > > But REGEX stuff is way over my head. :-/ Can anyone provide the > > > > regex/pattern syntax for filtering jpg, png etc. in ONE run? Know > > > > what I mean? > > > > Best > > > > Klaus > > > > -- > > Klaus Major > > http://www.major-k.de > > klaus at major-k.de > > > > > > _______________________________________________ > > use-livecode mailing list > > use-livecode at 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 at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From rdimola at evergreeninfo.net Fri Aug 17 10:13:55 2018 From: rdimola at evergreeninfo.net (Ralph DiMola) Date: Fri, 17 Aug 2018 10:13:55 -0400 Subject: filter list_of_files with REGEX xyz? In-Reply-To: <6C92EBFB-3599-45A3-B9B7-2140925AEE84@hyperhh.de> References: <6C92EBFB-3599-45A3-B9B7-2140925AEE84@hyperhh.de> Message-ID: <002701d43634$8b4b3c70$a1e1b550$@net> The ".*" is the wild card(zero or more) and "\." Is the period. filter tList with regex pattern "(?i).*\.(jpe?g|png|gif)$" Ralph DiMola IT Director Evergreen Information Services rdimola at evergreeninfo.net -----Original Message----- From: use-livecode [mailto:use-livecode-bounces at lists.runrev.com] On Behalf Of hh via use-livecode Sent: Friday, August 17, 2018 9:58 AM To: use-livecode at lists.runrev.com Cc: hh Subject: Re: filter list_of_files with REGEX xyz? This is already case-insensitive, but the period needs an escape: filter tList with regex pattern "\.*(jpe?g|png|gif)$" _______________________________________________ use-livecode mailing list use-livecode at lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode From iphonelagi at gmail.com Fri Aug 17 10:12:06 2018 From: iphonelagi at gmail.com (Lagi Pittas) Date: Fri, 17 Aug 2018 15:12:06 +0100 Subject: filter list_of_files with REGEX xyz? In-Reply-To: <001d01d43630$e0b27970$a2176c50$@net> References: <9395A849-91C6-4E94-84E2-C0B9B72DBBF1@major-k.de> <5ee0aa80-8950-44cf-82c6-6113cb31943f@Spark> <850300F7-07D2-4E39-BA47-06A3A2A1458F@major-k.de> <001d01d43630$e0b27970$a2176c50$@net> Message-ID: I used (without the gif) .*\.jpj|jpeg|png|gif The above is not case sensitive - just tested it Lagi On Fri, 17 Aug 2018 at 14:45, Ralph DiMola via use-livecode < use-livecode at lists.runrev.com> wrote: > (?i) turn off case sensitivity for everything after it in the regex > expression. (?-i) turns it back on again for everything after it. > > Ralph DiMola > IT Director > Evergreen Information Services > rdimola at evergreeninfo.net > > > -----Original Message----- > From: use-livecode [mailto:use-livecode-bounces at lists.runrev.com] On > Behalf Of Brian Milby via use-livecode > Sent: Friday, August 17, 2018 9:19 AM > To: How to use LiveCode > Cc: Brian Milby > Subject: Re: filter list_of_files with REGEX xyz? > > RegEx pattern > Sorry, I was just giving the pattern, not the syntax. > Also, it will probably be case sensitive in that format. I won?t be able > to test until later. I don?t recall the case insensitive flag off hand. > > Thanks, > Brian > On Aug 17, 2018, 8:15 AM -0500, Klaus major-k via use-livecode < > use-livecode at lists.runrev.com>, wrote: > > Hi Brian, > > > > > Am 17.08.2018 um 14:40 schrieb Brian Milby via use-livecode < > use-livecode at lists.runrev.com>: > > > > > > Pattern ?*.(jpe?g|png|gif)? > > > > thanks, but that does not work!? > > > > I tried: > > on mouseUp pMouseButton > > answer folder "sdsdsdsd" > > put it into tFolder > > put files(tFolder) into tList > > filter tList with pattern "*.(jpe?g|png|gif)" > > answer tList > > end mouseUp > > > > tList = EMPTY, I made of course sure there are JPG, PNG and GIF files in > that folder. > > > > Same when I use: > > ... > > filter lines of tList with pattern "*.(jpe?g|png|gif)" > > ... > > Any clues? > > > > > Thanks, > > > > You're welcome! :-) > > > > > Brian > > > On Aug 17, 2018, 6:44 AM -0500, Klaus major-k via use-livecode < > use-livecode at lists.runrev.com>, wrote: > > > > Hi friends, > > > > > > > > I know how to: > > > > ... > > > > filter list_of_files with "*.jpg" > > > > ... > > > > But REGEX stuff is way over my head. :-/ Can anyone provide the > > > > regex/pattern syntax for filtering jpg, png etc. in ONE run? Know > > > > what I mean? > > > > Best > > > > Klaus > > > > -- > > Klaus Major > > http://www.major-k.de > > klaus at major-k.de > > > > > > _______________________________________________ > > use-livecode mailing list > > use-livecode at 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 at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From iphonelagi at gmail.com Fri Aug 17 10:16:05 2018 From: iphonelagi at gmail.com (Lagi Pittas) Date: Fri, 17 Aug 2018 15:16:05 +0100 Subject: filter list_of_files with REGEX xyz? In-Reply-To: <276C2B74-CC30-404A-BFCC-9155B330A5FC@major-k.de> References: <6C92EBFB-3599-45A3-B9B7-2140925AEE84@hyperhh.de> <276C2B74-CC30-404A-BFCC-9155B330A5FC@major-k.de> Message-ID: I was going to send the whole line but Hermann has beaten me to it - and I will use his version from now on, thanks Hermann. Lagi On Fri, 17 Aug 2018 at 15:03, Klaus major-k via use-livecode < use-livecode at lists.runrev.com> wrote: > Hi Hermann, > > > Am 17.08.2018 um 15:58 schrieb hh via use-livecode < > use-livecode at lists.runrev.com>: > > > > This is already case-insensitive, but the period needs an escape: > > > > filter tList with regex pattern "\.*(jpe?g|png|gif)$" > > ah, jetzt ja! :-) > Thanks a lot! > > Best > > Klaus > > -- > Klaus Major > http://www.major-k.de > klaus at major-k.de > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From bobsneidar at iotecdigital.com Fri Aug 17 10:51:56 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Fri, 17 Aug 2018 14:51:56 +0000 Subject: Not many people know this. In-Reply-To: <534d39fd-9bc8-d851-1025-91db4211b518@sonic.net> References: <036601d43574$4e64bbd0$eb2e3370$@themartinz.com> <534d39fd-9bc8-d851-1025-91db4211b518@sonic.net> Message-ID: What would be the benefit of typing code on only odd numbered lines? Bob S > On Aug 16, 2018, at 17:56 , Mark Wieder via use-livecode wrote: > >> reason we treat that particular 10,000 odd lines of code with a great > > My goodness. I thought I was the only one who wrote odd lines of code... > > -- > Mark Wieder From bobsneidar at iotecdigital.com Fri Aug 17 10:53:14 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Fri, 17 Aug 2018 14:53:14 +0000 Subject: Not many people know this. In-Reply-To: References: <036601d43574$4e64bbd0$eb2e3370$@themartinz.com> Message-ID: Ah! a replacement for Word you say! That will teach Microsoft! Bob S > On Aug 16, 2018, at 21:42 , Sannyasin Brahmanathaswami via use-livecode wrote: > > Someday someone should go a menu like inDesign so that you can "do text" > from a WSIWIG menu. > I know Andre has one but he didn't even know about all the features > available since v5.5. That's how buried it is. From ahsoftware at sonic.net Fri Aug 17 11:41:20 2018 From: ahsoftware at sonic.net (Mark Wieder) Date: Fri, 17 Aug 2018 08:41:20 -0700 Subject: filter list_of_files with REGEX xyz? In-Reply-To: <002701d43634$8b4b3c70$a1e1b550$@net> References: <6C92EBFB-3599-45A3-B9B7-2140925AEE84@hyperhh.de> <002701d43634$8b4b3c70$a1e1b550$@net> Message-ID: <8927bb55-ec2d-1f9c-a693-49a1610a350e@sonic.net> On 08/17/2018 07:13 AM, Ralph DiMola via use-livecode wrote: > filter tList with regex pattern "(?i).*\.(jpe?g|png|gif)$" For a file list that should probably be filter tList with regex pattern "(?i).+\.(jpe?g|png|gif)$" unless you explicitly want to see file names that start with "." -- Mark Wieder ahsoftware at gmail.com From rdimola at evergreeninfo.net Fri Aug 17 11:54:56 2018 From: rdimola at evergreeninfo.net (Ralph DiMola) Date: Fri, 17 Aug 2018 11:54:56 -0400 Subject: filter list_of_files with REGEX xyz? In-Reply-To: <8927bb55-ec2d-1f9c-a693-49a1610a350e@sonic.net> References: <6C92EBFB-3599-45A3-B9B7-2140925AEE84@hyperhh.de> <002701d43634$8b4b3c70$a1e1b550$@net> <8927bb55-ec2d-1f9c-a693-49a1610a350e@sonic.net> Message-ID: <003301d43642$a803cdb0$f80b6910$@net> True true... I thought about it but left it as is just in case there was an image without a file name before the ".". I did not want it to be missed. You know users... Ralph DiMola IT Director Evergreen Information Services rdimola at evergreeninfo.net -----Original Message----- From: use-livecode [mailto:use-livecode-bounces at lists.runrev.com] On Behalf Of Mark Wieder via use-livecode Sent: Friday, August 17, 2018 11:41 AM To: Ralph DiMola via use-livecode Cc: Mark Wieder Subject: Re: filter list_of_files with REGEX xyz? On 08/17/2018 07:13 AM, Ralph DiMola via use-livecode wrote: > filter tList with regex pattern "(?i).*\.(jpe?g|png|gif)$" For a file list that should probably be filter tList with regex pattern "(?i).+\.(jpe?g|png|gif)$" unless you explicitly want to see file names that start with "." -- Mark Wieder ahsoftware at gmail.com _______________________________________________ use-livecode mailing list use-livecode at lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode From mark at livecode.com Fri Aug 17 12:09:35 2018 From: mark at livecode.com (Mark Waddingham) Date: Fri, 17 Aug 2018 18:09:35 +0200 Subject: Not many people know this. In-Reply-To: <534d39fd-9bc8-d851-1025-91db4211b518@sonic.net> References: <036601d43574$4e64bbd0$eb2e3370$@themartinz.com> <534d39fd-9bc8-d851-1025-91db4211b518@sonic.net> Message-ID: On 2018-08-17 02:56, Mark Wieder via use-livecode wrote: > On 08/16/2018 11:21 AM, Mark Waddingham via use-livecode wrote: > >> reason we treat that particular 10,000 odd lines of code with a great > > My goodness. I thought I was the only one who wrote odd lines of > code... Haha! I didn't even see that until you pointed it out. Some spoken constructs simply don't translate to text... Warmest Regards, Mark. P.S. I meant 'around 10,000' lines of code - for any non-my-particular-colloquial-dialect-of-English-speakers... Which is probably most... ;) -- Mark Waddingham ~ mark at livecode.com ~ http://www.livecode.com/ LiveCode: Everyone can create apps From iphonelagi at gmail.com Fri Aug 17 12:45:32 2018 From: iphonelagi at gmail.com (Lagi Pittas) Date: Fri, 17 Aug 2018 17:45:32 +0100 Subject: Not many people know this. In-Reply-To: References: <036601d43574$4e64bbd0$eb2e3370$@themartinz.com> <534d39fd-9bc8-d851-1025-91db4211b518@sonic.net> Message-ID: I have a habit of saying "ish" and "odd" in that context , so I'm in very good company. And I'm jealous of your hairline .... ;-) Lagi On Fri, 17 Aug 2018 at 17:09, Mark Waddingham via use-livecode < use-livecode at lists.runrev.com> wrote: > On 2018-08-17 02:56, Mark Wieder via use-livecode wrote: > > On 08/16/2018 11:21 AM, Mark Waddingham via use-livecode wrote: > > > >> reason we treat that particular 10,000 odd lines of code with a great > > > > My goodness. I thought I was the only one who wrote odd lines of > > code... > > Haha! I didn't even see that until you pointed it out. Some spoken > constructs simply don't translate to text... > > Warmest Regards, > > Mark. > > P.S. I meant 'around 10,000' lines of code - for any > non-my-particular-colloquial-dialect-of-English-speakers... Which is > probably most... ;) > > -- > Mark Waddingham ~ mark at livecode.com ~ http://www.livecode.com/ > LiveCode: Everyone can create apps > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From ahsoftware at sonic.net Fri Aug 17 12:45:07 2018 From: ahsoftware at sonic.net (Mark Wieder) Date: Fri, 17 Aug 2018 09:45:07 -0700 Subject: filter list_of_files with REGEX xyz? In-Reply-To: <003301d43642$a803cdb0$f80b6910$@net> References: <6C92EBFB-3599-45A3-B9B7-2140925AEE84@hyperhh.de> <002701d43634$8b4b3c70$a1e1b550$@net> <8927bb55-ec2d-1f9c-a693-49a1610a350e@sonic.net> <003301d43642$a803cdb0$f80b6910$@net> Message-ID: <5de9eb57-bba5-7a45-bcd6-c55f728833fb@sonic.net> On 08/17/2018 08:54 AM, Ralph DiMola via use-livecode wrote: > True true... I thought about it but left it as is just in case there was an > image without a file name before the ".". I did not want it to be missed. > You know users... LOL -- Mark Wieder ahsoftware at gmail.com From bobsneidar at iotecdigital.com Fri Aug 17 16:39:03 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Fri, 17 Aug 2018 20:39:03 +0000 Subject: filter list_of_files with REGEX xyz? In-Reply-To: <5de9eb57-bba5-7a45-bcd6-c55f728833fb@sonic.net> References: <6C92EBFB-3599-45A3-B9B7-2140925AEE84@hyperhh.de> <002701d43634$8b4b3c70$a1e1b550$@net> <8927bb55-ec2d-1f9c-a693-49a1610a350e@sonic.net> <003301d43642$a803cdb0$f80b6910$@net> <5de9eb57-bba5-7a45-bcd6-c55f728833fb@sonic.net> Message-ID: <347FC0BC-DCE0-4664-A46F-9F7DE19AE017@iotecdigital.com> Half want cake, the other half, pie. Bob S > On Aug 17, 2018, at 09:45 , Mark Wieder via use-livecode wrote: > > On 08/17/2018 08:54 AM, Ralph DiMola via use-livecode wrote: >> True true... I thought about it but left it as is just in case there was an >> image without a file name before the ".". I did not want it to be missed. >> You know users... > > LOL > > -- > Mark Wieder > ahsoftware at gmail.com From rdimola at evergreeninfo.net Fri Aug 17 17:06:37 2018 From: rdimola at evergreeninfo.net (Ralph DiMola) Date: Fri, 17 Aug 2018 17:06:37 -0400 Subject: filter list_of_files with REGEX xyz? In-Reply-To: <347FC0BC-DCE0-4664-A46F-9F7DE19AE017@iotecdigital.com> References: <6C92EBFB-3599-45A3-B9B7-2140925AEE84@hyperhh.de> <002701d43634$8b4b3c70$a1e1b550$@net> <8927bb55-ec2d-1f9c-a693-49a1610a350e@sonic.net> <003301d43642$a803cdb0$f80b6910$@net> <5de9eb57-bba5-7a45-bcd6-c55f728833fb@sonic.net> <347FC0BC-DCE0-4664-A46F-9F7DE19AE017@iotecdigital.com> Message-ID: <005f01d4366e$32aba840$9802f8c0$@net> Let them eat cake. Ralph DiMola IT Director Evergreen Information Services rdimola at evergreeninfo.net -----Original Message----- From: use-livecode [mailto:use-livecode-bounces at lists.runrev.com] On Behalf Of Bob Sneidar via use-livecode Sent: Friday, August 17, 2018 4:39 PM To: How to use LiveCode Cc: Bob Sneidar Subject: Re: filter list_of_files with REGEX xyz? Half want cake, the other half, pie. Bob S > On Aug 17, 2018, at 09:45 , Mark Wieder via use-livecode wrote: > > On 08/17/2018 08:54 AM, Ralph DiMola via use-livecode wrote: >> True true... I thought about it but left it as is just in case there >> was an image without a file name before the ".". I did not want it to be missed. >> You know users... > > LOL > > -- > Mark Wieder > ahsoftware at gmail.com _______________________________________________ use-livecode mailing list use-livecode at lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode From james at thehales.id.au Fri Aug 17 20:51:01 2018 From: james at thehales.id.au (James At The Hale) Date: Sat, 18 Aug 2018 10:51:01 +1000 Subject: Not many people know this. Message-ID: <3C672545-C474-43FC-8862-F4D8889EE419@thehales.id.au> It is easier to proof double spaced lines... > What would be the benefit of typing code on only odd numbered lines? > > Bob S > > >>> On Aug 16, 2018, at 17:56 , Mark Wieder via use-livecode wrote: >>> >>> reason we treat that particular 10,000 odd lines of code with a great From ahsoftware at sonic.net Fri Aug 17 21:25:38 2018 From: ahsoftware at sonic.net (Mark Wieder) Date: Fri, 17 Aug 2018 18:25:38 -0700 Subject: Not many people know this. In-Reply-To: <3C672545-C474-43FC-8862-F4D8889EE419@thehales.id.au> References: <3C672545-C474-43FC-8862-F4D8889EE419@thehales.id.au> Message-ID: On 08/17/2018 05:51 PM, James At The Hale via use-livecode wrote: > It is easier to proof double spaced lines... > >> What would be the benefit of typing code on only odd numbered lines? ...that way I could put a comment after each line (ducking)... -- Mark Wieder ahsoftware at gmail.com From ludovic.thebault at laposte.net Sat Aug 18 07:18:53 2018 From: ludovic.thebault at laposte.net (Ludovic THEBAULT) Date: Sat, 18 Aug 2018 13:18:53 +0200 Subject: fullscreenmode and rect of a substack on mobile device ? Message-ID: <3AD3CF89-6E4C-4608-A9FC-E56DDADFD115@laposte.net> Hello, I?ve a stack for phone and a substack for tablet (with iPad ratio, 1024*768). i use the fullscreenmode to ? show all ? On android tablet, the ratio height/width is sometimes very different from iPad. I tried to change the height of the substack before open it but with no luck : // in the openstack handler of the mainstack put item 3 of the screenrect into theight put item 4 of the screenrect into twidth put theight/twidth into tratio set the height of stack "substackTablet" to round(1024*tratio) mobileSetAllowedOrientations("portrait") open stack "substackTablet" set the fullscreenmode of stack "substackTablet" to "showall" set the height of grp "grpbackground" of stack "substackTablet" to round(1000*tratio) => as result, the top of the stack and the bottom of the stack aren?t the top and the bottom of the screen. If i want my background group cover all the screen i need to set this top to -200 for example. How get the ? real ? rect of the stack ? Thanks From smudge.andy at googlemail.com Sat Aug 18 08:27:22 2018 From: smudge.andy at googlemail.com (AndyP) Date: Sat, 18 Aug 2018 07:27:22 -0500 (CDT) Subject: fullscreenmode and rect of a substack on mobile device ? In-Reply-To: <3AD3CF89-6E4C-4608-A9FC-E56DDADFD115@laposte.net> References: <3AD3CF89-6E4C-4608-A9FC-E56DDADFD115@laposte.net> Message-ID: <1534595242216-0.post@n4.nabble.com> you could try using either the working or effective adjectives before the screenRect working ScreenRect effective screenRect to see if you get better results? from the dictionary /Adding the working adjective to either form returns the virtual co-ordinates of each screen's working-area. The working-area of a screen is defined to be the area not covered by OS furniture (such as the task bar on Windows, and the Dock and Menubar on Mac OS X). Adding the effective adjective to either form returns the area of the screen the application has to itself. In particular, if the keyboard is activated, it take into account if the keyboard is taking up space on the screen. (Android and iOS only) Note: The co-ordinates returned by the screenRect family of functions can be anywhere in the virtual desktop / ----- Andy Piddock My software never has bugs. It just develops random features. TinyIDE a Free alternative minimalist IDE Plugin for LiveCode Script editor Themer for LC http://2108.co.uk PointandSee is a FREE simple but full featured under cursor colour picker / finder. http://www.pointandsee.co.uk - made with LiveCode -- Sent from: http://runtime-revolution.278305.n4.nabble.com/Revolution-User-f278306.html From MikeKerner at roadrunner.com Sat Aug 18 12:06:15 2018 From: MikeKerner at roadrunner.com (Mike Kerner) Date: Sat, 18 Aug 2018 12:06:15 -0400 Subject: logging Message-ID: I'm messing with the logger in levure, and looking for feedback, sample code, and thoughts others have from your own logging experience. ? Formatting ? Delimiters ? Information you include ? Targets (files, message box, dialogs, fields, etc.) -- 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." From alex at tweedly.net Sat Aug 18 12:32:58 2018 From: alex at tweedly.net (Alex Tweedly) Date: Sat, 18 Aug 2018 17:32:58 +0100 Subject: logging In-Reply-To: References: Message-ID: <134aa898-ff6c-e33d-f245-21fcf5818c09@tweedly.net> Ah, let's see .... Hardwoods burn better than soft, but you gotta keep the chainsaw really sharp. -- Alex. On 18/08/2018 17:06, Mike Kerner via use-livecode wrote: > I'm messing with the logger in levure, and looking for feedback, sample > code, and thoughts others have from your own logging experience. > ? Formatting > ? Delimiters > ? Information you include > ? Targets (files, message box, dialogs, fields, etc.) > From brahma at hindu.org Sat Aug 18 12:36:27 2018 From: brahma at hindu.org (Sannyasin Brahmanathaswami) Date: Sat, 18 Aug 2018 16:36:27 +0000 Subject: fullscreenmode and rect of a substack on mobile device ? References: <3AD3CF89-6E4C-4608-A9FC-E56DDADFD115@laposte.net> Message-ID: I have a similar issue with a stack that a) contains a browser that wants to fill the entire screen (of any device) b) a tool bar on the bottom, the background ( 50 px wide) which to set to 2000 wide c) a 4 widget that appear on bottom on top to background. It should work on portrait and landscape That's it, not a complicated screen to layout, responsive... or so we thought.... Going around and around with this on support, I was using "show all" set at 414x736 (iPhone); and with Jacque's help to optimize my code This left pillar boxes left and right (show the stack/card color) on my Android. Using all the "new methods" mobileSetFullScreenRectForOrientations "portrait,portrait upside down","0,0,414,736" etc We were unable to gain programmatic control to use screenrect to fit the device. My Guess/I am wrong, HQ could let us know: seems the fullscreenmode[what-Ever-It-Is] will, at an engine level will override any attempt to do the simple "responsive" handlers of ======== # snip the orientation changed handlers, # but it all comes down to this: put the screenrect into tRect set rect to widget "browser" to \ (item 1 of the tRect, item 2 of the tRect, item 3 of tRect, item 4 of tRect-50) ======== Support said use fullscreenmode "exactFit" Jacque predicted it would fail, all kinds of distortion. I used tried it, worked on the Pixel. (ratio of the widget at bottom barely noticeable) I happily deployed to my "nightly" branch When I finally dug out an iPad to test--oh horror, Jacque was right -- the widget and the bottom were all stretched out! So, I was stuck, went on another project, but I too would like to Ludovic THEBAULT wrote: How get the ? real ? rect of the stack ? is seems, if you want to do "responsive" design, that it will need to be done *without* using fullscreenmode, and do it by handling the screenrect yourself. Which defeats the purpose of fullScreenMode "help" for the developer. @Andy I will try the effective Screenrect to see what we get. BR From brahma at hindu.org Sat Aug 18 12:43:17 2018 From: brahma at hindu.org (Sannyasin Brahmanathaswami) Date: Sat, 18 Aug 2018 16:43:17 +0000 Subject: Split an Array to Numeric with 2 Dimensions Message-ID: I decide to study up to improve my array management skills. Looked up the dictionary: element, columnDel, RowDelimiter etc Tools I never used. But I can't fine a "one pass" split that takes a dBase dump like this and makes a 2nd dimension. Other than to do it "manually" Also I thought, after reading the dictionary, that the "element" would be "1" in uDataArray[1][someValue] But instead I was getting "someValue" -- so I am not understanding something there. ===== apples|https://www.washington.com/neutral orange|https://www.california.com|citrus peaches|https://www.idaho.com|sweet ======= ## this works, but I wonder if it is optimal. local aSetUp,aDataArray put [thelist] into aSetUp put "fruit" into t1Element put "url" into t2Element put "category" into t3Element split aSetup by cr set itemdel to "|" Repeat for each line x in (the keys of aSetup) put item 1 of aSetUp[x] into aDataArray[x][t1Element] put item 2 of aSetUp[x] into aDataArray[x][t2Element] put item 3 of aSetUp[x] into aDataArray[x][t3Element] end repeat BR From brian at milby7.com Sat Aug 18 13:22:11 2018 From: brian at milby7.com (Brian Milby) Date: Sat, 18 Aug 2018 12:22:11 -0500 Subject: fullscreenmode and rect of a substack on mobile device ? In-Reply-To: References: <3AD3CF89-6E4C-4608-A9FC-E56DDADFD115@laposte.net> Message-ID: <54a60fd4-4919-46f0-8f12-da61ef5d392e@Spark> For your browser example, you probably want to use noScale. You just need to be sure you capture the rect at the right time. You don?t know the new rect until after the orientation changed handler ends. I?ll see if I can locate that stack example again that you put up. Unfortunately I can only test on iOS right now. One good thing I discovered is that the content inside the browser widget is always native resolution (at least I thought so). So the only part of the screen that would have distortion would be the elements outside the widget if you used exactFit. It sounds like that was not the case for you though. I agree... the fullScreenModes are most useful when you want the elements of the application to scale with the device size. Thanks, Brian On Aug 18, 2018, 11:37 AM -0500, Sannyasin Brahmanathaswami via use-livecode , wrote: > I have a similar issue with a stack that > > a) contains a browser that wants to fill the entire screen (of any device) > b) a tool bar on the bottom, the background ( 50 px wide) which to set to 2000 wide > c) a 4 widget that appear on bottom on top to background. > > It should work on portrait and landscape > > That's it, not a complicated screen to layout, responsive... or so we thought.... > > Going around and around with this on support, I was using "show all" > set at 414x736 (iPhone); and with Jacque's help to optimize my code > > This left pillar boxes left and right (show the stack/card color) on my Android. > > Using all the "new methods" > > mobileSetFullScreenRectForOrientations "portrait,portrait upside down","0,0,414,736" > > etc > > We were unable to gain programmatic control to use screenrect to fit the device. > > My Guess/I am wrong, HQ could let us know: > > seems the fullscreenmode[what-Ever-It-Is] will, at an engine level will override any attempt to do the simple "responsive" handlers of > > ======== > > # snip the orientation changed handlers, > > # but it all comes down to this: > > put the screenrect into tRect > > set rect to widget "browser" to \ > > (item 1 of the tRect, item 2 of the tRect, item 3 of tRect, item 4 of tRect-50) > > ======== > > Support said > > use fullscreenmode "exactFit" > > Jacque predicted it would fail, all kinds of distortion. I used tried it, worked on the Pixel. (ratio of the widget at bottom barely noticeable) I happily deployed to my "nightly" branch > > When I finally dug out an iPad to test--oh horror, Jacque was right -- the widget and the bottom were all stretched out! > > So, I was stuck, went on another project, but I too would like to > > Ludovic THEBAULT wrote: > > How get the ? real ? rect of the stack ? > > is seems, if you want to do "responsive" design, that it will need to be done *without* using fullscreenmode, and do it by handling the screenrect yourself. Which defeats the purpose of fullScreenMode "help" for the developer. > > @Andy I will try the effective Screenrect to see what we get. > > BR > > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From MikeKerner at roadrunner.com Sat Aug 18 13:22:59 2018 From: MikeKerner at roadrunner.com (Mike Kerner) Date: Sat, 18 Aug 2018 13:22:59 -0400 Subject: logging In-Reply-To: <134aa898-ff6c-e33d-f245-21fcf5818c09@tweedly.net> References: <134aa898-ff6c-e33d-f245-21fcf5818c09@tweedly.net> Message-ID: Really? I thought you just added more bar oil, or ground the gages down a bit more. On Sat, Aug 18, 2018 at 12:33 PM Alex Tweedly via use-livecode < use-livecode at lists.runrev.com> wrote: > Ah, let's see .... > > Hardwoods burn better than soft, but you gotta keep the chainsaw really > sharp. > > -- Alex. > > > On 18/08/2018 17:06, Mike Kerner via use-livecode wrote: > > I'm messing with the logger in levure, and looking for feedback, sample > > code, and thoughts others have from your own logging experience. > > ? Formatting > > ? Delimiters > > ? Information you include > > ? Targets (files, message box, dialogs, fields, etc.) > > > > > _______________________________________________ > use-livecode mailing list > use-livecode at 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." From dougr at telus.net Sat Aug 18 13:30:43 2018 From: dougr at telus.net (Douglas Ruisaard) Date: Sat, 18 Aug 2018 10:30:43 -0700 Subject: Navigator 6.0 Alpha 4 Message-ID: <039901d43719$32ebeee0$98c3cca0$@net> Geoff... Excellent tool but I can't seem to get it to display one of the "cards" of a Data Grid template. In a "standard" DataGrid Form object, Card Id's 1002 and 1005 are created. According to the LC Project Browser, which identifies iconically and positionally the "Data Grid Template xxxxxx" as a "card" (although its Property sees it as a stack) ... and which Navigator correctly identifies it as a stack ... there is a Card id 1005 which contains a few objects, including the Behavior Script of the grid. Card 1005 does NOT appear in Navigator... or at least I can't find a way to get it to appear. Any suggestions? Douglas Ruisaard Trilogy Software From dougr at telus.net Sat Aug 18 14:02:04 2018 From: dougr at telus.net (Douglas Ruisaard) Date: Sat, 18 Aug 2018 11:02:04 -0700 Subject: Bluetooth detection and use? In-Reply-To: qMtWfAFmx4mPCqMtbfCRe0 References: qMtWfAFmx4mPCqMtbfCRe0 Message-ID: <039e01d4371d$934ccc10$b9e66430$@net> I'm always happy to see the Bluetooth topic "revived" for another exposure on this forum... since I also am quite interested in it. I have been VERY successful in using the mergBLE library in LC for IOS (but it takes some getting used to) ... Unfortunately, it is exclusive to IOS which leaves desktop OS's and Android out in the cold. Douglas Ruisaard Trilogy Software (250) 573-3935 > Date: Thu, 16 Aug 2018 16:46:54 +0200 > From: Graham Samuel > To: How to use LiveCode > Subject: Bluetooth detection and use? > Message-ID: <979FEE68-297B-4B66-B8C4-21C2E4C448F5 at mac.com> > Content-Type: text/plain; charset=utf-8 > > After a long long interval of not really coding anything, I?m thinking of a cross-platform app that > uses Bluetooth devices. I see that mergNIC can tell me if my iOS has something connected via > Bluetooth, but that raises a lot more questions than it answers, such as ?what kind of device have we > here?? and ?oops, I?m on Android/ Mac/ PC, now what??, and ?glad we?re connected, how do we actually > read some data?" > > Is anyone out there using Bluetooth, or is it not a suitable thing to mix with LC? > > TIA > > Graham > From jonathandlynch at gmail.com Sat Aug 18 14:06:55 2018 From: jonathandlynch at gmail.com (Jonathan Lynch) Date: Sat, 18 Aug 2018 14:06:55 -0400 Subject: Android compass question In-Reply-To: <46969ace-3c91-82a6-2dfb-4677400070b2@hyperactivesw.com> References: <46969ace-3c91-82a6-2dfb-4677400070b2@hyperactivesw.com> Message-ID: Hi Jacqueline, Thank you for this reply. I keep working with this issue, but I still cannot resolve it. When I put the Android phone down on a table, to be still, the compass heading from LC jumps up and down by as much as 10 degrees - way too big of a range just to round. However, the compass app I downloaded on that same device is rock steady. I really wish it would just work, rather than having to massage the data from the device. On Mon, Aug 13, 2018 at 4:24 PM J. Landman Gay via use-livecode < use-livecode at lists.runrev.com> wrote: > On 8/11/18 3:34 PM, Jonathan Lynch via use-livecode wrote: > > I have a new galaxy phone. When I read the mobile compass, both magnetic > heading and true heading constantly change - even if the phone is laying > down still. It changes up and down randomly by 5 degrees or so. Does anyone > know if this is a problem with LC or with galaxy phones? My iPhone does not > do this. > > My Galaxy S5 does the same thing with a LC compass I made. My guess is > that's the way Android reads GPS data. When it tries to find my house, > it does a whole bunch of hops around the circumference before settling > down on the center, and even then it still twitches as it tries for more > accuracy. > > A compass I downloaded from the Play Store does not do that on my Pixel. > I'd guess that the app is doing some rounding to the nearest integer, > since it doesn't display fractional values. > > Try downloading a few of the dozens of compasses on the Play Store and > see how they behave. It may be that LC is actually more precise than you > want it to be. I do know that LC is only reporting what the OS tells it. > > -- > Jacqueline Landman Gay | jacque at hyperactivesw.com > HyperActive Software | http://www.hyperactivesw.com > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > -- Do all things with love From ambassador at fourthworld.com Sat Aug 18 14:10:40 2018 From: ambassador at fourthworld.com (Richard Gaskin) Date: Sat, 18 Aug 2018 11:10:40 -0700 Subject: logging In-Reply-To: References: Message-ID: <1b3248e1-e5d5-0bca-1de4-7fd3ea3632ab@fourthworld.com> Mike Kerner wrote: > I'm messing with the logger in levure, and looking for feedback, > sample code, and thoughts others have from your own logging > experience. > ? Formatting > ? Delimiters > ? Information you include > ? Targets (files, message box, dialogs, fields, etc.) This conversation is replicated here: https://forums.livecode.com/viewtopic.php?f=8&t=31415 I don't know where to reply. -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ____________________________________________________________________ Ambassador at FourthWorld.com http://www.FourthWorld.com From jonathandlynch at gmail.com Sat Aug 18 14:20:47 2018 From: jonathandlynch at gmail.com (Jonathan Lynch) Date: Sat, 18 Aug 2018 14:20:47 -0400 Subject: Android compass question In-Reply-To: References: <46969ace-3c91-82a6-2dfb-4677400070b2@hyperactivesw.com> Message-ID: Just a quick addendum to my last comment - I found an html5 online compass demo that works well on the device. That means I might be able to use the browser widget that displays the map to read the compass from the device. If that works, I could reset the map heading inside the widget without having to get data from LC. That is actually a huge amount of work, and I hate to have to resort to that, but having the heading jump around so much is just unworkable. I am not sure how the browser can get a steady reading when LC is not getting a steady reading from the system. On Sat, Aug 18, 2018 at 2:06 PM Jonathan Lynch wrote: > Hi Jacqueline, > > Thank you for this reply. I keep working with this issue, but I still > cannot resolve it. When I put the Android phone down on a table, to be > still, the compass heading from LC jumps up and down by as much as 10 > degrees - way too big of a range just to round. > > However, the compass app I downloaded on that same device is rock steady. > > I really wish it would just work, rather than having to massage the data > from the device. > > On Mon, Aug 13, 2018 at 4:24 PM J. Landman Gay via use-livecode < > use-livecode at lists.runrev.com> wrote: > >> On 8/11/18 3:34 PM, Jonathan Lynch via use-livecode wrote: >> > I have a new galaxy phone. When I read the mobile compass, both >> magnetic heading and true heading constantly change - even if the phone is >> laying down still. It changes up and down randomly by 5 degrees or so. Does >> anyone know if this is a problem with LC or with galaxy phones? My iPhone >> does not do this. >> >> My Galaxy S5 does the same thing with a LC compass I made. My guess is >> that's the way Android reads GPS data. When it tries to find my house, >> it does a whole bunch of hops around the circumference before settling >> down on the center, and even then it still twitches as it tries for more >> accuracy. >> >> A compass I downloaded from the Play Store does not do that on my Pixel. >> I'd guess that the app is doing some rounding to the nearest integer, >> since it doesn't display fractional values. >> >> Try downloading a few of the dozens of compasses on the Play Store and >> see how they behave. It may be that LC is actually more precise than you >> want it to be. I do know that LC is only reporting what the OS tells it. >> >> -- >> Jacqueline Landman Gay | jacque at hyperactivesw.com >> HyperActive Software | http://www.hyperactivesw.com >> >> _______________________________________________ >> use-livecode mailing list >> use-livecode at lists.runrev.com >> Please visit this url to subscribe, unsubscribe and manage your >> subscription preferences: >> http://lists.runrev.com/mailman/listinfo/use-livecode >> > > > -- > Do all things with love > -- Do all things with love From ambassador at fourthworld.com Sat Aug 18 14:32:19 2018 From: ambassador at fourthworld.com (Richard Gaskin) Date: Sat, 18 Aug 2018 11:32:19 -0700 Subject: fullscreenmode and rect of a substack on mobile device ? In-Reply-To: <3AD3CF89-6E4C-4608-A9FC-E56DDADFD115@laposte.net> References: <3AD3CF89-6E4C-4608-A9FC-E56DDADFD115@laposte.net> Message-ID: <99f39315-d93c-ba00-db5f-423ef3d209c1@fourthworld.com> Ludovic THEBAULT wrote: > I?ve a stack for phone and a substack for tablet (with iPad ratio, > 1024*768). i use the fullscreenmode to ? show all ? > > On android tablet, the ratio height/width is sometimes very different > from iPad. > I tried to change the height of the substack before open it but with no luck : > > // in the openstack handler of the mainstack > put item 3 of the screenrect into theight > put item 4 of the screenrect into twidth > put theight/twidth into tratio > set the height of stack "substackTablet" to round(1024*tratio) > mobileSetAllowedOrientations("portrait") > open stack "substackTablet" > set the fullscreenmode of stack "substackTablet" to "showall" > set the height of grp "grpbackground" of stack "substackTablet" to round(1000*tratio) > > > => as result, the top of the stack and the bottom of the stack aren?t > the top and the bottom of the screen. If i want my background group > cover all the screen i need to set this top to -200 for example. > > How get the ? real ? rect of the stack ? Without fullScreenMode it's as simple as: get the rect of this stack FullScreenMode makes handling dynamic layout details complex. It's well suited for certain types of games or multimedia presentations, such as Monument Valley. In those types of layouts everything is stretched to fit, without needing dynamic placement of individual controls. But consider the apps on your phone. The ones I use the most are gMmail, Firefox, YouTube, Twitter, Instagram, LinkedIn, Skype, SimpleNote, Play Music, Nextcloud, Hangouts, Telegram, Maps, Calculator, Ingres, and a few others. Every one of them uses dynamic positioning of the sort we've been doing in LiveCode for decades by responding to the resizeStack message. I don't know what you're working on so I can't have an opinion of whether fullScreenMode is a good fit. But in practice I so rarely see other apps use that sort of scaling that I don't think about fullScreenMode much at all. Now that we've had several years since the LC team did a great job of delivering resolution independence, handling layouts in mobile is a breeze compared to the complex workarounds needed before. With LC's logical pixels, have total control over our layouts to make optimal use of every precious pixel on small screens, all with no more work than we've already become accustomed to after years of scripting for resizable windows. -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ____________________________________________________________________ Ambassador at FourthWorld.com http://www.FourthWorld.com From brian at milby7.com Sat Aug 18 14:49:49 2018 From: brian at milby7.com (Brian Milby) Date: Sat, 18 Aug 2018 13:49:49 -0500 Subject: fullscreenmode and rect of a substack on mobile device ? In-Reply-To: <54a60fd4-4919-46f0-8f12-da61ef5d392e@Spark> References: <3AD3CF89-6E4C-4608-A9FC-E56DDADFD115@laposte.net> <54a60fd4-4919-46f0-8f12-da61ef5d392e@Spark> Message-ID: Here is the card script that I just tested on iOS. It will rotate a two object card between portrait/landscape on my phone with no issues. It handles either orientation as the initial orientation. local sOrientation, sLongSide, sShortSide on preOpenCard local tScreenRect if the environment is "mobile" then set the fullscreenmode of this stack to "noScale" end if -- get the dimensions of the current screen put the screenRect into tScreenRect -- figure out long/short sides if item 3 of tScreenRect > item 4 of tScreenRect then put item 3 of tScreenRect into sLongSide put item 4 of tScreenRect into sShortSide else put item 4 of tScreenRect into sLongSide put item 3 of tScreenRect into sShortSide end if put word 1 of mobileDeviceOrientation() into sOrientation if sOrientation is not in "portrait,landscape" then put "portrait" into sOrientation end if resizeStack end preOpenCard on orientationChanged local tNewOrientation put word 1 of mobileDeviceOrientation() into tNewOrientation if tNewOrientation is in "portrait,landscape" then put tNewOrientation into sOrientation resizeStack end if end orientationChanged on resizeStack pNewWidth, pNewHeight, pOldWidth, pOldHeight local tStackRect, tBrowserRect, tNavbarRect if sOrientation is "landscape" then put 0, 0, sLongSide, sShortSide into tStackRect else put 0, 0, sShortSide, sLongSide into tStackRect end if put tStackRect into tBrowserRect put item 4 of tStackRect - 50 into item 4 of tBrowserRect put tStackRect into tNavbarRect put item 4 of tBrowserRect into item 2 of tNavbarRect lock screen set the rect of this stack to tStackRect set the rect of widget "Browser" of me to tBrowserRect set the rect of widget "Navigation Bar" of me to tNavbarRect unlock screen end resizeStack On Sat, Aug 18, 2018 at 12:22 PM, Brian Milby wrote: > For your browser example, you probably want to use noScale. You just need > to be sure you capture the rect at the right time. You don?t know the new > rect until after the orientation changed handler ends. I?ll see if I can > locate that stack example again that you put up. Unfortunately I can only > test on iOS right now. > > One good thing I discovered is that the content inside the browser widget > is always native resolution (at least I thought so). So the only part of > the screen that would have distortion would be the elements outside the > widget if you used exactFit. It sounds like that was not the case for you > though. > > I agree... the fullScreenModes are most useful when you want the elements > of the application to scale with the device size. > > Thanks, > Brian > On Aug 18, 2018, 11:37 AM -0500, Sannyasin Brahmanathaswami via > use-livecode , wrote: > > I have a similar issue with a stack that > > a) contains a browser that wants to fill the entire screen (of any device) > b) a tool bar on the bottom, the background ( 50 px wide) which to set to > 2000 wide > c) a 4 widget that appear on bottom on top to background. > > It should work on portrait and landscape > > That's it, not a complicated screen to layout, responsive... or so we > thought.... > > Going around and around with this on support, I was using "show all" > set at 414x736 (iPhone); and with Jacque's help to optimize my code > > This left pillar boxes left and right (show the stack/card color) on my > Android. > > Using all the "new methods" > > mobileSetFullScreenRectForOrientations "portrait,portrait upside > down","0,0,414,736" > > etc > > We were unable to gain programmatic control to use screenrect to fit the > device. > > My Guess/I am wrong, HQ could let us know: > > seems the fullscreenmode[what-Ever-It-Is] will, at an engine level will > override any attempt to do the simple "responsive" handlers of > > ======== > > # snip the orientation changed handlers, > > # but it all comes down to this: > > put the screenrect into tRect > > set rect to widget "browser" to \ > > (item 1 of the tRect, item 2 of the tRect, item 3 of tRect, item 4 of > tRect-50) > > ======== > > Support said > > use fullscreenmode "exactFit" > > Jacque predicted it would fail, all kinds of distortion. I used tried it, > worked on the Pixel. (ratio of the widget at bottom barely noticeable) I > happily deployed to my "nightly" branch > > When I finally dug out an iPad to test--oh horror, Jacque was right -- the > widget and the bottom were all stretched out! > > So, I was stuck, went on another project, but I too would like to > > Ludovic THEBAULT wrote: > > How get the ? real ? rect of the stack ? > > is seems, if you want to do "responsive" design, that it will need to be > done *without* using fullscreenmode, and do it by handling the screenrect > yourself. Which defeats the purpose of fullScreenMode "help" for the > developer. > > @Andy I will try the effective Screenrect to see what we get. > > BR > > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > > From MikeKerner at roadrunner.com Sat Aug 18 15:29:50 2018 From: MikeKerner at roadrunner.com (Mike Kerner) Date: Sat, 18 Aug 2018 15:29:50 -0400 Subject: logging In-Reply-To: <1b3248e1-e5d5-0bca-1de4-7fd3ea3632ab@fourthworld.com> References: <1b3248e1-e5d5-0bca-1de4-7fd3ea3632ab@fourthworld.com> Message-ID: It's a different audience. Choose wisely. From dougr at telus.net Sat Aug 18 16:38:57 2018 From: dougr at telus.net (Douglas Ruisaard) Date: Sat, 18 Aug 2018 13:38:57 -0700 Subject: Socket questions Message-ID: <03a501d43733$7d9f2af0$78dd80d0$@net> Experimenting with sockets in LC .. Windows 7 Pro, LC v8.1.9. I have tsnet working fine in another project but tsnet appears to be primarily for "sending" stuff (sorry for the technical jargon). Of course, tsnet can read after it sends a request. However, sockets let me simply open and READ messages, which is what I need in this particular setting. I am using a very simple stack with one card and one button on that card with my code at the end of this message. The "strange" URL ("Kitchen.local:80") is the assigned ID for an ESP8266 WiFi module. This script works fine if the module is "on-line" and responding .. returns the following from the code running on the ESP8266, as expected: Data read from socket Kitchen.local:80 HTTP/1.0 200 OK Content-Type: Kitchen.local/getinterrupt ... NO interrupts ... |2018 8 18|10 49 14|Saturday Content-Length: 0 Connection: close going to sleep ps.. I am "mis-using" some of the HTML fields for different "content" than normal.. but this is OK and works according to my needs.. not the issue here. If I substitute "www.google.com:80" as the socket ID, the "socketTimeout" messages gets generated. That's fine. I'm certain Google does not generate an output with "sleep" in it. However, if I substitute "www.googleXXX.com:80" as the socket ID (or distort *my* ESP8266 ID to a non-existent one), I would have expected some sort of error message... trapped by the "socketError" handler ... but I get nothing. I can't seem to get the "socketError" message (or "socketClosed" message for that matter) to trigger at all. What I'm REALLY looking for is a "timeout" message, ideally... but a "no connect" or "no such socket" would be fine too. But "crickets"... I know that the "socketTimeout" only gets generated after a successful socket open. Any help would be greatly appreciated! local thisSocket, timeoutCount on mouseUp put empty put "Kitchen.local:80" into thisSocket //put "www.google.com:80" into thisSocket put 5 into timeoutCount set the socketTimeoutInterval to 2000 open socket to thisSocket read from socket thisSocket until "sleep" with message "socketFinishedReading" end mouseUp on socketFinishedReading pSocketID pDataIn put "Data read from socket" && pSocketID & return & pDataIn close socket thisSocket end socketFinishedReading on socketTimeout theID put empty wait 100 milliseconds with messages put "The connnection: " & theID & " is not responding." subtract 1 from timeoutCount if timeoutCount < 1 then close Socket theID end if end socketTimeout on socketError theID, theError answer error "There is a problem with connection: " & theID & "Error: " & theError close socket theID end socketError on socketClosed theID answer warning "connection: " & theID & " has been closed" end socketClosed Douglas Ruisaard Trilogy Software From jacque at hyperactivesw.com Sat Aug 18 20:52:29 2018 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Sat, 18 Aug 2018 19:52:29 -0500 Subject: fullscreenmode and rect of a substack on mobile device ? In-Reply-To: <99f39315-d93c-ba00-db5f-423ef3d209c1@fourthworld.com> References: <3AD3CF89-6E4C-4608-A9FC-E56DDADFD115@laposte.net> <99f39315-d93c-ba00-db5f-423ef3d209c1@fourthworld.com> Message-ID: <1654fab3cf8.2761.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> Actually, the rect of the stack remains constant in fullscreenmode, you don't need to account for the engine resizing. All placement calculations can be done normally. That's one of the beauties of it. Handling dynamic placement is no different than without fullscreenmode, except that you don't need to worry about ratios, resolution, or any of that. -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com On August 18, 2018 1:48:09 PM Richard Gaskin via use-livecode wrote: > > Without fullScreenMode it's as simple as: > > get the rect of this stack > > FullScreenMode makes handling dynamic layout details complex. From gcanyon at gmail.com Sat Aug 18 21:46:41 2018 From: gcanyon at gmail.com (Geoff Canyon) Date: Sat, 18 Aug 2018 18:46:41 -0700 Subject: Navigator 6.0 Alpha 4 In-Reply-To: <039901d43719$32ebeee0$98c3cca0$@net> References: <039901d43719$32ebeee0$98c3cca0$@net> Message-ID: I?ll have a look when I?m back at my laptop. gc > On Aug 18, 2018, at 10:30 AM, Douglas Ruisaard via use-livecode wrote: > > Geoff... > > Excellent tool but I can't seem to get it to display one of the "cards" of a Data Grid template. In a "standard" DataGrid Form object, Card Id's 1002 and 1005 are created. > > According to the LC Project Browser, which identifies iconically and positionally the "Data Grid Template xxxxxx" as a "card" (although its Property sees it as a stack) ... and which Navigator correctly identifies it as a stack ... there is a Card id 1005 which contains a few objects, including the Behavior Script of the grid. > > Card 1005 does NOT appear in Navigator... or at least I can't find a way to get it to appear. > > Any suggestions? > > Douglas Ruisaard > Trilogy Software > > > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From monte at appisle.net Sun Aug 19 00:20:38 2018 From: monte at appisle.net (Monte Goulding) Date: Sun, 19 Aug 2018 14:20:38 +1000 Subject: Split an Array to Numeric with 2 Dimensions In-Reply-To: References: Message-ID: <5FE70E57-9381-4F00-9098-65A1EE828ACE@appisle.net> I think what you are after is an enhancement request here https://quality.livecode.com/show_bug.cgi?id=9950 For now you would need to use numeric keys for the columns: split theList by return and ?|? put theList[2][1] -> orange > On 19 Aug 2018, at 2:43 am, Sannyasin Brahmanathaswami via use-livecode wrote: > > I decide to study up to improve my array management skills. Looked up the dictionary: element, columnDel, RowDelimiter etc Tools I never used. But I can't fine a "one pass" split that takes a dBase dump like this and makes a 2nd dimension. Other than to do it "manually" > > Also I thought, after reading the dictionary, that the "element" would be "1" in > > uDataArray[1][someValue] > > But instead I was getting "someValue" -- so I am not understanding something there. > > ===== > > apples|https://www.washington.com/neutral > > orange|https://www.california.com|citrus > > peaches|https://www.idaho.com|sweet From ahsoftware at sonic.net Sun Aug 19 00:41:36 2018 From: ahsoftware at sonic.net (Mark Wieder) Date: Sat, 18 Aug 2018 21:41:36 -0700 Subject: Socket questions In-Reply-To: <03a501d43733$7d9f2af0$78dd80d0$@net> References: <03a501d43733$7d9f2af0$78dd80d0$@net> Message-ID: On 08/18/2018 01:38 PM, Douglas Ruisaard via use-livecode wrote: > However, if I substitute "www.googleXXX.com:80" as the socket ID (or distort *my* ESP8266 ID to a non-existent one), I would have expected some sort of error message... trapped by the "socketError" handler ... but I get nothing. That's a dns lookup failure, which won't get as far as a socketError message. What you should get instead is a non-empty result message from the openSocket command. I can't comment on tsNet, but libUrl has never to my recollection actually done this correctly. -- Mark Wieder ahsoftware at gmail.com From jacque at hyperactivesw.com Sun Aug 19 01:07:28 2018 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Sun, 19 Aug 2018 00:07:28 -0500 Subject: fullscreenmode and rect of a substack on mobile device ? In-Reply-To: <1654fab3cf8.2761.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> References: <3AD3CF89-6E4C-4608-A9FC-E56DDADFD115@laposte.net> <99f39315-d93c-ba00-db5f-423ef3d209c1@fourthworld.com> <1654fab3cf8.2761.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> Message-ID: <71c3432e-4baa-f061-da27-5f7c79b5c723@hyperactivesw.com> On 8/18/18 7:52 PM, J. Landman Gay via use-livecode wrote: > Actually, the rect of the stack remains constant in fullscreenmode, you > don't need to account for the engine resizing. All placement > calculations can be done normally. That's one of the beauties of it. I didn't express this exactly right -- it remains constant in that the rect of the stack represents the current on-screen rect rather than the size it was created at. -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com From brian at milby7.com Sun Aug 19 01:16:57 2018 From: brian at milby7.com (Brian Milby) Date: Sun, 19 Aug 2018 00:16:57 -0500 Subject: fullscreenmode and rect of a substack on mobile device ? In-Reply-To: <1654fab3cf8.2761.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> References: <3AD3CF89-6E4C-4608-A9FC-E56DDADFD115@laposte.net> <99f39315-d93c-ba00-db5f-423ef3d209c1@fourthworld.com> <1654fab3cf8.2761.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> Message-ID: @Sannyasin Something just clicked... if fullscreenmode is not empty, then resizestack messages are not generated. Which is part of why the new commands were created. For what you want with the browser, your handlers should be very simple. Here's what I came up with to put the browser widget and a nav bar on a card. I didn't need to mess with orientation changed messages at all since the relative positions of everything is static. Here's my very simplified card script: on preOpenCard if the environment is "mobile" then set the fullscreenmode of this stack to empty end if resizeStack the width of this stack, the height of this stack end preOpenCard on resizeStack pNewWidth, pNewHeight, pOldWidth, pOldHeight local tBrowserRect, tNavbarRect put 0, 0, pNewWidth, pNewHeight - 50 into tBrowserRect put 0, pNewHeight - 50, pNewWidth, pNewHeight into tNavbarRect lock screen set the rect of widget "Browser" of me to tBrowserRect set the rect of widget "Navigation Bar" of me to tNavbarRect unlock screen end resizeStack I tested it out on my iPhone and it seemed to work well. (The preOpenCard resizeStack is needed or else the card will be displayed in whatever size it was originally developed in at the top left of the screen.) Thanks, Brian From richmondmathewson at gmail.com Sun Aug 19 04:48:42 2018 From: richmondmathewson at gmail.com (Richmond Mathewson) Date: Sun, 19 Aug 2018 11:48:42 +0300 Subject: Macintosh bloat Message-ID: I ran off a series of standalones to day: Mac, Win, Linux 32 and Linux 64 and they ended up as these sizes, respectively: 146.6 MB, 72.4 MB, 75.6 MB, 75.9 MB Can anyone tell me why the Macintosh standalone is about twice the size of all the others [leaving aside remarks about the late Steve Jobs' ego, the fact that Macintosh computers are hugely expensive and so on]? Richmond. From bogdanoff at me.com Sun Aug 19 05:15:06 2018 From: bogdanoff at me.com (Peter Bogdanoff) Date: Sun, 19 Aug 2018 02:15:06 -0700 Subject: Macintosh bloat In-Reply-To: References: Message-ID: <0129CF00-CE6C-4BFF-BFDC-AC378BBB4688@me.com> Hi Richmond, In the standalone settings, are you building for both 32-bit and 64-bit? Peter > On Aug 19, 2018, at 1:48 AM, Richmond Mathewson via use-livecode wrote: > > I ran off a series of standalones to day: Mac, Win, Linux 32 and Linux 64 and they ended up as these sizes, respectively: > > 146.6 MB, 72.4 MB, 75.6 MB, 75.9 MB > > Can anyone tell me why the Macintosh standalone is about twice the size of all the others > [leaving aside remarks about the late Steve Jobs' ego, the fact that Macintosh computers are hugely expensive and so on]? > > Richmond. > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From richmondmathewson at gmail.com Sun Aug 19 06:06:00 2018 From: richmondmathewson at gmail.com (Richmond Mathewson) Date: Sun, 19 Aug 2018 13:06:00 +0300 Subject: Macintosh bloat In-Reply-To: <0129CF00-CE6C-4BFF-BFDC-AC378BBB4688@me.com> References: <0129CF00-CE6C-4BFF-BFDC-AC378BBB4688@me.com> Message-ID: <350d1fed-e006-4b5c-dccd-3af37d7d91d4@gmail.com> 32-bit Mac. Richmond. On 19/8/2018 12:15 pm, Peter Bogdanoff via use-livecode wrote: > Hi Richmond, > > In the standalone settings, are you building for both 32-bit and 64-bit? > > Peter > > >> On Aug 19, 2018, at 1:48 AM, Richmond Mathewson via use-livecode wrote: >> >> I ran off a series of standalones to day: Mac, Win, Linux 32 and Linux 64 and they ended up as these sizes, respectively: >> >> 146.6 MB, 72.4 MB, 75.6 MB, 75.9 MB >> >> Can anyone tell me why the Macintosh standalone is about twice the size of all the others >> [leaving aside remarks about the late Steve Jobs' ego, the fact that Macintosh computers are hugely expensive and so on]? >> >> Richmond. >> _______________________________________________ >> use-livecode mailing list >> use-livecode at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From brahma at hindu.org Sun Aug 19 10:18:25 2018 From: brahma at hindu.org (Sannyasin Brahmanathaswami) Date: Sun, 19 Aug 2018 14:18:25 +0000 Subject: fullscreenmode and rect of a substack on mobile device ? References: <3AD3CF89-6E4C-4608-A9FC-E56DDADFD115@laposte.net> <99f39315-d93c-ba00-db5f-423ef3d209c1@fourthworld.com> Message-ID: On 8/18/18 8:46 AM, Richard Gaskin via use-livecode wrote: > With LC's logical pixels, have total control over our layouts to make > optimal use of every precious pixel on small screens, all with no more > work than we've already become accustomed to after years of scripting > for resizable windows. Aloha, Richard, How you are keeping well, the father-in-law health business, keeping 24 hour vigil (we know about that!) et. al. re Geometry: You keep telling us this again and again, but you never provide an example. I would be great if you to put example stack of say, a card with 20 controls, where you make the UI responsive for any device rect, I beginning to think the "fullScreenMode [whatEver]" may not be the best fit for my needs. But would not no where to being-- "I need to see the code!" I am one who "builds on tradition" and we like to have have to re-invent the wheel. Brahmanathaswami From brian at milby7.com Sun Aug 19 10:24:43 2018 From: brian at milby7.com (Brian Milby) Date: Sun, 19 Aug 2018 09:24:43 -0500 Subject: fullscreenmode and rect of a substack on mobile device ? In-Reply-To: References: <3AD3CF89-6E4C-4608-A9FC-E56DDADFD115@laposte.net> <99f39315-d93c-ba00-db5f-423ef3d209c1@fourthworld.com> Message-ID: <64c36024-2000-4c9f-ba40-f3b2051f47f4@Spark> If you just want the controls to have the same relative position/size, then the GM can handle this. If you want to change metrics based on portrait/landscape then you either need to add PM or write a custom resize handler that takes orientation into account. My code above should work for the first case (does not use GM). I?ll add something later this afternoon that takes orientation into account. Thanks, Brian On Aug 19, 2018, 9:19 AM -0500, Sannyasin Brahmanathaswami via use-livecode , wrote: > On 8/18/18 8:46 AM, Richard Gaskin via use-livecode wrote: > > With LC's logical pixels, have total control over our layouts to make > > optimal use of every precious pixel on small screens, all with no more > > work than we've already become accustomed to after years of scripting > > for resizable windows. > > Aloha, Richard, > > How you are keeping well, the father-in-law health business, keeping 24 > hour vigil (we know about that!) et. al. > > re Geometry: You keep telling us this again and again, but you never > provide an example. I would be great if you to put example stack of say, > a card with 20 controls, where you make the UI responsive for any device > rect, I beginning to think the "fullScreenMode [whatEver]" may not be > the best fit for my needs. But would not no where to being-- "I need to > see the code!" I am one who "builds on tradition" and we like to have > have to re-invent the wheel. > > Brahmanathaswami > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From dougr at telus.net Sun Aug 19 10:55:18 2018 From: dougr at telus.net (Douglas Ruisaard) Date: Sun, 19 Aug 2018 07:55:18 -0700 Subject: use-livecode Digest, Vol 179, Issue 47 In-Reply-To: rFwJfYWiQn5MbrFwOfAYGt References: rFwJfYWiQn5MbrFwOfAYGt Message-ID: <03c801d437cc$a749ba70$f5dd2f50$@net> Thanks, Mark .. but "the result" returns NOTHING in either a distorted Google or local call.. BOTH of which are, indeed, DNS "errors" not strictly "socket" errors... thanks for that insight! I'll go back to using tsnet for this other project. I can time it out and use send" a dummy request to test the connection. Cheers! Douglas Ruisaard Trilogy Software (250) 573-3935 > From: Mark Wieder > To: Douglas Ruisaard via use-livecode > Subject: Re: Socket questions > Message-ID: > Content-Type: text/plain; charset=utf-8; format=flowed > > On 08/18/2018 01:38 PM, Douglas Ruisaard via use-livecode wrote: > > > However, if I substitute "www.googleXXX.com:80" as the socket ID (or distort *my* ESP8266 ID to a > non-existent one), I would have expected some sort of error message... trapped by the "socketError" > handler ... but I get nothing. > > That's a dns lookup failure, which won't get as far as a socketError > message. What you should get instead is a non-empty result message from > the openSocket command. I can't comment on tsNet, but libUrl has never > to my recollection actually done this correctly. > > -- > Mark Wieder > ahsoftware at gmail.com > > > From ahsoftware at sonic.net Sun Aug 19 12:31:36 2018 From: ahsoftware at sonic.net (Mark Wieder) Date: Sun, 19 Aug 2018 09:31:36 -0700 Subject: use-livecode Digest, Vol 179, Issue 47 In-Reply-To: <03c801d437cc$a749ba70$f5dd2f50$@net> References: <03c801d437cc$a749ba70$f5dd2f50$@net> Message-ID: <563fa011-f8e4-359c-23b6-7a16d933fd0e@sonic.net> On 08/19/2018 07:55 AM, Douglas Ruisaard via use-livecode wrote: > Thanks, Mark .. but "the result" returns NOTHING in either a distorted Google or local call.. Yeah, that's exactly the point. Until that gets fixed you're SOL. Your only option is not to put an invalid url in there. -- Mark Wieder ahsoftware at gmail.com From tom at makeshyft.com Sun Aug 19 12:48:53 2018 From: tom at makeshyft.com (Tom Glod) Date: Sun, 19 Aug 2018 12:48:53 -0400 Subject: Macintosh bloat In-Reply-To: <350d1fed-e006-4b5c-dccd-3af37d7d91d4@gmail.com> References: <0129CF00-CE6C-4BFF-BFDC-AC378BBB4688@me.com> <350d1fed-e006-4b5c-dccd-3af37d7d91d4@gmail.com> Message-ID: i dunno if this is still an ssue..but in previous versions..... the standalones were bloated because of CEF. https://quality.livecode.com/show_bug.cgi?id=20339 On Sun, Aug 19, 2018 at 6:06 AM, Richmond Mathewson via use-livecode < use-livecode at lists.runrev.com> wrote: > 32-bit Mac. > > Richmond. > > > On 19/8/2018 12:15 pm, Peter Bogdanoff via use-livecode wrote: > >> Hi Richmond, >> >> In the standalone settings, are you building for both 32-bit and 64-bit? >> >> Peter >> >> >> On Aug 19, 2018, at 1:48 AM, Richmond Mathewson via use-livecode < >>> use-livecode at lists.runrev.com> wrote: >>> >>> I ran off a series of standalones to day: Mac, Win, Linux 32 and Linux >>> 64 and they ended up as these sizes, respectively: >>> >>> 146.6 MB, 72.4 MB, 75.6 MB, 75.9 MB >>> >>> Can anyone tell me why the Macintosh standalone is about twice the size >>> of all the others >>> [leaving aside remarks about the late Steve Jobs' ego, the fact that >>> Macintosh computers are hugely expensive and so on]? >>> >>> Richmond. >>> _______________________________________________ >>> use-livecode mailing list >>> use-livecode at 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 at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From jacque at hyperactivesw.com Sun Aug 19 13:33:03 2018 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Sun, 19 Aug 2018 12:33:03 -0500 Subject: Macintosh bloat In-Reply-To: <350d1fed-e006-4b5c-dccd-3af37d7d91d4@gmail.com> References: <0129CF00-CE6C-4BFF-BFDC-AC378BBB4688@me.com> <350d1fed-e006-4b5c-dccd-3af37d7d91d4@gmail.com> Message-ID: <165533f5098.2761.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> If I remember right, LC now always builds for 64 bit. If you also want to support 32 bit, it adds that to the build, which approximately doubles the size. -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com On August 19, 2018 5:07:57 AM Richmond Mathewson via use-livecode wrote: > 32-bit Mac. > > Richmond. > > On 19/8/2018 12:15 pm, Peter Bogdanoff via use-livecode wrote: >> Hi Richmond, >> >> In the standalone settings, are you building for both 32-bit and 64-bit? >> >> Peter >> >> >>> On Aug 19, 2018, at 1:48 AM, Richmond Mathewson via use-livecode >>> wrote: >>> >>> I ran off a series of standalones to day: Mac, Win, Linux 32 and Linux 64 >>> and they ended up as these sizes, respectively: >>> >>> 146.6 MB, 72.4 MB, 75.6 MB, 75.9 MB >>> >>> Can anyone tell me why the Macintosh standalone is about twice the size of >>> all the others >>> [leaving aside remarks about the late Steve Jobs' ego, the fact that >>> Macintosh computers are hugely expensive and so on]? >>> >>> Richmond. >>> _______________________________________________ >>> use-livecode mailing list >>> use-livecode at 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 at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From richmondmathewson at gmail.com Sun Aug 19 15:24:23 2018 From: richmondmathewson at gmail.com (Richmond Mathewson) Date: Sun, 19 Aug 2018 22:24:23 +0300 Subject: Macintosh bloat In-Reply-To: References: <0129CF00-CE6C-4BFF-BFDC-AC378BBB4688@me.com> <350d1fed-e006-4b5c-dccd-3af37d7d91d4@gmail.com> Message-ID: <20410c7d-7474-64bf-a22d-73b9b4ab12d8@gmail.com> Once upon a time there was an idea floating around that the programmer could choose, via the standalone settings stack, what components to include, and what not to . . . . . . . the 'guff' for Unicode, the widget stuff, and so on. This never materialised. From my point of view, when I build standalones for my Devaweriter Pro i need 100% the Unicode stuff; beyond that I need precious few capabilities from any version after LC 4.5. [ RR/LC 4.0 mucked up on GIF and PNG images and their transparency; that was sorted out by 4.5 ] Now, as my "target demographic" (silly way of saying 'people I want to use my program') consists of people who have laptop computers made in the last 15 years (Yes, as old as that) and hard disks of over 10 GB capacity, the fact that the Mac builds of Devawriter Pro are currently coming in at 145 MB, while the Windows and Linux ones are about 75 MB is not the end of the world. What I am wondering about is whether that socking great size means that the Mac standalones contain buckets more "stuff" the operating system has to "chew its way through", so slowing the thing down. If that extra stuff which the operating system has to "chew its way through" is essential, well, so be it, but if it is stuff my program will not use then that's a load of cr*p. Richmond. On 19/8/2018 7:48 pm, Tom Glod via use-livecode wrote: > i dunno if this is still an ssue..but in previous versions..... the > standalones were bloated because of CEF. > > https://quality.livecode.com/show_bug.cgi?id=20339 > > > > On Sun, Aug 19, 2018 at 6:06 AM, Richmond Mathewson via use-livecode < > use-livecode at lists.runrev.com> wrote: > >> 32-bit Mac. >> >> Richmond. >> >> >> On 19/8/2018 12:15 pm, Peter Bogdanoff via use-livecode wrote: >> >>> Hi Richmond, >>> >>> In the standalone settings, are you building for both 32-bit and 64-bit? >>> >>> Peter >>> >>> >>> On Aug 19, 2018, at 1:48 AM, Richmond Mathewson via use-livecode < >>>> use-livecode at lists.runrev.com> wrote: >>>> >>>> I ran off a series of standalones to day: Mac, Win, Linux 32 and Linux >>>> 64 and they ended up as these sizes, respectively: >>>> >>>> 146.6 MB, 72.4 MB, 75.6 MB, 75.9 MB >>>> >>>> Can anyone tell me why the Macintosh standalone is about twice the size >>>> of all the others >>>> [leaving aside remarks about the late Steve Jobs' ego, the fact that >>>> Macintosh computers are hugely expensive and so on]? >>>> >>>> Richmond. >>>> _______________________________________________ >>>> use-livecode mailing list >>>> use-livecode at 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 at 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 at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From richmondmathewson at gmail.com Sun Aug 19 15:26:14 2018 From: richmondmathewson at gmail.com (Richmond Mathewson) Date: Sun, 19 Aug 2018 22:26:14 +0300 Subject: Macintosh bloat In-Reply-To: <165533f5098.2761.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> References: <0129CF00-CE6C-4BFF-BFDC-AC378BBB4688@me.com> <350d1fed-e006-4b5c-dccd-3af37d7d91d4@gmail.com> <165533f5098.2761.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> Message-ID: <4c443ccf-5579-fa3c-7349-66c04e09a695@gmail.com> I'm talking about LC 8.1.10 which gives me the choice of building a 32-bit Mac app or a 64-bit app ('experimental'): currently, at least, I am ONLY building a 32-bit build for Mac. Richmond. On 19/8/2018 8:33 pm, J. Landman Gay via use-livecode wrote: > If I remember right, LC now always builds for 64 bit. If you also want > to support 32 bit, it adds that to the build, which approximately > doubles the size. > > -- > Jacqueline Landman Gay | jacque at hyperactivesw.com > HyperActive Software | http://www.hyperactivesw.com > On August 19, 2018 5:07:57 AM Richmond Mathewson via use-livecode > wrote: > >> 32-bit Mac. >> >> Richmond. >> >> On 19/8/2018 12:15 pm, Peter Bogdanoff via use-livecode wrote: >>> Hi Richmond, >>> >>> In the standalone settings, are you building for both 32-bit and >>> 64-bit? >>> >>> Peter >>> >>> >>>> On Aug 19, 2018, at 1:48 AM, Richmond Mathewson via use-livecode >>>> wrote: >>>> >>>> I ran off a series of standalones to day: Mac, Win, Linux 32 and >>>> Linux 64 and they ended up as these sizes, respectively: >>>> >>>> 146.6 MB, 72.4 MB, 75.6 MB, 75.9 MB >>>> >>>> Can anyone tell me why the Macintosh standalone is about twice the >>>> size of all the others >>>> [leaving aside remarks about the late Steve Jobs' ego, the fact >>>> that Macintosh computers are hugely expensive and so on]? >>>> >>>> Richmond. >>>> _______________________________________________ >>>> use-livecode mailing list >>>> use-livecode at 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 at 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 at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From brahma at hindu.org Sun Aug 19 15:40:50 2018 From: brahma at hindu.org (Sannyasin Brahmanathaswami) Date: Sun, 19 Aug 2018 19:40:50 +0000 Subject: fullscreenmode and rect of a substack on mobile device ? References: <3AD3CF89-6E4C-4608-A9FC-E56DDADFD115@laposte.net> <99f39315-d93c-ba00-db5f-423ef3d209c1@fourthworld.com> <1654fab3cf8.2761.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> Message-ID: @Brian Milby Something just clicked... if fullscreenmode is not empty, then resizestack messages are not generated. You are right! No "fillscreenmode" and 14 line of code works on iPhone. But on not my Pixel. ---------------------- # Geometry on preOpenCard resizeStack the width of this stack, the height of this stack end preOpenCard on resizeStack pNewWidth, pNewHeight, pOldWidth, pOldHeight # check it is landscape, turn off the navigation Bar if tNewWidth > pNewHeight then put 0, 0, pNewWidth, pNewHeight - 50 into tBrowserRect hide group "footer" else put 0, 0, pNewWidth, pNewHeight into tBrowserRect show group "footer" end if set the rect of widget "body" of me to tBrowserRect end resizeStack I will issue a bug report. BR From jacque at hyperactivesw.com Sun Aug 19 16:20:15 2018 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Sun, 19 Aug 2018 15:20:15 -0500 Subject: Macintosh bloat In-Reply-To: <4c443ccf-5579-fa3c-7349-66c04e09a695@gmail.com> References: <0129CF00-CE6C-4BFF-BFDC-AC378BBB4688@me.com> <350d1fed-e006-4b5c-dccd-3af37d7d91d4@gmail.com> <165533f5098.2761.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <4c443ccf-5579-fa3c-7349-66c04e09a695@gmail.com> Message-ID: On 8/19/18 2:26 PM, Richmond Mathewson via use-livecode wrote: > I'm talking about LC 8.1.10 which gives me the choice of building a > 32-bit Mac app or a 64-bit app ('experimental'): > currently, at least, I am ONLY building a 32-bit build for Mac. I wasn't at the Mac when I wrote (I shouldn't do that) and now that I look, LC 9 still allows either/or options as well. So, something else is going on. -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com From brian at milby7.com Sun Aug 19 17:05:00 2018 From: brian at milby7.com (Brian Milby) Date: Sun, 19 Aug 2018 16:05:00 -0500 Subject: fullscreenmode and rect of a substack on mobile device ? In-Reply-To: References: <3AD3CF89-6E4C-4608-A9FC-E56DDADFD115@laposte.net> <99f39315-d93c-ba00-db5f-423ef3d209c1@fourthworld.com> <1654fab3cf8.2761.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> Message-ID: You probably still want to set the rect for the footer to be sure it lands where you want it on different size devices. That could be done in the preOpenCard handler (just put it where it needs to be for portrait) on preOpenCard local tWidth, tHeight, tFooterRect put the width of this stack into tWidth put the height of this stack into tHeight if tWidth > tHeight then put 0,tWidth-50,tHeight,tWidth into tFooterRect else put 0,tHeight-50,tWidth,tHeight into tFooterRect end if set the rect of widget "footer" of me to tFooterRect resizeStack tWidth, tHeight end preOpenCard If the Pixel does receive the orientationChanged messages, then you could use my first example. That code does actually work on the iPhone, it is just not necessary to manage it by hand like that. On Sun, Aug 19, 2018 at 2:40 PM, Sannyasin Brahmanathaswami via use-livecode wrote: > @Brian Milby > > Something just clicked... if fullscreenmode is not empty, then resizestack > messages are not generated. > > You are right! No "fillscreenmode" and 14 line of code works on iPhone. > > But on not my Pixel. > > > ---------------------- > > # Geometry > > on preOpenCard > > resizeStack the width of this stack, the height of this stack > > end preOpenCard > > on resizeStack pNewWidth, pNewHeight, pOldWidth, pOldHeight > > # check it is landscape, turn off the navigation Bar > > if tNewWidth > pNewHeight then > > put 0, 0, pNewWidth, pNewHeight - 50 into tBrowserRect > > hide group "footer" > > else > > put 0, 0, pNewWidth, pNewHeight into tBrowserRect > > show group "footer" > > end if > > set the rect of widget "body" of me to tBrowserRect > > end resizeStack > > > I will issue a bug report. > > > BR > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From jacque at hyperactivesw.com Sun Aug 19 18:31:54 2018 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Sun, 19 Aug 2018 17:31:54 -0500 Subject: fullscreenmode and rect of a substack on mobile device ? In-Reply-To: References: <3AD3CF89-6E4C-4608-A9FC-E56DDADFD115@laposte.net> <99f39315-d93c-ba00-db5f-423ef3d209c1@fourthworld.com> <1654fab3cf8.2761.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> Message-ID: <4adb0448-265d-fb8d-0dd9-bfc7d0bcffef@hyperactivesw.com> Android does receive orientationChanged messages. I've been tinkering with Swami's test stack, and dynamic positioning (no fullscreenMode) works fine with some effort. The footer isn't a widget, it's a group containing half a dozen controls, so they all need to be individually managed. You were right that they weren't in the correct position on Android. Swami's real project has thousands of controls over many hundreds of unique cards. I'd hate to be the one to write all the positioning scripts for that. But for a single instance where he's having issues, turning off fullscreenMode for just that card is a feasible solution. On 8/19/18 4:05 PM, Brian Milby via use-livecode wrote: > You probably still want to set the rect for the footer to be sure it lands > where you want it on different size devices. That could be done in the > preOpenCard handler (just put it where it needs to be for portrait) > > on preOpenCard > local tWidth, tHeight, tFooterRect > put the width of this stack into tWidth > put the height of this stack into tHeight > if tWidth > tHeight then > put 0,tWidth-50,tHeight,tWidth into tFooterRect > else > put 0,tHeight-50,tWidth,tHeight into tFooterRect > end if > set the rect of widget "footer" of me to tFooterRect > resizeStack tWidth, tHeight > end preOpenCard > > If the Pixel does receive the orientationChanged messages, then you could > use my first example. That code does actually work on the iPhone, it is > just not necessary to manage it by hand like that. > > On Sun, Aug 19, 2018 at 2:40 PM, Sannyasin Brahmanathaswami via > use-livecode wrote: > >> @Brian Milby -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com From brian at milby7.com Sun Aug 19 19:21:11 2018 From: brian at milby7.com (Brian Milby) Date: Sun, 19 Aug 2018 18:21:11 -0500 Subject: fullscreenmode and rect of a substack on mobile device ? In-Reply-To: <4adb0448-265d-fb8d-0dd9-bfc7d0bcffef@hyperactivesw.com> References: <3AD3CF89-6E4C-4608-A9FC-E56DDADFD115@laposte.net> <99f39315-d93c-ba00-db5f-423ef3d209c1@fourthworld.com> <1654fab3cf8.2761.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <4adb0448-265d-fb8d-0dd9-bfc7d0bcffef@hyperactivesw.com> Message-ID: I did figure out that within preOpenCard, the reported stack rect is still the dimensions of the saved stack file (at least on iOS). There is also the detail that when you hide a group, it sets all of the objects to hidden which has to be undone in a loop. I've worked out moving the group and the background grc, still looking at the math for the widget buttons. This would probably be a good place for the Navigation Bar with the option to select none of the icons (PR submitted, still pending). On Sun, Aug 19, 2018 at 5:31 PM, J. Landman Gay via use-livecode < use-livecode at lists.runrev.com> wrote: > Android does receive orientationChanged messages. I've been tinkering with > Swami's test stack, and dynamic positioning (no fullscreenMode) works fine > with some effort. > > The footer isn't a widget, it's a group containing half a dozen controls, > so they all need to be individually managed. You were right that they > weren't in the correct position on Android. > > Swami's real project has thousands of controls over many hundreds of > unique cards. I'd hate to be the one to write all the positioning scripts > for that. But for a single instance where he's having issues, turning off > fullscreenMode for just that card is a feasible solution. > > On 8/19/18 4:05 PM, Brian Milby via use-livecode wrote: > >> You probably still want to set the rect for the footer to be sure it lands >> where you want it on different size devices. That could be done in the >> preOpenCard handler (just put it where it needs to be for portrait) >> >> on preOpenCard >> local tWidth, tHeight, tFooterRect >> put the width of this stack into tWidth >> put the height of this stack into tHeight >> if tWidth > tHeight then >> put 0,tWidth-50,tHeight,tWidth into tFooterRect >> else >> put 0,tHeight-50,tWidth,tHeight into tFooterRect >> end if >> set the rect of widget "footer" of me to tFooterRect >> resizeStack tWidth, tHeight >> end preOpenCard >> >> If the Pixel does receive the orientationChanged messages, then you could >> use my first example. That code does actually work on the iPhone, it is >> just not necessary to manage it by hand like that. >> >> On Sun, Aug 19, 2018 at 2:40 PM, Sannyasin Brahmanathaswami via >> use-livecode wrote: >> >> @Brian Milby >>> >> > > -- > Jacqueline Landman Gay | jacque at hyperactivesw.com > HyperActive Software | http://www.hyperactivesw.com > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From ambassador at fourthworld.com Sun Aug 19 20:53:45 2018 From: ambassador at fourthworld.com (Richard Gaskin) Date: Sun, 19 Aug 2018 17:53:45 -0700 Subject: fullscreenmode and rect of a substack on mobile device ? In-Reply-To: References: Message-ID: <40e78021-452a-058f-b1db-b1966d8822ab@fourthworld.com> Jacque wrote: > Android does receive orientationChanged messages. I've been tinkering > with Swami's test stack, and dynamic positioning (no fullscreenMode) > works fine with some effort. Is there a benefit to responding to orientationChanged instead of resizeStack? As long as both messages are sent it may not matter, but that's the thing I'm unclear on: what does orientationChanged tell us on a mobile device that resizeStack doesn't? When is one sent without the other sent immediately after? Brian wrote: > I did figure out that within preOpenCard, the reported stack rect is > still the dimensions of the saved stack file (at least on iOS). That makes sense in a way, in that preOpenCard is sent before rendering and on mobile devices the stack is automatically resized, seemingly at the start of the rendering queue. Still, it seems unintuitive. Is there a reason preOpenCard couldn't be sent after the stack is resized but before the rendering of the content region occurs? FWIW I find resizeStack works well there too, apparently sent within the order of things where preOpenCard is expected here, after the stack is resized but before the user sees the rendering result. -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ____________________________________________________________________ Ambassador at FourthWorld.com http://www.FourthWorld.com From monte at appisle.net Sun Aug 19 21:19:00 2018 From: monte at appisle.net (Monte Goulding) Date: Mon, 20 Aug 2018 11:19:00 +1000 Subject: fullscreenmode and rect of a substack on mobile device ? In-Reply-To: <40e78021-452a-058f-b1db-b1966d8822ab@fourthworld.com> References: <40e78021-452a-058f-b1db-b1966d8822ab@fourthworld.com> Message-ID: <6F1971FF-944C-48D9-A86D-17F8ACE13695@appisle.net> > On 20 Aug 2018, at 10:53 am, Richard Gaskin via use-livecode wrote: > > As long as both messages are sent it may not matter, but that's the thing I'm unclear on: what does orientationChanged tell us on a mobile device that resizeStack doesn't? When is one sent without the other sent immediately after? When you have a fullscreenMode set then the stack doesn?t resize unless you either explicitly set the rect or (since 8.1.10) use mobileSetFullScreenRectForOrientations to specify a different rect for the orientation you are moving to. If the stack does not resize then it does not get sent a resizeStack message. Also the stack is sent orientationChanged regardless of the state of allowed orientations so if it?s not an allowed orientation then there may be no change and therefore no resizeStack. Cheers Monte From brahma at hindu.org Sun Aug 19 22:37:00 2018 From: brahma at hindu.org (Sannyasin Brahmanathaswami) Date: Mon, 20 Aug 2018 02:37:00 +0000 Subject: fullscreenmode and rect of a substack on mobile device ? References: <3AD3CF89-6E4C-4608-A9FC-E56DDADFD115@laposte.net> <99f39315-d93c-ba00-db5f-423ef3d209c1@fourthworld.com> <1654fab3cf8.2761.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <4adb0448-265d-fb8d-0dd9-bfc7d0bcffef@hyperactivesw.com> Message-ID: @Brian and all > glad this opened an important discussion.. and thank to the attempt to make it work @Brian footer control were too far down on that card(android) Many of cards in the SivaSiva app, would need major geometry refactoring (month(s) of work) without fullScreenMode...so I am not considering give that up. Any appreciation the on going discussion . But a browsers are integral to app, with HTML5 "presentions" coming and slideshow. I wanted "responsive to any screen size on all devices" for a simple browser stack with has a "body" (browser widget) and 5 controls on the bottom -- group "footer" why? we want cover the whole screen, with "pillar boxes" and the CSS will do the "real" positioning. in the surface is appear that one does not need: FullScreenMode / mobileSetFullScreenRectForOrientations orientationChanged "Intuitively" resize stack is all that is required. And, "intuitively" a group should place all controls relative to itself. And it does on iOS see: go stack url "http://wiki.hindu.org/uploads/BrowserLandscapeTest_r8.livecode" without line 14, it works iOS on preOpenCard if isMobile() then mobileSetAllowedOrientations "portrait,portrait upside down,landscape left,landscape right" end if end preOpenCard on resizeStack pNewWidth, pNewHeight, pOldWidth, pOldHeight # check it is landscape, turn off the navigation Bar if pNewWidth > pNewHeight then -- landscape put 0, 0, pNewWidth, pNewHeight into tBrowserRect hide group "footer" else put 0, 0, pNewWidth, pNewHeight - 50 into tBrowserRect #line14 # set loc group "footer" to (pNewWidth/2,pNewHeight-25) show group "footer" end if set the rect of widget "body" of me to tBrowserRect end resizeStack function isMobile return environment() = "mobile" end isMobile But the group "footer" was no appearing on Android. Jacque had her finger on it with this comment. Jacque (off list) "I see. That looks like a redraw problem. The resizeStack handler is working but the redraw fails. I did notice the icons were missing but didn't try to figure out why. A quick test says the footer is visible in portrait and false in landscape, but it isn't being drawn to screen for some reason. I think that's the bug to report." My "gut" told me "we just have to make footer redraw" This "gut" said: give the loc and it will redraw on resizeStack pNewWidth, pNewHeight, pOldWidth, pOldHeight # check it is landscape, turn off the navigation Bar if pNewWidth > pNewHeight then -- landscape put 0, 0, pNewWidth, pNewHeight into tBrowserRect hide group "footer" else put 0, 0, pNewWidth, pNewHeight - 50 into tBrowserRect set loc group "footer" to (pNewWidth/2,pNewHeight-25) show group "footer" end if set the rect of widget "body" of me to tBrowserRect end resizeStack and Bingo! It work on iOS and Android! (if someone could try in an android tablet I would appreciate), so it works, and I have a bug to report. But responsive screen in 19 lines of code! The child controls-the widget in the footer can stay where to are, in portrait, regardless on screen size/ration, there is no reason to "work it that hard" Brahmanathaswami On 8/19/18 1:21 PM, Brian Milby via use-livecode wrote: I did figure out that within preOpenCard, the reported stack rect is still the dimensions of the saved stack file (at least on iOS). There is also the detail that when you hide a group, it sets all of the objects to hidden which has to be undone in a loop. I've worked out moving the group and the background grc, still looking at the math for the widget buttons. This would probably be a good place for the Navigation Bar with the option to select none of the icons (PR submitted, still pending). From jacque at hyperactivesw.com Sun Aug 19 22:49:08 2018 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Sun, 19 Aug 2018 21:49:08 -0500 Subject: fullscreenmode and rect of a substack on mobile device ? In-Reply-To: References: <3AD3CF89-6E4C-4608-A9FC-E56DDADFD115@laposte.net> <99f39315-d93c-ba00-db5f-423ef3d209c1@fourthworld.com> <1654fab3cf8.2761.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <4adb0448-265d-fb8d-0dd9-bfc7d0bcffef@hyperactivesw.com> Message-ID: <165553c6ca0.2783.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> On Android, hiding and showing a group works as expected, I don't need to loop through the controls to show them. At first I thought they weren't being drawn, but in fact the whole group was below the bottom of the stack. -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com On August 19, 2018 6:23:00 PM Brian Milby via use-livecode wrote: > I did figure out that within preOpenCard, the reported stack rect is still > the dimensions of the saved stack file (at least on iOS). There is also > the detail that when you hide a group, it sets all of the objects to hidden > which has to be undone in a loop. I've worked out moving the group and the > background grc, still looking at the math for the widget buttons. This > would probably be a good place for the Navigation Bar with the option to > select none of the icons (PR submitted, still pending). > > On Sun, Aug 19, 2018 at 5:31 PM, J. Landman Gay via use-livecode < > use-livecode at lists.runrev.com> wrote: > >> Android does receive orientationChanged messages. I've been tinkering with >> Swami's test stack, and dynamic positioning (no fullscreenMode) works fine >> with some effort. >> >> The footer isn't a widget, it's a group containing half a dozen controls, >> so they all need to be individually managed. You were right that they >> weren't in the correct position on Android. >> >> Swami's real project has thousands of controls over many hundreds of >> unique cards. I'd hate to be the one to write all the positioning scripts >> for that. But for a single instance where he's having issues, turning off >> fullscreenMode for just that card is a feasible solution. >> >> On 8/19/18 4:05 PM, Brian Milby via use-livecode wrote: >> >>> You probably still want to set the rect for the footer to be sure it lands >>> where you want it on different size devices. That could be done in the >>> preOpenCard handler (just put it where it needs to be for portrait) >>> >>> on preOpenCard >>> local tWidth, tHeight, tFooterRect >>> put the width of this stack into tWidth >>> put the height of this stack into tHeight >>> if tWidth > tHeight then >>> put 0,tWidth-50,tHeight,tWidth into tFooterRect >>> else >>> put 0,tHeight-50,tWidth,tHeight into tFooterRect >>> end if >>> set the rect of widget "footer" of me to tFooterRect >>> resizeStack tWidth, tHeight >>> end preOpenCard >>> >>> If the Pixel does receive the orientationChanged messages, then you could >>> use my first example. That code does actually work on the iPhone, it is >>> just not necessary to manage it by hand like that. >>> >>> On Sun, Aug 19, 2018 at 2:40 PM, Sannyasin Brahmanathaswami via >>> use-livecode wrote: >>> >>> @Brian Milby >>>> >>> >> >> -- >> Jacqueline Landman Gay | jacque at hyperactivesw.com >> HyperActive Software | http://www.hyperactivesw.com >> >> _______________________________________________ >> use-livecode mailing list >> use-livecode at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From brahma at hindu.org Sun Aug 19 22:53:40 2018 From: brahma at hindu.org (Sannyasin Brahmanathaswami) Date: Mon, 20 Aug 2018 02:53:40 +0000 Subject: fullscreenmode and rect of a substack on mobile device ? References: <3AD3CF89-6E4C-4608-A9FC-E56DDADFD115@laposte.net> <99f39315-d93c-ba00-db5f-423ef3d209c1@fourthworld.com> <1654fab3cf8.2761.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <4adb0448-265d-fb8d-0dd9-bfc7d0bcffef@hyperactivesw.com> Message-ID: Jacque wrote: "I see. That looks like a redraw problem. The resizeStack handler isworking but the redraw fails. I did notice the icons were missing but didn't try to figure out why. A quick test says the footer is visible it portrait and false in landscape, but it isn't being drawn to screen for some reason. I think that's the bug to report." not that we have a finger on it yet; could be the "visible/invisible" issue that Brain mentioned. But here goes: > https://quality.livecode.com/show_bug.cgi?id=21506 From brian at milby7.com Sun Aug 19 22:55:01 2018 From: brian at milby7.com (Brian Milby) Date: Sun, 19 Aug 2018 21:55:01 -0500 Subject: fullscreenmode and rect of a substack on mobile device ? In-Reply-To: <165553c6ca0.2783.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> References: <3AD3CF89-6E4C-4608-A9FC-E56DDADFD115@laposte.net> <99f39315-d93c-ba00-db5f-423ef3d209c1@fourthworld.com> <1654fab3cf8.2761.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <4adb0448-265d-fb8d-0dd9-bfc7d0bcffef@hyperactivesw.com> <165553c6ca0.2783.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> Message-ID: Line 14 is required on iPad. Otherwise the controls stay where they originated (behind the browser). There is really no need to hide the icons anyway though... they will be below the physical screen when in landscape mode. That saves 2 lines :) On Sun, Aug 19, 2018 at 9:49 PM, J. Landman Gay via use-livecode < use-livecode at lists.runrev.com> wrote: > On Android, hiding and showing a group works as expected, I don't need to > loop through the controls to show them. At first I thought they weren't > being drawn, but in fact the whole group was below the bottom of the stack. > -- > Jacqueline Landman Gay | jacque at hyperactivesw.com > HyperActive Software | http://www.hyperactivesw.com > On August 19, 2018 6:23:00 PM Brian Milby via use-livecode < > use-livecode at lists.runrev.com> wrote: > > I did figure out that within preOpenCard, the reported stack rect is still >> the dimensions of the saved stack file (at least on iOS). There is also >> the detail that when you hide a group, it sets all of the objects to >> hidden >> which has to be undone in a loop. I've worked out moving the group and >> the >> background grc, still looking at the math for the widget buttons. This >> would probably be a good place for the Navigation Bar with the option to >> select none of the icons (PR submitted, still pending). >> >> On Sun, Aug 19, 2018 at 5:31 PM, J. Landman Gay via use-livecode < >> use-livecode at lists.runrev.com> wrote: >> >> Android does receive orientationChanged messages. I've been tinkering with >>> Swami's test stack, and dynamic positioning (no fullscreenMode) works >>> fine >>> with some effort. >>> >>> The footer isn't a widget, it's a group containing half a dozen controls, >>> so they all need to be individually managed. You were right that they >>> weren't in the correct position on Android. >>> >>> Swami's real project has thousands of controls over many hundreds of >>> unique cards. I'd hate to be the one to write all the positioning scripts >>> for that. But for a single instance where he's having issues, turning off >>> fullscreenMode for just that card is a feasible solution. >>> >>> On 8/19/18 4:05 PM, Brian Milby via use-livecode wrote: >>> >>> You probably still want to set the rect for the footer to be sure it >>>> lands >>>> where you want it on different size devices. That could be done in the >>>> preOpenCard handler (just put it where it needs to be for portrait) >>>> >>>> on preOpenCard >>>> local tWidth, tHeight, tFooterRect >>>> put the width of this stack into tWidth >>>> put the height of this stack into tHeight >>>> if tWidth > tHeight then >>>> put 0,tWidth-50,tHeight,tWidth into tFooterRect >>>> else >>>> put 0,tHeight-50,tWidth,tHeight into tFooterRect >>>> end if >>>> set the rect of widget "footer" of me to tFooterRect >>>> resizeStack tWidth, tHeight >>>> end preOpenCard >>>> >>>> If the Pixel does receive the orientationChanged messages, then you >>>> could >>>> use my first example. That code does actually work on the iPhone, it is >>>> just not necessary to manage it by hand like that. >>>> >>>> On Sun, Aug 19, 2018 at 2:40 PM, Sannyasin Brahmanathaswami via >>>> use-livecode wrote: >>>> >>>> @Brian Milby >>>> >>>>> >>>>> >>>> >>> -- >>> Jacqueline Landman Gay | jacque at hyperactivesw.com >>> HyperActive Software | http://www.hyperactivesw.com >>> >>> _______________________________________________ >>> use-livecode mailing list >>> use-livecode at 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 at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From brian at milby7.com Sun Aug 19 23:00:05 2018 From: brian at milby7.com (Brian Milby) Date: Sun, 19 Aug 2018 22:00:05 -0500 Subject: fullscreenmode and rect of a substack on mobile device ? In-Reply-To: References: <3AD3CF89-6E4C-4608-A9FC-E56DDADFD115@laposte.net> <99f39315-d93c-ba00-db5f-423ef3d209c1@fourthworld.com> <1654fab3cf8.2761.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <4adb0448-265d-fb8d-0dd9-bfc7d0bcffef@hyperactivesw.com> <165553c6ca0.2783.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> Message-ID: I was mistaken on the show/hide thing. The controls were behind the browser the whole time. On Sun, Aug 19, 2018 at 9:55 PM, Brian Milby wrote: > Line 14 is required on iPad. Otherwise the controls stay where they > originated (behind the browser). There is really no need to hide the icons > anyway though... they will be below the physical screen when in landscape > mode. That saves 2 lines :) > > On Sun, Aug 19, 2018 at 9:49 PM, J. Landman Gay via use-livecode < > use-livecode at lists.runrev.com> wrote: > >> On Android, hiding and showing a group works as expected, I don't need to >> loop through the controls to show them. At first I thought they weren't >> being drawn, but in fact the whole group was below the bottom of the stack. >> -- >> Jacqueline Landman Gay | jacque at hyperactivesw.com >> HyperActive Software | http://www.hyperactivesw.com >> On August 19, 2018 6:23:00 PM Brian Milby via use-livecode < >> use-livecode at lists.runrev.com> wrote: >> >> I did figure out that within preOpenCard, the reported stack rect is still >>> the dimensions of the saved stack file (at least on iOS). There is also >>> the detail that when you hide a group, it sets all of the objects to >>> hidden >>> which has to be undone in a loop. I've worked out moving the group and >>> the >>> background grc, still looking at the math for the widget buttons. This >>> would probably be a good place for the Navigation Bar with the option to >>> select none of the icons (PR submitted, still pending). >>> >>> On Sun, Aug 19, 2018 at 5:31 PM, J. Landman Gay via use-livecode < >>> use-livecode at lists.runrev.com> wrote: >>> >>> Android does receive orientationChanged messages. I've been tinkering >>>> with >>>> Swami's test stack, and dynamic positioning (no fullscreenMode) works >>>> fine >>>> with some effort. >>>> >>>> The footer isn't a widget, it's a group containing half a dozen >>>> controls, >>>> so they all need to be individually managed. You were right that they >>>> weren't in the correct position on Android. >>>> >>>> Swami's real project has thousands of controls over many hundreds of >>>> unique cards. I'd hate to be the one to write all the positioning >>>> scripts >>>> for that. But for a single instance where he's having issues, turning >>>> off >>>> fullscreenMode for just that card is a feasible solution. >>>> >>>> On 8/19/18 4:05 PM, Brian Milby via use-livecode wrote: >>>> >>>> You probably still want to set the rect for the footer to be sure it >>>>> lands >>>>> where you want it on different size devices. That could be done in the >>>>> preOpenCard handler (just put it where it needs to be for portrait) >>>>> >>>>> on preOpenCard >>>>> local tWidth, tHeight, tFooterRect >>>>> put the width of this stack into tWidth >>>>> put the height of this stack into tHeight >>>>> if tWidth > tHeight then >>>>> put 0,tWidth-50,tHeight,tWidth into tFooterRect >>>>> else >>>>> put 0,tHeight-50,tWidth,tHeight into tFooterRect >>>>> end if >>>>> set the rect of widget "footer" of me to tFooterRect >>>>> resizeStack tWidth, tHeight >>>>> end preOpenCard >>>>> >>>>> If the Pixel does receive the orientationChanged messages, then you >>>>> could >>>>> use my first example. That code does actually work on the iPhone, it >>>>> is >>>>> just not necessary to manage it by hand like that. >>>>> >>>>> On Sun, Aug 19, 2018 at 2:40 PM, Sannyasin Brahmanathaswami via >>>>> use-livecode wrote: >>>>> >>>>> @Brian Milby >>>>> >>>>>> >>>>>> >>>>> >>>> -- >>>> Jacqueline Landman Gay | jacque at hyperactivesw.com >>>> HyperActive Software | http://www.hyperactivesw.com >>>> >>>> _______________________________________________ >>>> use-livecode mailing list >>>> use-livecode at 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 at 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 at lists.runrev.com >> Please visit this url to subscribe, unsubscribe and manage your >> subscription preferences: >> http://lists.runrev.com/mailman/listinfo/use-livecode >> > > From jacque at hyperactivesw.com Sun Aug 19 23:13:59 2018 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Sun, 19 Aug 2018 22:13:59 -0500 Subject: fullscreenmode and rect of a substack on mobile device ? In-Reply-To: References: <3AD3CF89-6E4C-4608-A9FC-E56DDADFD115@laposte.net> <99f39315-d93c-ba00-db5f-423ef3d209c1@fourthworld.com> <1654fab3cf8.2761.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <4adb0448-265d-fb8d-0dd9-bfc7d0bcffef@hyperactivesw.com> Message-ID: <0c89c5a9-7328-20be-0f2d-364bbfb06816@hyperactivesw.com> On 8/19/18 9:37 PM, Sannyasin Brahmanathaswami via use-livecode wrote: > "Intuitively" resize stack is all that is required. > And, "intuitively" a group should place all controls relative to itself. > > And it does on iOS I think that was just incidental. The original stack was sized to fit the same iPhone you own, so the footer didn't need to move. If you'd created the stack to fit an Android device I suspect it would have worked there and not on iOS. The ratios are different. > Jacque had her finger on it with this comment. > > Jacque (off list) > > "I see. That looks like a redraw problem. The resizeStack handler is working but the >redraw fails. I did notice the icons were missing but didn't try to figure out why. A quick > test says the footer is visible in portrait and false in landscape, but it isn't being drawn > to screen for some reason. I think that's the bug to report." I was wrong, it wasn't a bug. It wasn't drawing because it was offscreen, so the engine didn't bother with it. Brian woke me up to that. Once you moved the footer into the stack region it redraws. > It work on iOS and Android! (if someone could try in an android tablet I would >appreciate), so it works, and I have a bug to report. It does work on Android, but you need to move all the group controls as well as the group. That's just how things are without fullscreenMode, you have to account for every object. I don't think it's a bug, more an enhancement request maybe, but the response may be that you should just use mobileSetFullScreenRectForOrientations, which was implemented just for that situation. -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com From brian at milby7.com Sun Aug 19 23:21:50 2018 From: brian at milby7.com (Brian Milby) Date: Sun, 19 Aug 2018 22:21:50 -0500 Subject: fullscreenmode and rect of a substack on mobile device ? In-Reply-To: <0c89c5a9-7328-20be-0f2d-364bbfb06816@hyperactivesw.com> References: <3AD3CF89-6E4C-4608-A9FC-E56DDADFD115@laposte.net> <99f39315-d93c-ba00-db5f-423ef3d209c1@fourthworld.com> <1654fab3cf8.2761.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <4adb0448-265d-fb8d-0dd9-bfc7d0bcffef@hyperactivesw.com> <0c89c5a9-7328-20be-0f2d-364bbfb06816@hyperactivesw.com> Message-ID: The stack is built for iPhone 6/7/8 Plus dimensions (414px wide). This means that the navigation bar is a little too wide to show properly on a regular iPhone 6/7/8. The icons are 384px wide (edge to edge) and those phones are only 375px wide. If you also want to target the iPhone 4/5/5s then the max width is 320px. I'm not sure what the fleet of widths would need to be supported on the Android side though. On Sun, Aug 19, 2018 at 10:13 PM, J. Landman Gay via use-livecode < use-livecode at lists.runrev.com> wrote: > It does work on Android, but you need to move all the group controls as > well as the group. That's just how things are without fullscreenMode, you > have to account for every object. I don't think it's a bug, more an > enhancement request maybe, but the response may be that you should just use > mobileSetFullScreenRectForOrientations, which was implemented just for > that situation. I can't speak directly to Android, but once you start doing resize handlers, I can't see using fullscreenmode. If you are going to position anything, may as well position it based on actual device metrics. On iOS, all of the controls within the footer group moved without having to touch them individually. Thanks, Brian From jacque at hyperactivesw.com Mon Aug 20 00:04:44 2018 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Sun, 19 Aug 2018 23:04:44 -0500 Subject: fullscreenmode and rect of a substack on mobile device ? In-Reply-To: References: <3AD3CF89-6E4C-4608-A9FC-E56DDADFD115@laposte.net> <99f39315-d93c-ba00-db5f-423ef3d209c1@fourthworld.com> <1654fab3cf8.2761.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <4adb0448-265d-fb8d-0dd9-bfc7d0bcffef@hyperactivesw.com> <0c89c5a9-7328-20be-0f2d-364bbfb06816@hyperactivesw.com> Message-ID: <4243b04f-f606-6fdc-20b4-53ef10c54fdb@hyperactivesw.com> On 8/19/18 10:21 PM, Brian Milby via use-livecode wrote: > I'm not sure what the fleet of widths would > need to be supported on the Android side though. They vary all over the place. Basically you need to calculate a ratio and set all the control sizes accordingly. > I can't speak directly to Android, but once you start doing resize > handlers, I can't see using fullscreenmode. If you are going to position > anything, may as well position it based on actual device metrics. That's kind of what I meant. You either use fullscreenMode or you don't, but I can see a case for turning it off for a card or two when you want to use screen metrics only. > On iOS, all of the controls within the footer group moved without having to > touch them individually. I think it may be resolution-dependent. Unlike iOS, Android is all over the map, so when the group moved up (without auto-scaling) on the Samsung I was using, only the tops of the icons showed. The group's top margin was disproportionately large and the bottom half of the icons were still below the stack. On other Android devices you'd get different results, so you'd need to do all the calculations not just for size but also for resolution. At least, I think so. I'm not positive any more because I gave up all that work the moment the engine started doing it for me. -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com From ludovic.thebault at laposte.net Mon Aug 20 00:11:06 2018 From: ludovic.thebault at laposte.net (Ludovic THEBAULT) Date: Mon, 20 Aug 2018 06:11:06 +0200 Subject: fullscreenmode and rect of a substack on mobile device ? In-Reply-To: <99f39315-d93c-ba00-db5f-423ef3d209c1@fourthworld.com> References: <3AD3CF89-6E4C-4608-A9FC-E56DDADFD115@laposte.net> <99f39315-d93c-ba00-db5f-423ef3d209c1@fourthworld.com> Message-ID: <30FD572A-30CA-40CB-B1C0-020AEEDC6E4F@laposte.net> > Le 18 ao?t 2018 ? 20:32, Richard Gaskin via use-livecode a ?crit : > > Ludovic THEBAULT wrote: > > > How get the ? real ? rect of the stack ? > > Without fullScreenMode it's as simple as: > > get the rect of this stack > > FullScreenMode makes handling dynamic layout details complex. > > It's well suited for certain types of games or multimedia presentations, such as Monument Valley. > > In those types of layouts everything is stretched to fit, without needing dynamic placement of individual controls. > > But consider the apps on your phone. The ones I use the most are gMmail, Firefox, YouTube, Twitter, Instagram, LinkedIn, Skype, SimpleNote, Play Music, Nextcloud, Hangouts, Telegram, Maps, Calculator, Ingres, and a few others. > > Every one of them uses dynamic positioning of the sort we've been doing in LiveCode for decades by responding to the resizeStack message. > > I don't know what you're working on so I can't have an opinion of whether fullScreenMode is a good fit. > > But in practice I so rarely see other apps use that sort of scaling that I don't think about fullScreenMode much at all. > Hello, Thanks My app use a lot of controls, so i think the fullscreenmode is more easy (and fast) to adapt the app to the screen, except that we cannot get the real rect of the stack. But i found i can get the ? real ? top and bottom with : round((item 4 of the screenrect*the systemscale)/2)-theight // +theight (for the bottom) where theight is the height of my stack before fullscreenmode. From brian at milby7.com Mon Aug 20 00:11:57 2018 From: brian at milby7.com (Brian Milby) Date: Sun, 19 Aug 2018 23:11:57 -0500 Subject: fullscreenmode and rect of a substack on mobile device ? In-Reply-To: <4243b04f-f606-6fdc-20b4-53ef10c54fdb@hyperactivesw.com> References: <3AD3CF89-6E4C-4608-A9FC-E56DDADFD115@laposte.net> <99f39315-d93c-ba00-db5f-423ef3d209c1@fourthworld.com> <1654fab3cf8.2761.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <4adb0448-265d-fb8d-0dd9-bfc7d0bcffef@hyperactivesw.com> <0c89c5a9-7328-20be-0f2d-364bbfb06816@hyperactivesw.com> <4243b04f-f606-6fdc-20b4-53ef10c54fdb@hyperactivesw.com> Message-ID: When the engine resizes the stack, I?m assuming that it takes into account any system furniture? That isn?t a consideration for iOS (at least yet). I?m excluding keyboard for the moment. I?m not sure why there should be a difference between any platform though. Line 14 put the group?s center 25px above the bottom of the stack which should have put it right on the bottom edge of the screen. The group is 50px tall and the icons are 32px square. I can see them being off left/right side of narrower devices, but if off the bottom that does not seem right. Maybe we should replace the group with a single grc as a test. Also, the top of the group rect should match the bottom of the browser rect. Everything is done by logical px on iOS... is it different on Android? In the end, I guess I need to get an Android device so I can start testing. Thanks, Brian On Aug 19, 2018, 11:05 PM -0500, J. Landman Gay via use-livecode , wrote: > On 8/19/18 10:21 PM, Brian Milby via use-livecode wrote: > > I'm not sure what the fleet of widths would > > need to be supported on the Android side though. > > They vary all over the place. Basically you need to calculate a ratio > and set all the control sizes accordingly. > > > I can't speak directly to Android, but once you start doing resize > > handlers, I can't see using fullscreenmode. If you are going to position > > anything, may as well position it based on actual device metrics. > > That's kind of what I meant. You either use fullscreenMode or you don't, > but I can see a case for turning it off for a card or two when you want > to use screen metrics only. > > > On iOS, all of the controls within the footer group moved without having to > > touch them individually. > > I think it may be resolution-dependent. Unlike iOS, Android is all over > the map, so when the group moved up (without auto-scaling) on the > Samsung I was using, only the tops of the icons showed. The group's top > margin was disproportionately large and the bottom half of the icons > were still below the stack. On other Android devices you'd get different > results, so you'd need to do all the calculations not just for size but > also for resolution. At least, I think so. I'm not positive any more > because I gave up all that work the moment the engine started doing it > for me. > > -- > Jacqueline Landman Gay | jacque at hyperactivesw.com > HyperActive Software | http://www.hyperactivesw.com > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From ambassador at fourthworld.com Mon Aug 20 00:45:07 2018 From: ambassador at fourthworld.com (Richard Gaskin) Date: Sun, 19 Aug 2018 21:45:07 -0700 Subject: fullscreenmode and rect of a substack on mobile device ? In-Reply-To: References: Message-ID: Brian Milby wrote: > I can't speak directly to Android, but once you start doing resize > handlers, I can't see using fullscreenmode. If you are going to > position anything, may as well position it based on actual device > metrics. That's all I was getting at when I wrote: "FullScreenMode makes handling dynamic layout details complex." Consider what FSM does. It stretches the card or adds empty space around it. Then look at the apps on your phone. Then determine how well FSM will support the type of layout your own apps need. Depending on the app, FSM may be great. But on my phone I have exactly one app that uses layout logic anything like it. Everything else uses explicit placement. FSM is very good for what it is, but it isn't a magic pony. In software design the only magic pony is the designer: our devotion applying the same tender loving care to scripting the user interface that we use when writing any other code. The great thing with us LC scripters is that we've already been adjusting controls for resizable windows for many years, so we can leverage all that experience. Extra bonus points that you can test scripted placement within the IDE in the simplest way possible: just resize the stack window you're working on. Most of the lengthier discussions I've seen about layout handling here and on the forums stem from attempting to get precise control from FSM. In some cases it may be possible to mix FSM with scripted placement, but as you suggest it's often murkier than just having precise control over everything without bringing FSM into it at all. -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ____________________________________________________________________ Ambassador at FourthWorld.com http://www.FourthWorld.com From ambassador at fourthworld.com Mon Aug 20 00:45:30 2018 From: ambassador at fourthworld.com (Richard Gaskin) Date: Sun, 19 Aug 2018 21:45:30 -0700 Subject: fullscreenmode and rect of a substack on mobile device ? Message-ID: <48c8b772-62f3-7af2-3156-e47f8c047f91@fourthworld.com> Brahmanathaswami wrote: > re Geometry: You keep telling us this again and again, but you never > provide an example. Given how many years most of the members of this list have been scripting, it hadn't occurred to me that would be useful. Here's a simple example that illustrates the basics, then extended for reuse: Consider a Note app. At the top is a navbar that spans the width of the device at 60 px tall; below is a field for the user to type in; centered below that is a "Save" button. This is in the card script: on resizeStack x,y set the rect of grp "Navbar" to 0,0,x,60 set the rect of fld "Main" to 0,the bottom of grp "Nav",x,y-100 set the loc of btn "Save" to (item 1 of the loc of this cd, y-40) end resizeStack On mobile OSes the resizeStack message is sent when the stack is first opened, and again when changed by the user changing the device orientation. Suppose the Navbar group has three objects within it: a button at left and another at right, with a label field filling the space in the middle. You could add a couple lines for those in the card's resizeStack handler shown above, but you might reuse the group elsewhere so it would be useful to keep the code within the group. Just put this in the Navbar group script: on resizeControl set the right of btn "RightSide" to the right of me - 10 set the rect of fld "Label" to the right of btn "LeftSide", \ 0, the left of btn "RightSide", 60 end resizeControl The resizeControl message is sent to a group whenever the group is resized by any means, whether interactively with the pointer tool or via any script that changes the group's rect. If you have a lot of controls of the same type you probably already use behavior scripts for those, so you can put the resizeControl handler in the behavior script so every object of that type uses it. -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ____________________________________________________________________ Ambassador at FourthWorld.com http://www.FourthWorld.com From terry.judd at unimelb.edu.au Mon Aug 20 01:57:52 2018 From: terry.judd at unimelb.edu.au (Terry Judd) Date: Mon, 20 Aug 2018 05:57:52 +0000 Subject: fullscreenmode and rect of a substack on mobile device ? In-Reply-To: References: Message-ID: <1F063C9E-39F6-4D11-AF03-20669C925FE1@unimelb.edu.au> On 20/08/2018 2:45 pm, "use-livecode on behalf of Richard Gaskin via use-livecode" wrote: Most of the lengthier discussions I've seen about layout handling here and on the forums stem from attempting to get precise control from FSM. In some cases it may be possible to mix FSM with scripted placement, but as you suggest it's often murkier than just having precise control over everything without bringing FSM into it at all. Yeah, I've used FSM in combination with scripting in the android versions a couple of apps (admittedly they were only designed to work in portrait mode) and it seemed to work well enough. In those cases I developed the app using fairly squat stack aspect ratio and set the fullscreenmode to letterbox in my preopenstack handler. Then in each opencard handler (and this was pre navbar etc. widgets) used something like the following as the basis for sizing/placing elements on the screen (relative to tB). Seemed to work fine for a range of actual device aspect ratios (that all equivalent to or larger than my original stack). if environment() = "mobile" then put the working screenrect into tWR put (item 4 of tWR)/(item 3 of tWR) into tAspectRatio put (item 3 of tWR)/320 into tScaleFactor put 10*(trunc (tAspectRatio*320/10)) into tB set the height of this stack to tB else put the height of this card into tB end if Terry... From ambassador at fourthworld.com Mon Aug 20 02:49:51 2018 From: ambassador at fourthworld.com (Richard Gaskin) Date: Sun, 19 Aug 2018 23:49:51 -0700 Subject: fullscreenmode and rect of a substack on mobile device ? In-Reply-To: <1F063C9E-39F6-4D11-AF03-20669C925FE1@unimelb.edu.au> References: <1F063C9E-39F6-4D11-AF03-20669C925FE1@unimelb.edu.au> Message-ID: Terry Judd wrote: > Yeah, I've used FSM in combination with scripting in the android > versions a couple of apps (admittedly they were only designed to work > in portrait mode) and it seemed to work well enough. If you make a button that looks HIG-savvy finger-sized on a 4" phone, what happens when you run the app on an 11" tablet? -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ____________________________________________________________________ Ambassador at FourthWorld.com http://www.FourthWorld.com From terry.judd at unimelb.edu.au Mon Aug 20 03:01:17 2018 From: terry.judd at unimelb.edu.au (Terry Judd) Date: Mon, 20 Aug 2018 07:01:17 +0000 Subject: fullscreenmode and rect of a substack on mobile device ? In-Reply-To: References: <1F063C9E-39F6-4D11-AF03-20669C925FE1@unimelb.edu.au>, Message-ID: On 20 Aug 2018, at 4:50 pm, Richard Gaskin via use-livecode wrote: > > Terry Judd wrote: > > > Yeah, I've used FSM in combination with scripting in the android > > versions a couple of apps (admittedly they were only designed to work > > in portrait mode) and it seemed to work well enough. > > If you make a button that looks HIG-savvy finger-sized on a 4" phone, what happens when you run the app on an 11" tablet? > My guess is that it would look pretty bad ;) I was only targeting phones in portrait mode though so things looked reasonable as long as the phone wasn?t huge. I?d probably develop a separate interface for tablets. Terry... From terry.judd at unimelb.edu.au Mon Aug 20 03:29:22 2018 From: terry.judd at unimelb.edu.au (Terry Judd) Date: Mon, 20 Aug 2018 07:29:22 +0000 Subject: fullscreenmode and rect of a substack on mobile device ? In-Reply-To: References: <1F063C9E-39F6-4D11-AF03-20669C925FE1@unimelb.edu.au> Message-ID: <77A4A764-0ED3-44E1-8216-E070B35CC17E@unimelb.edu.au> On 20/08/2018 5:01 pm, "use-livecode on behalf of Terry Judd via use-livecode" wrote: On 20 Aug 2018, at 4:50 pm, Richard Gaskin via use-livecode wrote: > > Terry Judd wrote: > > > Yeah, I've used FSM in combination with scripting in the android > > versions a couple of apps (admittedly they were only designed to work > > in portrait mode) and it seemed to work well enough. > > If you make a button that looks HIG-savvy finger-sized on a 4" phone, what happens when you run the app on an 11" tablet? > My guess is that it would look pretty bad ;) I was only targeting phones in portrait mode though so things looked reasonable as long as the phone wasn?t huge. I?d probably develop a separate interface for tablets. Oh, and my apps probably weren't terribly HIG compliant either. I used custom buttons and controls that looked and functioned identically on Android and iOS versions of the same app. So I guess it depends on what you are trying to achieve (these were teaching/research related apps). Terry... From jacque at hyperactivesw.com Mon Aug 20 04:50:42 2018 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Mon, 20 Aug 2018 03:50:42 -0500 Subject: fullscreenmode and rect of a substack on mobile device ? In-Reply-To: References: <3AD3CF89-6E4C-4608-A9FC-E56DDADFD115@laposte.net> <99f39315-d93c-ba00-db5f-423ef3d209c1@fourthworld.com> <1654fab3cf8.2761.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <4adb0448-265d-fb8d-0dd9-bfc7d0bcffef@hyperactivesw.com> <0c89c5a9-7328-20be-0f2d-364bbfb06816@hyperactivesw.com> <4243b04f-f606-6fdc-20b4-53ef10c54fdb@hyperactivesw.com> Message-ID: <1dd653df-b542-13a1-f9c1-aeb06b6739c3@hyperactivesw.com> On 8/19/18 11:11 PM, Brian Milby via use-livecode wrote: > When the engine resizes the stack, I?m assuming that it takes into account any system furniture? That isn?t a consideration for iOS (at least yet). I?m excluding keyboard for the moment. The screenrect is always the actual size of the screen. The stack rect is the size of the available space minus the OS furniture. On my old Nexus tablet: Actual stack size in IDE: 493 x 597 Nexus screenrect: 0,0,600,912 Nexus stack rect: 0,24,600,912 -- 24 px status bar at the top Nexus card rect: 0,0,600,888 These are logical pixels. The Nexus 7 has a pixel density of 323 ppi, aspect ratio 16:10, screen pixels 1920 x 1200. > I?m not sure why there should be a difference between any platform though. Line 14 put the group?s center 25px above the bottom of the stack which should have put it right on the bottom edge of the screen. The group is 50px tall and the icons are 32px square. I can see them being off left/right side of narrower devices, but if off the bottom that does not seem right. Maybe we should replace the group with a single grc as a test. Also, the top of the group rect should match the bottom of the browser rect. Everything is done by logical px on iOS... is it different on Android? On Android, screen sizes and pixel densities vary a lot. LC does use logical pixels for some metrics but without fullScreenMode you're on your own to figure out what ratio and resizing you need to use to get the placement just right. I'm guessing that the group wasn't scaled for my phone and was just too tall to display fully. LC automatically calculates and scales logical pixels on iOS, so non-retina and retina devices give you back the same numbers. You can work with the real screen pixels on iOS by setting the iphoneUseDeviceResolution, which may show a difference. Without fullscreenMode, LC doesn't auto-scale controls on Android, you need to set the rects of everything. > > In the end, I guess I need to get an Android device so I can start testing. To really test on Android you need 5 or 6 devices. :) -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com From jacque at hyperactivesw.com Mon Aug 20 05:00:00 2018 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Mon, 20 Aug 2018 04:00:00 -0500 Subject: fullscreenmode and rect of a substack on mobile device ? In-Reply-To: <77A4A764-0ED3-44E1-8216-E070B35CC17E@unimelb.edu.au> References: <1F063C9E-39F6-4D11-AF03-20669C925FE1@unimelb.edu.au> <77A4A764-0ED3-44E1-8216-E070B35CC17E@unimelb.edu.au> Message-ID: <04a9ecf1-0aa6-06e1-ec65-8cb233f3c2a1@hyperactivesw.com> On 8/20/18 2:29 AM, Terry Judd via use-livecode wrote: > Oh, and my apps probably weren't terribly HIG compliant either. I used custom buttons and controls that looked and functioned identically on Android and iOS versions of the same app. Ditto. I don't think I've ever had to work on a stack that followed the OS model, they've all been heavily skinned. The slight variation in control sizes aren't noticeable and it's painless to go cross platform that way. One of my current projects does duplicate the Android Material theme, but it's only targeted to small screens and the differences in control sizes aren't apparent. -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com From jbv at souslelogo.com Mon Aug 20 05:00:35 2018 From: jbv at souslelogo.com (jbv) Date: Mon, 20 Aug 2018 11:00:35 +0200 Subject: Surprise... Message-ID: <3c9f6dc0b793ffec3dd0f42f936e021c.squirrel@sage.on-rev.com> Hi list, I have the following script : repeat with a = 1 to 34 repeat with b = 1 to 10 repeat with c = 1 to 11 repeat with d = 1 to 10 repeat with e = 1 to 34 --get item a of line 1 of tvar & tab & item b of line 2 of tvar & tab & item c of line 3 of tvar & tab & item d of line 4 of tvar & tab & item e of line 5 of tvar --get T[1][a] & tab & T[2][b] & tab & T[3][c] & tab & T[4][d] & tab & T[5][e] end repeat end repeat end repeat end repeat end repeat When I run these nested loops with the line "get item a of line 1 of tvar...", it is twice faster than with the line "get T[1][a]...". This a surprise to me because I have used arrays for years to speed up things, and AFAIK it takes forever to count items and lines at each repeat iteration... Or am I missing something ? This is on LC9 server, on-rev account. Best, jbv From ambassador at fourthworld.com Mon Aug 20 07:20:23 2018 From: ambassador at fourthworld.com (Richard Gaskin) Date: Mon, 20 Aug 2018 04:20:23 -0700 Subject: fullscreenmode and rect of a substack on mobile device ? In-Reply-To: <77A4A764-0ED3-44E1-8216-E070B35CC17E@unimelb.edu.au> References: <77A4A764-0ED3-44E1-8216-E070B35CC17E@unimelb.edu.au> Message-ID: Terry Judd wrote: > On 20 Aug 2018, at 4:50 pm, Richard Gaskin wrote: >> >> Terry Judd wrote: >> >> > Yeah, I've used FSM in combination with scripting in the android >> > versions a couple of apps (admittedly they were only designed to >> > work in portrait mode) and it seemed to work well enough. >> >> If you make a button that looks HIG-savvy finger-sized on a 4" phone, >> what happens when you run the app on an 11" tablet? >> > My guess is that it would look pretty bad ;) > > I was only targeting phones in portrait mode though so things looked > reasonable as long as the phone wasn?t huge. I?d probably develop a > separate interface for tablets. > > Oh, and my apps probably weren't terribly HIG compliant either. I used > custom buttons and controls that looked and functioned identically on > Android and iOS versions of the same app. That's pretty common. My reference to "HIG-savvy" wasn't so much slavish devotion to whatever appearance scheme happens to be in vogue at the moment, but more about metrics, making sure text is readable and touchable objects are of good size and comfortably reachable. Of course we still don't have swipe transitions, so some LC apps will feel a bit off until the engine team adds that, but at least the other basics can meet user expectations well. With many mobile deployments all device types are expected, so with device-specific sizing a button that's finger-sized on a 4" phone becomes fist-sized on a 11" tablet, and text that looks at 13px on a small phone becomes street signage on a tablet. As long as you're in a position to restrict device types, and don't mind futzing with the extra math, if it works for you it works for you. If you have a layout where fullScreenMode makes sense I guess the trick is to design for the very smallest devices. Better to have super-large text on 7" phone than unreadably small text on a 4". -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ____________________________________________________________________ Ambassador at FourthWorld.com http://www.FourthWorld.com From panos.merakos at livecode.com Mon Aug 20 07:36:30 2018 From: panos.merakos at livecode.com (panagiotis merakos) Date: Mon, 20 Aug 2018 14:36:30 +0300 Subject: [ANN] This Week in LiveCode 142 Message-ID: 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 #142 here: https://goo.gl/xe8Hxa 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 From dunbarx at aol.com Mon Aug 20 09:29:25 2018 From: dunbarx at aol.com (dunbarxx) Date: Mon, 20 Aug 2018 08:29:25 -0500 (CDT) Subject: Surprise... In-Reply-To: <3c9f6dc0b793ffec3dd0f42f936e021c.squirrel@sage.on-rev.com> References: <3c9f6dc0b793ffec3dd0f42f936e021c.squirrel@sage.on-rev.com> Message-ID: <1534771765492-0.post@n4.nabble.com> Hi. Not sure the code snippet you supplied is complete. There are no variables "T" or "tVar", and so all your nested repeat loops are just time expenders. In other words, you could have just: repeat 1000000 That said, it seems that assembling the nonexistent array variable repeatedly is slower that assembling the nonexistent ordinary variable repeatedly. Others may comment on this. But you have not really "used" an array, only built one, er , repeatedly, if you understand what I mean. Is that what you were concerned with? Craig Newman -- Sent from: http://runtime-revolution.278305.n4.nabble.com/Revolution-User-f278306.html From brahma at hindu.org Mon Aug 20 10:21:23 2018 From: brahma at hindu.org (Sannyasin Brahmanathaswami) Date: Mon, 20 Aug 2018 14:21:23 +0000 Subject: fullscreenmode and rect of a substack on mobile device ? References: <3AD3CF89-6E4C-4608-A9FC-E56DDADFD115@laposte.net> <99f39315-d93c-ba00-db5f-423ef3d209c1@fourthworld.com> <1654fab3cf8.2761.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <4adb0448-265d-fb8d-0dd9-bfc7d0bcffef@hyperactivesw.com> <165553c6ca0.2783.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> Message-ID: @ Brian and Jacque Thanks for digging to this. Panos write on QA and that line 14 (position the group explicitly) in required. The background is set "super wide" for that I was using FullScreenMode, do that it would appear at the way across on iPad. Clearly set the explicitly is required @Brian, Oh yes footer is below not need to hide in. down to from 19 lines of card to 17 :-) @ Jacque good to know the child control maintains their relative position in relation to group coords. that is what I get on my Pixel 2 notes" 1. Elanor suggestion using the nav bar widget, and the will out itself out automatcally (!) 2. There is another issue when try YouTube videos (a major use case for this browser card) it happens on iOS and Android. Automatically, the browser want to go to fullScreen (in the video) and co-ops the entire screen rect and the native LC coords to any object overridden. Rather, they probably are behind the video. So as soon as you hit "play" , the footer disappear-- the user thinks he had lost navigation -- until you to Stop, the screen revert to "regular mode" and the footer appears. Could have sworn this did not happen in LC version <9. OR it could be passing the parameter to YouTube of ?rel=0 (which gets rid of all extra YouTube furniture&ads) try it: go stack URL "http://wiki.hindu.org/uploads/BrowserLandscapeTest_r9.livecode" Would should open different thread on that one... On 8/19/18 5:00 PM, Brian Milby via use-livecode wrote: > I was mistaken on the show/hide thing. The controls were behind the > browser the whole time. From revolution at derbrill.de Mon Aug 20 10:25:52 2018 From: revolution at derbrill.de (Malte Pfaff-Brill) Date: Mon, 20 Aug 2018 16:25:52 +0200 Subject: Surprise... In-Reply-To: References: Message-ID: Hi jbv, Same boat? And it is not the repeat variant has increased, but array access slowed down (a lot) a while back I was doing benchmarks on this. Thread should still be buried somewhere here. As not many jumped on the problems I faced with array access, I somewhat gave up, which is a bummer, as it affected so many of my libs and custom controls. Also the data grid. It started with the rewrite. Still hoping for optimization. This bugs me so much that I am effectively no longer motivated to script. *sigh* Cheers, Malte From brahma at hindu.org Mon Aug 20 11:09:31 2018 From: brahma at hindu.org (Sannyasin Brahmanathaswami) Date: Mon, 20 Aug 2018 15:09:31 +0000 Subject: Datagrid -- Scrolling on Mobile Message-ID: I am slowly getting up to speed with datagrid, I understand structure, the scripts of the row group, can instantiate data etc. But, am I missing something? http://lessons.livecode.com/m/datagrid I can't find single lesson on implementing DG on mobile. Scrolling on mobile -- do we do it the same way as other groups? 1) turn off scroll bars 2) CreateScroller etc (mobile library) 3) Does does Datagrid have it's own "mobile magic" scroller. I use what looks like a "hackey" way to determine if a user is clicking on a group, or is scrolling the group. Is it same for the DataGrid? if abs(the mouseH - item 1 of sStartLoc) <= 10 and abs(the mouseV - item 2 of sStartLoc) <= 10 then portal_setCurrent (the short name of this card) put the short name of the target into tRow set the itemDelimiter to "_" put item 1 of tRow into tLinkNo if tLinkNo is not a number then exit mouseup end if put fld (tLInkNo &"_" &"portal-link-label") into tRowName portal_DoRowLink tRowName BR From andrew at midwestcoastmedia.com Mon Aug 20 11:54:21 2018 From: andrew at midwestcoastmedia.com (andrew at midwestcoastmedia.com) Date: Mon, 20 Aug 2018 15:54:21 +0000 Subject: fullscreenmode and rect of a substack on mobile device ? In-Reply-To: Message-ID: <20180820155421.Horde.0msqXTKbWBDCjledqhHNtUq@ua850258.serversignin.com> > From: Brian Milby > To: How to use LiveCode > Subject: Re: fullscreenmode and rect of a substack on mobile device ? > Message-ID: > > In the end, I guess I need to get an Android device so I can start testing. > My go-to source for Android test devices is the local grocery store so I can buy a pre-paid phone (AKA a burner). It's not the latest/greatest Pixel or Galaxy, but you'll find a variety of devices with different sized screens and OSs ranging from $20-$100. You never need to register them, just turn on the wi-fi and begin testing. My other source is the hand-me-down my wife gives me every 2 years when she renews her contract. I buy my iPhones outright and keep my old models to run a variety of OSs. --Andrew Bell From alex at tweedly.net Mon Aug 20 12:11:05 2018 From: alex at tweedly.net (Alex Tweedly) Date: Mon, 20 Aug 2018 17:11:05 +0100 Subject: Surprise... In-Reply-To: References: Message-ID: <0ed258ce-e3f7-a793-6e29-8022f8e58b7d@tweedly.net> Hi Malte, sounds like something I would normally have jumped on :-) And I don't offhand remember a thread like this started by you - can you give me more of a pointer to when it was or what the subject line(s) were ? Thanks Alex. P.S. please try not to be demotivated by this kind of problem - I'm sure if we can investigate it from the "outside" then LC will be able to look at it from th "inside" and hopefully come up with some answer. SO let's have a(nother) look at the thread .... On 20/08/2018 15:25, Malte Pfaff-Brill via use-livecode wrote: > Hi jbv, > > Same boat? > > And it is not the repeat variant has increased, but array access slowed down (a lot) a while back I was doing benchmarks on this. Thread should still be buried somewhere here. As not many jumped on the problems I faced with array access, I somewhat gave up, which is a bummer, as it affected so many of my libs and custom controls. Also the data grid. > It started with the rewrite. Still hoping for optimization. This bugs me so much that I am effectively no longer motivated to script. *sigh* > > Cheers, > > Malte > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From tom at makeshyft.com Mon Aug 20 12:54:09 2018 From: tom at makeshyft.com (Tom Glod) Date: Mon, 20 Aug 2018 12:54:09 -0400 Subject: Surprise... In-Reply-To: <0ed258ce-e3f7-a793-6e29-8022f8e58b7d@tweedly.net> References: <0ed258ce-e3f7-a793-6e29-8022f8e58b7d@tweedly.net> Message-ID: not loving the sound of all this. has there been any word about the reasons why array access has slowed down as much as it has? On Mon, Aug 20, 2018 at 12:11 PM, Alex Tweedly via use-livecode < use-livecode at lists.runrev.com> wrote: > Hi Malte, > > sounds like something I would normally have jumped on :-) > > And I don't offhand remember a thread like this started by you - can you > give me more of a pointer to when it was or what the subject line(s) were ? > > Thanks > > Alex. > > P.S. please try not to be demotivated by this kind of problem - I'm sure > if we can investigate it from the "outside" then LC will be able to look at > it from th "inside" and hopefully come up with some answer. SO let's have > a(nother) look at the thread .... > > > > > On 20/08/2018 15:25, Malte Pfaff-Brill via use-livecode wrote: > >> Hi jbv, >> >> Same boat? >> >> And it is not the repeat variant has increased, but array access slowed >> down (a lot) a while back I was doing benchmarks on this. Thread should >> still be buried somewhere here. As not many jumped on the problems I faced >> with array access, I somewhat gave up, which is a bummer, as it affected so >> many of my libs and custom controls. Also the data grid. >> It started with the rewrite. Still hoping for optimization. This bugs me >> so much that I am effectively no longer motivated to script. *sigh* >> >> Cheers, >> >> Malte >> _______________________________________________ >> use-livecode mailing list >> use-livecode at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From ahsoftware at sonic.net Mon Aug 20 12:55:57 2018 From: ahsoftware at sonic.net (Mark Wieder) Date: Mon, 20 Aug 2018 09:55:57 -0700 Subject: Socket questions In-Reply-To: References: <03a501d43733$7d9f2af0$78dd80d0$@net> Message-ID: On 08/18/2018 09:41 PM, Mark Wieder via use-livecode wrote: > That's a dns lookup failure, which won't get as far as a socketError > message. What you should get instead is a non-empty result message from > the openSocket command. I can't comment on tsNet, but libUrl has never > to my recollection actually done this correctly. I misspoke here (sorry Dave)... it's not libUrl that's at fault here, but the socket routines in the engine. There's a function named MCModeCanAccessDomain, but it always returns false and afaict never really comes into play: it's invoked three times in exec-network.cpp, but only if network access is not allowed. -- Mark Wieder ahsoftware at gmail.com From mark at canelasoftware.com Mon Aug 20 14:51:34 2018 From: mark at canelasoftware.com (Mark Talluto) Date: Mon, 20 Aug 2018 11:51:34 -0700 Subject: Surprise... In-Reply-To: References: <0ed258ce-e3f7-a793-6e29-8022f8e58b7d@tweedly.net> Message-ID: <3B9899E1-EF45-4A57-AF62-E05CB561CC14@canelasoftware.com> I wrote a stack that demonstrated this and other concepts for LC Mark directly. His Global talks called ?Optimizing Your Code? are partially based on some things we have been discussing. Best regards, Mark Talluto livecloud.io nursenotes.net canelasoftware.com > On Aug 20, 2018, at 9:54 AM, Tom Glod via use-livecode wrote: > > not loving the sound of all this. has there been any word about the > reasons why array access has slowed down as much as it has? > > On Mon, Aug 20, 2018 at 12:11 PM, Alex Tweedly via use-livecode < > use-livecode at lists.runrev.com> wrote: > >> Hi Malte, >> >> sounds like something I would normally have jumped on :-) >> >> And I don't offhand remember a thread like this started by you - can you >> give me more of a pointer to when it was or what the subject line(s) were ? >> >> Thanks >> >> Alex. >> >> P.S. please try not to be demotivated by this kind of problem - I'm sure >> if we can investigate it from the "outside" then LC will be able to look at >> it from th "inside" and hopefully come up with some answer. SO let's have >> a(nother) look at the thread .... >> >> >> >> >> On 20/08/2018 15:25, Malte Pfaff-Brill via use-livecode wrote: >> >>> Hi jbv, >>> >>> Same boat? >>> >>> And it is not the repeat variant has increased, but array access slowed >>> down (a lot) a while back I was doing benchmarks on this. Thread should >>> still be buried somewhere here. As not many jumped on the problems I faced >>> with array access, I somewhat gave up, which is a bummer, as it affected so >>> many of my libs and custom controls. Also the data grid. >>> It started with the rewrite. Still hoping for optimization. This bugs me >>> so much that I am effectively no longer motivated to script. *sigh* >>> >>> Cheers, >>> >>> Malte >>> _______________________________________________ >>> use-livecode mailing list >>> use-livecode at 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 at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From alex at tweedly.net Mon Aug 20 15:57:36 2018 From: alex at tweedly.net (Alex Tweedly) Date: Mon, 20 Aug 2018 20:57:36 +0100 Subject: Surprise... In-Reply-To: <3c9f6dc0b793ffec3dd0f42f936e021c.squirrel@sage.on-rev.com> References: <3c9f6dc0b793ffec3dd0f42f936e021c.squirrel@sage.on-rev.com> Message-ID: Not really a huge surprise ... access to chunks such as 'item' and 'line' are (potentially) slow when you are searching relatively large strings. So the archetypal example repeat with i = 1 to N ?? get line i of tBigString end repeat can get slow if N is large, because of repeatedly scanning over large leading sub-strings to get to line 'i'. In your case here, although we don't know how long the lines are (or how many items they have in them), the number of lines is very small? (i.e. line 1 up to line 4), so the amount of processing needed to scan/skip over the first few lines is very small - even though it's done often. If you have some sample data, or gave some characteristics of the data, we could perhaps comment more. -- Alex. On 20/08/2018 10:00, jbv via use-livecode wrote: > Hi list, > > I have the following script : > > repeat with a = 1 to 34 > repeat with b = 1 to 10 > repeat with c = 1 to 11 > repeat with d = 1 to 10 > repeat with e = 1 to 34 > --get item a of line 1 of tvar & tab & item b of line 2 of tvar & tab > & item c of line 3 of tvar & tab & item d of line 4 of tvar & tab & > item e of line 5 of tvar > --get T[1][a] & tab & T[2][b] & tab & T[3][c] & tab & T[4][d] & tab & > T[5][e] > end repeat > end repeat > end repeat > end repeat > end repeat > > When I run these nested loops with the line "get item a of line 1 of > tvar...", > it is twice faster than with the line "get T[1][a]...". > This a surprise to me because I have used arrays for years to speed up > things, and AFAIK it takes forever to count items and lines at each repeat > iteration... > Or am I missing something ? > This is on LC9 server, on-rev account. > > Best, > jbv > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From jbv at souslelogo.com Mon Aug 20 16:17:18 2018 From: jbv at souslelogo.com (jbv) Date: Mon, 20 Aug 2018 22:17:18 +0200 Subject: Surprise... In-Reply-To: References: <3c9f6dc0b793ffec3dd0f42f936e021c.squirrel@sage.on-rev.com> Message-ID: I made a test with the same loops and the same data on LC 6.5.2 desktop Mac, and arrays run 20% faster than items... On LC9 server I get opposite results : items are 2 times faster then arrays. As said in my original post, AFAIR U have always used arrays instead of items & lines because it has always been faster, even with multidimensional arrays... On Mon, August 20, 2018 9:57 pm, Alex Tweedly via use-livecode wrote: > Not really a huge surprise ... access to chunks such as 'item' and > 'line' are (potentially) slow when you are searching relatively large > strings. So the archetypal example > > repeat with i = 1 to N ?? get line i of tBigString > end repeat > > can get slow if N is large, because of repeatedly scanning over large > leading sub-strings to get to line 'i'. > From jacque at hyperactivesw.com Mon Aug 20 16:36:00 2018 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Mon, 20 Aug 2018 15:36:00 -0500 Subject: fullscreenmode and rect of a substack on mobile device ? In-Reply-To: <30FD572A-30CA-40CB-B1C0-020AEEDC6E4F@laposte.net> References: <3AD3CF89-6E4C-4608-A9FC-E56DDADFD115@laposte.net> <99f39315-d93c-ba00-db5f-423ef3d209c1@fourthworld.com> <30FD572A-30CA-40CB-B1C0-020AEEDC6E4F@laposte.net> Message-ID: <1328e2f1-58fa-6064-e95f-10bf0638da95@hyperactivesw.com> On 8/19/18 11:11 PM, Ludovic THEBAULT via use-livecode wrote: > But i found i can get the ? real ? top and bottom with : round((item 4 of the screenrect*the systemscale)/2)-theight // +theight (for the bottom) > where theight is the height of my stack before fullscreenmode. You should be able to get the stack rect from "the rect of this card", or "the rect of this stack". That may have been lost in the long conversation that followed your question. The card rect will tell you the width and height, the stack rect will tell you the pixel locations of the top, sides, and bottom. Does that work for you? Brian observed that the actual mobile size isn't defined yet on preOpenCard (I haven't tested that) so you may need to query it after the app has fully loaded. -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com From curry at pair.com Mon Aug 20 17:03:13 2018 From: curry at pair.com (Curry Kenworthy) Date: Mon, 20 Aug 2018 17:03:13 -0400 Subject: Surprise... In-Reply-To: References: Message-ID: <5B7B2C91.3030302@pair.com> Hey Folks, Of course I'm interested in this thread. Always a big concern. Earlier this year, and last year, I was doing face-off competitions between LiveCode versions to test how optimization is faring. When I get time, after some other priorities and addon updates, I would like to do another round of cross-version testing to see who is the current champion. (IIRC, I think 6.7 was last time, for Windows.) Meanwhile.... jbv: > the same data on LC 6.5.2 desktop Mac, and arrays run 20% faster > than items... On LC9 server I get opposite results : items are > 2 times faster then arrays. 1. Try LC 6.5 desktop vs LC 9 desktop: how does that fare? And maybe LC 9 desktop vs LC 9 server? I would like to distinguish LC 6/9 from LC desktop/server. Apples to apples testing, then conclusions are possible. 2. Sample code stack would be great. Mark T.: > I wrote a stack that demonstrated this and other concepts for > LC Mark directly. His Global talks called ?Optimizing Your Code? > are partially based on some things we have been discussing. Optimizing our code is a good thing, and something I am paranoid about and specialize in helping people with. Optimizing LC's own code is also a good thing, and really the bigger question here perhaps for this thread! So...I'll be quietly following this thread. No time to participate yet, but will later. Best wishes, Curry Kenworthy Custom Software Development LiveCode Training and Consulting http://livecodeconsulting.com/ From jacque at hyperactivesw.com Mon Aug 20 17:07:58 2018 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Mon, 20 Aug 2018 16:07:58 -0500 Subject: fullscreenmode and rect of a substack on mobile device ? In-Reply-To: <48c8b772-62f3-7af2-3156-e47f8c047f91@fourthworld.com> References: <48c8b772-62f3-7af2-3156-e47f8c047f91@fourthworld.com> Message-ID: <140147b2-07e8-0b1f-f23b-9aa5e8af6787@hyperactivesw.com> On 8/19/18 11:45 PM, Richard Gaskin via use-livecode wrote: > Consider a Note app.? At the top is a navbar that spans the width of the > device at 60 px tall; below is a field for the user to type in; centered > below that is a "Save" button. > > This is in the card script: > > on resizeStack x,y > ? set the rect of grp "Navbar" to 0,0,x,60 > ? set the rect of fld "Main" to 0,the bottom of grp "Nav",x,y-100 > ? set the loc of btn "Save" to (item 1 of the loc of this cd, y-40) > end resizeStack Yup. Would you do this for, say, 200 controls per card on 1000 unique cards? Toss in a handful of groups nested three deep each. (I have Swami's project in mind.) -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com From dan at clearvisiontech.com Mon Aug 20 17:27:22 2018 From: dan at clearvisiontech.com (Dan Friedman) Date: Mon, 20 Aug 2018 21:27:22 +0000 Subject: Mobile Record Audio Message-ID: <8EFEAABC-0E8C-48DB-BA66-0400FA38EF1F@clearvisiontech.com> Hello! I need to record audio on both android and iOS and then upload that recording as a mp3 to a server (for use by another service that requires mp3). Recording isn?t the issue, there is the Android Audio Recorder for Android, and mergMicrophoneStartRecording fPath for iSO. Is issue is saving it as a mp3. As I understand, both these commands will produce a mp4, not a mp3. Anyone know a solution? Thanks in advance! -Dan From brian at milby7.com Mon Aug 20 18:03:36 2018 From: brian at milby7.com (Brian Milby) Date: Mon, 20 Aug 2018 17:03:36 -0500 Subject: Surprise... In-Reply-To: <5B7B2C91.3030302@pair.com> References: <5B7B2C91.3030302@pair.com> Message-ID: While this test may be valuable in comparing different versions of LC, I'm not sure how useful the data is by itself. I decided to run a test and see what happened. I defined 6 constants. kA-kE for the size of each loop. kF for the last line in tvar/element in the array. To initialize, I just made it simple and put 1,2,3...kX for the lines and T[1][1] = 1, T[1][2] = 2,... for the array. To add an additional wrinkle, I added additional lines to tvar such that the last line could be 5 or some other number. I'm on an iMac/Sierra running 9.0.1rc1. Times are milliseconds. First line is the constant values. First test is the original from the start of the thread. 34 10 11 10 34 5 item: 4159 / array: 9718 / 0.427969 34 10 11 10 34 50 item: 5200 / array: 10346 / 0.50261 34 10 11 10 34 500 item: 36573 / array: 10298 / 3.551466 340 10 11 10 34 5 item: 81108 / array: 97007 / 0.836105 340 10 11 10 34 50 item: 213107 / array: 103755 / 2.053944 Notice not much relative difference between 5 and 50 lines in the original test (but item did take 20% more time), but when I jumped it to 500 the advantage shifted to array. Notice how linear the array times are when the outer loop is changed - compare test 1 to 4 and 2 to 5. The number of outer loops increased by a factor of 10 and the array time jumped by a factor of 10. Compare to the item where it was 20x and 40x. This is where the advantage of arrays lies - it is constant time to access, so the cost is mainly a factor of the number of reads. I also did the first and third test on 8.1.9 (slightly slower than 9): 34 10 11 10 34 5 item: 4828 / array: 10714 / 0.450625 34 10 11 10 34 500 item: 37806 / array: 11057 / 3.419191 If anyone wants the stack or code, let me know. Thanks, Brian On Mon, Aug 20, 2018 at 4:03 PM, Curry Kenworthy via use-livecode < use-livecode at lists.runrev.com> wrote: > > Hey Folks, > > Of course I'm interested in this thread. Always a big concern. Earlier > this year, and last year, I was doing face-off competitions between > LiveCode versions to test how optimization is faring. > > When I get time, after some other priorities and addon updates, I would > like to do another round of cross-version testing to see who is the current > champion. (IIRC, I think 6.7 was last time, for Windows.) > > Meanwhile.... > > jbv: > > > the same data on LC 6.5.2 desktop Mac, and arrays run 20% faster > > than items... On LC9 server I get opposite results : items are > > 2 times faster then arrays. > > 1. Try LC 6.5 desktop vs LC 9 desktop: how does that fare? And maybe LC 9 > desktop vs LC 9 server? I would like to distinguish LC 6/9 from LC > desktop/server. Apples to apples testing, then conclusions are possible. > > 2. Sample code stack would be great. > > Mark T.: > > > I wrote a stack that demonstrated this and other concepts for > > LC Mark directly. His Global talks called ?Optimizing Your Code? > > are partially based on some things we have been discussing. > > Optimizing our code is a good thing, and something I am paranoid about and > specialize in helping people with. Optimizing LC's own code is also a good > thing, and really the bigger question here perhaps for this thread! > > So...I'll be quietly following this thread. No time to participate yet, > but will later. > > Best wishes, > > Curry Kenworthy > > Custom Software Development > LiveCode Training and Consulting > http://livecodeconsulting.com/ > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From zryip.theslug at gmail.com Mon Aug 20 18:28:22 2018 From: zryip.theslug at gmail.com (zryip theSlug) Date: Tue, 21 Aug 2018 00:28:22 +0200 Subject: Datagrid -- Scrolling on Mobile In-Reply-To: References: Message-ID: Dear Swami, Mobile scrollers should be natively added by the dg2 library when the stack is executed inside a mobile device context. I've seen the corresponding portion of code inside the dg2 library. On Mon, Aug 20, 2018 at 5:09 PM, Sannyasin Brahmanathaswami via use-livecode wrote: > I am slowly getting up to speed with datagrid, I understand structure, the > scripts of the row group, can instantiate data etc. > > But, am I missing something? > > http://lessons.livecode.com/m/datagrid > > I can't find single lesson on implementing DG on mobile. > > Scrolling on mobile -- do we do it the same way as other groups? > > 1) turn off scroll bars > > 2) CreateScroller etc (mobile library) > > 3) Does does Datagrid have it's own "mobile magic" scroller. > > I use what looks like a "hackey" way to determine if a user is clicking > on a group, or is scrolling the group. Is it same for the DataGrid? > > if abs(the mouseH - item 1 of sStartLoc) <= 10 and abs(the mouseV - item 2 > of sStartLoc) <= 10 then > > portal_setCurrent (the short name of this card) > > put the short name of the target into tRow > > set the itemDelimiter to "_" > > put item 1 of tRow into tLinkNo > > if tLinkNo is not a number then > > exit mouseup > > end if > > put fld (tLInkNo &"_" &"portal-link-label") into tRowName > > portal_DoRowLink tRowName > > > BR > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > -- Zryip TheSlug http://www.aslugontheroad.com From gcanyon at gmail.com Mon Aug 20 18:46:55 2018 From: gcanyon at gmail.com (Geoff Canyon) Date: Mon, 20 Aug 2018 15:46:55 -0700 Subject: Navigator 6.1 alpha1 is out Message-ID: Phew -- this was a lot of work, as I basically had to (for about the ninth time!) completely re-write a portion of the drag-and-drop code, which is by far my least favorite part of Navigator. Briefly, this release does three things: 1. Fixes drag-and-drop code so that it should work correctly even if: you have folded groups; you have applied a test filter so that only some controls are displayed; you have applied a text filter so that only some controls are displayed. Makes group folding much more transparent by: 2. Adding a color strip to the left side of the Navigator display that shows where to click a group to fold/unfold it. 3. Adding a line below a folded group that says something like, "8 folded controls." Apart from providing a visual cue that a group has been folded, the part that required looking at much of Navigator's code is that the line from (3) actually represents the 8 (or whatever) controls in that group. You can click on that one line and drag them someplace else, or modify their properties. Etc, etc. There's no functionality in Navigator yet to "collapse" any set of controls other than when folding the controls in a group, but there's nothing to prevent it I don't think. So if you have suggestions beyond just adding a command to the Navigator pop-up menu to "fold these controls" let me know. Making it so that any line in Navigator's display can represent any number of controls is fundamental to much of what Navigator does, so this is definitely an alpha release. As usual, you can get Navigator here . Or grab it from GitHub . Now on to a couple bugs that have been reported... From matthias_livecode_150811 at m-r-d.de Mon Aug 20 19:44:09 2018 From: matthias_livecode_150811 at m-r-d.de (Matthias Rebbe) Date: Tue, 21 Aug 2018 01:44:09 +0200 Subject: For those who do not know lcTasklist Message-ID: Hi, I?ve purchased the plugin lcTasklist a long time ago and used it now and then. But now i am totally in love with this great tool. I was working on a really big project for months and i needed to add some debug code, special comments and special information in my scripts and i had to mark some code for later reviewing. Without lcTasklist it would have been really difficult or maybe nearly impossible to find all of that again in my scripts. With lcTasklist i not even got a list of these "comments", but was able to jump directly to that code. This is a must have. Livecode Ltd. really should consider to license this plugin to deliver it with Livecode. The plugin costs $11.90 / Euro 11.31 and is worth every cent. So if you do not know about it and want to get more information, then look here . Regards, Matthias From ambassador at fourthworld.com Mon Aug 20 21:32:23 2018 From: ambassador at fourthworld.com (Richard Gaskin) Date: Mon, 20 Aug 2018 18:32:23 -0700 Subject: fullscreenmode and rect of a substack on mobile device ? In-Reply-To: <140147b2-07e8-0b1f-f23b-9aa5e8af6787@hyperactivesw.com> References: <140147b2-07e8-0b1f-f23b-9aa5e8af6787@hyperactivesw.com> Message-ID: J. Landman Gay wrote: > On 8/19/18 11:45 PM, Richard Gaskin via use-livecode wrote: >> Consider a Note app. At the top is a navbar that spans the width of >> the device at 60 px tall; below is a field for the user to type in; >> centered below that is a "Save" button. >> >> This is in the card script: >> >> on resizeStack x,y >> set the rect of grp "Navbar" to 0,0,x,60 >> set the rect of fld "Main" to 0,the bottom of grp "Nav",x,y-100 >> set the loc of btn "Save" to (item 1 of the loc of this cd, y-40) >> end resizeStack > > Yup. Would you do this for, say, 200 controls per card on 1000 unique > cards? Toss in a handful of groups nested three deep each. (I have > Swami's project in mind.) Swami asked for a simple example. That was all I delivered. Swami has not asked me to evaluate strategies for precise control of his layouts. That would not be possible until I see how things are constructed. Just yesterday I delivered a UI with several hundred controls on a card, some quite deeply nested within groups. But the layout did not require writing anywhere close to one line per object. Some was handled in loops, others handled by simply grouping objects and placing the group. Some don't need to be moved at all because their natural placement relative to topleft need not change. Others were handled by combinations of the above in reusable behaviors. But for every option there is an edge case. It may be that his app is so unusual as to be completely unconstructable using the methods most apps and web sites are made with. As we see in the other thread today on performance of arrays vs chunks, so much depends on details, and there is rarely any one best answer for all possible cases. If what he has is done and working and he's happy with it, regardless of the method use that would seem a good measure of his chosen method's fitness for that task. Two general observations about resizing: - We write thousands of lines of code in our apps, for everything from data storage to image manipulation and everything else. And for all those thousands of lines, no one complains about any of that - except for the only part the user directly interacts with, the UI. When we consider the widespread availability of data binding options in other systems, you'd think the tediousness of dealing with translating between LiveCode Script and SQL statements, and the repetitiveness of hand-crafting two-way bindings would be a more popular pet peeve. But no, folks are happy to write tons of code for that. And for everything else. We're scripters; we generally enjoy scripting. But reasons I don't yet understand, writing the relatively small part of the code to deliver a precise UI annoys people to the point of spending a multiple of the time the task requires trying to find ways of avoiding the task. - In this thread we have at least half a dozen people, including two from the core team, all working together to explore various options for placing one object within a resizing method chosen for its ostensible ease of use. :) -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ____________________________________________________________________ Ambassador at FourthWorld.com http://www.FourthWorld.com From monte at appisle.net Mon Aug 20 21:49:39 2018 From: monte at appisle.net (Monte Goulding) Date: Tue, 21 Aug 2018 11:49:39 +1000 Subject: fullscreenmode and rect of a substack on mobile device ? In-Reply-To: References: <140147b2-07e8-0b1f-f23b-9aa5e8af6787@hyperactivesw.com> Message-ID: <0E70A57B-95D3-4132-BA39-03F6167D4DE9@appisle.net> > On 21 Aug 2018, at 11:32 am, Richard Gaskin via use-livecode wrote: > > - In this thread we have at least half a dozen people, including two from the core team, all working together to explore various options for placing one object within a resizing method chosen for its ostensible ease of use. :) Hmm? I only see one response from core team and it was from me responding to your queries about when you might get an orientationChanged message and not get a resizeStack message. I did not make any recommendation about which of those handlers to do object placement in if that?s what you are suggesting. By definition if you want to script layout changes when the stack changes size doing so in resizeStack is the only place that makes any sense. If you want to use a fullscreenMode on mobile and have an app with layouts for portrait and landscape then use mobileSetFullScreenRectForOrientations to set the rects you want the stack to be for each orientation then handle resizeStack to update the layout. Cheers Monte From ambassador at fourthworld.com Mon Aug 20 22:08:20 2018 From: ambassador at fourthworld.com (Richard Gaskin) Date: Mon, 20 Aug 2018 19:08:20 -0700 Subject: fullscreenmode and rect of a substack on mobile device ? In-Reply-To: <0E70A57B-95D3-4132-BA39-03F6167D4DE9@appisle.net> References: <0E70A57B-95D3-4132-BA39-03F6167D4DE9@appisle.net> Message-ID: Monte Goulding wrote: >> On 21 Aug 2018, at 11:32 am, Richard Gaskin wrote: >> >> - In this thread we have at least half a dozen people, including two >> from the core team, all working together to explore various options >> for placing one object within a resizing method chosen for its >> ostensible ease of use. :) > > Hmm? I only see one response from core team and it was from me > responding to your queries about when you might get an > orientationChanged message and not get a resizeStack message. I did > not make any recommendation about which of those handlers to do object > placement in if that?s what you are suggesting. I wasn't, but always good to see you here just the same. I was referring to a post earlier in this thread which mentioned some additional support via email with the author from Panos and Eleanor. > By definition if you want to script layout changes when the stack > changes size doing so in resizeStack is the only place that makes > any sense. You write much more concisely than I do. -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ____________________________________________________________________ Ambassador at FourthWorld.com http://www.FourthWorld.com From simplsol at aol.com Mon Aug 20 22:24:10 2018 From: simplsol at aol.com (PEL) Date: Mon, 20 Aug 2018 19:24:10 -0700 Subject: For those who do not know lcTasklist In-Reply-To: References: Message-ID: I second that. It is a great tool and I can?t thank Bill Vlahos enough. Paul Looney > On Aug 20, 2018, at 4:44 PM, Matthias Rebbe via use-livecode wrote: > > Hi, > > I?ve purchased the plugin lcTasklist a long time ago and used it now and then. > But now i am totally in love with this great tool. > I was working on a really big project for months and i needed to add some debug code, special comments and special information in my scripts and i had to mark some code for later reviewing. Without lcTasklist it would have been really difficult or maybe nearly impossible to find all of that again in my scripts. With lcTasklist i not even got a list of these "comments", but was able to jump directly to that code. > > This is a must have. Livecode Ltd. really should consider to license this plugin to deliver it with Livecode. > > The plugin costs $11.90 / Euro 11.31 and is worth every cent. So if you do not know about it and want to get more information, then look here . > > Regards, > > Matthias > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From monte at appisle.net Mon Aug 20 22:42:07 2018 From: monte at appisle.net (Monte Goulding) Date: Tue, 21 Aug 2018 12:42:07 +1000 Subject: fullscreenmode and rect of a substack on mobile device ? In-Reply-To: References: <0E70A57B-95D3-4132-BA39-03F6167D4DE9@appisle.net> Message-ID: > On 21 Aug 2018, at 12:08 pm, Richard Gaskin via use-livecode wrote: > > I was referring to a post earlier in this thread which mentioned some additional support via email with the author from Panos and Eleanor. Aha? yes a number of members of the team (myself included) have become quite familiar with the Siva Siva app. It has exposed/highlighted quite a number of accelerated rendering issues that we have fixed in 9.0.1. I think the report mentioned https://quality.livecode.com/show_bug.cgi?id=21506 was a case of BR getting a bit used to assuming an engine problem on Android which is fair enough as there is a regression I resolved for the upcoming RC 2 which seems like what he was seeing. Cheers Monte From jacque at hyperactivesw.com Tue Aug 21 01:07:53 2018 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Tue, 21 Aug 2018 00:07:53 -0500 Subject: fullscreenmode and rect of a substack on mobile device ? In-Reply-To: References: <140147b2-07e8-0b1f-f23b-9aa5e8af6787@hyperactivesw.com> Message-ID: On 8/20/18 8:32 PM, Richard Gaskin via use-livecode wrote: > Swami has not asked me to evaluate strategies for precise control of his > layouts.? That would not be possible until I see how things are > constructed. He estimated months, and that sounds about right. Every card is laid out differently. The project is gigantic. > Just yesterday I delivered a UI with several hundred controls on a card, > some quite deeply nested within groups.? But the layout did not require > writing anywhere close to one line per object.? Some was handled in > loops, others handled by simply grouping objects and placing the group. > Some don't need to be moved at all because their natural placement > relative to topleft need not change.? Others were handled by > combinations of the above in reusable behaviors. It's not always like that. Like the sample stack we were working on here, just moving a group doesn't always work. The group needs to be resized, as do all its components. Field properties often need to be managed manually, text sizes and heights adjusted. Loops are fine if you're dealing with grid-type things, but useless when no two objects are the same. FSM manages all that without any scripts at all. Auto-resizing does require an awareness during initial layout of how fullscreenMode works. The objections you've raised can all be dealt with if you're a stickler for HIG (which even the companies who publish them don't follow. They're just guidelines.) I'm not saying FSM is the be-all and end-all, and as we've seen here there may be cases where manual adjustment is necessary, but for what I mostly do it's a lifesaver. > We're scripters; we generally enjoy scripting. But reasons I > don't yet understand, writing the relatively small part of the code to > deliver a precise UI annoys people to the point of spending a multiple > of the time the task requires trying to find ways of avoiding the task. In my experience this is exactly backwards, maybe because we develop different types of apps. The core code goes pretty quickly, and manual scaling takes more time than anything else. Even if the lines of script aren't overwhelmingly numerous (though sometimes they are) the calculations are a time sink. It usually takes more than just aligning the rects of controls on a card. Maybe that's not true for things like utility apps or straightforward layouts, but for multimedia and games you can't just put the top of one thing at the bottom of another; it's all percentages and ratios and placement of objects in a calculated area of the screen. Compare that against doing nothing at all except for a single line of code and there's no contest. I suppose people are pretty tired of this conversation now, but the reason I keep answering is because I really believe that FSM is one of the greatest boons the team has given us, and it's saved me hours and hours of effort. I'd be sorry if users think they have to spend all that time scripting individual objects and writing repeat loops. It doesn't have to be that hard (and it is hard. It's tedious and tiresome and fiddly and not at all fun.) There is a quick and gentle way to get your apps on any device with much less effort. If people don't like the default results, it is still possible to adjust the fiddly stuff as needed while allowing the engine to do most of the work. Tell you what. Let's have one of our friendly chats some time and I'll will either convince you or hit you over the head with my goody bag at the next conference. :P -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com From matthias_livecode_150811 at m-r-d.de Tue Aug 21 03:34:28 2018 From: matthias_livecode_150811 at m-r-d.de (Matthias Rebbe) Date: Tue, 21 Aug 2018 09:34:28 +0200 Subject: revNavigator - Cloning a card - am i doing something wrong? Message-ID: <5F00FA28-2776-4C2F-AC2D-125F753A931D@m-r-d.de> Hi, today i wanted to clone a card with Navigator, but the cloned card then is added to the revNavigator stack instead to the original stack. And much more important, after cloning the card revNavigator is going to that cloned card. So no way to use Navigator until i restart. I tried both, cloning from the card list and also cloning when ?this card? is selected. Am i doing something wrong or am i missing something? Regards, Matthias From gcanyon at gmail.com Tue Aug 21 04:13:21 2018 From: gcanyon at gmail.com (Geoff Canyon) Date: Tue, 21 Aug 2018 01:13:21 -0700 Subject: revNavigator - Cloning a card - am i doing something wrong? In-Reply-To: <5F00FA28-2776-4C2F-AC2D-125F753A931D@m-r-d.de> References: <5F00FA28-2776-4C2F-AC2D-125F753A931D@m-r-d.de> Message-ID: Wow, that's a brutal bug. You're not doing anything wrong, I am ;-) I'm looking at it now... On Tue, Aug 21, 2018 at 12:35 AM Matthias Rebbe via use-livecode < use-livecode at lists.runrev.com> wrote: > Hi, > > today i wanted to clone a card with Navigator, but the cloned card then is > added to the revNavigator stack instead to the original stack. And much > more important, after cloning the card revNavigator is going to that cloned > card. So no way to use Navigator until i restart. > > I tried both, cloning from the card list and also cloning when ?this card? > is selected. > > Am i doing something wrong or am i missing something? > > Regards, > > Matthias > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From gcanyon at gmail.com Tue Aug 21 05:31:49 2018 From: gcanyon at gmail.com (Geoff Canyon) Date: Tue, 21 Aug 2018 02:31:49 -0700 Subject: revNavigator - Cloning a card - am i doing something wrong? In-Reply-To: References: <5F00FA28-2776-4C2F-AC2D-125F753A931D@m-r-d.de> Message-ID: It turns out I think I'm not doing something wrong, but I fixed it anyway. ;-) It appears the "clone" command doesn't match the documentation. For me, in LC 8 on a Mac, it seems that issuing a clone command for a card in another stack doesn't clone the card in its owner, but to the stack running the script. This isn't just a Navigator thing, I tested with two new stacks. "go"ing to the stack containing the card to be cloned before cloning it eliminates the issue. So, much the same as I do for relayering controls for drag and drop, I now store the current topstack, lock messages and the screen, go to the card to be cloned, and then return. There appear to be some anomalies associated with this: after it's done the topstack doesn't have the right decorations, and there were some other issues as well; but the main problem of the cloned card going into Navigator is, I think, fixed. You can update Navigator to get the fix: Get Navigator here . Or grab it from GitHub . On Tue, Aug 21, 2018 at 1:13 AM Geoff Canyon wrote: > Wow, that's a brutal bug. You're not doing anything wrong, I am ;-) > > I'm looking at it now... > > On Tue, Aug 21, 2018 at 12:35 AM Matthias Rebbe via use-livecode < > use-livecode at lists.runrev.com> wrote: > >> Hi, >> >> today i wanted to clone a card with Navigator, but the cloned card then >> is added to the revNavigator stack instead to the original stack. And much >> more important, after cloning the card revNavigator is going to that cloned >> card. So no way to use Navigator until i restart. >> >> I tried both, cloning from the card list and also cloning when ?this >> card? is selected. >> >> Am i doing something wrong or am i missing something? >> >> Regards, >> >> Matthias >> >> >> _______________________________________________ >> use-livecode mailing list >> use-livecode at lists.runrev.com >> Please visit this url to subscribe, unsubscribe and manage your >> subscription preferences: >> http://lists.runrev.com/mailman/listinfo/use-livecode > > From gcanyon at gmail.com Tue Aug 21 05:37:11 2018 From: gcanyon at gmail.com (Geoff Canyon) Date: Tue, 21 Aug 2018 02:37:11 -0700 Subject: Navigator 6.1 alpha1 is out In-Reply-To: References: Message-ID: I made a slight update to fix an issue with the drag and drop indicators. Using some fonts in Navigator's list field would cause the indicators to be off when dragging in long lists. Oddly, this seems to be because the effective textHeight of the field reports a 1-off pixel count. So instead of using that I switched to using the textheightsum / the number of lines of the field. Wasteful, but accurate. You can update Navigator to get the fix. As usual: Get Navigator here . Or grab it from GitHub . On Mon, Aug 20, 2018 at 3:46 PM Geoff Canyon wrote: > Phew -- this was a lot of work, as I basically had to (for about the ninth > time!) completely re-write a portion of the drag-and-drop code, which is by > far my least favorite part of Navigator. > > Briefly, this release does three things: > > 1. Fixes drag-and-drop code so that it should work correctly even if: you > have folded groups; you have applied a test filter so that only some > controls are displayed; you have applied a text filter so that only some > controls are displayed. > > Makes group folding much more transparent by: > > 2. Adding a color strip to the left side of the Navigator display that > shows where to click a group to fold/unfold it. > > 3. Adding a line below a folded group that says something like, "8 folded > controls." > > Apart from providing a visual cue that a group has been folded, the part > that required looking at much of Navigator's code is that the line from (3) > actually represents the 8 (or whatever) controls in that group. You can > click on that one line and drag them someplace else, or modify their > properties. Etc, etc. > > There's no functionality in Navigator yet to "collapse" any set of > controls other than when folding the controls in a group, but there's > nothing to prevent it I don't think. So if you have suggestions beyond just > adding a command to the Navigator pop-up menu to "fold these controls" let > me know. > > Making it so that any line in Navigator's display can represent any number > of controls is fundamental to much of what Navigator does, so this is > definitely an alpha release. > > As usual, you can get Navigator here > . Or grab > it from GitHub . > > Now on to a couple bugs that have been reported... > From iphonelagi at gmail.com Tue Aug 21 05:48:13 2018 From: iphonelagi at gmail.com (Lagi Pittas) Date: Tue, 21 Aug 2018 10:48:13 +0100 Subject: For those who do not know lcTasklist In-Reply-To: References: Message-ID: HI Malte, I just bought it on your recommendation - I'm sure it will be very useful as I'm "refactoring" some old code at the moment (make it work THEN make it better). Lagi A brute force solution that works is better than an elegant solution that doesn't work. Steve McConell - Code Complete On Tue, 21 Aug 2018 at 00:44, Matthias Rebbe via use-livecode < use-livecode at lists.runrev.com> wrote: > Hi, > > I?ve purchased the plugin lcTasklist a long time ago and used it now and > then. > But now i am totally in love with this great tool. > I was working on a really big project for months and i needed to add some > debug code, special comments and special information in my scripts and i > had to mark some code for later reviewing. Without lcTasklist it would have > been really difficult or maybe nearly impossible to find all of that > again in my scripts. With lcTasklist i not even got a list of these > "comments", but was able to jump directly to that code. > > This is a must have. Livecode Ltd. really should consider to license > this plugin to deliver it with Livecode. > > The plugin costs $11.90 / Euro 11.31 and is worth every cent. So if you > do not know about it and want to get more information, then look here < > https://livecode.com/extensions/lctasklist/1-3-0/>. > > Regards, > > Matthias > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From matthias_livecode_150811 at m-r-d.de Tue Aug 21 06:28:46 2018 From: matthias_livecode_150811 at m-r-d.de (Matthias Rebbe) Date: Tue, 21 Aug 2018 12:28:46 +0200 Subject: For those who do not know lcTasklist In-Reply-To: References: Message-ID: Lagi, i am not Malte, i am Matthias (???????). ;) But anyway. Good to know that the user base of lcTaskList increases. Regards, Matthias > Am 21.08.2018 um 11:48 schrieb Lagi Pittas via use-livecode >: > > HI Malte, > > I just bought it on your recommendation - I'm sure it will be very useful > as I'm "refactoring" some old code at the moment (make it work THEN make it > better). > > Lagi > > A brute force solution that works is better than an elegant solution that > doesn't work. > Steve McConell - Code Complete > > On Tue, 21 Aug 2018 at 00:44, Matthias Rebbe via use-livecode < > use-livecode at lists.runrev.com > wrote: > >> Hi, >> >> I?ve purchased the plugin lcTasklist a long time ago and used it now and >> then. >> But now i am totally in love with this great tool. >> I was working on a really big project for months and i needed to add some >> debug code, special comments and special information in my scripts and i >> had to mark some code for later reviewing. Without lcTasklist it would have >> been really difficult or maybe nearly impossible to find all of that >> again in my scripts. With lcTasklist i not even got a list of these >> "comments", but was able to jump directly to that code. >> >> This is a must have. Livecode Ltd. really should consider to license >> this plugin to deliver it with Livecode. >> >> The plugin costs $11.90 / Euro 11.31 and is worth every cent. So if you >> do not know about it and want to get more information, then look here < >> https://livecode.com/extensions/lctasklist/1-3-0/ >. >> >> Regards, >> >> Matthias >> >> _______________________________________________ >> use-livecode mailing list >> use-livecode at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode Matthias Rebbe Tel +49 5741 310000 ?https://matthiasrebbe.eu ? From chipsm at themartinz.com Tue Aug 21 06:35:20 2018 From: chipsm at themartinz.com (chipsm at themartinz.com) Date: Tue, 21 Aug 2018 03:35:20 -0700 Subject: Navigator 6.1 alpha1 is out In-Reply-To: References: Message-ID: <024101d4393a$a9361fd0$fba25f70$@themartinz.com> Geoff, When I create a new Navigator for a Group, when I click on an item it does not get selected on the card. Am I doing something wrong? Sincerely, Clarence Martin Email: Chipsm at themartinz.com Cell: 626 696-5561 -----Original Message----- From: use-livecode On Behalf Of Geoff Canyon via use-livecode Sent: Tuesday, August 21, 2018 2:37 AM To: How to use LiveCode Cc: Geoff Canyon Subject: Re: Navigator 6.1 alpha1 is out I made a slight update to fix an issue with the drag and drop indicators. Using some fonts in Navigator's list field would cause the indicators to be off when dragging in long lists. Oddly, this seems to be because the effective textHeight of the field reports a 1-off pixel count. So instead of using that I switched to using the textheightsum / the number of lines of the field. Wasteful, but accurate. You can update Navigator to get the fix. As usual: Get Navigator here . Or grab it from GitHub . On Mon, Aug 20, 2018 at 3:46 PM Geoff Canyon wrote: > Phew -- this was a lot of work, as I basically had to (for about the > ninth > time!) completely re-write a portion of the drag-and-drop code, which > is by far my least favorite part of Navigator. > > Briefly, this release does three things: > > 1. Fixes drag-and-drop code so that it should work correctly even if: > you have folded groups; you have applied a test filter so that only > some controls are displayed; you have applied a text filter so that > only some controls are displayed. > > Makes group folding much more transparent by: > > 2. Adding a color strip to the left side of the Navigator display that > shows where to click a group to fold/unfold it. > > 3. Adding a line below a folded group that says something like, "8 > folded controls." > > Apart from providing a visual cue that a group has been folded, the > part that required looking at much of Navigator's code is that the > line from (3) actually represents the 8 (or whatever) controls in that > group. You can click on that one line and drag them someplace else, or > modify their properties. Etc, etc. > > There's no functionality in Navigator yet to "collapse" any set of > controls other than when folding the controls in a group, but there's > nothing to prevent it I don't think. So if you have suggestions beyond > just adding a command to the Navigator pop-up menu to "fold these > controls" let me know. > > Making it so that any line in Navigator's display can represent any > number of controls is fundamental to much of what Navigator does, so > this is definitely an alpha release. > > As usual, you can get Navigator here > . Or > grab it from GitHub . > > Now on to a couple bugs that have been reported... > _______________________________________________ use-livecode mailing list use-livecode at lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode From chipsm at themartinz.com Tue Aug 21 06:46:24 2018 From: chipsm at themartinz.com (chipsm at themartinz.com) Date: Tue, 21 Aug 2018 03:46:24 -0700 Subject: Navigator 6.1 alpha1 is out In-Reply-To: <024101d4393a$a9361fd0$fba25f70$@themartinz.com> References: <024101d4393a$a9361fd0$fba25f70$@themartinz.com> Message-ID: <024301d4393c$3504e040$9f0ea0c0$@themartinz.com> My Bad! I am replying to my own question. I found that by right clicking on the item and using the "select objects", I can hilite and get the object info. GREAT PLUGIN! Sincerely, Clarence Martin Email: Chipsm at themartinz.com Cell: 626 696-5561 -----Original Message----- From: use-livecode On Behalf Of Clarence Martin via use-livecode Sent: Tuesday, August 21, 2018 3:35 AM To: 'How to use LiveCode' Cc: chipsm at themartinz.com Subject: RE: Navigator 6.1 alpha1 is out Geoff, When I create a new Navigator for a Group, when I click on an item it does not get selected on the card. Am I doing something wrong? Sincerely, Clarence Martin Email: Chipsm at themartinz.com Cell: 626 696-5561 -----Original Message----- From: use-livecode On Behalf Of Geoff Canyon via use-livecode Sent: Tuesday, August 21, 2018 2:37 AM To: How to use LiveCode Cc: Geoff Canyon Subject: Re: Navigator 6.1 alpha1 is out I made a slight update to fix an issue with the drag and drop indicators. Using some fonts in Navigator's list field would cause the indicators to be off when dragging in long lists. Oddly, this seems to be because the effective textHeight of the field reports a 1-off pixel count. So instead of using that I switched to using the textheightsum / the number of lines of the field. Wasteful, but accurate. You can update Navigator to get the fix. As usual: Get Navigator here . Or grab it from GitHub . On Mon, Aug 20, 2018 at 3:46 PM Geoff Canyon wrote: > Phew -- this was a lot of work, as I basically had to (for about the > ninth > time!) completely re-write a portion of the drag-and-drop code, which > is by far my least favorite part of Navigator. > > Briefly, this release does three things: > > 1. Fixes drag-and-drop code so that it should work correctly even if: > you have folded groups; you have applied a test filter so that only > some controls are displayed; you have applied a text filter so that > only some controls are displayed. > > Makes group folding much more transparent by: > > 2. Adding a color strip to the left side of the Navigator display that > shows where to click a group to fold/unfold it. > > 3. Adding a line below a folded group that says something like, "8 > folded controls." > > Apart from providing a visual cue that a group has been folded, the > part that required looking at much of Navigator's code is that the > line from (3) actually represents the 8 (or whatever) controls in that > group. You can click on that one line and drag them someplace else, or > modify their properties. Etc, etc. > > There's no functionality in Navigator yet to "collapse" any set of > controls other than when folding the controls in a group, but there's > nothing to prevent it I don't think. So if you have suggestions beyond > just adding a command to the Navigator pop-up menu to "fold these > controls" let me know. > > Making it so that any line in Navigator's display can represent any > number of controls is fundamental to much of what Navigator does, so > this is definitely an alpha release. > > As usual, you can get Navigator here > . Or > grab it from GitHub . > > Now on to a couple bugs that have been reported... > _______________________________________________ use-livecode mailing list use-livecode at 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 at lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode From iphonelagi at gmail.com Tue Aug 21 06:46:29 2018 From: iphonelagi at gmail.com (Lagi Pittas) Date: Tue, 21 Aug 2018 11:46:29 +0100 Subject: For those who do not know lcTasklist In-Reply-To: References: Message-ID: Sorry Mathias, I read the post - went away and had an inkling that the name began with an "M" so I could have said Mark - but I knew it wasn't Klaus or Richmond - dementia is not that bad yet! Thank you anyway because I'm sure it would have come in useful a few times already if I had known about it.. For the cost, you only have to save less than half an hour to make it a worthwhile purchase. Regards Lagi On Tue, 21 Aug 2018 at 11:29, Matthias Rebbe via use-livecode < use-livecode at lists.runrev.com> wrote: > Lagi, > > i am not Malte, i am Matthias (???????). ;) > But anyway. Good to know that the user base of lcTaskList increases. > > Regards, > > Matthias > > > Am 21.08.2018 um 11:48 schrieb Lagi Pittas via use-livecode < > use-livecode at lists.runrev.com >: > > > > HI Malte, > > > > I just bought it on your recommendation - I'm sure it will be very useful > > as I'm "refactoring" some old code at the moment (make it work THEN make > it > > better). > > > > Lagi > > > > A brute force solution that works is better than an elegant solution that > > doesn't work. > > Steve McConell - Code Complete > > > > On Tue, 21 Aug 2018 at 00:44, Matthias Rebbe via use-livecode < > > use-livecode at lists.runrev.com > > wrote: > > > >> Hi, > >> > >> I?ve purchased the plugin lcTasklist a long time ago and used it now and > >> then. > >> But now i am totally in love with this great tool. > >> I was working on a really big project for months and i needed to add > some > >> debug code, special comments and special information in my scripts and > i > >> had to mark some code for later reviewing. Without lcTasklist it would > have > >> been really difficult or maybe nearly impossible to find all of that > >> again in my scripts. With lcTasklist i not even got a list of these > >> "comments", but was able to jump directly to that code. > >> > >> This is a must have. Livecode Ltd. really should consider to license > >> this plugin to deliver it with Livecode. > >> > >> The plugin costs $11.90 / Euro 11.31 and is worth every cent. So if you > >> do not know about it and want to get more information, then look here < > >> https://livecode.com/extensions/lctasklist/1-3-0/ < > https://livecode.com/extensions/lctasklist/1-3-0/>>. > >> > >> Regards, > >> > >> Matthias > >> > >> _______________________________________________ > >> use-livecode mailing list > >> use-livecode at lists.runrev.com > >> Please visit this url to subscribe, unsubscribe and manage your > >> subscription preferences: > >> http://lists.runrev.com/mailman/listinfo/use-livecode < > http://lists.runrev.com/mailman/listinfo/use-livecode> > > _______________________________________________ > > use-livecode mailing list > > use-livecode at lists.runrev.com > > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > > http://lists.runrev.com/mailman/listinfo/use-livecode < > http://lists.runrev.com/mailman/listinfo/use-livecode> > Matthias Rebbe > Tel +49 5741 310000 > ?https://matthiasrebbe.eu ? > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From brian at milby7.com Tue Aug 21 10:24:49 2018 From: brian at milby7.com (Brian Milby) Date: Tue, 21 Aug 2018 09:24:49 -0500 Subject: Surprise... In-Reply-To: References: <5B7B2C91.3030302@pair.com> Message-ID: I expanded my test stack and ran it on the versions I had available. Here's a couple of tests from each version: macOS Sierra (10.12.6) on an iMac (Retina 5K, 27-inch, Late 2014) 4 GHz i7 9.0.1-rc-1 Business / 8.1.9 Business / 7.1.4 Indy / 6.7.11 Indy 34 10 11 10 34 5 LC9 item: 4562 / array: 12660 / 0.360348 LC8 item: 6175 / array: 13111 / 0.470979 LC7 item: 10994 / array: 11554 / 0.951532 LC6 item: 1278 / array: 4681 / 0.273019 340 10 11 10 34 500 LC9 item: 430179 / array: 125709 / 3.422022 LC8 item: 449724 / array: 131206 / 3.427618 LC7 item: 2473784 / array: 114818 / 21.545263 LC6 item: 258495 / array: 45592 / 5.669745 Notice that even in LC6, for this particular test (the original one), item is faster (and by a bigger margin). I don't think it is as much about the speed of arrays per se, but knowing the data set and using the right approach to get the optimal performance. So, it is probably a reasonable approach to use arrays first. If you need to optimize for speed, this is an area to consider. Thanks, Brian From bobsneidar at iotecdigital.com Tue Aug 21 10:41:47 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Tue, 21 Aug 2018 14:41:47 +0000 Subject: fullscreenmode and rect of a substack on mobile device ? In-Reply-To: <0E70A57B-95D3-4132-BA39-03F6167D4DE9@appisle.net> References: <140147b2-07e8-0b1f-f23b-9aa5e8af6787@hyperactivesw.com> <0E70A57B-95D3-4132-BA39-03F6167D4DE9@appisle.net> Message-ID: I've said this before, and perhaps it bears repeating. Many apps do not support resizing simply because the nature of the app does not lend itself to it. We use an ERP called eAutomate. If you try to load the app on a monitor below a minimum resolution, it bugs out and fails to display a detail pane. And if on a larger monitor you decide to increase the Windows display percentage to make text more readable, anything above 125% bugs the app in a different way. This is a very popular service management application in use throughout the world. Our users constantly complain about readability on their monitors. The company's response is, sorry. It has to be that way given the amount of information we need to show at any given time. For an app to be resizable, it has to be designed from the ground up to be so. It's not a simple thing to do, and there is no magic bullet. If a single screen has many hundreds of controls, I begin to question whether or not screen resizing was something the developer had in mind when he started. The way I handle cards with a lot of controls is I use the Tab button, then create a group for each tab. On menuPick I hide ALL the groups, then show the group for the one tab. It's set up in such a way that all I have to do is properly name the group and the tab, and it "just works". Bob S > On Aug 20, 2018, at 18:49 , Monte Goulding via use-livecode wrote: > >> On 21 Aug 2018, at 11:32 am, Richard Gaskin via use-livecode wrote: >> >> - In this thread we have at least half a dozen people, including two from the core team, all working together to explore various options for placing one object within a resizing method chosen for its ostensible ease of use. :) > > Hmm? I only see one response from core team and it was from me responding to your queries about when you might get an orientationChanged message and not get a resizeStack message. I did not make any recommendation about which of those handlers to do object placement in if that?s what you are suggesting. By definition if you want to script layout changes when the stack changes size doing so in resizeStack is the only place that makes any sense. > > If you want to use a fullscreenMode on mobile and have an app with layouts for portrait and landscape then use mobileSetFullScreenRectForOrientations to set the rects you want the stack to be for each orientation then handle resizeStack to update the layout. > > Cheers > > Monte From bobsneidar at iotecdigital.com Tue Aug 21 10:46:57 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Tue, 21 Aug 2018 14:46:57 +0000 Subject: For those who do not know lcTasklist In-Reply-To: References: Message-ID: I have it too. Very useful when I have a lot of bugs and new features to deal with. Of course, now my software has no bugs and the app is as awesome as it can be. ;-) Bob S > On Aug 20, 2018, at 16:44 , Matthias Rebbe via use-livecode wrote: > > Hi, > > I?ve purchased the plugin lcTasklist a long time ago and used it now and then. > But now i am totally in love with this great tool. > I was working on a really big project for months and i needed to add some debug code, special comments and special information in my scripts and i had to mark some code for later reviewing. Without lcTasklist it would have been really difficult or maybe nearly impossible to find all of that again in my scripts. With lcTasklist i not even got a list of these "comments", but was able to jump directly to that code. > > This is a must have. Livecode Ltd. really should consider to license this plugin to deliver it with Livecode. > > The plugin costs $11.90 / Euro 11.31 and is worth every cent. So if you do not know about it and want to get more information, then look here . > > Regards, > > Matthias From bobsneidar at iotecdigital.com Tue Aug 21 10:50:17 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Tue, 21 Aug 2018 14:50:17 +0000 Subject: revNavigator - Cloning a card - am i doing something wrong? In-Reply-To: References: <5F00FA28-2776-4C2F-AC2D-125F753A931D@m-r-d.de> Message-ID: <6044B2FA-0F21-4F70-A322-05D70135AE7C@iotecdigital.com> SO THAT'S how you do it! And do you mean it clones to the topstack? Usually you would clone a card from the message box, and of course it cannot clone to that! Bob S > On Aug 21, 2018, at 02:31 , Geoff Canyon via use-livecode wrote: > > It turns out I think I'm not doing something wrong, but I fixed it anyway. > ;-) > > It appears the "clone" command doesn't match the documentation. For me, in > LC 8 on a Mac, it seems that issuing a clone command for a card in another > stack doesn't clone the card in its owner, but to the stack running the > script. This isn't just a Navigator thing, I tested with two new stacks. From smudge.andy at googlemail.com Tue Aug 21 10:55:43 2018 From: smudge.andy at googlemail.com (AndyP) Date: Tue, 21 Aug 2018 09:55:43 -0500 (CDT) Subject: For those who do not know lcTasklist In-Reply-To: References: Message-ID: <1534863343525-0.post@n4.nabble.com> Also just purchased lcTaskList ... why did I wait sooo long! Extra useful and saves sifting through code notes. Clicking on an item in lcTaskList takes you straight to the line in the script with the corresponding tag .. even opens the script editor if necessary. Highly recommended. ----- Andy Piddock My software never has bugs. It just develops random features. TinyIDE a Free alternative minimalist IDE Plugin for LiveCode Script editor Themer for LC http://2108.co.uk PointandSee is a FREE simple but full featured under cursor colour picker / finder. http://www.pointandsee.co.uk - made with LiveCode -- Sent from: http://runtime-revolution.278305.n4.nabble.com/Revolution-User-f278306.html From dougr at telus.net Tue Aug 21 11:25:30 2018 From: dougr at telus.net (Douglas Ruisaard) Date: Tue, 21 Aug 2018 08:25:30 -0700 Subject: Navigator 6.0 Alpha 4 In-Reply-To: rvYyfjt71n5MbrvYzfK1Iz References: <039901d43719$32ebeee0$98c3cca0$@net> rvYyfjt71n5MbrvYzfK1Iz Message-ID: <046c01d43963$338ea940$9aabfbc0$@net> Thanks, Geoff ... and sorry... I guess I didn't dig quite deep enough. I am very "Project Browser" brainwashed... as a result I'm having an "old dog-new tricks" learning curve with Navigator. I just have to manipulate Navigator a bit more than I had to fiddle with the Project Browser. Yes, I see that card now Douglas Ruisaard Trilogy Software (250) 573-3935 From: Geoff Canyon [mailto:gcanyon at gmail.com] Sent: Monday, August 20, 2018 6:34 PM To: How to use LiveCode Cc: Douglas Ruisaard Subject: Re: Navigator 6.0 Alpha 4 Is this what you're talking about? The template stack for a data grid has two cards, and Navigator (unlike the Project Browser) is designed to show a single card of a single stack at a time. There is a card menu (shown below) that lets you select which card to display. Hopefully this answers your question. A couple additional bits: really, Navigator can display any single container, so: a card, a group, or a background. Or it can display a list of stacks, cards, or backgrounds. You can have multiple (as many as you like) copies of Navigator open at the same time, and each can display a different container. And Navigator lets you bookmark controls, so if you need easy access to a few controls from two different cards at the same time, in the same Navigator, bookmarks will let you do that. Let me know if this answered your question, or if there's still something that looks broken. regards, Geoff On Sat, Aug 18, 2018 at 10:30 AM Douglas Ruisaard via use-livecode wrote: Geoff... Excellent tool but I can't seem to get it to display one of the "cards" of a Data Grid template. In a "standard" DataGrid Form object, Card Id's 1002 and 1005 are created. According to the LC Project Browser, which identifies iconically and positionally the "Data Grid Template xxxxxx" as a "card" (although its Property sees it as a stack) ... and which Navigator correctly identifies it as a stack ... there is a Card id 1005 which contains a few objects, including the Behavior Script of the grid. Card 1005 does NOT appear in Navigator... or at least I can't find a way to get it to appear. Any suggestions? Douglas Ruisaard Trilogy Software _______________________________________________ use-livecode mailing list use-livecode at lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode From brahma at hindu.org Tue Aug 21 11:28:43 2018 From: brahma at hindu.org (Sannyasin Brahmanathaswami) Date: Tue, 21 Aug 2018 15:28:43 +0000 Subject: fullscreenmode and rect of a substack on mobile device ? References: <140147b2-07e8-0b1f-f23b-9aa5e8af6787@hyperactivesw.com> <0E70A57B-95D3-4132-BA39-03F6167D4DE9@appisle.net> Message-ID: Wonderful discussion! @ Bob: agreed that "from ground up" could be one approach. But i have use cases where fully response screen is need and uses case where FSM is the best decision. it not "either" or "or" using resizestack of fullScreedMode So the "tension" behind making that decision can to set aside. @ Richard I did not ask to a "simple" example. "Just yesterday I delivered a UI with several hundred controls on a card, some quite deeply nested within groups. But the layout did not require writing anywhere close to one line per object. Some was handled in loops, others handled by simply grouping objects and placing the group. Some don't need to be moved at all because their natural placement relative to topleft need not change. Others were handled by combinations of the above in reusable behaviors." I want to see that e.g *as an actual stack* - not a long explanation of how it is possible, which you have to provide that on least 6 occasion that past two year. But but I want see code! @ Monte: "mobileSetFullScreenRectForOrientations to set the rects you want the stack to be for each orientation" you mean we can actually set up several of these with the same preopenstack handler! That big news... On 8/20/18 3:50 PM, Monte Goulding via use-livecode wrote: > >> On 21 Aug 2018, at 11:32 am, Richard Gaskin via use-livecode wrote: >> >> - In this thread we have at least half a dozen people, including two from the core team, all working together to explore various options for placing one object within a resizing method chosen for its ostensible ease of use. :) > Hmm? I only see one response from core team and it was from me responding to your queries about when you might get an orientationChanged message and not get a resizeStack message. I did not make any recommendation about which of those handlers to do object placement in if that?s what you are suggesting. By definition if you want to script layout changes when the stack changes size doing so in resizeStack is the only place that makes any sense. > > If you want to use a fullscreenMode on mobile and have an app with layouts for portrait and landscape then use mobileSetFullScreenRectForOrientations to set the rects you want the stack to be for each orientation then handle resizeStack to update the layout. > > Cheers > > Monte > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From gcanyon at gmail.com Tue Aug 21 11:55:12 2018 From: gcanyon at gmail.com (Geoff Canyon) Date: Tue, 21 Aug 2018 08:55:12 -0700 Subject: Navigator 6.1 alpha1 is out In-Reply-To: <024301d4393c$3504e040$9f0ea0c0$@themartinz.com> References: <024101d4393a$a9361fd0$fba25f70$@themartinz.com> <024301d4393c$3504e040$9f0ea0c0$@themartinz.com> Message-ID: On Tue, Aug 21, 2018 at 3:46 AM Clarence Martin via use-livecode < use-livecode at lists.runrev.com> wrote: > My Bad! > I am replying to my own question. > I found that by right clicking on the item and using the "select objects", > I > can hilite and get the object info. > Yep, when Navigator is doing a "live" display -- showing the controls on whatever card is displayed in the topstack -- then Navigator reflects the controls you select on the card, and the selection will be updated to reflect whatever you select in Navigator. When you are displaying anything else -- when Navigator is pinned to a specific card or group or background -- it doesn't do that, because there's no guarantee that the container is even visible. As you found, you can right-click on any controls in the list and select "Select Objects", which will do its best to select the controls -- for example, even if the browse tool is selected. But you can get the object info for anything right in Navigator, without selecting it, on the Properties and Custom Properties menu. gc From matthias_livecode_150811 at m-r-d.de Tue Aug 21 11:58:38 2018 From: matthias_livecode_150811 at m-r-d.de (Matthias Rebbe) Date: Tue, 21 Aug 2018 17:58:38 +0200 Subject: revNavigator - Cloning a card - am i doing something wrong? In-Reply-To: References: <5F00FA28-2776-4C2F-AC2D-125F753A931D@m-r-d.de> Message-ID: Geoff, thanks for the quick update. There?s another thing i noticed: I moved the opened revNavigator stack on the right side of the LC Menu below the Mac OS X menu bar. When i click the arrow icon to collaps the revNavigator stack, then it is moved outside of the screen. I have to change the y-coordinate from 29 to 155 to get it displayed again. Regards, Matthias > Am 21.08.2018 um 11:31 schrieb Geoff Canyon >: > > It turns out I think I'm not doing something wrong, but I fixed it anyway. ;-) > > It appears the "clone" command doesn't match the documentation. For me, in LC 8 on a Mac, it seems that issuing a clone command for a card in another stack doesn't clone the card in its owner, but to the stack running the script. This isn't just a Navigator thing, I tested with two new stacks. > > "go"ing to the stack containing the card to be cloned before cloning it eliminates the issue. > > So, much the same as I do for relayering controls for drag and drop, I now store the current topstack, lock messages and the screen, go to the card to be cloned, and then return. There appear to be some anomalies associated with this: after it's done the topstack doesn't have the right decorations, and there were some other issues as well; but the main problem of the cloned card going into Navigator is, I think, fixed. You can update Navigator to get the fix: > > Get?Navigator?here . Or grab it from GitHub . > > On Tue, Aug 21, 2018 at 1:13 AM Geoff Canyon > wrote: > Wow, that's a brutal bug. You're not doing anything wrong, I am ;-) > > I'm looking at it now... > > On Tue, Aug 21, 2018 at 12:35 AM Matthias Rebbe via use-livecode > wrote: > Hi, > > today i wanted to clone a card with Navigator, but the cloned card then is added to the revNavigator stack instead to the original stack. And much more important, after cloning the card revNavigator is going to that cloned card. So no way to use Navigator until i restart. > > I tried both, cloning from the card list and also cloning when ?this card? is selected. > > Am i doing something wrong or am i missing something? > > Regards, > > Matthias > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From jiml at netrin.com Tue Aug 21 13:05:00 2018 From: jiml at netrin.com (Jim Lambert) Date: Tue, 21 Aug 2018 10:05:00 -0700 Subject: fullscreenmode and rect of a substack on mobile device ? In-Reply-To: References: Message-ID: <8BB4275B-F47D-435F-943C-14134A102444@netrin.com> A shootout between FSM vs. scripted resizing might make a good LC Global presentation. The pros and cons of each. Cases where one may be better than the other. Etc. Examples. Jim Lambert From ambassador at fourthworld.com Tue Aug 21 13:09:21 2018 From: ambassador at fourthworld.com (Richard Gaskin) Date: Tue, 21 Aug 2018 10:09:21 -0700 Subject: fullscreenmode and rect of a substack on mobile device ? In-Reply-To: References: Message-ID: Monte Goulding wrote: > Aha? yes a number of members of the team (myself included) have become > quite familiar with the Siva Siva app. It has exposed/highlighted > quite a number of accelerated rendering issues that we have fixed in > 9.0.1. Thanks, Monte. v9.0.1 is shaping up nicely, everything I've been enjoying about v9 with a bit more fit-and-finish here and there. -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ____________________________________________________________________ Ambassador at FourthWorld.com http://www.FourthWorld.com From rdimola at evergreeninfo.net Tue Aug 21 13:27:52 2018 From: rdimola at evergreeninfo.net (Ralph DiMola) Date: Tue, 21 Aug 2018 13:27:52 -0400 Subject: fullscreenmode and rect of a substack on mobile device ? In-Reply-To: References: Message-ID: <002f01d43974$4d617850$e82468f0$@net> I'm having the opposite problem with 9.0.1 rc1. I'm narrowing down on the strange rendering in 9.0.1 that doesn't happen in 9.0. Some controls don't show up at all other partially render(only 3 words of a page of text). This happens during the startup procedure before the first time the engine goes to idle so to speak. The app goes from splash card to the "Please Wait" card and then the card with the problems. This card has an image in the masthead, a page of text and 2 LC buttons. The text flashes 3 words in the middle of the text then all the text appears but the buttons are not there. I'm trying to make a small-ish stack with a recipe. Ralph DiMola IT Director Evergreen Information Services rdimola at evergreeninfo.net -----Original Message----- From: use-livecode [mailto:use-livecode-bounces at lists.runrev.com] On Behalf Of Richard Gaskin via use-livecode Sent: Tuesday, August 21, 2018 1:09 PM To: use-livecode at lists.runrev.com Cc: Richard Gaskin Subject: Re: fullscreenmode and rect of a substack on mobile device ? Monte Goulding wrote: > Aha? yes a number of members of the team (myself included) have become > quite familiar with the Siva Siva app. It has exposed/highlighted > quite a number of accelerated rendering issues that we have fixed in > 9.0.1. Thanks, Monte. v9.0.1 is shaping up nicely, everything I've been enjoying about v9 with a bit more fit-and-finish here and there. -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ____________________________________________________________________ Ambassador at FourthWorld.com http://www.FourthWorld.com _______________________________________________ use-livecode mailing list use-livecode at lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode From ambassador at fourthworld.com Tue Aug 21 13:47:34 2018 From: ambassador at fourthworld.com (Richard Gaskin) Date: Tue, 21 Aug 2018 10:47:34 -0700 Subject: fullscreenmode and rect of a substack on mobile device ? In-Reply-To: References: Message-ID: <85737c90-6fab-98e2-f6ec-68a715b01762@fourthworld.com> J. Landman Gay wrote: > Auto-resizing does require an awareness during initial layout of how > fullscreenMode works. The objections you've raised can all be dealt > with if you're a stickler for HIG (which even the companies who > publish them don't follow. They're just guidelines.) Of course. But beneath the niggly dictates of the HIGs are some fundamental principles worth considering. Nothing as onerous as skinning details, just basics like making sure text is readable, buttons tappable, and, when practical, that an app looks and behaves in ways that blend well with the rest of the user's experience. Please let me clarify, as I have in every discussion of this topic, that I fully recognize FSM exists for a reason, and there are cases where it's a good choice. Despite the ardent back-and-forth here and in related discussions, I've never seen any disagreement at all on the applicability of one resizing method over another as it relates to a specific layout. This discussion of Swami's app is a good example: based on your previous description of the particulars of his layout, I'd already written that FSM may be a good fit for that. As with anything in software design, it helps to stand on the shoulders of those before us: When we want to make an app, look at other apps of its kind and do that. If there's any caution at all merited for FSM, it's simply that as useful as it, when we look at the apps we have on our devices we see that the stretch-or-gap method FSM provides is less common than specific control placement. Of course "less common" does not mean "non-existent". I keep supporting use of FSM in cases like Monument Valley because it's a gorgeous and successful app, and uses exactly what FSM offers quite easily. But if one is making other types of apps, use the methods those apps use. >> We're scripters; we generally enjoy scripting. But reasons I >> don't yet understand, writing the relatively small part of the code >> to deliver a precise UI annoys people to the point of spending a >> multiple of the time the task requires trying to find ways of >> avoiding the task. > > In my experience this is exactly backwards, maybe because we develop > different types of apps. "Yes!", "Bingo!", "Hallelujah!", and every other enthusiastic affirmative I can find. :) That's the thing: Not all apps are the same. To say one must always use one method over another without regard for the specifics of the app would be as ineffectual as requiring a raincoat every time you leave the house regardless what season it is. The two methods are as different as sandals and galoshes. They're so different there's usually no question at all when we would choose one over another. > Tell you what. Let's have one of our friendly chats some time and I'll > will either convince you or hit you over the head with my goody bag at > the next conference. :P I always enjoy talking with you and you're always welcome to call. But given that you and I have never disagreed on the applicability of one resizing method over another for a given layout, I would imagine that part of the conversation would be very short. -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ____________________________________________________________________ Ambassador at FourthWorld.com http://www.FourthWorld.com From ambassador at fourthworld.com Tue Aug 21 13:51:57 2018 From: ambassador at fourthworld.com (Richard Gaskin) Date: Tue, 21 Aug 2018 10:51:57 -0700 Subject: fullscreenmode and rect of a substack on mobile device ? In-Reply-To: References: Message-ID: <57a7a7c2-b5f1-d212-59b9-fd191d05937a@fourthworld.com> Bob Sneidar wrote: > I've said this before, and perhaps it bears repeating. Many apps do > not support resizing simply because the nature of the app does not > lend itself to it. I think everyone here would agree with that. When an app doesn't need to do something, don't do it. While most apps allow the user to resize the window, "most" is not "all". Mobile is a special case because although the window is not user-resizable it will resize at least once to fit the device screen. How one handles that depends on what the app needs to do. Look at the apps on your phone, find some that look like what you want, and do that. -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ____________________________________________________________________ Ambassador at FourthWorld.com http://www.FourthWorld.com From curry at pair.com Tue Aug 21 14:00:13 2018 From: curry at pair.com (Curry Kenworthy) Date: Tue, 21 Aug 2018 14:00:13 -0400 Subject: Surprise... In-Reply-To: References: Message-ID: <5B7C532D.2060007@pair.com> Brian: > I expanded my test stack and ran it > on the versions I had available. Thanks for (among other things!) running these tests. It's useful to see the item vs array turning point. I also notice something else, if I read your result correctly: LC9 beats LC8 on these tests (that's a good sign!) but LC6 still dominates them all, in this particular type of exercise that you've coded, on Mac. It was also the winner in my previous tests on Windows. ("The Un...defeated... Defen...ding... Champion!") I hope to see LC9/10 further optimized. I love LC6, but you must understand I'm always entirely rooting for the latest version and hoping for it to wipe the floor with the others. When it wins, we all win. Plenty of methods and tricks to optimize LCS code, and the results may vary between releases and platforms, but engine optimization really is helpful. Its performance establishes the boundaries that we work within while scripting. When I get some time I'll run a new round of tests too and publish the results. Thanks again. Best wishes, Curry K. From ambassador at fourthworld.com Tue Aug 21 14:26:26 2018 From: ambassador at fourthworld.com (Richard Gaskin) Date: Tue, 21 Aug 2018 11:26:26 -0700 Subject: fullscreenmode and rect of a substack on mobile device ? In-Reply-To: <8BB4275B-F47D-435F-943C-14134A102444@netrin.com> References: <8BB4275B-F47D-435F-943C-14134A102444@netrin.com> Message-ID: <850e3e47-5ec4-e286-43c9-d30d680aeaad@fourthworld.com> Jim Lambert wrote: > A shootout between FSM vs. scripted resizing might make a good LC > Global presentation. > The pros and cons of each. Cases where one may be better than the > other. Etc. > Examples. I touched on it in my LCG talk on UX in October last year. It was only a brief part of the discussion because there really isn't much to compare. They're so very different that it's rare one would feel the need to choose between them. The nature of the layout dictates which will do what you need. If there's any general guidance, the pattern that seems to have emerged in the complete agreement Jacque and I have on the applicability of each method to a given layout might come down to this: In broad terms, many apps could be categorized as either "productivity apps" or "multimedia presentations". Many games, and perhaps apps like Swami's, provide good examples of multimedia presentations. The stretch-or-gap solution FSM provides can be an excellent fit for those, and indeed it is simple to use as long as what you need to do fits with what it does. Apps like gMmail, Firefox, YouTube, Twitter, Instagram, LinkedIn, Skype, SimpleNote, Play Music, Nextcloud, Hangouts, Telegram, Maps, Calculator, and others are examples of productivity apps. In those, we often see a focus on consistent text and object sizes across device types, with regions that adjust relative to others to make optimal use of every pixel on the user's screen. That's the sort of stuff we've been doing for years with resizeStack handlers on the desktop, providing us with transferable knowledge for mobile as well. Look at the layout you want to make. Look at the apps on your phone. Find some that look like what you want to make. Do that. -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ____________________________________________________________________ Ambassador at FourthWorld.com http://www.FourthWorld.com From ludovic.thebault at laposte.net Tue Aug 21 15:11:05 2018 From: ludovic.thebault at laposte.net (Ludovic THEBAULT) Date: Tue, 21 Aug 2018 21:11:05 +0200 Subject: fullscreenmode and rect of a substack on mobile device ? In-Reply-To: <1328e2f1-58fa-6064-e95f-10bf0638da95@hyperactivesw.com> References: <3AD3CF89-6E4C-4608-A9FC-E56DDADFD115@laposte.net> <99f39315-d93c-ba00-db5f-423ef3d209c1@fourthworld.com> <30FD572A-30CA-40CB-B1C0-020AEEDC6E4F@laposte.net> <1328e2f1-58fa-6064-e95f-10bf0638da95@hyperactivesw.com> Message-ID: <1824CAC0-CE27-4111-8BD1-8A048BB30790@laposte.net> > Le 20 ao?t 2018 ? 22:36, J. Landman Gay via use-livecode a ?crit : > > On 8/19/18 11:11 PM, Ludovic THEBAULT via use-livecode wrote: >> But i found i can get the ? real ? top and bottom with : round((item 4 of the screenrect*the systemscale)/2)-theight // +theight (for the bottom) >> where theight is the height of my stack before fullscreenmode. > > You should be able to get the stack rect from "the rect of this card", or "the rect of this stack". That may have been lost in the long conversation that followed your question. > > The card rect will tell you the width and height, the stack rect will tell you the pixel locations of the top, sides, and bottom. Does that work for you? Brian observed that the actual mobile size isn't defined yet on preOpenCard (I haven't tested that) so you may need to query it after the app has fully loaded. > Hello, thanks But even ? the rect of this cd ? return the rect of the stack i created (0,0,768,1024) not the rect of the screen. I?ve made a test stack. It?s an ? iPad ? stack. Test it with iOS simulator on an iPhone device. https://www.dropbox.com/s/iwwm2syiqzqamtg/testsubstack2.livecode?dl=0 Click on ? get the rect ? and click on ? Adapt ? to set the rect of the background to the rect of the screen From jacque at hyperactivesw.com Tue Aug 21 15:19:57 2018 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Tue, 21 Aug 2018 14:19:57 -0500 Subject: fullscreenmode and rect of a substack on mobile device ? In-Reply-To: <850e3e47-5ec4-e286-43c9-d30d680aeaad@fourthworld.com> References: <8BB4275B-F47D-435F-943C-14134A102444@netrin.com> <850e3e47-5ec4-e286-43c9-d30d680aeaad@fourthworld.com> Message-ID: <5bf2d22a-235d-985e-9631-9b4111ea1308@hyperactivesw.com> On 8/21/18 1:26 PM, Richard Gaskin via use-livecode wrote: > Jim Lambert wrote: > > > A shootout between FSM vs. scripted resizing might make a good LC > > Global presentation. > > The pros and cons of each. Cases where one may be better than the > > other. Etc. > > Examples. > > I touched on it in my LCG talk on UX in October last year. I devoted a lot of my hour to it in my Android Tips talk last year too. But yeah, maybe you and I could team up and do a one-on-one debate. Someone could set up a rope ring and we could wear boxing gloves. :) For the onlookers: Richard and I have been friends forever, but I bet we could fake it. > The stretch-or-gap solution FSM provides can be an excellent fit for those That's where I think you're missing something. Those aren't the only options. Nobody uses stretch (not even Monument Valley) due to the distortion. But you aren't limited to seeing gaps, there are ways to avoid that. That's what my talk covered. The result is closer to what you describe with manual resizing. No gaps, and use of the edges around the stack. I do agree we should use whatever method is best for our needs, so we're in sync there. But I think you are doing way more work than you need to. -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com From jacque at hyperactivesw.com Tue Aug 21 15:31:31 2018 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Tue, 21 Aug 2018 14:31:31 -0500 Subject: fullscreenmode and rect of a substack on mobile device ? In-Reply-To: References: <140147b2-07e8-0b1f-f23b-9aa5e8af6787@hyperactivesw.com> <0E70A57B-95D3-4132-BA39-03F6167D4DE9@appisle.net> Message-ID: <20604630-6bbf-4f92-2b86-a8f101090981@hyperactivesw.com> On 8/21/18 10:28 AM, Sannyasin Brahmanathaswami via use-livecode wrote: > @ Monte: > > "mobileSetFullScreenRectForOrientations to set the rects you want the stack to be for each orientation" > > you mean we can actually set up several of these with the same preopenstack handler! That big news... I think he meant just the four variations on the two main orientations -- portrait and landscape. But we can set mobileSetFullScreenRectForOrientations whenever it's needed so that it's dynamic, which I think you already do in the browser stack. Then set it to empty when the stack closes to go back to the default sizing. -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com From brahma at hindu.org Tue Aug 21 15:49:13 2018 From: brahma at hindu.org (Sannyasin Brahmanathaswami) Date: Tue, 21 Aug 2018 19:49:13 +0000 Subject: fullscreenmode and rect of a substack on mobile device ? References: <85737c90-6fab-98e2-f6ec-68a715b01762@fourthworld.com> Message-ID: I should step into middle this because our app is under discussion. Jacque: I appreciate your support of LC amazing auto-resizing options. They are truly marvelous But perhaps we take a Big View of Landscape. You have to realize I done web development since 1993. Currently we "evolving" two new web sites, (while I do the Siva Siva app). I have been involved in the Hinduism Today Web site (XOOPS/PHP) and did "php" for a while 'till I got fed up with it. So from where I sit as production manager/web coordinator with some fingers attached to the budgets. Some thing are obvious. 1) The web site "Saiva Bible" under construction by young Indian man in Delhi tech section. Is being done PHP and jQuery And misc JS. This is relatively simple app (the UI) But is has 1000's in line of code in the Style CSS sheet alone, and 1000 line of JS dedication to the UI. 2) about to be released (next week) Himalayan Academy Musuem of Spiritual Art http://dev.himalayanacadem.com/hamsa is also relatively simple UI... this developed in ELM and output to JS and CSS. [[FYI to all the content people out there, this art work is free for taking, no license required.]] Suffice it to say that building UI in these environment involves an *enormous* amount code. Most of it extremely opaque. And building that is a "pain" and the cost 5-10X the cost of LC development (where we hire out html5 programming) Meanwhile I get up a 2:15am and start coding at 3:00 and really consider it "fun" to do in Livecode. If the app gets traction (it cannot until Android working! When is RC2 coming!) I may be able hire to some help for here. So one of the reason I push the team on SivaSiva app, is because I need their help. And to push (like others do also) the LC tech to the next level. So, if Richard say that "some manually coding" it required, it does "daunt" me in the least. I'm sure it would, rational, English like, and perfect sense. Compared to web, coding resize handlers in LC, would be a "dream machine" An another important trend is the "rise of vector graphics" which means "look good at any scale"...means this "resize any to fit device" (yes, i know a lot of applications down need that) will have big implications for content developers. OK so @Richard: send the stack that the handles 100 objects or more! BR On 8/21/18 7:48 AM, Richard Gaskin via use-livecode wrote: > Please let me clarify, as I have in every discussion of this topic, that > I fully recognize FSM exists for a reason, and there are cases where > it's a good choice. From ambassador at fourthworld.com Tue Aug 21 16:12:26 2018 From: ambassador at fourthworld.com (Richard Gaskin) Date: Tue, 21 Aug 2018 13:12:26 -0700 Subject: fullscreenmode and rect of a substack on mobile device ? In-Reply-To: References: Message-ID: Sannyasin Brahmanathaswami wrote: > @ Richard I did not ask to a "simple" example. > > "Just yesterday I delivered a UI with several hundred controls on a > card, some quite deeply nested within groups. But the layout did not > require writing anywhere close to one line per object. Some was > handled in loops, others handled by simply grouping objects and > placing the group. Some don't need to be moved at all because their > natural placement relative to topleft need not change. Others were > handled by combinations of the above in reusable behaviors." > > I want to see that e.g *as an actual stack* - not a long explanation > of how it is possible, which you have to provide that on least 6 > occasion that past two year. But but I want see code! But but I want the time to do that! :) I would love to be able to deliver all sorts of example stacks, and I'd enjoy writing the tech notes to guide their dissection. But the requirements of my work limit how much I can deliver here to an occasional description which may, admittedly, be unsatisfying. If someone wants to send me a grant to spend a few weeks crafting instructional examples I'd prefer it over much of what I'm working on. But at the moment my obligations are where they are. Besides, that particular layout was for an organization's internal needs, and even more relevant here than that it's proprietary to them is that their specific layout needs are unlikely to match the specific needs of your app. So instead of throwing a pile of code over the wall as an irrelevant example of *what* to do for that one layout, it seemed more useful to go a level deeper and discuss *why* it's done which can help inform many layouts. -- I used to hate writing object placement code. In the olden days resizeStack handlers tended to be long monolithic blocks of code with cumbersomely long object references. Mind numbing. Then somewhere in the v5.x(?) cycle a small change was made to resizeControl that has big implications for layout management: Previously, resizeControl was only sent to an object when it was resized interactively by the user with the pointer tool. Today that message is also sent to a group when the group is resized by ANY means, including from another script. That. Is. Big. -- Most apps are comprised of regions, each of which contains controls or sometimes other sub-regions. A navbar is a region comprised of a row of buttons, for example; a form is a region comprised of entry fields; etc. Look at the apps you use, and think about them in terms of regions. Regions of a screen are well expressed in LiveCode with groups. With resizeControl triggered by scripts, instead of one long resizeStack handler in the card with tediously long object references, we can just set the rect of the few regions we have, and the mere act of adjusting our group rects will trigger the cascade of messages for each one. Each group can then take care of itself. And in doing so, the object references are much simpler. And the metrics are also simpler, able make use of the group itself as the bounds to work within. Now you can modify the contents of a region, or even replace the group altogether, and all changes are localized in the group - nothing else is affected. Add behaviors to the mix where useful, and things get ever simpler. In broad terms: - Consider UI patterns, look for sections that contain related functionality. - Code the card for those regions. Its small resizeStack handler will trigger the cascade of resizeControl across the groups. - Let the regions take care of their interior contents themselves. - Nest groups wherever helpful, allowing each to enjoy the benefits of being self-contained. - Use behaviors where practical. Beyond that general gestalt of regions and localized code, another useful detail when placing things within groups under most circumstances is to set the lockLoc of the group and everything within it. So much becomes so simple that way, and without it the automatic accommodate of interior objects within a group can sometimes be mystifying. All that becomes confidently predictable with lockLoc. -- None of this may matter much with regard to the app you're working on at the moment, since Jacque's description suggests it's a good fit for FSM, which you're already using. So the description above may be more helpful for others, whose apps' layout needs follow more common patterns. -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ____________________________________________________________________ Ambassador at FourthWorld.com http://www.FourthWorld.com From bobsneidar at iotecdigital.com Tue Aug 21 16:27:26 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Tue, 21 Aug 2018 20:27:26 +0000 Subject: Surprise... In-Reply-To: <5B7C532D.2060007@pair.com> References: <5B7C532D.2060007@pair.com> Message-ID: <5F0DD6BC-2974-4E21-940E-FE0C328FDAB2@iotecdigital.com> Wasn't it Unicode that slowed everything, especially string parsing down? Bob S > On Aug 21, 2018, at 11:00 , Curry Kenworthy via use-livecode wrote: > > Brian: > > > I expanded my test stack and ran it > > on the versions I had available. > > Thanks for (among other things!) running these tests. > > It's useful to see the item vs array turning point. > > I also notice something else, if I read your result correctly: LC9 beats LC8 on these tests (that's a good sign!) but LC6 still dominates them all, in this particular type of exercise that you've coded, on Mac. It was also the winner in my previous tests on Windows. > > ("The Un...defeated... Defen...ding... Champion!") > > I hope to see LC9/10 further optimized. I love LC6, but you must understand I'm always entirely rooting for the latest version and hoping for it to wipe the floor with the others. When it wins, we all win. > > Plenty of methods and tricks to optimize LCS code, and the results may vary between releases and platforms, but engine optimization really is helpful. Its performance establishes the boundaries that we work within while scripting. When I get some time I'll run a new round of tests too and publish the results. Thanks again. > > Best wishes, > > Curry K. From tom at makeshyft.com Tue Aug 21 16:38:31 2018 From: tom at makeshyft.com (Tom Glod) Date: Tue, 21 Aug 2018 16:38:31 -0400 Subject: Surprise... In-Reply-To: <5F0DD6BC-2974-4E21-940E-FE0C328FDAB2@iotecdigital.com> References: <5B7C532D.2060007@pair.com> <5F0DD6BC-2974-4E21-940E-FE0C328FDAB2@iotecdigital.com> Message-ID: maybe when the new chunk types were added it put some overhead on operations on other chunks? weird On Tue, Aug 21, 2018 at 4:27 PM, Bob Sneidar via use-livecode < use-livecode at lists.runrev.com> wrote: > Wasn't it Unicode that slowed everything, especially string parsing down? > > Bob S > > > > On Aug 21, 2018, at 11:00 , Curry Kenworthy via use-livecode < > use-livecode at lists.runrev.com> wrote: > > > > Brian: > > > > > I expanded my test stack and ran it > > > on the versions I had available. > > > > Thanks for (among other things!) running these tests. > > > > It's useful to see the item vs array turning point. > > > > I also notice something else, if I read your result correctly: LC9 beats > LC8 on these tests (that's a good sign!) but LC6 still dominates them all, > in this particular type of exercise that you've coded, on Mac. It was also > the winner in my previous tests on Windows. > > > > ("The Un...defeated... Defen...ding... Champion!") > > > > I hope to see LC9/10 further optimized. I love LC6, but you must > understand I'm always entirely rooting for the latest version and hoping > for it to wipe the floor with the others. When it wins, we all win. > > > > Plenty of methods and tricks to optimize LCS code, and the results may > vary between releases and platforms, but engine optimization really is > helpful. Its performance establishes the boundaries that we work within > while scripting. When I get some time I'll run a new round of tests too and > publish the results. Thanks again. > > > > Best wishes, > > > > Curry K. > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From ambassador at fourthworld.com Tue Aug 21 16:43:13 2018 From: ambassador at fourthworld.com (Richard Gaskin) Date: Tue, 21 Aug 2018 13:43:13 -0700 Subject: fullscreenmode and rect of a substack on mobile device ? In-Reply-To: <5bf2d22a-235d-985e-9631-9b4111ea1308@hyperactivesw.com> References: <5bf2d22a-235d-985e-9631-9b4111ea1308@hyperactivesw.com> Message-ID: <1b0a554b-7247-ad84-76f2-551eb38f2ed7@fourthworld.com> J. Landman Gay wrote: > But yeah, maybe you and I could team up and do a one-on-one debate. > Someone could set up a rope ring and we could wear boxing gloves. :) Given that we've never disagreed on how to solve a specific resizing problem, I would imagine it would be the most boring debate ever. Let's at least spice it up with tequila. If we make it into an interactive drinking game with the audience we may have a winner. :) > On 8/21/18 1:26 PM, Richard Gaskin via use-livecode wrote: >> The stretch-or-gap solution FSM provides can be an excellent fit for >> those > > That's where I think you're missing something. Those aren't the only > options. Nobody uses stretch (not even Monument Valley) due to the > distortion. When stretched proportionately there is no distortion. It's just larger. Monument Valley stretches proportionately. > But you aren't limited to seeing gaps, there are ways to avoid that. The gaps need not be blank. Monument Valley centers its content region within a generous decorative backdrop, so the unused portions of the screen are rendered as a continuation of the background art. Proportionality avoids gaps where the ratio is constant. Change the ratio, and the layout can either extend outside the screen or have a gap within it. I can't conceive of how it could do anything either than one or both of those. > The result is closer to what you describe with manual resizing. No > gaps, and use of the edges around the stack. > > I do agree we should use whatever method is best for our needs, so > we're in sync there. But I think you are doing way more work than you > need to. How would it be used to make an email form that looks great on both a 4" phone and an 11" tablet, in both orientations on each? How can FSM be used to produce the layouts of Evernote, or Twitter, or SimpleNote, or Maps, or Instagram, etc.? My experience with FSM is admittedly limited. Its description suggests it does not attempt to make intelligent decisions about the placement of specific controls relative to each other, or make some objects wider while preserving their height, etc. If I've missed something and there's a way to get a 70px button to remain 70px but at a different location relative to another object on all screen sizes without writing a line of code, of course I'd love it. But at the moment, my primitive ways places me at no greater disadvantage than most app devs and nearly all web devs. -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ____________________________________________________________________ Ambassador at FourthWorld.com http://www.FourthWorld.com From zryip.theslug at gmail.com Tue Aug 21 16:44:54 2018 From: zryip.theslug at gmail.com (zryip theSlug) Date: Tue, 21 Aug 2018 22:44:54 +0200 Subject: [ANN] DGH 2.5.1 is released Message-ID: Dear List Members, DGH 2.5.1 is now available. New: - Formulae Calculation: the installed script is now containing a new handler: DGH_Formulae_RefreshAll. This handler is allowing to refresh the calculation inside the datagrid. Call this function after having populated an empty datagrid to have all the calculations done automatically. Changes: - Custom header: Only the special header controls can be added inside the header template. This means the classical control, widgets or custom controls are now disabled to avoid potential problems in building a custom header from scratch. - Custom header: The script installed with a custom header has changed to remove a line decreasing performances with datagrid containing more than 16 columns - The new functionalty allowing to add several columns at a time has been rethought to increase perfomances when more than 20 columns are added at a time. - The way the columns are hidden (option "always hide invisible columns" checked or not) has been rethought to increase performances when a lot of columns are displayed inside the column builder's preview. - Preferences: the unicode labels has been removed from the preferences and is considered to turn to off by default, due to unicode is now native inside LC since several versions. This option could be the cause of some label issues when turned to on and was only existing for compatibility with old LC versions. It is now in no interest with LC 8.x and 9.x Fixed bugs: - DGH was very slow loading datagrids table containing more than 16 columns. - "Spreadsheet" behavior: when navigating through the cells and inputing new values, then leaving the cell, the values were not stored inside the datagrid. Best Regards, -- Zryip TheSlug http://www.aslugontheroad.com From mark at canelasoftware.com Tue Aug 21 17:11:50 2018 From: mark at canelasoftware.com (Mark Talluto) Date: Tue, 21 Aug 2018 14:11:50 -0700 Subject: Navigator 6.1 alpha1 is out In-Reply-To: References: Message-ID: <99DD91D0-BC13-48F6-8059-C98CED8CE125@canelasoftware.com> Hi Geoff, 6.1 alpha 2 = awesome! You fixed the drag and drop bug. Would you post your PayPal so I can show some appreciation? Best regards, Mark Talluto livecloud.io nursenotes.net canelasoftware.com > On Aug 20, 2018, at 3:46 PM, Geoff Canyon via use-livecode wrote: > > Phew -- this was a lot of work, as I basically had to (for about the ninth > time!) completely re-write a portion of the drag-and-drop code, which is by > far my least favorite part of Navigator. From brian at milby7.com Tue Aug 21 17:17:28 2018 From: brian at milby7.com (Brian Milby) Date: Tue, 21 Aug 2018 16:17:28 -0500 Subject: Surprise... In-Reply-To: References: <5B7C532D.2060007@pair.com> <5F0DD6BC-2974-4E21-940E-FE0C328FDAB2@iotecdigital.com> Message-ID: I am pretty sure it was the unicode. Notice that 7 took a major hit, but then dramatically improved in 8 and had another step in 9 (for the item). Doesn't look like the array portion changed much after the rewrite (did take a slight step back from 7 to 8, but improved with 9). On Tue, Aug 21, 2018 at 3:38 PM, Tom Glod via use-livecode < use-livecode at lists.runrev.com> wrote: > maybe when the new chunk types were added it put some overhead on > operations on other chunks? weird > > On Tue, Aug 21, 2018 at 4:27 PM, Bob Sneidar via use-livecode < > use-livecode at lists.runrev.com> wrote: > > > Wasn't it Unicode that slowed everything, especially string parsing down? > > > > Bob S > > > > > > > On Aug 21, 2018, at 11:00 , Curry Kenworthy via use-livecode < > > use-livecode at lists.runrev.com> wrote: > > > > > > Brian: > > > > > > > I expanded my test stack and ran it > > > > on the versions I had available. > > > > > > Thanks for (among other things!) running these tests. > > > > > > It's useful to see the item vs array turning point. > > > > > > I also notice something else, if I read your result correctly: LC9 > beats > > LC8 on these tests (that's a good sign!) but LC6 still dominates them > all, > > in this particular type of exercise that you've coded, on Mac. It was > also > > the winner in my previous tests on Windows. > > > > > > ("The Un...defeated... Defen...ding... Champion!") > > > > > > I hope to see LC9/10 further optimized. I love LC6, but you must > > understand I'm always entirely rooting for the latest version and hoping > > for it to wipe the floor with the others. When it wins, we all win. > > > > > > Plenty of methods and tricks to optimize LCS code, and the results may > > vary between releases and platforms, but engine optimization really is > > helpful. Its performance establishes the boundaries that we work within > > while scripting. When I get some time I'll run a new round of tests too > and > > publish the results. Thanks again. > > > > > > Best wishes, > > > > > > Curry K. > > > > > > _______________________________________________ > > use-livecode mailing list > > use-livecode at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From bobsneidar at iotecdigital.com Tue Aug 21 17:30:54 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Tue, 21 Aug 2018 21:30:54 +0000 Subject: fullscreenmode and rect of a substack on mobile device ? In-Reply-To: <1b0a554b-7247-ad84-76f2-551eb38f2ed7@fourthworld.com> References: <5bf2d22a-235d-985e-9631-9b4111ea1308@hyperactivesw.com> <1b0a554b-7247-ad84-76f2-551eb38f2ed7@fourthworld.com> Message-ID: Winner gets to eat the worm! Bob S > On Aug 21, 2018, at 13:43 , Richard Gaskin via use-livecode wrote: > > J. Landman Gay wrote: > > > But yeah, maybe you and I could team up and do a one-on-one debate. > > Someone could set up a rope ring and we could wear boxing gloves. :) > > Given that we've never disagreed on how to solve a specific resizing problem, I would imagine it would be the most boring debate ever. > > Let's at least spice it up with tequila. If we make it into an interactive drinking game with the audience we may have a winner. :) From brian at milby7.com Tue Aug 21 17:50:30 2018 From: brian at milby7.com (Brian Milby) Date: Tue, 21 Aug 2018 16:50:30 -0500 Subject: fullscreenmode and rect of a substack on mobile device ? In-Reply-To: References: <5bf2d22a-235d-985e-9631-9b4111ea1308@hyperactivesw.com> <1b0a554b-7247-ad84-76f2-551eb38f2ed7@fourthworld.com> Message-ID: @Richard, could you elaborate on the lockLoc? I assume you are talking about the part where the group will not resize based on control positions within and that if you set H/W of a control the topLeft remains the same along with images not resizing back to their source's size. Did I miss anything? From ambassador at fourthworld.com Tue Aug 21 18:21:28 2018 From: ambassador at fourthworld.com (Richard Gaskin) Date: Tue, 21 Aug 2018 15:21:28 -0700 Subject: fullscreenmode and rect of a substack on mobile device ? In-Reply-To: References: Message-ID: Brian Milby wrote: > Richard wrote: >> ...another useful detail when placing things within groups under >> most circumstances is to set the lockLoc of the group and everything >> within it. So much becomes so simple that way, and without it the >> automatic accommodate of interior objects within a group can >> sometimes be mystifying. All that becomes confidently predictable >> with lockLoc. > > @Richard, could you elaborate on the lockLoc? I assume you are > talking about the part where the group will not resize based on > control positions within and that if you set H/W of a control the > topLeft remains the same along with images not resizing back to > their source's size. Did I miss anything? By default groups are unlocked and resize to accommodate whatever's within them. If you move something within the group, the group will adjust itself to what is more or less its formattedRect. This is often useful if you're using the group as a general container, but starts to get squirrelly when you're moving stuff within the group from the group's own script and the rect of the group matters to your layout. The sequence is: - A group gets its resizeControl, where it moves its interior controls. - Moving an interior control may alter the rect of the group to something different from what the card script intended. - Depending on the placement of things, a change to the group's rect may also move other controls within it. LockLoc locks things down so they only change according to what your script dictates. -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ____________________________________________________________________ Ambassador at FourthWorld.com http://www.FourthWorld.com From curry at pair.com Tue Aug 21 18:33:32 2018 From: curry at pair.com (Curry Kenworthy) Date: Tue, 21 Aug 2018 18:33:32 -0400 Subject: Surprise... In-Reply-To: References: Message-ID: <5B7C933C.7050004@pair.com> In case I was unclear, I just meant that the engine still can and should be optimized! As time and budget allows of course, but certainly doable. I doubt it's only the Unicode and nothing else, but either way it doesn't rule out future speed gains. Unicode shouldn't need to slow down everything from math to non-text loops (and I remember working on some tests to keep the text out of these, but haven't tried that with 9 yet) nor would it remove all opportunities for innovation and simplification that lead to faster execution. Most code can be improved, that's a safe bet with few exceptions, and speed is an improvement that would do LC a lot of good. Not just tiny gains; I do think it's possible and desirable for a Unicode LC engine to beat LC 6 in most areas. If I'm alone in that desire, well, color me surprised! That's my nature. I may be slow at times but I like my code fast. I love optimization and there are some pretty interesting methods to achieve it. Very optimized scripts on a very optimized engine is a scenario very much to my liking. Wouldn't be a bad selling point either. I'll shut up now and dive back in my coding hole where I belong. Addon updates and client updates in the works. :) Best wishes, Curry Kenworthy Custom Software Development LiveCode Training and Consulting http://livecodeconsulting.com/ From brian at milby7.com Tue Aug 21 18:49:49 2018 From: brian at milby7.com (Brian Milby) Date: Tue, 21 Aug 2018 17:49:49 -0500 Subject: Surprise... In-Reply-To: <5B7C933C.7050004@pair.com> References: <5B7C933C.7050004@pair.com> Message-ID: The one optimization that would really help in this particular torture test would be native lists. Then you go from a hash lookup to an index lookup. I know it will be faster than array, but not sure where it would switch over and be faster than item. On Tue, Aug 21, 2018 at 5:33 PM, Curry Kenworthy via use-livecode < use-livecode at lists.runrev.com> wrote: > > In case I was unclear, I just meant that the engine still can and should > be optimized! As time and budget allows of course, but certainly doable. I > doubt it's only the Unicode and nothing else, but either way it doesn't > rule out future speed gains. Unicode shouldn't need to slow down everything > from math to non-text loops (and I remember working on some tests to keep > the text out of these, but haven't tried that with 9 yet) nor would it > remove all opportunities for innovation and simplification that lead to > faster execution. > > Most code can be improved, that's a safe bet with few exceptions, and > speed is an improvement that would do LC a lot of good. Not just tiny > gains; I do think it's possible and desirable for a Unicode LC engine to > beat LC 6 in most areas. If I'm alone in that desire, well, color me > surprised! That's my nature. I may be slow at times but I like my code > fast. I love optimization and there are some pretty interesting methods to > achieve it. Very optimized scripts on a very optimized engine is a scenario > very much to my liking. Wouldn't be a bad selling point either. I'll shut > up now and dive back in my coding hole where I belong. Addon updates and > client updates in the works. :) > > Best wishes, > > Curry Kenworthy > > Custom Software Development > LiveCode Training and Consulting > http://livecodeconsulting.com/ > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From ambassador at fourthworld.com Tue Aug 21 18:51:07 2018 From: ambassador at fourthworld.com (Richard Gaskin) Date: Tue, 21 Aug 2018 15:51:07 -0700 Subject: Surprise... In-Reply-To: <5B7C933C.7050004@pair.com> References: <5B7C933C.7050004@pair.com> Message-ID: Curry Kenworthy wrote: > In case I was unclear, I just meant that the engine still can and > should be optimized! As time and budget allows of course, but > certainly doable. You know I'm fairly obsessive about performance. Does anyone here have benchmarks comparing LC to Python, JavaScript, Lua, and/or other popular scripting languages? -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ____________________________________________________________________ Ambassador at FourthWorld.com http://www.FourthWorld.com From tom at makeshyft.com Tue Aug 21 23:09:56 2018 From: tom at makeshyft.com (Tom Glod) Date: Tue, 21 Aug 2018 23:09:56 -0400 Subject: [ANN] DGH 2.5.1 is released In-Reply-To: References: Message-ID: Great plugin .... i would say its a must for any developer using DGs .... otherwise you are doing more work than you need to. except of course for community users. great job, indeed its a great helper. On Tue, Aug 21, 2018 at 4:44 PM, zryip theSlug via use-livecode < use-livecode at lists.runrev.com> wrote: > Dear List Members, > > > DGH 2.5.1 is now available. > > New: > - Formulae Calculation: the installed script is now containing a new > handler: DGH_Formulae_RefreshAll. This handler is allowing to refresh the > calculation inside the datagrid. Call this function after having populated > an empty datagrid to have all the calculations done automatically. > > Changes: > - Custom header: Only the special header controls can be added inside the > header template. This means the classical control, widgets or custom > controls are now disabled to avoid potential problems in building a custom > header from scratch. > - Custom header: The script installed with a custom header has changed to > remove a line decreasing performances with datagrid containing more than 16 > columns > - The new functionalty allowing to add several columns at a time has been > rethought to increase perfomances when more than 20 columns are added at a > time. > - The way the columns are hidden (option "always hide invisible columns" > checked or not) has been rethought to increase performances when a lot of > columns are displayed inside the column builder's preview. > - Preferences: the unicode labels has been removed from the preferences and > is considered to turn to off by default, due to unicode is now native > inside LC since several versions. This option could be the cause of some > label issues when turned to on and was only existing for compatibility with > old LC versions. It is now in no interest with LC 8.x and 9.x > > Fixed bugs: > - DGH was very slow loading datagrids table containing more than 16 > columns. > - "Spreadsheet" behavior: when navigating through the cells and inputing > new values, then leaving the cell, the values were not stored inside the > datagrid. > > > > > Best Regards, > > -- > Zryip TheSlug > http://www.aslugontheroad.com > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From gcanyon at gmail.com Tue Aug 21 23:50:10 2018 From: gcanyon at gmail.com (Geoff Canyon) Date: Tue, 21 Aug 2018 20:50:10 -0700 Subject: revNavigator - Cloning a card - am i doing something wrong? In-Reply-To: <6044B2FA-0F21-4F70-A322-05D70135AE7C@iotecdigital.com> References: <5F00FA28-2776-4C2F-AC2D-125F753A931D@m-r-d.de> <6044B2FA-0F21-4F70-A322-05D70135AE7C@iotecdigital.com> Message-ID: On Tue, Aug 21, 2018 at 7:50 AM Bob Sneidar via use-livecode < use-livecode at lists.runrev.com> wrote: > SO THAT'S how you do it! And do you mean it clones to the topstack? > Usually you would clone a card from the message box, and of course it > cannot clone to that! > > Bob S > I'm not 100% sure whether this a bug or not -- I filed Bug 21509 to report it. Cloning an object makes a duplicate in the same container as the original. Cloning a card makes a duplicate in the stack where the script is running. I don't know if the message box is somehow different than Navigator to prevent this, or if there is code to prevent it happening in the message box like I have now put in Navigator. We'll see what the response is. gc From gcanyon at gmail.com Tue Aug 21 23:54:53 2018 From: gcanyon at gmail.com (Geoff Canyon) Date: Tue, 21 Aug 2018 20:54:53 -0700 Subject: revNavigator - Cloning a card - am i doing something wrong? In-Reply-To: References: <5F00FA28-2776-4C2F-AC2D-125F753A931D@m-r-d.de> Message-ID: On Tue, Aug 21, 2018 at 8:58 AM Matthias Rebbe via use-livecode < use-livecode at lists.runrev.com> wrote: > Geoff, > thanks for the quick update. > > There?s another thing i noticed: > > I moved the opened revNavigator stack on the right side of the LC Menu > below the Mac OS X menu bar. > When i click the arrow icon to collaps the revNavigator stack, then it is > moved outside of the screen. > > I have to change the y-coordinate from 29 to 155 to get it displayed > again. > > Regards, > Matthias > > I'm not sure I understand -- if the y-coordinate of Navigator is 29, then it should still be on-screen? I tried several ways to replicate this, and so far, no luck. Do you have a multiple-monitor setup? gc From panos.merakos at livecode.com Wed Aug 22 04:09:04 2018 From: panos.merakos at livecode.com (panagiotis merakos) Date: Wed, 22 Aug 2018 11:09:04 +0300 Subject: [ANN] Release 9.0.1 RC-2 Message-ID: Dear list members, We are pleased to announce the release of LiveCode 9.0.1 RC-2. Getting the Release =================== You can get the release at https://downloads.livecode.com/livecode/ or via the automatic updater. Release Contents ================ LiveCode 9.0.1 RC-2 comes with 7 bugfixes, including: 21396 [iOS 12 beta] App crashes on startup 21496 Emscripten: startup script no longer runs 21417 Inclusion of tsNet causes HTML5 standalone to crash 21443 Mobile scroller on Android does not initially work 21434 visual effect not showing on android Moreover, Android 6.0 (API 23) Marshmallow introduced a new permissions model that lets apps request permissions from the user at runtime, rather than prior to installation. Apps built with LC 9.0.1 do support this new permissions model, and request permissions automatically when the app actually requires the services or data protected by the services. For example, if the app calls mobilePickPhoto "camera" , a dialog will be shown to the user asking for permission to access the device camera. If the user does not grant permission, the call will fail. Moreover, the app can use the function to check if the permission for permissionName has been granted, and the command to explicitly ask for permissionName. For more details and examples see the Dictionary. Notes: - Existing apps will continue to work without needing any changes, as backwards compatibility has been ensured. - You have to make sure that you check the required permissions for your app in the standalone settings. - Apps that run on devices running Android 6+ will work with the new permissions model. Apps that run on older devices (less than Android 6) will continue to work with the old permissions model. - If the user does not grant a permission when the dialog appears for the first time, they can change this preference from the Settings app. Known issues ================ - The use of the Browser widget is not supported on Ubuntu 18.04 64 bit LTS yet. The full release notes are available from: http://downloads.livecode.com/livecode/9_0_1/LiveCodeNotes-9_0_1_rc_2.pdf Feedback ======== Please report any bugs encountered on our BugZilla at http://quality.livecode.com/ We have a forum available for discussing LiveCode Builder at http://forums.livecode.com/viewforum.php?f=93 Have fun! The LiveCode Team -- From matthias_livecode_150811 at m-r-d.de Wed Aug 22 07:50:41 2018 From: matthias_livecode_150811 at m-r-d.de (Matthias Rebbe) Date: Wed, 22 Aug 2018 13:50:41 +0200 Subject: [ANN] DGH 2.5.1 is released In-Reply-To: References: Message-ID: <996E5D6F-3BA2-4ACE-971A-6A92776DF8E3@m-r-d.de> I second that. As an addition: Zryip`s response time for support requests and bugfixes is awesome. > Am 22.08.2018 um 05:09 schrieb Tom Glod via use-livecode >: > > Great plugin .... i would say its a must for any developer using DGs .... > otherwise you are doing more work than you need to. > > except of course for community users. > > great job, indeed its a great helper. > > On Tue, Aug 21, 2018 at 4:44 PM, zryip theSlug via use-livecode < > use-livecode at lists.runrev.com > wrote: > >> Dear List Members, >> >> >> DGH 2.5.1 is now available. >> >> New: >> - Formulae Calculation: the installed script is now containing a new >> handler: DGH_Formulae_RefreshAll. This handler is allowing to refresh the >> calculation inside the datagrid. Call this function after having populated >> an empty datagrid to have all the calculations done automatically. >> >> Changes: >> - Custom header: Only the special header controls can be added inside the >> header template. This means the classical control, widgets or custom >> controls are now disabled to avoid potential problems in building a custom >> header from scratch. >> - Custom header: The script installed with a custom header has changed to >> remove a line decreasing performances with datagrid containing more than 16 >> columns >> - The new functionalty allowing to add several columns at a time has been >> rethought to increase perfomances when more than 20 columns are added at a >> time. >> - The way the columns are hidden (option "always hide invisible columns" >> checked or not) has been rethought to increase performances when a lot of >> columns are displayed inside the column builder's preview. >> - Preferences: the unicode labels has been removed from the preferences and >> is considered to turn to off by default, due to unicode is now native >> inside LC since several versions. This option could be the cause of some >> label issues when turned to on and was only existing for compatibility with >> old LC versions. It is now in no interest with LC 8.x and 9.x >> >> Fixed bugs: >> - DGH was very slow loading datagrids table containing more than 16 >> columns. >> - "Spreadsheet" behavior: when navigating through the cells and inputing >> new values, then leaving the cell, the values were not stored inside the >> datagrid. >> >> >> >> >> Best Regards, >> >> -- >> Zryip TheSlug >> http://www.aslugontheroad.com >> _______________________________________________ >> use-livecode mailing list >> use-livecode at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode Matthias Rebbe Tel +49 5741 310000 ?https://matthiasrebbe.eu ? From matthias_livecode_150811 at m-r-d.de Wed Aug 22 08:55:38 2018 From: matthias_livecode_150811 at m-r-d.de (Matthias Rebbe) Date: Wed, 22 Aug 2018 14:55:38 +0200 Subject: revNavigator - Cloning a card - am i doing something wrong? In-Reply-To: References: <5F00FA28-2776-4C2F-AC2D-125F753A931D@m-r-d.de> Message-ID: <15735FDC-0806-4575-884B-93E8437E336F@m-r-d.de> Yes, i have a dual-screen setup. I?ve made a screen recording and uploaded it to Droplr. http://d.qck.biz/ffyMUu Regards, Matthias > Am 22.08.2018 um 05:54 schrieb Geoff Canyon via use-livecode >: > > On Tue, Aug 21, 2018 at 8:58 AM Matthias Rebbe via use-livecode < > use-livecode at lists.runrev.com > wrote: > >> Geoff, >> thanks for the quick update. >> >> There?s another thing i noticed: >> >> I moved the opened revNavigator stack on the right side of the LC Menu >> below the Mac OS X menu bar. >> When i click the arrow icon to collaps the revNavigator stack, then it is >> moved outside of the screen. >> >> I have to change the y-coordinate from 29 to 155 to get it displayed >> again. >> >> Regards, >> Matthias >> >> I'm not sure I understand -- if the y-coordinate of Navigator is 29, then > it should still be on-screen? I tried several ways to replicate this, and > so far, no luck. Do you have a multiple-monitor setup? > > gc > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode Matthias Rebbe Tel +49 5741 310000 ?https://matthiasrebbe.eu ? From dougr at telus.net Wed Aug 22 10:33:32 2018 From: dougr at telus.net (Douglas Ruisaard) Date: Wed, 22 Aug 2018 07:33:32 -0700 Subject: Socket questions In-Reply-To: rtqRfVBKjttF2rtqWfnkWr References: rtqRfVBKjttF2rtqWfnkWr Message-ID: <04b101d43a25$1bc519d0$534f4d70$@net> ?Dave or Doug? ... anyway. It sounds like a "known" problem then.... I tried searching the QC listing at Livecode's (http://quality.livecode.com/) but can't find any reference to that specific function and too much when looking for "socket" and "domain". Do you know if a bug submission has been made for this issue? You make it sound as if LC is aware of it. Douglas Ruisaard Trilogy Software (250) 573-3935 > To: Mark Wieder via use-livecode > Subject: Re: Socket questions > Message-ID: > Content-Type: text/plain; charset=utf-8; format=flowed > > On 08/18/2018 09:41 PM, Mark Wieder via use-livecode wrote: > > > That's a dns lookup failure, which won't get as far as a socketError > > message. What you should get instead is a non-empty result message from > > the openSocket command. I can't comment on tsNet, but libUrl has never > > to my recollection actually done this correctly. > > I misspoke here (sorry Dave)... it's not libUrl that's at fault here, > but the socket routines in the engine. There's a function named > MCModeCanAccessDomain, but it always returns false and afaict never > really comes into play: it's invoked three times in exec-network.cpp, > but only if network access is not allowed. > > -- > Mark Wieder > ahsoftware at gmail.com > From bobsneidar at iotecdigital.com Wed Aug 22 10:51:01 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Wed, 22 Aug 2018 14:51:01 +0000 Subject: revNavigator - Cloning a card - am i doing something wrong? In-Reply-To: References: <5F00FA28-2776-4C2F-AC2D-125F753A931D@m-r-d.de> <6044B2FA-0F21-4F70-A322-05D70135AE7C@iotecdigital.com> Message-ID: I verified that if run from a script, the card will clone in the stack the script is running in. Otherwise it will clone in the stack the source card is in regardless of the topStack. Odd implementation if you ask me. I often need to create a new substack, then clone a card from another substack to save a lot of time copy pasting objects. Heretofore I've been unable to do that, but now I know, just place a button on card 1 of the new stack. Bob S > On Aug 21, 2018, at 20:50 , Geoff Canyon via use-livecode wrote: > > On Tue, Aug 21, 2018 at 7:50 AM Bob Sneidar via use-livecode < > use-livecode at lists.runrev.com> wrote: > >> SO THAT'S how you do it! And do you mean it clones to the topstack? >> Usually you would clone a card from the message box, and of course it >> cannot clone to that! >> >> Bob S >> > > I'm not 100% sure whether this a bug or not -- I filed Bug 21509 > to report it. Cloning > an object makes a duplicate in the same container as the original. Cloning > a card makes a duplicate in the stack where the script is running. I don't > know if the message box is somehow different than Navigator to prevent > this, or if there is code to prevent it happening in the message box like I > have now put in Navigator. We'll see what the response is. > > gc > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From gcanyon at gmail.com Wed Aug 22 10:54:43 2018 From: gcanyon at gmail.com (Geoff Canyon) Date: Wed, 22 Aug 2018 07:54:43 -0700 Subject: revNavigator - Cloning a card - am i doing something wrong? In-Reply-To: References: <5F00FA28-2776-4C2F-AC2D-125F753A931D@m-r-d.de> <6044B2FA-0F21-4F70-A322-05D70135AE7C@iotecdigital.com> Message-ID: You might want to add your experience to Bug 21509 which I created for this issue. gc On Wed, Aug 22, 2018 at 7:51 AM Bob Sneidar via use-livecode < use-livecode at lists.runrev.com> wrote: > I verified that if run from a script, the card will clone in the stack the > script is running in. Otherwise it will clone in the stack the source card > is in regardless of the topStack. Odd implementation if you ask me. I often > need to create a new substack, then clone a card from another substack to > save a lot of time copy pasting objects. Heretofore I've been unable to do > that, but now I know, just place a button on card 1 of the new stack. > > Bob S > > > > On Aug 21, 2018, at 20:50 , Geoff Canyon via use-livecode < > use-livecode at lists.runrev.com> wrote: > > > > On Tue, Aug 21, 2018 at 7:50 AM Bob Sneidar via use-livecode < > > use-livecode at lists.runrev.com> wrote: > > > >> SO THAT'S how you do it! And do you mean it clones to the topstack? > >> Usually you would clone a card from the message box, and of course it > >> cannot clone to that! > >> > >> Bob S > >> > > > > I'm not 100% sure whether this a bug or not -- I filed Bug 21509 > > to report it. > Cloning > > an object makes a duplicate in the same container as the original. > Cloning > > a card makes a duplicate in the stack where the script is running. I > don't > > know if the message box is somehow different than Navigator to prevent > > this, or if there is code to prevent it happening in the message box > like I > > have now put in Navigator. We'll see what the response is. > > > > gc > > _______________________________________________ > > use-livecode mailing list > > use-livecode at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From jbv at souslelogo.com Wed Aug 22 11:28:24 2018 From: jbv at souslelogo.com (jbv) Date: Wed, 22 Aug 2018 17:28:24 +0200 Subject: Surprise... In-Reply-To: References: <5B7B2C91.3030302@pair.com> Message-ID: <3574774878addb262120af62e0a53ea2.squirrel@sage.on-rev.com> Brian, Thanks for running all these tests. On the same topic, I'd like to mention that I use "intersect" with arrays a lot in some scripts (for complex requests it is sometimes faster to load raw data from mySQL and process it with arrays), and "intersect" is really fast in LC9... On Tue, August 21, 2018 4:24 pm, Brian Milby via use-livecode wrote: > I expanded my test stack and ran it on the versions I had available. > Here's a couple of tests from each version: > From ahsoftware at sonic.net Wed Aug 22 13:01:30 2018 From: ahsoftware at sonic.net (Mark Wieder) Date: Wed, 22 Aug 2018 10:01:30 -0700 Subject: Socket questions In-Reply-To: <04b101d43a25$1bc519d0$534f4d70$@net> References: <04b101d43a25$1bc519d0$534f4d70$@net> Message-ID: On 08/22/2018 07:33 AM, Douglas Ruisaard via use-livecode wrote: > ?Dave or Doug? ... anyway. Heh. I was apologizing to Dave Cragg for throwing shade on libURL inadvertently. Didn't think that this might be interpreted differently. It sounds like a "known" problem then.... I tried searching the QC listing at Livecode's (http://quality.livecode.com/) but can't find any reference to that specific function and too much when looking for "socket" and "domain". Do you know if a bug submission has been made for this issue? You make it sound as if LC is aware of it. Dunno. I stopped filing socket bugs a long time ago. -- Mark Wieder ahsoftware at gmail.com From gcanyon at gmail.com Wed Aug 22 14:11:09 2018 From: gcanyon at gmail.com (Geoff Canyon) Date: Wed, 22 Aug 2018 11:11:09 -0700 Subject: revNavigator - Cloning a card - am i doing something wrong? In-Reply-To: <15735FDC-0806-4575-884B-93E8437E336F@m-r-d.de> References: <5F00FA28-2776-4C2F-AC2D-125F753A931D@m-r-d.de> <15735FDC-0806-4575-884B-93E8437E336F@m-r-d.de> Message-ID: On Wed, Aug 22, 2018 at 5:56 AM Matthias Rebbe via use-livecode < use-livecode at lists.runrev.com> wrote: > Yes, i have a dual-screen setup. > Can you tell me what put the screenrects results in for you? And put the working screenrects Thanks gc From matthias_livecode_150811 at m-r-d.de Wed Aug 22 14:23:41 2018 From: matthias_livecode_150811 at m-r-d.de (Matthias Rebbe) Date: Wed, 22 Aug 2018 20:23:41 +0200 Subject: revNavigator - Cloning a card - am i doing something wrong? In-Reply-To: References: <5F00FA28-2776-4C2F-AC2D-125F753A931D@m-r-d.de> <15735FDC-0806-4575-884B-93E8437E336F@m-r-d.de> Message-ID: <77B3272D-6BD6-4EFA-8D0B-98679F648D2D@m-r-d.de> put the screenRect 0,126,2560,1566 -2560,0,0,1440 put the working screenrects 0,149,2560,1566 -2560,23,0,1440 Regards, Matthias > Am 22.08.2018 um 20:11 schrieb Geoff Canyon via use-livecode : > > On Wed, Aug 22, 2018 at 5:56 AM Matthias Rebbe via use-livecode < > use-livecode at lists.runrev.com> wrote: > >> Yes, i have a dual-screen setup. >> > > Can you tell me what > > put the screenrects > > results in for you? > > And > > put the working screenrects > > Thanks > > gc > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From mark at canelasoftware.com Wed Aug 22 16:00:24 2018 From: mark at canelasoftware.com (Mark Talluto) Date: Wed, 22 Aug 2018 13:00:24 -0700 Subject: Surprise... In-Reply-To: <5B7B2C91.3030302@pair.com> References: <5B7B2C91.3030302@pair.com> Message-ID: <197306F0-A86D-49AA-8F91-2F67F533ACAE@canelasoftware.com> Hi Curry, The stack can be found here: http://canelasoftware.com/pub/livecode/GetColumnCode.zip In my particular use of arrays and lists, I find the lists to be a little more than 2 times faster than arrays. This test is operating off an array with 100k records. Best regards, Mark Talluto livecloud.io nursenotes.net canelasoftware.com > On Aug 20, 2018, at 2:03 PM, Curry Kenworthy via use-livecode wrote: > > Mark T.: > > > I wrote a stack that demonstrated this and other concepts for > > LC Mark directly. His Global talks called ?Optimizing Your Code? > > are partially based on some things we have been discussing. From jacque at hyperactivesw.com Wed Aug 22 16:13:40 2018 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Wed, 22 Aug 2018 15:13:40 -0500 Subject: fullscreenmode and rect of a substack on mobile device ? In-Reply-To: <1824CAC0-CE27-4111-8BD1-8A048BB30790@laposte.net> References: <3AD3CF89-6E4C-4608-A9FC-E56DDADFD115@laposte.net> <99f39315-d93c-ba00-db5f-423ef3d209c1@fourthworld.com> <30FD572A-30CA-40CB-B1C0-020AEEDC6E4F@laposte.net> <1328e2f1-58fa-6064-e95f-10bf0638da95@hyperactivesw.com> <1824CAC0-CE27-4111-8BD1-8A048BB30790@laposte.net> Message-ID: <41d8b732-0ac1-3391-726e-1897b036916e@hyperactivesw.com> On 8/21/18 2:11 PM, Ludovic THEBAULT via use-livecode wrote: > But even ? the rect of this cd ? return the rect of the stack i created (0,0,768,1024) not the rect of the screen. > I?ve made a test stack. It?s an ? iPad ? stack. Test it with iOS simulator on an iPhone device. > https://www.dropbox.com/s/iwwm2syiqzqamtg/testsubstack2.livecode?dl=0 > > Click on ? get the rect ? and click on ? Adapt ? to set the rect of the background to the rect of the screen I played with this for a while. I changed the opencard handler to a preOpenCard, which is when FSM is usually set. But there's something odd going on. When I tap the "get rect" button it says: Rect of this stack: 170,172,938,1196 Rect of this cd: 0,0,768,1024 Screenrect: 0,0,320,480 If I use "exactfit" instead of "showAll" it does sort of work and is an easier way to get what you scripted. Since your app is targeted only for iPad, exactFit may be one of the few times it's appropriate. That said, it still isn't resizing to the screen even with "exactFit", and it should. Using "NoBorder" also gives the same results where it shouldn't. I was able to repro your scripted solution by setting fullscreenMode to "noBorder" and simplifying the "adapt" script this way: on adaptrect put the height of this cd into tHt put the width of this cd into tWd set the rect of this stack to 0,0,tWd,tHt -- doesn't really do that set the rect of grc "bkg" to 0,0,tWd,tHt put "Rect of bg = real rect :" & the rect of grc "bkg" after fld "datas" set the top of grc "lineTop" to 0 set the bottom of grc "lineBottom" to tHt end adaptrect But the stack should still fill the screen and it doesn't. Either I'm missing something or there's a problem with FSM. Tested in LC 9.0.1 rc1, as it's the only version I have a compatible XCode for. I wonder if it's different in LC 8.x. -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com From jacque at hyperactivesw.com Wed Aug 22 16:24:32 2018 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Wed, 22 Aug 2018 15:24:32 -0500 Subject: fullscreenmode and rect of a substack on mobile device ? In-Reply-To: <41d8b732-0ac1-3391-726e-1897b036916e@hyperactivesw.com> References: <3AD3CF89-6E4C-4608-A9FC-E56DDADFD115@laposte.net> <99f39315-d93c-ba00-db5f-423ef3d209c1@fourthworld.com> <30FD572A-30CA-40CB-B1C0-020AEEDC6E4F@laposte.net> <1328e2f1-58fa-6064-e95f-10bf0638da95@hyperactivesw.com> <1824CAC0-CE27-4111-8BD1-8A048BB30790@laposte.net> <41d8b732-0ac1-3391-726e-1897b036916e@hyperactivesw.com> Message-ID: On 8/22/18 3:13 PM, J. Landman Gay via use-livecode wrote: > But the stack should still fill the screen and it doesn't. This will resize the stack the same way as your "adapt" handler does, so you can eliminate that entirely: on preopenstack mobileSetAllowedOrientations("portrait") iphoneUseDeviceResolution true,true set the fullscreenmode of stack "ipad" to "exactFit" end preopenstack -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com From gcanyon at gmail.com Wed Aug 22 17:16:52 2018 From: gcanyon at gmail.com (Geoff Canyon) Date: Wed, 22 Aug 2018 14:16:52 -0700 Subject: revNavigator - Cloning a card - am i doing something wrong? In-Reply-To: <77B3272D-6BD6-4EFA-8D0B-98679F648D2D@m-r-d.de> References: <5F00FA28-2776-4C2F-AC2D-125F753A931D@m-r-d.de> <15735FDC-0806-4575-884B-93E8437E336F@m-r-d.de> <77B3272D-6BD6-4EFA-8D0B-98679F648D2D@m-r-d.de> Message-ID: Okay, I've updated Navigator so that I think it will fix this. You (and others with multiple monitors) will be the judge, but now on multiple screens, when collapsing Navigator it should collapse to the top of the screen it's on. Collapsing all Navigators should have them each collapse on the screen they're on, only stacking with each other on that screen. Here's hoping anyway... Get Navigator here . Or grab it from GitHub . On Wed, Aug 22, 2018 at 11:24 AM Matthias Rebbe via use-livecode < use-livecode at lists.runrev.com> wrote: > put the screenRect > > 0,126,2560,1566 > -2560,0,0,1440 > > put the working screenrects > > 0,149,2560,1566 > -2560,23,0,1440 > > > Regards, > > Matthias > > > Am 22.08.2018 um 20:11 schrieb Geoff Canyon via use-livecode < > use-livecode at lists.runrev.com>: > > > > On Wed, Aug 22, 2018 at 5:56 AM Matthias Rebbe via use-livecode < > > use-livecode at lists.runrev.com> wrote: > > > >> Yes, i have a dual-screen setup. > >> > > > > Can you tell me what > > > > put the screenrects > > > > results in for you? > > > > And > > > > put the working screenrects > > > > Thanks > > > > gc > > _______________________________________________ > > use-livecode mailing list > > use-livecode at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From curry at pair.com Wed Aug 22 17:50:34 2018 From: curry at pair.com (Curry Kenworthy) Date: Wed, 22 Aug 2018 17:50:34 -0400 Subject: Surprise... In-Reply-To: <197306F0-A86D-49AA-8F91-2F67F533ACAE@canelasoftware.com> References: <197306F0-A86D-49AA-8F91-2F67F533ACAE@canelasoftware.com> Message-ID: <5B7DDAAA.5000104@pair.com> Mark T: > In my particular use of arrays and lists, I find the > lists to be a little more than 2 times faster Thanks! (Noting: particular use, and methods used.) Optimizing LCS is extremely important, and methods that are great for testing items and arrays themselves may not be the fastest methods for real applications. I'm always glad to help people achieve better results, so let me know if you ever need a hand for your purpose. But ( again :) ) my greater interest in this thread was, and remains, seeing the LC engine further optimized! That would really pay off. Richard: > Does anyone here have benchmarks comparing LC to Python, > JavaScript, Lua, and/or other popular scripting languages? No, but it's a very good pursuit. I would expect some interesting results with JS. I won't have time to test these myself for a while but I'll remain interested. Best wishes, Curry Kenworthy Custom Software Development LiveCode Training and Consulting http://livecodeconsulting.com/ From niconiko at gmail.com Wed Aug 22 20:13:51 2018 From: niconiko at gmail.com (Nicolas Cueto) Date: Thu, 23 Aug 2018 09:13:51 +0900 Subject: editing & combining sound files? Message-ID: Hello List, I wish to automate a repetitive (and tedious!) process that's now being done manually using a sound-file editor (Goldwave). The process is: 1. Open an AU sound file. 2. Append 1 second of silence to that file. 3. Open a 2nd AU sound file. 4. Copy and append that 2nd file to the 1st file. 5. Save as MP3 with a new title that now-modified 1st file. 6. Close that 1st file unmodified. 7. [Repeat 1-6.] If this is possible (easily possible!) with LC, what LC commands ought I be studying/using? Many thanks. -- Nicolas Cueto From gcanyon at gmail.com Wed Aug 22 22:29:01 2018 From: gcanyon at gmail.com (Geoff Canyon) Date: Wed, 22 Aug 2018 19:29:01 -0700 Subject: editing & combining sound files? In-Reply-To: References: Message-ID: I did something very much like this way, way, way long ago (in the MetaCard days...). I don't remember the sound format, and it was mono, not stereo, but it turned out that the format for the sound file was *really* simple: a few bytes of easily-managed header, a bunch of binary data that represented the sound file data, and a few bytes of footer. So the steps above would be roughly: 1. Read in the binary data from the sound file, strip the header/footer. 2. Figure out what the "silence" value is for that sound format, append a certain number of that value to the data. 3,4. Read in the binary data from the second file, strip the header/footer and append to the data. 5. ??? Not sure how to do this. Instead, might add the appropriate header/footer and write out the data in the same format as the input files. 6. Close the access to the original files. If MP3 isn't comprehensible, then you could bulk convert the resulting files from AU to MP3 using any number of tools. gc On Wed, Aug 22, 2018 at 5:14 PM Nicolas Cueto via use-livecode < use-livecode at lists.runrev.com> wrote: > Hello List, > > I wish to automate a repetitive (and tedious!) process that's now being > done manually using a sound-file editor (Goldwave). > > The process is: > > 1. Open an AU sound file. > 2. Append 1 second of silence to that file. > 3. Open a 2nd AU sound file. > 4. Copy and append that 2nd file to the 1st file. > 5. Save as MP3 with a new title that now-modified 1st file. > 6. Close that 1st file unmodified. > 7. [Repeat 1-6.] > > If this is possible (easily possible!) with LC, what LC commands ought I be > studying/using? > > Many thanks. > > -- > Nicolas Cueto > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From brahma at hindu.org Wed Aug 22 23:35:32 2018 From: brahma at hindu.org (Sannyasin Brahmanathaswami) Date: Thu, 23 Aug 2018 03:35:32 +0000 Subject: Set the backgroundcolor of all lines a field to null Message-ID: I have some big lists in mobile, I sent the bkgndColor of certain lines. Then I want clear that, How do we do this "for each line x" which does not return the number of the line, but value command setAudioListColors pLineNum,pColor # pass "4,"0,0,0" #slow! repeat with x=1 to (the number lines of fld "audioList") set the backgroundcolor of line pLineNum of fld "audioList" to pColor end repeat repeat for each line x in fld "audioList" # need to get a line number and not its value set the backgroundcolor of line pLineNum of fld "audioList" to pColor end repeat end setAudioListColors From ahsoftware at sonic.net Wed Aug 22 23:56:01 2018 From: ahsoftware at sonic.net (Mark Wieder) Date: Wed, 22 Aug 2018 20:56:01 -0700 Subject: Set the backgroundcolor of all lines a field to null In-Reply-To: References: Message-ID: <5b3ae5f4-36c4-36bd-41a3-b57be905e4dd@sonic.net> On 08/22/2018 08:35 PM, Sannyasin Brahmanathaswami via use-livecode wrote: > I have some big lists in mobile, I sent the bkgndColor of certain lines. > > > Then I want clear that, > > How do we do this "for each line x" What I do: put 1 into tLineNumber > repeat for each line x in fld "audioList" > > # need to get a line number and not its value > set the backgroundcolor of line tLineNumber of fld "audioList" to pColor > add 1 to tLineNumber > end repeat > > end setAudioListColors -- Mark Wieder ahsoftware at gmail.com From tom at makeshyft.com Thu Aug 23 00:40:26 2018 From: tom at makeshyft.com (Tom Glod) Date: Thu, 23 Aug 2018 00:40:26 -0400 Subject: editing & combining sound files? In-Reply-To: References: Message-ID: sox is good for this kind of stuff, you can automate the command-lines using livecode....but you can skip some of the bs you would probably encounter with LC and audio "processing". http://sox.sourceforge.net/ On Wed, Aug 22, 2018 at 10:30 PM Geoff Canyon via use-livecode < use-livecode at lists.runrev.com> wrote: > I did something very much like this way, way, way long ago (in the MetaCard > days...). I don't remember the sound format, and it was mono, not stereo, > but it turned out that the format for the sound file was *really* simple: a > few bytes of easily-managed header, a bunch of binary data that represented > the sound file data, and a few bytes of footer. > > So the steps above would be roughly: > > 1. Read in the binary data from the sound file, strip the header/footer. > 2. Figure out what the "silence" value is for that sound format, append a > certain number of that value to the data. > 3,4. Read in the binary data from the second file, strip the header/footer > and append to the data. > 5. ??? Not sure how to do this. Instead, might add the appropriate > header/footer and write out the data in the same format as the input files. > 6. Close the access to the original files. > > If MP3 isn't comprehensible, then you could bulk convert the resulting > files from AU to MP3 using any number of tools. > > gc > > > On Wed, Aug 22, 2018 at 5:14 PM Nicolas Cueto via use-livecode < > use-livecode at lists.runrev.com> wrote: > > > Hello List, > > > > I wish to automate a repetitive (and tedious!) process that's now being > > done manually using a sound-file editor (Goldwave). > > > > The process is: > > > > 1. Open an AU sound file. > > 2. Append 1 second of silence to that file. > > 3. Open a 2nd AU sound file. > > 4. Copy and append that 2nd file to the 1st file. > > 5. Save as MP3 with a new title that now-modified 1st file. > > 6. Close that 1st file unmodified. > > 7. [Repeat 1-6.] > > > > If this is possible (easily possible!) with LC, what LC commands ought I > be > > studying/using? > > > > Many thanks. > > > > -- > > Nicolas Cueto > > _______________________________________________ > > use-livecode mailing list > > use-livecode at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From brian at milby7.com Thu Aug 23 00:59:49 2018 From: brian at milby7.com (Brian Milby) Date: Wed, 22 Aug 2018 23:59:49 -0500 Subject: Set the backgroundcolor of all lines a field to null In-Reply-To: <5b3ae5f4-36c4-36bd-41a3-b57be905e4dd@sonic.net> References: <5b3ae5f4-36c4-36bd-41a3-b57be905e4dd@sonic.net> Message-ID: <7a9c1570-19e2-4a83-a798-72974ac069c3@Spark> Have you looked at the performance of using styledText? put the styledText of fld "audioList" into tTextA repeat for each key tKey in tTextA put pColor into tTextA[tKey]["style"]["backgroundcolor"] end repeat set the styledText of fld "audioList" to tTextA Thanks, Brian > From niconiko at gmail.com Thu Aug 23 01:52:42 2018 From: niconiko at gmail.com (Nicolas Cueto) Date: Thu, 23 Aug 2018 14:52:42 +0900 Subject: editing & combining sound files? In-Reply-To: References: Message-ID: Well, maybe some day I'll put the time in to study Geoff's and Tom's solutions. But, for future reference, below is my easier-for-me solution. First, use a sound-editor (Goldwave) to convert all AU files to RAW (i.e., snd). Second, run this LC script to merge those converted files (interleaved with silence) into a new .snd file: put URL "binfile:C:/the_path/faster/{file ID}.snd" into tNewSnd put URL "binfile:C:/the_path/1_sec_silence.snd" after tNewSnd put URL "binfile:C:/the_path/slow/{file ID}.snd" after tNewSnd put tNewSnd into URL "binfile:C:/the_path/CD/{file ID}.snd" Third, use the sound-editor again, this time to convert those new .snd files into .mp3. That's it. But if someone wants to post exact details of how to LC script what Geoff suggests, i.e., stripping headers from an .au (or any!) sound file type, I'm still all ears. Cheers. -- Nicolas Cueto On 23 August 2018 at 13:40, Tom Glod via use-livecode < use-livecode at lists.runrev.com> wrote: > sox is good for this kind of stuff, you can automate the command-lines > using livecode....but you can skip some of the bs you would probably > encounter with LC and audio "processing". > > http://sox.sourceforge.net/ > > On Wed, Aug 22, 2018 at 10:30 PM Geoff Canyon via use-livecode < > use-livecode at lists.runrev.com> wrote: > > > I did something very much like this way, way, way long ago (in the > MetaCard > > days...). I don't remember the sound format, and it was mono, not stereo, > > but it turned out that the format for the sound file was *really* > simple: a > > few bytes of easily-managed header, a bunch of binary data that > represented > > the sound file data, and a few bytes of footer. > > > > So the steps above would be roughly: > > > > 1. Read in the binary data from the sound file, strip the header/footer. > > 2. Figure out what the "silence" value is for that sound format, append a > > certain number of that value to the data. > > 3,4. Read in the binary data from the second file, strip the > header/footer > > and append to the data. > > 5. ??? Not sure how to do this. Instead, might add the appropriate > > header/footer and write out the data in the same format as the input > files. > > 6. Close the access to the original files. > > > > If MP3 isn't comprehensible, then you could bulk convert the resulting > > files from AU to MP3 using any number of tools. > > > > gc > > > > > > On Wed, Aug 22, 2018 at 5:14 PM Nicolas Cueto via use-livecode < > > use-livecode at lists.runrev.com> wrote: > > > > > Hello List, > > > > > > I wish to automate a repetitive (and tedious!) process that's now being > > > done manually using a sound-file editor (Goldwave). > > > > > > The process is: > > > > > > 1. Open an AU sound file. > > > 2. Append 1 second of silence to that file. > > > 3. Open a 2nd AU sound file. > > > 4. Copy and append that 2nd file to the 1st file. > > > 5. Save as MP3 with a new title that now-modified 1st file. > > > 6. Close that 1st file unmodified. > > > 7. [Repeat 1-6.] > > > > > > If this is possible (easily possible!) with LC, what LC commands ought > I > > be > > > studying/using? > > > > > > Many thanks. > > > > > > -- > > > Nicolas Cueto > > > _______________________________________________ > > > use-livecode mailing list > > > use-livecode at 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 at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From ludovic.thebault at laposte.net Thu Aug 23 01:59:34 2018 From: ludovic.thebault at laposte.net (Ludovic THEBAULT) Date: Thu, 23 Aug 2018 07:59:34 +0200 Subject: fullscreenmode and rect of a substack on mobile device ? In-Reply-To: References: <3AD3CF89-6E4C-4608-A9FC-E56DDADFD115@laposte.net> <99f39315-d93c-ba00-db5f-423ef3d209c1@fourthworld.com> <30FD572A-30CA-40CB-B1C0-020AEEDC6E4F@laposte.net> <1328e2f1-58fa-6064-e95f-10bf0638da95@hyperactivesw.com> <1824CAC0-CE27-4111-8BD1-8A048BB30790@laposte.net> <41d8b732-0ac1-3391-726e-1897b036916e@hyperactivesw.com> Message-ID: > Le 22 ao?t 2018 ? 22:24, J. Landman Gay via use-livecode a ?crit : > > On 8/22/18 3:13 PM, J. Landman Gay via use-livecode wrote: >> But the stack should still fill the screen and it doesn't. > > This will resize the stack the same way as your "adapt" handler does, so you can eliminate that entirely: > > on preopenstack > mobileSetAllowedOrientations("portrait") > iphoneUseDeviceResolution true,true > set the fullscreenmode of stack "ipad" to "exactFit" > end preopenstack Many thanks for finding that this command ! Sadly, it?s only for iOS. But your previous script must used on android. Thanks again. From ambassador at fourthworld.com Thu Aug 23 02:15:29 2018 From: ambassador at fourthworld.com (Richard Gaskin) Date: Wed, 22 Aug 2018 23:15:29 -0700 Subject: Set the backgroundcolor of all lines a field to null In-Reply-To: References: Message-ID: <862a13ad-d560-19fb-e6ca-73c6b6449963@fourthworld.com> Sannyasin Brahmanathaswami wrote: > I have some big lists in mobile, How big is "big"? 100 lines? 1,000? 1,000,000? > I sent the bkgndColor of certain > lines. > > Then I want clear that, > > How do we do this "for each line x" > which does not return the number of the line, but value > > command setAudioListColors pLineNum,pColor # pass "4,"0,0,0" > #slow! > repeat with x=1 to (the number lines of fld "audioList") > set the backgroundcolor of line pLineNum of fld "audioList" to pColor > end repeat > repeat for each line x in fld "audioList" > # need to get a line number and not its value > set the backgroundcolor of line pLineNum of fld "audioList" to pColor > end repeat > end setAudioListColors Your command takes a line number and a color, and applies that color to that one line, yes? If so, why loop at all? As written, the code applies the color to the same line over and over for the number of lines in the field. Maybe pLineNum could contain a list of line numbers? If so, iterate through it rather than through the field, since chances are you're only setting the color of a subset of all lines in the field. Locking the screen first will speed that up even more. But faster still will likely be to follow Brian's guidance on styledText. With that you probably don't even want to lock the field, since all the changes are done in a variable outside the field, and the variable is set back into the field only once at the end. But once we understand what's needed, the speed difference may not matter much. Or it might. It depends on how big "big" is. If you want to clear everything at once: set the backgroundColor of line 1 to -1 of fld "audioList" to empty All this is just guessing, though. I'm not really sure what this handler should do. -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ____________________________________________________________________ Ambassador at FourthWorld.com http://www.FourthWorld.com From matthias_livecode_150811 at m-r-d.de Thu Aug 23 02:43:15 2018 From: matthias_livecode_150811 at m-r-d.de (Matthias Rebbe) Date: Thu, 23 Aug 2018 08:43:15 +0200 Subject: revNavigator - Cloning a card - am i doing something wrong? In-Reply-To: References: <5F00FA28-2776-4C2F-AC2D-125F753A931D@m-r-d.de> <15735FDC-0806-4575-884B-93E8437E336F@m-r-d.de> <77B3272D-6BD6-4EFA-8D0B-98679F648D2D@m-r-d.de> Message-ID: <7727F790-9E5A-468A-8AEF-20D5A1034328@m-r-d.de> Geoff, now when clicking on the arrows to collapse the stack, nothing happens, regardless where the stack is placed on the desktop. But when i open the Message Watcher and click on the arrows, then the script editor opens the script of rev_s_revNavigator.livecodescript and shows this error stack "rev_s_revNavigator": execution error at line 1576 (Operators is: error in right operand), char 16 Regards, Matthias > Am 22.08.2018 um 23:16 schrieb Geoff Canyon via use-livecode : > > Okay, I've updated Navigator so that I think it will fix this. You (and > others with multiple monitors) will be the judge, but now on multiple > screens, when collapsing Navigator it should collapse to the top of the > screen it's on. Collapsing all Navigators should have them each collapse on > the screen they're on, only stacking with each other on that screen. > > Here's hoping anyway... > > Get Navigator here > . Or grab it > from GitHub . > > On Wed, Aug 22, 2018 at 11:24 AM Matthias Rebbe via use-livecode < > use-livecode at lists.runrev.com> wrote: > >> put the screenRect >> >> 0,126,2560,1566 >> -2560,0,0,1440 >> >> put the working screenrects >> >> 0,149,2560,1566 >> -2560,23,0,1440 >> >> >> Regards, >> >> Matthias >> >>> Am 22.08.2018 um 20:11 schrieb Geoff Canyon via use-livecode < >> use-livecode at lists.runrev.com>: >>> >>> On Wed, Aug 22, 2018 at 5:56 AM Matthias Rebbe via use-livecode < >>> use-livecode at lists.runrev.com> wrote: >>> >>>> Yes, i have a dual-screen setup. >>>> >>> >>> Can you tell me what >>> >>> put the screenrects >>> >>> results in for you? >>> >>> And >>> >>> put the working screenrects >>> >>> Thanks >>> >>> gc >>> _______________________________________________ >>> use-livecode mailing list >>> use-livecode at 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 at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From stephen at barncard.com Thu Aug 23 03:32:37 2018 From: stephen at barncard.com (Stephen Barncard) Date: Thu, 23 Aug 2018 00:32:37 -0700 Subject: editing & combining sound files? In-Reply-To: References: Message-ID: if you have a lot of files to convert, I'd go for using Livecode for "glue" while making calls to SOX. SOX can convert and move in one operation; forget doing anything in Livecode with sound - the internals are not equipped to be easy to manipulate. I actually made an editor that could draw out an imbedded sound in a stack and export to AIFF by moving binary blocks around and reconstructing the headers and jump tables. There are several ambiguities in audio file standards to make things messy, although the audio blocks of WAV and AIFF files are almost identical. Look out for little and big endian variations, etc. SOX did everything I needed, including conversion to MP3. sqb -- Stephen Barncard - Sebastopol Ca. USA - mixstream.org On Wed, Aug 22, 2018 at 10:52 PM, Nicolas Cueto via use-livecode < use-livecode at lists.runrev.com> wrote: > Well, maybe some day I'll put the time in to study Geoff's and Tom's > solutions. But, for future reference, below is my easier-for-me solution. > > First, use a sound-editor (Goldwave) to convert all AU files to RAW (i.e., > snd). > > Second, run this LC script to merge those converted files (interleaved with > silence) into a new .snd file: > > put URL "binfile:C:/the_path/faster/{file ID}.snd" into tNewSnd > put URL "binfile:C:/the_path/1_sec_silence.snd" after tNewSnd > put URL "binfile:C:/the_path/slow/{file ID}.snd" after tNewSnd > put tNewSnd into URL "binfile:C:/the_path/CD/{file ID}.snd" > > Third, use the sound-editor again, this time to convert those new .snd > files into .mp3. > > That's it. But if someone wants to post exact details of how to LC script > what Geoff suggests, i.e., stripping headers from an .au (or any!) sound > file type, I'm still all ears. > > Cheers. > > -- > Nicolas Cueto > > On 23 August 2018 at 13:40, Tom Glod via use-livecode < > use-livecode at lists.runrev.com> wrote: > > > sox is good for this kind of stuff, you can automate the command-lines > > using livecode....but you can skip some of the bs you would probably > > encounter with LC and audio "processing". > > > > http://sox.sourceforge.net/ > > > > On Wed, Aug 22, 2018 at 10:30 PM Geoff Canyon via use-livecode < > > use-livecode at lists.runrev.com> wrote: > > > > > I did something very much like this way, way, way long ago (in the > > MetaCard > > > days...). I don't remember the sound format, and it was mono, not > stereo, > > > but it turned out that the format for the sound file was *really* > > simple: a > > > few bytes of easily-managed header, a bunch of binary data that > > represented > > > the sound file data, and a few bytes of footer. > > > > > > So the steps above would be roughly: > > > > > > 1. Read in the binary data from the sound file, strip the > header/footer. > > > 2. Figure out what the "silence" value is for that sound format, > append a > > > certain number of that value to the data. > > > 3,4. Read in the binary data from the second file, strip the > > header/footer > > > and append to the data. > > > 5. ??? Not sure how to do this. Instead, might add the appropriate > > > header/footer and write out the data in the same format as the input > > files. > > > 6. Close the access to the original files. > > > > > > If MP3 isn't comprehensible, then you could bulk convert the resulting > > > files from AU to MP3 using any number of tools. > > > > > > gc > > > > > > > > > On Wed, Aug 22, 2018 at 5:14 PM Nicolas Cueto via use-livecode < > > > use-livecode at lists.runrev.com> wrote: > > > > > > > Hello List, > > > > > > > > I wish to automate a repetitive (and tedious!) process that's now > being > > > > done manually using a sound-file editor (Goldwave). > > > > > > > > The process is: > > > > > > > > 1. Open an AU sound file. > > > > 2. Append 1 second of silence to that file. > > > > 3. Open a 2nd AU sound file. > > > > 4. Copy and append that 2nd file to the 1st file. > > > > 5. Save as MP3 with a new title that now-modified 1st file. > > > > 6. Close that 1st file unmodified. > > > > 7. [Repeat 1-6.] > > > > > > > > If this is possible (easily possible!) with LC, what LC commands > ought > > I > > > be > > > > studying/using? > > > > > > > > Many thanks. > > > > > > > > -- > > > > Nicolas Cueto > > > > _______________________________________________ > > > > use-livecode mailing list > > > > use-livecode at 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 at 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 at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From admin at FlexibleLearning.com Thu Aug 23 08:20:40 2018 From: admin at FlexibleLearning.com (FlexibleLearning.com) Date: Thu, 23 Aug 2018 13:20:40 +0100 Subject: fullscreenmode and rect of a substack on mobile device ? Message-ID: <004701d43adb$b5f99ab0$21ecd010$@FlexibleLearning.com> Coming in late to the thread, but would this not work on all platforms? on preOpenStack setupStackRect end preOpenStack on orientationChanged -- setupStackRect end orientationChanged on setupStackRect pWidth,pHeight if pWidth="" and pHeight="" then put the effective working screenRect into tRect set the rect of this stack to tRect set the topLeft of this stack to item 1 to 2 of tRect else put the rect of this stack into tRect put tWidth into item 3 of tRect put tHeight into item 4 of tRect set the rect of this stack to tRect end if end setupStackRect You would obviously need to handle individual control geometry as needed, but I found using a (hidden) master group of template graphics to define regions a straightforward way to implement consistent geometry settings... Set [the geometry] of [object] to [the geometry] of [graphic] e.g. set the topleft of fld "About" to the topLeft of grc "template_Body" Hugh Senior > Le 22 ao?t 2018 ? 22:24, J. Landman Gay via use-livecode a ?crit : > > On 8/22/18 3:13 PM, J. Landman Gay via use-livecode wrote: >> But the stack should still fill the screen and it doesn't. > > This will resize the stack the same way as your "adapt" handler does, so you can eliminate that entirely: > > on preopenstack > mobileSetAllowedOrientations("portrait") > iphoneUseDeviceResolution true,true > set the fullscreenmode of stack "ipad" to "exactFit" > end preopenstack Many thanks for finding that this command ! Sadly, it?s only for iOS. From dunbarx at aol.com Thu Aug 23 09:46:18 2018 From: dunbarx at aol.com (dunbarxx) Date: Thu, 23 Aug 2018 08:46:18 -0500 (CDT) Subject: Set the backgroundcolor of all lines a field to null In-Reply-To: <862a13ad-d560-19fb-e6ca-73c6b6449963@fourthworld.com> References: <862a13ad-d560-19fb-e6ca-73c6b6449963@fourthworld.com> Message-ID: <1535031978460-0.post@n4.nabble.com> We are all happy with the speedy "repeat for each..." construction. But there are times when the good ol' "repeat with..." construction, which manages a counting index internally, is just the right way to do things. The line number is at the ready with each iteration. Craig -- Sent from: http://runtime-revolution.278305.n4.nabble.com/Revolution-User-f278306.html From rdimola at evergreeninfo.net Thu Aug 23 10:12:45 2018 From: rdimola at evergreeninfo.net (Ralph DiMola) Date: Thu, 23 Aug 2018 10:12:45 -0400 Subject: Set the backgroundcolor of all lines a field to null In-Reply-To: <1535031978460-0.post@n4.nabble.com> References: <862a13ad-d560-19fb-e6ca-73c6b6449963@fourthworld.com> <1535031978460-0.post@n4.nabble.com> Message-ID: <002401d43aeb$605d9ba0$2118d2e0$@net> What would be very convenient would be an "index" option for the repeat construct. I have to add this index counter all the time. Repeat for each line tLine in tLines index tIndex tIndex would start at 1 and increment by 1 for each iteration. Ralph DiMola IT Director Evergreen Information Services rdimola at evergreeninfo.net -----Original Message----- From: use-livecode [mailto:use-livecode-bounces at lists.runrev.com] On Behalf Of dunbarxx via use-livecode Sent: Thursday, August 23, 2018 9:46 AM To: use-revolution at lists.runrev.com Cc: dunbarxx Subject: Re: Set the backgroundcolor of all lines a field to null We are all happy with the speedy "repeat for each..." construction. But there are times when the good ol' "repeat with..." construction, which manages a counting index internally, is just the right way to do things. The line number is at the ready with each iteration. Craig -- Sent from: http://runtime-revolution.278305.n4.nabble.com/Revolution-User-f278306.html _______________________________________________ use-livecode mailing list use-livecode at lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode From rdimola at evergreeninfo.net Thu Aug 23 10:12:45 2018 From: rdimola at evergreeninfo.net (Ralph DiMola) Date: Thu, 23 Aug 2018 10:12:45 -0400 Subject: Set the backgroundcolor of all lines a field to null In-Reply-To: <1535031978460-0.post@n4.nabble.com> References: <862a13ad-d560-19fb-e6ca-73c6b6449963@fourthworld.com> <1535031978460-0.post@n4.nabble.com> Message-ID: <002401d43aeb$605d9ba0$2118d2e0$@net> What would be very convenient would be an "index" option for the repeat construct. I have to add this index counter all the time. Repeat for each line tLine in tLines index tIndex tIndex would start at 1 and increment by 1 for each iteration. Ralph DiMola IT Director Evergreen Information Services rdimola at evergreeninfo.net -----Original Message----- From: use-livecode [mailto:use-livecode-bounces at lists.runrev.com] On Behalf Of dunbarxx via use-livecode Sent: Thursday, August 23, 2018 9:46 AM To: use-revolution at lists.runrev.com Cc: dunbarxx Subject: Re: Set the backgroundcolor of all lines a field to null We are all happy with the speedy "repeat for each..." construction. But there are times when the good ol' "repeat with..." construction, which manages a counting index internally, is just the right way to do things. The line number is at the ready with each iteration. Craig -- Sent from: http://runtime-revolution.278305.n4.nabble.com/Revolution-User-f278306.html _______________________________________________ use-livecode mailing list use-livecode at lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode From brahma at hindu.org Thu Aug 23 10:25:17 2018 From: brahma at hindu.org (Sannyasin Brahmanathaswami) Date: Thu, 23 Aug 2018 14:25:17 +0000 Subject: Set the backgroundcolor of all lines a field to null References: <862a13ad-d560-19fb-e6ca-73c6b6449963@fourthworld.com> Message-ID: Aloha Brian and Richard, @ Brian "put styledText...into tTextA[snip]" looks excellent. It does it all on ram! @ Richard Again, we all appreciate the time you take to help us "understand the architecture" The list is only 2000 lines, on into a field from a sqlLite list of audio file/Title. That all happens "quickly" on mobile. But we all know that the repeat with x=1 to (the number lines of fld "audioList") on a field itself is slow, but on desktop I usual do in RAM first (per Brians solution) But on mobile it produce a 800 second "wait" with the user clicked the list, to "unhilite" a previous title/selection Also with 9.0.1.RC2 I was getting a new message from Android (did not happen on earlier versions) Android is attempting fill in the field, and when I click I get an unusual message from the OS. App is not responding Do you want to Close the app [OR] Wait This is new to 9.0.1 RC 2 for this screen/UX So I had to admit that my code is admittedly not well optimized. I began look around. And saw my old repeat with x=1 to (the number lines of fld "audioList") Thinking that was causing the app to "not respond" while it was the setting the color of line of everyline. Aha I thought, "That's is: I am iterate through each line in the field itself!" then I posted my question to the list... Meanwhile I created a local variable and now store the Current hilitedline. No more "going through the whole field" And *still* I get the msg App is not responding Do you want to Close the app [OR] Wait but now I can click "Wait" the dialog disappeared at the change of color works as expect and the player started on change of Audio right was. So where it mysterious dialog is coming from? ===== For the "architecture" discussion: Having to generate "setters and getters" of local variable is tedious, and sometimes would nice have a global method. I keep thinking my attempt to use "chains" of nested behavior in this case (had not done it before) look interesting, but sometimes I think one long behavior is better. Like the old "one stack script for everything" approach. As it stands, if you do not want to use global (who does!), for one "module" / stack with 3-4 behaviors, that need one value (temporarily) there is no way to do it. The code become "tangled" because all 4 behaviors need to know about local sSelectNum and you start using "setters and getters" all over the place command setJournalFlag pFlag put pFlag into sJournalFlag end setJournalFlag function getJournalFlag return sJournalFlag end getJournalFlag Then if this is "child" behavior, in parent you have to issue a "getJournalFlag()" every time you need that value, and debugging gets "crazy" -- better to have in all in one behavior. ======== Now I'm back on "mysterious" Android dialog, I have no clue/way to debug that? On 8/22/18 8:15 PM, Richard Gaskin via use-livecode wrote: Sannyasin Brahmanathaswami wrote: > I have some big lists in mobile, How big is "big"? 100 lines? 1,000? 1,000,000? > I sent the bkgndColor of certain > lines. > > Then I want clear that, > > How do we do this "for each line x" > which does not return the number of the line, but value > > command setAudioListColors pLineNum,pColor # pass "4,"0,0,0" > #slow! > repeat with x=1 to (the number lines of fld "audioList") > set the backgroundcolor of line pLineNum of fld "audioList" to pColor > end repeat > repeat for each line x in fld "audioList" > # need to get a line number and not its value > set the backgroundcolor of line pLineNum of fld "audioList" to pColor > end repeat > end setAudioListColors Your command takes a line number and a color, and applies that color to that one line, yes? If so, why loop at all? As written, the code applies the color to the same line over and over for the number of lines in the field. Maybe pLineNum could contain a list of line numbers? If so, iterate through it rather than through the field, since chances are you're only setting the color of a subset of all lines in the field. Locking the screen first will speed that up even more. But faster still will likely be to follow Brian's guidance on styledText. With that you probably don't even want to lock the field, since all the changes are done in a variable outside the field, and the variable is set back into the field only once at the end. But once we understand what's needed, the speed difference may not matter much. Or it might. It depends on how big "big" is. If you want to clear everything at once: set the backgroundColor of line 1 to -1 of fld "audioList" to empty All this is just guessing, though. I'm not really sure what this handler should do. -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web From gcanyon at gmail.com Thu Aug 23 11:43:57 2018 From: gcanyon at gmail.com (Geoff Canyon) Date: Thu, 23 Aug 2018 08:43:57 -0700 Subject: revNavigator - Cloning a card - am i doing something wrong? In-Reply-To: <7727F790-9E5A-468A-8AEF-20D5A1034328@m-r-d.de> References: <5F00FA28-2776-4C2F-AC2D-125F753A931D@m-r-d.de> <15735FDC-0806-4575-884B-93E8437E336F@m-r-d.de> <77B3272D-6BD6-4EFA-8D0B-98679F648D2D@m-r-d.de> <7727F790-9E5A-468A-8AEF-20D5A1034328@m-r-d.de> Message-ID: Bah, my mistake. Should be fixed now: Get Navigator here . Or grab it from GitHub . On Wed, Aug 22, 2018 at 11:43 PM Matthias Rebbe via use-livecode < use-livecode at lists.runrev.com> wrote: > Geoff, > > now when clicking on the arrows to collapse the stack, nothing happens, > regardless where the stack is placed on the desktop. > > But when i open the Message Watcher and click on the arrows, then the > script editor opens the script of rev_s_revNavigator.livecodescript > > and shows this error > > stack "rev_s_revNavigator": execution error at line 1576 (Operators is: > error in right operand), char 16 > > Regards, > Matthias > From matthias_livecode_150811 at m-r-d.de Thu Aug 23 12:58:18 2018 From: matthias_livecode_150811 at m-r-d.de (Matthias Rebbe) Date: Thu, 23 Aug 2018 18:58:18 +0200 Subject: revNavigator - Cloning a card - am i doing something wrong? In-Reply-To: References: <5F00FA28-2776-4C2F-AC2D-125F753A931D@m-r-d.de> <15735FDC-0806-4575-884B-93E8437E336F@m-r-d.de> <77B3272D-6BD6-4EFA-8D0B-98679F648D2D@m-r-d.de> <7727F790-9E5A-468A-8AEF-20D5A1034328@m-r-d.de> Message-ID: Hi Geoff, thank you very much. It?s working here now. Regards, Matthias > Am 23.08.2018 um 17:43 schrieb Geoff Canyon via use-livecode >: > > Bah, my mistake. Should be fixed now: > > Get Navigator here > >. Or grab it > from GitHub >. > > On Wed, Aug 22, 2018 at 11:43 PM Matthias Rebbe via use-livecode < > use-livecode at lists.runrev.com > wrote: > >> Geoff, >> >> now when clicking on the arrows to collapse the stack, nothing happens, >> regardless where the stack is placed on the desktop. >> >> But when i open the Message Watcher and click on the arrows, then the >> script editor opens the script of rev_s_revNavigator.livecodescript >> >> and shows this error >> >> stack "rev_s_revNavigator": execution error at line 1576 (Operators is: >> error in right operand), char 16 >> >> Regards, >> Matthias >> > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode Matthias Rebbe Tel +49 5741 310000 ?https://matthiasrebbe.eu ? From gcanyon at gmail.com Thu Aug 23 13:03:37 2018 From: gcanyon at gmail.com (Geoff Canyon) Date: Thu, 23 Aug 2018 10:03:37 -0700 Subject: revNavigator - Cloning a card - am i doing something wrong? In-Reply-To: References: <5F00FA28-2776-4C2F-AC2D-125F753A931D@m-r-d.de> <15735FDC-0806-4575-884B-93E8437E336F@m-r-d.de> <77B3272D-6BD6-4EFA-8D0B-98679F648D2D@m-r-d.de> <7727F790-9E5A-468A-8AEF-20D5A1034328@m-r-d.de> Message-ID: On Thu, Aug 23, 2018 at 9:58 AM Matthias Rebbe via use-livecode < use-livecode at lists.runrev.com> wrote: > Hi Geoff, > > thank you very much. It?s working here now. > > Regards, > > Matthias > Great! From cszasz at mac.com Thu Aug 23 13:10:37 2018 From: cszasz at mac.com (Charles Szasz) Date: Thu, 23 Aug 2018 11:10:37 -0600 Subject: Recommend Directory for Installation of Windows Apps Message-ID: <28B3C247-5A40-4BC7-9C9E-AC0DBB851591@mac.com> I am would to know what is the recommended directory for installing Windows apps. I have been using the Program Data folder for a long time. This was the recommended directory when I started making apps. I am particular concerned about installing apps on Windows 10. Thanks for your time! Sent from my iPad From paul at researchware.com Thu Aug 23 13:26:04 2018 From: paul at researchware.com (Paul Dupuis) Date: Thu, 23 Aug 2018 13:26:04 -0400 Subject: Recommend Directory for Installation of Windows Apps In-Reply-To: <28B3C247-5A40-4BC7-9C9E-AC0DBB851591@mac.com> References: <28B3C247-5A40-4BC7-9C9E-AC0DBB851591@mac.com> Message-ID: Apps themselves should be installed in C:\Program Files (x86)\ if a 32 bit app or C:\Program Files\ if a 64 bit app C:\Program Data\ is for application data. On 8/23/2018 1:10 PM, Charles Szasz via use-livecode wrote: > I am would to know what is the recommended directory for installing Windows apps. I have been using the Program Data folder for a long time. This was the recommended directory when I started making apps. I am particular concerned about installing apps on Windows 10. > > Thanks for your time! > > Sent from my iPad > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From brahma at hindu.org Thu Aug 23 13:42:15 2018 From: brahma at hindu.org (Sannyasin Brahmanathaswami) Date: Thu, 23 Aug 2018 17:42:15 +0000 Subject: fullscreenmode and rect of a substack on mobile device ? References: <004701d43adb$b5f99ab0$21ecd010$@FlexibleLearning.com> Message-ID: This thread will never finish (hehe) I am still have trouble getting the two object in the stack in place when we open stack on mobile. The resize handlers wrok, and soon as we rotate the phone and back and geometry is implemented. But not on open stack.. So I use your script. I was not orienting the stack size against the screenrect first. Still not go: on preopenstack if isMobile() then mobileSetAllowedOrientations "portrait,portrait upside down,landscape left,landscape right" setupStackRect end if end preopenstack ---------------------- # Geometry on orientationChanged -- setupStackRect end orientationChanged on setupStackRect pWidth,pHeight if pWidth="" and pHeight="" then put the effective working screenRect into tRect set the rect of this stack to tRect set the topLeft of this stack to item 1 to 2 of tRect else put the rect of this stack into tRect put tWidth into item 3 of tRect put tHeight into item 4 of tRect set the rect of this stack to tRect end if set bottom of group "footer" to item 4 of tRect set loc group "footer" to ( (item 2 of tRect)/2,(item 4 of tRect)/25 ) subtract 50 from item 4 of tRect set the rect of widget "body" to tRect end setupStackRect on resizeStack pNewWidth, pNewHeight, pOldWidth, pOldHeight # check it is landscape, turn off the navigation Bar if pNewWidth > pNewHeight then -- landscape put 0, 0, pNewWidth, pNewHeight into tBrowserRect set loc widget "body" to (pNewWidth/2,pNewHeight/2) hide group "footer" else put 0, 0, pNewWidth, pNewHeight - 50 into tBrowserRect set loc group "footer" to (pNewWidth/2,pNewHeight-25) show group "footer" end if set the rect of widget "body" of me to tBrowserRect end resizeStack On 8/23/18 2:21 AM, FlexibleLearning.com via use-livecode wrote: Coming in late to the thread, but would this not work on all platforms? on preOpenStack setupStackRect end preOpenStack on orientationChanged -- setupStackRect end orientationChanged on setupStackRect pWidth,pHeight if pWidth="" and pHeight="" then put the effective working screenRect into tRect set the rect of this stack to tRect set the topLeft of this stack to item 1 to 2 of tRect else put the rect of this stack into tRect put tWidth into item 3 of tRect put tHeight into item 4 of tRect set the rect of this stack to tRect end if end setupStackRect You would obviously need to handle individual control geometry as needed, but I found using a (hidden) master group of template graphics to define regions a straightforward way to implement consistent geometry settings... Set [the geometry] of [object] to [the geometry] of [graphic] e.g. set the topleft of fld "About" to the topLeft of grc "template_Body" From jacque at hyperactivesw.com Thu Aug 23 14:08:13 2018 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Thu, 23 Aug 2018 13:08:13 -0500 Subject: Set the backgroundcolor of all lines a field to null In-Reply-To: References: <862a13ad-d560-19fb-e6ca-73c6b6449963@fourthworld.com> Message-ID: <16567f8f2c8.285b.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> If you just want to clear the whole field (Richard suggested something similar): set the backcolor of char 1 to - 1 of fld x to empty After that you can hilite other lines if needed. -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com On August 23, 2018 9:32:14 AM Sannyasin Brahmanathaswami via use-livecode wrote: > Aloha Brian and Richard, > > @ Brian "put styledText...into tTextA[snip]" looks excellent. It does it > all on ram! > > @ Richard > > Again, we all appreciate the time you take to help us "understand the > architecture" > > The list is only 2000 lines, on into a field from a sqlLite list of audio > file/Title. > > That all happens "quickly" on mobile. But we all know that the > > repeat with x=1 to (the number lines of fld "audioList") > > on a field itself is slow, but on desktop I usual do in RAM first (per > Brians solution) > > But on mobile it produce a 800 second "wait" with the user clicked the > list, to "unhilite" a previous title/selection > > Also with 9.0.1.RC2 I was getting a new message from Android (did not > happen on earlier versions) Android is attempting fill in the field, and > when I click I get an unusual message from the OS. > > App is not responding > Do you want to > > Close the app [OR] > Wait > > This is new to 9.0.1 RC 2 for this screen/UX > > So I had to admit that my code is admittedly not well optimized. I began > look around. And saw my old > > repeat with x=1 to (the number lines of fld "audioList") > > Thinking that was causing the app to "not respond" while it was the setting > the color of line of everyline. Aha I thought, "That's is: I am iterate > through each line in the field itself!" > > then I posted my question to the list... > > Meanwhile I created a local variable and now store the Current hilitedline. > No more "going through the whole field" > > And *still* I get the msg > > App is not responding > Do you want to > > Close the app [OR] > Wait > > but now I can click "Wait" the dialog disappeared at the change of color > works as expect and the player started on change of Audio right was. So > where it mysterious dialog is coming from? > > ===== For the "architecture" discussion: > > Having to generate "setters and getters" of local variable is tedious, and > sometimes would nice have a global method. I keep thinking my attempt to > use "chains" of nested behavior in this case (had not done it before) look > interesting, but sometimes I think one long behavior is better. Like the > old "one stack script for everything" approach. > > As it stands, if you do not want to use global (who does!), for one > "module" / stack with 3-4 behaviors, that need one value (temporarily) > there is no way to do it. The code become "tangled" because all 4 behaviors > need to know about > > local sSelectNum > > and you start using "setters and getters" all over the place > > > command setJournalFlag pFlag > > put pFlag into sJournalFlag > > end setJournalFlag > > function getJournalFlag > > return sJournalFlag > > end getJournalFlag > > Then if this is "child" behavior, in parent you have to issue a > "getJournalFlag()" every time you need that value, and debugging gets > "crazy" -- better to have in all in one behavior. > > ======== > > Now I'm back on "mysterious" Android dialog, I have no clue/way to debug that? > > > > On 8/22/18 8:15 PM, Richard Gaskin via use-livecode wrote: > > Sannyasin Brahmanathaswami wrote: > > > I have some big lists in mobile, > > How big is "big"? 100 lines? 1,000? 1,000,000? > > > > I sent the bkgndColor of certain > > lines. > > > > Then I want clear that, > > > > How do we do this "for each line x" > > which does not return the number of the line, but value > > > > command setAudioListColors pLineNum,pColor # pass "4,"0,0,0" > > #slow! > > repeat with x=1 to (the number lines of fld "audioList") > > set the backgroundcolor of line pLineNum of fld "audioList" > to pColor > > end repeat > > repeat for each line x in fld "audioList" > > # need to get a line number and not its value > > set the backgroundcolor of line pLineNum of fld "audioList" to pColor > > end repeat > > end setAudioListColors > > > Your command takes a line number and a color, and applies that color to > that one line, yes? If so, why loop at all? > > As written, the code applies the color to the same line over and over > for the number of lines in the field. > > Maybe pLineNum could contain a list of line numbers? > > If so, iterate through it rather than through the field, since chances > are you're only setting the color of a subset of all lines in the field. > Locking the screen first will speed that up even more. > > But faster still will likely be to follow Brian's guidance on > styledText. With that you probably don't even want to lock the field, > since all the changes are done in a variable outside the field, and the > variable is set back into the field only once at the end. > > But once we understand what's needed, the speed difference may not > matter much. Or it might. It depends on how big "big" is. > > If you want to clear everything at once: > > set the backgroundColor of line 1 to -1 of fld "audioList" to empty > > All this is just guessing, though. I'm not really sure what this > handler should do. > > > -- > Richard Gaskin > Fourth World Systems > Software Design and Development for the Desktop, Mobile, and the Web > > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From cszasz at mac.com Thu Aug 23 14:22:50 2018 From: cszasz at mac.com (Charles Szasz) Date: Thu, 23 Aug 2018 12:22:50 -0600 Subject: Recommend Directory for Installation of Windows Apps Message-ID: <7DECCB60-04F9-4EEF-8ABA-941A8B142F61@mac.com> Paul, Thanks very much! Sent from my iPad From ambassador at fourthworld.com Thu Aug 23 15:10:30 2018 From: ambassador at fourthworld.com (Richard Gaskin) Date: Thu, 23 Aug 2018 12:10:30 -0700 Subject: Set the backgroundcolor of all lines a field to null In-Reply-To: References: Message-ID: <9fd3df46-e3eb-d83e-265c-d2519a71131f@fourthworld.com> There's a lot in that, Brahmanathaswami. http://lists.runrev.com/pipermail/use-livecode/2018-August/249651.html 2000 lines is not much. I suspect any time spent is relating to needing the redraw the field each time it's touched. Try locking the screen at the top of the handler and see if that helps. Also, my question about the algo itself was unaddressed. If you can describe what you want it to do I'm sure we can find an efficient solution. -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ____________________________________________________________________ Ambassador at FourthWorld.com http://www.FourthWorld.com From waprothero at gmail.com Thu Aug 23 15:11:53 2018 From: waprothero at gmail.com (William Prothero) Date: Thu, 23 Aug 2018 12:11:53 -0700 Subject: Best way to store videos In-Reply-To: <7DECCB60-04F9-4EEF-8ABA-941A8B142F61@mac.com> References: <7DECCB60-04F9-4EEF-8ABA-941A8B142F61@mac.com> Message-ID: <13F05790-3659-448A-A102-B33EF2DB5942@gmail.com> Folks: I have numerous videos that I would like to play on a wordpress web site, and in livecode. I don?t want to host these on my own server for obvious reasons of bandwidth, support for different browsers, etc. This is not a commercial project, but an educational software project where I give it away for free. So, I would rather not pay, but I have looked into Vimeo and the lowest rate of $7/mo could work. I?ve tried YouTube and it has so many privacy issues. Also, when the video ends it displays unrelated material that would be distracting to students. I understand that any free service will probably want to grab users? info for marketing. That?s the world we are in. Buuut...... do you have a strategy that you could recommend? Best, Bill William A. Prothero http://earthlearningsolutions.org From tom at makeshyft.com Thu Aug 23 15:20:02 2018 From: tom at makeshyft.com (Tom Glod) Date: Thu, 23 Aug 2018 15:20:02 -0400 Subject: Best way to store videos In-Reply-To: <13F05790-3659-448A-A102-B33EF2DB5942@gmail.com> References: <7DECCB60-04F9-4EEF-8ABA-941A8B142F61@mac.com> <13F05790-3659-448A-A102-B33EF2DB5942@gmail.com> Message-ID: just fyi......you can disable to recommened videos in the embedd code...... you can also detect via java script when the video ends. so you really have more control than you think. just got to send script to the browser ..... "do in widget". I haven't done anything crazy ...but i know that there is more control than what is obvious at first. On Thu, Aug 23, 2018 at 3:12 PM William Prothero via use-livecode < use-livecode at lists.runrev.com> wrote: > Folks: > I have numerous videos that I would like to play on a wordpress web site, > and in livecode. I don?t want to host these on my own server for obvious > reasons of bandwidth, support for different browsers, etc. > > This is not a commercial project, but an educational software project > where I give it away for free. So, I would rather not pay, but I have > looked into Vimeo and the lowest rate of $7/mo could work. I?ve tried > YouTube and it has so many privacy issues. Also, when the video ends it > displays unrelated material that would be distracting to students. > > I understand that any free service will probably want to grab users? info > for marketing. That?s the world we are in. > > Buuut...... do you have a strategy that you could recommend? > > Best, > Bill > > William A. Prothero > http://earthlearningsolutions.org > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From waprothero at gmail.com Thu Aug 23 15:42:14 2018 From: waprothero at gmail.com (William Prothero) Date: Thu, 23 Aug 2018 12:42:14 -0700 Subject: Best way to store videos In-Reply-To: References: <7DECCB60-04F9-4EEF-8ABA-941A8B142F61@mac.com> <13F05790-3659-448A-A102-B33EF2DB5942@gmail.com> Message-ID: <7059B924-B4A1-4ECB-85EF-EC66CEE2CBEF@gmail.com> Thanks, Tom. I did a fair amount of Googling and didn?t find any way to turn off recommended videos, but perhaps Google is inhibiting those searches. I did find a fair amount on a few options, but they weren?t what I wanted. FYI, I just started with the embed code that youtube gives after uploading. Perhaps further investigation will turn up something. Best, Bill > On Aug 23, 2018, at 12:20 PM, Tom Glod via use-livecode wrote: > > just fyi......you can disable to recommened videos in the embedd code...... > you can also detect via java script when the video ends. so you really have > more control than you think. just got to send script to the browser ..... > "do in widget". > > I haven't done anything crazy ...but i know that there is more control than > what is obvious at first. > > On Thu, Aug 23, 2018 at 3:12 PM William Prothero via use-livecode < > use-livecode at lists.runrev.com> wrote: > >> Folks: >> I have numerous videos that I would like to play on a wordpress web site, >> and in livecode. I don?t want to host these on my own server for obvious >> reasons of bandwidth, support for different browsers, etc. >> >> This is not a commercial project, but an educational software project >> where I give it away for free. So, I would rather not pay, but I have >> looked into Vimeo and the lowest rate of $7/mo could work. I?ve tried >> YouTube and it has so many privacy issues. Also, when the video ends it >> displays unrelated material that would be distracting to students. >> >> I understand that any free service will probably want to grab users? info >> for marketing. That?s the world we are in. >> >> Buuut...... do you have a strategy that you could recommend? >> >> Best, >> Bill >> >> William A. Prothero >> http://earthlearningsolutions.org >> >> _______________________________________________ >> use-livecode mailing list >> use-livecode at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From stephen at barncard.com Thu Aug 23 15:47:32 2018 From: stephen at barncard.com (Stephen Barncard) Date: Thu, 23 Aug 2018 12:47:32 -0700 Subject: Best way to store videos In-Reply-To: References: <7DECCB60-04F9-4EEF-8ABA-941A8B142F61@mac.com> <13F05790-3659-448A-A102-B33EF2DB5942@gmail.com> Message-ID: YouTube is great these days. If you take the time to become a verified subscriber all the world will be revealed to you. They have many tools and they re-written the whole thing, and it?s pretty good. It?s also free. You can make playlists and decide what happens at the end, and add links and other text. After you earn your stars and are good for a while they will give you these privileges. And as far as video streaming, they actually appear to be the best. They are so equipped with their mirror servers all over the world. I used to shun YouTube for several years because of their lower quality at the time but now they?ve come up to do not only great serving but live streaming as well. You can create extra users. And it has a better social features. Vimeo streaming is still excellent but I like the extended distribution that YouTube has. And I have to pay over $100 a year to be able to upload the quality I want quickly. On Thu, Aug 23, 2018 at 12:20 Tom Glod via use-livecode < use-livecode at lists.runrev.com> wrote: > just fyi......you can disable to recommened videos in the embedd code...... > you can also detect via java script when the video ends. so you really have > more control than you think. just got to send script to the browser ..... > "do in widget". > > I haven't done anything crazy ...but i know that there is more control than > what is obvious at first. > > On Thu, Aug 23, 2018 at 3:12 PM William Prothero via use-livecode < > use-livecode at lists.runrev.com> wrote: > > > Folks: > > I have numerous videos that I would like to play on a wordpress web site, > > and in livecode. I don?t want to host these on my own server for obvious > > reasons of bandwidth, support for different browsers, etc. > > > > This is not a commercial project, but an educational software project > > where I give it away for free. So, I would rather not pay, but I have > > looked into Vimeo and the lowest rate of $7/mo could work. I?ve tried > > YouTube and it has so many privacy issues. Also, when the video ends it > > displays unrelated material that would be distracting to students. > > > > I understand that any free service will probably want to grab users? info > > for marketing. That?s the world we are in. > > > > Buuut...... do you have a strategy that you could recommend? > > > > Best, > > Bill > > > > William A. Prothero > > http://earthlearningsolutions.org > > > > _______________________________________________ > > use-livecode mailing list > > use-livecode at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode -- -- Stephen Barncard - Sebastopol Ca. USA - mixstream.org From bogdanoff at me.com Thu Aug 23 16:43:04 2018 From: bogdanoff at me.com (Peter Bogdanoff) Date: Thu, 23 Aug 2018 13:43:04 -0700 Subject: Best way to store videos In-Reply-To: References: <7DECCB60-04F9-4EEF-8ABA-941A8B142F61@mac.com> <13F05790-3659-448A-A102-B33EF2DB5942@gmail.com> Message-ID: Bill, You could also look at Amazon AWS S3 storage. It?s pretty much free for the first year. Then, depending on usage, could be only a few dollars a month. https://aws.amazon.com/s3/pricing/ Videos could then be played directly in a Livecode player control, as well as on your website. One of the benefits of the LC player is that you can program events to happen in response to particular timings set in the video?callbacks. This is great for pedagogy?synchronized subtitles, comments, animations as a video (or audio) plays. Peter > On Aug 23, 2018, at 12:47 PM, Stephen Barncard via use-livecode wrote: > > YouTube is great these days. If you take the time to become a verified > subscriber all the world will be revealed to you. They have many tools and > they re-written the whole thing, and it?s pretty good. It?s also free. You > can make playlists and decide what happens at the end, and add links and > other text. > > After you earn your stars and are good for a while they will give you these > privileges. > > And as far as video streaming, they actually appear to be the best. They > are so equipped with their mirror servers all over the world. > > I used to shun YouTube for several years because of their lower quality at > the time but now they?ve come up to do not only great serving but live > streaming as well. > > You can create extra users. And it has a better social features. > > Vimeo streaming is still excellent but I like the extended distribution > that YouTube has. And I have to pay over $100 a year to be able to upload > the quality I want quickly. > > On Thu, Aug 23, 2018 at 12:20 Tom Glod via use-livecode < > use-livecode at lists.runrev.com> wrote: > >> just fyi......you can disable to recommened videos in the embedd code...... >> you can also detect via java script when the video ends. so you really have >> more control than you think. just got to send script to the browser ..... >> "do in widget". >> >> I haven't done anything crazy ...but i know that there is more control than >> what is obvious at first. >> >> On Thu, Aug 23, 2018 at 3:12 PM William Prothero via use-livecode < >> use-livecode at lists.runrev.com> wrote: >> >>> Folks: >>> I have numerous videos that I would like to play on a wordpress web site, >>> and in livecode. I don?t want to host these on my own server for obvious >>> reasons of bandwidth, support for different browsers, etc. >>> >>> This is not a commercial project, but an educational software project >>> where I give it away for free. So, I would rather not pay, but I have >>> looked into Vimeo and the lowest rate of $7/mo could work. I?ve tried >>> YouTube and it has so many privacy issues. Also, when the video ends it >>> displays unrelated material that would be distracting to students. >>> >>> I understand that any free service will probably want to grab users? info >>> for marketing. That?s the world we are in. >>> >>> Buuut...... do you have a strategy that you could recommend? >>> >>> Best, >>> Bill >>> >>> William A. Prothero >>> http://earthlearningsolutions.org >>> >>> _______________________________________________ >>> use-livecode mailing list >>> use-livecode at 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 at lists.runrev.com >> Please visit this url to subscribe, unsubscribe and manage your >> subscription preferences: >> http://lists.runrev.com/mailman/listinfo/use-livecode > > -- > -- > Stephen Barncard - Sebastopol Ca. USA - > mixstream.org > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From waprothero at gmail.com Thu Aug 23 17:04:29 2018 From: waprothero at gmail.com (William Prothero) Date: Thu, 23 Aug 2018 14:04:29 -0700 Subject: Best way to store videos In-Reply-To: References: <7DECCB60-04F9-4EEF-8ABA-941A8B142F61@mac.com> <13F05790-3659-448A-A102-B33EF2DB5942@gmail.com> Message-ID: Peter, That sounds like a good idea. What has worried me, though, is that it can be a pain to implement the code that lets the video be played on any of the many browser variations. With Youtube or Vimeo, they take care of making the video play on any browser. That is, unless the technology for making videos cross-platform has improved and I?m not aware of it. Best, Bill > On Aug 23, 2018, at 1:43 PM, Peter Bogdanoff via use-livecode wrote: > > Bill, > > You could also look at Amazon AWS S3 storage. > > It?s pretty much free for the first year. Then, depending on usage, could be only a few dollars a month. > > https://aws.amazon.com/s3/pricing/ > > Videos could then be played directly in a Livecode player control, as well as on your website. One of the benefits of the LC player is that you can program events to happen in response to particular timings set in the video?callbacks. This is great for pedagogy?synchronized subtitles, comments, animations as a video (or audio) plays. > > Peter > >> On Aug 23, 2018, at 12:47 PM, Stephen Barncard via use-livecode wrote: >> >> YouTube is great these days. If you take the time to become a verified >> subscriber all the world will be revealed to you. They have many tools and >> they re-written the whole thing, and it?s pretty good. It?s also free. You >> can make playlists and decide what happens at the end, and add links and >> other text. >> >> After you earn your stars and are good for a while they will give you these >> privileges. >> >> And as far as video streaming, they actually appear to be the best. They >> are so equipped with their mirror servers all over the world. >> >> I used to shun YouTube for several years because of their lower quality at >> the time but now they?ve come up to do not only great serving but live >> streaming as well. >> >> You can create extra users. And it has a better social features. >> >> Vimeo streaming is still excellent but I like the extended distribution >> that YouTube has. And I have to pay over $100 a year to be able to upload >> the quality I want quickly. >> >> On Thu, Aug 23, 2018 at 12:20 Tom Glod via use-livecode < >> use-livecode at lists.runrev.com> wrote: >> >>> just fyi......you can disable to recommened videos in the embedd code...... >>> you can also detect via java script when the video ends. so you really have >>> more control than you think. just got to send script to the browser ..... >>> "do in widget". >>> >>> I haven't done anything crazy ...but i know that there is more control than >>> what is obvious at first. >>> >>> On Thu, Aug 23, 2018 at 3:12 PM William Prothero via use-livecode < >>> use-livecode at lists.runrev.com> wrote: >>> >>>> Folks: >>>> I have numerous videos that I would like to play on a wordpress web site, >>>> and in livecode. I don?t want to host these on my own server for obvious >>>> reasons of bandwidth, support for different browsers, etc. >>>> >>>> This is not a commercial project, but an educational software project >>>> where I give it away for free. So, I would rather not pay, but I have >>>> looked into Vimeo and the lowest rate of $7/mo could work. I?ve tried >>>> YouTube and it has so many privacy issues. Also, when the video ends it >>>> displays unrelated material that would be distracting to students. >>>> >>>> I understand that any free service will probably want to grab users? info >>>> for marketing. That?s the world we are in. >>>> >>>> Buuut...... do you have a strategy that you could recommend? >>>> >>>> Best, >>>> Bill >>>> >>>> William A. Prothero >>>> http://earthlearningsolutions.org >>>> >>>> _______________________________________________ >>>> use-livecode mailing list >>>> use-livecode at 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 at lists.runrev.com >>> Please visit this url to subscribe, unsubscribe and manage your >>> subscription preferences: >>> http://lists.runrev.com/mailman/listinfo/use-livecode >> >> -- >> -- >> Stephen Barncard - Sebastopol Ca. USA - >> mixstream.org >> _______________________________________________ >> use-livecode mailing list >> use-livecode at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From stephen at barncard.com Thu Aug 23 17:05:09 2018 From: stephen at barncard.com (Stephen Barncard) Date: Thu, 23 Aug 2018 14:05:09 -0700 Subject: Best way to store videos In-Reply-To: References: <7DECCB60-04F9-4EEF-8ABA-941A8B142F61@mac.com> <13F05790-3659-448A-A102-B33EF2DB5942@gmail.com> Message-ID: um... Peter.. streaming video is not just about having the storage space... It's what the servers do to match up the devices calling with the appropriate size and type file. Typically many versions of the same video are created for each upload. The Vimeo and YouTube web apps handle all of that. Believe me I resisted for years and insisted on hosting my own video content, but when the quality got to be HD for everyone, they dumped Flash? and I figured out how one could turn off the ads, I was sold. -- Stephen Barncard - Sebastopol Ca. USA - mixstream.org On Thu, Aug 23, 2018 at 1:43 PM, Peter Bogdanoff via use-livecode < use-livecode at lists.runrev.com> wrote: > Bill, > > You could also look at Amazon AWS S3 storage. > > It?s pretty much free for the first year. Then, depending on usage, could > be only a few dollars a month. > > https://aws.amazon.com/s3/pricing/ > > Videos could then be played directly in a Livecode player control, as well > as on your website. One of the benefits of the LC player is that you can > program events to happen in response to particular timings set in the > video?callbacks. This is great for pedagogy?synchronized subtitles, > comments, animations as a video (or audio) plays. > > Peter > > > On Aug 23, 2018, at 12:47 PM, Stephen Barncard via use-livecode < > use-livecode at lists.runrev.com> wrote: > > > > YouTube is great these days. If you take the time to become a verified > > subscriber all the world will be revealed to you. They have many tools > and > > they re-written the whole thing, and it?s pretty good. It?s also free. > You > > can make playlists and decide what happens at the end, and add links and > > other text. > > > > After you earn your stars and are good for a while they will give you > these > > privileges. > > > > And as far as video streaming, they actually appear to be the best. They > > are so equipped with their mirror servers all over the world. > > > > I used to shun YouTube for several years because of their lower quality > at > > the time but now they?ve come up to do not only great serving but live > > streaming as well. > > > > You can create extra users. And it has a better social features. > > > > Vimeo streaming is still excellent but I like the extended distribution > > that YouTube has. And I have to pay over $100 a year to be able to > upload > > the quality I want quickly. > > > > On Thu, Aug 23, 2018 at 12:20 Tom Glod via use-livecode < > > use-livecode at lists.runrev.com> wrote: > > > >> just fyi......you can disable to recommened videos in the embedd > code...... > >> you can also detect via java script when the video ends. so you really > have > >> more control than you think. just got to send script to the browser > ..... > >> "do in widget". > >> > >> I haven't done anything crazy ...but i know that there is more control > than > >> what is obvious at first. > >> > >> On Thu, Aug 23, 2018 at 3:12 PM William Prothero via use-livecode < > >> use-livecode at lists.runrev.com> wrote: > >> > >>> Folks: > >>> I have numerous videos that I would like to play on a wordpress web > site, > >>> and in livecode. I don?t want to host these on my own server for > obvious > >>> reasons of bandwidth, support for different browsers, etc. > >>> > >>> This is not a commercial project, but an educational software project > >>> where I give it away for free. So, I would rather not pay, but I have > >>> looked into Vimeo and the lowest rate of $7/mo could work. I?ve tried > >>> YouTube and it has so many privacy issues. Also, when the video ends > it > >>> displays unrelated material that would be distracting to students. > >>> > >>> I understand that any free service will probably want to grab users? > info > >>> for marketing. That?s the world we are in. > >>> > >>> Buuut...... do you have a strategy that you could recommend? > >>> > >>> Best, > >>> Bill > >>> > >>> William A. Prothero > >>> http://earthlearningsolutions.org > >>> > >>> _______________________________________________ > >>> use-livecode mailing list > >>> use-livecode at 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 at lists.runrev.com > >> Please visit this url to subscribe, unsubscribe and manage your > >> subscription preferences: > >> http://lists.runrev.com/mailman/listinfo/use-livecode > > > > -- > > -- > > Stephen Barncard - Sebastopol Ca. USA - > > mixstream.org > > _______________________________________________ > > use-livecode mailing list > > use-livecode at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From jacque at hyperactivesw.com Thu Aug 23 17:21:42 2018 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Thu, 23 Aug 2018 16:21:42 -0500 Subject: fullscreenmode and rect of a substack on mobile device ? In-Reply-To: References: <3AD3CF89-6E4C-4608-A9FC-E56DDADFD115@laposte.net> <99f39315-d93c-ba00-db5f-423ef3d209c1@fourthworld.com> <30FD572A-30CA-40CB-B1C0-020AEEDC6E4F@laposte.net> <1328e2f1-58fa-6064-e95f-10bf0638da95@hyperactivesw.com> <1824CAC0-CE27-4111-8BD1-8A048BB30790@laposte.net> <41d8b732-0ac1-3391-726e-1897b036916e@hyperactivesw.com> Message-ID: <9f843be1-a551-1140-166b-3f24400f5e5f@hyperactivesw.com> On 8/23/18 12:59 AM, Ludovic THEBAULT via use-livecode wrote: > >> Le 22 ao?t 2018 ? 22:24, J. Landman Gay via use-livecode a ?crit : >> >> On 8/22/18 3:13 PM, J. Landman Gay via use-livecode wrote: >>> But the stack should still fill the screen and it doesn't. >> >> This will resize the stack the same way as your "adapt" handler does, so you can eliminate that entirely: >> >> on preopenstack >> mobileSetAllowedOrientations("portrait") >> iphoneUseDeviceResolution true,true >> set the fullscreenmode of stack "ipad" to "exactFit" >> end preopenstack > > Many thanks for finding that this command ! > Sadly, it?s only for iOS. > > But your previous script must used on android. The strange thing about your stack is that it doesn't fill the screen on an iPad no matter what I try. I turned off FSM entirely, and did this on preopenstack: on preopenstack mobileSetAllowedOrientations("portrait") set the rect of this stack to the screenrect end preopenstack Even that doesn't work. The stack simply won't resize, there are still blank areas around all four edges. I next removed the line that sets the rect, and allowed LC to resize it by default with the same results. I decided to try it on Android. PreOpenStack is this: on preopenstack mobileSetAllowedOrientations("portrait") set the fullscreenmode of stack "ipad" to "noborder" end preopenstack This works perfectly, the entire screen is filled as expected, the "get rect" button reports accurate information, and no size adaptation is necessary. All objects were placed correctly on screen without distortion. I then tried it in the iPhone 6 Plus simulator. That worked perfectly too. Only the iPad failed. Thinking it might be related to actual size, I resized the stack to 640x960 (the screenrect reported on iPad with iPhoneUseDeviceResolution true) but that didn't work either. It would be useful for someone with a real iPad to try a test. If it doesn't work there then I think the LC team should look. -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com From bogdanoff at me.com Thu Aug 23 18:01:57 2018 From: bogdanoff at me.com (Peter Bogdanoff) Date: Thu, 23 Aug 2018 15:01:57 -0700 Subject: Best way to store videos In-Reply-To: References: <7DECCB60-04F9-4EEF-8ABA-941A8B142F61@mac.com> <13F05790-3659-448A-A102-B33EF2DB5942@gmail.com> Message-ID: Bill: If your video is a common format like MPEG-4, then any browser will play it. Stephan: I?m aware of the streaming server versions issue. However, not all video content needs to be optimized?it depends on what it is and in what context it is displayed. But, it is true that Vimeo and YouTube handle format conversion and optimization, which is very nice, and one can embed a browser widget on a LC card to play it. Part of my point was that to create interactivity with the media, it would have to be in a format that a player control can use, which would necessitate appropriate files in media storage somewhere. I should have noted in my earlier post that to use callbacks in an LC player in Windows, the media format needs to be WMV. Peter > On Aug 23, 2018, at 2:05 PM, Stephen Barncard via use-livecode wrote: > > um... Peter.. streaming video is not just about having the storage space... > It's what the servers do to match up the devices calling with the > appropriate size and type file. Typically many versions of the same video > are created for each upload. The Vimeo and YouTube web apps handle all of > that. > > Believe me I resisted for years and insisted on hosting my own video > content, but when the quality got to be HD for everyone, they dumped Flash? > and I figured out how one could turn off the ads, I was sold. > > -- > Stephen Barncard - Sebastopol Ca. USA - > mixstream.org > > On Thu, Aug 23, 2018 at 1:43 PM, Peter Bogdanoff via use-livecode < > use-livecode at lists.runrev.com> wrote: > >> Bill, >> >> You could also look at Amazon AWS S3 storage. >> >> It?s pretty much free for the first year. Then, depending on usage, could >> be only a few dollars a month. >> >> https://aws.amazon.com/s3/pricing/ >> >> Videos could then be played directly in a Livecode player control, as well >> as on your website. One of the benefits of the LC player is that you can >> program events to happen in response to particular timings set in the >> video?callbacks. This is great for pedagogy?synchronized subtitles, >> comments, animations as a video (or audio) plays. >> >> Peter >> >>> On Aug 23, 2018, at 12:47 PM, Stephen Barncard via use-livecode < >> use-livecode at lists.runrev.com> wrote: >>> >>> YouTube is great these days. If you take the time to become a verified >>> subscriber all the world will be revealed to you. They have many tools >> and >>> they re-written the whole thing, and it?s pretty good. It?s also free. >> You >>> can make playlists and decide what happens at the end, and add links and >>> other text. >>> >>> After you earn your stars and are good for a while they will give you >> these >>> privileges. >>> >>> And as far as video streaming, they actually appear to be the best. They >>> are so equipped with their mirror servers all over the world. >>> >>> I used to shun YouTube for several years because of their lower quality >> at >>> the time but now they?ve come up to do not only great serving but live >>> streaming as well. >>> >>> You can create extra users. And it has a better social features. >>> >>> Vimeo streaming is still excellent but I like the extended distribution >>> that YouTube has. And I have to pay over $100 a year to be able to >> upload >>> the quality I want quickly. >>> >>> On Thu, Aug 23, 2018 at 12:20 Tom Glod via use-livecode < >>> use-livecode at lists.runrev.com> wrote: >>> >>>> just fyi......you can disable to recommened videos in the embedd >> code...... >>>> you can also detect via java script when the video ends. so you really >> have >>>> more control than you think. just got to send script to the browser >> ..... >>>> "do in widget". >>>> >>>> I haven't done anything crazy ...but i know that there is more control >> than >>>> what is obvious at first. >>>> >>>> On Thu, Aug 23, 2018 at 3:12 PM William Prothero via use-livecode < >>>> use-livecode at lists.runrev.com> wrote: >>>> >>>>> Folks: >>>>> I have numerous videos that I would like to play on a wordpress web >> site, >>>>> and in livecode. I don?t want to host these on my own server for >> obvious >>>>> reasons of bandwidth, support for different browsers, etc. >>>>> >>>>> This is not a commercial project, but an educational software project >>>>> where I give it away for free. So, I would rather not pay, but I have >>>>> looked into Vimeo and the lowest rate of $7/mo could work. I?ve tried >>>>> YouTube and it has so many privacy issues. Also, when the video ends >> it >>>>> displays unrelated material that would be distracting to students. >>>>> >>>>> I understand that any free service will probably want to grab users? >> info >>>>> for marketing. That?s the world we are in. >>>>> >>>>> Buuut...... do you have a strategy that you could recommend? >>>>> >>>>> Best, >>>>> Bill >>>>> >>>>> William A. Prothero >>>>> http://earthlearningsolutions.org >>>>> >>>>> _______________________________________________ >>>>> use-livecode mailing list >>>>> use-livecode at 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 at lists.runrev.com >>>> Please visit this url to subscribe, unsubscribe and manage your >>>> subscription preferences: >>>> http://lists.runrev.com/mailman/listinfo/use-livecode >>> >>> -- >>> -- >>> Stephen Barncard - Sebastopol Ca. USA - >>> mixstream.org >>> _______________________________________________ >>> use-livecode mailing list >>> use-livecode at 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 at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From waprothero at gmail.com Thu Aug 23 19:06:32 2018 From: waprothero at gmail.com (William Prothero) Date: Thu, 23 Aug 2018 16:06:32 -0700 Subject: Best way to store videos In-Reply-To: References: <7DECCB60-04F9-4EEF-8ABA-941A8B142F61@mac.com> <13F05790-3659-448A-A102-B33EF2DB5942@gmail.com> Message-ID: Peter: I had self-hosted a few small videos, all in mp4 format. I hadn?t checked many video players, tho, but when I changed hosting services, for my wordpress site, the video appeared offset to the right (same code as prev hosting), in the iframe. I couldn?t get it to view correctly, and gave up. However, the Youtube and Vimeo versions played fine. Then, googling around led me to a bunch of probably obsolete examples of what needs to be done to play videos on a wide variety of browsers. So, in my search for a solution that would work for both livecode apps and my wordpress site, I tried Youtube and Vimeo. Vimeo has a low cost plan of $7/mo, which would fit my needs. So, I?ll probably go with Vimeo. But, it?s good to know that mp4 will play in all browsers. Best, Bill > On Aug 23, 2018, at 3:01 PM, Peter Bogdanoff via use-livecode wrote: > > Bill: If your video is a common format like MPEG-4, then any browser will play it. > > Stephan: I?m aware of the streaming server versions issue. However, not all video content needs to be optimized?it depends on what it is and in what context it is displayed. But, it is true that Vimeo and YouTube handle format conversion and optimization, which is very nice, and one can embed a browser widget on a LC card to play it. Part of my point was that to create interactivity with the media, it would have to be in a format that a player control can use, which would necessitate appropriate files in media storage somewhere. > > I should have noted in my earlier post that to use callbacks in an LC player in Windows, the media format needs to be WMV. > > Peter > > > > > > >> On Aug 23, 2018, at 2:05 PM, Stephen Barncard via use-livecode wrote: >> >> um... Peter.. streaming video is not just about having the storage space... >> It's what the servers do to match up the devices calling with the >> appropriate size and type file. Typically many versions of the same video >> are created for each upload. The Vimeo and YouTube web apps handle all of >> that. >> >> Believe me I resisted for years and insisted on hosting my own video >> content, but when the quality got to be HD for everyone, they dumped Flash? >> and I figured out how one could turn off the ads, I was sold. >> >> -- >> Stephen Barncard - Sebastopol Ca. USA - >> mixstream.org >> >> On Thu, Aug 23, 2018 at 1:43 PM, Peter Bogdanoff via use-livecode < >> use-livecode at lists.runrev.com> wrote: >> >>> Bill, >>> >>> You could also look at Amazon AWS S3 storage. >>> >>> It?s pretty much free for the first year. Then, depending on usage, could >>> be only a few dollars a month. >>> >>> https://aws.amazon.com/s3/pricing/ >>> >>> Videos could then be played directly in a Livecode player control, as well >>> as on your website. One of the benefits of the LC player is that you can >>> program events to happen in response to particular timings set in the >>> video?callbacks. This is great for pedagogy?synchronized subtitles, >>> comments, animations as a video (or audio) plays. >>> >>> Peter >>> >>>> On Aug 23, 2018, at 12:47 PM, Stephen Barncard via use-livecode < >>> use-livecode at lists.runrev.com> wrote: >>>> >>>> YouTube is great these days. If you take the time to become a verified >>>> subscriber all the world will be revealed to you. They have many tools >>> and >>>> they re-written the whole thing, and it?s pretty good. It?s also free. >>> You >>>> can make playlists and decide what happens at the end, and add links and >>>> other text. >>>> >>>> After you earn your stars and are good for a while they will give you >>> these >>>> privileges. >>>> >>>> And as far as video streaming, they actually appear to be the best. They >>>> are so equipped with their mirror servers all over the world. >>>> >>>> I used to shun YouTube for several years because of their lower quality >>> at >>>> the time but now they?ve come up to do not only great serving but live >>>> streaming as well. >>>> >>>> You can create extra users. And it has a better social features. >>>> >>>> Vimeo streaming is still excellent but I like the extended distribution >>>> that YouTube has. And I have to pay over $100 a year to be able to >>> upload >>>> the quality I want quickly. >>>> >>>> On Thu, Aug 23, 2018 at 12:20 Tom Glod via use-livecode < >>>> use-livecode at lists.runrev.com> wrote: >>>> >>>>> just fyi......you can disable to recommened videos in the embedd >>> code...... >>>>> you can also detect via java script when the video ends. so you really >>> have >>>>> more control than you think. just got to send script to the browser >>> ..... >>>>> "do in widget". >>>>> >>>>> I haven't done anything crazy ...but i know that there is more control >>> than >>>>> what is obvious at first. >>>>> >>>>> On Thu, Aug 23, 2018 at 3:12 PM William Prothero via use-livecode < >>>>> use-livecode at lists.runrev.com> wrote: >>>>> >>>>>> Folks: >>>>>> I have numerous videos that I would like to play on a wordpress web >>> site, >>>>>> and in livecode. I don?t want to host these on my own server for >>> obvious >>>>>> reasons of bandwidth, support for different browsers, etc. >>>>>> >>>>>> This is not a commercial project, but an educational software project >>>>>> where I give it away for free. So, I would rather not pay, but I have >>>>>> looked into Vimeo and the lowest rate of $7/mo could work. I?ve tried >>>>>> YouTube and it has so many privacy issues. Also, when the video ends >>> it >>>>>> displays unrelated material that would be distracting to students. >>>>>> >>>>>> I understand that any free service will probably want to grab users? >>> info >>>>>> for marketing. That?s the world we are in. >>>>>> >>>>>> Buuut...... do you have a strategy that you could recommend? >>>>>> >>>>>> Best, >>>>>> Bill >>>>>> >>>>>> William A. Prothero >>>>>> http://earthlearningsolutions.org >>>>>> >>>>>> _______________________________________________ >>>>>> use-livecode mailing list >>>>>> use-livecode at 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 at lists.runrev.com >>>>> Please visit this url to subscribe, unsubscribe and manage your >>>>> subscription preferences: >>>>> http://lists.runrev.com/mailman/listinfo/use-livecode >>>> >>>> -- >>>> -- >>>> Stephen Barncard - Sebastopol Ca. USA - >>>> mixstream.org >>>> _______________________________________________ >>>> use-livecode mailing list >>>> use-livecode at 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 at 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 at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From brian at milby7.com Thu Aug 23 21:30:39 2018 From: brian at milby7.com (Brian Milby) Date: Thu, 23 Aug 2018 20:30:39 -0500 Subject: fullscreenmode and rect of a substack on mobile device ? In-Reply-To: <9f843be1-a551-1140-166b-3f24400f5e5f@hyperactivesw.com> References: <3AD3CF89-6E4C-4608-A9FC-E56DDADFD115@laposte.net> <99f39315-d93c-ba00-db5f-423ef3d209c1@fourthworld.com> <30FD572A-30CA-40CB-B1C0-020AEEDC6E4F@laposte.net> <1328e2f1-58fa-6064-e95f-10bf0638da95@hyperactivesw.com> <1824CAC0-CE27-4111-8BD1-8A048BB30790@laposte.net> <41d8b732-0ac1-3391-726e-1897b036916e@hyperactivesw.com> <9f843be1-a551-1140-166b-3f24400f5e5f@hyperactivesw.com> Message-ID: @Ludovic / @Jacque If you are just wanting a background to cover the extra space, why not just make it oversized and not worry about adjusting it? The original stack worked fine on my iPad (since it was sized at the same resolution). I made it a substack of another one and used a button to "go stack ipad". It filled the entire screen. On my iPhone 8 Plus, the resize did not work correctly. Here's a handler that will take care of it on my phone properly: on fixBackground local tCardW, tScreenW, tScreenH, tNewH put the width of this card into tCardW put item 3 of the screenrect into tScreenW put item 4 of the screenrect into tScreenH put tCardW / (tScreenW / tScreenH) into tNewH set the height of grc "bkg" to tNewH set the loc of grc "bkg" to the loc of this card end fixBackground I added the size logging to the `openCard` handler and everything reports the dimensions of the phone (this stack/this cd/stack "ipad"). Same numbers before/after the FSM call. If I did a send "fixbackground" to me in 0 ms, then it was wrong (based on screenrect). If I did a send "fixbackground" to me in 10 ms then it worked fine (I can see the background jump though). The above code only works in one direction (W/H ratio is smaller than iPad). To cover both variations, you would need to check and possibly do the opposite (adjust the background width). I don't know if any phones/tablets would cause an issue there. The code wouldn't be difficult though. As to the location of the stack... since resize is not sent when in FSM, the stack is reporting the rect from when it was last saved on the desktop. It doesn't really matter though. My approach doesn't care about the actual stack rect, only the H/W dimensions. Thanks, Brian From brian at milby7.com Thu Aug 23 22:02:05 2018 From: brian at milby7.com (Brian Milby) Date: Thu, 23 Aug 2018 21:02:05 -0500 Subject: fullscreenmode and rect of a substack on mobile device ? In-Reply-To: References: <3AD3CF89-6E4C-4608-A9FC-E56DDADFD115@laposte.net> <99f39315-d93c-ba00-db5f-423ef3d209c1@fourthworld.com> <1654fab3cf8.2761.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <4adb0448-265d-fb8d-0dd9-bfc7d0bcffef@hyperactivesw.com> <165553c6ca0.2783.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> Message-ID: @ Sannyasin Brahmanathaswami I was finally able to take some time and load the _r9 version of your demo stack. When initially loaded, the image did fill the browser window, but when I pressed the play button it did not take over the entire screen. When I rotated, it did resize as expected. I'm not sure if the web code changed or if I just don't see the issue. My test was a iPad 6G. I'm using 9.0.1rc2 to build my tests. In your latest response about layout when the stack opens... is that on Android and iPad? I do not see that issue on my iPhone/iPad. Since the stack is designed at the Plus size, no surprise on my phone. But it also resizes properly on load on my iPad. I had my mobileProfile stack configured with a button to launch your stack (which should be similar to how you would be using it). Here's a preOpenCard that you could try: on preOpenCard local tRect if isMobile() then mobileSetAllowedOrientations "portrait,portrait upside down,landscape left,landscape right" end if put the effective working screenrect into tRect resizeStack item 3 of tRect, item 4 of tRect end preOpenCard I don't see any difference with that code in place for my devices. Thanks, Brian From dan at clearvisiontech.com Fri Aug 24 01:48:18 2018 From: dan at clearvisiontech.com (Dan Friedman) Date: Fri, 24 Aug 2018 05:48:18 +0000 Subject: Binary Rejected! Message-ID: <21900B1A-35FA-483C-BA3E-FB50851367D6@clearvisiontech.com> Hello, My recent iOS app uploaded to Apple was rejected because the dialog asking for access to your location didn?t say why the app wanted to use location services. Apple said, ?We noticed that your app requests the user?s consent to access their location but does not clarify the use of this feature in the permission modal alert.? I found the ?NSLocationAlwaysAndWhenInUseUsageDescription? key in the app?s info.plist and changed it. But, when I uploaded the app to Apple, the Application loaded app reported the following error: ERROR ITMS-90035: "Invalid Signature. Invalid Info.plist (plist or signature have been modified). The file at path [xxxxxxx.app/xxxxxxxx] is not properly signed. Make sure you have signed your application with a distribution certificate, not an ad hoc certificate or a development certificate. Verify that the code signing settings in Xcode are correct at the target level (which override any values at the project level). Additionally, make sure the bundle you are uploading was built using a Release target in Xcode, not a Simulator target. If you are certain your code signing settings are correct, choose "Clean All" in Xcode, delete the "build" directory in the Finder, and rebuild your release target. For more information, please consult https://developer.apple.com/library/ios/documentation/Security/Conceptual/CodeSigningGuide/Introduction/Introduction.html" Obviously, they didn?t like me messing with the info.plist. So, what the solution? Is there a way to edit the ?NSLocationAlwaysAndWhenInUseUsageDescription? key? Assuming that?s the correct thing to be editing? Any assistance would be VERY appreciated! -Dan From ludovic.thebault at laposte.net Fri Aug 24 01:56:18 2018 From: ludovic.thebault at laposte.net (Ludovic THEBAULT) Date: Fri, 24 Aug 2018 07:56:18 +0200 Subject: Binary Rejected! In-Reply-To: <21900B1A-35FA-483C-BA3E-FB50851367D6@clearvisiontech.com> References: <21900B1A-35FA-483C-BA3E-FB50851367D6@clearvisiontech.com> Message-ID: <148AE393-AA91-4380-9D16-B0500BC514D5@laposte.net> > Le 24 ao?t 2018 ? 07:48, Dan Friedman via use-livecode a ?crit : > > Hello, > > My recent iOS app uploaded to Apple was rejected because the dialog asking for access to your location didn?t say why the app wanted to use location services. Apple said, ?We noticed that your app requests the user?s consent to access their location but does not clarify the use of this feature in the permission modal alert.? > > I found the ?NSLocationAlwaysAndWhenInUseUsageDescription? key in the app?s info.plist and changed it. But, when I uploaded the app to Apple, the Application loaded app reported the following error: > > ERROR ITMS-90035: "Invalid Signature. Invalid Info.plist (plist or signature have been modified). The file at path [xxxxxxx.app/xxxxxxxx] is not properly signed. Make sure you have signed your application with a distribution certificate, not an ad hoc certificate or a development certificate. Verify that the code signing settings in Xcode are correct at the target level (which override any values at the project level). Additionally, make sure the bundle you are uploading was built using a Release target in Xcode, not a Simulator target. If you are certain your code signing settings are correct, choose "Clean All" in Xcode, delete the "build" directory in the Finder, and rebuild your release target. For more information, please consult https://developer.apple.com/library/ios/documentation/Security/Conceptual/CodeSigningGuide/Introduction/Introduction.html" > > Obviously, they didn?t like me messing with the info.plist. So, what the solution? Is there a way to edit the ?NSLocationAlwaysAndWhenInUseUsageDescription? key? Assuming that?s the correct thing to be editing? > > Any assistance would be VERY appreciated! > > -Dan Hello, You need to modify the key before create the standalone : Panos tells you how to do it here : https://quality.livecode.com/show_bug.cgi?id=19780#c11 But I hope the next release allows us to do it in the standalone builder. Ludovic From dan at clearvisiontech.com Fri Aug 24 02:15:54 2018 From: dan at clearvisiontech.com (Dan Friedman) Date: Fri, 24 Aug 2018 06:15:54 +0000 Subject: Binary Rejected! In-Reply-To: <148AE393-AA91-4380-9D16-B0500BC514D5@laposte.net> References: <21900B1A-35FA-483C-BA3E-FB50851367D6@clearvisiontech.com> <148AE393-AA91-4380-9D16-B0500BC514D5@laposte.net> Message-ID: Ludivuc, Thanks for the advice! I also found an LiveCode Lesson on this very topic. http://lessons.livecode.com/m/4069/l/881992-creating-a-custom-plist Thank you! Dan Friedman CEO, ClearVision Technologies, LLC Voice: 909/484-2052 http://www.clearvisiontech.com On 8/23/18, 10:56 PM, "use-livecode on behalf of Ludovic THEBAULT via use-livecode" wrote: > Le 24 ao?t 2018 ? 07:48, Dan Friedman via use-livecode a ?crit : > > Hello, > > My recent iOS app uploaded to Apple was rejected because the dialog asking for access to your location didn?t say why the app wanted to use location services. Apple said, ?We noticed that your app requests the user?s consent to access their location but does not clarify the use of this feature in the permission modal alert.? > > I found the ?NSLocationAlwaysAndWhenInUseUsageDescription? key in the app?s info.plist and changed it. But, when I uploaded the app to Apple, the Application loaded app reported the following error: > > ERROR ITMS-90035: "Invalid Signature. Invalid Info.plist (plist or signature have been modified). The file at path [xxxxxxx.app/xxxxxxxx] is not properly signed. Make sure you have signed your application with a distribution certificate, not an ad hoc certificate or a development certificate. Verify that the code signing settings in Xcode are correct at the target level (which override any values at the project level). Additionally, make sure the bundle you are uploading was built using a Release target in Xcode, not a Simulator target. If you are certain your code signing settings are correct, choose "Clean All" in Xcode, delete the "build" directory in the Finder, and rebuild your release target. For more information, please consult https://developer.apple.com/library/ios/documentation/Security/Conceptual/CodeSigningGuide/Introduction/Introduction.html" > > Obviously, they didn?t like me messing with the info.plist. So, what the solution? Is there a way to edit the ?NSLocationAlwaysAndWhenInUseUsageDescription? key? Assuming that?s the correct thing to be editing? > > Any assistance would be VERY appreciated! > > -Dan Hello, You need to modify the key before create the standalone : Panos tells you how to do it here : https://quality.livecode.com/show_bug.cgi?id=19780#c11 But I hope the next release allows us to do it in the standalone builder. Ludovic _______________________________________________ use-livecode mailing list use-livecode at lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode From ludovic.thebault at laposte.net Fri Aug 24 02:40:54 2018 From: ludovic.thebault at laposte.net (Ludovic THEBAULT) Date: Fri, 24 Aug 2018 08:40:54 +0200 Subject: Binary Rejected! In-Reply-To: References: <21900B1A-35FA-483C-BA3E-FB50851367D6@clearvisiontech.com> <148AE393-AA91-4380-9D16-B0500BC514D5@laposte.net> Message-ID: > Le 24 ao?t 2018 ? 08:15, Dan Friedman via use-livecode a ?crit : > > Ludivuc, > > Thanks for the advice! I also found an LiveCode Lesson on this very topic. http://lessons.livecode.com/m/4069/l/881992-creating-a-custom-plist > Great, i missed this. It?s a better solution. Ludovic From admin at FlexibleLearning.com Fri Aug 24 04:17:31 2018 From: admin at FlexibleLearning.com (FlexibleLearning.com) Date: Fri, 24 Aug 2018 09:17:31 +0100 Subject: fullscreenmode and rect of a substack on mobile device ? Message-ID: <004801d43b82$e8a32420$b9e96c60$@FlexibleLearning.com> First, I think you have a typo where "/25" should be "-25"... set loc group "footer" to ( (item 2 of tRect)/2,(item 4 of tRect)/25 ) # Typo: -25 Second, for safety, ensure integer values... set loc group "footer" to round((item 2 of tRect)/2), (item 4 of tRect)-25 Third, if still not working on preOpenstack, try... on preopenstack if isMobile() then mobileSetAllowedOrientations "portrait,portrait upside down,landscape left,landscape right" end if hide this stack end preopenstack on openStack setupStackRect show this stack end openStack Hugh > This thread will never finish (hehe) > > I am still have trouble getting the two object in the stack in place when we > open stack on mobile. > > The resize handlers wrok, and soon as we rotate the phone and back and > geometry is implemented. > > But not on open stack.. > > So I use your script. I was not orienting the stack size against the screenrect > first. > > Still not go: > > on preopenstack > if isMobile() then > mobileSetAllowedOrientations "portrait,portrait upside down,landscape left,landscape right" > setupStackRect > end if > end preopenstack > > ---------------------- > > # Geometry > > on orientationChanged > -- setupStackRect > end orientationChanged > on setupStackRect pWidth,pHeight > if pWidth="" and pHeight="" then > put the effective working screenRect into tRect > set the rect of this stack to tRect > set the topLeft of this stack to item 1 to 2 of tRect > else > put the rect of this stack into tRect > put tWidth into item 3 of tRect # Typo: pWidth > put tHeight into item 4 of tRect # Typo: pHeight > set the rect of this stack to tRect > end if > set bottom of group "footer" to item 4 of tRect > set loc group "footer" to ( (item 2 of tRect)/2,(item 4 of tRect)/25 ) # Typo: -25 > subtract 50 from item 4 of tRect > set the rect of widget "body" to tRect > end setupStackRect > > on resizeStack pNewWidth, pNewHeight, pOldWidth, pOldHeight > # check it is landscape, turn off the navigation Bar > if pNewWidth > pNewHeight then -- landscape > put 0, 0, pNewWidth, pNewHeight into tBrowserRect > set loc widget "body" to (pNewWidth/2,pNewHeight/2) > hide group "footer" > else > put 0, 0, pNewWidth, pNewHeight - 50 into tBrowserRect > set loc group "footer" to (pNewWidth/2,pNewHeight-25) > show group "footer" > end if > set the rect of widget "body" of me to tBrowserRect > end resizeStack From toolbook at kestner.de Fri Aug 24 04:52:54 2018 From: toolbook at kestner.de (Tiemo Hollmann TB) Date: Fri, 24 Aug 2018 10:52:54 +0200 Subject: What happened to the LC 9 UI font? Message-ID: <001601d43b87$d95977d0$8c0c6770$@kestner.de> Hello, Windows 10. The standard UI font has changed from LC 8 to LC 9. It looks a little bit like "bold", compared to LC 8, but it isn't bold, because e.g. when choosing a IDE menu, the menu text is even "bolder". All texts in the IDE and in all LC messages (IDE and standalone) like in the answer dialog are affected. This way, the texts look a little bit blurry - not nice. I would like to get the normal font back again. Is this a bug / feature / option I can change anywhere? See example screenshot here: www.kestner.de/material/LCUI.png Thanks Tiemo From merakosp at gmail.com Fri Aug 24 05:06:03 2018 From: merakosp at gmail.com (panagiotis merakos) Date: Fri, 24 Aug 2018 12:06:03 +0300 Subject: What happened to the LC 9 UI font? In-Reply-To: <001601d43b87$d95977d0$8c0c6770$@kestner.de> References: <001601d43b87$d95977d0$8c0c6770$@kestner.de> Message-ID: Hello Tiemo, Do you see that on Mac or Windows? Best, Panos -- On Fri, Aug 24, 2018 at 11:53 AM Tiemo Hollmann TB via use-livecode < use-livecode at lists.runrev.com> wrote: > Hello, > > > > Windows 10. > > The standard UI font has changed from LC 8 to LC 9. It looks a little bit > like "bold", compared to LC 8, but it isn't bold, because e.g. when > choosing > a IDE menu, the menu text is even "bolder". All texts in the IDE and in all > LC messages (IDE and standalone) like in the answer dialog are affected. > This way, the texts look a little bit blurry - not nice. I would like to > get > the normal font back again. > > > > Is this a bug / feature / option I can change anywhere? > > > > See example screenshot here: www.kestner.de/material/LCUI.png > > > > > Thanks > > Tiemo > > > > > > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From toolbook at kestner.de Fri Aug 24 05:47:46 2018 From: toolbook at kestner.de (Tiemo Hollmann TB) Date: Fri, 24 Aug 2018 11:47:46 +0200 Subject: AW: What happened to the LC 9 UI font? In-Reply-To: References: <001601d43b87$d95977d0$8c0c6770$@kestner.de> Message-ID: <001d01d43b8f$83e48260$8bad8720$@kestner.de> Windows 10 -----Urspr?ngliche Nachricht----- Von: use-livecode [mailto:use-livecode-bounces at lists.runrev.com] Im Auftrag von panagiotis merakos via use-livecode Gesendet: Freitag, 24. August 2018 11:06 An: How to use LiveCode Cc: panagiotis merakos Betreff: Re: What happened to the LC 9 UI font? Hello Tiemo, Do you see that on Mac or Windows? Best, Panos -- On Fri, Aug 24, 2018 at 11:53 AM Tiemo Hollmann TB via use-livecode < use-livecode at lists.runrev.com> wrote: > Hello, > > > > Windows 10. > > The standard UI font has changed from LC 8 to LC 9. It looks a little > bit like "bold", compared to LC 8, but it isn't bold, because e.g. > when choosing a IDE menu, the menu text is even "bolder". All texts in > the IDE and in all LC messages (IDE and standalone) like in the answer > dialog are affected. > This way, the texts look a little bit blurry - not nice. I would like > to get the normal font back again. > > > > Is this a bug / feature / option I can change anywhere? > > > > See example screenshot here: www.kestner.de/material/LCUI.png > > > > > Thanks > > Tiemo > > > > > > > > _______________________________________________ > use-livecode mailing list > use-livecode at 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 at lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode From lists at mangomultimedia.com Fri Aug 24 08:28:35 2018 From: lists at mangomultimedia.com (Trevor DeVore) Date: Fri, 24 Aug 2018 07:28:35 -0500 Subject: LC displaying colors incorrectly in macOS 10.13 Message-ID: Hi, In LC 9 (haven't tested earlier versions) I'm seeing incorrect colors for LC controls on macOS 10.13 but not 10.12. I filed a bug report with a recipe + example stack and I'm wondering if anyone else can confirm my findings. I'm not sure if it is software related or hardware related. Here is the bug url: https://quality.livecode.com/show_bug.cgi?id=21517 -- Trevor DeVore ScreenSteps www.screensteps.com From hh at hyperhh.de Fri Aug 24 09:01:55 2018 From: hh at hyperhh.de (hh) Date: Fri, 24 Aug 2018 15:01:55 +0200 Subject: LC-ImageToolbox_v175 Message-ID: Added a new feature to LC-ImageToolBox: Quantile filtering. An x-Quantile is a generalized parameter of location of distributions with a percentage x. For example x=0 yields the minimum, x=50 the median, x=100 the maximum of the sample values. You can select the percentage x and a 'population sample' square of size 3x3, 5x5, 7x7, ..., 15x15 pixels. The quantile of this sample distribution around each pixel of the image replaces that pixel. For more info see http://forums.livecode.com/viewtopic.php?p=170547#p170547 From matthias_livecode_150811 at m-r-d.de Fri Aug 24 09:07:04 2018 From: matthias_livecode_150811 at m-r-d.de (Matthias Rebbe) Date: Fri, 24 Aug 2018 15:07:04 +0200 Subject: LC displaying colors incorrectly in macOS 10.13 In-Reply-To: References: Message-ID: <956DBA31-9FCD-41DA-9B8A-C115D36AD329@m-r-d.de> I am running 10.13 and can confirm this with my iMac 5K. The interesting part. If i change the color profile in system control/monitor then the mouse loc values even change See a screen recording i?ve uploaded to Droplr Regards, Matthias > Am 24.08.2018 um 14:28 schrieb Trevor DeVore via use-livecode : > > Hi, > > In LC 9 (haven't tested earlier versions) I'm seeing incorrect colors for > LC controls on macOS 10.13 but not 10.12. I filed a bug report with a > recipe + example stack and I'm wondering if anyone else can confirm my > findings. I'm not sure if it is software related or hardware related. > > Here is the bug url: > > https://quality.livecode.com/show_bug.cgi?id=21517 > > -- > Trevor DeVore > ScreenSteps > www.screensteps.com > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From matthias_livecode_150811 at m-r-d.de Fri Aug 24 09:09:13 2018 From: matthias_livecode_150811 at m-r-d.de (Matthias Rebbe) Date: Fri, 24 Aug 2018 15:09:13 +0200 Subject: LC displaying colors incorrectly in macOS 10.13 In-Reply-To: <956DBA31-9FCD-41DA-9B8A-C115D36AD329@m-r-d.de> References: <956DBA31-9FCD-41DA-9B8A-C115D36AD329@m-r-d.de> Message-ID: <110E8367-61D3-4D77-AE16-C988DC99EEEA@m-r-d.de> Of course i meant mousecolor and not mouse loc. > Am 24.08.2018 um 15:07 schrieb Matthias Rebbe via use-livecode : > > I am running 10.13 and can confirm this with my iMac 5K. The interesting part. > If i change the color profile in system control/monitor then the mouse loc values even change > > See a screen recording i?ve uploaded to Droplr > > Regards, > > Matthias > >> Am 24.08.2018 um 14:28 schrieb Trevor DeVore via use-livecode : >> >> Hi, >> >> In LC 9 (haven't tested earlier versions) I'm seeing incorrect colors for >> LC controls on macOS 10.13 but not 10.12. I filed a bug report with a >> recipe + example stack and I'm wondering if anyone else can confirm my >> findings. I'm not sure if it is software related or hardware related. >> >> Here is the bug url: >> >> https://quality.livecode.com/show_bug.cgi?id=21517 >> >> -- >> Trevor DeVore >> ScreenSteps >> www.screensteps.com >> _______________________________________________ >> use-livecode mailing list >> use-livecode at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From mkoob at rogers.com Fri Aug 24 09:16:44 2018 From: mkoob at rogers.com (Martin Koob) Date: Fri, 24 Aug 2018 08:16:44 -0500 (CDT) Subject: Best way to store videos In-Reply-To: References: <28B3C247-5A40-4BC7-9C9E-AC0DBB851591@mac.com> <7DECCB60-04F9-4EEF-8ABA-941A8B142F61@mac.com> <13F05790-3659-448A-A102-B33EF2DB5942@gmail.com> Message-ID: <1535116604592-0.post@n4.nabble.com> If you go with AWS S3 for storage and .mp4 for videos you can play the videos directly in the LiveCode Player object and LiveCode has commands that allow you to interface with the AWS S3 API. So you can create your whole app in LiveCode without having to use the browser. Search the LC 9 dictionary for the commands that start with AWS and AWSS3 to see what it available to you. Martin Koob -- Sent from: http://runtime-revolution.278305.n4.nabble.com/Revolution-User-f278306.html From rdimola at evergreeninfo.net Fri Aug 24 09:36:40 2018 From: rdimola at evergreeninfo.net (Ralph DiMola) Date: Fri, 24 Aug 2018 09:36:40 -0400 Subject: What happened to the LC 9 UI font? In-Reply-To: <001d01d43b8f$83e48260$8bad8720$@kestner.de> References: <001601d43b87$d95977d0$8c0c6770$@kestner.de> <001d01d43b8f$83e48260$8bad8720$@kestner.de> Message-ID: <000a01d43baf$7fdcf650$7f96e2f0$@net> I have that problem in Win 10 if I do anything while waiting for a stack to load. If I load the stack and wait to open any tool or move any windows or do anything the font will be OK 99% of the time. If I do anything it's a 50-50 thing. I was wondering if it was just my environment? I guess not. Ralph DiMola IT Director Evergreen Information Services rdimola at evergreeninfo.net -----Original Message----- From: use-livecode [mailto:use-livecode-bounces at lists.runrev.com] On Behalf Of Tiemo Hollmann TB via use-livecode Sent: Friday, August 24, 2018 5:48 AM To: 'How to use LiveCode' Cc: Tiemo Hollmann TB Subject: AW: What happened to the LC 9 UI font? Windows 10 -----Urspr?ngliche Nachricht----- Von: use-livecode [mailto:use-livecode-bounces at lists.runrev.com] Im Auftrag von panagiotis merakos via use-livecode Gesendet: Freitag, 24. August 2018 11:06 An: How to use LiveCode Cc: panagiotis merakos Betreff: Re: What happened to the LC 9 UI font? Hello Tiemo, Do you see that on Mac or Windows? Best, Panos -- On Fri, Aug 24, 2018 at 11:53 AM Tiemo Hollmann TB via use-livecode < use-livecode at lists.runrev.com> wrote: > Hello, > > > > Windows 10. > > The standard UI font has changed from LC 8 to LC 9. It looks a little > bit like "bold", compared to LC 8, but it isn't bold, because e.g. > when choosing a IDE menu, the menu text is even "bolder". All texts in > the IDE and in all LC messages (IDE and standalone) like in the answer > dialog are affected. > This way, the texts look a little bit blurry - not nice. I would like > to get the normal font back again. > > > > Is this a bug / feature / option I can change anywhere? > > > > See example screenshot here: www.kestner.de/material/LCUI.png > > > > > Thanks > > Tiemo > > > > > > > > _______________________________________________ > use-livecode mailing list > use-livecode at 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 at 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 at lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode From merakosp at gmail.com Fri Aug 24 09:47:51 2018 From: merakosp at gmail.com (panagiotis merakos) Date: Fri, 24 Aug 2018 16:47:51 +0300 Subject: What happened to the LC 9 UI font? In-Reply-To: <000a01d43baf$7fdcf650$7f96e2f0$@net> References: <001601d43b87$d95977d0$8c0c6770$@kestner.de> <001d01d43b8f$83e48260$8bad8720$@kestner.de> <000a01d43baf$7fdcf650$7f96e2f0$@net> Message-ID: Hi all, I would expect this to be on Mac, as in LC 9 we fixed a related bug ( https://quality.livecode.com/show_bug.cgi?id=21261). I have not seen anything related on Windows. If you have a recipe and a stack please do file a report so as we can fix this issue in a future release. Best regards, Panos -- On Fri, Aug 24, 2018 at 4:34 PM Ralph DiMola via use-livecode < use-livecode at lists.runrev.com> wrote: > I have that problem in Win 10 if I do anything while waiting for a stack to > load. If I load the stack and wait to open any tool or move any windows or > do anything the font will be OK 99% of the time. If I do anything it's a > 50-50 thing. I was wondering if it was just my environment? I guess not. > > Ralph DiMola > IT Director > Evergreen Information Services > rdimola at evergreeninfo.net > > > -----Original Message----- > From: use-livecode [mailto:use-livecode-bounces at lists.runrev.com] On > Behalf > Of Tiemo Hollmann TB via use-livecode > Sent: Friday, August 24, 2018 5:48 AM > To: 'How to use LiveCode' > Cc: Tiemo Hollmann TB > Subject: AW: What happened to the LC 9 UI font? > > Windows 10 > > -----Urspr?ngliche Nachricht----- > Von: use-livecode [mailto:use-livecode-bounces at lists.runrev.com] Im > Auftrag > von panagiotis merakos via use-livecode > Gesendet: Freitag, 24. August 2018 11:06 > An: How to use LiveCode > Cc: panagiotis merakos > Betreff: Re: What happened to the LC 9 UI font? > > Hello Tiemo, > > Do you see that on Mac or Windows? > > Best, > Panos > -- > > On Fri, Aug 24, 2018 at 11:53 AM Tiemo Hollmann TB via use-livecode < > use-livecode at lists.runrev.com> wrote: > > > Hello, > > > > > > > > Windows 10. > > > > The standard UI font has changed from LC 8 to LC 9. It looks a little > > bit like "bold", compared to LC 8, but it isn't bold, because e.g. > > when choosing a IDE menu, the menu text is even "bolder". All texts in > > the IDE and in all LC messages (IDE and standalone) like in the answer > > dialog are affected. > > This way, the texts look a little bit blurry - not nice. I would like > > to get the normal font back again. > > > > > > > > Is this a bug / feature / option I can change anywhere? > > > > > > > > See example screenshot here: www.kestner.de/material/LCUI.png > > > > > > > > > > Thanks > > > > Tiemo > > > > > > > > > > > > > > > > _______________________________________________ > > use-livecode mailing list > > use-livecode at 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 at 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 at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From lists at mangomultimedia.com Fri Aug 24 09:49:17 2018 From: lists at mangomultimedia.com (Trevor DeVore) Date: Fri, 24 Aug 2018 08:49:17 -0500 Subject: LC displaying colors incorrectly in macOS 10.13 In-Reply-To: <956DBA31-9FCD-41DA-9B8A-C115D36AD329@m-r-d.de> References: <956DBA31-9FCD-41DA-9B8A-C115D36AD329@m-r-d.de> Message-ID: On Fri, Aug 24, 2018 at 8:07 AM Matthias Rebbe via use-livecode < use-livecode at lists.runrev.com> wrote: > I am running 10.13 and can confirm this with my iMac 5K. The interesting > part. > If i change the color profile in system control/monitor then the mouse loc > values even change > > See a screen recording i?ve uploaded to Droplr > Thanks for testing and confirming Matthias. To everyone else - it is now a confirmed issue on 10.13 as it has been recreated on three separate machines. -- Trevor DeVore ScreenSteps www.screensteps.com From brahma at hindu.org Fri Aug 24 09:51:06 2018 From: brahma at hindu.org (Sannyasin Brahmanathaswami) Date: Fri, 24 Aug 2018 13:51:06 +0000 Subject: Set the backgroundcolor of all lines a field to null References: <9fd3df46-e3eb-d83e-265c-d2519a71131f@fourthworld.com> Message-ID: @Richard re: Algo: It is a list of audio titles in a category on our web site. most of which the metadata in stored local my sqlLite. The audio and been posted since the last update to the app, is "Recent". It is stored in an local variable/array with all the metadata for each audio, but only the title shown in the field. This user clicks the line. The mouseup returns word two of the clickline ("1" or "49") to sSelectNum I then set the background color of that line to "hilite" it. The behavior(s) take the sSelectNum and the magic happen .. goes to the local variable, determine if is a audio book, song, chant, music, if is the metadata in local dBase, or if is has to get to an API on server if is recent etc.)..show the player and begins the audio. But then, if user change her mind; click another line; we have to shut down the previous operation ...stop the player, clear its url etc. and also unhilite the line. lockscreen set the backcolor of char 1 to - 1 of fld x to empty unlockscreen Looks ideal! On 8/23/18 9:10 AM, Richard Gaskin via use-livecode wrote: > 2000 lines is not much. I suspect any time spent is relating to needing > the redraw the field each time it's touched. Try locking the screen at > the top of the handler and see if that helps. > > Also, my question about the algo itself was unaddressed. If you can > describe what you want it to do I'm sure we can find an efficient solution. > > -- Richard Gaskin From brahma at hindu.org Fri Aug 24 10:19:51 2018 From: brahma at hindu.org (Sannyasin Brahmanathaswami) Date: Fri, 24 Aug 2018 14:19:51 +0000 Subject: fullscreenmode and rect of a substack on mobile device ? References: <004801d43b82$e8a32420$b9e96c60$@FlexibleLearning.com> Message-ID: I caught typo. I get it to work on iOS but not an Android, so I have a ticket to support and that. in an app, there is a lot change from on stack another, I frequently have add time from Android to keep up (never on iOS) This is so straight forward, I have to assume there is bug (just a quess) in the browser widget "knowing" about the screenRect on Android. I get the screenrect ( on a button the answer the screen rect).... but the browser widget does pay attention to this following on preopenstack if isMobile() then mobileSetAllowedOrientations "portrait,portrait upside down,landscape left,landscape" end if end preopenstack ---------------------- # Geometry on preopencard if isMobile() then send "setUpStackRect" to me in 500 milliseconds end if end preopencard on setupStackRect pWidth,pHeight if pWidth="" and pHeight="" then put the screenRect into tRect set the rect of this stack to tRect set the topLeft of this stack to item 1 to 2 of tRect else put the rect of this stack into tRect put pWidth into item 3 of tRect put pHeight into item 4 of tRect set the rect of this stack to tRect end if set bottom of group "footer" to item 4 of tRect set loc group "footer" to round((item 3 of tRect)/2),(item 4 of tRect)-25 subtract 50 from item 4 of tRect set the rect of widget "body" to tRect set the topleft of widget "body" to item 1 to 2 of tRect end setupStackRect on resizeStack pNewWidth, pNewHeight, pOldWidth, pOldHeight # check it is landscape, turn off the navigation Bar if pNewWidth > pNewHeight then -- landscape put 0, 0, pNewWidth, pNewHeight into tBrowserRect set loc widget "body" to ( round(pNewWidth/2), round(pNewHeight/2) ) hide group "footer" else put 0, 0, pNewWidth, pNewHeight - 50 into tBrowserRect set loc group "footer" to ( round(pNewWidth/2),pNewHeight-25) show group "footer" end if set the rect of widget "body" of me to tBrowserRect end resizeStack On 8/23/18 10:17 PM, FlexibleLearning.com via use-livecode wrote: First, I think you have a typo where "/25" should be "-25"... Second, for safety, ensure integer values... set loc group "footer" to round((item 2 of tRect)/2), (item 4 of tRect)-25 Third, if still not working on preOpenstack, try... on preopenstack if isMobile() then mobileSetAllowedOrientations "portrait,portrait upside down,landscape left,landscape right" end if hide this stack end preopenstack on openStack setupStackRect show this stack end openStack Hugh From toolbook at kestner.de Fri Aug 24 10:26:19 2018 From: toolbook at kestner.de (Tiemo Hollmann TB) Date: Fri, 24 Aug 2018 16:26:19 +0200 Subject: AW: What happened to the LC 9 UI font? In-Reply-To: References: <001601d43b87$d95977d0$8c0c6770$@kestner.de> <001d01d43b8f$83e48260$8bad8720$@kestner.de> <000a01d43baf$7fdcf650$7f96e2f0$@net> Message-ID: <003d01d43bb6$6ce412c0$46ac3840$@kestner.de> It is not stack related. I just start LC 9 and get the IDE menu with the strange font - without having opened any stack. Parallel opening LC 8, the LC 8 menu is having the correct standard font. Creating a stack with LC 9, it inherits it's strange font to the answer dialogs of the standalone. Tiemo -----Urspr?ngliche Nachricht----- Von: use-livecode [mailto:use-livecode-bounces at lists.runrev.com] Im Auftrag von panagiotis merakos via use-livecode Gesendet: Freitag, 24. August 2018 15:48 An: How to use LiveCode Cc: panagiotis merakos Betreff: Re: What happened to the LC 9 UI font? Hi all, I would expect this to be on Mac, as in LC 9 we fixed a related bug ( https://quality.livecode.com/show_bug.cgi?id=21261). I have not seen anything related on Windows. If you have a recipe and a stack please do file a report so as we can fix this issue in a future release. Best regards, Panos -- On Fri, Aug 24, 2018 at 4:34 PM Ralph DiMola via use-livecode < use-livecode at lists.runrev.com> wrote: > I have that problem in Win 10 if I do anything while waiting for a > stack to load. If I load the stack and wait to open any tool or move > any windows or do anything the font will be OK 99% of the time. If I > do anything it's a > 50-50 thing. I was wondering if it was just my environment? I guess not. > > Ralph DiMola > IT Director > Evergreen Information Services > rdimola at evergreeninfo.net > > > -----Original Message----- > From: use-livecode [mailto:use-livecode-bounces at lists.runrev.com] On > Behalf Of Tiemo Hollmann TB via use-livecode > Sent: Friday, August 24, 2018 5:48 AM > To: 'How to use LiveCode' > Cc: Tiemo Hollmann TB > Subject: AW: What happened to the LC 9 UI font? > > Windows 10 > > -----Urspr?ngliche Nachricht----- > Von: use-livecode [mailto:use-livecode-bounces at lists.runrev.com] Im > Auftrag von panagiotis merakos via use-livecode > Gesendet: Freitag, 24. August 2018 11:06 > An: How to use LiveCode > Cc: panagiotis merakos > Betreff: Re: What happened to the LC 9 UI font? > > Hello Tiemo, > > Do you see that on Mac or Windows? > > Best, > Panos > -- > > On Fri, Aug 24, 2018 at 11:53 AM Tiemo Hollmann TB via use-livecode < > use-livecode at lists.runrev.com> wrote: > > > Hello, > > > > > > > > Windows 10. > > > > The standard UI font has changed from LC 8 to LC 9. It looks a > > little bit like "bold", compared to LC 8, but it isn't bold, because e.g. > > when choosing a IDE menu, the menu text is even "bolder". All texts > > in the IDE and in all LC messages (IDE and standalone) like in the > > answer dialog are affected. > > This way, the texts look a little bit blurry - not nice. I would > > like to get the normal font back again. > > > > > > > > Is this a bug / feature / option I can change anywhere? > > > > > > > > See example screenshot here: www.kestner.de/material/LCUI.png > > > > > > > > > > Thanks > > > > Tiemo > > > > > > > > > > > > > > > > _______________________________________________ > > use-livecode mailing list > > use-livecode at 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 at 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 at 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 at 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 at lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode From bobsneidar at iotecdigital.com Fri Aug 24 10:40:23 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Fri, 24 Aug 2018 14:40:23 +0000 Subject: What happened to the LC 9 UI font? In-Reply-To: References: <001601d43b87$d95977d0$8c0c6770$@kestner.de> Message-ID: <9E8DBD4B-E63B-4455-8392-2AB2CD42C722@iotecdigital.com> I had the same issue when upgrading. I ended up setting the stack font, size and style to something native to both operating systems. Bob S > On Aug 24, 2018, at 02:06 , panagiotis merakos via use-livecode wrote: > > Hello Tiemo, > > Do you see that on Mac or Windows? > > Best, > Panos > -- > > On Fri, Aug 24, 2018 at 11:53 AM Tiemo Hollmann TB via use-livecode < > use-livecode at lists.runrev.com> wrote: > >> Hello, >> >> >> >> Windows 10. >> >> The standard UI font has changed from LC 8 to LC 9. It looks a little bit >> like "bold", compared to LC 8, but it isn't bold, because e.g. when >> choosing >> a IDE menu, the menu text is even "bolder". All texts in the IDE and in all >> LC messages (IDE and standalone) like in the answer dialog are affected. >> This way, the texts look a little bit blurry - not nice. I would like to >> get >> the normal font back again. >> >> >> >> Is this a bug / feature / option I can change anywhere? >> >> >> >> See example screenshot here: www.kestner.de/material/LCUI.png >> >> >> >> >> Thanks >> >> Tiemo >> >> >> >> >> >> >> >> _______________________________________________ >> use-livecode mailing list >> use-livecode at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From bobsneidar at iotecdigital.com Fri Aug 24 10:41:10 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Fri, 24 Aug 2018 14:41:10 +0000 Subject: What happened to the LC 9 UI font? In-Reply-To: <003d01d43bb6$6ce412c0$46ac3840$@kestner.de> References: <001601d43b87$d95977d0$8c0c6770$@kestner.de> <001d01d43b8f$83e48260$8bad8720$@kestner.de> <000a01d43baf$7fdcf650$7f96e2f0$@net> <003d01d43bb6$6ce412c0$46ac3840$@kestner.de> Message-ID: <34442BE2-5BA4-4BD5-B6F6-8A35968789A8@iotecdigital.com> Sorry didn't read the whole thread first. Bob S > On Aug 24, 2018, at 07:26 , Tiemo Hollmann TB via use-livecode wrote: > > It is not stack related. > > I just start LC 9 and get the IDE menu with the strange font - without having opened any stack. > Parallel opening LC 8, the LC 8 menu is having the correct standard font. > > Creating a stack with LC 9, it inherits it's strange font to the answer dialogs of the standalone. > > Tiemo From waprothero at gmail.com Fri Aug 24 15:07:43 2018 From: waprothero at gmail.com (William Prothero) Date: Fri, 24 Aug 2018 12:07:43 -0700 Subject: Best way to store videos In-Reply-To: <1535116604592-0.post@n4.nabble.com> References: <28B3C247-5A40-4BC7-9C9E-AC0DBB851591@mac.com> <7DECCB60-04F9-4EEF-8ABA-941A8B142F61@mac.com> <13F05790-3659-448A-A102-B33EF2DB5942@gmail.com> <1535116604592-0.post@n4.nabble.com> Message-ID: Martin: Thanks for the input. What I need, though is to display the same video on a web page, or in a livecode app. It?s the web page in a wordpress site that is the real problem. Best, Bill > On Aug 24, 2018, at 6:16 AM, Martin Koob via use-livecode wrote: > > If you go with AWS S3 for storage and .mp4 for videos you can play the videos > directly in the LiveCode Player object and LiveCode has commands that allow > you to interface with the AWS S3 API. So you can create your whole app in > LiveCode without having to use the browser. Search the LC 9 dictionary for > the commands that start with AWS and AWSS3 to see what it available to you. > > Martin Koob > > > > > > > -- > Sent from: http://runtime-revolution.278305.n4.nabble.com/Revolution-User-f278306.html > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From jacque at hyperactivesw.com Fri Aug 24 15:39:16 2018 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Fri, 24 Aug 2018 14:39:16 -0500 Subject: fullscreenmode and rect of a substack on mobile device ? In-Reply-To: References: <3AD3CF89-6E4C-4608-A9FC-E56DDADFD115@laposte.net> <99f39315-d93c-ba00-db5f-423ef3d209c1@fourthworld.com> <30FD572A-30CA-40CB-B1C0-020AEEDC6E4F@laposte.net> <1328e2f1-58fa-6064-e95f-10bf0638da95@hyperactivesw.com> <1824CAC0-CE27-4111-8BD1-8A048BB30790@laposte.net> <41d8b732-0ac1-3391-726e-1897b036916e@hyperactivesw.com> <9f843be1-a551-1140-166b-3f24400f5e5f@hyperactivesw.com> Message-ID: On 8/23/18 8:30 PM, Brian Milby via use-livecode wrote: > The original stack worked fine on my iPad (since it was sized at the same > resolution). Maybe I chose the wrong simulator, but on an iPad Air it failed to resize correctly with or without FSM. I looked up the screenrect and it claimed to be the same size as the stack. So maybe the problem is the simulator? -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com From jacque at hyperactivesw.com Fri Aug 24 15:44:08 2018 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Fri, 24 Aug 2018 14:44:08 -0500 Subject: Best way to store videos In-Reply-To: <1535116604592-0.post@n4.nabble.com> References: <28B3C247-5A40-4BC7-9C9E-AC0DBB851591@mac.com> <7DECCB60-04F9-4EEF-8ABA-941A8B142F61@mac.com> <13F05790-3659-448A-A102-B33EF2DB5942@gmail.com> <1535116604592-0.post@n4.nabble.com> Message-ID: On 8/24/18 8:16 AM, Martin Koob via use-livecode wrote: > Search the LC 9 dictionary for > the commands that start with AWS and AWSS3 to see what it available to you. Mac and iOS only though. :( -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com From brian at milby7.com Fri Aug 24 15:56:12 2018 From: brian at milby7.com (Brian Milby) Date: Fri, 24 Aug 2018 14:56:12 -0500 Subject: fullscreenmode and rect of a substack on mobile device ? In-Reply-To: References: <3AD3CF89-6E4C-4608-A9FC-E56DDADFD115@laposte.net> <99f39315-d93c-ba00-db5f-423ef3d209c1@fourthworld.com> <30FD572A-30CA-40CB-B1C0-020AEEDC6E4F@laposte.net> <1328e2f1-58fa-6064-e95f-10bf0638da95@hyperactivesw.com> <1824CAC0-CE27-4111-8BD1-8A048BB30790@laposte.net> <41d8b732-0ac1-3391-726e-1897b036916e@hyperactivesw.com> <9f843be1-a551-1140-166b-3f24400f5e5f@hyperactivesw.com> Message-ID: <2c04f777-aaf6-4926-8abb-5fb90eac61cc@Spark> I never even try the sim. I?ll give it a try this weekend though. None of the regular iPads should require a resize. Only the pro models have a different rect. Thanks, Brian On Aug 24, 2018, 2:39 PM -0500, J. Landman Gay via use-livecode , wrote: > On 8/23/18 8:30 PM, Brian Milby via use-livecode wrote: > > The original stack worked fine on my iPad (since it was sized at the same > > resolution). > > Maybe I chose the wrong simulator, but on an iPad Air it failed to > resize correctly with or without FSM. I looked up the screenrect and it > claimed to be the same size as the stack. So maybe the problem is the > simulator? > > -- > Jacqueline Landman Gay | jacque at hyperactivesw.com > HyperActive Software | http://www.hyperactivesw.com > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From jacque at hyperactivesw.com Fri Aug 24 16:21:35 2018 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Fri, 24 Aug 2018 15:21:35 -0500 Subject: Android permissions Message-ID: <43304bf7-3776-563c-9bcc-fa2156003d6e@hyperactivesw.com> I was happy to see the new functions for working with Android permissions. The release notes say: "Apps built with LC 9.0.1 do support this new permissions model, and request permissions automatically when the app actually requires the services or data protected by the services." It sounds like the permissions dialog will happen without any scripting. Does this mean the associated commands aren't usually necessary? When would I need to use AndroidRequestPermission()? Also, should I check a permission before every usage to be sure it's enabled? Or do I get an error message? -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com From monte at appisle.net Fri Aug 24 16:42:51 2018 From: monte at appisle.net (Monte Goulding) Date: Sat, 25 Aug 2018 06:42:51 +1000 Subject: Best way to store videos In-Reply-To: References: <28B3C247-5A40-4BC7-9C9E-AC0DBB851591@mac.com> <7DECCB60-04F9-4EEF-8ABA-941A8B142F61@mac.com> <13F05790-3659-448A-A102-B33EF2DB5942@gmail.com> <1535116604592-0.post@n4.nabble.com> Message-ID: > On 25 Aug 2018, at 5:44 am, J. Landman Gay via use-livecode wrote: > >> Search the LC 9 dictionary for >> the commands that start with AWS and AWSS3 to see what it available to you. > > Mac and iOS only though. :( mergAWS is Mac and iOS but LC 9 has a script library that is cross platform. Cheers Monte From bobsneidar at iotecdigital.com Fri Aug 24 16:49:46 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Fri, 24 Aug 2018 20:49:46 +0000 Subject: Load data into a tree view Message-ID: Hi all. Given an XML file that I can assume is a valid structure, how would I get that into a tree view?? I looked online for a tutorial on the tree widget, I looked at the properties of the actual tree widget, I searched the dictionary, but I cannot find out how to load existing XML data into a tree. I could write an XML parser of my own or use the built in commands, but there is nothing I can find on how to interact programmatically with a tree view. Bob S From brian at milby7.com Fri Aug 24 16:50:25 2018 From: brian at milby7.com (Brian Milby) Date: Fri, 24 Aug 2018 15:50:25 -0500 Subject: fullscreenmode and rect of a substack on mobile device ? In-Reply-To: <2c04f777-aaf6-4926-8abb-5fb90eac61cc@Spark> References: <3AD3CF89-6E4C-4608-A9FC-E56DDADFD115@laposte.net> <99f39315-d93c-ba00-db5f-423ef3d209c1@fourthworld.com> <30FD572A-30CA-40CB-B1C0-020AEEDC6E4F@laposte.net> <1328e2f1-58fa-6064-e95f-10bf0638da95@hyperactivesw.com> <1824CAC0-CE27-4111-8BD1-8A048BB30790@laposte.net> <41d8b732-0ac1-3391-726e-1897b036916e@hyperactivesw.com> <9f843be1-a551-1140-166b-3f24400f5e5f@hyperactivesw.com> <2c04f777-aaf6-4926-8abb-5fb90eac61cc@Spark> Message-ID: I was just able to test in the iPad Air. It does not need to resize though. In order to do an effective test, I shrank the stack by 100 px (just moved all the stuff at the bottom up that much and shortened the stack height). At that point, if I included my "fixBackground" handler in the (pre)openCard/Stack, then it would end up with the whole screen orange. Using the button would move the lines to the top/bottom, but I just use my handler and the last 2 lines to move the lines. On Fri, Aug 24, 2018 at 2:56 PM, Brian Milby wrote: > I never even try the sim. I?ll give it a try this weekend though. > None of the regular iPads should require a resize. Only the pro models > have a different rect. > > Thanks, > Brian > On Aug 24, 2018, 2:39 PM -0500, J. Landman Gay via use-livecode < > use-livecode at lists.runrev.com>, wrote: > > On 8/23/18 8:30 PM, Brian Milby via use-livecode wrote: > > The original stack worked fine on my iPad (since it was sized at the same > resolution). > > > Maybe I chose the wrong simulator, but on an iPad Air it failed to > resize correctly with or without FSM. I looked up the screenrect and it > claimed to be the same size as the stack. So maybe the problem is the > simulator? > > -- > Jacqueline Landman Gay | jacque at hyperactivesw.com > HyperActive Software | http://www.hyperactivesw.com > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > > From bobsneidar at iotecdigital.com Fri Aug 24 16:51:24 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Fri, 24 Aug 2018 20:51:24 +0000 Subject: Load data into a tree view In-Reply-To: References: Message-ID: <6B84190F-0EB0-4ED8-95C6-CB19375B492C@iotecdigital.com> Pfft. Never mind I found the Tree View in the dictinoary. I think it only takes array data though. Bob S > On Aug 24, 2018, at 13:49 , Bob Sneidar via use-livecode wrote: > > Hi all. > > Given an XML file that I can assume is a valid structure, how would I get that into a tree view?? I looked online for a tutorial on the tree widget, I looked at the properties of the actual tree widget, I searched the dictionary, but I cannot find out how to load existing XML data into a tree. > > I could write an XML parser of my own or use the built in commands, but there is nothing I can find on how to interact programmatically with a tree view. > > Bob S > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From monte at appisle.net Fri Aug 24 16:55:09 2018 From: monte at appisle.net (Monte Goulding) Date: Sat, 25 Aug 2018 06:55:09 +1000 Subject: LC displaying colors incorrectly in macOS 10.13 In-Reply-To: References: <956DBA31-9FCD-41DA-9B8A-C115D36AD329@m-r-d.de> Message-ID: <5FEB772C-FAF6-403B-B29F-AFEBE735A156@appisle.net> > On 24 Aug 2018, at 11:49 pm, Trevor DeVore via use-livecode wrote: > > Thanks for testing and confirming Matthias. To everyone else - it is now a > confirmed issue on 10.13 as it has been recreated on three separate > machines. Do we know if it?s the mouseColor returning an incorrect value or if it?s the actual control being the wrong color? Cheers Monte From brian at milby7.com Fri Aug 24 16:53:18 2018 From: brian at milby7.com (Brian Milby) Date: Fri, 24 Aug 2018 15:53:18 -0500 Subject: Load data into a tree view In-Reply-To: <6B84190F-0EB0-4ED8-95C6-CB19375B492C@iotecdigital.com> References: <6B84190F-0EB0-4ED8-95C6-CB19375B492C@iotecdigital.com> Message-ID: Correct, you populate the tree with an array. Thanks, Brian On Aug 24, 2018, 3:51 PM -0500, Bob Sneidar via use-livecode , wrote: > Pfft. Never mind I found the Tree View in the dictinoary. I think it only takes array data though. > > Bob S > > > > On Aug 24, 2018, at 13:49 , Bob Sneidar via use-livecode wrote: > > > > Hi all. > > > > Given an XML file that I can assume is a valid structure, how would I get that into a tree view?? I looked online for a tutorial on the tree widget, I looked at the properties of the actual tree widget, I searched the dictionary, but I cannot find out how to load existing XML data into a tree. > > > > I could write an XML parser of my own or use the built in commands, but there is nothing I can find on how to interact programmatically with a tree view. > > > > Bob S > > > > > > _______________________________________________ > > use-livecode mailing list > > use-livecode at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From bobsneidar at iotecdigital.com Fri Aug 24 16:55:34 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Fri, 24 Aug 2018 20:55:34 +0000 Subject: Load data into a tree view In-Reply-To: References: <6B84190F-0EB0-4ED8-95C6-CB19375B492C@iotecdigital.com> Message-ID: <73EEBEAE-D90E-4ACB-9D78-756E8A5FA574@iotecdigital.com> Thanks Brian. Now I need an XML to Array parser. Looks like I will have to write one myself. Good time to get into the XML API. Bob S > On Aug 24, 2018, at 13:53 , Brian Milby via use-livecode wrote: > > Correct, you populate the tree with an array. > > Thanks, > Brian > On Aug 24, 2018, 3:51 PM -0500, Bob Sneidar via use-livecode , wrote: >> Pfft. Never mind I found the Tree View in the dictinoary. I think it only takes array data though. >> >> Bob S >> >> >>> On Aug 24, 2018, at 13:49 , Bob Sneidar via use-livecode wrote: >>> >>> Hi all. >>> >>> Given an XML file that I can assume is a valid structure, how would I get that into a tree view?? I looked online for a tutorial on the tree widget, I looked at the properties of the actual tree widget, I searched the dictionary, but I cannot find out how to load existing XML data into a tree. >>> >>> I could write an XML parser of my own or use the built in commands, but there is nothing I can find on how to interact programmatically with a tree view. >>> >>> Bob S >>> >>> >>> _______________________________________________ >>> use-livecode mailing list >>> use-livecode at 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 at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From monte at appisle.net Fri Aug 24 17:04:14 2018 From: monte at appisle.net (Monte Goulding) Date: Sat, 25 Aug 2018 07:04:14 +1000 Subject: LC displaying colors incorrectly in macOS 10.13 In-Reply-To: <5FEB772C-FAF6-403B-B29F-AFEBE735A156@appisle.net> References: <956DBA31-9FCD-41DA-9B8A-C115D36AD329@m-r-d.de> <5FEB772C-FAF6-403B-B29F-AFEBE735A156@appisle.net> Message-ID: <9A6FB709-8980-4473-9854-7BE9D1EA8658@appisle.net> > On 25 Aug 2018, at 6:55 am, Monte Goulding via use-livecode wrote: > > Do we know if it?s the mouseColor returning an incorrect value or if it?s the actual control being the wrong color? If I enter the same RGB values into a html page that has a color picker then setup a send loop that checks the mouseColor I actually get the same wrong RGB value that LC reports. This says to me the issue is not with the display of LC controls but with the mouseColor function. More specifically it is likely to be with snapshot which is used by mouseColor. Cheers Monte From matthias_livecode_150811 at m-r-d.de Fri Aug 24 17:09:04 2018 From: matthias_livecode_150811 at m-r-d.de (Matthias Rebbe) Date: Fri, 24 Aug 2018 23:09:04 +0200 Subject: LC displaying colors incorrectly in macOS 10.13 In-Reply-To: <5FEB772C-FAF6-403B-B29F-AFEBE735A156@appisle.net> References: <956DBA31-9FCD-41DA-9B8A-C115D36AD329@m-r-d.de> <5FEB772C-FAF6-403B-B29F-AFEBE735A156@appisle.net> Message-ID: <5A05548C-6C36-4AE6-87ED-A5149A485170@m-r-d.de> I?ve tested now with Apple?s Digital Color Meter App. And you are right. It seems the mouse color values are the correct ones. See screenshot http://d.qck.biz/vCD6n7 But anyway. It?s a bug Regards, Matthias > Am 24.08.2018 um 22:55 schrieb Monte Goulding via use-livecode : > > > >> On 24 Aug 2018, at 11:49 pm, Trevor DeVore via use-livecode wrote: >> >> Thanks for testing and confirming Matthias. To everyone else - it is now a >> confirmed issue on 10.13 as it has been recreated on three separate >> machines. > > Do we know if it?s the mouseColor returning an incorrect value or if it?s the actual control being the wrong color? > > Cheers > > Monte > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From jacque at hyperactivesw.com Fri Aug 24 17:09:21 2018 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Fri, 24 Aug 2018 16:09:21 -0500 Subject: Best way to store videos In-Reply-To: References: <28B3C247-5A40-4BC7-9C9E-AC0DBB851591@mac.com> <7DECCB60-04F9-4EEF-8ABA-941A8B142F61@mac.com> <13F05790-3659-448A-A102-B33EF2DB5942@gmail.com> <1535116604592-0.post@n4.nabble.com> Message-ID: <9b029754-1e77-3ffc-5045-8910ba1da99a@hyperactivesw.com> On 8/24/18 3:42 PM, Monte Goulding via use-livecode wrote: > > >> On 25 Aug 2018, at 5:44 am, J. Landman Gay via use-livecode wrote: >> >>> Search the LC 9 dictionary for >>> the commands that start with AWS and AWSS3 to see what it available to you. >> >> Mac and iOS only though. :( > > mergAWS is Mac and iOS but LC 9 has a script library that is cross platform. Oh cool. :) I was trying out Tiny Dictionary and it isn't in there. Just found it in the main dictionary. -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com From matthias_livecode_150811 at m-r-d.de Fri Aug 24 17:12:03 2018 From: matthias_livecode_150811 at m-r-d.de (Matthias Rebbe) Date: Fri, 24 Aug 2018 23:12:03 +0200 Subject: LC displaying colors incorrectly in macOS 10.13 In-Reply-To: <5A05548C-6C36-4AE6-87ED-A5149A485170@m-r-d.de> References: <956DBA31-9FCD-41DA-9B8A-C115D36AD329@m-r-d.de> <5FEB772C-FAF6-403B-B29F-AFEBE735A156@appisle.net> <5A05548C-6C36-4AE6-87ED-A5149A485170@m-r-d.de> Message-ID: <7779C6C4-EA42-4B26-B611-575CFD3F2A3F@m-r-d.de> Sorry, i?ve posted a wrong link. This is the correct one http://d.qck.biz/4DmjLV > Am 24.08.2018 um 23:09 schrieb Matthias Rebbe via use-livecode : > > I?ve tested now with Apple?s Digital Color Meter App. > > And you are right. It seems the mouse color values are the correct ones. > > See screenshot http://d.qck.biz/vCD6n7 > > But anyway. It?s a bug > > Regards, > > Matthias > > > > >> Am 24.08.2018 um 22:55 schrieb Monte Goulding via use-livecode : >> >> >> >>> On 24 Aug 2018, at 11:49 pm, Trevor DeVore via use-livecode wrote: >>> >>> Thanks for testing and confirming Matthias. To everyone else - it is now a >>> confirmed issue on 10.13 as it has been recreated on three separate >>> machines. >> >> Do we know if it?s the mouseColor returning an incorrect value or if it?s the actual control being the wrong color? >> >> Cheers >> >> Monte >> _______________________________________________ >> use-livecode mailing list >> use-livecode at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From merakosp at gmail.com Fri Aug 24 17:23:53 2018 From: merakosp at gmail.com (panagiotis merakos) Date: Sat, 25 Aug 2018 00:23:53 +0300 Subject: Android permissions In-Reply-To: <43304bf7-3776-563c-9bcc-fa2156003d6e@hyperactivesw.com> References: <43304bf7-3776-563c-9bcc-fa2156003d6e@hyperactivesw.com> Message-ID: Hello Jacque, Currently all the commands/functions that do stuff which will require special permissions will trigger the permission dialog automatically. Then only exception is commands/functions that exist in a LCB library. Currently the only example that falls into this category is the Android Audio Recorder Library. So before you call , you have to explicitly ask for permission to record audio, so you'll need to call . The same holds for LCB libraries that we might add in the future, or for any other APIs you might have wrapped in LCB using FFI, i.e. you have to explicitly ask for any special permissions. *>>>>>>>Also, should I check a permission before every usage to be sure it's enabled? Or do I get an error message?* If the app tries to do something that requires permission X for the first time, a dialog will be shown asking for permission X. If the user chooses to not grant permission X, the dialog will be shown again next time the app tries to do something that requires permission X, I think the dialog has a checkbox "Do not ask me again". So in this case, it might be useful to add a check if permission X has been granted, and if not, show an appropriate message. Hope this helps, Panos -- On Fri, Aug 24, 2018 at 11:22 PM J. Landman Gay via use-livecode < use-livecode at lists.runrev.com> wrote: > I was happy to see the new functions for working with Android > permissions. The release notes say: > > "Apps built with LC 9.0.1 do support this new permissions model, and > request permissions automatically when the app actually requires the > services or data protected by the services." > > It sounds like the permissions dialog will happen without any scripting. > Does this mean the associated commands aren't usually necessary? When > would I need to use AndroidRequestPermission()? Also, should I check a > permission before every usage to be sure it's enabled? Or do I get an > error message? > > -- > Jacqueline Landman Gay | jacque at hyperactivesw.com > HyperActive Software | http://www.hyperactivesw.com > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From jacque at hyperactivesw.com Fri Aug 24 17:26:30 2018 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Fri, 24 Aug 2018 16:26:30 -0500 Subject: fullscreenmode and rect of a substack on mobile device ? In-Reply-To: References: <3AD3CF89-6E4C-4608-A9FC-E56DDADFD115@laposte.net> <99f39315-d93c-ba00-db5f-423ef3d209c1@fourthworld.com> <30FD572A-30CA-40CB-B1C0-020AEEDC6E4F@laposte.net> <1328e2f1-58fa-6064-e95f-10bf0638da95@hyperactivesw.com> <1824CAC0-CE27-4111-8BD1-8A048BB30790@laposte.net> <41d8b732-0ac1-3391-726e-1897b036916e@hyperactivesw.com> <9f843be1-a551-1140-166b-3f24400f5e5f@hyperactivesw.com> <2c04f777-aaf6-4926-8abb-5fb90eac61cc@Spark> Message-ID: <856297c9-ae29-e3b9-533e-8479dcd84003@hyperactivesw.com> That's the deal though...it shouldn't need to resize at all, but in the simulator it doesn't fill the screen. The XCode simulators are really fast though. If you ever do get into Android, avoid their emulator, it's dog slow. This thread is approaching cheese dimensions. I hope non-interested parties have good email filters. ;) On 8/24/18 3:50 PM, Brian Milby via use-livecode wrote: > I was just able to test in the iPad Air. It does not need to resize > though. In order to do an effective test, I shrank the stack by 100 px > (just moved all the stuff at the bottom up that much and shortened the > stack height). > > At that point, if I included my "fixBackground" handler in the > (pre)openCard/Stack, then it would end up with the whole screen orange. > Using the button would move the lines to the top/bottom, but I just use my > handler and the last 2 lines to move the lines. > > On Fri, Aug 24, 2018 at 2:56 PM, Brian Milby wrote: > >> I never even try the sim. I?ll give it a try this weekend though. >> None of the regular iPads should require a resize. Only the pro models >> have a different rect. >> >> Thanks, >> Brian >> On Aug 24, 2018, 2:39 PM -0500, J. Landman Gay via use-livecode < >> use-livecode at lists.runrev.com>, wrote: >> >> On 8/23/18 8:30 PM, Brian Milby via use-livecode wrote: >> >> The original stack worked fine on my iPad (since it was sized at the same >> resolution). >> >> >> Maybe I chose the wrong simulator, but on an iPad Air it failed to >> resize correctly with or without FSM. I looked up the screenrect and it >> claimed to be the same size as the stack. So maybe the problem is the >> simulator? >> >> -- >> Jacqueline Landman Gay | jacque at hyperactivesw.com >> HyperActive Software | http://www.hyperactivesw.com >> >> _______________________________________________ >> use-livecode mailing list >> use-livecode at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com From jacque at hyperactivesw.com Fri Aug 24 17:32:04 2018 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Fri, 24 Aug 2018 16:32:04 -0500 Subject: Android permissions In-Reply-To: References: <43304bf7-3776-563c-9bcc-fa2156003d6e@hyperactivesw.com> Message-ID: Thanks Panos, that helps a lot. I like the automatic dialog, very LC-esque. :) On 8/24/18 4:23 PM, panagiotis merakos via use-livecode wrote: > Hello Jacque, > > Currently all the commands/functions that do stuff which will require > special permissions will trigger the permission dialog automatically. > > Then only exception is commands/functions that exist in a LCB library. > Currently the only example that falls into this category is the Android > Audio Recorder Library. So before you call , > you have to explicitly ask for permission to record audio, so you'll need > to call . > > The same holds for LCB libraries that we might add in the future, or for > any other APIs you might have wrapped in LCB using FFI, i.e. you have to > explicitly ask for any special permissions. > > *>>>>>>>Also, should I check a permission before every usage to be sure > it's enabled? Or do I get an error message?* > If the app tries to do something that requires permission X for the first > time, a dialog will be shown asking for permission X. If the user chooses > to not grant permission X, the dialog will be shown again next time the app > tries to do something that requires permission X, I think the dialog has a > checkbox "Do not ask me again". So in this case, it might be useful to add > a check if permission X has been granted, and if not, show an appropriate > message. > > Hope this helps, > Panos > -- > > > > On Fri, Aug 24, 2018 at 11:22 PM J. Landman Gay via use-livecode < > use-livecode at lists.runrev.com> wrote: > >> I was happy to see the new functions for working with Android >> permissions. The release notes say: >> >> "Apps built with LC 9.0.1 do support this new permissions model, and >> request permissions automatically when the app actually requires the >> services or data protected by the services." >> >> It sounds like the permissions dialog will happen without any scripting. >> Does this mean the associated commands aren't usually necessary? When >> would I need to use AndroidRequestPermission()? Also, should I check a >> permission before every usage to be sure it's enabled? Or do I get an >> error message? >> >> -- >> Jacqueline Landman Gay | jacque at hyperactivesw.com >> HyperActive Software | http://www.hyperactivesw.com >> >> _______________________________________________ >> use-livecode mailing list >> use-livecode at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com From brian at milby7.com Fri Aug 24 17:38:00 2018 From: brian at milby7.com (Brian Milby) Date: Fri, 24 Aug 2018 16:38:00 -0500 Subject: fullscreenmode and rect of a substack on mobile device ? In-Reply-To: <856297c9-ae29-e3b9-533e-8479dcd84003@hyperactivesw.com> References: <3AD3CF89-6E4C-4608-A9FC-E56DDADFD115@laposte.net> <99f39315-d93c-ba00-db5f-423ef3d209c1@fourthworld.com> <30FD572A-30CA-40CB-B1C0-020AEEDC6E4F@laposte.net> <1328e2f1-58fa-6064-e95f-10bf0638da95@hyperactivesw.com> <1824CAC0-CE27-4111-8BD1-8A048BB30790@laposte.net> <41d8b732-0ac1-3391-726e-1897b036916e@hyperactivesw.com> <9f843be1-a551-1140-166b-3f24400f5e5f@hyperactivesw.com> <2c04f777-aaf6-4926-8abb-5fb90eac61cc@Spark> <856297c9-ae29-e3b9-533e-8479dcd84003@hyperactivesw.com> Message-ID: <9222e7d8-41e0-461f-b569-4cc9f7c8fda6@Spark> Hmmmm So it reports that the stack and screen are 768/1024 yet does not fill the screen? That is very odd. For me it did fill the screen until I changed it to be short on purpose. And yes, the sim is pretty fast once it boots. Thanks, Brian On Aug 24, 2018, 4:26 PM -0500, J. Landman Gay via use-livecode , wrote: > That's the deal though...it shouldn't need to resize at all, but in the > simulator it doesn't fill the screen. The XCode simulators are really > fast though. If you ever do get into Android, avoid their emulator, it's > dog slow. > > This thread is approaching cheese dimensions. I hope non-interested > parties have good email filters. ;) > > > On 8/24/18 3:50 PM, Brian Milby via use-livecode wrote: > > I was just able to test in the iPad Air. It does not need to resize > > though. In order to do an effective test, I shrank the stack by 100 px > > (just moved all the stuff at the bottom up that much and shortened the > > stack height). > > > > At that point, if I included my "fixBackground" handler in the > > (pre)openCard/Stack, then it would end up with the whole screen orange. > > Using the button would move the lines to the top/bottom, but I just use my > > handler and the last 2 lines to move the lines. > > > > On Fri, Aug 24, 2018 at 2:56 PM, Brian Milby wrote: > > > > > I never even try the sim. I?ll give it a try this weekend though. > > > None of the regular iPads should require a resize. Only the pro models > > > have a different rect. > > > > > > Thanks, > > > Brian > > > On Aug 24, 2018, 2:39 PM -0500, J. Landman Gay via use-livecode < > > > use-livecode at lists.runrev.com>, wrote: > > > > > > On 8/23/18 8:30 PM, Brian Milby via use-livecode wrote: > > > > > > The original stack worked fine on my iPad (since it was sized at the same > > > resolution). > > > > > > > > > Maybe I chose the wrong simulator, but on an iPad Air it failed to > > > resize correctly with or without FSM. I looked up the screenrect and it > > > claimed to be the same size as the stack. So maybe the problem is the > > > simulator? > > > > > > -- > > > Jacqueline Landman Gay | jacque at hyperactivesw.com > > > HyperActive Software | http://www.hyperactivesw.com > > > > > > _______________________________________________ > > > use-livecode mailing list > > > use-livecode at 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 at lists.runrev.com > > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > > http://lists.runrev.com/mailman/listinfo/use-livecode > > > > > -- > Jacqueline Landman Gay | jacque at hyperactivesw.com > HyperActive Software | http://www.hyperactivesw.com > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From lists at mangomultimedia.com Fri Aug 24 17:42:10 2018 From: lists at mangomultimedia.com (Trevor DeVore) Date: Fri, 24 Aug 2018 16:42:10 -0500 Subject: LC displaying colors incorrectly in macOS 10.13 In-Reply-To: <9A6FB709-8980-4473-9854-7BE9D1EA8658@appisle.net> References: <956DBA31-9FCD-41DA-9B8A-C115D36AD329@m-r-d.de> <5FEB772C-FAF6-403B-B29F-AFEBE735A156@appisle.net> <9A6FB709-8980-4473-9854-7BE9D1EA8658@appisle.net> Message-ID: On Fri, Aug 24, 2018 at 4:04 PM Monte Goulding via use-livecode < use-livecode at lists.runrev.com> wrote: > > > > On 25 Aug 2018, at 6:55 am, Monte Goulding via use-livecode < > use-livecode at lists.runrev.com> wrote: > > > > Do we know if it?s the mouseColor returning an incorrect value or if > it?s the actual control being the wrong color? > > If I enter the same RGB values into a html page that has a color picker > then setup a send loop that checks the mouseColor I actually get the same > wrong RGB value that LC reports. This says to me the issue is not with the > display of LC controls but with the mouseColor function. More specifically > it is likely to be with snapshot which is used by mouseColor. There may be multiple bugs. I created that test stack because snapshots I take with LC show different colors than what I see on the screen. But my ui colors also look different on 10.13 than on 10.12. So something is wrong with color processing in general. Perhaps another example stack needs to be created that imports a snapshot. -- Trevor DeVore From monte at appisle.net Fri Aug 24 17:43:05 2018 From: monte at appisle.net (Monte Goulding) Date: Sat, 25 Aug 2018 07:43:05 +1000 Subject: LC displaying colors incorrectly in macOS 10.13 In-Reply-To: <5A05548C-6C36-4AE6-87ED-A5149A485170@m-r-d.de> References: <956DBA31-9FCD-41DA-9B8A-C115D36AD329@m-r-d.de> <5FEB772C-FAF6-403B-B29F-AFEBE735A156@appisle.net> <5A05548C-6C36-4AE6-87ED-A5149A485170@m-r-d.de> Message-ID: <1B50D6DA-B4A1-43B0-B8DC-80EA10303DC7@appisle.net> > On 25 Aug 2018, at 7:09 am, Matthias Rebbe via use-livecode wrote: > > I?ve tested now with Apple?s Digital Color Meter App. > > And you are right. It seems the mouse color values are the correct ones. You mean incorrect here I presume? > > See screenshot http://d.qck.biz/vCD6n7 > > > But anyway. It?s a bug Yes of course it is I was just trying to determine where ;-) From the looks of things we are using a function that takes a snapshot using the display color space then drawing it to our own image format using sRGB color space. Cheers Monte From matthias_livecode_150811 at m-r-d.de Fri Aug 24 17:49:21 2018 From: matthias_livecode_150811 at m-r-d.de (Matthias Rebbe) Date: Fri, 24 Aug 2018 23:49:21 +0200 Subject: LC displaying colors incorrectly in macOS 10.13 In-Reply-To: <1B50D6DA-B4A1-43B0-B8DC-80EA10303DC7@appisle.net> References: <956DBA31-9FCD-41DA-9B8A-C115D36AD329@m-r-d.de> <5FEB772C-FAF6-403B-B29F-AFEBE735A156@appisle.net> <5A05548C-6C36-4AE6-87ED-A5149A485170@m-r-d.de> <1B50D6DA-B4A1-43B0-B8DC-80EA10303DC7@appisle.net> Message-ID: > Am 24.08.2018 um 23:43 schrieb Monte Goulding via use-livecode : > > > >> On 25 Aug 2018, at 7:09 am, Matthias Rebbe via use-livecode wrote: >> >> I?ve tested now with Apple?s Digital Color Meter App. >> >> And you are right. It seems the mouse color values are the correct ones. > > You mean incorrect here I presume? Yes. It was a busy day and the later it gets the more i have problems with foreign languages. ;) >> >> See screenshot http://d.qck.biz/vCD6n7 > >> >> But anyway. It?s a bug > > Yes of course it is I was just trying to determine where ;-) > > From the looks of things we are using a function that takes a snapshot using the display color space then drawing it to our own image format using sRGB color space. > > Cheers > > Monte > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From brian at milby7.com Fri Aug 24 17:50:06 2018 From: brian at milby7.com (Brian Milby) Date: Fri, 24 Aug 2018 16:50:06 -0500 Subject: Load data into a tree view In-Reply-To: <73EEBEAE-D90E-4ACB-9D78-756E8A5FA574@iotecdigital.com> References: <6B84190F-0EB0-4ED8-95C6-CB19375B492C@iotecdigital.com> <73EEBEAE-D90E-4ACB-9D78-756E8A5FA574@iotecdigital.com> Message-ID: <62524744-2af5-4189-9fae-282f3247ecba@Spark> May want to check this out: https://gist.github.com/trevordevore/5584753 Thanks, Brian On Aug 24, 2018, 3:56 PM -0500, Bob Sneidar via use-livecode , wrote: > Thanks Brian. Now I need an XML to Array parser. Looks like I will have to write one myself. Good time to get into the XML API. > > Bob S > > > > On Aug 24, 2018, at 13:53 , Brian Milby via use-livecode wrote: > > > > Correct, you populate the tree with an array. > > > > Thanks, > > Brian > > On Aug 24, 2018, 3:51 PM -0500, Bob Sneidar via use-livecode , wrote: > > > Pfft. Never mind I found the Tree View in the dictinoary. I think it only takes array data though. > > > > > > Bob S > > > > > > > > > > On Aug 24, 2018, at 13:49 , Bob Sneidar via use-livecode wrote: > > > > > > > > Hi all. > > > > > > > > Given an XML file that I can assume is a valid structure, how would I get that into a tree view?? I looked online for a tutorial on the tree widget, I looked at the properties of the actual tree widget, I searched the dictionary, but I cannot find out how to load existing XML data into a tree. > > > > > > > > I could write an XML parser of my own or use the built in commands, but there is nothing I can find on how to interact programmatically with a tree view. > > > > > > > > Bob S > > > > > > > > > > > > _______________________________________________ > > > > use-livecode mailing list > > > > use-livecode at 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 at 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 at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From chipsm at themartinz.com Fri Aug 24 17:56:38 2018 From: chipsm at themartinz.com (chipsm at themartinz.com) Date: Fri, 24 Aug 2018 14:56:38 -0700 Subject: Load data into a tree view In-Reply-To: <73EEBEAE-D90E-4ACB-9D78-756E8A5FA574@iotecdigital.com> References: <6B84190F-0EB0-4ED8-95C6-CB19375B492C@iotecdigital.com> <73EEBEAE-D90E-4ACB-9D78-756E8A5FA574@iotecdigital.com> Message-ID: <0cc401d43bf5$5589d670$009d8350$@themartinz.com> Doesn't livecode have an xml to json and then json to array functions already? Sincerely, Clarence Martin Email: Chipsm at themartinz.com Cell: 626 696-5561 -----Original Message----- From: use-livecode On Behalf Of Bob Sneidar via use-livecode Sent: Friday, August 24, 2018 1:56 PM To: How to use LiveCode Cc: Bob Sneidar Subject: Re: Load data into a tree view Thanks Brian. Now I need an XML to Array parser. Looks like I will have to write one myself. Good time to get into the XML API. Bob S > On Aug 24, 2018, at 13:53 , Brian Milby via use-livecode wrote: > > Correct, you populate the tree with an array. > > Thanks, > Brian > On Aug 24, 2018, 3:51 PM -0500, Bob Sneidar via use-livecode , wrote: >> Pfft. Never mind I found the Tree View in the dictinoary. I think it only takes array data though. >> >> Bob S >> >> >>> On Aug 24, 2018, at 13:49 , Bob Sneidar via use-livecode wrote: >>> >>> Hi all. >>> >>> Given an XML file that I can assume is a valid structure, how would I get that into a tree view?? I looked online for a tutorial on the tree widget, I looked at the properties of the actual tree widget, I searched the dictionary, but I cannot find out how to load existing XML data into a tree. >>> >>> I could write an XML parser of my own or use the built in commands, but there is nothing I can find on how to interact programmatically with a tree view. >>> >>> Bob S >>> >>> >>> _______________________________________________ >>> use-livecode mailing list >>> use-livecode at 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 at 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 at 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 at lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode From andrewferguson500 at gmail.com Fri Aug 24 17:56:43 2018 From: andrewferguson500 at gmail.com (Andrew Ferguson) Date: Fri, 24 Aug 2018 22:56:43 +0100 Subject: Android permissions In-Reply-To: References: <43304bf7-3776-563c-9bcc-fa2156003d6e@hyperactivesw.com> Message-ID: Is there any particular reason it cannot be altered for LCB as well? I'm all for the "it just works" approach. Otherwise it would seem a bit of a limitation in LCB. On 24 August 2018 22:32:04 BST, "J. Landman Gay via use-livecode" wrote: >Thanks Panos, that helps a lot. I like the automatic dialog, very >LC-esque. :) > >On 8/24/18 4:23 PM, panagiotis merakos via use-livecode wrote: >> Hello Jacque, >> >> Currently all the commands/functions that do stuff which will require >> special permissions will trigger the permission dialog automatically. >> >> Then only exception is commands/functions that exist in a LCB >library. >> Currently the only example that falls into this category is the >Android >> Audio Recorder Library. So before you call >, >> you have to explicitly ask for permission to record audio, so you'll >need >> to call . >> >> The same holds for LCB libraries that we might add in the future, or >for >> any other APIs you might have wrapped in LCB using FFI, i.e. you have >to >> explicitly ask for any special permissions. >> >> *>>>>>>>Also, should I check a permission before every usage to be >sure >> it's enabled? Or do I get an error message?* >> If the app tries to do something that requires permission X for the >first >> time, a dialog will be shown asking for permission X. If the user >chooses >> to not grant permission X, the dialog will be shown again next time >the app >> tries to do something that requires permission X, I think the dialog >has a >> checkbox "Do not ask me again". So in this case, it might be useful >to add >> a check if permission X has been granted, and if not, show an >appropriate >> message. >> >> Hope this helps, >> Panos >> -- >> >> >> >> On Fri, Aug 24, 2018 at 11:22 PM J. Landman Gay via use-livecode < >> use-livecode at lists.runrev.com> wrote: >> >>> I was happy to see the new functions for working with Android >>> permissions. The release notes say: >>> >>> "Apps built with LC 9.0.1 do support this new permissions model, and >>> request permissions automatically when the app actually requires the >>> services or data protected by the services." >>> >>> It sounds like the permissions dialog will happen without any >scripting. >>> Does this mean the associated commands aren't usually necessary? >When >>> would I need to use AndroidRequestPermission()? Also, should I check >a >>> permission before every usage to be sure it's enabled? Or do I get >an >>> error message? >>> >>> -- >>> Jacqueline Landman Gay | jacque at hyperactivesw.com >>> HyperActive Software | http://www.hyperactivesw.com >>> >>> _______________________________________________ >>> use-livecode mailing list >>> use-livecode at 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 at lists.runrev.com >> Please visit this url to subscribe, unsubscribe and manage your >subscription preferences: >> http://lists.runrev.com/mailman/listinfo/use-livecode >> > > >-- >Jacqueline Landman Gay | jacque at hyperactivesw.com >HyperActive Software | http://www.hyperactivesw.com > >_______________________________________________ >use-livecode mailing list >use-livecode at lists.runrev.com >Please visit this url to subscribe, unsubscribe and manage your >subscription preferences: >http://lists.runrev.com/mailman/listinfo/use-livecode From monte at appisle.net Fri Aug 24 18:11:40 2018 From: monte at appisle.net (Monte Goulding) Date: Sat, 25 Aug 2018 08:11:40 +1000 Subject: Android permissions In-Reply-To: References: <43304bf7-3776-563c-9bcc-fa2156003d6e@hyperactivesw.com> Message-ID: > On 25 Aug 2018, at 7:56 am, Andrew Ferguson via use-livecode wrote: > > Is there any particular reason it cannot be altered for LCB as well? I'm all for the "it just works" approach. Otherwise it would seem a bit of a limitation in LCB. Yes it hasn?t been done yet but adding a similar api to the new handlers to the android-utils module is probably the most sensible so it can be reused easily. Cheers Monte From monte at appisle.net Fri Aug 24 18:17:59 2018 From: monte at appisle.net (Monte Goulding) Date: Sat, 25 Aug 2018 08:17:59 +1000 Subject: LC displaying colors incorrectly in macOS 10.13 In-Reply-To: <1B50D6DA-B4A1-43B0-B8DC-80EA10303DC7@appisle.net> References: <956DBA31-9FCD-41DA-9B8A-C115D36AD329@m-r-d.de> <5FEB772C-FAF6-403B-B29F-AFEBE735A156@appisle.net> <5A05548C-6C36-4AE6-87ED-A5149A485170@m-r-d.de> <1B50D6DA-B4A1-43B0-B8DC-80EA10303DC7@appisle.net> Message-ID: <0F6669AA-2A08-43B5-8C64-BCC2F78D28B5@appisle.net> > On 25 Aug 2018, at 7:43 am, Monte Goulding via use-livecode wrote: > > From the looks of things we are using a function that takes a snapshot using the display color space then drawing it to our own image format using sRGB color space. I?ve tried tweaking a few things and I?m no longer sure the issue is ^ ? it?s not seeming like this is going to be an easy fix over a Saturday morning coffee like I?d hoped ;-( Cheers Monte From andrewferguson500 at gmail.com Fri Aug 24 18:46:36 2018 From: andrewferguson500 at gmail.com (Andrew Ferguson) Date: Fri, 24 Aug 2018 23:46:36 +0100 Subject: Android permissions In-Reply-To: References: <43304bf7-3776-563c-9bcc-fa2156003d6e@hyperactivesw.com> Message-ID: That's good to hear. I was worried it might either be a design decision or a technical limitation. Is there an open bug/enhancement report I can subscribe to to be notified of progress on this (and if not, should I open one)? It also might be nice (and apologies if this already exists) to have a function of some sort called the givenPermissions or something similar, that lists all the permissions that have been granted. A similar function, say the blockedPermissions could maybe list ones that have been asked before but not granted. Or even just have the blockedPermissions, which would be checked by the app when using a device feature. If that feature has been explicitly blocked by the user, do something else, otherwise use the feature as intended and let the underlying system deal with permission requests. Just a thought, really. I couldn't see "androidRequestPermission" in the dictionary so I am not sure what is/isn't available at the moment. On 24/08/18 23:11, Monte Goulding via use-livecode wrote: > Yes it hasn?t been done yet but adding a similar api to the new handlers to the android-utils module is probably the most sensible so it can be reused easily. From brian at milby7.com Fri Aug 24 22:53:59 2018 From: brian at milby7.com (Brian Milby) Date: Fri, 24 Aug 2018 21:53:59 -0500 Subject: iPad Pro Simulator Message-ID: Has anyone done any testing in the Simulator for the 12" iPad Pro? I just tried a stack from another (long) thread and for me it reports the device resolution of 1536x2048 which is not correct. The ratio is essentially the same, but the device resolution should be 2048?2732. I do have a splash image of that size specified. I don't have access to a real device to see if it is a sim issue or something else. I built the test with 9.0.1rc2 on Sierra for iOS 11.2. I'm not doing any development at the moment that would use the extra space, but was curious and decided to test it out after some of the resize issues that were seen in the other thread. From colinholgate at gmail.com Fri Aug 24 23:04:34 2018 From: colinholgate at gmail.com (Colin Holgate) Date: Fri, 24 Aug 2018 23:04:34 -0400 Subject: iPad Pro Simulator In-Reply-To: References: Message-ID: <8F649F30-A886-4853-B432-98279E925740@gmail.com> This is not obvious at all, but the splash screen name of Default-Portrait at 2x.png is now owned by iPad Pro. To support iPad Pro, iPad Retina, and iPad 1, you need these splash screens: Default-Portrait at 2x.png - 2048x2732 Default-Portrait at 2x~ipad.png - 1536x2048 Default-Portrait~ipad.png - 768x1024 Or for landscape: Default-Landscape at 2x.png - 2732x2048 Default-Landscape at 2x~ipad - 2048x1536 Default-Landscape~ipad = 1024x768 From MikeKerner at roadrunner.com Fri Aug 24 23:33:43 2018 From: MikeKerner at roadrunner.com (Mike Kerner) Date: Fri, 24 Aug 2018 23:33:43 -0400 Subject: OCR In-Reply-To: References: Message-ID: Anybody doing ocr _now_? On Mon, Oct 3, 2016 at 9:54 AM Roger Eller wrote: > Speaking of using the camera for OCR, the Google Translate app is pretty > amazing at real-time OCR+translation. > > > https://play.google.com/store/apps/details?id=com.google.android.apps.translate&hl=en > > ~Roger > > > On Mon, Oct 3, 2016 at 9:40 AM, Mike Kerner > wrote: > > > After you sent it, I uploaded a sample of what the camera would see. I > was > > disappointed in the results, so I'm worried that that solution is going > to > > be a problem. We would have to grab the image, upload it, see if the OCR > > passes a sanity test, and if it doesn't, take and upload another image, > > etc. It's an interesting idea, though, if the image isn't so > challenging. > > > > On Mon, Oct 3, 2016 at 9:11 AM, Mike Bonner wrote: > > > > > I haven't. I've used an extension in the past that I believe was > driven > > by > > > google ocr (in chrome) and it worked well. The nice thing is the google > > > platform is a rest api, with google computing power behind it. Not > sure > > > how easy it would be to integrate into livecode but hey.. Its rest. > The > > > biggest limitation ( in my eyes) would be connection speed to move > image > > > data around. > > > > > > On Mon, Oct 3, 2016 at 6:55 AM, Mike Kerner > > > > wrote: > > > > > > > Have either of you tried these, and if so, have you tested response > > time? > > > > > > > > On Mon, Oct 3, 2016 at 8:44 AM, Mike Bonner > > wrote: > > > > > > > > > Might look here too: https://cloud.google.com/vision/ and here > > > > > https://developers.google.com/vision/text-overview > > > > > > > > > > On Mon, Oct 3, 2016 at 6:41 AM, Roger Eller < > > > roger.e.eller at sealedair.com > > > > > > > > > > wrote: > > > > > > > > > > > I have needed it for an android app before. I looked into > > shelling a > > > > > > tesserract command. That could be a nice widget since it is OS. > > > > > > > > > > > > https://github.com/tesseract-ocr/tesseract/wiki > > > > > > > > > > > > https://github.com/tesseract-ocr/tesseract > > > > > > > > > > > > ~Roger > > > > > > > > > > > > On Oct 3, 2016 8:34 AM, "Mike Kerner" > > > > > wrote: > > > > > > > > > > > > > Anyone thinking OCR for LC? > > > > > > > > > > > > > > -- > > > > > > > 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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." From jacque at hyperactivesw.com Fri Aug 24 23:43:04 2018 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Fri, 24 Aug 2018 22:43:04 -0500 Subject: fullscreenmode and rect of a substack on mobile device ? In-Reply-To: <9222e7d8-41e0-461f-b569-4cc9f7c8fda6@Spark> References: <3AD3CF89-6E4C-4608-A9FC-E56DDADFD115@laposte.net> <99f39315-d93c-ba00-db5f-423ef3d209c1@fourthworld.com> <30FD572A-30CA-40CB-B1C0-020AEEDC6E4F@laposte.net> <1328e2f1-58fa-6064-e95f-10bf0638da95@hyperactivesw.com> <1824CAC0-CE27-4111-8BD1-8A048BB30790@laposte.net> <41d8b732-0ac1-3391-726e-1897b036916e@hyperactivesw.com> <9f843be1-a551-1140-166b-3f24400f5e5f@hyperactivesw.com> <2c04f777-aaf6-4926-8abb-5fb90eac61cc@Spark> <856297c9-ae29-e3b9-533e-8479dcd84003@hyperactivesw.com> <9222e7d8-41e0-461f-b569-4cc9f7c8fda6@Spark> Message-ID: <2190bceb-48bd-4069-8a53-271a38775fec@hyperactivesw.com> It's more complicated than that. Using the iPad Air simulator and this preOpenCard handler: on preopenstack mobileSetAllowedOrientations("portrait") iphoneUseDeviceResolution true,true end preopenstack When I press the "Get the rect" button it reports the stack, card, and screenrect are all 0,0,640,960. Also, the right and bottom of the stack are clipped and the controls are not centered, they're shifted right and down. If I comment out iphoneUseDeviceResolution so that only the orientation is set, the stack is huge, runs off the right and bottom, and no fields or buttons are shown because they are offscreen. I see only the topleft corner of the stack. I don't know what it thinks the rects are because I can't see the buttons. If I hit the 1X button in the simulator, which doubles the resolution to emulate retina, the card gets half as big, floats in the middle of the screen, and still shows only the topleft corner of the stack (no buttons or fields.) If I change the handler to this: on preopenstack mobileSetAllowedOrientations("portrait") set the fullscreenmode of stack "ipad" to "showall" end preopenstack The stack doesn't fill the screen and leaves blank, black edges at sides and bottom. The content does not resize, showing the default card color at the top and bottom of the card. The button reports: Stack rect: 469,116,1237,1140 Card rect: 0,0,768,1024 Screenrect: 0,0,320,480 An iPad with a screenrect of 320x480? When I was trying to fix this with a resizing handler similar to what you wrote, nothing I did would change the stack rect. It stayed stuck at 640x960 with black, blank edges around it. On 8/24/18 4:38 PM, Brian Milby via use-livecode wrote: > Hmmmm > So it reports that the stack and screen are 768/1024 yet does not fill the screen? That is very odd. For me it did fill the screen until I changed it to be short on purpose. > -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com From jacque at hyperactivesw.com Fri Aug 24 23:46:59 2018 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Fri, 24 Aug 2018 22:46:59 -0500 Subject: Android permissions In-Reply-To: References: <43304bf7-3776-563c-9bcc-fa2156003d6e@hyperactivesw.com> Message-ID: On 8/24/18 5:46 PM, Andrew Ferguson via use-livecode wrote: > Or even just have the blockedPermissions, which would be checked by the > app when using a device feature. That could be useful. +1 > I couldn't see "androidRequestPermission" in the dictionary It's in the latest 9.0.1(rc 2). Brand new. -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com From jacque at hyperactivesw.com Fri Aug 24 23:50:56 2018 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Fri, 24 Aug 2018 22:50:56 -0500 Subject: iPad Pro Simulator In-Reply-To: <8F649F30-A886-4853-B432-98279E925740@gmail.com> References: <8F649F30-A886-4853-B432-98279E925740@gmail.com> Message-ID: On 8/24/18 10:04 PM, Colin Holgate via use-livecode wrote: > This is not obvious at all, but the splash screen name of Default-Portrait at 2x.png is now owned by iPad Pro. To support iPad Pro, iPad Retina, and iPad 1, you need these splash screens: > > Default-Portrait at 2x.png - 2048x2732 > Default-Portrait at 2x~ipad.png - 1536x2048 > Default-Portrait~ipad.png - 768x1024 > > Or for landscape: > > Default-Landscape at 2x.png - 2732x2048 > Default-Landscape at 2x~ipad - 2048x1536 > Default-Landscape~ipad = 1024x768 AHA!!! The test stack has no splash screens at all. That explains a lot. -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com From brian at milby7.com Fri Aug 24 23:53:46 2018 From: brian at milby7.com (Brian Milby) Date: Fri, 24 Aug 2018 22:53:46 -0500 Subject: iPad Pro Simulator In-Reply-To: <8F649F30-A886-4853-B432-98279E925740@gmail.com> References: <8F649F30-A886-4853-B432-98279E925740@gmail.com> Message-ID: <73948c88-a347-450d-bf6a-e713a95d5bfd@Spark> Ok. I looked at the plist and there was no entry for the pro resolution (1024x1366) under launch images. There is a file there for the pro, but with a different name than what you said. How do I change this for the simulator? Ah... I used my Mobile Profile stack as the launcher which has all the splash sizes covered. Thanks, Brian On Aug 24, 2018, 10:05 PM -0500, Colin Holgate via use-livecode , wrote: > This is not obvious at all, but the splash screen name of Default-Portrait at 2x.png is now owned by iPad Pro. To support iPad Pro, iPad Retina, and iPad 1, you need these splash screens: > > Default-Portrait at 2x.png - 2048x2732 > Default-Portrait at 2x~ipad.png - 1536x2048 > Default-Portrait~ipad.png - 768x1024 > > Or for landscape: > > Default-Landscape at 2x.png - 2732x2048 > Default-Landscape at 2x~ipad - 2048x1536 > Default-Landscape~ipad = 1024x768 > > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From brahma at hindu.org Sat Aug 25 00:27:26 2018 From: brahma at hindu.org (Sannyasin Brahmanathaswami) Date: Sat, 25 Aug 2018 04:27:26 +0000 Subject: Datagrid Scrolling Message-ID: Scrolling the Datagrid on mobile is "terrible" (jerky, pixel by pixel) I thought this was fixed in Datagrid2? Maybe that hasn't been released? BR From brian at milby7.com Sat Aug 25 00:40:28 2018 From: brian at milby7.com (Brian Milby) Date: Fri, 24 Aug 2018 23:40:28 -0500 Subject: Datagrid Scrolling In-Reply-To: References: Message-ID: <5df1c2e5-3bb2-4b83-9ed1-cd2847bb3268@Spark> There were deeper engine changes to finish the accelerated rendering updates required to fully support DG2. I think that is scheduled for 9.1 now. Thanks, Brian On Aug 24, 2018, 11:28 PM -0500, Sannyasin Brahmanathaswami via use-livecode , wrote: > Scrolling the Datagrid on mobile is "terrible" (jerky, pixel by pixel) > > I thought this was fixed in Datagrid2? > > Maybe that hasn't been released? > > BR > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From brian at milby7.com Sat Aug 25 01:37:41 2018 From: brian at milby7.com (Brian Milby) Date: Sat, 25 Aug 2018 00:37:41 -0500 Subject: iPad Pro Simulator In-Reply-To: References: <8F649F30-A886-4853-B432-98279E925740@gmail.com> Message-ID: <517175ef-af4f-4ae0-bd68-6d9ca93e587d@Spark> This is a bug in revSaveAsIOSStandalone.livecodescript Around line 1690, nothing is done to include the pro size in the plist. The file is included in the app. I?ll work up a bug report and PR this weekend. Thanks, Brian On Aug 24, 2018, 10:51 PM -0500, J. Landman Gay via use-livecode , wrote: > On 8/24/18 10:04 PM, Colin Holgate via use-livecode wrote: > > This is not obvious at all, but the splash screen name of Default-Portrait at 2x.png is now owned by iPad Pro. To support iPad Pro, iPad Retina, and iPad 1, you need these splash screens: > > > > Default-Portrait at 2x.png - 2048x2732 > > Default-Portrait at 2x~ipad.png - 1536x2048 > > Default-Portrait~ipad.png - 768x1024 > > > > Or for landscape: > > > > Default-Landscape at 2x.png - 2732x2048 > > Default-Landscape at 2x~ipad - 2048x1536 > > Default-Landscape~ipad = 1024x768 > > AHA!!! The test stack has no splash screens at all. That explains a lot. > > -- > Jacqueline Landman Gay | jacque at hyperactivesw.com > HyperActive Software | http://www.hyperactivesw.com > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From keith.clarke at me.com Sat Aug 25 06:25:29 2018 From: keith.clarke at me.com (Keith Clarke) Date: Sat, 25 Aug 2018 11:25:29 +0100 Subject: Word counter crashing LiveCode? Message-ID: <09165000-B72A-46B2-A531-79CC8367EAC6@me.com> Folks, I?m working on a simple utility to count the most popular words in a text file but my current code runs for a while & then causes LiveCode to crash. It runs fine when I merely extract a list of unique words that are not in a ?NoiseWords? list but when I attempt to add a word count as the second item on the line it crashes after. repeat for each word tWord in tSource # remove noisewords if tWord is among the lines of tNoiseWords then next repeat else #Process words if tWord is among the lines of tWords then put lineOffset( tWord, tWords ) into tLine if offset(comma, line tLine of tWords) > 0 then add 1 to item 2 of line tLine of tWords else put comma & 2 after line tLine of tWords end if next repeat else put tWord & comma & "1" & cr after tWords end if end if end repeat I?m no developer so I may be using the wrong technique completely, so would welcome any steer. Thanks in advance. Keith From alex at tweedly.net Sat Aug 25 07:01:19 2018 From: alex at tweedly.net (Alex Tweedly) Date: Sat, 25 Aug 2018 12:01:19 +0100 Subject: Word counter crashing LiveCode? In-Reply-To: <09165000-B72A-46B2-A531-79CC8367EAC6@me.com> References: <09165000-B72A-46B2-A531-79CC8367EAC6@me.com> Message-ID: Not sure why yours is crashing, and I admit I haven't really looked closely :-) I have a similar word count - so I tweaked it slightly : ?- stack with 3 fields - NoiseWords, Source and outputs results to "F" ?- button to make it run *on*mouseUp* ?? local*tSource, tNoise, tWord*s **local*tANoise, tAWords *put*thetextoffld"fSource"intotSource *put*thetextoffld"fNoise"intotNoise* ?? repeat* foreachwordW intNoise *put*trueintotANoise[W]* ?? end* *repeat* *repeat* foreachwordW intSource* ?????? if* tANoise[W] *then* *next* *repeat** ????? add*1totAWords[W]* ?? end* *repeat* *repeat* foreachkeyK intAWords* ? ? ? put*K && tAWords[K] &CRafterfld"F"* ? end* *repeat* *end*mouseUp Alex On 25/08/2018 11:25, Keith Clarke via use-livecode wrote: > Folks, > I?m working on a simple utility to count the most popular words in a text file but my current code runs for a while & then causes LiveCode to crash. > > It runs fine when I merely extract a list of unique words that are not in a ?NoiseWords? list but when I attempt to add a word count as the second item on the line it crashes after. > > repeat for each word tWord in tSource > > # remove noisewords > if tWord is among the lines of tNoiseWords then > next repeat > else > > #Process words > if tWord is among the lines of tWords then > put lineOffset( tWord, tWords ) into tLine > > if offset(comma, line tLine of tWords) > 0 then > add 1 to item 2 of line tLine of tWords > else > put comma & 2 after line tLine of tWords > end if > > next repeat > else > put tWord & comma & "1" & cr after tWords > end if > > end if > > end repeat > > I?m no developer so I may be using the wrong technique completely, so would welcome any steer. > > Thanks in advance. > Keith > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From alex at tweedly.net Sat Aug 25 07:04:46 2018 From: alex at tweedly.net (Alex Tweedly) Date: Sat, 25 Aug 2018 12:04:46 +0100 Subject: Word counter crashing LiveCode? In-Reply-To: References: <09165000-B72A-46B2-A531-79CC8367EAC6@me.com> Message-ID: On 25/08/2018 12:01, Alex Tweedly via use-livecode wrote: > Not sure why yours is crashing, and I admit I haven't really looked > closely :-) > > I have a similar word count - so I tweaked it slightly : > > ?- stack with 3 fields - fNoiseWords, fSource and outputs results to "F" > > ?- button to make it run Sorry - stupid formatting. Try again: on mouseUp ?? local tSource, tNoise, tWords ?? local tANoise, tAWords ?? put the text of fld "fSource" into tSource ?? put the text of fld "fNoise" into tNoise ?? repeat for each word W in tNoise ????? put true into tANoise[W] ?? end repeat ?? repeat for each word W in tSource ????? if tANoise[W] then next repeat ????? add 1 to tAWords[W] ?? end repeat ?? repeat for each key K in tAWords ????? put K && tAWords[K] &CR after fld "F" ?? end repeat end mouseUp Alex. From paul at researchware.com Sat Aug 25 07:10:14 2018 From: paul at researchware.com (Paul Dupuis) Date: Sat, 25 Aug 2018 07:10:14 -0400 Subject: Word counter crashing LiveCode? In-Reply-To: <09165000-B72A-46B2-A531-79CC8367EAC6@me.com> References: <09165000-B72A-46B2-A531-79CC8367EAC6@me.com> Message-ID: If you are LC 7 or higher, use trueWord chunk type vs word. See trueWord in the dictionary. Also suggest using an array as in: -- tText contains the text local tWordArray repeat for each trueWord tWord in tText ? add 1 to tWordArray[tWord] end repeat -- the keys of tWordArray are you unique words in tText. The values of this array are you counts of how many occurrences -- to convert the array to a list combine tWordArray using cr and comma -- tText is now a list of the form: word,count On 8/25/2018 6:25 AM, Keith Clarke via use-livecode wrote: > Folks, > I?m working on a simple utility to count the most popular words in a text file but my current code runs for a while & then causes LiveCode to crash. > > It runs fine when I merely extract a list of unique words that are not in a ?NoiseWords? list but when I attempt to add a word count as the second item on the line it crashes after. > > repeat for each word tWord in tSource > > # remove noisewords > if tWord is among the lines of tNoiseWords then > next repeat > else > > #Process words > if tWord is among the lines of tWords then > put lineOffset( tWord, tWords ) into tLine > > if offset(comma, line tLine of tWords) > 0 then > add 1 to item 2 of line tLine of tWords > else > put comma & 2 after line tLine of tWords > end if > > next repeat > else > put tWord & comma & "1" & cr after tWords > end if > > end if > > end repeat > > I?m no developer so I may be using the wrong technique completely, so would welcome any steer. > > Thanks in advance. > Keith > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From keith.clarke at me.com Sat Aug 25 07:53:03 2018 From: keith.clarke at me.com (Keith Clarke) Date: Sat, 25 Aug 2018 12:53:03 +0100 Subject: Word counter crashing LiveCode? In-Reply-To: References: <09165000-B72A-46B2-A531-79CC8367EAC6@me.com> Message-ID: <1C7F4027-C954-442F-B297-E848AFB6BA49@me.com> Thanks Alex & Paul - that?s working nicely now. It has also introduced me to: A unicode text subtlety that I?d missed since I last dabbled with LiveCode pre-7 Arrays, with a useful worked example, which are clearly more efficient for this kind of process but a learning curve that I?d been avoiding ;-) Best, Keith > On 25 Aug 2018, at 12:04, Alex Tweedly via use-livecode wrote: > > > > On 25/08/2018 12:01, Alex Tweedly via use-livecode wrote: >> Not sure why yours is crashing, and I admit I haven't really looked closely :-) >> >> I have a similar word count - so I tweaked it slightly : >> >> - stack with 3 fields - fNoiseWords, fSource and outputs results to "F" >> >> - button to make it run > Sorry - stupid formatting. > Try again: > > on mouseUp > local tSource, tNoise, tWords > local tANoise, tAWords > put the text of fld "fSource" into tSource > put the text of fld "fNoise" into tNoise > repeat for each word W in tNoise > put true into tANoise[W] > end repeat > > > repeat for each word W in tSource > if tANoise[W] then next repeat > add 1 to tAWords[W] > end repeat > > repeat for each key K in tAWords > put K && tAWords[K] &CR after fld "F" > end repeat > end mouseUp > > Alex. > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From matthias_livecode_150811 at m-r-d.de Sat Aug 25 08:51:10 2018 From: matthias_livecode_150811 at m-r-d.de (Matthias Rebbe) Date: Sat, 25 Aug 2018 14:51:10 +0200 Subject: LC displaying colors incorrectly in macOS 10.13 In-Reply-To: References: <956DBA31-9FCD-41DA-9B8A-C115D36AD329@m-r-d.de> <5FEB772C-FAF6-403B-B29F-AFEBE735A156@appisle.net> <5A05548C-6C36-4AE6-87ED-A5149A485170@m-r-d.de> <1B50D6DA-B4A1-43B0-B8DC-80EA10303DC7@appisle.net> Message-ID: <5A2F9E06-1C96-479B-A329-531F4CC5F2FD@m-r-d.de> Monte, rereading yours and mine comments, i have to ask: If Apple?s app Color Digital Meter shows the same values as LC?s function mousecolor, then mousecolor is showing the correct values, isn?t it? Or am i missing something? > Am 24.08.2018 um 23:49 schrieb Matthias Rebbe via use-livecode : > > > >> Am 24.08.2018 um 23:43 schrieb Monte Goulding via use-livecode : >> >> >> >>> On 25 Aug 2018, at 7:09 am, Matthias Rebbe via use-livecode wrote: >>> >>> I?ve tested now with Apple?s Digital Color Meter App. >>> >>> And you are right. It seems the mouse color values are the correct ones. >> >> You mean incorrect here I presume? > > Yes. It was a busy day and the later it gets the more i have problems with foreign languages. ;) > > >>> >>> See screenshot http://d.qck.biz/vCD6n7 > >>> >>> But anyway. It?s a bug >> >> Yes of course it is I was just trying to determine where ;-) >> >> From the looks of things we are using a function that takes a snapshot using the display color space then drawing it to our own image format using sRGB color space. >> >> Cheers >> >> Monte >> _______________________________________________ >> use-livecode mailing list >> use-livecode at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From hh at hyperhh.de Sat Aug 25 11:50:16 2018 From: hh at hyperhh.de (hh) Date: Sat, 25 Aug 2018 17:50:16 +0200 Subject: LC-ImageToolbox_v180 Message-ID: <74AED7F1-5F39-44E4-BD60-D911DC35100B@hyperhh.de> LC-ImageToolbox_v180 Version 1.8.0 adds a new feature to LC-ImageToolBox: Kuwahara filtering. The filter replaces each pixel with the mean value of the one of four overlapping subsquares that has minimal values variance. For more info see http://forums.livecode.com/viewtopic.php?p=170593#p170593 > LC-ImageToolbox_v175 > > Version 1.7.5 adds a new feature to LC-ImageToolBox: Quantile filtering. > > An x-Quantile is a generalized parameter of location of distributions > with a percentage x. > For example x=0 yields the minimum, x=50 the median, x=100 the maximum > of the sample values. > > You can select the percentage x and a 'population sample' square of size > 3x3, 5x5, 7x7, ..., 15x15 pixels. > The quantile of this sample distribution around each pixel of the image > replaces that pixel. > > For more info see > http://forums.livecode.com/viewtopic.php?p=170547#p170547 From hlowe at me.com Sat Aug 25 12:02:07 2018 From: hlowe at me.com (hlowe) Date: Sat, 25 Aug 2018 11:02:07 -0500 (CDT) Subject: Datagrid Scrolling In-Reply-To: References: Message-ID: <1535212927416-0.post@n4.nabble.com> I agree. There has been a very significant deterioration in datagrid scrolling performance since DG2 and LC9 were introduced. Based on feedback from user testing we have delayed release of an important iOS app update because DG scrolling was perceived to be unacceptably slow and visually jerky. The currently released version of the app uses LC8, DG1 and Monte's mergDatagridScroller code and it scrolls very smoothly. DG2 is a wonderful update with many exciting new features. I do hope that the scrolling performance issue can be addressed soon, so that we can take advantage of the update. Henry Ascriva Health Informatics https://www.ascriva.com -- Sent from: http://runtime-revolution.278305.n4.nabble.com/Revolution-User-f278306.html From brian at milby7.com Sat Aug 25 13:14:49 2018 From: brian at milby7.com (Brian Milby) Date: Sat, 25 Aug 2018 12:14:49 -0500 Subject: iPad Pro Simulator In-Reply-To: <517175ef-af4f-4ae0-bd68-6d9ca93e587d@Spark> References: <8F649F30-A886-4853-B432-98279E925740@gmail.com> <517175ef-af4f-4ae0-bd68-6d9ca93e587d@Spark> Message-ID: Bug report filed https://quality.livecode.com/show_bug.cgi?id=21527 PR submitted against develop-9.0 https://github.com/livecode/livecode/pull/6655 The 10.5" iPadPro still needs to be added, but that will be a separate enhancement and requires a binary file change. On Sat, Aug 25, 2018 at 12:37 AM, Brian Milby wrote: > This is a bug in revSaveAsIOSStandalone.livecodescript > Around line 1690, nothing is done to include the pro size in the plist. > The file is included in the app. > > I?ll work up a bug report and PR this weekend. > > Thanks, > Brian > On Aug 24, 2018, 10:51 PM -0500, J. Landman Gay via use-livecode < > use-livecode at lists.runrev.com>, wrote: > > On 8/24/18 10:04 PM, Colin Holgate via use-livecode wrote: > > This is not obvious at all, but the splash screen name of > Default-Portrait at 2x.png is now owned by iPad Pro. To support iPad Pro, > iPad Retina, and iPad 1, you need these splash screens: > > Default-Portrait at 2x.png - 2048x2732 > Default-Portrait at 2x~ipad.png - 1536x2048 > Default-Portrait~ipad.png - 768x1024 > > Or for landscape: > > Default-Landscape at 2x.png - 2732x2048 > Default-Landscape at 2x~ipad - 2048x1536 > Default-Landscape~ipad = 1024x768 > > > AHA!!! The test stack has no splash screens at all. That explains a lot. > > -- > Jacqueline Landman Gay | jacque at hyperactivesw.com > HyperActive Software | http://www.hyperactivesw.com > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > > From martyknappster at gmail.com Sat Aug 25 14:16:24 2018 From: martyknappster at gmail.com (Knapp Martin) Date: Sat, 25 Aug 2018 11:16:24 -0700 Subject: Mojave beta & 32 bit LC Message-ID: Very interesting - I just installed the latest developer beta for macOS Mojave (18A371a) and ran a couple of apps I build in LC 6.6.5 (32 bit) and in *very* brief tests they seem to work fine. I didn't even get the warning about them being 32 bit. It was interesting that one of the apps that I distribute via a zipped disk image displays fine on my Retina screen but the other app uses an LC-based installer app and when run does not seem to recognize the Retina display - crunchy looking text and images. But if I just transfer a zipped version of the app to this Mac it *does* display fine - what's up with that? Marty From jacque at hyperactivesw.com Sat Aug 25 14:22:58 2018 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Sat, 25 Aug 2018 13:22:58 -0500 Subject: Word counter crashing LiveCode? In-Reply-To: References: <09165000-B72A-46B2-A531-79CC8367EAC6@me.com> Message-ID: <5067bb14-aacc-5e48-6a1f-5a9542f81c15@hyperactivesw.com> On 8/25/18 6:04 AM, Alex Tweedly via use-livecode wrote: > > > On 25/08/2018 12:01, Alex Tweedly via use-livecode wrote: >> Not sure why yours is crashing, and I admit I haven't really looked >> closely :-) I'm trying to figure out why it crashes too. > on mouseUp > ?? local tSource, tNoise, tWords > ?? local tANoise, tAWords > ?? put the text of fld "fSource" into tSource > ?? put the text of fld "fNoise" into tNoise > ?? repeat for each word W in tNoise > ????? put true into tANoise[W] > ?? end repeat There might be a marginal speed uptick if you replace that repeat loop with: split tNoise by cr as set Although after the recent discussion about arrays vs. chunks, maybe not. -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com From martyknappster at gmail.com Sat Aug 25 14:44:56 2018 From: martyknappster at gmail.com (Knapp Martin) Date: Sat, 25 Aug 2018 11:44:56 -0700 Subject: Print Break Message-ID: I'm migrating a project from LC 6.6.5 to LC 9. In the app I have a routine that prints a few cards per page then issues a "Print Break" command that has worked fine for years in LC 6 but in LC 9 I'm getting an execution error on it (print: card or stack must be open to print it). If I take the command out everything prints fine with no errors, though without page breaks where I need them. Anybody know what I'm missing? Marty From ahsoftware at sonic.net Sat Aug 25 14:48:32 2018 From: ahsoftware at sonic.net (Mark Wieder) Date: Sat, 25 Aug 2018 11:48:32 -0700 Subject: Word counter crashing LiveCode? In-Reply-To: <09165000-B72A-46B2-A531-79CC8367EAC6@me.com> References: <09165000-B72A-46B2-A531-79CC8367EAC6@me.com> Message-ID: <47c03908-8285-387c-59a3-48dcd400fb3f@sonic.net> On 08/25/2018 03:25 AM, Keith Clarke via use-livecode wrote: > Folks, > I?m working on a simple utility to count the most popular words in a text file but my current code runs for a while & then causes LiveCode to crash. I would also do what Alex does there with an array. Your code doesn't crash here for me on linux, but I want to point out that this line won't do what you want anyway > if tWord is among the lines of tWords then because the lines of tWords are of the form word,count rather than word. -- Mark Wieder ahsoftware at gmail.com From jacque at hyperactivesw.com Sat Aug 25 15:07:43 2018 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Sat, 25 Aug 2018 14:07:43 -0500 Subject: [OT]Silly weekend LC poll Message-ID: <56a9d6d4-417a-8b6b-e468-6b3904d6827e@hyperactivesw.com> I wonder how people pronounce two common LC abbreviations. In print you never notice but in real life I always have to translate what they're talking about. How do you pronounce: CHAR Rhymes with "care" Sounds like smoldering wood LOC Rhymes with "smoke" Sounds like a deadbolt I suppose there are others. -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com From matthias_livecode_150811 at m-r-d.de Sat Aug 25 15:27:56 2018 From: matthias_livecode_150811 at m-r-d.de (Matthias Rebbe) Date: Sat, 25 Aug 2018 21:27:56 +0200 Subject: [OT]Silly weekend LC poll In-Reply-To: <56a9d6d4-417a-8b6b-e468-6b3904d6827e@hyperactivesw.com> References: <56a9d6d4-417a-8b6b-e468-6b3904d6827e@hyperactivesw.com> Message-ID: <851AD3D1-CAE2-4B3B-9AA9-2A2165D945AB@m-r-d.de> CHAR rhymes with far LOC rhymes with lock. This is at least how i pronounce them. But i am native German and not native English. Btw.: due to the fact that LC language is english like, you should see my comments and variable names in my scripts. They are mixed, some comments are in english some in german, even in one and the same script. It could be that i use tDate in one script and in another one tDatum as date var. But that?s an other story. Regards, Matthias > Am 25.08.2018 um 21:07 schrieb J. Landman Gay via use-livecode : > > I wonder how people pronounce two common LC abbreviations. In print you never notice but in real life I always have to translate what they're talking about. > > How do you pronounce: > > CHAR > Rhymes with "care" > Sounds like smoldering wood > > LOC > Rhymes with "smoke" > Sounds like a deadbolt > > I suppose there are others. > -- > Jacqueline Landman Gay | jacque at hyperactivesw.com > HyperActive Software | http://www.hyperactivesw.com > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From devin_asay at byu.edu Sat Aug 25 15:35:51 2018 From: devin_asay at byu.edu (Devin Asay) Date: Sat, 25 Aug 2018 19:35:51 +0000 Subject: [OT]Silly weekend LC poll In-Reply-To: <851AD3D1-CAE2-4B3B-9AA9-2A2165D945AB@m-r-d.de> References: <56a9d6d4-417a-8b6b-e468-6b3904d6827e@hyperactivesw.com>, <851AD3D1-CAE2-4B3B-9AA9-2A2165D945AB@m-r-d.de> Message-ID: ?Care? and ?loke?. Habits from way back in the HyperCard days. Sent from my iPhone > On Aug 25, 2018, at 1:28 PM, Matthias Rebbe via use-livecode wrote: > > > > CHAR rhymes with far > LOC rhymes with lock. > > This is at least how i pronounce them. But i am native German and not native English. > > Btw.: due to the fact that LC language is english like, you should see my comments and variable names in my scripts. > They are mixed, some comments are in english some in german, even in one and the same script. It could be that i use tDate in one script and in another one tDatum as date var. > But that?s an other story. > > Regards, > > Matthias > > >> Am 25.08.2018 um 21:07 schrieb J. Landman Gay via use-livecode : >> >> I wonder how people pronounce two common LC abbreviations. In print you never notice but in real life I always have to translate what they're talking about. >> >> How do you pronounce: >> >> CHAR >> Rhymes with "care" >> Sounds like smoldering wood >> >> LOC >> Rhymes with "smoke" >> Sounds like a deadbolt >> >> I suppose there are others. >> -- >> Jacqueline Landman Gay | jacque at hyperactivesw.com >> HyperActive Software | http://www.hyperactivesw.com >> >> _______________________________________________ >> use-livecode mailing list >> use-livecode at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From richmondmathewson at gmail.com Sat Aug 25 15:38:42 2018 From: richmondmathewson at gmail.com (Richmond Mathewson) Date: Sat, 25 Aug 2018 22:38:42 +0300 Subject: [OT]Silly weekend LC poll In-Reply-To: <56a9d6d4-417a-8b6b-e468-6b3904d6827e@hyperactivesw.com> References: <56a9d6d4-417a-8b6b-e468-6b3904d6827e@hyperactivesw.com> Message-ID: <95c60f6c-8dcf-721e-ffdc-2644759e28c0@gmail.com> The latter choice in both cases. When I was studying Linguistics at SIU Carbondale we had a Professor (Kyle Perkins) who pronounced "larynx" as "larnix". AND, needless to say, when I program I subvocalise everything as I go along. Do you pronounce FIELD Rhimes with "filled" Rhimes with "feeled" Do you spell "rhyme" with a "y" or an "i" ? Richmond. On 25/8/2018 10:07 pm, J. Landman Gay via use-livecode wrote: > I wonder how people pronounce two common LC abbreviations. In print > you never notice but in real life I always have to translate what > they're talking about. > > How do you pronounce: > > CHAR > Rhymes with "care" > Sounds like smoldering wood > > LOC > Rhymes with "smoke" > Sounds like a deadbolt > > I suppose there are others. From iowahengst at mac.com Sat Aug 25 15:38:55 2018 From: iowahengst at mac.com (Randy Hengst) Date: Sat, 25 Aug 2018 14:38:55 -0500 Subject: [OT]Silly weekend LC poll In-Reply-To: <56a9d6d4-417a-8b6b-e468-6b3904d6827e@hyperactivesw.com> References: <56a9d6d4-417a-8b6b-e468-6b3904d6827e@hyperactivesw.com> Message-ID: Interesting. I don?t pronounce them as words. They are character and location. Just like I don?t pronounce Dr. as durrr. I say doctor. be well, randy www.classroomFocusedSoftware.com > On Aug 25, 2018, at 2:07 PM, J. Landman Gay via use-livecode wrote: > > I wonder how people pronounce two common LC abbreviations. In print you never notice but in real life I always have to translate what they're talking about. > > How do you pronounce: > > CHAR > Rhymes with "care" > Sounds like smoldering wood > > LOC > Rhymes with "smoke" > Sounds like a deadbolt > > I suppose there are others. > -- > Jacqueline Landman Gay | jacque at hyperactivesw.com > HyperActive Software | http://www.hyperactivesw.com > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From colinholgate at gmail.com Sat Aug 25 15:40:40 2018 From: colinholgate at gmail.com (Colin Holgate) Date: Sat, 25 Aug 2018 15:40:40 -0400 Subject: [OT]Silly weekend LC poll In-Reply-To: References: <56a9d6d4-417a-8b6b-e468-6b3904d6827e@hyperactivesw.com> <851AD3D1-CAE2-4B3B-9AA9-2A2165D945AB@m-r-d.de> Message-ID: I?m with Matthias on this. Some abbreviations are their own thing, and you don?t want to reminisce over where the short version came from. LOC is spelled LOC, not Loke, and CHAR is not spelled as Chare or Care. But it?s your choice, I don?t char. > On Aug 25, 2018, at 3:35 PM, Devin Asay via use-livecode wrote: > > ?Care? and ?loke?. Habits from way back in the HyperCard days. > > Sent from my iPhone > >> On Aug 25, 2018, at 1:28 PM, Matthias Rebbe via use-livecode wrote: >> >> >> >> CHAR rhymes with far >> LOC rhymes with lock. >> >> This is at least how i pronounce them. But i am native German and not native English. >> >> Btw.: due to the fact that LC language is english like, you should see my comments and variable names in my scripts. >> They are mixed, some comments are in english some in german, even in one and the same script. It could be that i use tDate in one script and in another one tDatum as date var. >> But that?s an other story. >> >> Regards, >> >> Matthias >> >> >>> Am 25.08.2018 um 21:07 schrieb J. Landman Gay via use-livecode : >>> >>> I wonder how people pronounce two common LC abbreviations. In print you never notice but in real life I always have to translate what they're talking about. >>> >>> How do you pronounce: >>> >>> CHAR >>> Rhymes with "care" >>> Sounds like smoldering wood >>> >>> LOC >>> Rhymes with "smoke" >>> Sounds like a deadbolt >>> >>> I suppose there are others. >>> -- >>> Jacqueline Landman Gay | jacque at hyperactivesw.com >>> HyperActive Software | http://www.hyperactivesw.com >>> >>> _______________________________________________ >>> use-livecode mailing list >>> use-livecode at 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 at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From richmondmathewson at gmail.com Sat Aug 25 15:41:07 2018 From: richmondmathewson at gmail.com (Richmond Mathewson) Date: Sat, 25 Aug 2018 22:41:07 +0300 Subject: [OT]Silly weekend LC poll In-Reply-To: <851AD3D1-CAE2-4B3B-9AA9-2A2165D945AB@m-r-d.de> References: <56a9d6d4-417a-8b6b-e468-6b3904d6827e@hyperactivesw.com> <851AD3D1-CAE2-4B3B-9AA9-2A2165D945AB@m-r-d.de> Message-ID: I tend to name variables in Scots or Bulgarian, mainly because calling a field "field" (whichever way you pronounce it) throws a "bluey" with LiveCode (and I have no way of knowing LiveCode's internal pronunciation of these terms). Richmond. On 25/8/2018 10:27 pm, Matthias Rebbe via use-livecode wrote: > > CHAR rhymes with far > LOC rhymes with lock. > > This is at least how i pronounce them. But i am native German and not native English. > > Btw.: due to the fact that LC language is english like, you should see my comments and variable names in my scripts. > They are mixed, some comments are in english some in german, even in one and the same script. It could be that i use tDate in one script and in another one tDatum as date var. > But that?s an other story. > > Regards, > > Matthias > > >> Am 25.08.2018 um 21:07 schrieb J. Landman Gay via use-livecode : >> >> I wonder how people pronounce two common LC abbreviations. In print you never notice but in real life I always have to translate what they're talking about. >> >> How do you pronounce: >> >> CHAR >> Rhymes with "care" >> Sounds like smoldering wood >> >> LOC >> Rhymes with "smoke" >> Sounds like a deadbolt >> >> I suppose there are others. >> -- >> Jacqueline Landman Gay | jacque at hyperactivesw.com >> HyperActive Software | http://www.hyperactivesw.com >> >> _______________________________________________ >> use-livecode mailing list >> use-livecode at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From richmondmathewson at gmail.com Sat Aug 25 15:42:07 2018 From: richmondmathewson at gmail.com (Richmond Mathewson) Date: Sat, 25 Aug 2018 22:42:07 +0300 Subject: [OT]Silly weekend LC poll In-Reply-To: References: <56a9d6d4-417a-8b6b-e468-6b3904d6827e@hyperactivesw.com> Message-ID: OK, Randolph . . . Richmond. On 25/8/2018 10:38 pm, Randy Hengst via use-livecode wrote: > Interesting. I don?t pronounce them as words. They are character and location. Just like I don?t pronounce Dr. as durrr. I say doctor. > > be well, > randy > www.classroomFocusedSoftware.com > >> On Aug 25, 2018, at 2:07 PM, J. Landman Gay via use-livecode wrote: >> >> I wonder how people pronounce two common LC abbreviations. In print you never notice but in real life I always have to translate what they're talking about. >> >> How do you pronounce: >> >> CHAR >> Rhymes with "care" >> Sounds like smoldering wood >> >> LOC >> Rhymes with "smoke" >> Sounds like a deadbolt >> >> I suppose there are others. >> -- >> Jacqueline Landman Gay | jacque at hyperactivesw.com >> HyperActive Software | http://www.hyperactivesw.com >> >> _______________________________________________ >> use-livecode mailing list >> use-livecode at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From richmondmathewson at gmail.com Sat Aug 25 15:43:37 2018 From: richmondmathewson at gmail.com (Richmond Mathewson) Date: Sat, 25 Aug 2018 22:43:37 +0300 Subject: [OT]Silly weekend LC poll In-Reply-To: References: <56a9d6d4-417a-8b6b-e468-6b3904d6827e@hyperactivesw.com> <851AD3D1-CAE2-4B3B-9AA9-2A2165D945AB@m-r-d.de> Message-ID: The thread is entitled "Silly weekend" . . . And it is a fairly weak end, But Tits Fun. Richmond. On 25/8/2018 10:40 pm, Colin Holgate via use-livecode wrote: > I?m with Matthias on this. Some abbreviations are their own thing, and you don?t want to reminisce over where the short version came from. LOC is spelled LOC, not Loke, and CHAR is not spelled as Chare or Care. > > But it?s your choice, I don?t char. > > >> On Aug 25, 2018, at 3:35 PM, Devin Asay via use-livecode wrote: >> >> ?Care? and ?loke?. Habits from way back in the HyperCard days. >> >> Sent from my iPhone >> >>> On Aug 25, 2018, at 1:28 PM, Matthias Rebbe via use-livecode wrote: >>> >>> >>> >>> CHAR rhymes with far >>> LOC rhymes with lock. >>> >>> This is at least how i pronounce them. But i am native German and not native English. >>> >>> Btw.: due to the fact that LC language is english like, you should see my comments and variable names in my scripts. >>> They are mixed, some comments are in english some in german, even in one and the same script. It could be that i use tDate in one script and in another one tDatum as date var. >>> But that?s an other story. >>> >>> Regards, >>> >>> Matthias >>> >>> >>>> Am 25.08.2018 um 21:07 schrieb J. Landman Gay via use-livecode : >>>> >>>> I wonder how people pronounce two common LC abbreviations. In print you never notice but in real life I always have to translate what they're talking about. >>>> >>>> How do you pronounce: >>>> >>>> CHAR >>>> Rhymes with "care" >>>> Sounds like smoldering wood >>>> >>>> LOC >>>> Rhymes with "smoke" >>>> Sounds like a deadbolt >>>> >>>> I suppose there are others. >>>> -- >>>> Jacqueline Landman Gay | jacque at hyperactivesw.com >>>> HyperActive Software | http://www.hyperactivesw.com >>>> >>>> _______________________________________________ >>>> use-livecode mailing list >>>> use-livecode at 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 at 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 at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From ahsoftware at sonic.net Sat Aug 25 15:56:26 2018 From: ahsoftware at sonic.net (Mark Wieder) Date: Sat, 25 Aug 2018 12:56:26 -0700 Subject: [OT]Silly weekend LC poll In-Reply-To: <56a9d6d4-417a-8b6b-e468-6b3904d6827e@hyperactivesw.com> References: <56a9d6d4-417a-8b6b-e468-6b3904d6827e@hyperactivesw.com> Message-ID: <67e3fa09-0248-f43f-faed-f1b4983b79d2@sonic.net> On 08/25/2018 12:07 PM, J. Landman Gay via use-livecode wrote: > I wonder how people pronounce two common LC abbreviations. In print you > never notice but in real life I always have to translate what they're > talking about. > > How do you pronounce: I try not to say them out loud at all. > I suppose there are others. Wrecked. -- Mark Wieder ahsoftware at gmail.com From jacque at hyperactivesw.com Sat Aug 25 15:57:29 2018 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Sat, 25 Aug 2018 14:57:29 -0500 Subject: [OT]Silly weekend LC poll In-Reply-To: References: <56a9d6d4-417a-8b6b-e468-6b3904d6827e@hyperactivesw.com> <851AD3D1-CAE2-4B3B-9AA9-2A2165D945AB@m-r-d.de> Message-ID: <2774116b-eece-d30d-473c-9ac2ef17c390@hyperactivesw.com> I say them as you do, because they are the first part of words that have a known pronounciation. Saying "lock" instead of "loke" is particularly confusing because "lock" is a keyword with an entirely different meaning. For those who say "lock" instead of "loke", how do you say "lockLoc"? "Locklock"? On 8/25/18 2:35 PM, Devin Asay via use-livecode wrote: > ?Care? and ?loke?. Habits from way back in the HyperCard days. > > Sent from my iPhone > >> On Aug 25, 2018, at 1:28 PM, Matthias Rebbe via use-livecode wrote: >> >> >> >> CHAR rhymes with far >> LOC rhymes with lock. >> >> This is at least how i pronounce them. But i am native German and not native English. >> >> Btw.: due to the fact that LC language is english like, you should see my comments and variable names in my scripts. >> They are mixed, some comments are in english some in german, even in one and the same script. It could be that i use tDate in one script and in another one tDatum as date var. >> But that?s an other story. >> >> Regards, >> >> Matthias >> >> >>> Am 25.08.2018 um 21:07 schrieb J. Landman Gay via use-livecode : >>> >>> I wonder how people pronounce two common LC abbreviations. In print you never notice but in real life I always have to translate what they're talking about. >>> >>> How do you pronounce: >>> >>> CHAR >>> Rhymes with "care" >>> Sounds like smoldering wood >>> >>> LOC >>> Rhymes with "smoke" >>> Sounds like a deadbolt >>> >>> I suppose there are others. >>> -- >>> Jacqueline Landman Gay | jacque at hyperactivesw.com >>> HyperActive Software | http://www.hyperactivesw.com >>> >>> _______________________________________________ >>> use-livecode mailing list >>> use-livecode at 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 at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com From ahsoftware at sonic.net Sat Aug 25 16:01:40 2018 From: ahsoftware at sonic.net (Mark Wieder) Date: Sat, 25 Aug 2018 13:01:40 -0700 Subject: [OT]Silly weekend LC poll In-Reply-To: <2774116b-eece-d30d-473c-9ac2ef17c390@hyperactivesw.com> References: <56a9d6d4-417a-8b6b-e468-6b3904d6827e@hyperactivesw.com> <851AD3D1-CAE2-4B3B-9AA9-2A2165D945AB@m-r-d.de> <2774116b-eece-d30d-473c-9ac2ef17c390@hyperactivesw.com> Message-ID: <70a3ed66-e9b9-fe52-07b8-e9303672c976@sonic.net> On 08/25/2018 12:57 PM, J. Landman Gay via use-livecode wrote: > "Locklock"? Who's there? -- Mark Wieder ahsoftware at gmail.com From thatkeith at mac.com Sat Aug 25 18:38:30 2018 From: thatkeith at mac.com (Keith Martin) Date: Sat, 25 Aug 2018 23:38:30 +0100 Subject: [OT]Silly weekend LC poll In-Reply-To: <56a9d6d4-417a-8b6b-e468-6b3904d6827e@hyperactivesw.com> References: <56a9d6d4-417a-8b6b-e468-6b3904d6827e@hyperactivesw.com> Message-ID: <38D560DD-8AB5-44E4-9B67-3123929BB852@mac.com> For me... > CHAR Rhymes with ?car? and > LOC Rhymes with ?mock? I know they?re abbreviations but I mentally elevated them to regular word-hood many years ago. :) k From kee.nethery at elloco.com Sat Aug 25 19:07:42 2018 From: kee.nethery at elloco.com (Kee Nethery) Date: Sat, 25 Aug 2018 16:07:42 -0700 Subject: [OT]Silly weekend LC poll In-Reply-To: <56a9d6d4-417a-8b6b-e468-6b3904d6827e@hyperactivesw.com> References: <56a9d6d4-417a-8b6b-e468-6b3904d6827e@hyperactivesw.com> Message-ID: <43880BE3-13CB-4E9F-A82C-72702BFD2535@elloco.com> For me both are pronounced the way they would be as a full word except only the first syllable is pronounced. > CHAR: Rhymes with "care" > LOC: Rhymes with "smoke" Kee Nethery From monte at appisle.net Sat Aug 25 19:25:00 2018 From: monte at appisle.net (Monte Goulding) Date: Sun, 26 Aug 2018 09:25:00 +1000 Subject: LC displaying colors incorrectly in macOS 10.13 In-Reply-To: <5A2F9E06-1C96-479B-A329-531F4CC5F2FD@m-r-d.de> References: <956DBA31-9FCD-41DA-9B8A-C115D36AD329@m-r-d.de> <5FEB772C-FAF6-403B-B29F-AFEBE735A156@appisle.net> <5A05548C-6C36-4AE6-87ED-A5149A485170@m-r-d.de> <1B50D6DA-B4A1-43B0-B8DC-80EA10303DC7@appisle.net> <5A2F9E06-1C96-479B-A329-531F4CC5F2FD@m-r-d.de> Message-ID: > On 25 Aug 2018, at 10:51 pm, Matthias Rebbe via use-livecode wrote: > > rereading yours and mine comments, i have to ask: > > If Apple?s app Color Digital Meter shows the same values as LC?s function mousecolor, then mousecolor is showing the correct values, isn?t it? > Or am i missing something? Hmm? ok so I think I misread your original comment. Comparing Apple?s Color Digital Meter and LiveCode?s mouseColor does give the same results. Creating a swatch with the same RGB values in a color picker on a web page also results in the same RGB values I get from the LiveCode stack. I tried in chrome and safari. Going in to the color profiles and changing to sRGB IEC61966-2.1 and the reported values are correct all around. So it seems the default color profile in High Sierra isn?t right. I?m not overly sure what we can do about it. It might be that someone else on the team knows what to do or it could just be Apple?s bug to deal with. Cheers Monte From james at thehales.id.au Sat Aug 25 21:27:40 2018 From: james at thehales.id.au (James At The Hale) Date: Sun, 26 Aug 2018 11:27:40 +1000 Subject: [OT]Silly weekend LC poll Message-ID: <62D3277C-A31F-47A6-9D39-B45B4BFE40B6@thehales.id.au> I am also with Matthias on this. As for saying them out loud, very rarely, but I do subvocalise them. As for Dr. I say doctor. I guess it just comes down to what we each find more convenient. As for ?field?. Aurgh! I just wish I wouldn?t type ?filed? so many times. James From capellan2000 at gmail.com Sat Aug 25 21:34:04 2018 From: capellan2000 at gmail.com (Alejandro Tejada) Date: Sat, 25 Aug 2018 21:34:04 -0400 Subject: LC-ImageToolbox_v180 (hh) In-Reply-To: References: Message-ID: Hi Hermann, Many thanks for sharing your excellent work with all LC developers! I hope that you include color dithering in your next version. Check the more recent stack in this forum thread: http://forums.livecode.com/viewtopic.php?f=10&t=29935 Where could I send you an screenshot of a message produced by the browser widget? Thanks in advance and thanks a lot again! Keep up your great work! Al On Sat, Aug 25, 2018 at 3:57 PM, Herman wrote: > > LC-ImageToolbox_v180 > > Version 1.8.0 adds a new feature to LC-ImageToolBox: Kuwahara filtering. > > The filter replaces each pixel with the mean value of the one of four > overlapping subsquares that has minimal values variance. > > For more info see > http://forums.livecode.com/viewtopic.php?p=170593#p170593 > > > LC-ImageToolbox_v175 > > > > Version 1.7.5 adds a new feature to LC-ImageToolBox: Quantile filtering. > > > > An x-Quantile is a generalized parameter of location of distributions > > with a percentage x. > > For example x=0 yields the minimum, x=50 the median, x=100 the maximum > > of the sample values. > > > > You can select the percentage x and a 'population sample' square of size > > 3x3, 5x5, 7x7, ..., 15x15 pixels. > > The quantile of this sample distribution around each pixel of the image > > replaces that pixel. > > > > For more info see > > http://forums.livecode.com/viewtopic.php?p=170547#p170547 > From lists at mangomultimedia.com Sat Aug 25 23:14:57 2018 From: lists at mangomultimedia.com (Trevor DeVore) Date: Sat, 25 Aug 2018 22:14:57 -0500 Subject: LC displaying colors incorrectly in macOS 10.13 In-Reply-To: References: <956DBA31-9FCD-41DA-9B8A-C115D36AD329@m-r-d.de> <5FEB772C-FAF6-403B-B29F-AFEBE735A156@appisle.net> <5A05548C-6C36-4AE6-87ED-A5149A485170@m-r-d.de> <1B50D6DA-B4A1-43B0-B8DC-80EA10303DC7@appisle.net> <5A2F9E06-1C96-479B-A329-531F4CC5F2FD@m-r-d.de> Message-ID: On Sat, Aug 25, 2018 at 6:25 PM Monte Goulding via use-livecode < use-livecode at lists.runrev.com> wrote: > > So it seems the default color profile in High Sierra isn?t right. I?m not > overly sure what we can do about it. It might be that someone else on the > team knows what to do or it could just be Apple?s bug to deal with. > There is definitely an LC issue. Try this: 1. Create new stack. 2. `import snapshot` and select something on your screen with a blue in it. I used a Messages chat window. 3. Use digital color meter to check color of blue in actual window vs snapshot. The snapshot is off. Actual: 58,133,241 Imported LC snapshot: 83,141,233 -- Trevor DeVore ScreenSteps www.screensteps.com From jacque at hyperactivesw.com Sun Aug 26 01:06:41 2018 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Sun, 26 Aug 2018 00:06:41 -0500 Subject: [OT]Silly weekend LC poll In-Reply-To: <70a3ed66-e9b9-fe52-07b8-e9303672c976@sonic.net> References: <56a9d6d4-417a-8b6b-e468-6b3904d6827e@hyperactivesw.com> <851AD3D1-CAE2-4B3B-9AA9-2A2165D945AB@m-r-d.de> <2774116b-eece-d30d-473c-9ac2ef17c390@hyperactivesw.com> <70a3ed66-e9b9-fe52-07b8-e9303672c976@sonic.net> Message-ID: <16574a082e8.2761.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> I swear one of these days someone is going to sew your fingers shut. -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com On August 25, 2018 3:03:28 PM Mark Wieder via use-livecode wrote: > On 08/25/2018 12:57 PM, J. Landman Gay via use-livecode wrote: > >> "Locklock"? > > Who's there? > > -- > Mark Wieder > ahsoftware at gmail.com > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From monte at appisle.net Sun Aug 26 02:34:15 2018 From: monte at appisle.net (Monte Goulding) Date: Sun, 26 Aug 2018 16:34:15 +1000 Subject: LC displaying colors incorrectly in macOS 10.13 In-Reply-To: References: <956DBA31-9FCD-41DA-9B8A-C115D36AD329@m-r-d.de> <5FEB772C-FAF6-403B-B29F-AFEBE735A156@appisle.net> <5A05548C-6C36-4AE6-87ED-A5149A485170@m-r-d.de> <1B50D6DA-B4A1-43B0-B8DC-80EA10303DC7@appisle.net> <5A2F9E06-1C96-479B-A329-531F4CC5F2FD@m-r-d.de> Message-ID: > On 26 Aug 2018, at 1:14 pm, Trevor DeVore via use-livecode wrote: > > 1. Create new stack. > 2. `import snapshot` and select something on your screen with a blue in it. > I used a Messages chat window. > 3. Use digital color meter to check color of blue in actual window vs > snapshot. The snapshot is off. > > Actual: 58,133,241 > Imported LC snapshot: 83,141,233 Hmm? I wonder if this is some kind of compounding of the same issue? As the snapshot captures with the incorrect color profile and then the imported snapshot is also impacted by the incorrect color profile. In your original example stack I imported a snapshot of the blue square and I get 60,153,240 on the original and 66,155,137 on the snapshot. Again if I choose the sRGB profile both the original and a new snapshot report the correct color for the graphic of 53,151,243 while the snapshot I took with the default profile now reports 60,153,240. Cheers Monte From kee.nethery at elloco.com Sun Aug 26 02:44:35 2018 From: kee.nethery at elloco.com (Kee Nethery) Date: Sat, 25 Aug 2018 23:44:35 -0700 Subject: [OT]Silly weekend LC poll In-Reply-To: <16574a082e8.2761.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> References: <56a9d6d4-417a-8b6b-e468-6b3904d6827e@hyperactivesw.com> <851AD3D1-CAE2-4B3B-9AA9-2A2165D945AB@m-r-d.de> <2774116b-eece-d30d-473c-9ac2ef17c390@hyperactivesw.com> <70a3ed66-e9b9-fe52-07b8-e9303672c976@sonic.net> <16574a082e8.2761.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> Message-ID: I?ll just switch to using my nose. :-) Kee Nethery > On Aug 25, 2018, at 10:06 PM, J. Landman Gay via use-livecode wrote: > > I swear one of these days someone is going to sew your fingers shut. > > -- > Jacqueline Landman Gay | jacque at hyperactivesw.com > HyperActive Software | http://www.hyperactivesw.com >> On August 25, 2018 3:03:28 PM Mark Wieder via use-livecode wrote: >> >>> On 08/25/2018 12:57 PM, J. Landman Gay via use-livecode wrote: >>> >>> "Locklock"? >> >> Who's there? >> >> -- >> Mark Wieder >> ahsoftware at gmail.com >> >> _______________________________________________ >> use-livecode mailing list >> use-livecode at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From richmondmathewson at gmail.com Sun Aug 26 02:47:56 2018 From: richmondmathewson at gmail.com (Richmond Mathewson) Date: Sun, 26 Aug 2018 09:47:56 +0300 Subject: [OT]Silly weekend LC poll In-Reply-To: References: <56a9d6d4-417a-8b6b-e468-6b3904d6827e@hyperactivesw.com> <851AD3D1-CAE2-4B3B-9AA9-2A2165D945AB@m-r-d.de> <2774116b-eece-d30d-473c-9ac2ef17c390@hyperactivesw.com> <70a3ed66-e9b9-fe52-07b8-e9303672c976@sonic.net> <16574a082e8.2761.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> Message-ID: <50b268b6-5355-09ef-2563-99a7ac679d40@gmail.com> Who nose, and who chars? As long as one's life is field with joy, nothing matters. Richmond. On 26/8/2018 9:44 am, Kee Nethery via use-livecode wrote: > I?ll just switch to using my nose. :-) > > Kee Nethery > >> On Aug 25, 2018, at 10:06 PM, J. Landman Gay via use-livecode wrote: >> >> I swear one of these days someone is going to sew your fingers shut. >> >> -- >> Jacqueline Landman Gay | jacque at hyperactivesw.com >> HyperActive Software | http://www.hyperactivesw.com >>> On August 25, 2018 3:03:28 PM Mark Wieder via use-livecode wrote: >>> >>>> On 08/25/2018 12:57 PM, J. Landman Gay via use-livecode wrote: >>>> >>>> "Locklock"? >>> Who's there? >>> >>> -- >>> Mark Wieder >>> ahsoftware at gmail.com >>> >>> _______________________________________________ >>> use-livecode mailing list >>> use-livecode at 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 at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From gcanyon at gmail.com Sun Aug 26 03:28:57 2018 From: gcanyon at gmail.com (Geoff Canyon) Date: Sun, 26 Aug 2018 00:28:57 -0700 Subject: [OT]Silly weekend LC poll In-Reply-To: <56a9d6d4-417a-8b6b-e468-6b3904d6827e@hyperactivesw.com> References: <56a9d6d4-417a-8b6b-e468-6b3904d6827e@hyperactivesw.com> Message-ID: I very rarely say either, but I'm pretty sure I treat them as sound abbreviations, and pronounce them like the first syllables of the words they represent, i.e. "care" and "loke" On Sat, Aug 25, 2018 at 12:08 PM J. Landman Gay via use-livecode < use-livecode at lists.runrev.com> wrote: > I wonder how people pronounce two common LC abbreviations. In print you > never notice but in real life I always have to translate what they're > talking about. > > How do you pronounce: > > CHAR > Rhymes with "care" > Sounds like smoldering wood > > LOC > Rhymes with "smoke" > Sounds like a deadbolt > > I suppose there are others. > -- > Jacqueline Landman Gay | jacque at hyperactivesw.com > HyperActive Software | http://www.hyperactivesw.com > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From hh at hyperhh.de Sun Aug 26 06:09:47 2018 From: hh at hyperhh.de (hh) Date: Sun, 26 Aug 2018 12:09:47 +0200 Subject: LC-ImageToolbox_v185 Message-ID: <024791C0-570C-4DB5-AD26-8298E0DDE0FC@hyperhh.de> LC-ImageToolbox_v185 adds Color-Dithering which does a 1-Bit-Dithering for each of the R-G-B-channels (1-Bit-Methods: Atkinson, Burkes, Floyd-Steinberg, Javis-Judice-Ninke, Sierra-twoRow, Stucki). For more info see http://forums.livecode.com/viewtopic.php?p=170620#p170620 > Alejandro T. wrote: > Many thanks for sharing your excellent work with all LC developers! > I hope that you include color dithering in your next version. > Check the more recent stack in this forum thread: > http://forums.livecode.com/viewtopic.php?f=10&t=29935 > > > > > LC-ImageToolbox_v180 > > Version 1.8.0 adds a new feature to LC-ImageToolBox: Kuwahara filtering. > > For more info see > > http://forums.livecode.com/viewtopic.php?p=170593#p170593 > > > > > LC-ImageToolbox_v175 > > > Version 1.7.5 adds a new feature to LC-ImageToolBox: Quantile filtering. > > > For more info see > > > http://forums.livecode.com/viewtopic.php?p=170547#p170547 > > From kee.nethery at elloco.com Sun Aug 26 10:10:05 2018 From: kee.nethery at elloco.com (Kee Nethery) Date: Sun, 26 Aug 2018 07:10:05 -0700 Subject: [OT]Silly weekend LC poll In-Reply-To: <50b268b6-5355-09ef-2563-99a7ac679d40@gmail.com> References: <56a9d6d4-417a-8b6b-e468-6b3904d6827e@hyperactivesw.com> <851AD3D1-CAE2-4B3B-9AA9-2A2165D945AB@m-r-d.de> <2774116b-eece-d30d-473c-9ac2ef17c390@hyperactivesw.com> <70a3ed66-e9b9-fe52-07b8-e9303672c976@sonic.net> <16574a082e8.2761.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <50b268b6-5355-09ef-2563-99a7ac679d40@gmail.com> Message-ID: On Aug 25, 2018, at 11:47 PM, Richmond Mathewson wrote: > > Who nose, and who chars? > > As long as one's life is field with joy, nothing matters. > > Richmond. I kneel before the master Kee Nethery From paul at researchware.com Sun Aug 26 10:59:51 2018 From: paul at researchware.com (Paul Dupuis) Date: Sun, 26 Aug 2018 10:59:51 -0400 Subject: Print Break In-Reply-To: References: Message-ID: <558872f1-8596-1f17-5078-8eeb2af10add@researchware.com> On 8/25/2018 2:44 PM, Knapp Martin via use-livecode wrote: > I'm migrating a project from LC 6.6.5 to LC 9. In the app I have a routine that prints a few cards per page then issues a "Print Break" command that has worked fine for years in LC 6 but in LC 9 I'm getting an execution error on it (print: card or stack must be open to print it). If I take the command out everything prints fine with no errors, though without page breaks where I need them. > > Anybody know what I'm missing? Nothing as far as I can tell. In LC 9.0.0 under Windows 8.1, I created small stack with 2 cards each with a colored graphic on them (1 red and 1 blue) and added thefollowing stack script: *command*doPrint *open*printingwithdialog *print*cd1 *print**break**-- with this commented out, both print on 1 page* *print*cd2 *close*printing *end*doPrint With print break commented out, both cards print on 1 page. With it in place, I get 2 pages of output. So for my test at least, print break appears to be working as advertised. (again under LC900 Win 8.1) From mkoob at rogers.com Sun Aug 26 11:22:23 2018 From: mkoob at rogers.com (Martin Koob) Date: Sun, 26 Aug 2018 10:22:23 -0500 (CDT) Subject: [OT]Silly weekend LC poll In-Reply-To: <56a9d6d4-417a-8b6b-e468-6b3904d6827e@hyperactivesw.com> References: <56a9d6d4-417a-8b6b-e468-6b3904d6827e@hyperactivesw.com> Message-ID: <1535296943097-0.post@n4.nabble.com> I would say CHAR - like 'car' with a 'k' sound (I used to have a prof somewhere who would pronounce character like 'Karacter' so maybe that is why.) LOC - like 'lock' I don't abbreviate much when I script. These are two of the few I do. Guess cause the full words are so long. OT to the OT This thread makes me think of a youtube video my grandson who was about 14 at the time showed me. He thought it was hilarious, probably because of the profanity, and also how it points out the inconsistency of English pronunciation. So here is the language warning, some viewers and Letters of the Alphabet may be offended by the following content. https://www.youtube.com/watch?v=fPzAABMozs0 Martin Martin -- Sent from: http://runtime-revolution.278305.n4.nabble.com/Revolution-User-f278306.html From james at thehales.id.au Sun Aug 26 11:50:53 2018 From: james at thehales.id.au (James Hale) Date: Mon, 27 Aug 2018 01:50:53 +1000 Subject: "Make Docset" updated to version 2.8 Message-ID: <241BEE6D-B8A4-49AC-905C-CC8BAD600EC2@thehales.id.au> With the release of 9.01 the "Guides" section of the dictionary now includes guide for the widgets. These guides come from documentation within the widget folder (within the Extensions folder of the LC package.) I have now added the code to the "Make Docset" stack on LiveCodeShare to generate the appropriate guide files for inclusion into the DASH LiveCode docset. The online DASH repository should be updated with this docset later this week. If you want it sooner just download the "Make Docset" stack and roll your own. James From richmondmathewson at gmail.com Sun Aug 26 12:27:10 2018 From: richmondmathewson at gmail.com (Richmond Mathewson) Date: Sun, 26 Aug 2018 19:27:10 +0300 Subject: [OT]Silly weekend LC poll In-Reply-To: <1535296943097-0.post@n4.nabble.com> References: <56a9d6d4-417a-8b6b-e468-6b3904d6827e@hyperactivesw.com> <1535296943097-0.post@n4.nabble.com> Message-ID: <6deb0959-6b49-7715-5062-5127ce04e5d5@gmail.com> On 26/8/2018 6:22 pm, Martin Koob via use-livecode wrote: > I would say > > CHAR - like 'car' with a 'k' sound (I used to have a prof somewhere who > would pronounce character like 'Karacter' so maybe that is why.) > > LOC - like 'lock' > > I don't abbreviate much when I script. These are two of the few I do. Guess > cause the full words are so long. > > OT to the OT > > This thread makes me think of a youtube video my grandson who was about 14 > at the time showed me. He thought it was hilarious, probably because of the > profanity, and also how it points out the inconsistency of English > pronunciation. > > So here is the language warning, some viewers and Letters of the Alphabet > may be offended by the following content. > > https://www.youtube.com/watch?v=fPzAABMozs0 "offended" No; it was far too childish and ill-informed to offend me. Richmond. > > Martin > > Martin > > > > > -- > Sent from: http://runtime-revolution.278305.n4.nabble.com/Revolution-User-f278306.html > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From SMACLEAN at MADMANSOFT.COM Sun Aug 26 13:51:49 2018 From: SMACLEAN at MADMANSOFT.COM (Stephen MacLean) Date: Sun, 26 Aug 2018 13:51:49 -0400 Subject: LC 9 and Memory In-Reply-To: <36f4775637a4dfe30de95f942eb9b83f@livecode.com> References: <5fd27255725a8b31ff0c91d06fb9575c@livecode.com> <174FAE16-DF46-497A-8D62-CF7C974783CC@madmansoft.com> <36f4775637a4dfe30de95f942eb9b83f@livecode.com> Message-ID: Hi Mark, Here is one from when the app hit the half way point in it?s processing run: Process: LiveCode-Business [799] Path: /Applications/LiveCode Business 9.0.1 (rc 2).app/Contents/MacOS/LiveCode-Business Load Address: 0x10d387000 Identifier: com.runrev.livecode Version: 9.0.1.15101 [RC 2] (9.0.1.15101 [RC 2]) Code Type: X86-64 Parent Process: ??? [1] Date/Time: 2018-08-26 01:24:06.956 -0400 Launch Time: 2018-08-25 22:42:23.095 -0400 OS Version: Mac OS X 10.12.6 (16G1510) Report Version: 7 Analysis Tool: /Applications/Xcode.app/Contents/Developer/usr/bin/heap Analysis Tool Version: Xcode 9.2 (9C40b) ---- Process 799: 6 zones Zone DefaultMallocZone_0x10ee3a000: Overall size: 149641216KB; 520214585 nodes malloced for 28100061KB (18% of capacity); largest unused: [0x6003c9060040-1664KB] Zone DefaultPurgeableMallocZone_0x11264e000: Overall size: 49836KB; 75 nodes malloced for 49828KB (99% of capacity); largest unused: [0x11daad000-11352KB] Zone GFXMallocZone_0x10e5d5000: Overall size: 10240KB; 46 nodes malloced for 8KB (0% of capacity); largest unused: [0x7fd853001400-8187KB] Zone MallocHelperZone_0x10e4f0000: Overall size: 2976716KB; 508527 nodes malloced for 1998382KB (67% of capacity); largest unused: [0x119aa3000-12876KB] Zone QuartzCore_0x111cac000: Overall size: 20480KB; 4 nodes malloced for 5KB (0% of capacity); largest unused: [0x7fd851800000-8192KB] Zone x-alloc_0x7fd84b028000: Overall size: 20KB; 5 nodes malloced for 1KB (5% of capacity); largest unused: [0x111cde000-8KB] All zones: 520723242 nodes malloced - 30148282KB I?d love to send you that one from near the end? LC was taking up almost 59GB of memory, memory pressure was insane, over 30 GB of compressed memory, 15GB swap file, finder having me force quit the few apps I had open. Tried to run heap, but after 3 hours it caused a kernel panic and the computer rebooted. I can send you the full file if needed. Any help is appreciated. Thanks, Steve MacLean > On Aug 13, 2018, at 2:07 PM, Mark Waddingham via use-livecode wrote: > > On 2018-08-13 20:01, Stephen MacLean via use-livecode wrote: >> Hi Mark, >> Yes, doing quite a bit, which LC handles just fine:) Except for these >> with big queries;) I do want to mention that I call plenty of >> functions, so it?s not a real tight loop, just a loop with a lot going >> on. >> Ok, will do the next time I run one of these? These big batches take >> about 5 hours to run. > > From what you said in your other message this could well be a memory-leak... > > However, the other potential cause is what's called 'heap-fragmentation'. Whilst memory is being freed correctly, sometimes certain use patterns can cause the C heap to consist of 'mostly free space', but having no contiguous block large enough to allocate some of the blocks of memory you are using - so the heap gets extended. When you do free a 'big block' it gets used up by lots of small blocks. > > Basically, the heap becomes like a block of swiss-cheese - you can fit small things in the holes, but nothing big. > > The 'heap' report will help determine what's going on there (you don't need to run it until you get to the exhaustion point - just for a while until you see the gradually continual rise). > > By looking at the report it is possible to tell the actual % of memory in use in the heap overall. > > Is there any way to split up the processing of a single batch into pieces, each run in its own process (sequentially?) - that approach actually gives you two things - (1) a fix to the exhaustion problem you are having and (2) the ability to recover most of the batch if one piece fails. > > Warmest Regards, > > Mark. > > -- > Mark Waddingham ~ mark at livecode.com ~ http://www.livecode.com/ > LiveCode: Everyone can create apps > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From tom at makeshyft.com Sun Aug 26 20:14:12 2018 From: tom at makeshyft.com (Tom Glod) Date: Sun, 26 Aug 2018 20:14:12 -0400 Subject: LC 9 and Memory In-Reply-To: References: <5fd27255725a8b31ff0c91d06fb9575c@livecode.com> <174FAE16-DF46-497A-8D62-CF7C974783CC@madmansoft.com> <36f4775637a4dfe30de95f942eb9b83f@livecode.com> Message-ID: just wondering whats the last version in which it didn't do this? On Sun, Aug 26, 2018 at 1:52 PM Stephen MacLean via use-livecode < use-livecode at lists.runrev.com> wrote: > Hi Mark, > > Here is one from when the app hit the half way point in it?s processing > run: > > Process: LiveCode-Business [799] > Path: /Applications/LiveCode Business 9.0.1 (rc > 2).app/Contents/MacOS/LiveCode-Business > Load Address: 0x10d387000 > Identifier: com.runrev.livecode > Version: 9.0.1.15101 [RC 2] (9.0.1.15101 [RC 2]) > Code Type: X86-64 > Parent Process: ??? [1] > > Date/Time: 2018-08-26 01:24:06.956 -0400 > Launch Time: 2018-08-25 22:42:23.095 -0400 > OS Version: Mac OS X 10.12.6 (16G1510) > Report Version: 7 > Analysis Tool: /Applications/Xcode.app/Contents/Developer/usr/bin/heap > Analysis Tool Version: Xcode 9.2 (9C40b) > ---- > > Process 799: 6 zones > Zone DefaultMallocZone_0x10ee3a000: Overall size: 149641216KB; 520214585 > nodes malloced for 28100061KB (18% of capacity); largest unused: > [0x6003c9060040-1664KB] > Zone DefaultPurgeableMallocZone_0x11264e000: Overall size: 49836KB; 75 > nodes malloced for 49828KB (99% of capacity); largest unused: > [0x11daad000-11352KB] > Zone GFXMallocZone_0x10e5d5000: Overall size: 10240KB; 46 nodes malloced > for 8KB (0% of capacity); largest unused: [0x7fd853001400-8187KB] > Zone MallocHelperZone_0x10e4f0000: Overall size: 2976716KB; 508527 nodes > malloced for 1998382KB (67% of capacity); largest unused: > [0x119aa3000-12876KB] > Zone QuartzCore_0x111cac000: Overall size: 20480KB; 4 nodes malloced for > 5KB (0% of capacity); largest unused: [0x7fd851800000-8192KB] > Zone x-alloc_0x7fd84b028000: Overall size: 20KB; 5 nodes malloced for 1KB > (5% of capacity); largest unused: [0x111cde000-8KB] > All zones: 520723242 nodes malloced - 30148282KB > > I?d love to send you that one from near the end? LC was taking up almost > 59GB of memory, memory pressure was insane, over 30 GB of compressed > memory, 15GB swap file, finder having me force quit the few apps I had > open. Tried to run heap, but after 3 hours it caused a kernel panic and the > computer rebooted. > > > I can send you the full file if needed. Any help is appreciated. > > Thanks, > > Steve MacLean > > > On Aug 13, 2018, at 2:07 PM, Mark Waddingham via use-livecode < > use-livecode at lists.runrev.com> wrote: > > > > On 2018-08-13 20:01, Stephen MacLean via use-livecode wrote: > >> Hi Mark, > >> Yes, doing quite a bit, which LC handles just fine:) Except for these > >> with big queries;) I do want to mention that I call plenty of > >> functions, so it?s not a real tight loop, just a loop with a lot going > >> on. > >> Ok, will do the next time I run one of these? These big batches take > >> about 5 hours to run. > > > > From what you said in your other message this could well be a > memory-leak... > > > > However, the other potential cause is what's called > 'heap-fragmentation'. Whilst memory is being freed correctly, sometimes > certain use patterns can cause the C heap to consist of 'mostly free > space', but having no contiguous block large enough to allocate some of the > blocks of memory you are using - so the heap gets extended. When you do > free a 'big block' it gets used up by lots of small blocks. > > > > Basically, the heap becomes like a block of swiss-cheese - you can fit > small things in the holes, but nothing big. > > > > The 'heap' report will help determine what's going on there (you don't > need to run it until you get to the exhaustion point - just for a while > until you see the gradually continual rise). > > > > By looking at the report it is possible to tell the actual % of memory > in use in the heap overall. > > > > Is there any way to split up the processing of a single batch into > pieces, each run in its own process (sequentially?) - that approach > actually gives you two things - (1) a fix to the exhaustion problem you are > having and (2) the ability to recover most of the batch if one piece fails. > > > > Warmest Regards, > > > > Mark. > > > > -- > > Mark Waddingham ~ mark at livecode.com ~ http://www.livecode.com/ > > LiveCode: Everyone can create apps > > > > _______________________________________________ > > use-livecode mailing list > > use-livecode at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From smaclean at madmansoft.com Sun Aug 26 21:08:35 2018 From: smaclean at madmansoft.com (Stephen MacLean) Date: Sun, 26 Aug 2018 21:08:35 -0400 Subject: LC 9 and Memory In-Reply-To: References: <5fd27255725a8b31ff0c91d06fb9575c@livecode.com> <174FAE16-DF46-497A-8D62-CF7C974783CC@madmansoft.com> <36f4775637a4dfe30de95f942eb9b83f@livecode.com> Message-ID: <98536308-C2EF-4AFB-9B94-B714EF9DCC36@madmansoft.com> > On Aug 26, 2018, at 8:14 PM, Tom Glod via use-livecode wrote: > > just wondering whats the last version in which it didn't do this? > If this was to me, I wouldn?t know? this project was created in LC 9. Best, Steve From tom at makeshyft.com Sun Aug 26 23:58:37 2018 From: tom at makeshyft.com (Tom Glod) Date: Sun, 26 Aug 2018 23:58:37 -0400 Subject: LC 9 and Memory In-Reply-To: <98536308-C2EF-4AFB-9B94-B714EF9DCC36@madmansoft.com> References: <5fd27255725a8b31ff0c91d06fb9575c@livecode.com> <174FAE16-DF46-497A-8D62-CF7C974783CC@madmansoft.com> <36f4775637a4dfe30de95f942eb9b83f@livecode.com> <98536308-C2EF-4AFB-9B94-B714EF9DCC36@madmansoft.com> Message-ID: answers my question. thanks. i keep eye on threads about bugs that could affect my projects, and memory leaks are a big danger since once of my apps is intended to never close. Cheers...i hope you find the reason for the runaways mem usage. On Sun, Aug 26, 2018 at 9:08 PM Stephen MacLean via use-livecode < use-livecode at lists.runrev.com> wrote: > > > On Aug 26, 2018, at 8:14 PM, Tom Glod via use-livecode < > use-livecode at lists.runrev.com> wrote: > > > > just wondering whats the last version in which it didn't do this? > > > > If this was to me, I wouldn?t know? this project was created in LC 9. > > Best, > > Steve > > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From brahma at hindu.org Mon Aug 27 02:19:02 2018 From: brahma at hindu.org (Sannyasin Brahmanathaswami) Date: Mon, 27 Aug 2018 06:19:02 +0000 Subject: Datagrid Scrolling References: <1535212927416-0.post@n4.nabble.com> Message-ID: I'm in a similar bind. Going back to 8 will up unacceptable. So many problems with Android. I have to stay with 9.01.RC2...But now i invested time learing in DG... so I can't release? [He pounds his head on the desk. "Oh Wow is me...after 2 years STILL can't release a decent Android app!"] I guess I have abandon DG and go for with a manually built, all-controls-on-the-same-front group, method. Unless HQ can give us a head up as to when 9.1 will be released? On 8/25/18 6:02 AM, hlowe via use-livecode wrote: > I agree. There has been a very significant deterioration in datagrid > scrolling performance since DG2 and LC9 were introduced. Based on feedback > from user testing we have delayed release of an important iOS app update > because DG scrolling was perceived to be unacceptably slow and visually > jerky. The currently released version of the app uses LC8, DG1 and Monte's > mergDatagridScroller code and it scrolls very smoothly. > > DG2 is a wonderful update with many exciting new features. I do hope that > the scrolling performance issue can be addressed soon, so that we can take > advantage of the update. > > Henry > > Ascriva Health Informatics > https://www.ascriva.com From panos.merakos at livecode.com Mon Aug 27 07:58:16 2018 From: panos.merakos at livecode.com (panagiotis merakos) Date: Mon, 27 Aug 2018 14:58:16 +0300 Subject: [ANN] This Week in LiveCode 143 Message-ID: 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 #143 here: https://goo.gl/9XrMGR 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 From andrew at midwestcoastmedia.com Mon Aug 27 10:36:21 2018 From: andrew at midwestcoastmedia.com (andrew at midwestcoastmedia.com) Date: Mon, 27 Aug 2018 14:36:21 +0000 Subject: Datagrid Scrolling In-Reply-To: Message-ID: <20180827143621.Horde.a8jY98DjCqBP7eSAwr5ns1-@ua850258.serversignin.com> I agree, and my clients have confirmed, that scrolling with dg2 is jerky compared to dg1. This isn't as noticeable when scrolling at a fast rate, but very evident at slower speeds. https://quality.livecode.com/show_bug.cgi?id=20910 As Sannyasin mentioned, I can't go back to LC8 due to lack of iOS12 compatibility (smooth scrolling is important, but not at the cost of the app not even launching). --Andrew Bell > From: hlowe > Subject: Re: Datagrid Scrolling > Message-ID: <1535212927416-0.post at n4.nabble.com> > > I agree. There has been a very significant deterioration in datagrid > scrolling performance since DG2 and LC9 were introduced. Based on feedback > from user testing we have delayed release of an important iOS app update > because DG scrolling was perceived to be unacceptably slow and visually > jerky. The currently released version of the app uses LC8, DG1 and Monte's > mergDatagridScroller code and it scrolls very smoothly. > > DG2 is a wonderful update with many exciting new features. I do hope that > the scrolling performance issue can be addressed soon, so that we can take > advantage of the update. > > Henry > > Ascriva Health Informatics > https://www.ascriva.com From bobsneidar at iotecdigital.com Mon Aug 27 10:48:20 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Mon, 27 Aug 2018 14:48:20 +0000 Subject: Load data into a tree view In-Reply-To: <0cc401d43bf5$5589d670$009d8350$@themartinz.com> References: <6B84190F-0EB0-4ED8-95C6-CB19375B492C@iotecdigital.com> <73EEBEAE-D90E-4ACB-9D78-756E8A5FA574@iotecdigital.com> <0cc401d43bf5$5589d670$009d8350$@themartinz.com> Message-ID: <95C2ACAE-9818-4A10-839A-D94FA6A27583@iotecdigital.com> No XMLtoJSON that I can see. Bob S > On Aug 24, 2018, at 14:56 , Clarence Martin via use-livecode wrote: > > Doesn't livecode have an xml to json and then json to array functions > already? > > Sincerely, > > Clarence Martin From chipsm at themartinz.com Mon Aug 27 10:56:36 2018 From: chipsm at themartinz.com (chipsm at themartinz.com) Date: Mon, 27 Aug 2018 07:56:36 -0700 Subject: Load data into a tree view In-Reply-To: <95C2ACAE-9818-4A10-839A-D94FA6A27583@iotecdigital.com> References: <6B84190F-0EB0-4ED8-95C6-CB19375B492C@iotecdigital.com> <73EEBEAE-D90E-4ACB-9D78-756E8A5FA574@iotecdigital.com> <0cc401d43bf5$5589d670$009d8350$@themartinz.com> <95C2ACAE-9818-4A10-839A-D94FA6A27583@iotecdigital.com> Message-ID: <00cf01d43e16$288f2760$79ad7620$@themartinz.com> I thought that this can be done in a two step process. Sincerely, Clarence Martin Email: Chipsm at themartinz.com Cell: 626 696-5561 -----Original Message----- From: use-livecode On Behalf Of Bob Sneidar via use-livecode Sent: Monday, August 27, 2018 7:48 AM To: How to use LiveCode Cc: Bob Sneidar Subject: Re: Load data into a tree view No XMLtoJSON that I can see. Bob S > On Aug 24, 2018, at 14:56 , Clarence Martin via use-livecode wrote: > > Doesn't livecode have an xml to json and then json to array functions > already? > > Sincerely, > > Clarence Martin _______________________________________________ use-livecode mailing list use-livecode at lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode From Bernd.Niggemann at uni-wh.de Mon Aug 27 17:12:31 2018 From: Bernd.Niggemann at uni-wh.de (Niggemann, Bernd) Date: Mon, 27 Aug 2018 21:12:31 +0000 Subject: Best way to store videos Message-ID: <910C8BD7-0A56-4427-B2F6-633E17C268F6@uni-wh.de> J. Landman Gay via use-livecode Fri, 24 Aug 2018 14:11:29 -0700 On 8/24/18 3:42 PM, Monte Goulding via use-livecode wrote: On 25 Aug 2018, at 5:44 am, J. Landman Gay via use-livecode > wrote: Search the LC 9 dictionary for the commands that start with AWS and AWSS3 to see what it available to you. Mac and iOS only though. :( mergAWS is Mac and iOS but LC 9 has a script library that is cross platform. Oh cool. :) I was trying out Tiny Dictionary and it isn't in there. Just found it in the main dictionary. -- Jacqueline Landman Gay | jac... at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com When using Tiny Dictionary in the option menu either choose "All" and search for "aws" or choose from the option menu "library.aws". If you start your search with a quote it will return whatever starts with "aws". Of course this only works in versions of LC that offer that library. For the aws-library 9.0. Kind regards Bernd From jacque at hyperactivesw.com Mon Aug 27 18:21:57 2018 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Mon, 27 Aug 2018 17:21:57 -0500 Subject: Best way to store videos In-Reply-To: <910C8BD7-0A56-4427-B2F6-633E17C268F6@uni-wh.de> References: <910C8BD7-0A56-4427-B2F6-633E17C268F6@uni-wh.de> Message-ID: <7ae4b55e-ac4a-0219-4fe0-35ac30dc7211@hyperactivesw.com> On 8/27/18 4:12 PM, Niggemann, Bernd via use-livecode wrote: > When using Tiny Dictionary in the option menu either choose "All" and search for "aws" or choose from the option menu "library.aws". If you start your search with a quote it will return whatever starts with "aws". > Of course this only works in versions of LC that offer that library. For the aws-library 9.0. I should have updated my comment so you wouldn't worry. :) I did find the listings later. I was using the latest LC 9.0.1 when I wrote that, but the dictionary hadn't updated from RC-1. I closed it and re-opened it manually from the Plugins menu and the newer content appeared. I'm not sure why it used old data when I launched the latest LC release. I like Tiny Dictionary a lot, so I set it up to open automatically on launch using the plugin settings. That's when it didn't update. Manually closing and re-opening it worked. -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com From dochawk at gmail.com Mon Aug 27 19:03:04 2018 From: dochawk at gmail.com (Dr. Hawkins) Date: Mon, 27 Aug 2018 16:03:04 -0700 Subject: textHeight changing again when copying fields from one stack to another Message-ID: I licked this a few years ago, but forget how. I have fields being copied from one stack to another (actually, the group is copied) for output purposes. the sharedText and lockText are both set to true, and maintenance routines cause the textHeight to be set to my custom property txtHgt. I'm seeing fields change from a set textHeight of 12 to default/italic displayed 11 on the new cards. Could someone kindly remind me how to deal with this? -- Dr. Richard E. Hawkins, Esq. (702) 508-8462 From paul at researchware.com Mon Aug 27 20:06:05 2018 From: paul at researchware.com (Paul Dupuis) Date: Mon, 27 Aug 2018 20:06:05 -0400 Subject: textHeight changing again when copying fields from one stack to another In-Reply-To: References: Message-ID: <12a03f45-909e-d938-c220-6ca9b5378dd8@researchware.com> On 8/27/2018 7:03 PM, Dr. Hawkins via use-livecode wrote: > I licked this a few years ago, but forget how. > > I have fields being copied from one stack to another (actually, the group > is copied) for output purposes. > > the sharedText and lockText are both set to true, and maintenance routines > cause the textHeight to be set to my custom property txtHgt. > > I'm seeing fields change from a set textHeight of 12 to default/italic > displayed 11 on the new cards. > > Could someone kindly remind me how to deal with this? > I would expect you need to explicit set the textHeight of the field before copying. Otherwise it inherits the textHeight value from its parent object all the way up to the stack (or LiveCode) defaults. From martyknappster at gmail.com Mon Aug 27 20:40:25 2018 From: martyknappster at gmail.com (Knapp Martin) Date: Mon, 27 Aug 2018 17:40:25 -0700 Subject: Datagrid substack question Message-ID: <798D87AF-A0EF-4EA8-8171-E8C9E35E84FF@gmail.com> I'm developing an app that has a half dozen template stacks that users can edit. These each have a datagrid. I made a "master" template stack with the common features and then cloned this stack and modified the clones for that stack's specific features. But as the datagrid created a substack and each has the same name in the individual stacks, I get the dreaded "a stack by this name is already open" when I close one stack and open the next. I set the "purge stack on close" to true but I still get the message occasionally (which makes no sense). So I thought I would change the name of the datagrid sub stack to a unique name in each stack but that breaks the connection to the actual datagrid and causes errors. Any advice on what I should do? Marty From dochawk at gmail.com Mon Aug 27 21:00:25 2018 From: dochawk at gmail.com (Dr. Hawkins) Date: Mon, 27 Aug 2018 18:00:25 -0700 Subject: textHeight changing again when copying fields from one stack to another In-Reply-To: <12a03f45-909e-d938-c220-6ca9b5378dd8@researchware.com> References: <12a03f45-909e-d938-c220-6ca9b5378dd8@researchware.com> Message-ID: On Mon, Aug 27, 2018 at 5:06 PM, Paul Dupuis via use-livecode < use-livecode at lists.runrev.com> wrote: > > I would expect you need to explicit set the textHeight of the field > before copying. Otherwise it inherits the textHeight value from its > parent object all the way up to the stack (or LiveCode) defaults. > > Oh, it's set alright. When the project opens, routines run, bumping versions for a new day. And when that happens, it goes through every field and sets the textHeight to the custom txtHgt. textHeight is set for the source, but when it's group copies over, this property is lost. -- Dr. Richard E. Hawkins, Esq. (702) 508-8462 From capellan2000 at gmail.com Mon Aug 27 21:32:04 2018 From: capellan2000 at gmail.com (Alejandro Tejada) Date: Mon, 27 Aug 2018 21:32:04 -0400 Subject: LC-ImageToolbox_v185 In-Reply-To: References: Message-ID: Thanks a lot! This week, I will find time to study and learn from your work. By the way, reading the links that you posted, I found about other dither algorithms: Riemersma Dither and Stochastic Dithering. Have a nice week! Al On Sun, 26 Aug 2018 12:09:47 +0200 > Hermann wrote: > > LC-ImageToolbox_v185 adds Color-Dithering which does a 1-Bit-Dithering for > each of the R-G-B-channels (1-Bit-Methods: Atkinson, Burkes, > Floyd-Steinberg, > Javis-Judice-Ninke, Sierra-twoRow, Stucki). > > For more info see > http://forums.livecode.com/viewtopic.php?p=170620#p170620 > > From bernd.niggemann at uni-wh.de Mon Aug 27 22:02:58 2018 From: bernd.niggemann at uni-wh.de (BNig) Date: Mon, 27 Aug 2018 21:02:58 -0500 (CDT) Subject: Best way to store videos In-Reply-To: <7ae4b55e-ac4a-0219-4fe0-35ac30dc7211@hyperactivesw.com> References: <28B3C247-5A40-4BC7-9C9E-AC0DBB851591@mac.com> <7DECCB60-04F9-4EEF-8ABA-941A8B142F61@mac.com> <13F05790-3659-448A-A102-B33EF2DB5942@gmail.com> <910C8BD7-0A56-4427-B2F6-633E17C268F6@uni-wh.de> <7ae4b55e-ac4a-0219-4fe0-35ac30dc7211@hyperactivesw.com> Message-ID: <1535421778208-0.post@n4.nabble.com> J. Landman Gay via use-livecode wrote > On 8/27/18 4:12 PM, Niggemann, Bernd via use-livecode wrote: >> When using Tiny Dictionary in the option menu either choose "All" and >> search for "aws" or choose from the option menu "library.aws". If you >> start your search with a quote it will return whatever starts with "aws". >> Of course this only works in versions of LC that offer that library. For >> the aws-library 9.0. > > I should have updated my comment so you wouldn't worry. :) I did find > the listings later. I was using the latest LC 9.0.1 when I wrote that, > but the dictionary hadn't updated from RC-1. I closed it and re-opened > it manually from the Plugins menu and the newer content appeared. > > I'm not sure why it used old data when I launched the latest LC release. > I like Tiny Dictionary a lot, so I set it up to open automatically on > launch using the plugin settings. That's when it didn't update. Manually > closing and re-opening it worked. > > -- > Jacqueline Landman Gay That baffles me because Tiny Dictionary only "knows" the path to the documentation folder of the currently running LC. Even when running multiple versions of LC concurrently it will only ever use the path to the documentation folder of that specific version regardless of whether it is opened manually or automatically as a plug-in at launch. If that should happen again, please tell me so. Kind regards Bernd -- Sent from: http://runtime-revolution.278305.n4.nabble.com/Revolution-User-f278306.html From brahma at hindu.org Tue Aug 28 00:58:54 2018 From: brahma at hindu.org (Sannyasin Brahmanathaswami) Date: Tue, 28 Aug 2018 04:58:54 +0000 Subject: For those who do not know lcTasklist References: Message-ID: Looks like I need this, so on everyone's recommendation I bought it. 1) Where is the documentation? 2) Can you make "ignore" the Datagrid templates after they been instantiated? One get many "Note" from every instance? BR On 8/20/18 1:44 PM, Matthias Rebbe via use-livecode wrote: > I?ve purchased the plugin lcTasklist a long time ago and used it now and then. > But now i am totally in love with this great tool. From bogdanoff at me.com Tue Aug 28 02:07:18 2018 From: bogdanoff at me.com (Peter Bogdanoff) Date: Mon, 27 Aug 2018 23:07:18 -0700 Subject: For those who do not know lcTasklist In-Reply-To: References: Message-ID: <7E9FA9AA-5EA0-4CC4-9C19-282907F66449@me.com> There?s a help icon at the bottom of the window that explains everything. However, with Livecode 9 I was finding that lcTasklist seemed to be causing strange things in the script editor when editing an existing script?the new completion features were misfiring and scrambling things. I had to go to a backup of my script and then remove lcTasklist completely. Peter > On Aug 27, 2018, at 9:58 PM, Sannyasin Brahmanathaswami via use-livecode wrote: > > Looks like I need this, so on everyone's recommendation I bought it. > > 1) Where is the documentation? > > 2) Can you make "ignore" the Datagrid templates after they been > instantiated? One get many "Note" from every instance? > > BR > > > > On 8/20/18 1:44 PM, Matthias Rebbe via use-livecode wrote: >> I?ve purchased the plugin lcTasklist a long time ago and used it now and then. >> But now i am totally in love with this great tool. > > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From zryip.theslug at gmail.com Tue Aug 28 03:31:39 2018 From: zryip.theslug at gmail.com (zryip theSlug) Date: Tue, 28 Aug 2018 09:31:39 +0200 Subject: Datagrid substack question In-Reply-To: <798D87AF-A0EF-4EA8-8171-E8C9E35E84FF@gmail.com> References: <798D87AF-A0EF-4EA8-8171-E8C9E35E84FF@gmail.com> Message-ID: Marty, You have to change the row template property of your datagrid to point it to the template group located in your renamed substack. set the dgProps["row template"] of grp "myDatagrid" to the long id of grp "myGrpTemplate" of cd "myCardTemplate" of stack "myTemplateStack" On Tue, Aug 28, 2018 at 2:40 AM Knapp Martin via use-livecode < use-livecode at lists.runrev.com> wrote: > I'm developing an app that has a half dozen template stacks that users can > edit. These each have a datagrid. I made a "master" template stack with the > common features and then cloned this stack and modified the clones for that > stack's specific features. But as the datagrid created a substack and each > has the same name in the individual stacks, I get the dreaded "a stack by > this name is already open" when I close one stack and open the next. I set > the "purge stack on close" to true but I still get the message occasionally > (which makes no sense). So I thought I would change the name of the > datagrid sub stack to a unique name in each stack but that breaks the > connection to the actual datagrid and causes errors. Any advice on what I > should do? > > Marty > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > -- Zryip TheSlug http://www.aslugontheroad.com From matthias_livecode_150811 at m-r-d.de Tue Aug 28 05:06:23 2018 From: matthias_livecode_150811 at m-r-d.de (Matthias Rebbe) Date: Tue, 28 Aug 2018 11:06:23 +0200 Subject: For those who do not know lcTasklist In-Reply-To: <7E9FA9AA-5EA0-4CC4-9C19-282907F66449@me.com> References: <7E9FA9AA-5EA0-4CC4-9C19-282907F66449@me.com> Message-ID: <999281B6-A703-4E82-A0C8-9D123A708204@m-r-d.de> I am working with lcTasklist and LC 9 (now 9.01RC2) for months w/o problems here on Mac OS X. Matthias > Am 28.08.2018 um 08:07 schrieb Peter Bogdanoff via use-livecode : > > There?s a help icon at the bottom of the window that explains everything. > > However, with Livecode 9 I was finding that lcTasklist seemed to be causing strange things in the script editor when editing an existing script?the new completion features were misfiring and scrambling things. I had to go to a backup of my script and then remove lcTasklist completely. > > Peter > > >> On Aug 27, 2018, at 9:58 PM, Sannyasin Brahmanathaswami via use-livecode wrote: >> >> Looks like I need this, so on everyone's recommendation I bought it. >> >> 1) Where is the documentation? >> >> 2) Can you make "ignore" the Datagrid templates after they been >> instantiated? One get many "Note" from every instance? >> >> BR >> >> >> >> On 8/20/18 1:44 PM, Matthias Rebbe via use-livecode wrote: >>> I?ve purchased the plugin lcTasklist a long time ago and used it now and then. >>> But now i am totally in love with this great tool. >> >> >> >> _______________________________________________ >> use-livecode mailing list >> use-livecode at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From matthias_livecode_150811 at m-r-d.de Tue Aug 28 05:13:36 2018 From: matthias_livecode_150811 at m-r-d.de (Matthias Rebbe) Date: Tue, 28 Aug 2018 11:13:36 +0200 Subject: For those who do not know lcTasklist In-Reply-To: References: Message-ID: <6099991A-E55F-4BD9-ACC9-A9DB86CC4CC2@m-r-d.de> > Am 28.08.2018 um 06:58 schrieb Sannyasin Brahmanathaswami via use-livecode : > > Looks like I need this, so on everyone's recommendation I bought it. > > > 2) Can you make "ignore" the Datagrid templates after they been > instantiated? One get many "Note" from every instance? There are 2 possible ways to get rid of that notes. Either: With only the datagrid and lcTasklist plugins opened, you should only see 2 or 3 notes. Click on each note to open the script editor. you?ll will see the note right away. Change the keyword and save after you?ve changed the scripts. Or: If i remember right that notes use all the index word TODO. Remove that keyword from the Active Index Words field in lcTaskList preferences/Words. > > BR > > > > On 8/20/18 1:44 PM, Matthias Rebbe via use-livecode wrote: >> I?ve purchased the plugin lcTasklist a long time ago and used it now and then. >> But now i am totally in love with this great tool. > > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From hh at hyperhh.de Tue Aug 28 10:08:05 2018 From: hh at hyperhh.de (hh) Date: Tue, 28 Aug 2018 16:08:05 +0200 Subject: ImageStatistics_v100 Message-ID: <5017E677-097F-4C68-9E9E-0794320F7802@hyperhh.de> ImageStatistics_v100 is a very fast computation of the color-values distribution of an image for each of the R/G/B-channels and the 'mean channel' (= grayscaled image). You get the raw data and select for the display the number of bins (one of 2, 4, 8, 16, 32, 64, 128, 256) for the values range 0-255. For more info see http://forums.livecode.com/viewtopic.php?p=170716#p170716 From martyknappster at gmail.com Tue Aug 28 12:13:43 2018 From: martyknappster at gmail.com (Knapp Martin) Date: Tue, 28 Aug 2018 09:13:43 -0700 Subject: Datagrid substack question In-Reply-To: References: <798D87AF-A0EF-4EA8-8171-E8C9E35E84FF@gmail.com> Message-ID: Thanks zryip - I?ll give that a try! Marty > On Aug 28, 2018, at 12:31 AM, zryip theSlug via use-livecode wrote: > > Marty, > > You have to change the row template property of your datagrid to point it > to the template group located in your renamed substack. > > set the dgProps["row template"] of grp "myDatagrid" to the long id of grp > "myGrpTemplate" of cd "myCardTemplate" of stack "myTemplateStack" > > On Tue, Aug 28, 2018 at 2:40 AM Knapp Martin via use-livecode < > use-livecode at lists.runrev.com> wrote: > >> I'm developing an app that has a half dozen template stacks that users can >> edit. These each have a datagrid. I made a "master" template stack with the >> common features and then cloned this stack and modified the clones for that >> stack's specific features. But as the datagrid created a substack and each >> has the same name in the individual stacks, I get the dreaded "a stack by >> this name is already open" when I close one stack and open the next. I set >> the "purge stack on close" to true but I still get the message occasionally >> (which makes no sense). So I thought I would change the name of the >> datagrid sub stack to a unique name in each stack but that breaks the >> connection to the actual datagrid and causes errors. Any advice on what I >> should do? >> >> Marty From tom at makeshyft.com Tue Aug 28 12:32:59 2018 From: tom at makeshyft.com (Tom Glod) Date: Tue, 28 Aug 2018 12:32:59 -0400 Subject: ImageStatistics_v100 In-Reply-To: <5017E677-097F-4C68-9E9E-0794320F7802@hyperhh.de> References: <5017E677-097F-4C68-9E9E-0794320F7802@hyperhh.de> Message-ID: thanks for this. On Tue, Aug 28, 2018 at 10:08 AM hh via use-livecode < use-livecode at lists.runrev.com> wrote: > ImageStatistics_v100 is a very fast computation of the color-values > distribution of an image for each of the R/G/B-channels and the > 'mean channel' (= grayscaled image). > > You get the raw data and select for the display the number of bins > (one of 2, 4, 8, 16, 32, 64, 128, 256) for the values range 0-255. > > For more info see > http://forums.livecode.com/viewtopic.php?p=170716#p170716 > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From brahma at hindu.org Tue Aug 28 13:40:28 2018 From: brahma at hindu.org (Sannyasin Brahmanathaswami) Date: Tue, 28 Aug 2018 17:40:28 +0000 Subject: For those who do not know lcTasklist References: <7E9FA9AA-5EA0-4CC4-9C19-282907F66449@me.com> Message-ID: hmmm.... I'm not getting external behaviors /modules look.livecode # which has this behavior assigned: behavior_look.livecodescript #NOTE ??? REVIEW etc. do not appear and the indexing does not happen whether I set to "Main Stacks" and "Open Stacks" On 8/27/18 8:07 PM, Peter Bogdanoff via use-livecode wrote: > There?s a help icon at the bottom of the window that explains everything. From jacque at hyperactivesw.com Tue Aug 28 14:54:26 2018 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Tue, 28 Aug 2018 13:54:26 -0500 Subject: Best way to store videos In-Reply-To: <1535421778208-0.post@n4.nabble.com> References: <28B3C247-5A40-4BC7-9C9E-AC0DBB851591@mac.com> <7DECCB60-04F9-4EEF-8ABA-941A8B142F61@mac.com> <13F05790-3659-448A-A102-B33EF2DB5942@gmail.com> <910C8BD7-0A56-4427-B2F6-633E17C268F6@uni-wh.de> <7ae4b55e-ac4a-0219-4fe0-35ac30dc7211@hyperactivesw.com> <1535421778208-0.post@n4.nabble.com> Message-ID: <77517c44-28d0-475d-4695-2bde7607e2cd@hyperactivesw.com> On 8/27/18 9:02 PM, BNig via use-livecode wrote: > > That baffles me because Tiny Dictionary only "knows" the path to the > documentation folder of the currently running LC. Even when running multiple > versions of LC concurrently it will only ever use the path to the > documentation folder of that specific version regardless of whether it is > opened manually or automatically as a plug-in at launch. It only happened on first launch of newly installed version of LC. Maybe the normal messages aren't sent when the installer finishes and auto-launches the IDE? It's all I can think of, because it's been okay otherwise. But if I see it again I'll let you know. -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com From capellan2000 at gmail.com Wed Aug 29 01:45:24 2018 From: capellan2000 at gmail.com (Alejandro Tejada) Date: Wed, 29 Aug 2018 01:45:24 -0400 Subject: ImageStatistics_v100 In-Reply-To: References: Message-ID: Hermann, Many Thanks for publishing your work! Klaus Major, Wilhelm Sanke, Bernd Niggeman and you are outstanding role models for German developers. Out of curiosity, Have you implemented in LC an image processing algorithm that segment images in background and foreground? For example: https://www.microsoft.com/en-us/research/wp-content/uploads/2016/08/Simard_Malvar_SLIm_DCC2004.pdf https://kma.upol.cz/data/xinha/ULOZISTE/ActaMath/2016/055-1-10.pdf https://www.mathworks.com/help/images/ref/activecontour.html https://en.wikipedia.org/wiki/Foreground_detection https://en.wikipedia.org/wiki/Foreground_detection https://ieeexplore.ieee.org/document/8118166/ Thanks in advance! Al On Tue, Aug 28, 2018 at 6:00 AM Hermann wrote: > ImageStatistics_v100 is a very fast computation of the color-values > distribution of an image for each of the R/G/B-channels and the > 'mean channel' (= grayscaled image). > > You get the raw data and select for the display the number of bins > (one of 2, 4, 8, 16, 32, 64, 128, 256) for the values range 0-255. > > For more info seehttp://forums.livecode.com/viewtopic.php?p=170716#p170716 > > From james at thehales.id.au Wed Aug 29 10:24:41 2018 From: james at thehales.id.au (James Hale) Date: Thu, 30 Aug 2018 00:24:41 +1000 Subject: LiveCode 1.6.1 docset now available Message-ID: <3CB391DD-587D-4F76-8994-7D50C1E28DD3@thehales.id.au> The "LiveCode 1.6.1" documentation set for Dash and Dash compatible is now available via the normal update mechanism for user contributed docsets. This version was compiled from the 9.01rc2 release of Livecode and includes all the guides for the widgets. James From bobsneidar at iotecdigital.com Wed Aug 29 11:15:22 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Wed, 29 Aug 2018 15:15:22 +0000 Subject: Handler Conflict Message-ID: <52710493-C30A-4632-95B0-34F474BC6266@iotecdigital.com> Just a heads up for anyone using Trevor's excellent XML library, the ConvertXMLToArray function has a counterpart in the Android library, and they produce different results! I suspect the ConvertArrayToXML also has a counterpart. Bob S From bobsneidar at iotecdigital.com Wed Aug 29 11:34:19 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Wed, 29 Aug 2018 15:34:19 +0000 Subject: XML to File Message-ID: Hi all. I am working on a project to manage the XML file produced by a copier. The file is a representation of users, groups and permissions, but that is neither here nor there. I have succeeded in getting the XML file converted to a tree view widget array, and now I want to export back to an XML file after editing. Trouble is, there doesn't seem to be a command or function for doing this! I can produce the XML Tree from the array (thanks to Trevor's library) but there is no way it seems to write the XML tree back to a file. Any ideas? Bob S From paul at researchware.com Wed Aug 29 11:41:58 2018 From: paul at researchware.com (Paul Dupuis) Date: Wed, 29 Aug 2018 11:41:58 -0400 Subject: XML to File In-Reply-To: References: Message-ID: <15e35e3d-d181-7be6-ce50-78b32eb44ba0@researchware.com> Look at the revXMLText function in the dictionary On 8/29/2018 11:34 AM, Bob Sneidar via use-livecode wrote: > Hi all. > > I am working on a project to manage the XML file produced by a copier. The file is a representation of users, groups and permissions, but that is neither here nor there. > > I have succeeded in getting the XML file converted to a tree view widget array, and now I want to export back to an XML file after editing. Trouble is, there doesn't seem to be a command or function for doing this! I can produce the XML Tree from the array (thanks to Trevor's library) but there is no way it seems to write the XML tree back to a file. Any ideas? > > Bob S > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From bobsneidar at iotecdigital.com Wed Aug 29 12:07:09 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Wed, 29 Aug 2018 16:07:09 +0000 Subject: XML to File In-Reply-To: <15e35e3d-d181-7be6-ce50-78b32eb44ba0@researchware.com> References: <15e35e3d-d181-7be6-ce50-78b32eb44ba0@researchware.com> Message-ID: <9A41A152-DB6A-45F8-8B30-F208F3E6777C@iotecdigital.com> Oh thanks! Bob S > On Aug 29, 2018, at 08:41 , Paul Dupuis via use-livecode wrote: > > Look at the revXMLText function in the dictionary > > > On 8/29/2018 11:34 AM, Bob Sneidar via use-livecode wrote: >> Hi all. >> >> I am working on a project to manage the XML file produced by a copier. The file is a representation of users, groups and permissions, but that is neither here nor there. >> >> I have succeeded in getting the XML file converted to a tree view widget array, and now I want to export back to an XML file after editing. Trouble is, there doesn't seem to be a command or function for doing this! I can produce the XML Tree from the array (thanks to Trevor's library) but there is no way it seems to write the XML tree back to a file. Any ideas? >> >> Bob S >> >> >> _______________________________________________ >> use-livecode mailing list >> use-livecode at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From tom at makeshyft.com Wed Aug 29 15:01:18 2018 From: tom at makeshyft.com (Tom Glod) Date: Wed, 29 Aug 2018 15:01:18 -0400 Subject: What do we know about LC 10? Message-ID: Hey folks, What do we know about whats coming in LC 10? My only hint was the smile on Kevin's face when he mentioned it when him and Chris were here in March on the develop yourself trip. But he didn't give a single hint. I'm assuming big improvements to widgets and LC builder. I know there is also a store & improved sharing mechanism for developers. Isn't it time to announce the plans sometime soon? :) What do you guys know? From brahma at hindu.org Wed Aug 29 15:38:19 2018 From: brahma at hindu.org (Sannyasin Brahmanathaswami) Date: Wed, 29 Aug 2018 19:38:19 +0000 Subject: fullscreenmode and rect of a substack on mobile device ? References: <004801d43b82$e8a32420$b9e96c60$@FlexibleLearning.com> Message-ID: @Hugh quick update your code worked; but only after turning the phone (resize handler sent) but on preopenstack, preopencard, or opencard setupStackRect fails, because the screenRect is not registered yet (my guess, might be something else) https://quality.livecode.com/show_bug.cgi?id=21538 As a result browser is out a place. Fortunately the user can hit the hardware button to go back. So not having my footer is "not big deal." Android users are using to doing that. So I'm going to release Google Play, can't wait any longer. But if anyone else expects the screenrect to work on preopenstack, preopencard, or opencard if you having trouble.. that's the reason BR on Android the device does not appear to "know it rect) On 8/24/18 4:20 AM, Sannyasin Brahmanathaswami via use-livecode wrote: > I caught typo. > > I get it to work on iOS but not an Android, so I have a ticket to support and that. > > in an app, there is a lot change from on stack another, I frequently have add time from Android to keep up (never on iOS) > > This is so straight forward, I have to assume there is bug (just a quess) in the browser widget "knowing" about the screenRect on Android. > I get the screenrect ( on a button the answer the screen rect).... but the browser widget does pay attention to this following > > > > on preopenstack > > if isMobile() then > > mobileSetAllowedOrientations "portrait,portrait upside down,landscape left,landscape" > > end if > > end preopenstack > > ---------------------- > > # Geometry > > on preopencard > > if isMobile() then > > send "setUpStackRect" to me in 500 milliseconds > > end if > > end preopencard > > on setupStackRect pWidth,pHeight > > if pWidth="" and pHeight="" then > > put the screenRect into tRect > > set the rect of this stack to tRect > > set the topLeft of this stack to item 1 to 2 of tRect > > else > > put the rect of this stack into tRect > > put pWidth into item 3 of tRect > > put pHeight into item 4 of tRect > > set the rect of this stack to tRect > > end if > > set bottom of group "footer" to item 4 of tRect > > set loc group "footer" to round((item 3 of tRect)/2),(item 4 of tRect)-25 > > subtract 50 from item 4 of tRect > > set the rect of widget "body" to tRect > > set the topleft of widget "body" to item 1 to 2 of tRect > > end setupStackRect > > on resizeStack pNewWidth, pNewHeight, pOldWidth, pOldHeight > > # check it is landscape, turn off the navigation Bar > > if pNewWidth > pNewHeight then -- landscape > > put 0, 0, pNewWidth, pNewHeight into tBrowserRect > > set loc widget "body" to ( round(pNewWidth/2), round(pNewHeight/2) ) > > hide group "footer" > > else > > put 0, 0, pNewWidth, pNewHeight - 50 into tBrowserRect > > set loc group "footer" to ( round(pNewWidth/2),pNewHeight-25) > > show group "footer" > > end if > > set the rect of widget "body" of me to tBrowserRect > > end resizeStack > > > On 8/23/18 10:17 PM, FlexibleLearning.com via use-livecode wrote: > > First, I think you have a typo where "/25" should be "-25"... > > Second, for safety, ensure integer values... > set loc group "footer" to round((item 2 of tRect)/2), (item 4 of tRect)-25 > > Third, if still not working on preOpenstack, try... > > on preopenstack > if isMobile() then > mobileSetAllowedOrientations "portrait,portrait upside down,landscape > left,landscape right" > end if > hide this stack > end preopenstack > > on openStack > setupStackRect > show this stack > end openStack > > Hugh From bobsneidar at iotecdigital.com Wed Aug 29 15:51:47 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Wed, 29 Aug 2018 19:51:47 +0000 Subject: Tree View Values Message-ID: <8BAE85CA-3147-4B56-AF8B-AEE14E54D32C@iotecdigital.com> Hi all. Anyone working with tree views will immediately encounter an oddity, where the hilitedElement returns a comma delimited list of the array keys to the clicked item in the tree view. A comma delimited list of keys is almost completely useless if you want to get the value of the actual item clicked on! If the item is an array, it will return that of course. So I wrote a little function for getting the "actual" value of the key in the array corresponding to the selected item. There may be another way to do this baked into the XML library, but I could not discern it. Bob S on hiliteChanged -- this goes into your tree widget script local tElement put the arrayData of me into aTreeData put the hilitedElement of the target into tElement put getArrayKeyValueFromKeyList(aTreeData, tElement) into tKeyValue -- now you have the value pass hiliteChanged end hiliteChanged function getArrayKeyValueFromKeyList aArray, pKeyList -- this can go anywhere in the message path repeat for each item tKey in pKeyList put "[" & quote & tKey & quote & "] " after tArrayKey end repeat put "aArray" && tArrayKey into tArrayElement return value(tArrayElement) end getArrayKeyValueFromKeyList From MikeKerner at roadrunner.com Wed Aug 29 16:03:19 2018 From: MikeKerner at roadrunner.com (Mike Kerner) Date: Wed, 29 Aug 2018 16:03:19 -0400 Subject: What do we know about LC 10? In-Reply-To: References: Message-ID: we don't even have 9.0.1 out yet. On Wed, Aug 29, 2018 at 3:02 PM Tom Glod via use-livecode < use-livecode at lists.runrev.com> wrote: > Hey folks, > > What do we know about whats coming in LC 10? > > My only hint was the smile on Kevin's face when he mentioned it when him > and Chris were here in March on the develop yourself trip. But he didn't > give a single hint. > > I'm assuming big improvements to widgets and LC builder. I know there is > also a store & improved sharing mechanism for developers. > > Isn't it time to announce the plans sometime soon? :) > > What do you guys know? > _______________________________________________ > use-livecode mailing list > use-livecode at 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." From brian at milby7.com Wed Aug 29 16:09:34 2018 From: brian at milby7.com (Brian Milby) Date: Wed, 29 Aug 2018 15:09:34 -0500 Subject: fullscreenmode and rect of a substack on mobile device ? In-Reply-To: References: <004801d43b82$e8a32420$b9e96c60$@FlexibleLearning.com> Message-ID: Aren't you calling this as a sub-stack? If so, could you capture the screen rect before the switch and pass in the data or cache to the file system and read it in? On Wed, Aug 29, 2018 at 2:39 PM Sannyasin Brahmanathaswami via use-livecode wrote: > @Hugh > > quick update > > your code worked; but only after turning the phone (resize handler sent) > > but on preopenstack, preopencard, or opencard > > setupStackRect > > > fails, because the screenRect is not registered yet (my guess, might be > something else) > > https://quality.livecode.com/show_bug.cgi?id=21538 > > > As a result browser is out a place. > > Fortunately the user can hit the hardware button to go back. So not > having my footer is "not big deal." Android users are using to doing that. > > So I'm going to release Google Play, can't wait any longer. > > But if anyone else expects the screenrect to work on > > preopenstack, preopencard, or opencard > > if you having trouble.. that's the reason > > BR > > > > on Android the device does not appear to "know it rect) > > On 8/24/18 4:20 AM, Sannyasin Brahmanathaswami via use-livecode wrote: > > I caught typo. > > > > I get it to work on iOS but not an Android, so I have a ticket to > support and that. > > > > in an app, there is a lot change from on stack another, I frequently > have add time from Android to keep up (never on iOS) > > > > This is so straight forward, I have to assume there is bug (just a > quess) in the browser widget "knowing" about the screenRect on Android. > > I get the screenrect ( on a button the answer the screen rect).... but > the browser widget does pay attention to this following > > > > > > > > on preopenstack > > > > if isMobile() then > > > > mobileSetAllowedOrientations "portrait,portrait upside > down,landscape left,landscape" > > > > end if > > > > end preopenstack > > > > ---------------------- > > > > # Geometry > > > > on preopencard > > > > if isMobile() then > > > > send "setUpStackRect" to me in 500 milliseconds > > > > end if > > > > end preopencard > > > > on setupStackRect pWidth,pHeight > > > > if pWidth="" and pHeight="" then > > > > put the screenRect into tRect > > > > set the rect of this stack to tRect > > > > set the topLeft of this stack to item 1 to 2 of tRect > > > > else > > > > put the rect of this stack into tRect > > > > put pWidth into item 3 of tRect > > > > put pHeight into item 4 of tRect > > > > set the rect of this stack to tRect > > > > end if > > > > set bottom of group "footer" to item 4 of tRect > > > > set loc group "footer" to round((item 3 of tRect)/2),(item 4 of > tRect)-25 > > > > subtract 50 from item 4 of tRect > > > > set the rect of widget "body" to tRect > > > > set the topleft of widget "body" to item 1 to 2 of tRect > > > > end setupStackRect > > > > on resizeStack pNewWidth, pNewHeight, pOldWidth, pOldHeight > > > > # check it is landscape, turn off the navigation Bar > > > > if pNewWidth > pNewHeight then -- landscape > > > > put 0, 0, pNewWidth, pNewHeight into tBrowserRect > > > > set loc widget "body" to ( round(pNewWidth/2), > round(pNewHeight/2) ) > > > > hide group "footer" > > > > else > > > > put 0, 0, pNewWidth, pNewHeight - 50 into tBrowserRect > > > > set loc group "footer" to ( round(pNewWidth/2),pNewHeight-25) > > > > show group "footer" > > > > end if > > > > set the rect of widget "body" of me to tBrowserRect > > > > end resizeStack > > > > > > On 8/23/18 10:17 PM, FlexibleLearning.com via use-livecode wrote: > > > > First, I think you have a typo where "/25" should be "-25"... > > > > Second, for safety, ensure integer values... > > set loc group "footer" to round((item 2 of tRect)/2), (item 4 of > tRect)-25 > > > > Third, if still not working on preOpenstack, try... > > > > on preopenstack > > if isMobile() then > > mobileSetAllowedOrientations "portrait,portrait upside down,landscape > > left,landscape right" > > end if > > hide this stack > > end preopenstack > > > > on openStack > > setupStackRect > > show this stack > > end openStack > > > > Hugh > > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From brian at milby7.com Wed Aug 29 16:35:44 2018 From: brian at milby7.com (Brian Milby) Date: Wed, 29 Aug 2018 15:35:44 -0500 Subject: Tree View Values In-Reply-To: <8BAE85CA-3147-4B56-AF8B-AEE14E54D32C@iotecdigital.com> References: <8BAE85CA-3147-4B56-AF8B-AEE14E54D32C@iotecdigital.com> Message-ID: Here is the handler from the PI: on fetchArrayDataOnPath pPath, pArray, @rData local tKey put item 1 of pPath into tKey if the number of items in pPath is 1 then if tKey is not among the keys of pArray then return "no such key" else put pArray[tKey] into rData return empty end if else delete item 1 of pPath fetchArrayDataOnPath pPath, pArray[tKey], rData end if end fetchArrayDataOnPath On Wed, Aug 29, 2018 at 2:52 PM Bob Sneidar via use-livecode < use-livecode at lists.runrev.com> wrote: > Hi all. > > Anyone working with tree views will immediately encounter an oddity, where > the hilitedElement returns a comma delimited list of the array keys to the > clicked item in the tree view. A comma delimited list of keys is almost > completely useless if you want to get the value of the actual item clicked > on! If the item is an array, it will return that of course. > > So I wrote a little function for getting the "actual" value of the key in > the array corresponding to the selected item. There may be another way to > do this baked into the XML library, but I could not discern it. > > Bob S > > on hiliteChanged > -- this goes into your tree widget script > local tElement > put the arrayData of me into aTreeData > put the hilitedElement of the target into tElement > put getArrayKeyValueFromKeyList(aTreeData, tElement) into tKeyValue -- > now you have the value > pass hiliteChanged > end hiliteChanged > > > function getArrayKeyValueFromKeyList aArray, pKeyList > -- this can go anywhere in the message path > repeat for each item tKey in pKeyList > put "[" & quote & tKey & quote & "] " after tArrayKey > end repeat > > put "aArray" && tArrayKey into tArrayElement > return value(tArrayElement) > end getArrayKeyValueFromKeyList > > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From tom at makeshyft.com Wed Aug 29 16:47:19 2018 From: tom at makeshyft.com (Tom Glod) Date: Wed, 29 Aug 2018 16:47:19 -0400 Subject: What do we know about LC 10? In-Reply-To: References: Message-ID: yeah I know but each new version is in DP for many many months I'm just talking about announcing the plans for the next version. STABLE V8 was 4 May 2016 DP 1 v9 was 17 October 2016 Seems like its a similar timeline relatively speaking now. Some of us have long term plans and it helps to know whats coming so that we can plan along with the development of the platform. On Wed, Aug 29, 2018 at 4:04 PM Mike Kerner via use-livecode < use-livecode at lists.runrev.com> wrote: > we don't even have 9.0.1 out yet. > > On Wed, Aug 29, 2018 at 3:02 PM Tom Glod via use-livecode < > use-livecode at lists.runrev.com> wrote: > > > Hey folks, > > > > What do we know about whats coming in LC 10? > > > > My only hint was the smile on Kevin's face when he mentioned it when him > > and Chris were here in March on the develop yourself trip. But he > didn't > > give a single hint. > > > > I'm assuming big improvements to widgets and LC builder. I know there is > > also a store & improved sharing mechanism for developers. > > > > Isn't it time to announce the plans sometime soon? :) > > > > What do you guys know? > > _______________________________________________ > > use-livecode mailing list > > use-livecode at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From brian at milby7.com Wed Aug 29 16:58:30 2018 From: brian at milby7.com (Brian Milby) Date: Wed, 29 Aug 2018 15:58:30 -0500 Subject: Tree View Values In-Reply-To: References: <8BAE85CA-3147-4B56-AF8B-AEE14E54D32C@iotecdigital.com> Message-ID: Here is another way to do it: function getHilightedValue pTreeWidgetReference local tElement, tArray put the arrayData of pTreeWidgetReference into tArray put the hilitedElement of pTreeWidgetReference into tElement split tElement by comma return tArray[tElement] end getHilightedValue From rdimola at evergreeninfo.net Wed Aug 29 17:37:55 2018 From: rdimola at evergreeninfo.net (Ralph DiMola) Date: Wed, 29 Aug 2018 17:37:55 -0400 Subject: fullscreenmode and rect of a substack on mobile device ? In-Reply-To: References: <004801d43b82$e8a32420$b9e96c60$@FlexibleLearning.com> Message-ID: <003101d43fe0$8ec052e0$ac40f8a0$@net> This function does a lot but takes care of the bad screen rect on startup. It also allows for either sliding up the screen or shrinking the screen. It also allows for the iPhone X safe area. If you get the aspect ratio in the IDE like the iPhone X you can see how the app will look in the safe area. I roll my own control placement using getCardRect to define the screen area. I also always set the pixelScale to 1. This was written on day 2 of using LiveCode so it's not pretty. The nuts and bolts of the bad rect on startup is the line==> "if R2<0 and not the KeyboardOffset of this stack is a number then" The bad rect thing started way back in the middle of the 6s I think This might not help if you use the built in geometry tools, but for what it's worth getCardRect has never failed me .... function getCardRect /* Hi all ... if this is helpful to anyone, I've been able to work out the exact pixel values for the safe area for /* iPhone X using Xcode 9.0. iPhone X overall dimensions 2436 x 1125 pixels Overall safe area 2172 x 1062 pixels Left & right insets (accounts for the notch and curved corners, plus a margin) 132 pixels each Bottom inset (accounts for the bottom nav bar) 63 pixels Top inset zero pixels Portrait dimensions Landscape dimensions 1125px ? 2436px (375pt ? 812pt @3x) 2436px ? 1125px (812pt ? 375pt @3x) Portrait right side up: Left: 0 Top: 44 Pts 132 Pixels Right: 0 Bottom: 34 Pts 102 Pixels Portrait upside down: NOT SUPPORTED Landscape left and right: Left: 16 Pts 48 Pixels Top: 32 Pts 96 Pixels Right: 16 Pts 48 Pixels Bottom: 23 Pts 69 Pixels */ local r1 , r2 , r3 , r4 , tR2 , tR4 --return the rect of this card if the environment is not "mobile" then put item 1 of the rect of this card into R1 put item 2 of the rect of this card into R2 put item 3 of the rect of this card into R3 put item 4 of the rect of this card into R4 else -- Mobile --put the screenrect into tRectTemp if the ignorekeyboard of this stack then put item 1 of the rect of this card into R1 put item 2 of the rect of this card into R2 put item 3 of the rect of this card into R3 put item 4 of the rect of this card into R4 --answer "Here 1" else -- Dont Ignore Keyboard --answer "Here 2" put 0 into R1 put item 3 of the effective working screenrect - item 1 of the effective working screenrect into R3 if the ShrinkKeyboard of this stack then --answer "Here 3" put 0 into R2 put item 4 of the effective working screenrect - item 2 of the effective working screenrect into R4 else -- Dont Shrink Keyboard Slide Up if Instructed --answer "Here 4" put item 2 of the rect of this card into R2 put item 4 of the rect of this card into R4 if the KeyboardOffset of this stack is not empty and the KeyboardOffset of this stack is a number then -- Slide Up --answer "Here 5" --put (item 2 of the effective working screenrect - the KeyboardOffet of this stack) into tR2 --put (item 4 of the effective working screenrect - the KeyboardOffet of this stack) into tR4 put R2 - the KeyboardOffset of this stack into tR2 put R4 - the KeyboardOffset of this stack into tR4 if tR4 > tR2 then --answer "Here 6",tR2,tR4 put tR2 into R2 put tR4 into R4 end if -- Offset out of range end if -- Keyboard Offset end if -- Shrink Keyboard end if --Ignore Keyboard end if -- Mobile if R2<0 and not the KeyboardOffset of this stack is a number then --answer "Here 7",R2,R4 put abs(R2) + R4 into R4 put 0 into R2 end if --return (R1,R2,R3,R4) if the platform = "iPhone" or Dev () then switch case the width of this card = 1125 and the height of this card = 2436 -- Portrait iPhone X return (R1,R2+132,R3,R4-102) break case the width of this card = 2436 and the height of this card = 1125 -- Landscape iPhone X return (R1+48,R2+96,R3-48,R4-69) break case Dev() and the width of this card / the height of this card >= .455 and \ the width of this card / the height of this card <= .467 -- Portrait iPhone X return (R1,R2+(132*(the height of this card / 2436)),R3,R4-(102*(the height of this card / 2436))) break case Dev() and the height of this card / the width of this card >= .455 and \ the height of this card / the width of this card <= .467 -- Landscape iPhone X return (R1+(48*(the width of this card / 2436)),R2+(96*(the height of this card /1125)),R3-(48*(the width of this card / 2436)),R4-(69*(the height of this card / 1125))) break default return (R1,R2,R3,R4) end switch else return (R1,R2,R3,R4) end if end getCardRect Ralph DiMola IT Director Evergreen Information Services rdimola at evergreeninfo.net -----Original Message----- From: use-livecode [mailto:use-livecode-bounces at lists.runrev.com] On Behalf Of Sannyasin Brahmanathaswami via use-livecode Sent: Wednesday, August 29, 2018 3:38 PM To: How to use LiveCode Cc: Sannyasin Brahmanathaswami Subject: Re: fullscreenmode and rect of a substack on mobile device ? @Hugh quick update your code worked; but only after turning the phone (resize handler sent) but on preopenstack, preopencard, or opencard setupStackRect fails, because the screenRect is not registered yet (my guess, might be something else) https://quality.livecode.com/show_bug.cgi?id=21538 As a result browser is out a place. Fortunately the user can hit the hardware button to go back. So not having my footer is "not big deal." Android users are using to doing that. So I'm going to release Google Play, can't wait any longer. But if anyone else expects the screenrect to work on preopenstack, preopencard, or opencard if you having trouble.. that's the reason BR on Android the device does not appear to "know it rect) On 8/24/18 4:20 AM, Sannyasin Brahmanathaswami via use-livecode wrote: > I caught typo. > > I get it to work on iOS but not an Android, so I have a ticket to support and that. > > in an app, there is a lot change from on stack another, I frequently > have add time from Android to keep up (never on iOS) > > This is so straight forward, I have to assume there is bug (just a quess) in the browser widget "knowing" about the screenRect on Android. > I get the screenrect ( on a button the answer the screen rect).... but > the browser widget does pay attention to this following > > > > on preopenstack > > if isMobile() then > > mobileSetAllowedOrientations "portrait,portrait upside down,landscape left,landscape" > > end if > > end preopenstack > > ---------------------- > > # Geometry > > on preopencard > > if isMobile() then > > send "setUpStackRect" to me in 500 milliseconds > > end if > > end preopencard > > on setupStackRect pWidth,pHeight > > if pWidth="" and pHeight="" then > > put the screenRect into tRect > > set the rect of this stack to tRect > > set the topLeft of this stack to item 1 to 2 of tRect > > else > > put the rect of this stack into tRect > > put pWidth into item 3 of tRect > > put pHeight into item 4 of tRect > > set the rect of this stack to tRect > > end if > > set bottom of group "footer" to item 4 of tRect > > set loc group "footer" to round((item 3 of tRect)/2),(item 4 of > tRect)-25 > > subtract 50 from item 4 of tRect > > set the rect of widget "body" to tRect > > set the topleft of widget "body" to item 1 to 2 of tRect > > end setupStackRect > > on resizeStack pNewWidth, pNewHeight, pOldWidth, pOldHeight > > # check it is landscape, turn off the navigation Bar > > if pNewWidth > pNewHeight then -- landscape > > put 0, 0, pNewWidth, pNewHeight into tBrowserRect > > set loc widget "body" to ( round(pNewWidth/2), > round(pNewHeight/2) ) > > hide group "footer" > > else > > put 0, 0, pNewWidth, pNewHeight - 50 into tBrowserRect > > set loc group "footer" to ( round(pNewWidth/2),pNewHeight-25) > > show group "footer" > > end if > > set the rect of widget "body" of me to tBrowserRect > > end resizeStack > > > On 8/23/18 10:17 PM, FlexibleLearning.com via use-livecode wrote: > > First, I think you have a typo where "/25" should be "-25"... > > Second, for safety, ensure integer values... > set loc group "footer" to round((item 2 of tRect)/2), (item 4 of > tRect)-25 > > Third, if still not working on preOpenstack, try... > > on preopenstack > if isMobile() then > mobileSetAllowedOrientations "portrait,portrait upside > down,landscape left,landscape right" > end if > hide this stack > end preopenstack > > on openStack > setupStackRect > show this stack > end openStack > > Hugh _______________________________________________ use-livecode mailing list use-livecode at lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode From monte at appisle.net Wed Aug 29 19:35:23 2018 From: monte at appisle.net (Monte Goulding) Date: Thu, 30 Aug 2018 09:35:23 +1000 Subject: Handler Conflict In-Reply-To: <52710493-C30A-4632-95B0-34F474BC6266@iotecdigital.com> References: <52710493-C30A-4632-95B0-34F474BC6266@iotecdigital.com> Message-ID: <4D0BF1F1-56DE-4611-847B-6FC0A087438D@appisle.net> > On 30 Aug 2018, at 1:15 am, Bob Sneidar via use-livecode wrote: > > Just a heads up for anyone using Trevor's excellent XML library, the ConvertXMLToArray function has a counterpart in the Android library, and they produce different results! I suspect the ConvertArrayToXML also has a counterpart. Could you open a bug report about that Bob? We should make the ones in revSaveAsAndroidStandalone` private or give them a decent prefix to avoid conflict. Cheers Monte From james at thehales.id.au Wed Aug 29 19:59:59 2018 From: james at thehales.id.au (James At The Hale) Date: Thu, 30 Aug 2018 09:59:59 +1000 Subject: What do we know about LC 10? Message-ID: I am all for seeing where things might be headed, but I am really more interested in getting to where they WERE headed first. We still have the completion of Infinite Livecode to be delivered (the fully documented examples etc), we still have DG2 to be completed. Given the time being taken to finally deliver on these I wouldn?t hold my breathe for promises about a mythical 10. From hh at hyperhh.de Wed Aug 29 20:24:52 2018 From: hh at hyperhh.de (hh) Date: Thu, 30 Aug 2018 02:24:52 +0200 Subject: What do we know about LC 10? Message-ID: > Tom G. wrote: > What do we know about whats coming in LC 10? > I'm assuming big improvements to widgets and LC builder. Still waiting for big improvements to widgets and LC builder for LC 9 ... Increasing the version number alone doesn't improve the net content (= gross content - fixes of freshly introduced bugs). From tom at makeshyft.com Thu Aug 30 00:00:34 2018 From: tom at makeshyft.com (Tom Glod) Date: Thu, 30 Aug 2018 00:00:34 -0400 Subject: What do we know about LC 10? In-Reply-To: References: Message-ID: ya i understand any frustration with existing bugs and issues...and v9 has a few of them for sure. On Wed, Aug 29, 2018 at 8:25 PM hh via use-livecode < use-livecode at lists.runrev.com> wrote: > > Tom G. wrote: > > What do we know about whats coming in LC 10? > > I'm assuming big improvements to widgets and LC builder. > > Still waiting for big improvements to widgets and LC builder > for LC 9 ... > > Increasing the version number alone doesn't improve the net > content (= gross content - fixes of freshly introduced bugs). > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From beugelaar at solidit.nl Thu Aug 30 02:28:59 2018 From: beugelaar at solidit.nl (Erik Beugelaar) Date: Thu, 30 Aug 2018 08:28:59 +0200 Subject: What do we know about LC 10? In-Reply-To: References: Message-ID: <7B0CB061-34D3-436F-B550-B32A69B2C60E@solidit.nl> James, considering the previous upgrade steps to major upgrades (eg. 5.x -> 6.x -> 7.x -> 8.x -> 9.01) I think it will take at least a year or so we can expect an major upgrade to LiveCode 10. Who knows? Kevin for sure ;-) Cheers, Erik On 30/08/2018, 01:59, "use-livecode on behalf of James At The Hale via use-livecode" wrote: >I am all for seeing where things might be headed, but I am really more interested in getting to where they WERE headed first. >We still have the completion of Infinite Livecode to be delivered (the fully documented examples etc), we still have DG2 to be completed. >Given the time being taken to finally deliver on these I wouldn?t hold my breathe for promises about a mythical 10. > >_______________________________________________ >use-livecode mailing list >use-livecode at lists.runrev.com >Please visit this url to subscribe, unsubscribe and manage your subscription preferences: >http://lists.runrev.com/mailman/listinfo/use-livecode From keith.clarke at me.com Thu Aug 30 05:24:37 2018 From: keith.clarke at me.com (Keith Clarke) Date: Thu, 30 Aug 2018 10:24:37 +0100 Subject: How to get word offset all instances of a string in a chunk of text? Message-ID: <8FD5331A-989F-4204-B226-AD4A59CB04AA@me.com> Folks, Is there a single-pass mechanism or more efficient way of returning the wordOffset of each instance of ?the? in ?the quick brown fox jumped over the lazy dog? than to use two passes through the text? Pass-1. Count the instances of ?the? into an array and then Pass-2. Repeat for the count of instances using wordOffset, with a wordsToSkip variable derived from the previous loop?s offset I?m I?m wondering if there?s something I?ve not yet learned about (nested?) arrays that might extend the unique word counter code that Alex, Paul & others helped me to fix a few days ago, to add a sub-array of wordOffset alongside word count? # Prepare noisewords array repeat for each trueWord W in tNoiseWords put true into tANoise[W] end repeat # Build unique words array repeat for each trueWord W in tSource if tANoise[W] then next repeat add 1 to tAWords[W][N] end repeat # Convert unique words array to list repeat for each key K in tAWords put K && tAWords[K][N] & CR after fld "Words" end repeat sort lines of field "Words" descending numeric by word 2 of each end repeat Any ideas or steer towards a lesson / worked example greatly appreciated. Best, Keith From alex at tweedly.net Thu Aug 30 06:10:18 2018 From: alex at tweedly.net (Alex Tweedly) Date: Thu, 30 Aug 2018 11:10:18 +0100 Subject: How to get word offset all instances of a string in a chunk of text? In-Reply-To: <8FD5331A-989F-4204-B226-AD4A59CB04AA@me.com> References: <8FD5331A-989F-4204-B226-AD4A59CB04AA@me.com> Message-ID: <3a8836a0-8c32-2f26-42cd-c562e1dddc52@tweedly.net> OK, this time I'm just typing into email - havent tested these suggestions :-) On 30/08/2018 10:24, Keith Clarke via use-livecode wrote: > Folks, > Is there a single-pass mechanism or more efficient way of returning the wordOffset of each instance of ?the? in ?the quick brown fox jumped over the lazy dog? than to use two passes through the text? Yes. For a single word myWord put 0 into tOffset repeat forever ? put trueWordOffset(myWord, tSource, tOffset) into tmp ? if tmp > 0 then ??? put tmp & comma after tOffsetList ??? put tmp into tOffset ? end if end repeat BUT there's a chance that this performs poorly, becuase of repeated skipping, so I would also benchmark the simpler put 0 into tOffset repeat for each trueWord W in tSource ? add 1 to tOffset ? if W = myWord then ???? put tOffset & comma after tOffsetList ? end if end repeat > Pass-1. Count the instances of ?the? into an array and then > Pass-2. Repeat for the count of instances using wordOffset, with a wordsToSkip variable derived from the previous loop?s offset > > I?m I?m wondering if there?s something I?ve not yet learned about (nested?) arrays that might extend the unique word counter code that Alex, Paul & others helped me to fix a few days ago, to add a sub-array of wordOffset alongside word count? I'm not entirely sure what you want here, or what the 'N' below are. Do you want a count and an offsetList for each word ? If so, no need for nested arrays. Then I'd change your second loop below to: repeat for each trueWord W in tSource add 1 to tOffset ?if tANoise[W] then next repeat add 1 to tAWordCount[W] put tOffset & comma after tAWordOffsets[W] end repeat and of course the third loop to repeat for each key K in tAWordCount put k && tAWordCount[K] & CR after tmp end repeat sort lines of tmp descending numeric by word 2 of each put tmp into fld "Words" If I've misunderstood what you want, please say so and I'll try again :-) Alex. > > # Prepare noisewords array > > repeat for each trueWord W in tNoiseWords > > put true into tANoise[W] > > end repeat > > > # Build unique words array > > repeat for each trueWord W in tSource > > if tANoise[W] then next repeat > > add 1 to tAWords[W][N] > > end repeat > > > # Convert unique words array to list > > > repeat for each key K in tAWords > > put K && tAWords[K][N] & CR after fld "Words" > > end repeat > > > sort lines of field "Words" descending numeric by word 2 of each > > > end repeat > > Any ideas or steer towards a lesson / worked example greatly appreciated. > Best, > Keith > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From hh at hyperhh.de Thu Aug 30 07:21:40 2018 From: hh at hyperhh.de (hh) Date: Thu, 30 Aug 2018 13:21:40 +0200 Subject: How to get word offset all instances of a string in a chunk of text? Message-ID: <41A8721E-4C48-43D2-AEBF-C041110C0683@hyperhh.de> For a more general context see http://www.runrev.com/pipermail/use-livecode//2004-February/032280.html Sadly LC 9 is at about 10 times slower than LC 6 with such fast scripts. For example LC 6.7.11 needs at about 500 ms to evaluate a 1 MByte string, LC 9.0.0 needs at about 5 seconds. From hh at hyperhh.de Thu Aug 30 07:48:23 2018 From: hh at hyperhh.de (hh) Date: Thu, 30 Aug 2018 13:48:23 +0200 Subject: How to get word offset all instances of a string in a chunk of text? Message-ID: > Alex T. wrote: > > put 0 into tOffset > repeat for each trueWord W in tSource > add 1 to tOffset > if W = myWord then > put tOffset & comma after tOffsetList > end if > end repeat This is (whether trueWord or word chunks used) probably the fastest method for an offset counting of one (true)word. Possibly it is for a large tSource (say 4 MByte) better to use CR instead of comma as delimiter for the list: Else, when putting tOffsetList into a field, LC may cut the result or even hang (LC 9) because the maximum pixel size of a line gets exceeded. From MikeKerner at roadrunner.com Thu Aug 30 09:39:55 2018 From: MikeKerner at roadrunner.com (Mike Kerner) Date: Thu, 30 Aug 2018 09:39:55 -0400 Subject: LiveCode 1.6.1 docset now available In-Reply-To: <3CB391DD-587D-4F76-8994-7D50C1E28DD3@thehales.id.au> References: <3CB391DD-587D-4F76-8994-7D50C1E28DD3@thehales.id.au> Message-ID: James, Talk about why dash. From curry at pair.com Thu Aug 30 10:11:05 2018 From: curry at pair.com (Curry Kenworthy) Date: Thu, 30 Aug 2018 10:11:05 -0400 Subject: How to get word offset all instances of a string in a chunk of text? In-Reply-To: <41A8721E-4C48-43D2-AEBF-C041110C0683@hyperhh.de> References: <41A8721E-4C48-43D2-AEBF-C041110C0683@hyperhh.de> Message-ID: <5B87FAF9.3070006@pair.com> hh: > Sadly LC 9 is at about 10 times slower > than LC 6 with such fast scripts. Yes, I've been doing some benchmarks and LC 9 usually takes anywhere from 2x to 8x as long to perform a job. With or without text being involved. It is a serious problem that should not be neglected across multiple major versions of LC. I'll share a test stack and video with some examples when I have a little time. (Including one test where LC 9 held its own.) Meanwhile, optimize scripts! Then hopefully a serious boost once the engine itself is optimized. Best wishes, Curry Kenworthy Custom Software Development LiveCode Training and Consulting http://livecodeconsulting.com/ From brahma at hindu.org Thu Aug 30 10:16:02 2018 From: brahma at hindu.org (Sannyasin Brahmanathaswami) Date: Thu, 30 Aug 2018 14:16:02 +0000 Subject: fullscreenmode and rect of a substack on mobile device ? References: <004801d43b82$e8a32420$b9e96c60$@FlexibleLearning.com> Message-ID: Ha! One has to thank our community for "never giving up!" That spirit alone is worth it weight in gold -- the Indy License! @ Brain "Gee, why didn't I think of that!" Not calling as substack; I use this as navigation between mainstack (the splash screen and that has the stack files is always open but hidden) command portal_GoStack cardOrStackObject # save where we are coming from locally put the short name of this stack into oStackName [snip] # Attempt to fix Android by dealing with mobile controls # and Accelereated Rendering from here # We deal with the each stack case if oStackName <> empty then # this is not the first run boot of portal deleteAllMobileControls # will destroy all except audioPlayer end if --> Variations on stack transition methods. --> timing is important, else android crashes set the acceleratedRendering of stack oStackName to false go cardOrStackObject # e.g go "gems" (or this string) go card 3 of "gems" wait 20 milliseconds with messages close stack oStackName wait 20 milliseconds with messages ## this does not work! --> ## go to cardOrStackObject in window oStackName end portal_GoStack So, since the whole app is running I could get the screenrect when the "portal" (index, TOC of the whole app) loads. And save to a local in main lib_SIvaSiva.livecodescript (always open) but still, I don't think screenRect will register in LC RAM *without* running "resizestack" so how would I force that? (thinking out loud) just running a handler to check may suffice to get the coords of the phone. local sMobileRect ... send "mobileRectSet" to me in 1 second end portal_GoStack command mobileRectSet put the screenRect into sMobileRect end mobileRectSet function mobileRectGet return sMobileRect end mobileRectGet I will try it @ Ralph Wow! That is quite a hack. I may try it. If the above does not work. BR On 8/29/18 10:09 AM, Brian Milby via use-livecode wrote: Aren't you calling this as a sub-stack? If so, could you capture the screen rect before the switch and pass in the data or cache to the file system and read it in? From bobsneidar at iotecdigital.com Thu Aug 30 10:41:23 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Thu, 30 Aug 2018 14:41:23 +0000 Subject: Tree View Values In-Reply-To: References: <8BAE85CA-3147-4B56-AF8B-AEE14E54D32C@iotecdigital.com> Message-ID: Oh there you go! That works. Bob S > On Aug 29, 2018, at 13:58 , Brian Milby via use-livecode wrote: > > Here is another way to do it: > > function getHilightedValue pTreeWidgetReference > local tElement, tArray > put the arrayData of pTreeWidgetReference into tArray > put the hilitedElement of pTreeWidgetReference into tElement > split tElement by comma > return tArray[tElement] > end getHilightedValue From brahma at hindu.org Thu Aug 30 11:14:46 2018 From: brahma at hindu.org (Sannyasin Brahmanathaswami) Date: Thu, 30 Aug 2018 15:14:46 +0000 Subject: fullscreenmode and rect of a substack on mobile device ? References: <004801d43b82$e8a32420$b9e96c60$@FlexibleLearning.com> Message-ID: I tried it..... Sure, I get the screenrect in advance; I put an answer sRect in a one stack opencard script... I get an answer... but this does not work on the stack the has browser... so I now suspect to browser widget is blocking "registration" the screen rect. Now only that it may be blocking openCard handler. on preopencard if isMobile() then put mobileRectGet() into sRect send "setUpStackRect" to me in 500 milliseconds end if end preopencard on opencard answer sRect with "OK" # does not fire... end opencard openstack On 8/30/18 4:24 AM, Sannyasin Brahmanathaswami via use-livecode wrote: but still, I don't think screenRect will register in LC RAM *without* running "resizestack" so how would I force that? (thinking out loud) just running a handler to check may suffice to get the coords of the phone. local sMobileRect ... send "mobileRectSet" to me in 1 second end portal_GoStack command mobileRectSet put the screenRect into sMobileRect end mobileRectSet function mobileRectGet return sMobileRect end mobileRectGet I will try it From brahma at hindu.org Thu Aug 30 11:14:52 2018 From: brahma at hindu.org (Sannyasin Brahmanathaswami) Date: Thu, 30 Aug 2018 15:14:52 +0000 Subject: fullscreenmode and rect of a substack on mobile device ? References: <3AD3CF89-6E4C-4608-A9FC-E56DDADFD115@laposte.net> <99f39315-d93c-ba00-db5f-423ef3d209c1@fourthworld.com> <30FD572A-30CA-40CB-B1C0-020AEEDC6E4F@laposte.net> Message-ID: Ludovic Can you copy that whole handler to the list? round((item 4 of the screenrect*the systemscale)/2)-theight // +theight only seems partial? On 8/19/18 6:11 PM, Ludovic THEBAULT via use-livecode wrote: > But i found i can get the ? real ? top and bottom with : round((item 4 of the screenrect*the systemscale)/2)-theight // +theight (for the bottom) > where theight is the height of my stack before fullscreenmode. From rdimola at evergreeninfo.net Thu Aug 30 11:38:11 2018 From: rdimola at evergreeninfo.net (Ralph DiMola) Date: Thu, 30 Aug 2018 11:38:11 -0400 Subject: fullscreenmode and rect of a substack on mobile device ? In-Reply-To: References: <004801d43b82$e8a32420$b9e96c60$@FlexibleLearning.com> Message-ID: <002401d44077$7881ded0$69859c70$@net> I don't use a sub-stack to move from the splash to the main GUI stack. My stub-stack (after using my hack to display the splash card correctly) does 1: load all library stacks, sets all behaviors/back scripts,... 2: a send in 10 ticks to a handler that opens the GUI stack. After that there is no issues with getting the correct card rect. The splash stack sits invisible in the background and houses the engine and any inclusions/extensions... Of course in the IDE the splash stack remains open and visible, but who cares? Ralph DiMola IT Director Evergreen Information Services rdimola at evergreeninfo.net -----Original Message----- From: use-livecode [mailto:use-livecode-bounces at lists.runrev.com] On Behalf Of Sannyasin Brahmanathaswami via use-livecode Sent: Thursday, August 30, 2018 10:16 AM To: How to use LiveCode Cc: Sannyasin Brahmanathaswami Subject: Re: fullscreenmode and rect of a substack on mobile device ? Ha! One has to thank our community for "never giving up!" That spirit alone is worth it weight in gold -- the Indy License! @ Brain "Gee, why didn't I think of that!" Not calling as substack; I use this as navigation between mainstack (the splash screen and that has the stack files is always open but hidden) command portal_GoStack cardOrStackObject # save where we are coming from locally put the short name of this stack into oStackName [snip] # Attempt to fix Android by dealing with mobile controls # and Accelereated Rendering from here # We deal with the each stack case if oStackName <> empty then # this is not the first run boot of portal deleteAllMobileControls # will destroy all except audioPlayer end if --> Variations on stack transition methods. --> timing is important, else android crashes set the acceleratedRendering of stack oStackName to false go cardOrStackObject # e.g go "gems" (or this string) go card 3 of "gems" wait 20 milliseconds with messages close stack oStackName wait 20 milliseconds with messages ## this does not work! --> ## go to cardOrStackObject in window oStackName end portal_GoStack So, since the whole app is running I could get the screenrect when the "portal" (index, TOC of the whole app) loads. And save to a local in main lib_SIvaSiva.livecodescript (always open) but still, I don't think screenRect will register in LC RAM *without* running "resizestack" so how would I force that? (thinking out loud) just running a handler to check may suffice to get the coords of the phone. local sMobileRect ... send "mobileRectSet" to me in 1 second end portal_GoStack command mobileRectSet put the screenRect into sMobileRect end mobileRectSet function mobileRectGet return sMobileRect end mobileRectGet I will try it @ Ralph Wow! That is quite a hack. I may try it. If the above does not work. BR On 8/29/18 10:09 AM, Brian Milby via use-livecode wrote: Aren't you calling this as a sub-stack? If so, could you capture the screen rect before the switch and pass in the data or cache to the file system and read it in? _______________________________________________ use-livecode mailing list use-livecode at lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode From bobsneidar at iotecdigital.com Thu Aug 30 12:49:24 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Thu, 30 Aug 2018 16:49:24 +0000 Subject: Tree View Values In-Reply-To: References: <8BAE85CA-3147-4B56-AF8B-AEE14E54D32C@iotecdigital.com> Message-ID: <9CF7F29D-D34A-4546-8357-F8FA51C82339@iotecdigital.com> Hi Brian. Actually for my purposes I need the last key of the array node. For example, if I have an array: myArray [level1] [level2] [level3] and the value is "Test1" then I need to return an array: aArrayNode [level3] I worked it out using my method so I'm not asking for a modification to your method, this for informational purposes only. What I am actually creating is an XML editor using a tree view, and also I am creating a method for solving the Property Inspector issue some have raised, where clicking a tree node does not hilite the node name or the value if there is one. What I am doing is almost identical to what the the property inspector does. I've worked it out so that hiliting a tree node whose value is an array puts the name of the hilited node into the Key field, selects the text of the key field, and puts empty into the Value field. If however the value of the hilited node is a value, it puts the value into the Value field and selects the text of the value field. This IMHO is the way the property inspector *ought* to work. Bob S > On Aug 30, 2018, at 07:41 , Bob Sneidar via use-livecode wrote: > > Oh there you go! That works. > > Bob S > > >> On Aug 29, 2018, at 13:58 , Brian Milby via use-livecode wrote: >> >> Here is another way to do it: >> >> function getHilightedValue pTreeWidgetReference >> local tElement, tArray >> put the arrayData of pTreeWidgetReference into tArray >> put the hilitedElement of pTreeWidgetReference into tElement >> split tElement by comma >> return tArray[tElement] >> end getHilightedValue From bobsneidar at iotecdigital.com Thu Aug 30 12:53:18 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Thu, 30 Aug 2018 16:53:18 +0000 Subject: Handler Conflict In-Reply-To: <4D0BF1F1-56DE-4611-847B-6FC0A087438D@appisle.net> References: <52710493-C30A-4632-95B0-34F474BC6266@iotecdigital.com> <4D0BF1F1-56DE-4611-847B-6FC0A087438D@appisle.net> Message-ID: I will ina bit. I'm on conference calls until lunch. Bob S > On Aug 29, 2018, at 16:35 , Monte Goulding via use-livecode wrote: > >> On 30 Aug 2018, at 1:15 am, Bob Sneidar via use-livecode wrote: >> >> Just a heads up for anyone using Trevor's excellent XML library, the ConvertXMLToArray function has a counterpart in the Android library, and they produce different results! I suspect the ConvertArrayToXML also has a counterpart. > > Could you open a bug report about that Bob? We should make the ones in revSaveAsAndroidStandalone` private or give them a decent prefix to avoid conflict. > > Cheers > > Monte From brian at milby7.com Thu Aug 30 14:04:52 2018 From: brian at milby7.com (Brian Milby) Date: Thu, 30 Aug 2018 13:04:52 -0500 Subject: Tree View Values In-Reply-To: <9CF7F29D-D34A-4546-8357-F8FA51C82339@iotecdigital.com> References: <8BAE85CA-3147-4B56-AF8B-AEE14E54D32C@iotecdigital.com> <9CF7F29D-D34A-4546-8357-F8FA51C82339@iotecdigital.com> Message-ID: There is already a PR merged into 9.1 that will auto select the text of any field in the PI when you enter it via tab. This also selects the key field in the Custom Properties inspector when the highlight changes. If you tab into the value, then the value is selected. Changing the logic to select a non-empty value field in the PI probably wouldn't be that hard, but would then introduce a difference in behavior that may not always be desirable. Having a new key when added get selected is the next thing I'm working on, but that is proving to be a little bit more of a challenge. Having the tree widget highlight a new sub-key was easy. Top level keys are proving to be a little more difficult. The current PI code doesn't like the highlight change though. Brian On Thu, Aug 30, 2018 at 11:50 AM Bob Sneidar via use-livecode < use-livecode at lists.runrev.com> wrote: > Hi Brian. > > Actually for my purposes I need the last key of the array node. For > example, if I have an array: > > myArray [level1] [level2] [level3] > > and the value is "Test1" > > then I need to return an array: > > aArrayNode [level3] > > I worked it out using my method so I'm not asking for a modification to > your method, this for informational purposes only. What I am actually > creating is an XML editor using a tree view, and also I am creating a > method for solving the Property Inspector issue some have raised, where > clicking a tree node does not hilite the node name or the value if there is > one. > > What I am doing is almost identical to what the the property inspector > does. I've worked it out so that hiliting a tree node whose value is an > array puts the name of the hilited node into the Key field, selects the > text of the key field, and puts empty into the Value field. If however the > value of the hilited node is a value, it puts the value into the Value > field and selects the text of the value field. This IMHO is the way the > property inspector *ought* to work. > > Bob S > > > > On Aug 30, 2018, at 07:41 , Bob Sneidar via use-livecode < > use-livecode at lists.runrev.com> wrote: > > > > Oh there you go! That works. > > > > Bob S > > > > > >> On Aug 29, 2018, at 13:58 , Brian Milby via use-livecode < > use-livecode at lists.runrev.com> wrote: > >> > >> Here is another way to do it: > >> > >> function getHilightedValue pTreeWidgetReference > >> local tElement, tArray > >> put the arrayData of pTreeWidgetReference into tArray > >> put the hilitedElement of pTreeWidgetReference into tElement > >> split tElement by comma > >> return tArray[tElement] > >> end getHilightedValue > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From brian at milby7.com Thu Aug 30 14:36:19 2018 From: brian at milby7.com (Brian Milby) Date: Thu, 30 Aug 2018 13:36:19 -0500 Subject: fullscreenmode and rect of a substack on mobile device ? In-Reply-To: <002401d44077$7881ded0$69859c70$@net> References: <004801d43b82$e8a32420$b9e96c60$@FlexibleLearning.com> <002401d44077$7881ded0$69859c70$@net> Message-ID: In the above code, I don't see a "local sRect" declaration which would need to be outside the handlers to work as intended. What about just hard coding the rect as a test? If you can set the stack rect to what you know the screen to be that way, then we can proceed to figure out why that value isn't getting there properly. If setting the rect manually doesn't work, then there is an issue that is deeper than just knowing what the rect needs to be. >From earlier in the thread it appears that on Android, the first "resizestack" is not getting sent. You don't get one until you rotate the device. What I'm not clear about is whether you can set the rect of the stack to the known screen rect and have it display correctly. I don't think Ludovic's code will help this particular issue since you are having a problem getting the screen rect. If you have the screen rect, you shouldn't need to do anything with the scale. You are doing everything with logical pixels. On Thu, Aug 30, 2018 at 10:36 AM Ralph DiMola via use-livecode < use-livecode at lists.runrev.com> wrote: > I don't use a sub-stack to move from the splash to the main GUI stack. My > stub-stack (after using my hack to display the splash card correctly) does > 1: load all library stacks, sets all behaviors/back scripts,... 2: a send > in > 10 ticks to a handler that opens the GUI stack. After that there is no > issues with getting the correct card rect. The splash stack sits invisible > in the background and houses the engine and any inclusions/extensions... Of > course in the IDE the splash stack remains open and visible, but who cares? > > Ralph DiMola > IT Director > Evergreen Information Services > rdimola at evergreeninfo.net > > -----Original Message----- > From: use-livecode [mailto:use-livecode-bounces at lists.runrev.com] On > Behalf > Of Sannyasin Brahmanathaswami via use-livecode > Sent: Thursday, August 30, 2018 10:16 AM > To: How to use LiveCode > Cc: Sannyasin Brahmanathaswami > Subject: Re: fullscreenmode and rect of a substack on mobile device ? > > Ha! One has to thank our community for "never giving up!" That spirit > alone > is worth it weight in gold -- the Indy License! > > @ Brain "Gee, why didn't I think of that!" > > Not calling as substack; I use this as navigation between mainstack (the > splash screen and that has the stack files is always open but hidden) > > > command portal_GoStack cardOrStackObject > > # save where we are coming from locally > > put the short name of this stack into oStackName > > [snip] > > # Attempt to fix Android by dealing with mobile controls > > # and Accelereated Rendering from here > > # We deal with the each stack case > > if oStackName <> empty then > > # this is not the first run boot of portal > > deleteAllMobileControls # will destroy all except audioPlayer > > end if > > --> Variations on stack transition methods. > --> timing is important, else android crashes > > set the acceleratedRendering of stack oStackName to false > > go cardOrStackObject > > # e.g go "gems" (or this string) go card 3 of "gems" > > wait 20 milliseconds with messages > > close stack oStackName > > wait 20 milliseconds with messages > > ## this does not work! --> > > ## go to cardOrStackObject in window oStackName > > end portal_GoStack > > So, since the whole app is running I could get the screenrect when the > "portal" (index, TOC of the whole app) loads. And save to a local in main > lib_SIvaSiva.livecodescript (always open) > > but still, I don't think screenRect will register in LC RAM *without* > running "resizestack" so how would I force that? > > (thinking out loud) just running a handler to check may suffice to get the > coords of the phone. > > local sMobileRect > ... > send "mobileRectSet" to me in 1 second > end portal_GoStack > > command mobileRectSet > put the screenRect into sMobileRect > end mobileRectSet > > function mobileRectGet > return sMobileRect > end mobileRectGet > > I will try it > > @ Ralph > > Wow! That is quite a hack. I may try it. If the above does not work. > > BR > > > On 8/29/18 10:09 AM, Brian Milby via use-livecode wrote: > > Aren't you calling this as a sub-stack? If so, could you capture the > screen > rect before the switch and pass in the data or cache to the file system and > read it in? > > _______________________________________________ > use-livecode mailing list > use-livecode at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From ludovic.thebault at laposte.net Thu Aug 30 14:44:29 2018 From: ludovic.thebault at laposte.net (Ludovic THEBAULT) Date: Thu, 30 Aug 2018 20:44:29 +0200 Subject: fullscreenmode and rect of a substack on mobile device ? In-Reply-To: References: <3AD3CF89-6E4C-4608-A9FC-E56DDADFD115@laposte.net> <99f39315-d93c-ba00-db5f-423ef3d209c1@fourthworld.com> <30FD572A-30CA-40CB-B1C0-020AEEDC6E4F@laposte.net> Message-ID: <97A39ADC-8C49-432B-A1DF-C3B5DD494B67@laposte.net> > Le 30 ao?t 2018 ? 17:14, Sannyasin Brahmanathaswami via use-livecode a ?crit : > > Ludovic > > Can you copy that whole handler to the list? > > round((item 4 of the screenrect*the systemscale)/2)-theight // +theight > > only seems partial? Hello, You can download my test stack here : https://www.dropbox.com/s/iwwm2syiqzqamtg/testsubstack2.livecode?dl=0 Note : my script doesn?t work properly : i tested it on an android tablet and the result is not accurate. From tom at makeshyft.com Thu Aug 30 14:57:24 2018 From: tom at makeshyft.com (Tom Glod) Date: Thu, 30 Aug 2018 14:57:24 -0400 Subject: What do we know about LC 10? In-Reply-To: <7B0CB061-34D3-436F-B550-B32A69B2C60E@solidit.nl> References: <7B0CB061-34D3-436F-B550-B32A69B2C60E@solidit.nl> Message-ID: Kevin seemed pretty pumped about it. We have to remember .... the engine and the IDE are two distinct projects. The problems are mostly in the IDE. I;m finding the engine to be very solid. On Thu, Aug 30, 2018 at 2:29 AM Erik Beugelaar via use-livecode < use-livecode at lists.runrev.com> wrote: > James, considering the previous upgrade steps to major upgrades (eg. 5.x > -> 6.x -> 7.x -> 8.x -> 9.01) I think it will take at least a year or so we > can expect an major upgrade to LiveCode 10. Who knows? Kevin for sure ;-) > > Cheers, > Erik > > > > > On 30/08/2018, 01:59, "use-livecode on behalf of James At The Hale via > use-livecode" use-livecode at lists.runrev.com> wrote: > > >I am all for seeing where things might be headed, but I am really more > interested in getting to where they WERE headed first. > >We still have the completion of Infinite Livecode to be delivered (the > fully documented examples etc), we still have DG2 to be completed. > >Given the time being taken to finally deliver on these I wouldn?t hold my > breathe for promises about a mythical 10. > > > >_______________________________________________ > >use-livecode mailing list > >use-livecode at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From MikeKerner at roadrunner.com Thu Aug 30 15:42:25 2018 From: MikeKerner at roadrunner.com (Mike Kerner) Date: Thu, 30 Aug 2018 15:42:25 -0400 Subject: What do we know about LC 10? In-Reply-To: References: <7B0CB061-34D3-436F-B550-B32A69B2C60E@solidit.nl> Message-ID: Mark tends to complain about the engine, but they also inherited the engine when they bought it from MetaCard. He has said that it is difficult to work on. On Thu, Aug 30, 2018 at 2:57 PM Tom Glod via use-livecode < use-livecode at lists.runrev.com> wrote: > Kevin seemed pretty pumped about it. > > We have to remember .... the engine and the IDE are two distinct projects. > The problems are mostly in the IDE. I;m finding the engine to be very > solid. > > On Thu, Aug 30, 2018 at 2:29 AM Erik Beugelaar via use-livecode < > use-livecode at lists.runrev.com> wrote: > > > James, considering the previous upgrade steps to major upgrades (eg. 5.x > > -> 6.x -> 7.x -> 8.x -> 9.01) I think it will take at least a year or so > we > > can expect an major upgrade to LiveCode 10. Who knows? Kevin for sure ;-) > > > > Cheers, > > Erik > > > > > > > > > > On 30/08/2018, 01:59, "use-livecode on behalf of James At The Hale via > > use-livecode" > use-livecode at lists.runrev.com> wrote: > > > > >I am all for seeing where things might be headed, but I am really more > > interested in getting to where they WERE headed first. > > >We still have the completion of Infinite Livecode to be delivered (the > > fully documented examples etc), we still have DG2 to be completed. > > >Given the time being taken to finally deliver on these I wouldn?t hold > my > > breathe for promises about a mythical 10. > > > > > >_______________________________________________ > > >use-livecode mailing list > > >use-livecode at 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 at 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 at 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." From ambassador at fourthworld.com Thu Aug 30 16:07:51 2018 From: ambassador at fourthworld.com (Richard Gaskin) Date: Thu, 30 Aug 2018 13:07:51 -0700 Subject: What do we know about LC 10? In-Reply-To: References: Message-ID: <2e3d99fe-1ac9-8372-fb10-2aed8c58888d@fourthworld.com> Tom Glod wrote: > We have to remember .... the engine and the IDE are two distinct > projects. > The problems are mostly in the IDE. I;m finding the engine to be > very solid. The one thing every LiveCode scripter has in common is that they can use LiveCode Script. The more IDE scripting fixes the community takes care of the more engine work the team can do. https://livecode.org/contribute/ -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ____________________________________________________________________ Ambassador at FourthWorld.com http://www.FourthWorld.com From bobsneidar at iotecdigital.com Thu Aug 30 17:20:41 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Thu, 30 Aug 2018 21:20:41 +0000 Subject: XML Handler Conflict In-Reply-To: References: <52710493-C30A-4632-95B0-34F474BC6266@iotecdigital.com> <4D0BF1F1-56DE-4611-847B-6FC0A087438D@appisle.net> Message-ID: <8633AFB9-12F0-475F-B893-1DF5D48D9151@iotecdigital.com> Bug report https://quality.livecode.com/show_bug.cgi?id=21544 Bob S From mkoob at rogers.com Thu Aug 30 17:42:13 2018 From: mkoob at rogers.com (Martin Koob) Date: Thu, 30 Aug 2018 16:42:13 -0500 (CDT) Subject: What do we know about LC 10? In-Reply-To: References: Message-ID: <1535665333218-0.post@n4.nabble.com> I wonder if Open Language will get some attention.. It was on the Road Map in 2014. https://livecode.com/the-present-and-future-livecode/ >Open Language: With the core refactoring almost complete (LiveCode 7.0) we?ve started to turn our attention >to the final aspect of this project which is to open up the language for extension by anyone. We have been >prototyping for quite some time now and plans are in place to move this project forward at a rapid pace once >LiveCode 7.0 is released. We will complete network, socket and database libraries with easy to use English like >syntax as part of the development and testing of this feature. This is currently slated as one half of our next >major release, currently imaginatively named ?8.0?. There was a long thread about it in Oct 2015 in the forums "What is Open Language." http://lists.runrev.com/pipermail/use-livecode/2015-October/220332.html Did Open Language just serve as the foundation for Widgets or was there a more substantial feature in the roadmap? >Theme / Widgets: Another important prototype we?ve invested time in is codenamed ?Widgets?. Our aim is to >provide a means for any LiveCode developer to extend the control set. This builds on ?Open Language? making >it possible for any developer to extend the language and the UI. While still in its infancy, we are really excited >about the results which will make LiveCode 8.0 a groundbreaking release. I thought it would something that would allow developers to extend the language using more english like form rather than just using a function with parameters. i.e. instead of using a call like this. AWSS3GetPresignedURL(pBucket,pObject,pExpires) You could extend the language allowing the parser to understand something like Get AWS3 PresignedURL for [tObject] in [tBucket] expiring in [tTime] [seconds|milliseconds|minutes] LiveCode has been gaining many features but the code gets less and less English like and less readable. It would be great if the big mystery behind the LiveCode 10 banner is a way to get back as much as possible to following the principle of human readable code. Martin Bob Sneidar via use-livecode wrote > Hey folks, > > What do we know about whats coming in LC 10? > > My only hint was the smile on Kevin's face when he mentioned it when him > and Chris were here in March on the develop yourself trip. But he didn't > give a single hint. > > I'm assuming big improvements to widgets and LC builder. I know there is > also a store & improved sharing mechanism for developers. > > Isn't it time to announce the plans sometime soon? :) > > What do you guys know? > _______________________________________________ > use-livecode mailing list > use-livecode at .runrev > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode -- Sent from: http://runtime-revolution.278305.n4.nabble.com/Revolution-User-f278306.html From harrison at all-auctions.com Thu Aug 30 17:51:00 2018 From: harrison at all-auctions.com (Rick Harrison) Date: Thu, 30 Aug 2018 17:51:00 -0400 Subject: Turn off .lc Web-browser Caching? In-Reply-To: References: <3CB391DD-587D-4F76-8994-7D50C1E28DD3@thehales.id.au> Message-ID: <174D7E29-B192-4103-BDD4-7AAF808EBDF8@all-auctions.com> Hi there, I know this has come up before but looking through the old archives didn?t seem to turn up a working answer. Is there a good way to prevent a web-browser from re-displaying an image in it?s cache? I tried using a random number after the .lc URL such as: http://www.mysite.com/destination.lc?r=39923959 I have also tried: put "" put "" put "? and that doesn?t seem to work either. Did anyone ever come up with a good solution? Thanks, Rick From jiml at netrin.com Thu Aug 30 18:20:01 2018 From: jiml at netrin.com (Jim Lambert) Date: Thu, 30 Aug 2018 15:20:01 -0700 Subject: How to get word offset all instances of a string in a chunk of text? In-Reply-To: References: Message-ID: > On 30/08/2018 10:24, Keith Clarke via use-livecode wrote: >> Folks, >> Is there a single-pass mechanism or more efficient way of returning the wordOffset of each instance of ?the? in ?the quick brown fox jumped over the lazy dog? than to use two passes through the text? Then there is also this repeat-less approach using arrays and filter: function findWordOffsets pText, pSearchTerm put replaceText(pText,"\W+"," ") into pText split pText by space combine pText with cr and tab filter pText with "*" & tab & pSearchTerm sort numeric pText return pText end findWordOffsets put "Then the quick brown fox jumped over "The" very, very lazy red dog on the sofa.? into temp ? note the extra spaces and line breaks. put findWordOffsets(temp, ?the?) returns: 2 the 8 The 15 the Jim Lambert From jiml at netrin.com Thu Aug 30 20:09:44 2018 From: jiml at netrin.com (Jim Lambert) Date: Thu, 30 Aug 2018 17:09:44 -0700 Subject: How to get word offset all instances of a string in a chunk of text? In-Reply-To: References: Message-ID: <8D69B50E-4EE7-460A-B98C-548CD39D2CA0@netrin.com> > I wrote: > > Then there is also this repeat-less approach using arrays and filter: > function findWordOffsets pText, pSearchTerm > put replaceText(pText,"\W+"," ") into pText > split pText by space > combine pText with cr and tab > filter pText with "*" & tab & pSearchTerm > sort numeric pText > return pText > end findWordOffsets This just doesn?t work in all cases because splitting by space does not assure one is splitting by true words. :( Sorry about that. Jim Lambert From tom at makeshyft.com Thu Aug 30 20:24:47 2018 From: tom at makeshyft.com (Tom Glod) Date: Thu, 30 Aug 2018 20:24:47 -0400 Subject: Turn off .lc Web-browser Caching? In-Reply-To: <174D7E29-B192-4103-BDD4-7AAF808EBDF8@all-auctions.com> References: <3CB391DD-587D-4F76-8994-7D50C1E28DD3@thehales.id.au> <174D7E29-B192-4103-BDD4-7AAF808EBDF8@all-auctions.com> Message-ID: try using javascript by doing "do in widget" https://www.ajaymatharu.com/how-to-prevent-image-from-caching-in-javascript/ i bet that javascript may be your best chance at controlling the browser widget in any kind of detail. good luck let us know if you got it. On Thu, Aug 30, 2018 at 5:51 PM Rick Harrison via use-livecode < use-livecode at lists.runrev.com> wrote: > Hi there, > > I know this has come up before but > looking through the old archives didn?t > seem to turn up a working answer. > > Is there a good way to prevent a web-browser > from re-displaying an image in it?s cache? > > I tried using a random number after the .lc URL > such as: > > http://www.mysite.com/destination.lc?r=39923959 < > http://www.mysite.com/destination.lc?r=39923959> > > I have also tried: > > put "" > put "" > put "? > > and that doesn?t seem to work either. > > Did anyone ever come up with a good solution? > > Thanks, > > Rick > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From curry at pair.com Thu Aug 30 20:59:20 2018 From: curry at pair.com (Curry Kenworthy) Date: Thu, 30 Aug 2018 20:59:20 -0400 Subject: How to get word offset all instances of a string in a chunk of text? In-Reply-To: <8D69B50E-4EE7-460A-B98C-548CD39D2CA0@netrin.com> References: <8D69B50E-4EE7-460A-B98C-548CD39D2CA0@netrin.com> Message-ID: <5B8892E8.8050206@pair.com> Jim: > This just doesn?t work in all cases That's the key though, don't repeat when it's not necessary! A day with no repeats is an efficient day. ;) Best wishes, Curry Kenworthy Custom Software Development LiveCode Training and Consulting http://livecodeconsulting.com/ From james at thehales.id.au Thu Aug 30 21:32:51 2018 From: james at thehales.id.au (James At The Hale) Date: Fri, 31 Aug 2018 11:32:51 +1000 Subject: LiveCode 1.6.1 docset now available Message-ID: <70B578B2-1C0B-4309-B61C-519BD2D5A585@thehales.id.au> Mike asked... > James, > Talk about why dash. I mainly use my iPad to read my email. When reading LC stuff there have been times when I wanted to check the dictionary. Unfortunately for quite some time (almost as far back as the Kickstarter) to online API has not been friendly to a touch interface. When the tiny dictionary was being discussed it occurred to me that it might be a good project to port over to iOS and give me back access to the API. Around the same time DASH, which had been removed from the app store for some reason was returned. Curious I looked into it and found that it offered access to a very wide range of documentation sets AND allowed you to write your own! Furthermore, it had a MAC version but, more importantly, an iOS version. As an added bonus the iOS version was free! Having done some of the code for tiny dictionary I thought I would give writing a LC docset a go. Looking into the structure of a docset exposed another advantage. The docset could also include the ?guides? that come with LC. Thus the ?make docset? stack was born. Other bonuses were having other API?s close at hand (regex, css, html,markdown) for my occasional forays into their realm. So I have Dash both on my Mac and my iPad. Dash also supplies a snippet manager on the Mac version which I have yet to explore. It also has hooks which allow me to look up terms from other apps, e.g. writing a script in ATOM and I need to check the API, it is a right click away. So, that?s why DASH for me. Given there are readers of docsets for other platforms, I announce updates here in case others want to use it (or its siblings.) James From brian at milby7.com Thu Aug 30 21:46:43 2018 From: brian at milby7.com (Brian Milby) Date: Thu, 30 Aug 2018 20:46:43 -0500 Subject: Mobile Rotation Redux Message-ID: I finally installed Android Studio. I have API 28, 26, and 15 installed. Everything else was pretty much the defaults. (Hint: you don't need to move the sdk directory out of your Library, just create an alias and put it on your desktop. When you select the alias, LC will resolve it and store the actual path.) I couldn't get the (slow) emulators to launch. Finding AVD in Studio is somewhat of a pain (had to create a project to get the menu option). Log had some complaint about a file not being in the right place. I decided to try to build a simple app and put it on my 5th Gen Fire (Fire OS 5.6.1.0). Ended up putting the apk on Dropbox, then copying it to the SD card on the Fire, then installing the app (for some reason trying to install directly from Dropbox didn't want to work). Stack has 3 objects on the only card: field "label", field "log", and widget "Browser" Objects all resize and move based on the rect (log and browser positions change when rotated to landscape). In LC, the stack is saved as 320x480 to be sure that it has to resize. I'll post the stack file if anyone wants to see it. On the one Android device I have available it works correctly. Resizestack handlers fire correctly. So I guess I need to find something with a later OS to test against to see the problems others are seeing on the Android side. I linked the label field to open the r9 demo stack from the other thread and it worked fine as well. Here is the stack script: --------------------------------------------------- on preOpenStack logRects "stack preOpenStack" pass preOpenStack end preOpenStack command logRects pText put pText & lf & \ " stack rect" && the rect of this stack & lf & \ " screenrect" && the screenrect & lf \ after field "log" of card id 1002 of me end logRects Here is the card script: --------------------------------------------------- on preOpenStack if the environment is "mobile" then local tOrientations put "portrait,portrait upside down,landscape left,landscape right" into tOrientations mobileSetAllowedOrientations tOrientations end if -- logRects "card preOpenStack" pass preOpenStack end preOpenStack on preOpenCard logRects "card preOpenCard" end preOpenCard on openCard logRects "card openCard" end openCard on resizeStack pNewWidth, pNewHeight, pOldWidth, pOldHeight logRects "resizeStack" && pNewWidth & slash & pNewHeight & \ slash & pOldWidth & slash & pOldHeight local tMid if pNewWidth > pNewHeight then -- landscape put round(pNewWidth/2) into tMid set the rect of field "log" of me to 24,48,tMid-12,pNewHeight-24 set the rect of widget "Browser" of me to tMid+12,48,pNewWidth-24,pNewHeight-24 else -- portrait put round(pNewHeight/2) into tMid set the rect of field "log" of me to 24,48,pNewWidth-24,tMid-12 set the rect of widget "Browser" of me to 24,tMid+12,pNewWidth-24,pNewHeight-24 end if set the rect of field "label" of me to 24,12,pNewWidth-24,48 end resizeStack This is probably a good basic stack that could be used to gather information on when events are firing and when values are getting updated. For example, a send in time could be used to check the rects a certain amount of time after the openCard finished. From gcanyon at gmail.com Fri Aug 31 00:29:42 2018 From: gcanyon at gmail.com (Geoff Canyon) Date: Thu, 30 Aug 2018 21:29:42 -0700 Subject: What do we know about LC 10? In-Reply-To: <1535665333218-0.post@n4.nabble.com> References: <1535665333218-0.post@n4.nabble.com> Message-ID: On Thu, Aug 30, 2018 at 2:42 PM Martin Koob via use-livecode < use-livecode at lists.runrev.com> wrote: > I wonder if Open Language will get some attention.. > Open Language was always my favorite feature. I'd still like to be able to grow/morph the syntax. From brian at milby7.com Fri Aug 31 00:41:51 2018 From: brian at milby7.com (Brian Milby) Date: Thu, 30 Aug 2018 23:41:51 -0500 Subject: What do we know about LC 10? In-Reply-To: References: <1535665333218-0.post@n4.nabble.com> Message-ID: <0aa05631-6716-4fca-909b-2b4a486b4e92@Spark> Isn?t this somewhat possible in LCB now? I know there isn?t really any documentation on how to write the syntax, but there are the examples of the built in libraries. But, the added syntax would only work in LCB code. Thanks, Brian On Aug 30, 2018, 11:31 PM -0500, Geoff Canyon via use-livecode , wrote: > On Thu, Aug 30, 2018 at 2:42 PM Martin Koob via use-livecode < > use-livecode at lists.runrev.com> wrote: > > > I wonder if Open Language will get some attention.. > > > > Open Language was always my favorite feature. I'd still like to be able to > grow/morph the syntax. > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From beugelaar at solidit.nl Fri Aug 31 01:26:58 2018 From: beugelaar at solidit.nl (Erik Beugelaar) Date: Fri, 31 Aug 2018 07:26:58 +0200 Subject: What do we know about LC 10? In-Reply-To: <0aa05631-6716-4fca-909b-2b4a486b4e92@Spark> References: <1535665333218-0.post@n4.nabble.com> <0aa05631-6716-4fca-909b-2b4a486b4e92@Spark> Message-ID: <1F5F1CAF-9272-4B17-A2C3-B43BFCBD4F98@solidit.nl> In my opinion the focus should be on performance which has been slow down approx. 9 times compared to version 6. You can build as much as ?features? as you want but this should never hit the performance of the product. Just my two cents. On 31/08/2018, 06:41, "use-livecode on behalf of Brian Milby via use-livecode" wrote: >Isn?t this somewhat possible in LCB now? I know there isn?t really any documentation on how to write the syntax, but there are the examples of the built in libraries. But, the added syntax would only work in LCB code. > >Thanks, >Brian >On Aug 30, 2018, 11:31 PM -0500, Geoff Canyon via use-livecode , wrote: >> On Thu, Aug 30, 2018 at 2:42 PM Martin Koob via use-livecode < >> use-livecode at lists.runrev.com> wrote: >> >> > I wonder if Open Language will get some attention.. >> > >> >> Open Language was always my favorite feature. I'd still like to be able to >> grow/morph the syntax. >> _______________________________________________ >> use-livecode mailing list >> use-livecode at 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 at lists.runrev.com >Please visit this url to subscribe, unsubscribe and manage your subscription preferences: >http://lists.runrev.com/mailman/listinfo/use-livecode From gcanyon at gmail.com Fri Aug 31 01:26:42 2018 From: gcanyon at gmail.com (Geoff Canyon) Date: Thu, 30 Aug 2018 22:26:42 -0700 Subject: What do we know about LC 10? In-Reply-To: <0aa05631-6716-4fca-909b-2b4a486b4e92@Spark> References: <1535665333218-0.post@n4.nabble.com> <0aa05631-6716-4fca-909b-2b4a486b4e92@Spark> Message-ID: Maybe? I haven't explored LCB at all. I'm much more interested in extending Livecode Script, if that ever becomes possible. On Thu, Aug 30, 2018 at 9:42 PM Brian Milby via use-livecode < use-livecode at lists.runrev.com> wrote: > Isn?t this somewhat possible in LCB now? I know there isn?t really any > documentation on how to write the syntax, but there are the examples of the > built in libraries. But, the added syntax would only work in LCB code. > > Thanks, > Brian > From preid at reidit.co.uk Fri Aug 31 05:28:57 2018 From: preid at reidit.co.uk (Peter Reid) Date: Fri, 31 Aug 2018 10:28:57 +0100 Subject: Android text-to-Speech? In-Reply-To: References: Message-ID: Does anyone have a way of converting text to speech for Android, i.e. the equivalent to revSpeak for Android (& iOS)? I came across a suggestion that involved Google's translation service but this doesn't seem to work now and I'd prefer it if I didn't have to use a Google service. revSpeak works for Mac and Windows, it's a pity that it doesn't work for Android and iOS. Thanks Peter -- Peter Reid Loughborough, UK From mark at livecode.com Fri Aug 31 07:27:25 2018 From: mark at livecode.com (Mark Waddingham) Date: Fri, 31 Aug 2018 13:27:25 +0200 Subject: What do we know about LC =?UTF-8?Q?=31=30=3F?= In-Reply-To: References: <7B0CB061-34D3-436F-B550-B32A69B2C60E@solidit.nl> Message-ID: On 2018-08-30 21:42, Mike Kerner via use-livecode wrote: > Mark tends to complain about the engine, but they also inherited the > engine > when they bought it from MetaCard. He has said that it is difficult to > work on. Heh - any complaints are more 'frustration' over the effort/time to make significant changes rather than anything else. Stability/robustnss wise it is actually pretty good - sure there are edge cases it is not that great at but the majority of what most people use all the time is rock solid. Interestingly, some of the edge cases are being hit more than they ever used to - but I consider that a good thing as it means people are pushing it much harder than it ever has been in its history. In terms of difficulty working on it: - it comprises C/C++/Obj-C/Obj-C++/Java - it grew very organically in the early days (less so since I've been working on it) - it has a great deal of hand-coded/replicated *almost* consistent but not quite code patterns - it has a language system meaning that changes must work for all reasonably determinable use-cases - it has a language system in which 10,000,000s of lines of code are written, meaning that changes must not break existing code (and if they do there has to be an exceptionally good reason to!) - it has a GUI framework which must largely work the same in multiple different windowing systems - it has a large library of utility functions/commands - it runs on 6 quite different operating systems - it runs on 4 different processor architectures So, yes, it is difficult to work on [ some might say exceptionally difficult ;o) ]. The difficulty is not just because of the size/scale/structure of the source but because the whole of what the engine is and must do puts a huge number of constraints on what can be done (and what should be done!) in any reasonable time frame. Actually, I think I have now been the chief engineer on the engine for longer than it was ever MetaCard (or even existed at all!). In that time the source base has grown from around 150,000 code lines (+ 5,000 comment lines) to 475,000+ code lines (+ 50,000 comment lines). [ This would be comparing v2.0 to v7.1 - I've not done a loc analysis on recent versions - and doesn't include the LCS / LCB which we consider to be engine source code ]. Upshot - I am ultimately responsible for the greater part of what the engine is now regardless of what it was as MetaCard. Aside from any complaints I might make, I do still love working on it; even though, as I get older, my enjoyment from writing C/C++/Obj-C/Obj-C++/Java declines year-on-year. Warmest Regards, Mark. -- Mark Waddingham ~ mark at livecode.com ~ http://www.livecode.com/ LiveCode: Everyone can create apps From mark at livecode.com Fri Aug 31 09:58:04 2018 From: mark at livecode.com (Mark Waddingham) Date: Fri, 31 Aug 2018 15:58:04 +0200 Subject: On Performance of Array Access Message-ID: <03457b9a5ae4c41fb2511ecc8579ab97@livecode.com> Generally, I don't tend to like to 'jump the gun' on anything related to optimization lest it is not what it seems when running in the real world but... I'm becoming increasingly confident that a recent foray of mine into yet another attempt to improve the speed of array access in LC9 might have actually born some quite tasty fruit. Pleasingly the code changes required are small, highly localized and quite possibly more than suitable for including in a 9.0.x maintenance release. The current WIP PR can be found here: https://github.com/livecode/livecode/pull/6671 Amusingly this didn't even start as an attempt at optimization, but an attempt to see if I could do anything about heap fragmentation! The patch itself does three things: 1) Minimizes the in-memory size of the core types - all 'book-keeping' records are now <=32 bytes on 64-bit systems 2) Makes use of tArray[x]...[z] type expressions much more efficient when both evaluating and mutating 3) Makes use of integer indicies in arrays much more efficient I've been running it on a number of benchmarks, the two most notable follow. LARGE ARRAY CONSTRUCTION The following simple code example was supplied in Bug 17434 by Richard as it appears to show a memory leak (its actually heap fragmentation, but that's another story): put 100 into tMax repeat with i = 1 to tMax repeat with j = 1 to tMax repeat with k = 1 to tMax put any item of "bob,carol,ted,alice" into sA[i][j][k] end repeat end repeat end repeat The code constructs an 100x100x100 matrix (rendered as a nested array, rather than a flat one). Timings in various versions (on my 2018 MBP laptop) are: 6.7.11: 1117ms 9.0.1: 4020ms PR6671: 1017ms This would seem to be a not too uncommon a pattern of code - judging by JBV's recent post on here (which was essentially doing the same thing). We can modify the above slightly to make it more focussed on array performance (i.e. taking out the need to construct / copy a random portion of a string): put 100 into tMax repeat with i = 1 to tMax repeat with j = 1 to tMax repeat with k = 1 to tMax put "bob,carol,ted,alice" into sA[i][j][k] end repeat end repeat end repeat Timings for this are: 6.7.11: 1055ms 9.0.1: 3281ms PR6671: 497ms ARRAY RECORD FILTERING The following code example was derived by me for my recent LCG talk based on a real-world code supplied by Mark Talluto. It iterates over a sequence of arrays, creating a new one where each record only has a subset of the keys. The keys to keep are taken from a stringlist: private function _BenchmarkArrayFilterRecords pRecords, pColumnNames local tFilteredRecords, tFilteredRecord repeat for each element tRecord in pRecords repeat for each item tColumnName in pColumnNames put tRecord[tColumnName] into tFilteredRecord[tColumnName] end repeat put tFilteredRecord into \ tFilteredRecords[the number of elements in tFilteredRecords + 1] end repeat return tFilteredRecords end _BenchmarkArrayFilterRecords Timings for 100000 iterations of the above are: 6.7.11: 16872ms 9.0.1: 8305ms PR6671: 4315ms The following is the same as the above, except the keys to keep are taken from the keys of an array: private function _BenchmarkArrayFilterRecordsSet pRecords, pColumnNameSet local tFilteredRecords, tFilteredRecord repeat for each element tRecord in pRecords repeat for each key tColumnName in pColumnNameSet put tRecord[tColumnName] into tFilteredRecord[tColumnName] end repeat put tFilteredRecord into \ tFilteredRecords[the number of elements in tFilteredRecords + 1] end repeat return tFilteredRecords end _BenchmarkArrayFilterRecordsSet Timings for 100000 iterations of the above are: 6.7.11: 16508ms 9.0.1: 6397ms PR6671: 3001ms REAL WORLD CASE Now, I'm always a little skeptical about using synthetic benchmarks for performance. However, both of the above are actually real-world examples. Furthermore, when running a rather large LCS project on an engine with PR6671, I got a 2x speed up - one particular input took 3mins to process, rather than 6mins (one phase of processing actually saw a 5x speed up!). Anyway, thought this might make some potentially pleasing Friday afternoon news :) Warmest Regards, Mark. -- Mark Waddingham ~ mark at livecode.com ~ http://www.livecode.com/ LiveCode: Everyone can create apps From dvglasgow at gmail.com Fri Aug 31 10:11:52 2018 From: dvglasgow at gmail.com (David V Glasgow) Date: Fri, 31 Aug 2018 15:11:52 +0100 Subject: am I regexing by mistake? In-Reply-To: <5B87FAF9.3070006@pair.com> References: <41A8721E-4C48-43D2-AEBF-C041110C0683@hyperhh.de> <5B87FAF9.3070006@pair.com> Message-ID: <3EAB0EA2-B51E-4E85-9381-07EF256447AD@gmail.com> Hello, folks. I am undertaking keyword searches of chat logs. The keywords are stored as themed lists in fields. One of the things I am interested in is finding lines where one contributor asks another about where they live, shop, go to school etc etc. So, (among other phrases) I filter for lines in the text containing the acronym ? asl ? (nowhere are quotes actually included in fields or variables, they?re just in this mail). I pad with spaces so as not to find ?asleep?. I also want to find ?asl?? So I repeat through lines of the keyword field ?location" Filter lines of tsource with tpattern ? which works for everything except fails to match ?asl??. It occurred to me that perhaps the question mark is being interpreted as a regex symbol, so I tried changing the line in the field to read ? asl/??, but that doesn?t find the ?asl?? that I can see in the third line of the text to be searched?. shadownave (09/16/14 1:44:58 AM): hey care to chat shadownave (09/16/14 1:45:09 AM): hey care to chat what_sez_moo (09/16/14 1:45:18 AM): sure asl? what_sez_moo (09/16/14 1:45:52 AM): 13 / F / Ashton here shadownave (09/16/14 1:51:00 AM): 25/m/Derby shadownave (09/16/14 1:51:03 AM): how r u tonight what_sez_moo (09/16/14 1:51:16 AM): bored. What am I doing wrong? Is this something to do with regex? Oh yes, and I thought there might be invisible characters messing things up, so I exported source text as plain text from BBedit, with no improvement. best wishes David Glasgow From brian at milby7.com Fri Aug 31 10:16:31 2018 From: brian at milby7.com (Brian Milby) Date: Fri, 31 Aug 2018 09:16:31 -0500 Subject: On Performance of Array Access In-Reply-To: <03457b9a5ae4c41fb2511ecc8579ab97@livecode.com> References: <03457b9a5ae4c41fb2511ecc8579ab97@livecode.com> Message-ID: Cool. I subscribed to the PR :) I?ll need to run this on the array stress test I did last week. Thanks, Brian On Aug 31, 2018, 8:58 AM -0500, Mark Waddingham via use-livecode , wrote: > Generally, I don't tend to like to 'jump the gun' on anything related to > optimization lest it is not what it seems when running in the real world > but... > > I'm becoming increasingly confident that a recent foray of mine into yet > another attempt to improve the speed of array access in LC9 might have > actually born some quite tasty fruit. Pleasingly the code changes > required are small, highly localized and quite possibly more than > suitable for including in a 9.0.x maintenance release. > > The current WIP PR can be found here: > > https://github.com/livecode/livecode/pull/6671 > > Amusingly this didn't even start as an attempt at optimization, but an > attempt to see if I could do anything about heap fragmentation! > > The patch itself does three things: > > 1) Minimizes the in-memory size of the core types - all 'book-keeping' > records are now <=32 bytes on 64-bit systems > > 2) Makes use of tArray[x]...[z] type expressions much more efficient > when both evaluating and mutating > > 3) Makes use of integer indicies in arrays much more efficient > > I've been running it on a number of benchmarks, the two most notable > follow. > > LARGE ARRAY CONSTRUCTION > > The following simple code example was supplied in Bug 17434 by Richard > as it appears to show a memory leak (its actually heap fragmentation, > but that's another story): > > put 100 into tMax > repeat with i = 1 to tMax > repeat with j = 1 to tMax > repeat with k = 1 to tMax > put any item of "bob,carol,ted,alice" into sA[i][j][k] > end repeat > end repeat > end repeat > > The code constructs an 100x100x100 matrix (rendered as a nested array, > rather than a flat one). > > Timings in various versions (on my 2018 MBP laptop) are: > > 6.7.11: 1117ms > 9.0.1: 4020ms > PR6671: 1017ms > > This would seem to be a not too uncommon a pattern of code - judging by > JBV's recent post on here (which was essentially doing the same thing). > > We can modify the above slightly to make it more focussed on array > performance (i.e. taking out the need to construct / copy a random > portion of a string): > > put 100 into tMax > repeat with i = 1 to tMax > repeat with j = 1 to tMax > repeat with k = 1 to tMax > put "bob,carol,ted,alice" into sA[i][j][k] > end repeat > end repeat > end repeat > > Timings for this are: > > 6.7.11: 1055ms > 9.0.1: 3281ms > PR6671: 497ms > > ARRAY RECORD FILTERING > > The following code example was derived by me for my recent LCG talk > based on a real-world code supplied by Mark Talluto. It iterates over a > sequence of arrays, creating a new one where each record only has a > subset of the keys. The keys to keep are taken from a stringlist: > > private function _BenchmarkArrayFilterRecords pRecords, pColumnNames > local tFilteredRecords, tFilteredRecord > repeat for each element tRecord in pRecords > repeat for each item tColumnName in pColumnNames > put tRecord[tColumnName] into tFilteredRecord[tColumnName] > end repeat > put tFilteredRecord into \ > tFilteredRecords[the number of elements in tFilteredRecords > + 1] > end repeat > return tFilteredRecords > end _BenchmarkArrayFilterRecords > > Timings for 100000 iterations of the above are: > > 6.7.11: 16872ms > 9.0.1: 8305ms > PR6671: 4315ms > > The following is the same as the above, except the keys to keep are > taken from the keys of an array: > > private function _BenchmarkArrayFilterRecordsSet pRecords, > pColumnNameSet > local tFilteredRecords, tFilteredRecord > repeat for each element tRecord in pRecords > repeat for each key tColumnName in pColumnNameSet > put tRecord[tColumnName] into tFilteredRecord[tColumnName] > end repeat > put tFilteredRecord into \ > tFilteredRecords[the number of elements in tFilteredRecords > + 1] > end repeat > return tFilteredRecords > end _BenchmarkArrayFilterRecordsSet > > Timings for 100000 iterations of the above are: > > 6.7.11: 16508ms > 9.0.1: 6397ms > PR6671: 3001ms > > REAL WORLD CASE > > Now, I'm always a little skeptical about using synthetic benchmarks for > performance. However, both of the above are actually real-world > examples. Furthermore, when running a rather large LCS project on an > engine with PR6671, I got a 2x speed up - one particular input took > 3mins to process, rather than 6mins (one phase of processing actually > saw a 5x speed up!). > > Anyway, thought this might make some potentially pleasing Friday > afternoon news :) > > Warmest Regards, > > Mark. > > -- > Mark Waddingham ~ mark at livecode.com ~ http://www.livecode.com/ > LiveCode: Everyone can create apps > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From brian at milby7.com Fri Aug 31 10:35:35 2018 From: brian at milby7.com (Brian Milby) Date: Fri, 31 Aug 2018 09:35:35 -0500 Subject: am I regexing by mistake? In-Reply-To: <3EAB0EA2-B51E-4E85-9381-07EF256447AD@gmail.com> References: <41A8721E-4C48-43D2-AEBF-C041110C0683@hyperhh.de> <5B87FAF9.3070006@pair.com> <3EAB0EA2-B51E-4E85-9381-07EF256447AD@gmail.com> Message-ID: Need to put question mark in brackets ?[?]? when using wildcard filters if you want to match a literal question mark. Otherwise it signifies a single character match to anything. Thanks, Brian On Aug 31, 2018, 9:12 AM -0500, David V Glasgow via use-livecode , wrote: > Hello, folks. > > I am undertaking keyword searches of chat logs. The keywords are stored as themed lists in fields. > > One of the things I am interested in is finding lines where one contributor asks another about where they live, shop, go to school etc etc. So, (among other phrases) I filter for lines in the text containing the acronym ? asl ? (nowhere are quotes actually included in fields or variables, they?re just in this mail). I pad with spaces so as not to find ?asleep?. I also want to find ?asl?? > > So I repeat through lines of the keyword field ?location" > > Filter lines of tsource with tpattern > > ? which works for everything except fails to match ?asl??. It occurred to me that perhaps the question mark is being interpreted as a regex symbol, so I tried changing the line in the field to read ? asl/??, but that doesn?t find the ?asl?? that I can see in the third line of the text to be searched?. > > > shadownave (09/16/14 1:44:58 AM): hey care to chat > shadownave (09/16/14 1:45:09 AM): hey care to chat > what_sez_moo (09/16/14 1:45:18 AM): sure asl? > what_sez_moo (09/16/14 1:45:52 AM): 13 / F / Ashton here > shadownave (09/16/14 1:51:00 AM): 25/m/Derby > shadownave (09/16/14 1:51:03 AM): how r u tonight > what_sez_moo (09/16/14 1:51:16 AM): bored. > > > What am I doing wrong? Is this something to do with regex? > > Oh yes, and I thought there might be invisible characters messing things up, so I exported source text as plain text from BBedit, with no improvement. > > best wishes > > David Glasgow > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From keith.clarke at me.com Fri Aug 31 10:43:00 2018 From: keith.clarke at me.com (Keith Clarke) Date: Fri, 31 Aug 2018 15:43:00 +0100 Subject: How to get word offset all instances of a string in a chunk of text? In-Reply-To: <3a8836a0-8c32-2f26-42cd-c562e1dddc52@tweedly.net> References: <8FD5331A-989F-4204-B226-AD4A59CB04AA@me.com> <3a8836a0-8c32-2f26-42cd-c562e1dddc52@tweedly.net> Message-ID: Thanks Alex, HH & Jim for all the help & ideas. Just to close out the thread with a solution for future reference, the code below now extracts from a text source a list of unique words, cleaned up against a noise-word list, with word frequency, word & and a comma-delimited string of the word number within the original source. # Build unique words array repeat for each trueWord W in tSource add 1 to tWordNum if tANoise[W] then next repeat put comma & tWordNum after tAWords[W] end repeat # Convert unique words array to list repeat for each key K in tAWords put K && tAWords[K] & CR after tTemp end repeat repeat for each line tLine in tTemp put the number of items in tLine & comma & tLine & cr after tWords end repeat sort lines of tWords descending numeric by item 1 of each put tWords into field "Words" Thanks & regards, Keith From dvglasgow at gmail.com Fri Aug 31 10:53:06 2018 From: dvglasgow at gmail.com (David V Glasgow) Date: Fri, 31 Aug 2018 15:53:06 +0100 Subject: am I regexing by mistake? In-Reply-To: References: <41A8721E-4C48-43D2-AEBF-C041110C0683@hyperhh.de> <5B87FAF9.3070006@pair.com> <3EAB0EA2-B51E-4E85-9381-07EF256447AD@gmail.com> Message-ID: <10F930D8-C32A-4CE1-986F-B032BF300101@gmail.com> Ah! So its just a wildcard! Brilliant. Why didn?t I think of that? I was wrongly barking up the Regex tree, and making things more complicated than needed. Thank you Brian. Cheers David G > On 31 Aug 2018, at 3:35 pm, Brian Milby via use-livecode wrote: > > Need to put question mark in brackets ?[?]? when using wildcard filters if you want to match a literal question mark. Otherwise it signifies a single character match to anything. > > Thanks, > Brian > On Aug 31, 2018, 9:12 AM -0500, David V Glasgow via use-livecode , wrote: >> Hello, folks. >> >> I am undertaking keyword searches of chat logs. The keywords are stored as themed lists in fields. >> >> One of the things I am interested in is finding lines where one contributor asks another about where they live, shop, go to school etc etc. So, (among other phrases) I filter for lines in the text containing the acronym ? asl ? (nowhere are quotes actually included in fields or variables, they?re just in this mail). I pad with spaces so as not to find ?asleep?. I also want to find ?asl?? >> >> So I repeat through lines of the keyword field ?location" >> >> Filter lines of tsource with tpattern >> >> ? which works for everything except fails to match ?asl??. It occurred to me that perhaps the question mark is being interpreted as a regex symbol, so I tried changing the line in the field to read ? asl/??, but that doesn?t find the ?asl?? that I can see in the third line of the text to be searched?. >> >> >> shadownave (09/16/14 1:44:58 AM): hey care to chat >> shadownave (09/16/14 1:45:09 AM): hey care to chat >> what_sez_moo (09/16/14 1:45:18 AM): sure asl? >> what_sez_moo (09/16/14 1:45:52 AM): 13 / F / Ashton here >> shadownave (09/16/14 1:51:00 AM): 25/m/Derby >> shadownave (09/16/14 1:51:03 AM): how r u tonight >> what_sez_moo (09/16/14 1:51:16 AM): bored. >> >> >> What am I doing wrong? Is this something to do with regex? >> >> Oh yes, and I thought there might be invisible characters messing things up, so I exported source text as plain text from BBedit, with no improvement. >> >> best wishes >> >> David Glasgow >> _______________________________________________ >> use-livecode mailing list >> use-livecode at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From bobsneidar at iotecdigital.com Fri Aug 31 11:01:44 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Fri, 31 Aug 2018 15:01:44 +0000 Subject: What do we know about LC 10? In-Reply-To: References: <1535665333218-0.post@n4.nabble.com> <0aa05631-6716-4fca-909b-2b4a486b4e92@Spark> Message-ID: <7BBEDE2B-615D-4D61-89FB-165E238AF0D7@iotecdigital.com> It's been talked about. But I'm with that other guy over there who thinks a bit more refinement needs doing before going down the New Feature path. Bob S > On Aug 30, 2018, at 22:26 , Geoff Canyon via use-livecode wrote: > > Maybe? I haven't explored LCB at all. I'm much more interested in extending > Livecode Script, if that ever becomes possible. From ludovic.thebault at laposte.net Fri Aug 31 11:05:44 2018 From: ludovic.thebault at laposte.net (Ludovic THEBAULT) Date: Fri, 31 Aug 2018 17:05:44 +0200 Subject: fullscreenmode and rect of a substack on mobile device ? In-Reply-To: <97A39ADC-8C49-432B-A1DF-C3B5DD494B67@laposte.net> References: <3AD3CF89-6E4C-4608-A9FC-E56DDADFD115@laposte.net> <99f39315-d93c-ba00-db5f-423ef3d209c1@fourthworld.com> <30FD572A-30CA-40CB-B1C0-020AEEDC6E4F@laposte.net> <97A39ADC-8C49-432B-A1DF-C3B5DD494B67@laposte.net> Message-ID: > Le 30 ao?t 2018 ? 20:44, Ludovic THEBAULT via use-livecode a ?crit : > > You can download my test stack here : > https://www.dropbox.com/s/iwwm2syiqzqamtg/testsubstack2.livecode?dl=1 > > Note : my script doesn?t work properly : i tested it on an android tablet and the result is not accurate. I updated the script, now it?s work for all screen size (in fullscreenmode showall). You can also test for other fullscreenmode. I noticed that with some devices the top and bottom of the screenrect could be slightly hidden by the physical border of the screen (about ten pixels). I added a button to shift the dotted lines representing the screen boundaries by 10 pixels with each click to test this. From richmondmathewson at gmail.com Fri Aug 31 11:44:40 2018 From: richmondmathewson at gmail.com (Richmond Mathewson) Date: Fri, 31 Aug 2018 18:44:40 +0300 Subject: Deleting a char inside a textField via code Message-ID: Normally, if one were typing into a textField and made a mistake one would hit the back delete key and the mistake would vanish. How does one do this "programmatically"? Here's the (admittedly odd scenario): Unicode behaves inconsistently in various marginal cases with Devanagari script, and what happens is that the first time one sends this: put numToCodePoint(7418) after the selectedText one ends up with a useless square. But if one does this: put numToCodePoint(7418) after the selectedText put numToCodePoint(7418) after the selectedText one ends up with the useless square PRECEDED by the target glyph. So, the 'clever' work around might be to do this: put numToCodePoint(7418) after the selectedText put numToCodePoint(7418) after the selectedText followed by deleting the useless square However doing this: put numToCodePoint(65288) after the selectedText results in another useless square. Richmond. From dan at clearvisiontech.com Fri Aug 31 11:51:19 2018 From: dan at clearvisiontech.com (Dan Friedman) Date: Fri, 31 Aug 2018 15:51:19 +0000 Subject: Android Audio Recorder Woes Message-ID: Hello! I am trying to implement the Android Audio Recorder options in my project, but it?s not working. I have checked the ?Android Audio Recorder? in the Standalone Application Settings, and the called this: androidRecorderSetRecordFormat "MPEG-4" put (specialFolderPath("documents") & "/ test.mp4") into fPath androidRecorderStartRecording fPath The androidRecorderSetRecordFormat seems to be ok as it?s failing on the androidRecorderStartRecording call. Is there something else I need to do or set to get this working? Thanks in advance -Dan From richmondmathewson at gmail.com Fri Aug 31 11:53:46 2018 From: richmondmathewson at gmail.com (Richmond Mathewson) Date: Fri, 31 Aug 2018 18:53:46 +0300 Subject: Deleting a char inside a textField via code In-Reply-To: References: Message-ID: To make things more complicated: if one has this: put numToCodePoint(7418) after the selectedText put numToCodePoint(7418) after the selectedText delete the last char of fld "XYZ" it is the target glyph that is deleted and NOT the useless square (ie. it is NOT the last char that is deleted). On 31/8/2018 6:44 pm, Richmond Mathewson wrote: > Normally, if one were typing into a textField and made a mistake one > would hit the back delete key > and the mistake would vanish. > > How does one do this "programmatically"? > > Here's the (admittedly odd scenario): > > Unicode behaves inconsistently in various marginal cases with > Devanagari script, > and what happens is that the first time one sends this: > > put numToCodePoint(7418) after the selectedText > > one ends up with a useless square. > > But if one does this: > > put numToCodePoint(7418) after the selectedText > put numToCodePoint(7418) after the selectedText > > one ends up with the useless square PRECEDED by the target glyph. > > So, the 'clever' work around might be to do this: > > put numToCodePoint(7418) after the selectedText > put numToCodePoint(7418) after the selectedText > > followed by deleting the useless square > > However doing this: > > put numToCodePoint(65288) after the selectedText > > results in another useless square. > > Richmond. From ambassador at fourthworld.com Fri Aug 31 12:45:48 2018 From: ambassador at fourthworld.com (Richard Gaskin) Date: Fri, 31 Aug 2018 09:45:48 -0700 Subject: On Performance of Array Access In-Reply-To: <03457b9a5ae4c41fb2511ecc8579ab97@livecode.com> References: <03457b9a5ae4c41fb2511ecc8579ab97@livecode.com> Message-ID: <210084da-7694-d443-29c6-cb4dcdfd63c3@fourthworld.com> Impressive. Thank you. -- Richard Gaskin Fourth World Systems Mark Waddingham wrote: > Generally, I don't tend to like to 'jump the gun' on anything related to > optimization lest it is not what it seems when running in the real world > but... > > I'm becoming increasingly confident that a recent foray of mine into yet > another attempt to improve the speed of array access in LC9 might have > actually born some quite tasty fruit. Pleasingly the code changes > required are small, highly localized and quite possibly more than > suitable for including in a 9.0.x maintenance release. > > The current WIP PR can be found here: > > https://github.com/livecode/livecode/pull/6671 > > Amusingly this didn't even start as an attempt at optimization, but an > attempt to see if I could do anything about heap fragmentation! > > The patch itself does three things: > > 1) Minimizes the in-memory size of the core types - all 'book-keeping' > records are now <=32 bytes on 64-bit systems > > 2) Makes use of tArray[x]...[z] type expressions much more efficient > when both evaluating and mutating > > 3) Makes use of integer indicies in arrays much more efficient > > I've been running it on a number of benchmarks, the two most notable > follow. > > LARGE ARRAY CONSTRUCTION > > The following simple code example was supplied in Bug 17434 by Richard > as it appears to show a memory leak (its actually heap fragmentation, > but that's another story): > > put 100 into tMax > repeat with i = 1 to tMax > repeat with j = 1 to tMax > repeat with k = 1 to tMax > put any item of "bob,carol,ted,alice" into sA[i][j][k] > end repeat > end repeat > end repeat > > The code constructs an 100x100x100 matrix (rendered as a nested array, > rather than a flat one). > > Timings in various versions (on my 2018 MBP laptop) are: > > 6.7.11: 1117ms > 9.0.1: 4020ms > PR6671: 1017ms > > This would seem to be a not too uncommon a pattern of code - judging by > JBV's recent post on here (which was essentially doing the same thing). > > We can modify the above slightly to make it more focussed on array > performance (i.e. taking out the need to construct / copy a random > portion of a string): > > put 100 into tMax > repeat with i = 1 to tMax > repeat with j = 1 to tMax > repeat with k = 1 to tMax > put "bob,carol,ted,alice" into sA[i][j][k] > end repeat > end repeat > end repeat > > Timings for this are: > > 6.7.11: 1055ms > 9.0.1: 3281ms > PR6671: 497ms > > ARRAY RECORD FILTERING > > The following code example was derived by me for my recent LCG talk > based on a real-world code supplied by Mark Talluto. It iterates over a > sequence of arrays, creating a new one where each record only has a > subset of the keys. The keys to keep are taken from a stringlist: > > private function _BenchmarkArrayFilterRecords pRecords, pColumnNames > local tFilteredRecords, tFilteredRecord > repeat for each element tRecord in pRecords > repeat for each item tColumnName in pColumnNames > put tRecord[tColumnName] into tFilteredRecord[tColumnName] > end repeat > put tFilteredRecord into \ > tFilteredRecords[the number of elements in tFilteredRecords > + 1] > end repeat > return tFilteredRecords > end _BenchmarkArrayFilterRecords > > Timings for 100000 iterations of the above are: > > 6.7.11: 16872ms > 9.0.1: 8305ms > PR6671: 4315ms > > The following is the same as the above, except the keys to keep are > taken from the keys of an array: > > private function _BenchmarkArrayFilterRecordsSet pRecords, > pColumnNameSet > local tFilteredRecords, tFilteredRecord > repeat for each element tRecord in pRecords > repeat for each key tColumnName in pColumnNameSet > put tRecord[tColumnName] into tFilteredRecord[tColumnName] > end repeat > put tFilteredRecord into \ > tFilteredRecords[the number of elements in tFilteredRecords > + 1] > end repeat > return tFilteredRecords > end _BenchmarkArrayFilterRecordsSet > > Timings for 100000 iterations of the above are: > > 6.7.11: 16508ms > 9.0.1: 6397ms > PR6671: 3001ms > > REAL WORLD CASE > > Now, I'm always a little skeptical about using synthetic benchmarks for > performance. However, both of the above are actually real-world > examples. Furthermore, when running a rather large LCS project on an > engine with PR6671, I got a 2x speed up - one particular input took > 3mins to process, rather than 6mins (one phase of processing actually > saw a 5x speed up!). > > Anyway, thought this might make some potentially pleasing Friday > afternoon news :) > > Warmest Regards, > > Mark. From brian at milby7.com Fri Aug 31 12:46:31 2018 From: brian at milby7.com (Brian Milby) Date: Fri, 31 Aug 2018 11:46:31 -0500 Subject: fullscreenmode and rect of a substack on mobile device ? In-Reply-To: References: <3AD3CF89-6E4C-4608-A9FC-E56DDADFD115@laposte.net> <99f39315-d93c-ba00-db5f-423ef3d209c1@fourthworld.com> <30FD572A-30CA-40CB-B1C0-020AEEDC6E4F@laposte.net> <97A39ADC-8C49-432B-A1DF-C3B5DD494B67@laposte.net> Message-ID: I still think you are working too hard. I just put this on my Fire. (I had to manually code the FSM). This short handler sets everything properly: on fixBackground local tCardW, tScreenW, tScreenH, tNewH, tRect put the width of this card into tCardW put the effective working screenRect into tRect put item 3 of tRect - item 1 of tRect into tScreenW put item 4 of tRect - item 2 of tRect into tScreenH put tCardW / (tScreenW / tScreenH) into tNewH set the height of grc "bkg" to tNewH set the loc of grc "bkg" to the loc of this card set the top of grc "lineTop" to item 2 of the rect of grc "bkg" set the bottom of grc "lineBottom" to item 4 of the rect of grc "bkg" end fixBackground The problem with the lines being off screen is that you need to use the "effective working screenrect" to account for the area that you cannot address. On iOS, the top of the screen is within the card rect. On the Fire, it is not. On my device, the top 24px are reserved. Brian On Fri, Aug 31, 2018 at 10:06 AM Ludovic THEBAULT via use-livecode < use-livecode at lists.runrev.com> wrote: > > > Le 30 ao?t 2018 ? 20:44, Ludovic THEBAULT via use-livecode < > use-livecode at lists.runrev.com> a ?crit : > > > > You can download my test stack here : > > https://www.dropbox.com/s/iwwm2syiqzqamtg/testsubstack2.livecode?dl=1 > > > > Note : my script doesn?t work properly : i tested it on an android > tablet and the result is not accurate. > > > I updated the script, now it?s work for all screen size (in fullscreenmode > showall). You can also test for other fullscreenmode. > I noticed that with some devices the top and bottom of the screenrect > could be slightly hidden by the physical border of the screen (about ten > pixels). I added a button to shift the dotted lines representing the screen > boundaries by 10 pixels with each click to test this. > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From richmondmathewson at gmail.com Fri Aug 31 13:57:07 2018 From: richmondmathewson at gmail.com (Richmond Mathewson) Date: Fri, 31 Aug 2018 20:57:07 +0300 Subject: Deleting a char inside a textField via code In-Reply-To: References: Message-ID: Digging further . . . I found out that the problem appearas: 1. NOT to be with LiveCode. 2. NOT to be with MacOS. Because using a font other than my one works well. So? What hidden aspects of my Devawriter.ttf font are gumming up the works? Richmond. On 31/8/2018 6:44 pm, Richmond Mathewson wrote: > Normally, if one were typing into a textField and made a mistake one > would hit the back delete key > and the mistake would vanish. > > How does one do this "programmatically"? > > Here's the (admittedly odd scenario): > > Unicode behaves inconsistently in various marginal cases with > Devanagari script, > and what happens is that the first time one sends this: > > put numToCodePoint(7418) after the selectedText > > one ends up with a useless square. > > But if one does this: > > put numToCodePoint(7418) after the selectedText > put numToCodePoint(7418) after the selectedText > > one ends up with the useless square PRECEDED by the target glyph. > > So, the 'clever' work around might be to do this: > > put numToCodePoint(7418) after the selectedText > put numToCodePoint(7418) after the selectedText > > followed by deleting the useless square > > However doing this: > > put numToCodePoint(65288) after the selectedText > > results in another useless square. > > Richmond. From brahma at hindu.org Fri Aug 31 13:54:24 2018 From: brahma at hindu.org (Sannyasin Brahmanathaswami) Date: Fri, 31 Aug 2018 17:54:24 +0000 Subject: Datagrid substack question References: <798D87AF-A0EF-4EA8-8171-E8C9E35E84FF@gmail.com> Message-ID: Aha! that why a data grid on a cloned stack won't work! On 8/28/18 6:14 AM, Knapp Martin via use-livecode wrote: > Thanks zryip - I?ll give that a try! > > Marty > >> On Aug 28, 2018, at 12:31 AM, zryip theSlug via use-livecode wrote: >> >> Marty, >> >> You have to change the row template property of your datagrid to point it >> to the template group located in your renamed substack. >> >> set the dgProps["row template"] of grp "myDatagrid" to the long id of grp >> "myGrpTemplate" of cd "myCardTemplate" of stack "myTemplateStack" -- Svasti Astu, Be Well! Brahmanathaswami Get the SivaSiva app, it's free: https://www.himalayanacademy.com/apps/sivasiva From jacque at hyperactivesw.com Fri Aug 31 14:25:49 2018 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Fri, 31 Aug 2018 13:25:49 -0500 Subject: Mobile Rotation Redux In-Reply-To: References: Message-ID: On 8/30/18 8:46 PM, Brian Milby via use-livecode wrote: > I'll post the stack file if anyone wants to see it. On the one Android > device I have available it works correctly. Resizestack handlers fire > correctly. So I guess I need to find something with a later OS to test > against to see the problems others are seeing on the Android side. Sure, post the stack and I'll take a look on a couple of different Android devices. For the record, I haven't had any problems on Android with resizeStack or the various rects either. I don't remember exactly, but I seem to recall the reported problems were with a stack that uses fullscreenMode, where resizeStack isn't sent (unless mobileSetFullScreenRectForOrientations is used.) -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com From paul at researchware.com Fri Aug 31 14:30:40 2018 From: paul at researchware.com (Paul Dupuis) Date: Fri, 31 Aug 2018 14:30:40 -0400 Subject: Deleting a char inside a textField via code In-Reply-To: References: Message-ID: <07b4a098-2a02-7c73-c598-a4fb85f12a06@researchware.com> If you want to delete the last characters by script, why not something like: delete last char of fld X Or a more complex version might be put the selectedChunk into tWhere put word 2 of tWhere into tStart -- staring char position of the cursor put word 4 of tWhere into tEnd -- ending char position of the cursor if tStart > tEnd then -- just an insertion point ? delete char tEnd of field X -- delete the character just before the insertion point else -- some field content is selected, so ? delete char tStart to tEnd of fld X -- delete the selected field content end if I did this from memory, so check the dictionary for the exact expressions returned by the selectedChunk function., On 8/31/2018 1:57 PM, Richmond Mathewson via use-livecode wrote: > Digging further . . . > > I found out that the problem appearas: > > 1. NOT to be with LiveCode. > > 2. NOT to be with MacOS. > > Because using a font other than my one works well. > > So? > > What hidden aspects of my Devawriter.ttf font are gumming up the works? > > Richmond. > > On 31/8/2018 6:44 pm, Richmond Mathewson wrote: >> Normally, if one were typing into a textField and made a mistake one >> would hit the back delete key >> and the mistake would vanish. >> >> How does one do this "programmatically"? >> >> Here's the (admittedly odd scenario): >> >> Unicode behaves inconsistently in various marginal cases with >> Devanagari script, >> and what happens is that the first time one sends this: >> >> put numToCodePoint(7418) after the selectedText >> >> one ends up with a useless square. >> >> But if one does this: >> >> put numToCodePoint(7418) after the selectedText >> put numToCodePoint(7418) after the selectedText >> >> one ends up with the useless square PRECEDED by the target glyph. >> >> So, the 'clever' work around might be to do this: >> >> put numToCodePoint(7418) after the selectedText >> put numToCodePoint(7418) after the selectedText >> >> followed by deleting the useless square >> >> However doing this: >> >> put numToCodePoint(65288) after the selectedText >> >> results in another useless square. >> >> Richmond. > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From richmondmathewson at gmail.com Fri Aug 31 14:34:48 2018 From: richmondmathewson at gmail.com (Richmond Mathewson) Date: Fri, 31 Aug 2018 21:34:48 +0300 Subject: Deleting a char inside a textField via code In-Reply-To: <07b4a098-2a02-7c73-c598-a4fb85f12a06@researchware.com> References: <07b4a098-2a02-7c73-c598-a4fb85f12a06@researchware.com> Message-ID: <42a84ac0-e4f7-d1dc-9aed-70acef6da249@gmail.com> Thanks On 31/8/2018 9:30 pm, Paul Dupuis via use-livecode wrote: > If you want to delete the last characters by script, why not something like: > > delete last char of fld X This works, of course, if it is the last char in the field. > > Or a more complex version might be > > put the selectedChunk into tWhere > put word 2 of tWhere into tStart -- staring char position of the cursor > put word 4 of tWhere into tEnd -- ending char position of the cursor > if tStart > tEnd then -- just an insertion point > delete char tEnd of field X -- delete the character just before the > insertion point > else -- some field content is selected, so > delete char tStart to tEnd of fld X -- delete the selected field content > end if While this sort of thing works it mucks up the font settings of the field (and I'm using fields with multiple font settings). > > I did this from memory, so check the dictionary for the exact > expressions returned by the selectedChunk function., Richmond. > > On 8/31/2018 1:57 PM, Richmond Mathewson via use-livecode wrote: >> Digging further . . . >> >> I found out that the problem appearas: >> >> 1. NOT to be with LiveCode. >> >> 2. NOT to be with MacOS. >> >> Because using a font other than my one works well. >> >> So? >> >> What hidden aspects of my Devawriter.ttf font are gumming up the works? >> >> Richmond. >> >> On 31/8/2018 6:44 pm, Richmond Mathewson wrote: >>> Normally, if one were typing into a textField and made a mistake one >>> would hit the back delete key >>> and the mistake would vanish. >>> >>> How does one do this "programmatically"? >>> >>> Here's the (admittedly odd scenario): >>> >>> Unicode behaves inconsistently in various marginal cases with >>> Devanagari script, >>> and what happens is that the first time one sends this: >>> >>> put numToCodePoint(7418) after the selectedText >>> >>> one ends up with a useless square. >>> >>> But if one does this: >>> >>> put numToCodePoint(7418) after the selectedText >>> put numToCodePoint(7418) after the selectedText >>> >>> one ends up with the useless square PRECEDED by the target glyph. >>> >>> So, the 'clever' work around might be to do this: >>> >>> put numToCodePoint(7418) after the selectedText >>> put numToCodePoint(7418) after the selectedText >>> >>> followed by deleting the useless square >>> >>> However doing this: >>> >>> put numToCodePoint(65288) after the selectedText >>> >>> results in another useless square. >>> >>> Richmond. >> _______________________________________________ >> use-livecode mailing list >> use-livecode at 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 at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From tore.nilsen at me.com Fri Aug 31 14:47:17 2018 From: tore.nilsen at me.com (Tore Nilsen) Date: Fri, 31 Aug 2018 20:47:17 +0200 Subject: Missing function selectedWords/selectedTrueWords Message-ID: <9D50491A-2FEE-424C-BC77-058C5E70E2C7@me.com> I am struggling with a problem related to the selection of parts of a text in a field. I would like to know which words are selected, that is, I would like to know the range of words selected. None of the functions available in LiveCode will do this. If I use selectedChunkI will get the range of characters in the selection. If I use selectedText or just the selection I will get the words that are selected, but not where in the range of words of the text the selected words are placed. I find this strange, as it is possible to manipulate any given word (or trueWord) by referring to its placement in the text by number. I can delete, put into, put before or after, alter style, size or font of any given word by referring to its position in the text by number. I would think that it would be possible to implement a function called selectedWords or selectedTrueWords as a way of getting this information. This information is useful if you want to implement changes to the styles of the selected text, where textStyles report mixed. In a selection with mixed styles, setting the textStyle has to be done on a word by word basis (or char by char basis if different styles are used within a word). Now I probably will have to use the selectedChunk, and loop through the text, character by character, keeping track of word delimiters to decide the range of words selected. I can do that, but I cannot possibly expect my students to really understand what they are doing, two weeks into their course. If said functions had been available, it would have been much easier to teach my students about all the powerful text handling features in LiveCode by making a small and powerful text editor. Am I the only person who would like to see these functions implemented? Best regards Tore Nilsen From mark at livecode.com Fri Aug 31 15:22:32 2018 From: mark at livecode.com (Mark Waddingham) Date: Fri, 31 Aug 2018 20:22:32 +0100 Subject: Missing function selectedWords/selectedTrueWords In-Reply-To: <9D50491A-2FEE-424C-BC77-058C5E70E2C7@me.com> References: <9D50491A-2FEE-424C-BC77-058C5E70E2C7@me.com> Message-ID: <10200aaa2df49fa0ed02a1170ebfa0a7@livecode.com> On 2018-08-31 19:47, Tore Nilsen via use-livecode wrote: > This information is useful if you want to implement changes to the > styles of the selected text, where textStyles report mixed. In a > selection with mixed styles, setting the textStyle has to be done on a > word by word basis (or char by char basis if different styles are used > within a word). You can actually manipulate individual textStyles for just this purposes: set the textStyle["bold"] of to true -- or false All styled text editors I know of work on the complete selected range (including whitespace), rather than just on the words... Warmest Regards, Mark. P.S. I'm not saying that 'the wordIndex of ' might not be useful, but I do wonder if the above actually solves your problem in an easier / more consistent with the rest-of-the-world way ;) -- Mark Waddingham ~ mark at livecode.com ~ http://www.livecode.com/ LiveCode: Everyone can create apps From hh at hyperhh.de Fri Aug 31 15:31:22 2018 From: hh at hyperhh.de (hh) Date: Fri, 31 Aug 2018 21:31:22 +0200 Subject: Missing function selectedWords/selectedTrueWords Message-ID: <50794EF8-09B7-4016-9128-73E01153CDAF@hyperhh.de> You could try: on mouseUp put the selectedChunk into sc put word 2 of sc into strt put word 4 of sc into stp put fld word 7 of sc into txt put selectedWords(strt,stp,txt) into fld "out" end mouseUp function selectedWords strt,stp,txt put the num of words in char 1 to strt of txt into w1 put the num of words in char 1 to stp of txt into w2 return w1,w2 -- start and stop end selectedWords Of course you have an uncertainty if your selection starts or stops within words. Similar for truewords ... From tore.nilsen at me.com Fri Aug 31 15:33:39 2018 From: tore.nilsen at me.com (Tore Nilsen) Date: Fri, 31 Aug 2018 21:33:39 +0200 Subject: Missing function selectedWords/selectedTrueWords In-Reply-To: <10200aaa2df49fa0ed02a1170ebfa0a7@livecode.com> References: <9D50491A-2FEE-424C-BC77-058C5E70E2C7@me.com> <10200aaa2df49fa0ed02a1170ebfa0a7@livecode.com> Message-ID: Microsoft Word seems to behave the way you suggest, in the sense that if any given text style is present among the words in the selection then it is removed. Pages behaves differently. If a given text style is true for some of the words in the selection, Pages will initially keep this style for these words and add it to the styles of the rest of the chunk. If a given text style is true/false for all words in the selection, Pages will set the text style to false/true accordingly. To mimic these behaviours it would be useful to be able to do so on a word by word basis. An alternative way to handle this could be that the textStyles function returned an numeric array with the number of the words as key and the text styles for the words as value. Best Regards, Tore > 31. aug. 2018 kl. 21:22 skrev Mark Waddingham via use-livecode : > > You can actually manipulate individual textStyles for just this purposes: > > set the textStyle["bold"] of to true -- or false > > All styled text editors I know of work on the complete selected range (including whitespace), rather than just on the words... > > Warmest Regards, > > Mark. From mark at livecode.com Fri Aug 31 15:39:26 2018 From: mark at livecode.com (Mark Waddingham) Date: Fri, 31 Aug 2018 20:39:26 +0100 Subject: Missing function selectedWords/selectedTrueWords In-Reply-To: References: <9D50491A-2FEE-424C-BC77-058C5E70E2C7@me.com> <10200aaa2df49fa0ed02a1170ebfa0a7@livecode.com> Message-ID: <161f95d9a8b3a929f04c016fd9f52828@livecode.com> On 2018-08-31 20:33, Tore Nilsen via use-livecode wrote: > Microsoft Word seems to behave the way you suggest, in the sense that > if any given text style is present among the words in the selection > then it is removed. Pages behaves differently. If a given text style > is true for some of the words in the selection, Pages will initially > keep this style for these words and add it to the styles of the rest > of the chunk. If a given text style is true/false for all words in the > selection, Pages will set the text style to false/true accordingly. To > mimic these behaviours it would be useful to be able to do so on a > word by word basis. I'm not sure I follow... In pages if I have Hello World Foo Bar If I select the whole lot - then 'textStyle["bold"]' (in LC speak) will be 'mixed' - this is indicated by the 'Bold' button in pages not being highlighted. If I click the 'Bold' button then it does the equivalent of 'set the textStyle["bold"] of the selectedChunk to true', if I click again it does the same as setting the same property to false. In both cases 'Bar' remains italic. The key thing here is that using the array form of textStyle treats each individual text style completely separately. Perhaps I misunderstand what you meant? Warmest Regards, Mark. -- Mark Waddingham ~ mark at livecode.com ~ http://www.livecode.com/ LiveCode: Everyone can create apps From tore.nilsen at me.com Fri Aug 31 15:40:01 2018 From: tore.nilsen at me.com (Tore Nilsen) Date: Fri, 31 Aug 2018 21:40:01 +0200 Subject: Missing function selectedWords/selectedTrueWords In-Reply-To: <50794EF8-09B7-4016-9128-73E01153CDAF@hyperhh.de> References: <50794EF8-09B7-4016-9128-73E01153CDAF@hyperhh.de> Message-ID: <90D3EAFE-6B68-4165-967D-C21681EB3569@me.com> Beats "looping around? all the text any day! I think I can use this with my students in a couple of months time. For now, I think I have to stick to the more basic tasks of just altering fonts, text size, text color and text styles for single word selections. Best Regards Tore Nilsen > 31. aug. 2018 kl. 21:31 skrev hh via use-livecode : > > You could try: > > on mouseUp > put the selectedChunk into sc > put word 2 of sc into strt > put word 4 of sc into stp > put fld word 7 of sc into txt > put selectedWords(strt,stp,txt) into fld "out" > end mouseUp > > function selectedWords strt,stp,txt > put the num of words in char 1 to strt of txt into w1 > put the num of words in char 1 to stp of txt into w2 > return w1,w2 -- start and stop > end selectedWords > > Of course you have an uncertainty if your selection > starts or stops within words. > > Similar for truewords ... > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From curry at pair.com Fri Aug 31 15:44:12 2018 From: curry at pair.com (Curry Kenworthy) Date: Fri, 31 Aug 2018 15:44:12 -0400 Subject: On Performance of Array Access In-Reply-To: <03457b9a5ae4c41fb2511ecc8579ab97@livecode.com> References: <03457b9a5ae4c41fb2511ecc8579ab97@livecode.com> Message-ID: <5B899A8C.8000600@pair.com> Mark W: > 6.7.11: 1117ms > 9.0.1: 4020ms > PR6671: 1017ms Now THAT'S the kind of news that makes a Friday special! Honestly I was quite disappointed lately in 9's array speed, but this gives me a lot of hope, and it also helps in the practical details of code planning for projects. Thank you Mark. Arrays are not the only issue, but it's a great start and one of the areas I was going to advocate. Even repeats with math calculations are also a problem in 9, for example. But I have full confidence, as I said on this list recently, that 9+ should be able to beat 6 in most areas when optimized. I will test your build and post my test stack and results here as soon as I get a chance. Best wishes, Curry Kenworthy Custom Software Development LiveCode Training and Consulting http://livecodeconsulting.com/ From tore.nilsen at me.com Fri Aug 31 15:51:50 2018 From: tore.nilsen at me.com (Tore Nilsen) Date: Fri, 31 Aug 2018 21:51:50 +0200 Subject: Missing function selectedWords/selectedTrueWords In-Reply-To: <161f95d9a8b3a929f04c016fd9f52828@livecode.com> References: <9D50491A-2FEE-424C-BC77-058C5E70E2C7@me.com> <10200aaa2df49fa0ed02a1170ebfa0a7@livecode.com> <161f95d9a8b3a929f04c016fd9f52828@livecode.com> Message-ID: <491F5C03-952B-41DE-94A7-D1782E2DC74E@me.com> I got a bit confused there. Pages behaves as you say, Microsoft Word would turn off bold on the initial push of the button, then adding bold to the styles the next time. This is why I thought I needed to find the style of each word in a group of words when the the textStyles is mixed. And I still think that is what I need in order to mimic the behaviour of either Word or Pages. Best Regards Tore > 31. aug. 2018 kl. 21:39 skrev Mark Waddingham via use-livecode : > > I'm not sure I follow... In pages if I have > > Hello World Foo Bar > > If I select the whole lot - then 'textStyle["bold"]' (in LC speak) will be 'mixed' - this is indicated by the 'Bold' button in pages not being highlighted. If I click the 'Bold' button then it does the equivalent of 'set the textStyle["bold"] of the selectedChunk to true', if I click again it does the same as setting the same property to false. In both cases 'Bar' remains italic. > > The key thing here is that using the array form of textStyle treats each individual text style completely separately. > > Perhaps I misunderstand what you meant? > > Warmest Regards, > > Mark. From tore.nilsen at me.com Fri Aug 31 15:57:04 2018 From: tore.nilsen at me.com (Tore Nilsen) Date: Fri, 31 Aug 2018 21:57:04 +0200 Subject: Missing function selectedWords/selectedTrueWords In-Reply-To: <161f95d9a8b3a929f04c016fd9f52828@livecode.com> References: <9D50491A-2FEE-424C-BC77-058C5E70E2C7@me.com> <10200aaa2df49fa0ed02a1170ebfa0a7@livecode.com> <161f95d9a8b3a929f04c016fd9f52828@livecode.com> Message-ID: <83275085-3F75-47A3-9403-737E397A513A@me.com> The array form may well be what I need. I do think I still will have to wait some time before I introduce it to my students. Best regards Tore > 31. aug. 2018 kl. 21:39 skrev Mark Waddingham via use-livecode : > > The key thing here is that using the array form of textStyle treats each individual text style completely separately. From mark at livecode.com Fri Aug 31 16:00:37 2018 From: mark at livecode.com (Mark Waddingham) Date: Fri, 31 Aug 2018 21:00:37 +0100 Subject: Missing function selectedWords/selectedTrueWords In-Reply-To: <491F5C03-952B-41DE-94A7-D1782E2DC74E@me.com> References: <9D50491A-2FEE-424C-BC77-058C5E70E2C7@me.com> <10200aaa2df49fa0ed02a1170ebfa0a7@livecode.com> <161f95d9a8b3a929f04c016fd9f52828@livecode.com> <491F5C03-952B-41DE-94A7-D1782E2DC74E@me.com> Message-ID: On 2018-08-31 20:51, Tore Nilsen via use-livecode wrote: > I got a bit confused there. Pages behaves as you say, Microsoft Word > would turn off bold on the initial push of the button, then adding > bold to the styles the next time. > > This is why I thought I needed to find the style of each word in a > group of words when the the textStyles is mixed. And I still think > that is what I need in order to mimic the behaviour of either Word or > Pages. Okay - so - create a stack, create a field, type some text in it and then see if you find that the Text > Bold/Italic/... items work as you find in Pages/Word (you should, they seem to for me)... If you find they work the same then: set the textStyle["bold"] of the selectedChunk to true -- "bold" can be "italic" or any of the others, setting to false does the inverse Is definitely what you need. If the textStyle["bold"] of the selectedChunk is "mixed" it means some chars are bold, some aren't - so you can make the appropriate decision as to what to do based on your preference for either the Pages or Word behavior :) Warmest Regards, Mark. P.S. The above feature was implemented a few versions ago precisely to allow the functionality you describe to be implemented very easily... Prior to it, the IDE menu items still did the right thing - but the code was, well, nowhere near a single line... -- Mark Waddingham ~ mark at livecode.com ~ http://www.livecode.com/ LiveCode: Everyone can create apps From tore.nilsen at me.com Fri Aug 31 16:11:44 2018 From: tore.nilsen at me.com (Tore Nilsen) Date: Fri, 31 Aug 2018 22:11:44 +0200 Subject: Missing function selectedWords/selectedTrueWords In-Reply-To: References: <9D50491A-2FEE-424C-BC77-058C5E70E2C7@me.com> <10200aaa2df49fa0ed02a1170ebfa0a7@livecode.com> <161f95d9a8b3a929f04c016fd9f52828@livecode.com> <491F5C03-952B-41DE-94A7-D1782E2DC74E@me.com> Message-ID: <8546FE92-187B-4161-AB8A-16A48A664905@me.com> It worked as advertised, provided I also check for the instance of the given textStyle to be false, this works a charm. The code I need to show to my students is easy enough for them to understand, without the need to actually understand arrays. Thank you! Best regards, Tore > 31. aug. 2018 kl. 22:00 skrev Mark Waddingham via use-livecode : > > On 2018-08-31 20:51, Tore Nilsen via use-livecode wrote: >> I got a bit confused there. Pages behaves as you say, Microsoft Word >> would turn off bold on the initial push of the button, then adding >> bold to the styles the next time. >> This is why I thought I needed to find the style of each word in a >> group of words when the the textStyles is mixed. And I still think >> that is what I need in order to mimic the behaviour of either Word or >> Pages. > > Okay - so - create a stack, create a field, type some text in it and then see if you find that the Text > Bold/Italic/... items work as you find in Pages/Word (you should, they seem to for me)... > > If you find they work the same then: > > set the textStyle["bold"] of the selectedChunk to true -- "bold" can be "italic" or any of the others, setting to false does the inverse > > Is definitely what you need. > > If the textStyle["bold"] of the selectedChunk is "mixed" it means some chars are bold, some aren't - so you can make the appropriate decision as to what to do based on your preference for either the Pages or Word behavior :) > > Warmest Regards, > > Mark. > > P.S. The above feature was implemented a few versions ago precisely to allow the functionality you describe to be implemented very easily... Prior to it, the IDE menu items still did the right thing - but the code was, well, nowhere near a single line... > > -- > Mark Waddingham ~ mark at livecode.com ~ http://www.livecode.com/ > LiveCode: Everyone can create apps > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From mark at livecode.com Fri Aug 31 16:13:00 2018 From: mark at livecode.com (Mark Waddingham) Date: Fri, 31 Aug 2018 21:13:00 +0100 Subject: Missing function selectedWords/selectedTrueWords In-Reply-To: <83275085-3F75-47A3-9403-737E397A513A@me.com> References: <9D50491A-2FEE-424C-BC77-058C5E70E2C7@me.com> <10200aaa2df49fa0ed02a1170ebfa0a7@livecode.com> <161f95d9a8b3a929f04c016fd9f52828@livecode.com> <83275085-3F75-47A3-9403-737E397A513A@me.com> Message-ID: <51818f365430a0e1204f13a160764ac3@livecode.com> On 2018-08-31 20:57, Tore Nilsen via use-livecode wrote: > The array form may well be what I need. I do think I still will have > to wait some time before I introduce it to my students. Perhaps - certainly 'textFont' and 'textSize' have less syntactic baggage. However, the actual underlying form/pattern/functionality is identical: the of the selectedChunk Returns "mixed" if is not the same across all chars, otherwise the value of (or empty if unset across all of them - i.e. inherited). You could introduce the text style ones as 'prepackaged' units though: the textStyle["bold"] of the selectedChunk the textStyle["italic"] of the selectedChunk This isn't really a 'lie' either - as these aren't really array properties in the same way as when you use that syntactic form as a custom property. In an ideal world they would have been done as 'the bold of' etc. We didn't do that for the simple reason that the number of times I have seen 'bold', 'italic' and other textStyle keywords as variable names and custom property names might be most surprising - i.e. had we, an unknown number of stacks would have broken, quite severely! [Although with hindsight perhaps we should have considered textBold / textItalic ... ]. Warmest Regards, Mark. P.S. Of course, at least one 'smart-ass' will ask 'why do those have brackety things when the others don't' - but aren't teachers well versed in dealing with such inquisitive minds? ;) -- Mark Waddingham ~ mark at livecode.com ~ http://www.livecode.com/ LiveCode: Everyone can create apps From tore.nilsen at me.com Fri Aug 31 16:22:41 2018 From: tore.nilsen at me.com (Tore Nilsen) Date: Fri, 31 Aug 2018 22:22:41 +0200 Subject: Missing function selectedWords/selectedTrueWords In-Reply-To: <51818f365430a0e1204f13a160764ac3@livecode.com> References: <9D50491A-2FEE-424C-BC77-058C5E70E2C7@me.com> <10200aaa2df49fa0ed02a1170ebfa0a7@livecode.com> <161f95d9a8b3a929f04c016fd9f52828@livecode.com> <83275085-3F75-47A3-9403-737E397A513A@me.com> <51818f365430a0e1204f13a160764ac3@livecode.com> Message-ID: We certainly are. I can already think of several sarcastic phrases to use, should the situation call for it! :) And since my students all know me well enough from earlier years, they will expect as much. Tore > 31. aug. 2018 kl. 22:13 skrev Mark Waddingham via use-livecode : > > P.S. Of course, at least one 'smart-ass' will ask 'why do those have brackety things when the others don't' - but aren't teachers well versed in dealing with such inquisitive minds? ;) From merakosp at gmail.com Fri Aug 31 16:27:52 2018 From: merakosp at gmail.com (panagiotis merakos) Date: Fri, 31 Aug 2018 23:27:52 +0300 Subject: Android Audio Recorder Woes In-Reply-To: References: Message-ID: Hello Dan, Which LC version are you using? Best, Panos On Fri, Aug 31, 2018, 18:51 Dan Friedman via use-livecode < use-livecode at lists.runrev.com> wrote: > Hello! I am trying to implement the Android Audio Recorder options in my > project, but it?s not working. I have checked the ?Android Audio Recorder? > in the Standalone Application Settings, and the called this: > > androidRecorderSetRecordFormat "MPEG-4" > put (specialFolderPath("documents") & "/ test.mp4") into fPath > androidRecorderStartRecording fPath > > The androidRecorderSetRecordFormat seems to be ok as it?s failing on the > androidRecorderStartRecording call. Is there something else I need to do > or set to get this working? > > Thanks in advance > -Dan > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From dan at clearvisiontech.com Fri Aug 31 16:30:01 2018 From: dan at clearvisiontech.com (Dan Friedman) Date: Fri, 31 Aug 2018 20:30:01 +0000 Subject: Android Audio Recorder Woes In-Reply-To: References: Message-ID: Panos. Thank you for the reply! I am using LC 9.0.1 (rc 2). Thank you! Dan Friedman CEO, ClearVision Technologies, LLC Voice: 909/484-2052 http://www.clearvisiontech.com From: panagiotis merakos Date: Friday, August 31, 2018 at 1:27 PM To: How to use LiveCode Cc: Dan Friedman Subject: Re: Android Audio Recorder Woes Hello Dan, Which LC version are you using? Best, Panos On Fri, Aug 31, 2018, 18:51 Dan Friedman via use-livecode > wrote: Hello! I am trying to implement the Android Audio Recorder options in my project, but it?s not working. I have checked the ?Android Audio Recorder? in the Standalone Application Settings, and the called this: androidRecorderSetRecordFormat "MPEG-4" put (specialFolderPath("documents") & "/ test.mp4") into fPath androidRecorderStartRecording fPath The androidRecorderSetRecordFormat seems to be ok as it?s failing on the androidRecorderStartRecording call. Is there something else I need to do or set to get this working? Thanks in advance -Dan _______________________________________________ use-livecode mailing list use-livecode at lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode From MikeKerner at roadrunner.com Fri Aug 31 16:33:35 2018 From: MikeKerner at roadrunner.com (Mike Kerner) Date: Fri, 31 Aug 2018 16:33:35 -0400 Subject: How to get word offset all instances of a string in a chunk of text? In-Reply-To: References: <8FD5331A-989F-4204-B226-AD4A59CB04AA@me.com> <3a8836a0-8c32-2f26-42cd-c562e1dddc52@tweedly.net> Message-ID: Since the topic of processes came up a few weeks ago I've been thinking about what it would take to build a process/threading framework. I wonder if a text processing subprocessor, written and copiled in 6 would be worth everyone's time. The main app would hand off the data and the command to the subprocessor and be handed the results back. I wonder how large the dataset would have to be to make the overhead worth while. On Fri, Aug 31, 2018 at 10:43 AM Keith Clarke via use-livecode < use-livecode at lists.runrev.com> wrote: > Thanks Alex, HH & Jim for all the help & ideas. > > Just to close out the thread with a solution for future reference, the > code below now extracts from a text source a list of unique words, cleaned > up against a noise-word list, with word frequency, word & and a > comma-delimited string of the word number within the original source. > > > # Build unique words array > repeat for each trueWord W in tSource > > add 1 to tWordNum > > if tANoise[W] then next repeat > > put comma & tWordNum after tAWords[W] > > end repeat > > > # Convert unique words array to list > > repeat for each key K in tAWords > > put K && tAWords[K] & CR after tTemp > > end repeat > > > repeat for each line tLine in tTemp > > put the number of items in tLine & comma & tLine & cr after tWords > > end repeat > > > sort lines of tWords descending numeric by item 1 of each > > put tWords into field "Words" > > > Thanks & regards, > Keith > > > > > > _______________________________________________ > use-livecode mailing list > use-livecode at 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." From merakosp at gmail.com Fri Aug 31 16:34:31 2018 From: merakosp at gmail.com (panagiotis merakos) Date: Fri, 31 Aug 2018 23:34:31 +0300 Subject: Android Audio Recorder Woes In-Reply-To: References: Message-ID: Hello Dan, Ok, so since 9.0.1 uses the new android permissions model, you might have to ask for permission to record audio first. See the command androidRequestPermission in the dictionary. Best, Panos On Fri, Aug 31, 2018, 23:30 Dan Friedman wrote: > Panos. > > > > Thank you for the reply! I am using LC 9.0.1 (rc 2). > > > > > > Thank you! > > > > Dan Friedman > > CEO, ClearVision Technologies, LLC > > Voice: 909/484-2052 > > http://www.clearvisiontech.com > > > > > > *From: *panagiotis merakos > *Date: *Friday, August 31, 2018 at 1:27 PM > *To: *How to use LiveCode > *Cc: *Dan Friedman > *Subject: *Re: Android Audio Recorder Woes > > > > Hello Dan, > > Which LC version are you using? > > > > Best, > > Panos > > > > On Fri, Aug 31, 2018, 18:51 Dan Friedman via use-livecode < > use-livecode at lists.runrev.com> wrote: > > Hello! I am trying to implement the Android Audio Recorder options in my > project, but it?s not working. I have checked the ?Android Audio Recorder? > in the Standalone Application Settings, and the called this: > > androidRecorderSetRecordFormat "MPEG-4" > put (specialFolderPath("documents") & "/ test.mp4") into fPath > androidRecorderStartRecording fPath > > The androidRecorderSetRecordFormat seems to be ok as it?s failing on the > androidRecorderStartRecording call. Is there something else I need to do > or set to get this working? > > Thanks in advance > -Dan > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > > From jbv at souslelogo.com Fri Aug 31 17:01:17 2018 From: jbv at souslelogo.com (jbv) Date: Fri, 31 Aug 2018 23:01:17 +0200 Subject: On Performance of Array Access In-Reply-To: <03457b9a5ae4c41fb2511ecc8579ab97@livecode.com> References: <03457b9a5ae4c41fb2511ecc8579ab97@livecode.com> Message-ID: <6fad62924117b9a5f907ce19995653d8.squirrel@sage.on-rev.com> Mark, Thank you so much for following up on this thread. Once something "suitable for including in a 9.0.x maintenance release" is available, could you please include it to LC server, and especially the version of LC9 server installed on on-rev sage server ? I'm in the process of improving for a client the speed a server-side script that makes heavy use of arrays, and was originally written with LC 4.- and then improved with LC 6.- . Thanks in advance. jbv From dan at clearvisiontech.com Fri Aug 31 17:27:27 2018 From: dan at clearvisiontech.com (Dan Friedman) Date: Fri, 31 Aug 2018 21:27:27 +0000 Subject: Android Audio Recorder Woes In-Reply-To: References: Message-ID: Panos, Ug! Yes, that was it. I feel especially stupid because I already did it for Location Access. Must be Friday!?! Thank you! -Dan From: panagiotis merakos Date: Friday, August 31, 2018 at 1:34 PM To: Dan Friedman Cc: How to use LiveCode Subject: Re: Android Audio Recorder Woes Hello Dan, Ok, so since 9.0.1 uses the new android permissions model, you might have to ask for permission to record audio first. See the command androidRequestPermission in the dictionary. Best, Panos On Fri, Aug 31, 2018, 23:30 Dan Friedman > wrote: Panos. Thank you for the reply! I am using LC 9.0.1 (rc 2). Thank you! Dan Friedman CEO, ClearVision Technologies, LLC Voice: 909/484-2052 http://www.clearvisiontech.com From: panagiotis merakos > Date: Friday, August 31, 2018 at 1:27 PM To: How to use LiveCode > Cc: Dan Friedman > Subject: Re: Android Audio Recorder Woes Hello Dan, Which LC version are you using? Best, Panos On Fri, Aug 31, 2018, 18:51 Dan Friedman via use-livecode > wrote: Hello! I am trying to implement the Android Audio Recorder options in my project, but it?s not working. I have checked the ?Android Audio Recorder? in the Standalone Application Settings, and the called this: androidRecorderSetRecordFormat "MPEG-4" put (specialFolderPath("documents") & "/ test.mp4") into fPath androidRecorderStartRecording fPath The androidRecorderSetRecordFormat seems to be ok as it?s failing on the androidRecorderStartRecording call. Is there something else I need to do or set to get this working? Thanks in advance -Dan _______________________________________________ use-livecode mailing list use-livecode at lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode From mark at canelasoftware.com Fri Aug 31 17:40:47 2018 From: mark at canelasoftware.com (Mark Talluto) Date: Fri, 31 Aug 2018 14:40:47 -0700 Subject: On Performance of Array Access In-Reply-To: <03457b9a5ae4c41fb2511ecc8579ab97@livecode.com> References: <03457b9a5ae4c41fb2511ecc8579ab97@livecode.com> Message-ID: I have only one complaint?You should have told me to put a diaper on before reading this. Aside from my inability to control myself with all this wonderful news?Thank you! Best regards, Mark Talluto livecloud.io nursenotes.net canelasoftware.com > On Aug 31, 2018, at 6:58 AM, Mark Waddingham via use-livecode wrote: > > Generally, I don't tend to like to 'jump the gun' on anything related to optimization lest it is not what it seems when running in the real world but... From tom at makeshyft.com Fri Aug 31 18:20:00 2018 From: tom at makeshyft.com (Tom Glod) Date: Fri, 31 Aug 2018 18:20:00 -0400 Subject: On Performance of Array Access In-Reply-To: References: <03457b9a5ae4c41fb2511ecc8579ab97@livecode.com> Message-ID: Great work Mark! ...great news! On Fri, Aug 31, 2018 at 5:41 PM Mark Talluto via use-livecode < use-livecode at lists.runrev.com> wrote: > I have only one complaint?You should have told me to put a diaper on > before reading this. Aside from my inability to control myself with all > this wonderful news?Thank you! > > Best regards, > > Mark Talluto > livecloud.io > nursenotes.net > canelasoftware.com > > > > On Aug 31, 2018, at 6:58 AM, Mark Waddingham via use-livecode < > use-livecode at lists.runrev.com> wrote: > > > > Generally, I don't tend to like to 'jump the gun' on anything related to > optimization lest it is not what it seems when running in the real world > but... > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From ambassador at fourthworld.com Fri Aug 31 20:50:58 2018 From: ambassador at fourthworld.com (Richard Gaskin) Date: Fri, 31 Aug 2018 17:50:58 -0700 Subject: On Performance of Array Access In-Reply-To: <6fad62924117b9a5f907ce19995653d8.squirrel@sage.on-rev.com> References: <6fad62924117b9a5f907ce19995653d8.squirrel@sage.on-rev.com> Message-ID: jbv wrote: > Once something "suitable for including in a 9.0.x maintenance release" > is available, could you please include it to LC server, and especially > the version of LC9 server installed on on-rev sage server ? Here's a potentially quick CPU and RAM reduction opportunity for LC Server: https://quality.livecode.com/show_bug.cgi?id=14115 With a CGI like LiveCode, it's launched with each request. Depending on the system, up to 3/4 of the boot sequence is loading and initializing fonts. I appreciate that LC Server now has the ability to generate custom graphics, some of which may need to specify fonts. But I'd wager than less than 0.1% of scripts written for LC Server do that. Comment #5 there suggests maybe adding a -f flag in the command line call we add to our .htaccess files to bypass the font init almost no one is using. If we could get approval for that, we could probably find someone in the community to add the parsing of that flag from the input options and the IF statement before the font init. By itself it won't make the scripts themselves faster. But it'll make the engine init faster, and much leaner since it won't have the font info in memory. On Dreamhost, for example, running LC Server is unpredictable because of its memory requirements and the full suite of fonts they have on their systems. -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ____________________________________________________________________ Ambassador at FourthWorld.com http://www.FourthWorld.com From brahma at hindu.org Fri Aug 31 20:49:56 2018 From: brahma at hindu.org (Sannyasin Brahmanathaswami) Date: Sat, 1 Sep 2018 00:49:56 +0000 Subject: Trouble with iOS Logos/No Appearing on Home Screen Message-ID: I have tried everything, the logos in the standalone maker are as they are supposed to be, according to SA. And so are my splash screen images. So I went to developer.apple.com And the HIG for app icons (and splash screens) give a different set of sizes. So I downloaded "Icon Set Creator" (free) and it produced these. Which do in fact correspond to the current guide at developer.apple.com Note as an example, SivaSiva Logo-29 at 2x.png corresponds with iPhone icon. That would be 58px , but the standalone maker wants a 57 size icon. SivaSiva Logo-1024.png SivaSiva Logo-20.png SivaSiva Logo-20 at 2x.png SivaSiva Logo-20 at 3x.png SivaSiva Logo-29.png SivaSiva Logo-29 at 2x.png SivaSiva Logo-29 at 3x.png SivaSiva Logo-40.png SivaSiva Logo-40 at 2x.png SivaSiva Logo-40 at 3x.png SivaSiva Logo-60 at 2x.png SivaSiva Logo-60 at 3x.png SivaSiva Logo-76.png SivaSiva Logo-76 at 2x.png SivaSiva Logo-83.5 at 2x.png 1.2.2 is ready for the app store, only this one problem! also, why would you check (uncheck) Prerendered choice? ?? From brahma at hindu.org Fri Aug 31 22:28:45 2018 From: brahma at hindu.org (Sannyasin Brahmanathaswami) Date: Sat, 1 Sep 2018 02:28:45 +0000 Subject: fullscreenmode and rect of a substack on mobile device ? References: <004801d43b82$e8a32420$b9e96c60$@FlexibleLearning.com> <002401d44077$7881ded0$69859c70$@net> Message-ID: @Brian That was interesting an experiment. I reduced all geometry to this *on*openCard *put*mobileRectGet() intotStackRect #mobileRectSet get the screenrect on app init *if* isMobile() *then* *if* theplatformisandroid *then* * set*therectofwidget"body"to0,0,486,765 * else* * set*rectrectofwidget"body"to0,0,414,680 * end* *if* * put*thelocofthiscardintotCardLoc * answer*tCardLoc with"OK" * set*thelocofwidget"body"to( item1oftCardLoc, (item2of tCharLoc)-50) * end* *if* *end*openCard I get the card loc alright in the answe; but the browser widget "does not obey" You said: "What I'm not clear about is whether you can set the rect of the stack to the known screen rect and have it display correctly." Answer is "no" but it may be just the (browser on android) OR (it may be that the attempt to place *any* object on opencard, doesn't *really* know to coords of the stack/card, even if you get them).... until resizestack is triggered. And, additional caveat (on Android, every works on iOS) if you start playing a youTube in portrait mode and, while it is playing, rotate to phone... the browse "disappears" , you can still hear the audio... so I suspect the browser it "off in space", but it you *do not* starting play, are rotate the phone, you get the "web page" as expected and then you can play the video,.... rotate the phone (portrait) still playing... rotate again and YouTube disappears. this does happen in a "regular web page" all working fine on iOS, I have roll back a few commits, and then next I'll try Ralphs Hack... we use the same method "SivaSiva.livecode" is a stack that is always open, does the same job/app init as Ralph "stub-stack" BR On 8/30/18 8:36 AM, Brian Milby via use-livecode wrote: > If setting the > rect manually doesn't work, then there is an issue that is deeper than just > knowing what the rect needs to be. > > From earlier in the thread it appears that on Android, the first > "resizestack" is not getting sent. You don't get one until you rotate the > device. What I'm not clear about is whether you can set the rect of the > stack to the known screen rect and have it display correctl -- Svasti Astu, Be Well! Brahmanathaswami Get the SivaSiva app, it's free: https://www.himalayanacademy.com/apps/sivasiva