HyperCard: the Myst story
Hi Colin, I found this Mac User magazine! https://vintageapple.org/macuser/pdf/MacUser_9311_November_1993.pdf Al On Tue, Feb 4, 2020 at 9:21 PM Colin Holgate wrote: > In 1993 Mac User magazine had a review > of the top 50 CD-ROMs, and of those there > was an overall winner. > The A Hard Day’s Night CD-ROM I made > in HyperCard was the overall winner. > I was lucky that it was before Myst was > released. It would have easily won! ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: Groups in the message path: Trapping Mouseup
Just for reference, Dar Scott wrote a Primer in Message Mechanics: http://pages.swcp.com/dsc/revstacks.html Al on Tue, 10 Dec 2019, Paul Dupuis wrote: [snip] Richard Gaskin, at one point, had a really excellent diagram of the LiveCode message hierarchy. If he sees this post and still has it perhaps he could post a link to it. ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: Is it possible to implement Weizenbaum's original Eliza as a chatbot with LIVECODE?
Hi Ingar, Check this stack: https://forums.livecode.com/viewtopic.php?f=10&t=33212 based on this HyperCard stack: http://umich.edu/~archive/mac/hypercard/fun/spectresmart2.5.sit.hqx Al ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: Ideas for my book
Hi All, Just for reference, Professor Manuel Agustí i Melchor from Universidad Politécnica de Valencia published a book on MetaCard and Revolution: http://www.disca.upv.es/magustim/mmmultiplataforma/book1.html By the way, Google Translate works fine on these pages. Al ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Mail List Archive Error
Hi All, There is an error on the LiveCode Mail List Archives. http://lists.runrev.com/pipermail/use-livecode/ Please compare these Mail List Archives: July and August http://lists.runrev.com/pipermail/use-livecode/2019-July.txt http://lists.runrev.com/pipermail/use-livecode/2019-August.txt Notice that dates of August Mail List archive are wrong. What settings changes could have produced this error? Thanks in advance! Al ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
x-eyes
Hi Klaus, Check the stack posted in this forum thread: http://forums.livecode.com/viewtopic.php?f=10&t=32358 Al ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
LiveCode Builder language Library Tutorials
Hi All, Where could I find Tutorials for creating LCB Libraries (not widgets)? Thanks in advance! Al ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Widget TurnImage89_v100
Hi Hermann, > TurnImage is a pure LiveCode Builder widget, > there is no essential script access and > no use of JavaScript. This a wonderful example of your developer prowess and LCB power. :-) The rotating movie is a real surprise. Brings me memories from the Commodore Amiga days. Congratulations and thanks a lot for publishing this widget for all Livecode editions! Al ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
LC-apps for HC
Please dismiss these stray words at the end of my previous message: > but > notice that Al ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: LC-apps for HC
Hi Ingar, Since last year, I am using Livecode in Mac, Linux and Windows (and running stacks on Android 2.3 and 4.0.1). Previously, I have run Livecode only on windows, much later on linux, then on android and only since last year on mac osx. (ios and raspberry pi are in my plans too) Livecode is similar and very different in each one of these platforms. Recreating the HyperCard interface on top of Livecode should be very straightforward and some developers have done this previously, but if you want an estimate of the cost of recreating the HyperCard experience using Livecode, your best choice is to ask RunRev themselves. Notice please, I do not consider HyperCard just an interface but an experience. The experience of using the capabilities of your computer in an easy and human-friendly way. How could you offer the same experience in the year 2019? The answer is different and unique for each operating system in which Livecode runs. For Mac developers, they only have one platform to work. For this reason HyperCard was really extraordinary. In my desk, I have a PowerMac 7500 and running HyperCard is a joy. Today anyone could run HyperCard in their web browser visiting Archive.org : (HyperCard is inside the disk that you could see in the desktop) https://archive.org/details/AppleMacintoshSystem753 So, tell me if I am wrong if I understand yourrequest as this question: How could we recreate the HyperCard experience in different Operating Systems using Livecode? Al but notice that on Tue, 15 Jan 2019 14:46:00 Ingar Roggen wrote: > Dear all of you, - Richard, Richmond and the rest of the users > of this list - as you may have seen I have tried to get an idea > (an offer!) of what it may cost - what one would have to pay - > for an app or some other solution to the problem of making > "HC easily portable to LC and thereby accessible > to the rest of us" again??. Not having got any answer > I give it one more try. ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Understanding Image Sizes, Before And After Display
Hi All, In this moment that I could not sleep because the fever, the mail list is a good reading to keep me awake. There is another way to read the width and height of a jpg image. Read the binary data for the Start of Frame tag within the jpg image. Please test and improve this script: on mouseUp local temp answer file "Select JPEG image" put it into temp open file temp for binary read read from file temp for 10 put it into temp1 close file temp put numtobyte(255) & numtobyte(192) into tBaselineJPGFrame0 -- in Hexadecimal: FFC0 = JPEG Start-Of-Frame (SOF) marker FFC0 put numtobyte(255) & numtobyte(194) into tProgressiveJPGFrame0 -- in Hexadecimal: FFC2 = JPEG Start-Of-Frame (SOF) marker FFC2 set the casesensitive to true put offset(tBaselineJPGFrame0,temp1) into tStartOFrame if tStartOFrame is 0 then put offset(tProgressiveJPGFrame0,temp1) into tStartOFrame if tStartOFrame is not empty then put byte (tStartOFrame + 5) of temp1 & byte (tStartOFrame + 6) of temp1 into tJPGHeight put byte (tStartOFrame + 7) of temp1 & byte (tStartOFrame + 8) of temp1 into tJPGWidth -- put baseConvert(baseConvert(bytetonum(byte 1 of tJPGHeight),10,16) & baseConvert(bytetonum(byte 2 of tJPGHeight),10,16),16,10) into tJPGHeight put bytetonum(byte 1 of tJPGHeight) into q put bytetonum(byte 2 of tJPGHeight) into w put baseConvert(q,10,16) into r if the number of bytes of r = 1 then put "0" & r into r put baseConvert(w,10,16) into t if the number of bytes of t = 1 then put "0" & t into t put r & t into y put baseConvert(y,16,10) into tJPGHeight -- put baseConvert(baseConvert(bytetonum(byte 1 of tJPGWidth),10,16) & baseConvert(bytetonum(byte 2 of tJPGWidth),10,16),16,10) into tJPGWidth put bytetonum(byte 1 of tJPGWidth) into q put bytetonum(byte 2 of tJPGWidth) into w put baseConvert(q,10,16) into r if the number of bytes of r = 1 then put "0" & r into r put baseConvert(w,10,16) into t if the number of bytes of t = 1 then put "0" & t into t put r & t into y put baseConvert(y,16,10) into tJPGWidth answer "JPG Width" && tJPGWidth & cr & "JPG Height" && tJPGHeight & cr & temp else answer "Could not find Start of Frame information in this JPEG image" & cr & temp end if end mouseUp /* Information from https://stackoverflow.com/questions/35427283/get-width-and-height-from-jpeg-without-0xff-0xc0 The JPEG Start-Of-Frame (SOF) marker has 4 possible values: FFC0 (baseline) - This is the usual mode chosen for photos and encodes fully specified DCT blocks in groupings depending on the color/subsample options chosen FFC1 (extended) - This is similar to baseline, but has more than 8-bits per color stimulus FFC2 (progressive) - This mode is often found on web pages to allow the image to load progressively as the data is received. Each "scan" of the image progressively defines more coefficients of the DCT blocks until they're fully defined. This effectively provides more and more detail as more scans are decoded FFC3 (lossless) - This mode uses a simple Huffman encoding to losslessly encode the image. The only place I've seen this used is on 16-bit grayscale DICOM medical images */ ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Gradient Property Palette Bug
Hi All, After editing an imported gradient, the Gradient Property Palette shows two "OK" buttons and every graphic imported receive a green color overlay. Please verify this Gradient Property Palette bug in your own setup: 1) Download the stack Eps Import v05c: http://andregarzia.on-rev.com/alejandro/stacks/Eps_Import_V05C.zip 2) Open the stack "eps_import_v05c.rev" using LC9.0.1 (rc3) 3) From the stack "eps_import_v05c", import the file "Gradients01.ai". (Click the topleft button) This file opens in a new stack. 4) Select one graphic and edit the gradient. Change, for example, the number of repetitions to 4 or 5 and select "Wrap" and "Mirror". 5) From the stack "eps_import_v05c", import the file "golferGRS.ai" or "Gradients02.ai". (Click the topleft button). This file opens in a new stack and every graphic have a green color overlay. 6) Try these exact steps using an early LC version. Graphics DO NOT show a green color overlay. By the way, Navigator 6.2 alpha 1 works great for editing gradients! Check: https://forums.livecode.com/viewtopic.php?f=13&t=31495 If you reproduce this bug, please report your results, Operating System and LC Version to create a report in the Quality Center. Thanks in advance! Al ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
[OT] Xara Design Suite 25 dollar special
Hi All, Check this "Once in a Lifetime" special offer: https://www.humblebundle.com/software/magix-ultimate-creative-design-software?hmb_source=humble_home&hmb_medium=product_tile&hmb_campaign=mosaic_section_2_layout_index_1_layout_type_threes_tile_index_2 This is the best offer of Design Software that you will find in a long time. :-) Al ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: ImageStatistics_v100
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 > > ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: LC-ImageToolbox_v185
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 > > ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: LC-ImageToolbox_v180 (hh)
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 > ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: [OT] The problem with programming and how to fix it
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 ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: [OT] The problem with programming and how to fix it
Hi Mark, > H - 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 ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: [OT] The problem with programming and how to fix it
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@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: [OT] The problem with programming and how to fix it
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 ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
[OT] The problem with programming and how to fix it
"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@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: Best practise approach for artwork for iOS and Android?
on Tue, 12 Jun 2018, Lagi Pittas wrote: > I don't know what sort of images you have but > take a look at xara (xara.com/designer-pro/features) I use Xara Photo Graphic Designer and agree with Lagi's recommendation. Check these videos about intelligent scaling: https://www.youtube.com/watch?v=dfNLaZ5cSHs https://www.youtube.com/watch?v=s9j-WYl0OJY Al ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Livecode Content Management System
Andre Garzia wrote: > If you choose to store your data on flat files and use git > on that folder, you get branching, rollback and backups > for free for your CMS. Those data flat files could be stored as base64 encoded text files, Right? Al ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Livecode Content Management System
Hi Alex, Alex Tweedly wrote: > Thanks for any suggestions, input, etc. Could your LCMS import (and use) templates and themes from other CMS platforms like Joomla or WordPress? I would like to answer another questions, but have no experience using RevIgniter, so could not comment about your questions. Al ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: [OT] The Internet is Living on Borrowed Time
Hi Bob, > Well it must be true. It was on the internet. Funny enough, we are on the Internet, too. :-D Staying outside the looping groundhog day! http://www.imdb.com/title/tt0107048/ Jokes aside, I have to pause for a while to catch up with pending projects and new ideas. Too much to do and too little time. Al On Tue, Nov 28, 2017 at 7:34 PM, Alejandro Tejada wrote: > > This is Bryan Lunduke's today advice about the Internet: > > "Use the Internet for what it's good for. > Enjoy it. Plan for it not existing" > > http://lunduke.com/2017/11/28/the-internet-is-living-on-borrowed-time/ > https://www.youtube.com/watch?v=1VD_pJOFnZ0 > > Recently, I asked a similar question in slashdot: > https://ask.slashdot.org/story/17/11/13/2319243/ask-slashdot-which-softwaredevices-are-unusable-without-connecting-to-the-internet/ > > Surprisingly, most slashdot answers suggests that too many developers > actually are resigned to live in this brave new world of software and devices > that stubbornly and needlessly requires 24/7 internet access to keep working. > :-( > > Al ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
LC8 release structure
Does exists some way to install only the files changed between each version and keep all common files available for each LC version in use? In this way, instead of using 1 Gb for each new Livecode version installed, we could keep a folder with common files and each new LiveCode version would occupy only 200 or 100 mb each. Basically, each new Livecode version would include only the files updated or changed compared with the previous Livecode version installed. Could this works for LiveCode IDE? Al > Mark Wieder wrote: > I'm confused now by the number of unstable releases in flight. > I'm seeing > LC8.2.0-dp2 dated 11 October 2017 > LC8.1.8-rc2 dated 23 November 2017 > and of course > LC9.0.0-dp10 dated 23 October 2017 > Monte Goulding answers: > The 8.2 release cycle is mainly for IDE features > like autocomplete that could potentially be disruptive > and need a bit of iteration. ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
[OT] The Internet is Living on Borrowed Time
This is Bryan Lunduke's today advice about the Internet: "Use the Internet for what it's good for. Enjoy it. Plan for it not existing" http://lunduke.com/2017/11/28/the-internet-is-living-on-borrowed-time/ https://www.youtube.com/watch?v=1VD_pJOFnZ0 Recently, I asked a similar question in slashdot: https://ask.slashdot.org/story/17/11/13/2319243/ask-slashdot-which-softwaredevices-are-unusable-without-connecting-to-the-internet/ Surprisingly, most slashdot answers suggests that too many developers actually are resigned to live in this brave new world of software and devices that stubbornly and needlessly requires 24/7 internet access to keep working. :-( Al ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: [OT] Blind Deconvolution Algorithm
Hi Bob, Bob Sneidar wrote: > The first thing I noticed in the article was that the source image > was artificially blurred, that is mathematically. > I wonder how it would do with an analog optically blurred image, > or one which was taken through a dirty lens? The article uses artificially blurred examples, but the gallery uses real world examples: "We would be grateful if you share with us your examples - it will allow us to improve the quality of the algorithms. All images are real-world photos without any preliminary processing. " http://smartdeblur.net/gallery.html On Thu, Nov 23, 2017 at 12:26 PM, Alejandro Tejada wrote: > > Today I learned about this impressive image processing > algorithm named Blind Deconvolution: > > Theory: > http://yuzhikov.com/articles/BlurredImagesRestoration1.htm > > Practice: > http://yuzhikov.com/articles/BlurredImagesRestoration2.htm > > Check the examples: > (Text defocus blur is eye-opening. Look for the example > named "Large Defocus blur") > > http://smartdeblur.net/gallery.html > > Now I have to find if Neural Networks could be trained > for this task with better results. :-) > > Al > ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
New Books/Dictionary
James Hale wrote: > For those wanting to read the docs in an i-device > Dash for iOS is FREE. > I have posted some screenshots on the forum > if you want to see how the docs look. > http://forums.livecode.com/viewtopic.php?f=16&t=29745&p=160713#p160712 Really nice! Thanks a lot for posting these images, James. 8) I noticed that docsets use a few mySQLite databases and a folder with images and thousands html formatted webpages. I tried (and failed) to use this docset in Android, using the App named "Lovely Docs" but this unsupported app does not recognize the folder as a docset. Then, I simply copied the folder for single webpage browsing using HTML viewer in Android. Does exists a script that create a single index webpage (html with links) from all 3,492 webpages? Thanks in advance! Al ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
New Books/Dictionary
Greg Miller wrote: > Will it be possible to buy electronic versions of > the new dictionary and lessons book? Ideally, in a near future, lessons and dictionary would be available as interactive stacks or downloadable apps. Until then, here is a LiveCode 4.6 PDF dictionary, uploaded by et_phone_home: http://www.mediafire.com/file/eteillibdzzcbxc/Livecode++Dictionnaire.pdf I found this pdf dictionary in a forum thread: http://forums.livecode.com/viewtopic.php?t=8430 and Ken Ray's 2.1.2 online Rev documentation for Rev 2.1.2 in PDF, RTF and TXT format: http://www.sonsothunder.com/devres/livecode/downloads.htm By the way, RunRev 2.8.1 dictionary, printed in color coded paper, still have a place in my work desk, along Dan Shafer's first RunRev book. Al ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
[OT] Blind Deconvolution Algorithm
Today I learned about this impressive image processing algorithm named Blind Deconvolution: Theory: http://yuzhikov.com/articles/BlurredImagesRestoration1.htm Practice: http://yuzhikov.com/articles/BlurredImagesRestoration2.htm Check the examples: (Text defocus blur is eye-opening. Look for the example named "Large Defocus blur") http://smartdeblur.net/gallery.html Now I have to find if Neural Networks could be trained for this task with better results. :-) Al ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Creating LC IDE plugin - is it possible to check if plugin was started automatically or from menu?
Hi All, Where could I found a guide for creating LC IDE plugins? Al > On 20 Nov 2017, at 7:21 pm, Matthias Rebbe wrote: > So is there a way to check if a plugin was run at > startup or if it was started from the menu? > Then, Monte Goulding answered: > Yes, check if revMenubar is in the executionContexts ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Building a variable length code Huffman Tree in LiveCode
Hi All, Which methods could I use in Livecode, to build a Huffman tree? http://www.ics.uci.edu/~dan/class/165/notes/zHuff.pdf The idea of building a tree with nodes, leafs suggest to use an xml file for this task, but all examples that I have read uses a different method with data structures that probably are not available in LiveCode. Another idea that I am considering is using fixed length codewords: http://home.cse.ust.hk/faculty/golin/COMP271Sp03/Notes/MyL17.pdf and assign the codewords using a sorted list of most frequent character. Which methods could you use in Livecode, to build a Huffman tree? Thanks in advance! Al ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: SVG (in LiveCode) can do that?!
Richmond wrote: > "the path of less resistance" > um: > the path of least resistance Thanks a lot for correcting this. :-) Previously, I have asked for corrections and received no response. The information about Compress function was reposted without any change or correction. :-( http://runtime-revolution.278305.n4.nabble.com/Compress-function-additional-information-td2220568.html All people that works in technology in the country where I live learn to read english (the alternative is buying incomplete or obsolete US$ 100 spanish translated books), most could understand spoken english but rarely they write or speak english with fluency. Thanks a lotagain! :-D Al ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: SVG (in LiveCode) can do that?!
Richard Gaskin wrote: > Not Linux users who use Google Hangouts, or Jitsi, > or Talky, or Appear.In, or Kamailio, or Linphone... Skype represents the path of less resistance and now I understand why. Check the answers that slashdotters gave to the question: Which Software/Devices Are Unusable Without a live Internet connection? https://ask.slashdot.org/story/17/11/13/2319243/ask-slashdot-which-softwaredevices-are-unusable-without-connecting-to-the-internet My own conclusion is: Too many Developers are following also the path of less resistance, even if this means to accept a live internet connection just for using their own devices and productivity software. :-( Al ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: Image Offset in Frame
Hi Jacque, > In the Position pane, at least in LC 9. Which one? Do you set clipstorect property using the checkbox labeled "Resize when setting rect property"? > I've wondered why we need clipsToRect when we have boundingRect. > The only difference I can see is that boundingRect works with a > non-locked group. If the group's lockLoc is true, > I don't see any difference. clipsToRect works without locking the group position too. Groups with it's boundingRect property set always have the size specified in this property. If a script changes the group width (or height) and you leave the card, then return to this same card, this group with the boundingRect property will recover their size specified in that property. This does not happen with locked groups or group that have their clipsToRect property set. Al ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: Image Offset in Frame
I was wrong. There is at least 3 (maybe more) different ways to clip an image using a group: Method 1 using lockLocation: Method 2 using clipstorect Method 3 using boundingRect The following detailed description is useful mostly for newcomers in this platform... 1) create a new stack 2) import an image 3) set the script of this image to: on mousedown grab me end mousedown - 4) group this imported image 5) reduce the size of this group and 6) Choose one of these options: Option 1) - set the locklocation of this group to true or Option 2) - set the clipstorect of this group to true or Option 3) - set the boundingRect of this group to the rect of this group If you select the group with the "Edit" tool, paste the previous script in the message box, change the phrase "this group" for "selobj" (without quotes) and press enter: set the locklocation of selobj to true set the clipstorect of selobj to true set the boundingRect of selobj to the rect of selobj Each option have it's own advantages. Test them and choose one that works for your purpose. By the way, Where could I find the boolean property "clipstorect" within the Property Inspector? Al ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
SVG (in LiveCode) can do that?!
Given that you posted in the mail list, instead of sending a private message, you would not mind read our opinions too: SVG is not about graphics, scalable or vectors. SVG is a document format that includes text, images and vector graphics driven by javascript, a programming language. In theory, you could make a whole website using only SVG, without any html. In theory, you could even replace most PDF documents using only SVG files (including hyperlinks and read-only fonts) In theory, it should be possible to replicate a Livecode stack functionality, using only SVG and javascript. In practice, you need to be a programmer (an outstanding programmer) to acomplish any of this at some length. If the title of that video have not read "SVG can do that?", I have thought that this was a Shockwave Flash presentation from 10 years ago... Maybe even 15 years ago! Colin Holgate or Scott Rossi could tell which flash versions could do all this inside a browser using the flash plugin. Why Adobe does not simply created a text only flash format version (compressed as gzip if needed) and fixed their plugin performance issues and bugs? The collective internet wisdom have posted their own theories: Adobe simply does not have anymore the knowledge (or wisdom) to make this happen. The persons who could have made this happen, have retired, or leave... or were just fired. While watching the youtube video, I laugh a lot after reading this quote in a message written by Jason Grigsby: "You can't be a web performance expert without being an image expert." I could add: "... and in the web, you can't be an image expert without being a programmer." And that is the problem of SVG. You could not use SVG at full capacity without being a knowledgeable programmer in html and javascript. If the very first Design computer programs have had this requisite, you could be sure that Design and Computer Graphics in general would not be as advanced as today. Could you imagine that using the very first version of Ilustrator or Photoshop would have required to learn Postscript or C or Pascal or any other computer language? My first (and costly - US$ 100 dollars in 1992) Programming book was about postscript language and could not even learn anything from it, because when I reached home, unpacked and read the book, only then I discover that the book required a diskette that was not included in that edition... It's the same disappoint that Designers discover while using SVG. Want to use SVG at some capacity? Learn Javascript and html... first. That is a step backward... not forward. Al ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Image Offset in Frame
Looks like there are two different ways to clip an image using a group: Method 1 using lockLocation: 1) create a new stack 2) import an image 3) set the script of this image to: on mousedown grab me end mousedown - 4) group this imported image 5) reduce the size of this group and 6) set the locklocation of this group to true Method 2 using clipstorect 1) create a new stack 2) import an image 3) set the script of this image to: on mousedown grab me end mousedown - 4) group this imported image 5) reduce the size of this group and 6) set the clipstorect of this group to true By the way, Where could I find the boolean property "clipstorect" within the Property Inspector? Al ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Image Offset in Frame
Hi Sannyasin, > This is probably covered somewhere, but I can't find it. > In CSS we can position in image in frame with an offset like -20,-20 > In most layout programs you can move the image around inside the > frame. How can we do that with an image in LiveCode? > I can use crop, but this is permanent There are many options, but I just remember these techniques in this moment: 1) A group could mask an image within it's boundaries. 2) Ink effects to mask an image: http://tactilemedia.com/blog/2015/11/04/livecode-basics-masking-objects/ 3) Hidden point technique: http://use-livecode.runrev.narkive.com/ojZ8ao1Z/would-like-to-show-a-photo-through-a-polygon-shape Al ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
mouseWithin and mouseLeave problem
Today, while trying to understand why my own code does not work, I learned about the text field scrollbarWidth property. :-) 1) create a new stack 2) create/insert/drag and drop a scrolling text field in this new stack 3) edit the text field script and insert these handlers: -- - on mouseenter set the scrollbarwidth of fld 1 to 30 end mouseenter on mouseleave mouserelease end mouseleave on mouserelease set the scrollbarwidth of fld 1 to 10 end mouserelease -- By the way, Which are the minimum and maximum scrollbar width size allowed in every platform? LC Dictionary mentions Mac OSX, but does not specify scrollbar widths limitations. Al ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
[OT] Google TensorFlow Lite
Today, Google announced the release of TensorFlow Lite https://research.googleblog.com/2017/11/on-device-conversational-modeling-with.html "TensorFlow Lite is TensorFlow's lightweight solution for mobile and embedded devices. As part of the library, we have also released an on-device conversational model and a demo app, so you can easily download and try out one-touch smart replies on your mobile device." In a previous mail list (or forum) thread, I had wrote that Microsoft, using their Cortana Research Labs and their dedicated Xbox userbase would become the first company to dominate the market of AI driven personal assistants. Looks like I was wrong... deeply wrong. Is corporate culture still holding back Microsoft? https://gadgets.ndtv.com/laptops/features/how-satya-nadella-rebooted-microsofts-corporate-culture-837363 Google is pushing their TensorFlow framework with all their might. They really want that this framework is deployed as widely as humanly possible. I just keep wondering what does this means in the long term. Does every TensorFlow deployment "share" their data ("experience") with other TensorFlow driven devices? If a person trains a device for a very specific and unique task, Does this framework automatically uploads and share this data ("experience") for everyone to share and use? These are questions that I see nobody is doing. or... maybe Did someone already answered these (and others questions) and I miss these answers? Looks like we would have to wait until AI becomes a service within the Operating System before being able to use it from Livecode. Al ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: The coming of SVG
Martin Koob wrote: > what about calling it a *viewer* object which would then > allow us to view SVGs, images, graphics or any other > drawing or illustration format. Actually, I like the name "viewer" too, but if we could use the word "viewer" then "viewport" is more descriptive: https://en.wikipedia.org/wiki/Viewport By the way, this new control is a LC9 only widget. Right? Al ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: Control properties not included in the Property Inspector
Bob Sneidar wrote: > put the Properties of field "fldCustID" into tProps;put printKeys(tProps) The Message Box produces an error: Object does not exists Hint: fldCustID Al On Mon, Nov 6, 2017 at 3:31 PM, Alejandro Tejada wrote: > > Hi All, > > Where could I find a list of control properties that > are not included within the Property Inspector? > > For example: > clipstoRect (a Boolean (true or false) property of groups) > capsStyle (a property of graphics) > joinStyle (a property of graphics) > miterLimit (a property of graphics) > fillRule (a property of graphics) > and others... > > Thanks in advance! > > Al ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Control properties not included in the Property Inspector
Hi All, Where could I find a list of control properties that are not included within the Property Inspector? For example: clipstoRect (a Boolean (true or false) property of groups) capsStyle (a property of graphics) joinStyle (a property of graphics) miterLimit (a property of graphics) fillRule (a property of graphics) and others... Thanks in advance! Al ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
The coming of SVG
Jim Lambert wrote: > I like Mark's ‘picture' because it is general. A picture can contain > both vectors and bitmaps. Richard Gaskin wrote: > Seconded. When I first read Mark's post I was wary of "picture", > but on further reflection I remembered Apple's PICT file/data type, > distinct from PNTG as the latter was exclusively bitmap data but > PICT could contain a mix of vectors and bitmaps. > If it's good enough for Apple, it's good enough for me. Count my vote, too. :-) By the way, this new control type, Could allow easier implementation of image libraries, where you store a single instance of a bitmap or graphic and then LiveCode engine just rebuild your picture from the original data applying all transformation or changes applied to the new instance of this same picture? That is the way in which Xara and other programs manages vector symbols and bitmap images: https://www.youtube.com/watch?v=BTuTe6LG6cA Al ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
The coming of SVG
Mark Waddingham wrote: > we are now firmly on the road to full SVG support in LiveCode! These are great good news! Congratulations. :-D > the name is currently vectoricon Actually, I like the name "Picture" because it remembers me about the PICT file format that could include bitmaps, vectors and text. Because you asked for names ideas, here they are: Pathline Pathshape Linepath Shapepath Shapeline But I still prefer "Picture". :-) Al ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Android Oreo Infinite Boot Loop
Interfaces are beautiful and dangerous: https://www.bleepingcomputer.com/news/mobile/android-oreo-adaptive-icons-bug-sends-thousands-of-phones-into-infinite-boot-loops/ "A bug in the new "Adaptive Icons" feature introduced in Android Oreo has sent thousands of phones into infinite boot loops, forcing some users to reset their devices to factory settings, causing users to lose data along the way." "The bug first manifested itself when the developer of the Swipe for Facebook Android app accidentally renamed the foreground image of his adaptive icon with the same name as this XML file (ic_launcher_main.png and ic_launcher_main.xml)." Al ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
The Shrinking size of animated gif
Hi All, Could you verify if always that we convert an animaated gif in a series of png images the resulting images are always smaller than the original animated gif? Here is the recipe: 1) Create a new stack 2) create a button and paste this script into the button: (check for broken lines in the mail list server) on mouseUp -- first, delete all previous images repeat with i = the number of controls of this card down to 1 if word 1 of the long name of control i of this card is "image" then delete control i of this card end repeat answer file "Choose an animated gif..." import paint from file it try put the framecount of img 1 into k repeat with m = 1 to k set the currentframe of img 1 to m create image set the width of it to the width of img 1 set the height of it to the height of img 1 set the imagedata of it to the imagedata of img 1 set the alphadata of it to the alphadata of img 1 end repeat repeat with i = 1 to the number of controls of this card put the long name of control i of this card into q if word 1 of q is "image" then put the size of q & comma after n end if end repeat delete last char of n -- a comma put item 1 of n into tAnimatedGifSize delete item 1 of n put sum(n) into tPngImagesSize if tAnimatedGifSize > tPngImagesSize then put "Animated gif is " & (tAnimatedGifSize - tPngImagesSize) & " bytes larger than png images" else -- sum of sizes of png images is larger -- than size of animated gif put "Png images are " & (tPngImagesSize - tAnimatedGifSize) & " bytes larger than animated gif" end if end try end mouseUp 3) Click the button and import an animated gif Post your results in this thread, Thanks a lot in advance! Al ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
LiveCode Windows Applications on Ubuntu
Hi All, Recently, I was running a few LiveCode Windows applications in Ubuntu (using Wine) and found that all of them run really well. Do you have some advice and caveats for creating and using LiveCode Windows applications that runs fine under Wine in Ubuntu or any other Linux distribution? Thanks in advance! Al ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: Interview wtth inventor of hypercard Bill Atkinson
By the way, according to this article, we already knew which could be the next breakthrough in technological progress... but, we don't know who will pour their blood, sweat and tears to build and sell it to the people. https://zurb.com/blog/the-next-big-innovation-it-s-already-10-o On Fri, Oct 20, 2017 at 2:20 PM, Alejandro Tejada wrote: > Hi All, > > Being English my second language, frequently I have to > read again (and reread some time after) many of the > messages that I post in the mail list and in the forum. > > In the forum, we could simply edit, reedit and edit again > any message until it means what we meant... but in the > mail list that is not possible. > > After reading again my message about the origin of HyperCard, > I found that it's easy, very easy, to understand that in my > message I am dismissing Bill Atkinson's breakthrough as > an intentional copy of previous works. > > That was NOT my intention. If Bill Atkinson says the he > invented HyperCard under the effects of LSD, then we have > to believe him... but when you read about any topic, it's logical > and necessary to learn and analyze other people's opinions. > > I already written about Walter Cooke and Paul Helckel opinions, > so here is my own opinion: > > HyperCard was so successful as an innovative breakthrough > because it followed the natural path of technological > progress. Hypercard was the next step in > computer advancement. > > Who is credited with the conceptual foundation of HyperText? > Vannevar Bush with his description of the "Memex": > http://www.archivejournal.net/notes/as-we-may-now-think/ > > While Vannever Bush described a mechanical device, > electronic engineers where already creating the foundations > of computer science and demonstrating that numbers could > represent and store texts, images and sounds: > http://royal.pingdom.com/2008/04/08/the-history-of-computer- > data-storage-in-pictures/ > > After the creation of text-only hypertext systems, > https://en.wikipedia.org/wiki/Hypertext > Which was the next logical step in technological > progress? > > The creation of an Image and Text hypertext system. > On Macintosh, it's name was HyperCard. > > Al > > > > ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Interview wtth inventor of hypercard Bill Atkinson
Hi All, Being English my second language, frequently I have to read again (and reread some time after) many of the messages that I post in the mail list and in the forum. In the forum, we could simply edit, reedit and edit again any message until it means what we meant... but in the mail list that is not possible. After reading again my message about the origin of HyperCard, I found that it's easy, very easy, to understand that in my message I am dismissing Bill Atkinson's breakthrough as an intentional copy of previous works. That was NOT my intention. If Bill Atkinson says the he invented HyperCard under the effects of LSD, then we have to believe him... but when you read about any topic, it's logical and necessary to learn and analyze other people's opinions. I already written about Walter Cooke and Paul Helckel opinions, so here is my own opinion: HyperCard was so successful as an innovative breakthrough because it followed the natural path of technological progress. Hypercard was the next step in computer advancement. Who is credited with the conceptual foundation of HyperText? Vannevar Bush with his description of the "Memex": http://www.archivejournal.net/notes/as-we-may-now-think/ While Vannever Bush described a mechanical device, electronic engineers where already creating the foundations of computer science and demonstrating that numbers could represent and store texts, images and sounds: http://royal.pingdom.com/2008/04/08/the-history-of-computer-data-storage-in-pictures/ After the creation of text-only hypertext systems, https://en.wikipedia.org/wiki/Hypertext Which was the next logical step in technological progress? The creation of an Image and Text hypertext system. On Macintosh, it's name was HyperCard. Al ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Atkinson dither algorithm
Tom Glod wrote: > wow! my brain hurts. Still pending: 1) creating a command line application 2) compiling an external 3) building a widget In the forum thread, Hermann already demonstrated how to apply this algorithm using Javascript within the browser widget. But creating each one of these would be topic for another thread! :-) Al ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Interview wtth inventor of hypercard Bill Atkinson
Tom Glod wrote: > Here is a great interview with Bill. in which he reveals > among other things.. that when he invented Hypercard he was If you ask Walter Cooke, he answers: "I too miss HyperCard, but I also used Xerox's Notecards software BEFORE Bill invented Apple's version for the Macintosh. Google "Xerox Notecards" to read some history of where the concept and OO implementation originated. Poor Xerox - they invented so much but couldn't market their way out of a wet paper bag. A lot of educators were very impressed with Notecards and wanted at their universities real bad. The military loved it for buiding real-time visual simulations. I wanted to use it for building bond trading software. Unfortunately Xerox workstation cost $30K apiece at that time! I remember arguing with Andy Hertzfeld at the '87 MacWorld Expo where HyperCard was announced and demoed on the sexy new Mac II. He was adamant that HyperCard bore no resemblance to Notecards, but grudgingly agreed that he HAD seen Notecards at Xerox and knew what it was. Hmmm.." https://apple.slashdot.org/story/04/03/31/1550216/hypercard-gone-for-good BUT if you ask Paul Heckel, he would say: "Zoomracks was first..." http://www.atarimagazines.com/startv2n3/hypercard.html And now that I remember Paul Heckel, read about his winning lawsuit against Apple for patent-infringement: http://www.nytimes.com/1989/12/20/business/apple-is-said-to-settle-suit.html Al ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: [OT] Myst and The Manhole
I remember Cosmic Osmo. :D Still today, this game is available from Steam gaming platform: http://store.steampowered.com/app/63620/Cosmic_Osmo_and_the_Worlds_Beyond_the_Mackerel/ and Archive.org running within the web browser in an emulated Mac Plus: https://archive.org/details/CosmicOsmoMacintosh Al On Wed, Oct 18, 2017 at 8:46 PM, Alejandro Tejada wrote: > Hi All, > > Before I catch some well deserved hours of sleep, > I have to leave here, this video and article from > a few weeks earlier: > > https://www.youtube.com/watch?v=hOGZNG8jA7Q > > http://www.businessinsider.com/photos-psychedelic- > funhouse-george-rr-martin-2017-9 > > Why this interactive art project remembers me Cyan's games: > Myst and The Manhole? > > Read your comments tomorrow. :-D > > Al > ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
[OT] Myst and The Manhole
Hi All, Before I catch some well deserved hours of sleep, I have to leave here, this video and article from a few weeks earlier: https://www.youtube.com/watch?v=hOGZNG8jA7Q http://www.businessinsider.com/photos-psychedelic-funhouse-george-rr-martin-2017-9 Why this interactive art project remembers me Cyan's games: Myst and The Manhole? Read your comments tomorrow. :-D Al ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: Clipboard pastes into single spreadsheet cell
I suspect that Unicode is working behind the scenes to produce the result that Paul is getting in his own MacOSX setup. Al On Wed, Oct 18, 2017 at 9:37 AM, Alejandro Tejada wrote: > Hi Paul, > > Paste this in a button (or the message box) and > post back your results. > > Results after copying data from Livecode > Results after pasting in BBEdit > Results after copying text from BBEdit > > put base64encode(md5digest(the clipboarddata["text"])) & cr & the > clipboarddata["text"] > > Al > > ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Clipboard pastes into single spreadsheet cell
Hi Paul, Paste this in a button (or the message box) and post back your results. Results after copying data from Livecode Results after pasting in BBEdit Results after copying text from BBEdit put base64encode(md5digest(the clipboarddata["text"])) & cr & the clipboarddata["text"] Al ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
OT Toxoplasmosis (was : Send "rawKeyUp")
Hi Jacque, Jacqueline Landman Gay wrote: > There are several downloads in that thread. > Which one is best? I am using Mark's version downloaded from his dropbox folder, probably it's similar to this version: http://forums.livecode.com/viewtopic.php?f=93&t=27811&start=30#p154437 By the way, in the forum I posted a LC8 stack with a clock that uses this widget as rotating hands: https://forums.livecode.com/viewtopic.php?f=10&t=2 Al ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
OT Toxoplasmosis (was : Send "rawKeyUp")
By the way, now that we are talking off the record about off-topic themes, let me ask a question: Richmond, Have you installed SVG Multicolor widget? This widget could help a lot with your current projects. Please, download and install from this forum thread: http://forums.livecode.com/viewtopic.php?f=93&t=27811 Al ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: Atkinson dither algorithm
Hermann, your script version won the LiveCode Script speed contest! :-) I feel humbled and grateful that many of you have taken time to look at this. Although an image dithering algorithm seems trivial an barely useful, the fact is that in this thread, we have pushed Livecode script almost to it's speed limits. After we reach Livecode scripts natural limits, the next step is 1) creating a command line application, or 2) building an external, or (like Hermann demonstrated) 3) using Javascript within the browser widget or 4) the next frontier: Livecode widgets. This platform does not lack options to get the job done. It just require time and expertise to select the best options for each phase of a particular project. Later today, after I finished testing an application in different computers, will update the forum final's stack version with Alex and Hermann scripts. Thanks a lot again! :-D Al ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: Atkinson dither algorithm
Hi Alex, This is Amazing! :-D Alex, your function saved another 34% in the running time of this handler! In retrospect, only now it seems very obvious that merging two functions could save more running time in this handler... but I just keep wondering: How far can we go merging functions to save milliseconds in our LiveCode handlers? This is an interesting question that could be answered exactly in milliseconds. By the way, I have to add a try structure to dismiss an error message: Function ImgToChToArrayNum2 tImageData, tChannel -- extract a single channel's data, and convert -- to sequential array of numbers by Alex Tweedly put tImageData into tempVar delete byte 1 to tChannel of tempVar put empty into tResult put 0 into tCounter repeat with i = 1 to the number of bytes in tempVar step 4 add 1 to tCounter try put bytetonum(byte i of tempVar) into tResult[tCounter] end try end repeat return tResult end ImgTochToArrayNum2 Alex Tweedly wrote: > I haven't tackled the second half (i.e. the actual dithering bit yet - > maybe tomorrow). Excellent! Thanks a lot for your time, Alex. Al ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Send "rawKeyUp"
Hi Bob, Bob Sneidar wrote: > Nowhere in the symptoms is any description > of mental disorder. In fact, it does affect the behavior of SOME people. Take a look: https://www.salon.com/2015/03/27/the_parasite_made_me_do_it_how_a_common_infection_could_manipulate_our_behavior_partner/ In this blog, you could keep up to date about more recent developments and research about this parasite: http://toxoplasmaparasite.blogspot.com/ And this is quickly going off-topic. If you want, write me off list to continue this interesting conversation. I will tell you what the parasitologist Jaroslav Flegr told me when I write to him in his facebook account... Al ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Send "rawKeyUp"
Hi Richmond, Richmond wrote: > My experience is that adolescents have considerably > less foibles than adults; merely that adolescents are > honest enough to admit them openingly. > However, what I meant was labelling a program with > "don't do this" would produce the opposite > with adolescents. In my experience, adult people with toxoplasmosis act exactly in the same way... :-( If you say them: "Don't to this or that because something worse would happen for sure" then... these persons would do exactly this and that, not because they needed to, but just to prove that you are wrong... :'-( Al ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Atkinson dither algorithm
Hi Bob, Bob Sneidar wrote: > I didn't post any code I don't think, but I will certainly > take some credit for having done so! ;-) In fact, you are not late! :-D Please, take a look at the script of Atkinson Dither 04 (Fastest Version) and make it faster. How would you do this? Making the Functions Private (so they are not available in the message path)? Converting some variables to constants? (like the black and white pixels and many other variables that do not change at all inside the handler) The main difference between V04 and V03 of this handler is a single modification: An arithmetic operation like ADD: > add (tDifusionError) to tArray2[tNewKey] replaced all instances of PUT variable + variable into array like in this line: > put (tDifusionError) + tArray2[tNewKey] into tArray2[tNewKey] This single change speed the handler (in my own setup) by a whopping 33%. Just replacing "put" with "add" Please take a look! :-) (Download only the stack at the end of this thread) https://forums.livecode.com/viewtopic.php?f=10&p=159173#p159173 Al ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
In GRAB control
Hi Richmond, Tell me if this recipe works in your own setup: 1) Import an image 2) Create a small rectangle graphic with no fill (rectangles without fill is the default style) 3) Paste this script into the image: local tLocation, OriginalXposition, OriginalYposition on mouseDown put the loc of me into tLocation put item 1 of tLocation into OriginalXposition put item 2 of tLocation into OriginalYposition set the rect of grc 1 to the rect of me grab me end mouseDown on mouseup set the rect of grc 1 to "10,10,30,30" end mouseup on mousemove put the loc of me into tNewLocation put item 1 of tNewLocation into tx put item 2 of tNewLocation into ty switch case ty < OriginalYposition and tx < OriginalXposition put "Moving Up and Left" break case ty > OriginalYposition and tx < OriginalXposition put "Moving Down and Left" break case ty < OriginalYposition and tx > OriginalXposition put "Moving Up and Right" break case ty > OriginalYposition and tx > OriginalXposition put "Moving Down and Right" break case ty < OriginalYposition and tx = OriginalXposition put "Moving Up" break case ty > OriginalYposition and tx = OriginalXposition put "Moving Down" break case tx < OriginalXposition and ty = OriginalYposition put "Moving Left" break case tx > OriginalXposition and ty = OriginalYposition put "Moving Right" break end switch end mousemove By the way, Are you using Peter Thirkell SVG Multicolor widget for the stacks of your classes? Al ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: Atkinson dither algorithm
Hi All, This forum message contains the final version of this stack. It includes a Color version of this algorithm. https://forums.livecode.com/viewtopic.php?f=10&p=159173#p159173 Thanks again to Malte Brill, Richard Gaskin, Hermann Hoch, Mark Waddingham, Peter Reid, Ben Rubinstein, Bob Sneidar and Lagi Pittas for posting scripts and writing ideas to improve this handler. Al ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Rotating widgets
Hi All, Effectively, SVG Icon widget grows and shrink when rotating, but Peter Thirkell SVG Multicolor widget does not. This Multicolor svg widget only clips it's content and stays the same size. Richmond, Have you installed SVG Multicolor widget? Download and install from this forum thread: http://forums.livecode.com/viewtopic.php?f=93&t=27811 Jacque wrote: > Another disadvantage of using a rotated SVG is that > is will resize to fill its rectangle when rotating. > The clock hand will change its size on each rotation. ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Atkinson dither algorithm & 'for each' loop
After reading Mark Waddingham explanation, now i am using a sequential ordered array for this handler. Check this much shorter and faster version: on mouseUp put the millisecs into startTime set the cursor to busy put the alphadata of img "Image" into tAlphaData put the imagedata of img "Image" into tVar put the width of img "Image" into tImageWidth put the height of img "Image" into tImageHeight put the number of chars of tVar into tImgPixels if existence(sb the "ThresholdDither") then put thumbPos of sb the "ThresholdDither" into tThreshold else put 127 into tThreshold end if put numtochar(0) & numtochar(255) & numtochar(255) & numtochar(255) into tWP put numtochar(0) & numtochar(0) & numtochar(0) & numtochar(0) into tBP put ((tImageWidth * tImageHeight) - tImageWidth) into tHW put ImgToArrayNum(ImgToCh(tVar,1)) into tArray2 put 0 into tPixelCounter put tImgPixels/4 into tPixels repeat tPixels add 1 to tPixelCounter put tPixelCounter into tPixelPosition put tArray2[tPixelCounter] into tOldPixelValue if round(tOldPixelValue) <= tThreshold then put 0 into tNewPixelValue put tBP after fldhexa8 else put 255 into tNewPixelValue put tWP after fldhexa8 end if put (tOldPixelValue - tNewPixelValue)/8 into tDifusionError -- Atkinson dither add the diffusion error -- to 6 adjacent pixels -- x o o -- o o o -- o if tPixelPosition mod tImageWidth <> 0 then -- pixel position is less than image width put tPixelCounter + 1 into tNewKey put (tDifusionError) + tArray2[tNewKey] into tArray2[tNewKey] if tPixelPosition mod (tImageWidth - 1) <> 0 then -- pixel position is less than image width - 1 put tPixelCounter + 2 into tNewKey put tDifusionError + tArray2[tNewKey] into tArray2[tNewKey] end if end if if tPixelPosition <= tHW then -- ((tImageWidth * tImageHeight) - tImageWidth) -- pixel position is not in the last line of the image if tPixelPosition mod tImageWidth <> 1 then -- pixel position is not the first pixel in any line of the image put (tPixelPosition + tImageWidth - 1) into tNewKey put (tDifusionError) + tArray2[tNewKey] into tArray2[tNewKey] end if put (tPixelPosition + tImageWidth) into tNewKey put (tDifusionError) + tArray2[tNewKey] into tArray2[tNewKey] if tPixelPosition mod tImageWidth <> 0 then -- pixel position is less than image width put (tPixelPosition + tImageWidth + 1) into tNewKey put (tDifusionError) + tArray2[tNewKey] into tArray2[tNewKey] end if if tPixelPosition <= (tImageWidth * tImageHeight) - (tImageWidth * 2) then -- pixel position is less than image width - 1 put (tPixelPosition + tImageWidth * 2) into tNewKey put (tDifusionError) + tArray2[tNewKey] into tArray2[tNewKey] end if end if end repeat create img set the height of it to the height of img "Image" set the width of it to the width of img "Image" set the imagedata of it to fldhexa8 set the alphaData of it to tAlphaData put the millisecs - startTime && "milliseconds to create Atkinson Dither from image's single channel" end mouseUp Function ImgToArrayNum vImageData -- This function converts binary imagedata to -- integer numbers from 0 to 255 into -- an array. -- vImageData is a single color channel -- stored as binary imagedata. put empty into tResult put 0 into tCounter repeat for each char K in vImageData add 1 to tCounter put chartonum(K) into tResult[tCounter] end repeat return tResult end ImgToArrayNum Function ImgToCh tImageData tChannel -- This function returns binary data. -- -- tImageData is unmodified original imagedata of image -- with 4 chars for each pixel: 1 alphadata and 3 color channels. -- -- tChannel is a number from 1 to 3: -- 1 is red channel, 2 is green channel and 3 is blue channel put tImageData into tempVar delete char 1 to tChannel of tempVar -- the first char of the imagedata is part -- of the alphadata or maskdata, so when -- we delete char 1, the next char is part -- from red channel... if we delete 2 first -- chars, then next char is green channel -- if we delete 3 first chars, then we get -- the blue channel repeat until tempVar is empty put char 1 of tempVar after tResult delete char 1 to 4 of tempVar end repeat return tResult end ImgToCh Have a nice weekend! Al ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http:/
Atkinson dither algorithm & 'for each' loop
Hi Hermann, Hermann Hoch wrote: > So all considerations to improve the LCS script are, > TMHO, of rather theoretical value. Here are some more: > The Atkinson algorithm uses multiples of 1/8 = 0.125 for > the diffusion-error, the Floyd-Steinberg algorithm uses > multiples of 1/16 = 0.0625. > And have this in mind: > Whenever you use numToChar(Number) in your script you > are wrong by Number - round(Number) of the accumulated > pixel value ... This is correct, for this reason, in the most recent version of this handler, I am using 2 chars to store the new pixel value. first char is a whole number from 0 to 255 and the second char represent a decimal part from 0 to 99. I will test if using 5 chars for storing the new pixel value. In this way, the new pixel could store values of .00 that should be enough for this task... After reading Mark's answer, I learned that using a numerical ordered array to store pixel values could be really fast too. This is another path to explore. Al ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Atkinson dither algorithm & 'for each' loop
A few hours ago, I send a message to the mail list, a message that vanish without trace. Now I am resending parts of that message. The rest of the message is in the forum... Peter Read wrote: > One note of caution regarding the use of the "repeat for each" loop, > whilst you will get a loop iteration for every value in the collection > (fldhexa3 in your example), you are not guaranteed the order in > which they will occur. This doesn't matter in a lot of cases but > does matter when the sequence is significant. In the case of your > example I believe sequence is critical, otherwise the pixels might > appear to be scrambled! In my own setup, the control structure "repeat for each" is caching the content of the working variable. This means that we could not modify the content of this variable while the control structure is working with it. After reading your message, now I understand why this happens. If developers are allowed to modify a variable used by a control structure like "repeat for each" then we could get unexpected result as you describe: elements are processed in an out of order sequence. Ben Rubinstein wrote in response to Peter Reid: > Are you sure? My understanding has always been that > chunk items, e.g. > repeat for each [ byte | char | word | item | line] in > will always be sequential (indeed that's why this structure is fast) > - it's only when dealing with hashed arrays that the sequence is > not reliable, i.e. > repeat for each key in > repeat for each element in > Do you have experience to the contrary? As I wrote earlier in this same message, Peter could have found some way to change the working variable in a repeat for each control structure and the result is that elements are processed with an out of order sequence. By the way, after reading all comments and recommendations about the atkinson dither algorithm, I wrote a new handler that is a lot faster that my first handler, but the result STILL is not visually identical to that handler. My educated guess is that Atkinson dither algorithm requires numbers with more than 2 numbers after the decimal point. That is: 243.643578 instead of just 243.64 Later this week, I will try to discover the minimal number of decimal numbers that this algorithm requires. Please, check this new handler in the forum and suggest how to make this faster and more precise: https://forums.livecode.com/viewtopic.php?f=10&p=159078&sid=b46bc56428cb5b0f48d2c6520c107c47#p159078 Have a nice week! Al ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: Atkinson dither algorithm
Hi Malte, Malte Brill wrote: > I already posted on the forums, but for completeness also here: > a lot can be done by replacing repeat with with repeat for each where you can. > > --repeat with i = 1 to the number of words of fldhexa3 > --put 00 & word i of fldhexa3 & word i of fldhexa3 & word i of fldhexa3 after tVar2 > --end repeat > > repeat for each word theWord in fldhexa3 > put 00 & theword & theword & theword after tVar2 > end repeat This change reduced the time in a 25%! Wonderful. Thanks a lot Malte :-D > I always use strict compile mode, therefore I added the needed variable > declarations and noticed you use startTime as a variablename, which is a > reserved keyword. That is not a good idea. (I noticed, because I managed to > freeze liveCode where I fixed only half of the use of startTime. Booom.) startTime is a property of media players, so I am surprised that LiveCode do not warn me about this. :-o Also, I will try others less complex and simpler dithering algorithms as Floyd-Steinberg and Sierra Lite to measure total time differences. http://www.tannerhelland.com/4660/dithering-eleven-algorithms-source-code/ Malte, Thanks again for taking a look and improve this code! Have a nice weekend! Al ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: Atkinson dither algorithm
I have posted a demo stack in the forums: https://forums.livecode.com/viewtopic.php?f=10&t=29935 Have a nice weekend! Al On Sat, Oct 7, 2017 at 1:52 AM, Alejandro Tejada wrote: > Hi All, > > I am stuck trying to make this code for Bill Atkinson > dithering algorithm much more faster. > Any ways to speed this code? > Follow the recipe and watch out for lines broken > by mail character length limit. > > Recipe: > > 1) Import an small image (200x200 pixels) and > name it as "Image" (you could import a small > transparent png or a small jpg image) > > 2) Optionally, create a scrollbar type slider > with a range between 0 and 255. > Set the name of this scrollbar as "ThresholdDither" > and move the slider to 127 or 0 or 255. > > 3) Paste the following script in a button and > click on it to run this code: > > on mouseUp > >put the millisecs into startTime >set the cursor to busy > >put the alphadata of img "Image" into tAlphaData >put the imagedata of img "Image" into tVar >-- img "Image" could be a grayscale image >-- where all 3 channels: Red, Green, Blue >-- are identical or a color image where only >-- the red channel is used > >delete char 1 of tVar >-- the first char of the imagedata is part >-- of the alphadata or maskdata >repeat with i = 1 to length(tVar) step 4 > put chartonum(char i of tVar) & space after fldhex >end repeat >delete last char of fldhex -- a space >-- fldhex now contains a single channel of the RGB image >-- converted to numbers between 0 and 255 > >put the number of words of fldhex into lenghtofldhex >put the width of img "Image" into tImageWidth >put the height of img "Image" into tImageHeight > >repeat with i = 1 to lenghtofldhex step tImageWidth >-- We need as many words per line, as pixels contains >-- the image width (because each pixel is represented >-- by a word and this word is number between 0 and 255) > >put word i to ( i + ((tImageWidth) - 1)) of fldhex & cr after fldhexa2 >end repeat > >put empty into fldhex >delete last char of fldhexa2 >-- deleting the last cr character > >put the number of lines of fldhexa2 into sYsize >put the number of words of line 1 of fldhexa2 into sXsize > >// get the scrollbar value >-- tThreshold is a value between 0 and 255 >if existence(sb the "ThresholdDither") then >put thumbPos of sb the "ThresholdDither" into tThreshold >else >put 127 into tThreshold >end if > >repeat with tY = 1 to sYsize > repeat with tX = 1 to sXsize > > put tX into tPixelPosition > > put word (tPixelPosition) of line tY of fldhexa2 into > tOldPixelValue > > if round(tOldPixelValue) <= tThreshold then > put 0 into tNewPixelValue > else > put 255 into tNewPixelValue > end if > > put (tOldPixelValue - tNewPixelValue)/8 into tDifusionError > > -- Atkinson dither add the diffusion error > -- to 6 adjacent pixels > -- x o o > -- o o o > -- o > > put tNewPixelValue & space after fldhexa3 > > > if tPixelPosition < sXsize then >put tDifusionError + word (tPixelPosition + 1) of line tY > of fldhexa2 into word (tPixelPosition + 1) of line tY of fldhexa2 > > > if tPixelPosition < (sXsize-1) then > put tDifusionError + word (tPixelPosition + 2) of line > tY of fldhexa2 into word (tPixelPosition + 2) of line tY of fldhexa2 >end if > > > end if > > > if tY < sYsize then > > >if tPixelPosition > 1 then > put tDifusionError + word (tPixelPosition - 1) of line > tY + 1 of fldhexa2 into word (tPixelPosition - 1) of line tY + 1 of fldhexa2 >end if > > >put tDifusionError + word (tPixelPosition) of line tY + 1 > of fldhexa2 into word (tPixelPosition) of line tY + 1 of fldhexa2 > > >if tPixelPosition < sXsize then > put tDifusionError + word (tPixelPosition + 1) of line > tY + 1 of fldhexa2 into word (tPixelPosition + 1) of line tY + 1 of fldhexa2 >end if > > >if tY < (sYsize - 1) then > put tDifusionError + word (tPixelPosition) of line tY + > 2 of fldhexa2 into word (tPixelPosition) of line tY + 2 of fldhexa2 >end if > > > end if > > end repeat >end repeat > >replace "0" with "00" in fldhexa3 >replace "255" with "FF" in fldhexa3 > >repeat with i = 1 to the number of words of fldhexa3 > put 00 & word i of fldhexa3 & word i of fldhexa3 & word i of > fldhexa3 after tVar2 >end repeat >put binaryEncode("H*",tVar2) into tVar3 > >create img >set the height of it to the height of img "Image" >set the width of it to the width of img "Image" >set the imageda
Atkinson dither algorithm
Hi All, I am stuck trying to make this code for Bill Atkinson dithering algorithm much more faster. Any ways to speed this code? Follow the recipe and watch out for lines broken by mail character length limit. Recipe: 1) Import an small image (200x200 pixels) and name it as "Image" (you could import a small transparent png or a small jpg image) 2) Optionally, create a scrollbar type slider with a range between 0 and 255. Set the name of this scrollbar as "ThresholdDither" and move the slider to 127 or 0 or 255. 3) Paste the following script in a button and click on it to run this code: on mouseUp put the millisecs into startTime set the cursor to busy put the alphadata of img "Image" into tAlphaData put the imagedata of img "Image" into tVar -- img "Image" could be a grayscale image -- where all 3 channels: Red, Green, Blue -- are identical or a color image where only -- the red channel is used delete char 1 of tVar -- the first char of the imagedata is part -- of the alphadata or maskdata repeat with i = 1 to length(tVar) step 4 put chartonum(char i of tVar) & space after fldhex end repeat delete last char of fldhex -- a space -- fldhex now contains a single channel of the RGB image -- converted to numbers between 0 and 255 put the number of words of fldhex into lenghtofldhex put the width of img "Image" into tImageWidth put the height of img "Image" into tImageHeight repeat with i = 1 to lenghtofldhex step tImageWidth -- We need as many words per line, as pixels contains -- the image width (because each pixel is represented -- by a word and this word is number between 0 and 255) put word i to ( i + ((tImageWidth) - 1)) of fldhex & cr after fldhexa2 end repeat put empty into fldhex delete last char of fldhexa2 -- deleting the last cr character put the number of lines of fldhexa2 into sYsize put the number of words of line 1 of fldhexa2 into sXsize // get the scrollbar value -- tThreshold is a value between 0 and 255 if existence(sb the "ThresholdDither") then put thumbPos of sb the "ThresholdDither" into tThreshold else put 127 into tThreshold end if repeat with tY = 1 to sYsize repeat with tX = 1 to sXsize put tX into tPixelPosition put word (tPixelPosition) of line tY of fldhexa2 into tOldPixelValue if round(tOldPixelValue) <= tThreshold then put 0 into tNewPixelValue else put 255 into tNewPixelValue end if put (tOldPixelValue - tNewPixelValue)/8 into tDifusionError -- Atkinson dither add the diffusion error -- to 6 adjacent pixels -- x o o -- o o o -- o put tNewPixelValue & space after fldhexa3 if tPixelPosition < sXsize then put tDifusionError + word (tPixelPosition + 1) of line tY of fldhexa2 into word (tPixelPosition + 1) of line tY of fldhexa2 if tPixelPosition < (sXsize-1) then put tDifusionError + word (tPixelPosition + 2) of line tY of fldhexa2 into word (tPixelPosition + 2) of line tY of fldhexa2 end if end if if tY < sYsize then if tPixelPosition > 1 then put tDifusionError + word (tPixelPosition - 1) of line tY + 1 of fldhexa2 into word (tPixelPosition - 1) of line tY + 1 of fldhexa2 end if put tDifusionError + word (tPixelPosition) of line tY + 1 of fldhexa2 into word (tPixelPosition) of line tY + 1 of fldhexa2 if tPixelPosition < sXsize then put tDifusionError + word (tPixelPosition + 1) of line tY + 1 of fldhexa2 into word (tPixelPosition + 1) of line tY + 1 of fldhexa2 end if if tY < (sYsize - 1) then put tDifusionError + word (tPixelPosition) of line tY + 2 of fldhexa2 into word (tPixelPosition) of line tY + 2 of fldhexa2 end if end if end repeat end repeat replace "0" with "00" in fldhexa3 replace "255" with "FF" in fldhexa3 repeat with i = 1 to the number of words of fldhexa3 put 00 & word i of fldhexa3 & word i of fldhexa3 & word i of fldhexa3 after tVar2 end repeat put binaryEncode("H*",tVar2) into tVar3 create img set the height of it to the height of img "Image" set the width of it to the width of img "Image" set the imagedata of it to tVar3 set the alphaData of it to tAlphaData put the millisecs - startTime && "milliseconds to create Atkinson Dither" end mouseUp Thanks in advance! Al ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: [OT] Alternative to Inkscape
Hi Richard, Richard Gaskin wrote: > The difference with open source is that if it's really holding you back > you can rally the resources to get it done yourself right now, something > that would be impossible with any proprietary code base. In my humble opinion, after 12 years it has to be easier to convince WC3 to change the SVG standard and adopt Inkscape bottomleft page origin... :D Al On Wed, Oct 4, 2017 at 7:44 PM, Alejandro Tejada wrote: > > Hi Ryan, > > I use Xara since many, many years ago. Their technical support is excellent and rarely (if ever) I had a problem with their application > except a rare bug that I found, reported and they fixed. > > Recently, I am testing their online design application: > https://cloud.ixara.com/ > > Everyone could test this online design application using their Google, Facebook or Microsoft Live accounts. > > Al > > Rick Harrison wrote: > > > Did you try GIMP? > > https://www.gimp.org > > Will it do what you want it to do with SVG files? ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: 60 years of the Space Age
And Gmail allowed to send my previous message without subject and no warnings... precisely in the day (October 4) where they announce that each of their products now have Artificial Intelligence Algorithms incorporated... :-o On Wed, Oct 4, 2017 at 9:22 PM, Alejandro Tejada wrote: > Mark Wieder wrote: > > I am really sorry to have started this thread > > Where else could we have learned about the messageMessages > global property and messageHandled message (useful for > logging and debugging Livecode apps? > > This mail list, like our own life, allows us to focus on our > immediate projects or our long term interests. We can > focus on the foreground or the background, focus on the > melody or the accompaniment... and these could change > places depending of our personal point of view. > > Al > ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
60 years of the Space Age
Mark Wieder wrote: > I am really sorry to have started this thread Where else could we have learned about the messageMessages global property and messageHandled message (useful for logging and debugging Livecode apps? This mail list, like our own life, allows us to focus on our immediate projects or our long term interests. We can focus on the foreground or the background, focus on the melody or the accompaniment... and these could change places depending of our personal point of view. Al ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
[no subject]
Mark Wieder wrote: > I am really sorry to have started this thread Where else could we learned about the messageMessages global property and messageHandled message (useful for logging and debugging Livecode apps? This mail list, like our own life, allows us to focus on our immediate projects or our long term interests. We can focus on the foreground or the background, focus on the melody or the accompaniment... and these could change places depending of our personal point of view. Al ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
[OT] Alternative to Inkscape
Hi Ryan, I use Xara since many, many years ago. Their technical support is excellent and rarely (if ever) I had a problem with their application except a rare bug that I found, reported and they fixed. Recently, I am testing their online design application: https://cloud.ixara.com/ Everyone could test this online design application using their Google, Facebook or Microsoft Live accounts. Al Rick Harrison wrote: > Did you try GIMP? > https://www.gimp.org > Will it do what you want it to do with SVG files? ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: [OT] Alternative to Inkscape
After reading again Bug Reports about Inkscape page origin, I noticed that I was wrong. That Bug Report have existed for more than 12 years so... read by yourself: https://bugs.launchpad.net/inkscape/+bug/170049 https://bugs.launchpad.net/inkscape/+bug/364036 Al On Wed, Oct 4, 2017 at 4:30 PM, Alejandro Tejada wrote: > Include SVG-Edit and current versions of these editors: > https://www.sitepoint.com/6-free-web-based-svg-editors-compared/ > > I just keep wondering why nobody have forked Inkscape > and included the most requested feature: a plain simple > palette that translate page coordinates from bottomleft > to the topleft of the page. > > For more than 10 years, designers have been asking > Inkscape developers that they should move the page > origin from bottomleft to topleft (as svg specification > requires). In fact, someone posted a palette that > translate the page origin coordinates from bottomleft > to topleft (without changing or breaking any other > internal code) but this was quickly shutdown by > project maintainers. > > Probably this explains the glacial adoption pace > of Inkscape among designers and why SVG 2.0 > specification have been stalled for years and face > the risk of not being approved with all features > requested (many of them already in use) > > http://libregraphicsworld.org/blog/entry/is-svg-2-really-on-life-support > > Here is the main reason: > "there is not enough svg content using those svg features" > > While Macromedia and Adobe support pushed Flash content > presence to an incredible 29% (currently 6% among websites) > > https://www.fastcompany.com/3049920/the-agonizingly-slow- > decline-of-adobe-flash-player > > https://w3techs.com/technologies/details/cp-flash/all/all > > SVG is only now that is reaching 4.5% > https://w3techs.com/technologies/details/im-svg/all/all > > That is what I call "The Reluctant Acceptance of SVG" > > Maybe in the near future, > 1) Inkscape developers could fulfill with more frequency > the most common and reasonable requests of their > own users. > 2) SVG new features are used more frequently and > enough content is posted online using those features. > 3) Better designed tools appear than allows to use these > new features without having to use so many workarounds > and acrobatics... > (for example: https://stackoverflow.com/questions/14684846/flattening- > svg-matrix-transforms-in-inkscape ) > > Al > ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
[OT] Alternative to Inkscape
Include SVG-Edit and current versions of these editors: https://www.sitepoint.com/6-free-web-based-svg-editors-compared/ I just keep wondering why nobody have forked Inkscape and included the most requested feature: a plain simple palette that translate page coordinates from bottomleft to the topleft of the page. For more than 10 years, designers have been asking Inkscape developers that they should move the page origin from bottomleft to topleft (as svg specification requires). In fact, someone posted a palette that translate the page origin coordinates from bottomleft to topleft (without changing or breaking any other internal code) but this was quickly shutdown by project maintainers. Probably this explains the glacial adoption pace of Inkscape among designers and why SVG 2.0 specification have been stalled for years and face the risk of not being approved with all features requested (many of them already in use) http://libregraphicsworld.org/blog/entry/is-svg-2-really-on-life-support Here is the main reason: "there is not enough svg content using those svg features" While Macromedia and Adobe support pushed Flash content presence to an incredible 29% (currently 6% among websites) https://www.fastcompany.com/3049920/the-agonizingly-slow-decline-of-adobe-flash-player https://w3techs.com/technologies/details/cp-flash/all/all SVG is only now that is reaching 4.5% https://w3techs.com/technologies/details/im-svg/all/all That is what I call "The Reluctant Acceptance of SVG" Maybe in the near future, 1) Inkscape developers could fulfill with more frequency the most common and reasonable requests of their own users. 2) SVG new features are used more frequently and enough content is posted online using those features. 3) Better designed tools appear than allows to use these new features without having to use so many workarounds and acrobatics... (for example: https://stackoverflow.com/questions/14684846/flattening-svg-matrix-transforms-in-inkscape ) Al ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: not really OT: The Coming Software Apocalypse
Richard Gaskin wrote: > They're still undocumented, designed for IDE use > and subject to change. Ok, that explains why Google could not find any information about this. Maybe this info could help developers that are having trouble with their mobile apps. Could we save our log files and sent them automatically to the app developer in a mobile app? That could be really helpful. Really helpful. Al ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: not really OT: The Coming Software Apocalypse
Hi Richard, Richard Gaskin wrote: > I've found logging useful. Turn on the messageMessages > and write all messageHandled messages to a file with the > executionContexts - verbose, but when information is lacking > better to have too much than too little. Great to know! Thanks for this information. Where could I find more details about messageHandled and messageMessage? Google found nothing about these LiveCode messages. Al ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
not really OT: The Coming Software Apocalypse
Ralph wrote: > This is possible because all current consumer OSs > have the same problems outlined in the article. Deep truth, but... Are you sure that hardware is not to blame for many of these unexplained bugs? Intermittent hardware failures, due to faulty soldering or overheating (etc...) are uncommon but possible... Al ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
not really OT: The Coming Software Apocalypse
Hi All, Lagi Pittas wrote: > That's why I said the Function part would be good - > basically a LIVE interactive debugger - the coding > to do all the rest in a REAL programming language > rather than an animation studio or a testbed is way > out of my league - But given time and money anything > is possible... Does exists a programming tool that provides the developer with a complete (but optional) battery of tests that run while opening the application or on user request after the application is opened? For many years, we have seen in this mail list (and previous mail list) how developers are completely baffled by applications that run fine in most computers, but fail consistently in a very few machines. Check the archives. You will find many instances of this scenario. How it is that possible at all? In theory, a program that do not find the resources needed should NOT run at all, but for some reason, programs produced in this platform try their best to work in any computer, even without confirming that it could run. Should we ask that LiveCode refuse to run if any machine does not comply at 100% with requisites? No... I think that we need better error reporting capabilities and a complete (but optional) battery of tests to run on devices that do not run our programs as expected. Could I suggest a name for this battery test? The name could be something like: "common ground" In the 90's, Common Ground was a digital paper pioneer company that competed (and lose) against Adobe Acrobat. Still today, you could find common ground digital papers on the web: http://www2.ucsc.edu/mlrg/mlrgtools.html (Windows and PPC Mac digital paper readers) http://www2.ucsc.edu/mlrg/proc3abstracts.html (Common Ground digital papers) Have a nice week! Al ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
OT: OMGwebsites
Hi Bob, Bob Sneidar wrote: > Almost inevitably, they would get back to him days > or even weeks later and say, "How's that web page > coming along. We really need it." He would reply that > he asked for content and had not gotten it yet. > They would usually reply something like, "I thought > that was what you did." > Yeah. I'm not kidding. This story reflects exactly my own experience... and this explains why I prefer to avoid web design, as much as I can. But given the absence of LiveCode content in spanish language, I must have to create new content (or translate current articles and posts). Al ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Offset Referenced Image Data
Until LC fills this request, check these options discussed before: 1) Ink Effects for masking an image within a group Scott Rossi wrote: > Try this stack (in your message box): > go url "http://www.tactilemedia.com/site_files/downloads/masking_options.rev"; > The reason why a group with ink effects might be a > preferable masking solution is the image can be > positioned/resized independently of the mask. > This is demonstrated in the sample stack. > As Jacque pointed out, when using a backPattern, > the image is always drawn from the topLeft of the > object and is fixed. Also a backPattern does not > support translucency, while a group can. But using > a group can be a bit more work. 2) Hidden Point Technique Alejandro Tejada wrote: > Try these scripts too, before using a group: 1) Create a new stack 2) Create a polygon graphic and set the points of it to: 0,0 34,268 224,268 127,365 34,268 3) import an image into this stack, put the image in a corner, where it does not hide the graphic and: set the backpattern of grc 1 to the id of img 1 (now, the imported image is cropped within the graphic) 4) set the script of the graphic to this variation of Scott Rossi script (posted by Bernd) to move the first point of the graphic and (at the same time) move the image within the graphic: local lpoints,tClick,tFirstPoint -- based on Scott Rossi script for masking images local sMinX, sMinY on mouseDown put mouseH(),mouseV() into tClick put the points of me into lpoints put line 1 of lpoints into tFirstPoint put line 2 to - 1 of lpoints into tPointLIst filter tPointList without "" sort tPointList numeric ascending by item 1 of each put item 1 of line 1 of tPointList into sMinX sort tPointList numeric ascending by item 2 of each put item 2 of line 1 of tPointLIst into sMinY put "mouseDown" & cr & lpoints & cr & cr into fld 1 end mouseDown on mouseMove X,Y if tClick = "" then exit mouseMove put (X - item 1 of tClick,Y - item 2 of tClick) put (X - item 1 of tClick) + item 1 of tFirstPoint,(Y - item 2 of tClick) + item 2 of tFirstPoint into line 1 of lpoints if item 1 of line 1 of lpoints > sMinX then put sMinX into item 1 of line 1 of lpoints if item 2 of line 1 of lpoints > sMinY then put sMinY into item 2 of line 1 of lpoints set the points of me to lpoints end mouseMove on mouseUp put "" into tClick end mouseUp on mouseRelease put "" into tClick end mouseRelease -- Check this thread in: http://lists.runrev.com/pipermail/use-livecode/2016-March/225312.html Al ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: Chipp Walters 3D object viewer stack
Hi Sean, Sean Cole wrote: > It only seems to display a flat image in 2d space. There is a DLL based in Ogre3D that displays 3D images in a stack. Some developers in this mail list received this DLL as part of their LiveCode license. Ask them about it. Al On Mon, Sep 25, 2017 at 6:02 PM, Alejandro Tejada wrote: > > Found it in my backups! :-D > After learning the stack name's, it was easy to find it > in the mail list achives. > > This is Chipp's message: > http://lists.runrev.com/pipermail/use-livecode/2007-October/103466.html > > This is Chipp's stack: > http://www.gadgetplugins.com/chippstuff/3Dviewer.rev > > Al > > > On Sat, Sep 23, 2017 at 7:37 PM, Alejandro Tejada wrote: >> >> Hi Colin, >> >> on Sunday Sep 24 2017, Colin Holgate wrote: >> > It may be a different one, but is it this?: >> > https://github.com/angerangel/LCR3D >> >> LCR3D is the work of Massimiliano Vessi (MaxV) >> Chipp Walters stack is a different one. >> >> In the 90's, there was a HyperCard stack that >> could open *.obj 3d models too. >> Specifically, I remember an impressive >> 3d whale model. Does anyone remembers >> the name of this stack, too? >> >> On Sat, Sep 23, 2017 at 6:46 PM, Alejandro Tejada wrote: >> > >> > Hi All, >> > >> > I was looking in the mail list archives, the name of >> > Chipp Walters Stack that could import and display >> > 3d models in *.obj format, but could not find it. >> > >> > Does anyone remembers the name of this stack >> > or could point me to the mail list message where >> > Chipp posted it? >> > >> > I remember that Scott Rossi participated in that >> > mail list thread too. >> > >> > Thanks in advance! >> > >> > Al >> > ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: Chipp Walters 3D object viewer stack
Found it in my backups! :-D After learning the stack name's, it was easy to find it in the mail list achives. This is Chipp's message: http://lists.runrev.com/pipermail/use-livecode/2007-October/103466.html This is Chipp's stack: http://www.gadgetplugins.com/chippstuff/3Dviewer.rev Al On Sat, Sep 23, 2017 at 7:37 PM, Alejandro Tejada wrote: > Hi Colin, > > on Sunday Sep 24 2017, Colin Holgate wrote: > > It may be a different one, but is it this?: > > https://github.com/angerangel/LCR3D > > LCR3D is the work of Massimiliano Vessi (MaxV) > Chipp Walters stack is a different one. > > In the 90's, there was a HyperCard stack that > could open *.obj 3d models too. > Specifically, I remember an impressive > 3d whale model. Does anyone remembers > the name of this stack, too? > > On Sat, Sep 23, 2017 at 6:46 PM, Alejandro Tejada > wrote: > > > > Hi All, > > > > I was looking in the mail list archives, the name of > > Chipp Walters Stack that could import and display > > 3d models in *.obj format, but could not find it. > > > > Does anyone remembers the name of this stack > > or could point me to the mail list message where > > Chipp posted it? > > > > I remember that Scott Rossi participated in that > > mail list thread too. > > > > Thanks in advance! > > > > Al > > ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: Chipp Walters 3D object viewer stack
Hi Colin, on Sunday Sep 24 2017, Colin Holgate wrote: > It may be a different one, but is it this?: > https://github.com/angerangel/LCR3D LCR3D is the work of Massimiliano Vessi (MaxV) Chipp Walters stack is a different one. In the 90's, there was a HyperCard stack that could open *.obj 3d models too. Specifically, I remember an impressive 3d whale model. Does anyone remembers the name of this stack, too? On Sat, Sep 23, 2017 at 6:46 PM, Alejandro Tejada wrote: > > Hi All, > > I was looking in the mail list archives, the name of > Chipp Walters Stack that could import and display > 3d models in *.obj format, but could not find it. > > Does anyone remembers the name of this stack > or could point me to the mail list message where > Chipp posted it? > > I remember that Scott Rossi participated in that > mail list thread too. > > Thanks in advance! > > Al ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Chipp Walters 3D object viewer stack
Hi All, I was looking in the mail list archives, the name of Chipp Walters Stack that could import and display 3d models in *.obj format, but could not find it. Does anyone remembers the name of this stack or could point me to the mail list message where Chipp posted it? I remember that Scott Rossi participated in that mail list thread too. Thanks in advance! Al ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
[OT] Alan Kay is angry
I learned this again, a few weeks ago, in the forum: After many developers explained to a newbie the same concept in many different ways, this person said: Yes, I understand... but when this person tried to apply these concepts in a stack, we learned that these explanations were not clear enough. This platform needs more, much more, step by step instructions for every important concept and technique employed in LiveCode programming. Al William Prothero wrote: > As education tech folks, we try to make the content we want to > present as clear, easy, and transparent as possible. In our effort, > we may be reinforcing expectations that gaining knowledge > should be easy. But, what is actually accomplished may be > memorization and a shallow understanding of how existing > knowledge can be used to explore and enhance new knowledge. ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
[OT] Alan Kay is angry
There are many critics about the dumbing down of education in many countries, but only in USA, critics could afford to publish and sell their ideas: https://www.amazon.com/Dumbing-Down-America-Nations-Brightest/dp/1618211668 Just imagine that in the country where I live, to get a paying work in Education, a person just needs the endorsement of a politician or a bureaucrat... nothing else is needed or required. For this reason, you could find daily news about party members that have their whole family receiving US$ 2,000 (or more) monthly as public employees in the Education Public system or... Plantation owners who receive a check from the government for every field worker that is listed as worker in our Education Public system. By the way, Do you know that in the country where I live, any of you have a better chance of receiving a payment from the government for your work, thanks to the services of your country's Embassy? That's a clear and definite advantage for every foreign worker or consultant. How many of you would want to work for a government that requires that an Embassy collect the payments for your work? :-o Al Bob Sneidar wrote: > I think it's a huge mistake to try and treat > all children as though they are capable of > learning as well as the top 10 percentile. > This approach has been disasterous in american > schools, because what actually happens is, > classes become tailored to the lowest percentile > of students to try and bring them along, and those > who might have excelled are held back until a stage > in their development where it is likely too late. > In America, we call that "equality". ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
[OT] Alan Kay is angry
Richmond wrote: > All my upper-intermediate pupils will be going > through this article in class this week. These talking emoji remembers me Microsoft's Agent Animated Characters Showcase project. https://www.youtube.com/watch?v=6umxhkdKzSY If I remember well, the characters could be used by developers within their own applications as program helper and intelligent assistants. Could you imagine that these talking characters get access to Artificial Intelligence algorithms through an internet connection? How many of your students would select an animoji as electronic assistant in their personal daily schedule? http://www.popularmechanics.com/technology/gadgets/news/a28171/iphone-x-animoji/ Al ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
[OT] Alan Kay is angry
Read the interview: https://www.fastcompany.com/40435064/what-alan-kay-thinks-about-the-iphone-and-technology-now I think that he could be... much more angry if he learns about all memes that compare Mobile Phones users with zombies... Al ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: Android Audio Playback & Recording
About Android Audio Recording using LiveCode, check this and read the comments for very useful additional information: https://livecode.com/android-audio-recording-library-using-java-ffi/ Al ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Android Audio Playback & Recording
Hi Peter, This part of your message caught my attention. Peter Reid wrote: > 3. Figure out how to compare the two sound clips > (sample against user), or convert the user speech input > into text for comparison with the original Word. Again, > any good ideas would be welcome, but I'm prepared to > do a bit of general research about this. Comparing two audio clips is considered a difficult task but in 1994, "Claire Interactive Musical Coach" a voice training software for 68k Macs could do this with great accuracy. https://www.wired.com/1994/03/sing-directly-into-the-mac/ Of course, that software was created by Opcode engineers. The same people who at that time was creating the best audio software for Mac. (Later, many of them started working for Apple) Today, hardware is much more powerful than 68k macs so you could be sure that this task is much easier now than it was 23 years ago. https://wiki.musicbrainz.org/Fingerprinting Maybe, just maybe, you could convert user recorded audio into an image (or line graph) and compare this against the image or line graph of original audio sample. Al ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Export vector graphics v05
Hi All, This download is an update to a stack posted 10 years ago in the mail list. This stack exports all vector graphics pasted in the first card as PDF, Adobe Ilustrator (v7) or SVG. Please test first if you could open every type of file produced by this stack. Before pasting your graphics, export all included graphics as PDF, Adobe Ilustrator and SVG and open these files using programs installed in your computer or tablet. After you verify that files exported by this stack open correctly, you are ready to delete all included graphics and paste your own graphics in the first card. Report any errors and read the source code to add your own improvements. I hope that one of you become motivated enough and helps in the creation of code that exports gradients in each format (or just svg only) By the way, only latest Inkscape versions (0.92 and later) could edit these exported svg. Previous Inkscape versions do not understand how to handle polylines and polygons... Download from this post in the forum: http://forums.livecode.com/viewtopic.php?f=10&t=29742 Al ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Vector graphics, again
This second version works better because includes a transparent background rectangle that effectively corrects the border cropping problem from first version: On Sat, Sep 9, 2017 at 4:52 PM, Alejandro Tejada wrote: > Hi Richmond, > > I posted 2 files (1-SVG file 2-LiveCode v8 stack) and > code in the forum: > > http://forums.livecode.com/viewtopic.php?f=6&t=29737&p=158014#p158014 > > [SNIP] > > If you notice a few glitches, like cropped borders, please contact the > creators of MultiColor SVG widget or edit the original svg file and make > smaller all shapes. > > Have a nice weekend! > > Al > ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Vector graphics, again
Hi Richmond, I posted 2 files (1-SVG file 2-LiveCode v8 stack) and code in the forum: http://forums.livecode.com/viewtopic.php?f=6&t=29737&p=158014#p158014 Just create a new MultiColor SVG widget and paste this: If you notice a few glitches, like cropped borders, please contact the creators of MultiColor SVG widget or edit the original svg file and make smaller all shapes. Have a nice weekend! Al ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode