Re: Open Source Licence (LGPL or GPL)
A couple of points on the license-type debate: 1) We don't really care what license you use: anything from public domain (least restrictive) to Artistic License (what PERL uses) to GPL (most restrictive) would be fine. 2) A concern with using GPL is that anything moved into your application with the Resource Mover results in some of the virus-like aspects of GPL kicking it (i.e., you'd be required to release a version of your app without those stacks so the end-user could replace them). This makes LGPL a better bet, if something even this restrictive is desired. Regards, Scott ___ metacard mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/metacard
Spam filtering for metacard.com domain
Due to the volume of spam being sent to the metacard.com domain and our recent transfer of responsibility for the MetaCard engine technology to Runtime Revolution, we will be taking increasingly more aggressive approaches to spam filtering over the next couple of weeks. For starters, we'll be turning on auto-responders for most of the general email addresses. Next, some DNS changes will be made and active filtering turned on. If email to [EMAIL PROTECTED] ever bounces, please try my new email address scott(at)runrev.com. Regards, Scott Scott Raney [EMAIL PROTECTED] http://www.metacard.com MetaCard: You know, there's an easier way to do that... ___ metacard mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/metacard
Re: 2 upgrades are guaranteed
On Thu, 10 Jul 2003 Richard Gaskin [EMAIL PROTECTED] wrote: RCS wrote: I don't think this has been discussed enough. As someone who just paid $300 for : free access to all MetaCard updates that are released or go to beta within that 1 year period. At least 2 upgrades are guaranteed to be released within the duration of each subscription. i feel like this is being swept under the rug. We need an official response so we can decide our course of action. What about the bugs that still exist? What if Apple's 'Panther' breaks something? That's a good question. One of the reasons Scott has such a rabidly loyal following is that he's quite speedy with the incremental upgrades (e,g., 2.4.2 to 2.4.3), but generally only enforces a reg key change with a major version chage (e.g., 2.4.3 to 2.5). Will RunRev change this long-established practice? I think you can expect Runtime Revolution to be a little tighter about this than MetaCard Corporation was. But there should be at least a couple more engine releases that current MetaCard subscribers will be able to use (e.g., 2.5.1 is already in alpha test). You will have to download and install the new versions RR to get those updated engines to use with MetaCard, however. And of course you'll need to download the MC UI from someplace else if it turns out to need changes due to the engine updates. There may be other things MetaCard subscribers may have to give up, however. We haven't worked out the policy for all of these things yet. One issue is access to beta-test releases: MC always did public beta tests whereas RR only allows their Pro customers access to the betas. It's therefore likely that this past benefit of being a MetaCard customer will go away. Any concerns about this change, or any other, should be brought to my or Kevin Miller's attention and we'll try to come up with a way to keep everyone happy. And will the frequency of new releases be faster or slower than before? For example, will the MC engine be released as soon as it's ready or held back for the Rev IDE to be updated for it? It would certainly be easier to keep them synchronized. But RR has already publicly committed to using shorter release cycles in the future so that any delays due to the needs to keep them in sync should be minimal. Regards, Scott -- Richard Gaskin Fourth World Media Corporation Developer of WebMerge 2.2: Publish any database on any site ___ [EMAIL PROTECTED] http://www.FourthWorld.com Tel: 323-225-3717 AIM: FourthWorldInc Scott Raney [EMAIL PROTECTED] http://www.metacard.com MetaCard: You know, there's an easier way to do that... ___ metacard mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/metacard
Re: METACARD ACQUIRED BY RUN REV!!!
On Tue, 8 Jul 2003 Shari [EMAIL PROTECTED] wrote: What happens to Metacard, impacts those who rely on it for their bread and butter. I love xTalk languages. And was hoping/expecting that Scott/Metacard would be around a long time so that I could use it as my foundation. If this is all you worry about, you can rest easy. I'll continue to be a part of the engine development team for the foreseeable future, and though my control over the direction of the technology and management will be greatly diminished, I have complete confidence in the team at Runtime Revolution. They're just better managers and marketers than I ever was ;-) As for the MetaCard development environment, our contract with Runtime Revolution specifically states that the MC UI is now Open Source and that although Runtime Revolution will not continue development of it or provide tech support for it, they also cannot kill it off or even deliberately change the engine technology to prevent the MC UI from continuing to work. So its survival now depends on all of you. Although I won't be directly involved in the development of the MC UI or documentation package anymore, I'd be happy to serve as Benevolent Dictator for awhile until a proper support group is up and running smoothly. The first order of business will be to set up a mailing list so that we can start discussions of how that group should be organized and later, what changes to the UI everyone wants (and are willing to contribute to!). That should help keep this list focused on *using* the UI, with some discussions of the engine technology it shares with the new standard development environment, Revolution. OK, so who wants to host that mailing list? Regards, Scott PS: it's at times like this that I miss Grant Schampel ([EMAIL PROTECTED]). He always loved a good brouhaha, and always had something insightful to say about the back-room dealings that make them possible... Shari C Gypsy King Software -- --Shareware Games for the Mac-- http://www.gypsyware.com Scott Raney [EMAIL PROTECTED] http://www.metacard.com MetaCard: You know, there's an easier way to do that... ___ metacard mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/metacard
Re: Bug report 2.5G1
On Thu, 03 Apr 2003 Wilhelm Sanke [EMAIL PROTECTED] wrote: These observations hold also for all A and B versions of 2.5 (Windows). Please note that bug reports go to [EMAIL PROTECTED], not to this list. Not to mention that if these problems really did exist in the alpha and beta-test releases, you're not doing us (or yourself) any great favor by waiting until we're just about to release 2.5 before reporting them at all! (snip) This is a renewed request rather than a bug report: Please implement the possibility to put button names/labels directly *on top* of button icons ( a feature that - according to Scott Raney - is on already on the request list). While we don't have an official policy on public lobbying like this, my personal opinion is that if we get any me too posts from others wanting this feature they'd be given very little weight in our decision making process as to which of the 300 or so features on the feature-request list to implement for the next release. After all, if it was really important to people, they would have asked us for this feature without having to be prompted... Regards, Scott Regards, Wilhelm Sanke Scott Raney [EMAIL PROTECTED] http://www.metacard.com MetaCard: You know, there's an easier way to do that... ___ metacard mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/metacard
Re: Type 2 errors
My stack keeps quitting with a Type 2 error. I ran hard drive diagnostics, defragmented, and ran disk utilities. I reinstalled Metacard. The stack still quits with a Type 2 error. Can I assume the stack is corrupt? No: this basically never happens unless you also have a backup file (same name with a ~ as the last characer). And if so, is there any way to fix it without rebuilding it from scratch? That would be a pretty major undertaking. Most likely you just have a script bug that the engine isn't handling correctly, in which case running something like the following in the Message Box will allow you to open the stack: lock messages; go yourstack.mc Second most likely would be a problem with one or more of the images used in the stack. Try going directly to some other card (preferably one without any images), or, if the images are stored externally, moving the image files someplace where the engine can't find them might get you around this. Once you get the stack open, you should be able to figure out where the problem is. You should also try this with the 2.5 beta 6 engine to see if it works on the unmodified stack. If it still doesn't, please file a bug report when you figure out what the problem is: the engine should never crash like this unless you really do feed it bogus data (a corrupted image, etc.). Regards, Scott I do have backups, but truthfully, it's been acting quirky for awhile, and any backups would probably also be suspect at this point. Shari C -- --Shareware Games for the Mac-- http://www.gypsyware.com Scott Raney [EMAIL PROTECTED] http://www.metacard.com MetaCard: You know, there's an easier way to do that... ___ metacard mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/metacard
MetaCard 2.5 beta 6 now available
MetaCard 2.5 beta 6 is now available in the directory: ftp://ftp.metacard.com/MetaCard/2.5/ This is the last scheduled beta test release of 2.5, so if you haven't tried running your application(s) with one of the earlier betas, now would be a really good time to do a quick check to make sure that 2.5 will work for you. Regards, Scott Scott Raney [EMAIL PROTECTED] http://www.metacard.com MetaCard: You know, there's an easier way to do that... ___ metacard mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/metacard
Re: Custom cursors
On Sat, 1 Mar 2003 RCS [EMAIL PROTECTED] wrote: Is editing cursors actually working in 2.4.3? I just wasted too much time trying to 'tweak' some of the cursors in the Cursors stack of my application. Part of the problem is MetaCard is getting confused whose stack I am editing (even if I open the Cursors stack directly from the 'Components' of my stack) since MetaCard has it's own internal stack called Cursors. There are many options: 1) use a different name for your stack 2) edit the MC cursors instead of your own copy (the better option if you'll be redoing a resource move at any point). 3) just delete the MC Cursors stack. Be sure not to save the tools stack in that session if you do this. Use long names (including the main stack name) to do the delete and to verify that you've done it right. Use the command reset cursors to get the new ones after editing them. Aside from that, using the pencil tool is confusing. No matter what I used for the background, I could not get a transparent 'color' for the cursor. I used other cursors as a reference (using the same background they had) but it would not work. Use the right mouse button to erase. This applies to all the tools (and RTFM, this is in the CT stack). I would also like to know if anyone has successfully used different sized (or even 'color') cursors...we're supposed to be able to use any image, right? Color cursors aren't supported because there is no standard OS support for this on any platform (except maybe MacOS, but the API is a real mess there if you don't store cursors in resources, which we don't). There are several platform-specific restrictions on size, and these are also documented in the CT stack. Regards, Scott Thanks, JR Scott Raney [EMAIL PROTECTED] http://www.metacard.com MetaCard: You know, there's an easier way to do that... ___ metacard mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/metacard
RE: MC 2.5b3
On Sat, 1 Feb 2003 Mr X [EMAIL PROTECTED] wrote: It's my fault, I complained to Scott that in debugging some menus weren't necessary!!! ;)) Hmm, maybe the VW/MW/EC dialog menu items should just be moved from there into the debug menu? Regards, Scott Scott Raney [EMAIL PROTECTED] http://www.metacard.com MetaCard: You know, there's an easier way to do that... ___ metacard mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/metacard
Re: Database Encryption
On Tue, 7 Jan 2003, Ruslan Zasukhin wrote: on 1/7/03 2:19 AM, Scott Raney at [EMAIL PROTECTED] wrote: And ONLY Metacard developers, as far as I see, have headache with conversion of paths...at least if they work with Valentina. Correct. Which is fine because the number of them doing Mac/Windows/UNIX work *without* having to write special code to handle the differences is vastly larger than the number using Valentina where you *do* have to handle paths differently (assuming of course that you don't modernize Valentina, at least on OS X, to use native paths instead of the old style). Valentina always fallow to native path of system. This means that VXCMD Macho work with POSIX paths. VXCMD Macho must be used with MC 4.2.3 or newer I'm confused, then. What was the original problem? Regards, Scott -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] - e-mail: [EMAIL PROTECTED] web: http://www.paradigmasoft.com To subscribe to the Valentina mail list send a letter to [EMAIL PROTECTED] - Scott Raney [EMAIL PROTECTED] http://www.metacard.com MetaCard: You know, there's an easier way to do that... ___ metacard mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/metacard
Re: Database Encryption
On Mon, 06 Jan 2003 Scott Rossi [EMAIL PROTECTED] wrote: Recently, Scott Raney wrote: Those old things that start with a drive name and are delimited with colons are obsolete MacOS 7/8/9 format paths. The way of the future is UNIX paths. The irony being, UNIX is a 30 year old operating system... :-) 33, actually. Which still makes it about 5 years younger than the BASIC programming language ;-) Regards, Scott Regards, Scott Rossi Creative Director Tactile Media, Multimedia Design Email: [EMAIL PROTECTED] Web: www.tactilemedia.com Scott Raney [EMAIL PROTECTED] http://www.metacard.com MetaCard: You know, there's an easier way to do that... ___ metacard mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/metacard
Re: Fwd: Shrink Image quickly
On Mon, 6 Jan 2003, Sannyasin Sivakatirswami wrote: Maybe someone on the MC list will know We've had few problems with indiscriminate cross-posting between the MC and RR mailing lists, and I'm hoping this is not going to start a trend... on Shrinking put the width of img shrinkTest into x if x = 20 then restoreSize exit Shrinking end if put the height of image shrinkTest into y set the width of image shrinkTest to (x - 1) set the height of image shrinkTest to (y - 1) Here's your first problem: setting the width and height separately causes the image to be rescaled *twice* instantly halving your performance. You should be setting the rect property instead. The second problem is the -1 part: the actual amount to change depends on the performance of the hardware but -1 is always going to be to small unless you're only dealing with very small images on very fast hardware. Things like the move command and visual effects adaptively change the delta to meet the time requirements and you'll have to do something similar using the milliseconds function, i.e., compute the size based on the ratio: currenttime - starttime / totaltime You should be able to build a usable move/scale routine using the above techniques, but for serious work in this area you should be using Flash or one of the QT-based animation tools from which you would export a QT movie that you'd play with a player control. Regards, Scott Scott Raney [EMAIL PROTECTED] http://www.metacard.com MetaCard: You know, there's an easier way to do that... ___ metacard mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/metacard
Re: Database Encryption
On Sat, 04 Jan 2003 Ruslan Zasukhin [EMAIL PROTECTED] wrote: Then I still think that Okay, you can return UNIX paths on default., But will be good for MC developers if you will give them built-in methods to convert them into MAC and windows native paths. It's not a problem on Windows, you just need to change the / to a \. A conversion from MacOS X native paths to old MacOS-format paths would be trivial to script: if the path starts with /Volumes/, just delete that part. If it doesn't, put the first line of the list returned by the drives before the path. This DO NOT make any problems for development of cross-platform code. As you know REALbasic, Director, Java, C++ all they perfectly work in cross-platform way with Valentina, and again, developers do not have problems with conversion of paths as you think, because paths self come from system's Open Dialog. The problem being that paths *don't* always come from the Open dialog, in which case the way those other products handle paths are a pain in the ass because you have to handle each platform separately. And ONLY Metacard developers, as far as I see, have headache with conversion of paths...at least if they work with Valentina. Correct. Which is fine because the number of them doing Mac/Windows/UNIX work *without* having to write special code to handle the differences is vastly larger than the number using Valentina where you *do* have to handle paths differently (assuming of course that you don't modernize Valentina, at least on OS X, to use native paths instead of the old style). I have see that you try work around this to convert manually Unix paths to Mac OS paths. But this not works on my computer. You shouldn't ever need to do this. Scott, this is not correct. All other products (C++, REALbasic, Director) work in this way. And Valentina kernel also work in this way: native path for each platform. Only MetaCard habe its own special way... Because only MetaCard allows access to, e.g., the file /etc/password so that you can determine what users are configured on the current system. You have to go and buy an external package to do this with these other products, which IMHO is an inferior architecture. There are many other similar system files that people need access to. Same situation exists with the shell() function, which you would have to translate everything with if the engine used those old-style paths. And Scott, again, I believe this is NOT correct, that MC 2.4.2 which is CARBON, returns UNIX paths. It must return MacOS paths from Choose dialog. It can't do that and then use UNIX paths for everything else... Why MC Carbon can't return native MacOS paths ??? It does: what you're confused about is what native means. Those old things that start with a drive name and are delimited with colons are obsolete MacOS 7/8/9 format paths. The way of the future is UNIX paths. Regards, Scott -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] - e-mail: [EMAIL PROTECTED] web: http://www.paradigmasoft.com To subscribe to the Valentina mail list send a letter to [EMAIL PROTECTED] - Scott Raney [EMAIL PROTECTED] http://www.metacard.com MetaCard: You know, there's an easier way to do that... ___ metacard mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/metacard
Re: Database Encryption
On Sat, 4 Jan 2003, Ruslan Zasukhin wrote: on 12/28/02 4:37 AM, Peter McConachie at [EMAIL PROTECTED] wrote: Process is: 1. Make test database (btn [New dBase]). Close check with VApp. 2 Open (btn [Open ord.dBase]) and dump file of table(s). Close dBase 3. Open dBase, encrypt structure total data close - all done by btn [Encr new]. 4. Open encrypted dBase (btn [Open encr.dBase]). To check all is OK I run test query to see all data. Then dump files of table(s). Then close Hi Peter, Hi Scott, Peter, I have try to test your project using MC 2.4.2 Carbon. I do not want use MC 2.4.3 Macho because bundles have great problems with debugging. But problem is that MC 2.4.2 on some incredible reason returns UNIX paths on OS X ? This is the correct behavior: There are large sections of the UNIX file system that are not accessible using MacOS paths, making using these and unacceptable alternative for a general-purpose tool. I have see that you try work around this to convert manually Unix paths to Mac OS paths. But this not works on my computer. You shouldn't ever need to do this. And Scott, again, I believe this is NOT correct, that MC 2.4.2 which is CARBON, returns UNIX paths. It must return MacOS paths from Choose dialog. It can't do that and then use UNIX paths for everything else... I have see notes in Peter's project that MC 2.4.3 also have some weird things on paths...Peter, you need talk about this problems on MC lists and push them to be fixed. The only remaining weird thing is that when you get the stack path of a standalone it actually returns the path into the executable into the bundle. While this is handy in some cases, it is incompatible with the way the same stack works if run by dragging and dropping it on MetaCard.app. Regards, Scott -- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] - e-mail: [EMAIL PROTECTED] web: http://www.paradigmasoft.com Scott Raney [EMAIL PROTECTED] http://www.metacard.com MetaCard: You know, there's an easier way to do that... ___ metacard mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/metacard
Re: Newbie question about the bucket tool
On Sun, 29 Dec 2002 [EMAIL PROTECTED] wrote: Bonjour, I don’t understand why the paint tools which work with macOS behave in a strange way with Windows. If I choose a color (for instance a green defined by the RGB values 125,255,O), I expect each pixel which I paint to have exactly this color. This is performed without any problem by my mac. My computer running with Windows OS seems to display the chosen color, but in facts, the area which is should painted with it is filled with a mosaic of pixels with slightly different colors. (If the chosen color is 125,255,O, then the colors of the mosaic are 115,255,0 and 123,255,0). When a shape is filled with a mosaic instead of a plain color, of course the bucket tool will operate only on the contiguous pixels having exactly the same color. Could anyone help me with mastering the paint tools or explain me why Windows does not allow me to paint with the exact colors I choose ? The only thing I can guess is that you're running in 8-bit (256-color) mode and your graphics card is being too clever and dithering even when it's not supposed. Running in 32-bit depth is the best solution to this problem, but I'd also consider that graphics card and/or driver to be suspect and one or both probably should be upgraded. Regards, Scott Thank you for your help Cordialement, Jean-Paul Poccard Scott Raney [EMAIL PROTECTED] http://www.metacard.com MetaCard: You know, there's an easier way to do that... ___ metacard mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/metacard
Re: associative arrays
On Fri, 13 Dec 2002 Dar Scott [EMAIL PROTECTED] wrote: On Friday, December 13, 2002, at 02:47 AM, Robert Brenstein wrote: However, I need to pass it as an argument to a function that is dynamically defined and executed through do. put webArg into fName -- let's say webArg = somfunction do get fName ( myArray ) This is the wrong syntax: you're passing the *value* of myArray in this case, which is going to be empty if it's really an array. I think you wanted something like: do get fName (myArray) function somfunction myArray return myArray[key] end somfunction In somfunction, the associative array give empty values for key and array elements. I have seen other limitations. I can return an array from a function and pass an array as a parameter but not both in the same expression as in somFunction(buildArray()). This is because you can only pass arrays using *variables*, not as the return value of a function call. In C/C++/Java, trying to do the above where someFunction takes a reference would generate a syntax error. MC/RR, being an untyped language, just silently takes the scalar value (which in this case will be empty) if it can't find a variable when it gets to the called function. You can work around this by breaking it into two steps: get buildArray() get someFunction(it) Dar Scott (a Revolution user sitting in the back row) Ah, the infamous voice from the back of the room ;-) Regards, Scott Scott Raney [EMAIL PROTECTED] http://www.metacard.com MetaCard: You know, there's an easier way to do that... ___ metacard mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/metacard
MetaCard 2.5 beta 1
MetaCard 2.5 beta 1 is now available in the directory: ftp://ftp.metacard.com/MetaCard/2.5/ See the file README.2.5 in that directory for the list of new features. For those who downloaded before this announcement, please check the buildNumber to make sure that it returns 3, particularly on OS X which had a few problems in earlier builds. Character translation in drag and drop and cut/copy/paste for non-ASCII text is still broken in that engine, as is dead-key text entry, but these should all be fixed by beta 2. Regards, Scott Scott Raney [EMAIL PROTECTED] http://www.metacard.com MetaCard: You know, there's an easier way to do that... ___ metacard mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/metacard
Re: the large file challenge
On Sun, 10 Nov 2002 Richard Gaskin [EMAIL PROTECTED] wrote: My hunch is that reading for lines is slower than reading a specified number of chars, since with lines it needs to evaluate each incoming character to determine if it's a return -- Scott, am I right or should they be about the same? You're right, though I wouldn't think it would make *that* much difference. As for my guess as to the fastest way to do this, it'd probably be a hybrid approach, using both read for x and repeat for each line. You'd start by opening the file for binary read (faster than other modes). Then read for X characters, where X would be some large number experimentally determined for each system (it'd probably some large percentage of the free RAM, and so probably on the order of a few MB), and then use repeat for each line l in it. The trick is that the last line will be incomplete in this case, so for the second and subsequent reads you subtract the length of the last line from X, and do read for X at Y, where Y is a running total of what's been read, after subtracting the partial lines of course. Some extra bookkeeping will be required in this case (e.g., if the tag you're looking for is in the partial last line you need to subtract 1 from the count so you don't count it twice). Exactly how to do this part most efficiently is left as an excercise for the reader ;-) Regards, Scott -- Richard Gaskin Fourth World Media Corporation Developer of WebMerge 2.0: Publish any database on any site ___ [EMAIL PROTECTED] http://www.FourthWorld.com Tel: 323-225-3717 AIM: FourthWorldInc Scott Raney [EMAIL PROTECTED] http://www.metacard.com MetaCard: You know, there's an easier way to do that... ___ metacard mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/metacard
Re: Invalid socket connect timeout?
On Sun, 27 Oct 2002 RCS [EMAIL PROTECTED] wrote: Is there a way to set the time that the internal MetaCard engine takes to 'try' to open a socket? I have found that if a socket is not valid (or the host is not on the network) MetaCard will try to connect for up to one minute until it returns a socketError...is this normal? It'd be helpful to have the platform and the script you used for reports like this. The only problem I know of in this area is that open socket .. with message doesn't work right if a connection fails on MacOS. This has already been fixed for 2.5 alpha 7. In general, though, this sort of thing unfortunately is never going to work as well on MacOS (including OS X) as it does on Win32 and UNIX because of limitations in the way OpenTransport and the underlying socket implementation works (indeed, even the standard UNIX utilities like ping and telnet take a long time to time out compared with the equivalents on Win32 and other UNIX platforms). In some specific cases, specifically failed DNS lookups, that 60 second timeout is actually hard-coded into the OS and so is not anything we can change without writing a whole bunch of new code so that we don't have to rely on OS routines to do these lookups. Regards, Scott Thanks, JR Scott Raney [EMAIL PROTECTED] http://www.metacard.com MetaCard: You know, there's an easier way to do that... ___ metacard mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/metacard
Re: XCMD Limitations
On Fri, 25 Oct 2002 [EMAIL PROTECTED] wrote: In the meantime Kevin Miller confirmed that the supported list of callbacks is defined as the 1.2 spec, and the magic of google (after I'd searched a huge box with 10 years of Apple Developer CDs - apparently I didn't keep them going back far enough!) located an old copy of the glue. I've now implemented some headers to switch out the newer calls, recoded the ones that were needed, the external is working fine. But I'm still confused as to which of the HC callbacks are supported. The 1.2 spec that I found lists 27. Of these, only 11 are in the MetaCard XCmdGlue.h - but I know that my external is using at least some of the others, eg ZeroToPas. Right: we didn't put the rest in the MC external API because they're either standard C library routines, or are only needed by routines written in Pascal (which the MC external API doesn't support). Perhaps Scott wishes to deprecate the others in externals written specifically for MC/Rev - fair enough. But that still leaves anyone with an existing external to modify (possibly to make cross-compatible with MC and HC) somewhat in the dark. So I still think it would be nice to a) get a definitive list of the HC compatible callbacks that are supported, in addition to the MC-specific ones As I've stated before, this is the HC 1.2 API, and includes the conversion routines for Pascal strings and such. Don't know where you'd find this list now, given that it's circa 1989 (we have the original 1.2 HC doc that has it), but here's the list directly out of the engine source: xreqSendCardMessage xreqEvalExpr xreqStringLength xreqStringMatch xreqSendHCMessage xreqZeroBytes xreqPasToZero xreqZeroToPas xreqStrToLong xreqStrToNum: xreqStrToBool xreqStrToExt xreqLongToStr xreqNumToStr xreqNumToHex xreqBoolToStr xreqExtToStr xreqGetGlobal xreqSetGlobal xreqGetFieldByName xreqGetFieldByNum xreqGetFieldByID xreqSetFieldByName xreqSetFieldByNum xreqSetFieldByID xreqStringEqual xreqReturnToPas xreqScanToReturn xreqScanToZero You can also find this list in the file HyperXCmd.h if you can find that file for HC 1.2 or earlier. I can only find 2.X versions which have lots of other stuff that we can't support because it's specific to the architecture of HyperCard (e.g., external windows, TextEdit handles, their debugger, etc.) b) if the engine handled an unsupported callback more gracefully. It does what the API spec specifies, which is to return xresNotImp for unsupported functions. Of course you probably won't find too many externals that handle this correctly given that so few of them were ever tested with anything other than HC. Just as background, since a number of people suggested this shouldn't be necessary. The situation is that we've got a project doing an upgrade to a system we created some years ago. One part that needs modification is a HyperCard stack that does a huge data munge every month or so, taking some 4-6 hours in total. I proposed moving this stack into MC (actually Rev) first, and the upgrade on that version; on the basis of speed, better ongoing support, etc. The problem is that there is of course a limited budget and some outcomes in terms of new functionaliy that have to be achieved; and the transition obviously has risk factors. I therefore negotiated a strictly capped budget to attempt the transition; if I can't prove that all problems have been solved by the time I've spent that, we're just going to stick to making changes to the existing system. Unfortunately because of the lack of information (= my lack of knowledge) about exactly what should work in the XFCN, and the fact that when an unsupported call was made the entire machine froze, so that the process of investigation was incredibly drawn out, I've blown a lot of the budget just getting past this particular hurdle. Debugging externals is a nightmare in the best of cases. Debugging where you're intimate with the details of neither the host nor the external borders on hopeless. About the only recommendation I have for working through this is to do your development on OS X where at least you can answer your email while you're waiting for your classic box to reboot ;-) Regards, Scott thanks again to all who helped, Ben Rubinstein | Email: [EMAIL PROTECTED] Cognitive Applications Ltd | Phone: +44 (0)1273-821600 http://www.cogapp.com| Fax : +44 (0)1273-728866 Scott Raney [EMAIL PROTECTED] http://www.metacard.com MetaCard: You know, there's an easier way to do that... ___ metacard mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/metacard
Re: Menubar revisited
On Tue, 22 Oct 2002 Shari [EMAIL PROTECTED] wrote: There is no workaround for this other than my usual one: design your app so that you don't have to start up a browser. The bonus being that doing so will save your sanity in a lot more ways than just this ;-) Regards, Scott So then, how would you send someone to a web page on the internet? This is my point: you don't. Either build the required information into the product, download raw information and format and display it however you want, or construct it on the fly using a CGI application on the server. Assuming that a system has a correctly configured browser is just a recipe for a tech support nightmare, not to mention all the vendor/version incompatibility problems you open yourself to if you're so brave (or so foolish) as to point them at sites not under your direct control. Which is why we do not, and will not, support this as a built-in feature of MetaCard. Regards, Scott Scott Raney [EMAIL PROTECTED] http://www.metacard.com MetaCard: You know, there's an easier way to do that... ___ metacard mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/metacard
MetaCard 2.5 alpha 6 now available
The first public alpha-test release of MetaCard 2.5 is now available in ftp://ftp.metacard.com/MetaCard/2.5/ See the file README.2.5 for the complete list of new features in this release, but the highlights are a new debugging architecture, support for Unicode display and text entry in fields, sheets and pulsing buttons on OS X, and partial support for drag and drop (more to come in that area in later test releases). At this early stage we're primarily interested in reports of engine problems, particularly incompatibilities with previous releases. The development UI is still incomplete. The file format has not changed for 2.5 unless you save Unicode text in fields, so it will be possible to use revert to using 2.4.3 if you run into problems with any of the alpha or beta test releases after doing substantial development with them. Still, always work with adequate backups when using pre-release software! The subscription expiration date has been updated for this release. Everyone can use it in Starter Kit mode for testing, but you'll need to renew your subscription to use the full functionality if you get the Starter Kit notice when starting up. Choose Licensing from the MetaCard Help menu and follow the prompts to the order forms to renew. Regards, Scott Scott Raney [EMAIL PROTECTED] http://www.metacard.com MetaCard: You know, there's an easier way to do that... ___ metacard mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/metacard
Re: Menubar revisited
I've had a couple of reports of this kind of goURL script failing on Win98 and WinMe. Apparently some (but not all) versions of these OSes do not accept this line: get shell(start theTitle tURL) I don't know if this may be the same problem as one we diagnosed in RR a couple of months ago, but apparently one of the Norton security products (AntiVirus?) prevents shell() from working entirely. Actually the problem is often worse than that, with a BSOD being your reward if you try this on some systems. There is no workaround for this other than my usual one: design your app so that you don't have to start up a browser. The bonus being that doing so will save your sanity in a lot more ways than just this ;-) Regards, Scott Scott Raney [EMAIL PROTECTED] http://www.metacard.com MetaCard: You know, there's an easier way to do that... ___ metacard mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/metacard
Re: copying from a field to paste into word?
On Sun, 29 Sep 2002 eric engle [EMAIL PROTECTED] wrote: I would like to copy a field and paste it into a word document - and retain the text format. Can this be done in metacard? I can copy and paste fine but the formating is lost. I think this is inevitable, but if there is a way to copy text by hand or programmatically such that it saves the format I would really appreciate knowing! The bad news is that there isn't now, but the good news is that this is supported in 2.5 which we will start public testing for in a couple of weeks (or so). Regards, Scott Thanks in advance Scott Raney [EMAIL PROTECTED] http://www.metacard.com MetaCard: You know, there's an easier way to do that... ___ metacard mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/metacard
Re: Compiling for Windows
While I understand the HIG specs, the problem is that without MDI we need to create workarounds for apps that could benefit from that model. Not sure what this has to do with starting multiple copies of an app up: even apps that support MDI work this way... Any idea of a timeline for MDI support? Not really, unfortunately. This was originally scheduled for 2.5, but got pushed back when we cut several months off the 2.5 schedule at RR's request. But it will end up near the top of the to-do list for the next release after 2.5. Regards, Scott -- Richard Gaskin Fourth World Media Corporation Custom Software and Web Development for All Major Platforms Developer of WebMerge 2.0: Publish any database on any site ___ [EMAIL PROTECTED] http://www.FourthWorld.com Tel: 323-225-3717 AIM: FourthWorldInc Scott Raney [EMAIL PROTECTED] http://www.metacard.com MetaCard: You know, there's an easier way to do that... ___ metacard mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/metacard
Re: Compiling for Windows
On Sun, 29 Sep 2002 J. Landman Gay [EMAIL PROTECTED] wrote: On 9/28/02 12:24 PM, Ray Horsley wrote: I've encountered two issues in making my Windows App. The first one is doing something about Window's propensity to open a second copy of my App if it's double-clicked again after a first copy is already running (instead of the Mac's more reasonable approach of bringing the first copy forward). This comes up on the list so often...Scott, is there any way that MetaCard could help handle this situation? Any Windows property it could report or some other way to prevent it? I think what is required here is an attitude adjustment rather than some sort of engineering change. Repeat after me: Windows is not MacOS. Starting up multiple copies of an app is the the way it's *supposed* to work if that's what the user wants. If you've designed your app such that it breaks when you start up multiple copies, you should probably work on fixing your app rather than trying to change the way Windows (or UNIX) works ;-) Regards, Scott -- Jacqueline Landman Gay | [EMAIL PROTECTED] HyperActive Software | http://www.hyperactivesw.com Scott Raney [EMAIL PROTECTED] http://www.metacard.com MetaCard: You know, there's an easier way to do that... ___ metacard mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/metacard
Re: Update Mac menubar fails in standalone
On Sun, 22 Sep 2002 Scott Rossi [EMAIL PROTECTED] wrote: To Scott Raney Company: would it make sense to add a licenseKey property or something similar to permit creation of licensed standalones that can modify scripts? Don't know if this would make MC too accessible to folks who haven't paid for licenses but the option to create editable scripts via a standalone does seem legitimate. Anyone who really needs this functionality should rest assured that there are methods of getting around these limits. But all require signing contracts and paying additional fees and so are not something you want to do just to simplify your development a little (and in this particular case barely any at all). Allowing anyone with an existing license key to defeat the Starter Kit limits with no restrictions is a recipe for disaster, however, and so is not something we're willing to consider. Regards, Scott Regards, Scott Rossi Creative Director Tactile Media, Multimedia Design Email: [EMAIL PROTECTED] Web: www.tactilemedia.com Scott Raney [EMAIL PROTECTED] http://www.metacard.com MetaCard: You know, there's an easier way to do that... ___ metacard mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/metacard
MetaCard 2.4.3 build 5/6
We've put new builds of MetaCard 2.4.3 in the directory ftp://ftp.metacard.com/MetaCard/ that have bug fixes for most of the problems reported over the last couple of months. If you've reported a bug in that time that you haven't already worked around, you might want to download and use these new engines. If you haven't reported any bugs, you must be doing fine without them and so don't need to bother ;-) The current buildNumber is 5 for Win32 and Linux, and 6 for MacOS 68K and PPC (we fixed a bug running on System 7 just yesterday). The other UNIX engines haven't been built because the bugs fixed generally did not impact them. The Mac OS X engine is currently stuck at build 4. There are a few things that Jaguar (Mac OS X 10.2) broke, but unfortunately they're mostly problems with Jaguar itself that we must wait for Apple to fix. We've also switched development of that engine over to Project Builder/gcc because we got tired of CodeWarrior breaking (it too stopped working in 10.2). As a bonus, gcc seems to be a better compiler than CW and we'll be getting a small performance boost in the Carbon/Mach-O engine for MetaCard 2.5, which should start public testing in a few weeks. Regards, Scott Scott Raney [EMAIL PROTECTED] http://www.metacard.com MetaCard: You know, there's an easier way to do that... ___ metacard mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/metacard
Re: Sound Recording
On Date: Mon, 2 Sep 2002 [EMAIL PROTECTED] wrote: I've wasted a lot of time in the past trying to get QuickTime sound recording working. So before I try again with the latest version of MetaCard, has anyone had any success with it? Seems to work fine here now in 2.4.3. It's a major hack internally, though, because of bugs in QT recording (we have to always record CD quality to a QT movie and then use a conversion function to output the type of file requested). I still get irritating squeeks on my mac and grabled garbage on my windows. Be sure you're recording to a format that play audioClip understands, which mostly rules out all of the compressed formats QT can produce. If you must play those, use play videoClip file instead. That uses QT, which although much slower and more memory intensive can play many more formats than the default play command which uses low-level sound routines in Win32 and MacOS which don't support compression. Regards Scott Scott Raney [EMAIL PROTECTED] http://www.metacard.com MetaCard: You know, there's an easier way to do that... ___ metacard mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/metacard
Re: Scrollwheel in OS X
On Sat, 31 Aug 2002 Karl Becker [EMAIL PROTECTED] wrote: I love that MetaCard has built-in support for mice scrollwheels to scroll text fields in MetaCard. That's great (for Mac OS X). However, is there any way I could get that same behavior for a group with scrollbars? I can't really think of any way this could work automatically. Messages are only sent to the objects within a group, or directly to the card if the mouse isn't over a control in the group... I suspect I could do something with setting up a hidden field maybe... any ideas on how to easily and cleanly get this done? Use a rawKeyDown handler: there's a different key code for up and down wheel and only if these messages aren't handled does the automatic behavior kick in. Regards, Scott Thanks -- Karl Becker, KB Productions http://www.karlbecker.com Scott Raney [EMAIL PROTECTED] http://www.metacard.com MetaCard: You know, there's an easier way to do that... ___ metacard mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/metacard
Re: More CGI Stuff
On Wed, 28 Aug 2002 [EMAIL PROTECTED] wrote: So my question... is there *any* way to access externals (including the new Mach-o ones with 2.4.3) from a CGI script? This should just work on Win32 and MacOS systems. You can either send messages to the stack with the external, or use start using to insert it into the message hierarchy. If it really doesn't work, please file a bug report. Regards, Scott Scott Raney [EMAIL PROTECTED] http://www.metacard.com MetaCard: You know, there's an easier way to do that... ___ metacard mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/metacard
Re: Demo stack not working in Linux
On Mon, 26 Aug 2002 David Bovill [EMAIL PROTECTED] wrote: Doesn't work for me on SuSE either :( Thought it was xanim - but maybe not? No, it's apparently just a conflict in the way the KDE (didn't try Gnome) window manager stacks windows: it's putting the backdrop window on *top* of the other windows. Worse, KDE at some point completely lost the ability to show a window with no title bar, ruining many of the other animation effects in the demo stack. All this stuff works fine on other UNIX systems, it's just the progress those wonderful Open Source developers are inflicting on us that is making life difficult (and don't even get me started on the way they've bungled the libc/glibc version issue, which makes the Windows DLL Hell problem seem like small potatoes because it only affects a few apps and not *all* of them like libc/glibc version incompatibilities). The workaround is going to be not have it show the backdrop window on Linux systems. If you want to see the demo, you can do this yourself with edit script of stack mcdemo2.mc in the MB and just comment out the section at the bottom of the preOpenStack handler where it sets the backdrop. Then save stack mcdemo2.mc and then go mcdemo2.mc to run it. Regards, Scott PS: We never got a bug report on this to [EMAIL PROTECTED] or [EMAIL PROTECTED], but should have ;-) Scott Raney [EMAIL PROTECTED] http://www.metacard.com MetaCard: You know, there's an easier way to do that... ___ metacard mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/metacard
MetaCard 2.4.3 release
MetaCard 2.4.3 has been released! You can now download the latest release of MetaCard from our WWW site http://www.metacard.com/get.html. If you already have MetaCard installed, get just the new bits in the directory: ftp://ftp.metacard.com/MetaCard/2.4.3/ This final release is buildNumber 3. If you downloaded one of the gamma-test releases, please now upgrade to this version as it includes fixes for a couple of rare but significant bugs. Our thanks to everyone who beta tested and sent in bug reports or suggestions, and to everyone else for their patience as we worked through them. We look forward to kicking off MetaCard's second decade by getting back to adding the kinds of new features that will make MetaCard an even more useful tool for solving the problems our customers face every day. Regards, Scott Scott Raney [EMAIL PROTECTED] http://www.metacard.com MetaCard: You know, there's an easier way to do that... ___ metacard mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/metacard
Re: Linux support
On Fri, 19 Jul 2002 John Rule [EMAIL PROTECTED] wrote: I understand that Linux support is being dropped. Do you see the use of Linux dropping? I actually see an increase...any comment? The Linux Intel engine isn't being dropped (nor will likely ever be), it's the LinuxPPC engine that we've discontinued. Support for that platform has largely dried up since OS X was released. Note that we also have a Darwin engine that runs completely on the BSD side of OS X, including support for the X11 GUI. Regards, Scott JR Scott Raney [EMAIL PROTECTED] http://www.metacard.com MetaCard: You know, there's an easier way to do that... ___ metacard mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/metacard
Re: Metacard 2.4.3 and Windows 95
On Wed, 17 Jul 2002 Wilhelm Sanke [EMAIL PROTECTED] wrote: Trying to present stacks with Metacard 2.4.3 (final version of July, 16th) Note that this is not the final version, it's an (unannounced) gamma test release, the purpose of which was to allow those few customers who reported bugs against the betas to verify that they had been fixed. on a Windows 95 computer at a school ( There are a lot of such computers still around in educational institutions.) I could not get Metacard running and a certain DLL was flagged as missing. Hmm. It would have been nice to find out about this during the beta test period... As there are also Windows95 computers within my reach at my office, I tried to determine which Dlls were missing in Windows 95. They are in the order of the error messages: IPHLPAPI.dll WS2_32.dll WS2HELP.dll DHCPCSVC.dll IPCFGDLL.dll Only the first of these is significant: it's a library used only for the new dnsServers() function. Unfortunately there is no way to make that function work on Windows 95 because Microsoft didn't make that library available until Windows 98 (and though it's available on NT, it doesn't support the DNS address function). After having copied these DLLs from the Windows 98 system´s folder into the Metacard folder, Metacard 2.4.3 runs without problems on a Windows 95 machine. There are no such problems with Metacard 2.4.2. There is no mentioning of these necessary DLLs for Windows 95 in the Readme file of 2.4.3; also in the Preferences menuitem under LookandFeel Windows 95 is still present as an option. The incompatibility was unintentional, and we've hacked up a workaround for buildNumber 2, now available for Win32 and MacOS in the directory ftp://ftp.metacard.com/MetaCard/ Please verify that this build runs on Windows 95 without those libraries (our W95 test machine died and no one here can work up any enthusiasm to go used-computer shopping to find a replacement ;-) It'd also be useful to know if the dnsServers() function works on your Windows 95 system with those Windows 98 libraries installed. Regards, Scott Regards, Wilhelm Sanke Scott Raney [EMAIL PROTECTED] http://www.metacard.com MetaCard: You know, there's an easier way to do that... ___ metacard mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/metacard
Re: Images and Image Data
On Fri, 5 Jul 2002 [EMAIL PROTECTED] wrote: Would this run faster? Definitely, but there's one other optimization: Don't call binaryEncode so much, it's pretty expensive: on mouseUp put fld data into tOrigData set the itemdelimiter to TAB create image put it into tID set the width of tID to tWidth set the height of tID to tHeight local tbp, tgp put binaryEncode(,0,0,255,0) into tgp put binaryEncode(,0,0,0,255) into tbp put empty into iData repeat for each line l in tOrigData repeat for each item i in l if i 0 then put tgp after iData ---make green else put tbp after iData --- make blue end repeat end repeat set the imageData of tID to iData end mouseUp Regards, Scott Philip Chumbley Scott Raney [EMAIL PROTECTED] http://www.metacard.com MetaCard: You know, there's an easier way to do that... ___ metacard mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/metacard
Re: open process on OSX?
On Wed, 3 Jul 2002 [EMAIL PROTECTED] wrote: Can't seem to get open process working on OSX. If I do the following: open process /usr/sbin/sendmail answer (the result) I get a long (say 30+ seconds) delay, followed by an error. In those 30+ seconds I can see sendmail jump to life (in the process viewer app). When it finally gives up waiting and quits, I get my answer dialog. Works fine with the equivalent Darwin engine / CGI script. Further, if I do this: open process /usr/sbin/sendmail -t answer (the result) I immediately get an error- any command line options seem to trigger an instant error with all processes I have tried. Am I doing something wrong? Open process still uses the old Carbon LaunchApplication() call on OS X, which means you can't use it with a command-line application like sendmail. You'll have to either use shell() and redirect the data to the process from a file, or in this case use a script to send the mail. The new dnsServers function enables building true MX record lookup which means a full replacement for sendmail is possible now. We have all the scripts to do this already, we just haven't had time to integrate and test them yet. As for a longer term solution to this problem, we've not decided how to handle it. Since you can't pass command-line arguments to Mac OS GUI applications, it's not possible to just use the UNIX open process code for the Carbon engine. We may eventually have to make launch and open process work differently (they're essentially synonyms now), and you'd use one for GUI apps and the other for command-line apps. Regards, Scott Brian Scott Raney [EMAIL PROTECTED] http://www.metacard.com MetaCard: You know, there's an easier way to do that... ___ metacard mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/metacard
Re: libURL rocks
On Tue, 02 Jul 2002 andu [EMAIL PROTECTED] wrote: --On Tuesday, July 2, 2002 8:11 AM +0100 Dave Cragg [EMAIL PROTECTED] wrote: At 10:31 pm -0700 1/7/02, Richard Gaskin wrote: Dave Cragg: thank you for putting in the time for the error-checking in libURL, and the handy MakeDir feature that makes uploading to as-yet-non-existent directories a snap. I love the plaudits, Richard, but it would be wrong to leave the impression that this is some kind of selfless endeavor. Work on libUrl is sponsored by Runtime Revolution, which means they should get the thanks. (When it doesn't work, abuse, etc. should probably come in my direction. :)) Cheers Dave If you guys came this far, go that extra step and pay respects to Raney who was the initiator and original sponsor of libURL (and the original libURL;-). And as long as we're passing out kudos, a good helping goes to Andu himself, who wrote the original version of libURL. This was before RR volunteered to take it over, and was no mean feat given the unfinished state the engine socket support was in at the time. Regards, Scott Scott Raney [EMAIL PROTECTED] http://www.metacard.com MetaCard: You know, there's an easier way to do that... ___ metacard mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/metacard
MetaCard 2.4.3 beta 2
MetaCard 2.4.3 beta 2 is now available in the directory: ftp://ftp.metacard.com/MetaCard/2.4.3/ Primary changes for this release are finishing up the conversion to UNIX-format paths in the Mac OS X engine, and some UI tweaks. This is the last scheduled beta-test release: Last chance to get this engine and make sure it runs your application before we get to final release! Regards, Scott Scott Raney [EMAIL PROTECTED] http://www.metacard.com MetaCard: You know, there's an easier way to do that... ___ metacard mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/metacard
Re: 2.4.3 / cgi scripts
On Fri, 21 Jun 2002 [EMAIL PROTECTED] wrote: I can't seem to figure out how to run a cgi script with 2.4.3. The following works with MC/Darwin as a cgi script with apache: #!mc # file: test.mt on startup .. end startup After installing the MetacardCarbon/Mach-O bundle in the same directory, I can do this from the command line: ./MetacardCarbon.app/Contents/MacOS/MetacardCarbon test.mt And the script will run. However, I can't seem to configure test.mt to run when called by cgi. The following does *not* work as a cgi: #!./MetacardCarbon.app/Contents/MacOS/MetacardCarbon # file: test.mt on startup .. end startup I've tried creating a symbolic link named mc to ./MetacardCarbon.app/Contents/MacOS/MetacardCarbon, but that doesn't work either (again, it works on the command line). Any ideas? The problem is that one of the hacks we had to put in that engine to deal with the fact that the Finder doesn't set up the environment properly interferes with running it from the command line. For now, you've got to supply the full path for both the executable and for the script file to run on the command line. There will be a workaround for this in the next build, but note that bundles are something that UNIX doesn't understand and so you should treat the engine executable like any other unix binary (i.e., you don't need any of that other stuff in the .app bundle to run it). Regards, Scott Brian Scott Raney [EMAIL PROTECTED] http://www.metacard.com MetaCard: You know, there's an easier way to do that... ___ metacard mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/metacard
MetaCard 2.4.3 beta 1
MetaCard 2.4.3 beta 1 is now available in the directory: ftp://ftp.metacard.com/MetaCard/2.4.3/ The Win32, Mac PPC, and Linux engines should be stable enough for production work now and likely won't be changed much (if at all) before final, so if the ship date for whatever you're currently working on is more than a few weeks out, you should probably start using these engines now. The Mach-O Carbon engine now has full functionality including support for externals, serial devices, and building standalones. It also supports Quartz text drawing (antialiasing) when run on Mac OS X 10.1.5. See the README for info on these new features. Regards, Scott Scott Raney [EMAIL PROTECTED] http://www.metacard.com MetaCard: You know, there's an easier way to do that... ___ metacard mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/metacard
MetaCard 2.4.3 alpha 2
MetaCard 2.4.3 alpha 2 is now available in the directory ftp://ftp.metacard.com/MetaCard/2.4.3/ See the README file in that directory for more information. Scott Scott Raney [EMAIL PROTECTED] http://www.metacard.com MetaCard: You know, there's an easier way to do that... ___ metacard mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/metacard
Re: MetaCard 2.4.3 / externals?
On Mon, 20 May 2002 [EMAIL PROTECTED] wrote: The million dollar question for me... how do I use externals with the new release? My 2.4.2 stacks with CODE resources all crash immediately when launched. Do I need to somehow add externals to the bundle? Do I compile a UNIX-style external with ProjectBuilder- if so, will that work if I link against Carbon libs? Unfortunately there is no practical way to support access to CODE resources from Mach-O executables (the Mach-O to CFM bridge only works one direction), so you will have to recompile your externals. And the new dynamic loading stuff isn't finished yet, so you'll also have to wait a bit longer. The new external system will work more like it does on Win32, where the externals are specified by name in a stack property rather than loading automatically from the resource fork of a stack like it does on MacOS. Regards, Scott Best Regards, Brian Scott Raney [EMAIL PROTECTED] http://www.metacard.com MetaCard: You know, there's an easier way to do that... ___ metacard mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/metacard
MetaCard 2.4.3 alpha 1 release
The first public alpha test of MetaCard 2.4.3 is now available in the directory ftp://ftp.metacard.com/MetaCard/2.4.3/ The major feature implemented in this release is that the Carbon engine for OS X is now a Mach-O format executable, which enabled it to use many of the features from the UNIX engines: 1) The shell() function can be used to run subprocesses. 2) write d to stdout and read from stdin until eof are now supported, making it possible to use this engine to develop CGIs with Apache or other UNIX-based HTTP servers. 3) Signals can now be used (the kill command, and the signal message). 4) The full UNIX file system can now be accessed. The downside of this is that paths *must* now be in UNIX form and not the old MacOS form. 5) Unix time and date functions are now used for greater accuracy and efficiency. To use the new Carbon engine, open up the package (control-click on it and then choose show package contents from the menu), and copy your mchome.mc stack into the MacOS folder. Then double-click on the executable, or run the app from a terminal window. You cannot currently start the app up from Finder directly by clicking on the package. We have not fully explored the ramifications of this new executable format in terms of packaging, etc., but then, that's what alpha tests are for ;-) The primary improvements to the other platforms are in the area of reliability and performance, particularly related to image decompression, field manipulation, and socket operations. Another cross-platform change is in how datagram sockets work. In previous releases it was not possible to read and write to the same datagram socket. Now, you can do a single read from socket s with message m on the client datagram socket after opening it and all packets that arrive on that socket will send message m. On the datagram server side, when a new packet arrives, a new socket that has the client address will be opened. You can then write to this socket to send a message back to the client, or immediately close it if only new incoming packets are needed. Scott Raney [EMAIL PROTECTED] http://www.metacard.com MetaCard: You know, there's an easier way to do that... ___ metacard mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/metacard
Re: script limits
I should add that, of course, 4 gigabytes will be a tight fit in less than 10 years. I hope Scott is ready by then ;-) We're already there: MetaCard has already been ported to 64-bit systems, including DEC Alpha (which as it turns out we no longer support: Compaq discontinued that processor line because apparently the world doesn't really need 64 bit computing just yet ;-) You'll still be limited to 4GB per object until/unless we change the file format, but that 4GB address space is not shared on 64-bit systems like it must be on 32-bit systems. Regards, Scott -- regards, Geoff Canyon [EMAIL PROTECTED] Scott Raney [EMAIL PROTECTED] http://www.metacard.com MetaCard: You know, there's an easier way to do that... ___ metacard mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/metacard
Re: Comparing Big Lists
On Mon, 29 Apr 2002 Gregory Lypny [EMAIL PROTECTED] wrote: I tried your suggestion of turning smallList into an associative array with the index for each element equal to the text I'm looking for in bigList. I think I must have misunderstood your suggestion because the handler runs much slower than previously, perhaps because I've got it asking for the keys of smallList for every line of bigList. Exactly: keys() is a very expensive operation because it has to traverse the whole structure and pull out specific items and put them into a new buffer. Here's what I tried. -- Note. smallListArray array is an array made out of the original smallList variable repeat for each line i in bigList if item 6 of i keys(smallListArray) The trick here is that smallListArray will not necessarily have any data in it, it's the keys that are significant. So just put x into each element when building the array and then check to see if smallListArray[item 6 of i] is empty as you traverse the big list. Regards, Scott then put i into hitList[item 6 of i] end if end repeat Scott Raney [EMAIL PROTECTED] http://www.metacard.com MetaCard: You know, there's an easier way to do that... ___ metacard mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/metacard
Re: Comparing big lists
On: Thu, 25 Apr 2002 Gregory Lypny [EMAIL PROTECTED] wrote: Thought I would pick your brains on the topic of comparing two big lists. Both are tab delimited. bigList has about 100,000 lines and 6 items (columns) per line. smallList is about 15,000 lines and 2 items per line. I want to identify the lines in bigList in which the third item is the same as the second item in a line in smallList, and then pull out the intersection. I used something like this, which works fine. set the itemDelimiter to tab repeat for each line j of smallList put lineOffset(item 2 of j, bigList) into thisLine if thisLine is not 0 then put j tab \ line thisLine of bigList return after mergedList end repeat delete last character of mergedList -- Get rid of the trailing Return Using the lineOffset function seemed the obvious choice to me, but I'm also interested in other approaches. LineOffset on such a big variable is going to be pretty expensive. Another option would be to us split to build an array out of smallList and the loop over each line in big list and see if there is an array index for it. Split takes awhile and will use up a good bit of memory, but makes the lookups *much* faster. You could save some of that space by building up an array of just the relevant items in one list or the other by looping over the lines and creating one array index for each. Regards, Scott Regards, Greg Scott Raney [EMAIL PROTECTED] http://www.metacard.com MetaCard: You know, there's an easier way to do that... ___ metacard mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/metacard
Re: Dragging Lines in a Field
On Mon, 22 Apr 2002 Tariel Gogoberidze [EMAIL PROTECTED] wrote: 19 Apr 2002 Tariel Gogoberidze [EMAIL PROTECTED] wrote: So, I modified script a little (see below) and now it seems to be stable in all versions of MC. 20 Apr 2002 Scott Raney [EMAIL PROTECTED] wrote Broken record time: 1) Never use repeat until the mouse is whatever 2) Never use idle, mouseStillDown, or mouseWithin messages 20 Apr 2002 Richard Gaskin [EMAIL PROTECTED] wrote So the alternative handler you're suggesting looks like...? Advising against what not to do is lesser task. More importantly, what is it you recommend they do? Well, avoiding mouseStillDown and repeat until the mouse is whatever was the whole idea of script modification I posted. The original script was using On MouseStillDown repeat until the mouse is up end repeat end MouseStillDown Right, this is the worst: using *both* of the deprecated features ;-) MC 2.4.2 was eventually quitting with application quit unexpectedly error on Mac Seems 100% reliable here. Is there something else you have to do to get it to fail? Sure you weren't causing some sort of recursion by making a call in mouseStillDown that didn't exit? So, I changed script to^Ă… local Actionflag on mouseDown -- mouseDown is used to select lines in field with list behavior put false into Actionflag end mouseDown on MouseStillDown -- this will initiate Drag line but will work only once if Actionflag is false then put true into Actionflag -- so it never do it again until the mouse is down Send dragLine to me in 1 milliseconds end if on MouseStillDown This is kind of the worst of both worlds too: that MouseStillDown message is sent repeatedly as long as you've got the mouse down. So now you've got two sets of messages, neither of which are doing the right thing which is to monitor the actual movements of the mouse rather than periodically and repeatedly polling it. on dragLine if the mouse is up then -- do final routine and exit exit dragLine else -- drag the lines in field send dragline to me in 10 milliseconds end if end dragline This effectively avoids using repeat until the mouse is whatever and uses mouseStillDown only once to trigger dragLine script No, it uses the mouseStillDown message *in addition to* send ... in for as long as the mouse is down. So, in this case I exactly followed Scott's recommendations. However, I'm not so sure that it is *always* possible to find alternative to MouseStillDown and repeat until the mouse whatever. May be it IS always possible but I'm not sure. Trust me, it is. Definitely takes more scripting than plain use of MouseStillDown. True, just as putting oil in your car takes more work than just ignoring the idiot light that's trying to tell you that something is wrong ;-) And besides if MouseStillDown is provided then I guess it should work, especially after MC 2.4.2 introduced new async mouse functions Does here. If it still doesn't there, please send in a more detailed bug report. Regards, Scott Best Regards Tariel Gogoberidze Scott Raney [EMAIL PROTECTED] http://www.metacard.com MetaCard: You know, there's an easier way to do that... ___ metacard mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/metacard
Re: Dragging Lines in a Field
On Sat, 20 Apr 2002 Richard Gaskin [EMAIL PROTECTED] wrote: Scott Raney wrote: On Fri, 19 Apr 2002 Tariel Gogoberidze [EMAIL PROTECTED] wrote: So, I modified script a little (see below) and now it seems to be stable in all versions of MC. note: I'm sure it can be done in more efficient way, but I cooked it very quickly and my goal was to just stabilize the script in MC 2.4.2 Broken record time: 1) Never use repeat until the mouse is whatever 2) Never use idle, mouseStillDown, or mouseWithin messages Think of it like going for a long drive after the oil pressure light in your car's dashboard goes on. You'll learn the lesson the next day when your car starts smoking profusely and burning a quart of oil every 10 miles. Not to mention what your friends and other fellow drivers will think of your automotive skills. So the alternative handler you're suggesting looks like...? Advising against what not to do is lesser task. More importantly, what is it you recommend they do? OK, so the loop in the broken record this time is incomplete, though of course the documentation includes the necessary additional information if you look up any of those deprecated things: use the messages (mouseMove, mouseRelease, etc.). Regards, Scott Scott Raney [EMAIL PROTECTED] http://www.metacard.com MetaCard: You know, there's an easier way to do that... ___ metacard mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/metacard
Re: Dragging Lines in a Field
On Fri, 19 Apr 2002 Tariel Gogoberidze [EMAIL PROTECTED] wrote: So, I modified script a little (see below) and now it seems to be stable in all versions of MC. note: I'm sure it can be done in more efficient way, but I cooked it very quickly and my goal was to just stabilize the script in MC 2.4.2 Broken record time: 1) Never use repeat until the mouse is whatever 2) Never use idle, mouseStillDown, or mouseWithin messages Think of it like going for a long drive after the oil pressure light in your car's dashboard goes on. You'll learn the lesson the next day when your car starts smoking profusely and burning a quart of oil every 10 miles. Not to mention what your friends and other fellow drivers will think of your automotive skills. Regards, Scott Scott Raney [EMAIL PROTECTED] http://www.metacard.com MetaCard: You know, there's an easier way to do that... ___ metacard mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/metacard
MetaCard 2.4.2 gamma-test
The MetaCard 2.4.2 gamma test (release candidate) is now available in the directory ftp://ftp.metacard.com/MetaCard/2.4.2/ Only the usual Win32/Mac/Linux engines are available there now, but we'll be building the rest of the UNIX platforms over the next couple of days and will put them in that directory as they become available. Regards, Scott Scott Raney [EMAIL PROTECTED] http://www.metacard.com MetaCard: You know, there's an easier way to do that... ___ metacard mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/metacard
metacard.com hosting service fiasco redux
from this war story. Regards, Scott Scott Raney [EMAIL PROTECTED] http://www.metacard.com MetaCard: You know, there's an easier way to do that... ___ metacard mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/metacard
MetaCard 2.4.2 beta 4
The fourth (and final) beta test release of 2.4.2 is now available in the directory: ftp://ftp.metacard.com/MetaCard/2.4.2/ This release only includes engines, tools, and help stacks. You must have a previous release installed on your system, then just back up the corresponding files from your existing installation and replace them with the files from this one. See the complete list of new features in the file: ftp://ftp.metacard.com/MetaCard/2.4.2/README.2.4.2 Scott Raney [EMAIL PROTECTED] http://www.metacard.com MetaCard: You know, there's an easier way to do that... ___ metacard mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/metacard
Posting bugs and feature requests to the metacard mailing list
I see that this information is no longer included in the messages from the mailing list server (probably that new list management package), but please do *NOT* send bug reports or feature requests to the metacard mailing list. Neither get logged unless they come to a metacard.com address ([EMAIL PROTECTED], [EMAIL PROTECTED], or the catch-all [EMAIL PROTECTED]) and so in many cases making such posts is just wasting your, and everone elses, time. I realize that this is probably confusing for people who are also on the improve-revolution mailing list because RR *wants* people to post these things there, but you should probably know that that system is not working so great because we don't log things on that list either (the signal to noise ratio of engine problems to UI problems is so low I don't even read it all that carefully anymore) and a good quantity of the things that get posted there are slipping through the cracks. Which is why they're going to be changing their policy soon as well. Apologies for the interruption, Scott Scott Raney [EMAIL PROTECTED] http://www.metacard.com MetaCard: You know, there's an easier way to do that... ___ metacard mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/metacard
Re: slow CGI with open socket
LiangTyan Fui [EMAIL PROTECTED] wrote: OK list, here is a problem that I have no answer for the last 2 days. I am working on Linux based MetaCard CGI, everything went smoothly by far except when I was trying to use open socket. When a open socket command is used, the script took unreadably longer time to exit, even without any problem. I've tried to run the script under Apache as CGI and directly from the shell, both yield the same result. You may cut the following script and save it as your .mt file in your server to tryout. Remember to modify the first line of the script to your real MC runtime engine. Thanks. script start - #!/home/mc/mc on startup # any local http server will do, if you have one put www.yahoo.com:80 into thesock put the long ticks into startTicks open socket thesock close socket thesock put the long ticks - startTicks into ticksTaken put Content-Type: text/plain crlf crlf put Ticks taken for this CGI to excute: ticksTaken end startup script end - Works fine here, I get about 0.391975 (though why one would use the long ticks instead of the milliseconds, I don't know ;-) Note that the CGI itself could take up to 10 seconds to exit because it waits for that socket to time out, though (.mt scripts won't exit while there are open sockets because it doesn't know if maybe some new input is pending for them, and immediately opening and closing a socket could cause it to assume that there is something like that that's supposed to happen). You won't have this problem if you do some actual work that causes the server to close its socket followed by your app reading until eof on it. You could also force this clean up to occur by calling the openSockets. Regards, Scott Scott Raney [EMAIL PROTECTED] http://www.metacard.com MetaCard: You know, there's an easier way to do that... ___ metacard mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/metacard
MetaCard 2.4.2 beta 3
MetaCard 2.4.2 beta 3 is now available in the directory ftp://209.120.179.218/MetaCard/2.4.2/ See the file ftp://209.120.179.218/MetaCard/2.4.2/README.2.4.2 for the list of new features. This release only includes engines and tools stacks. You must have a previous release installed on your system, then just back up those two files from your existing installation and replace them with the corresponding files from this one. That IP address will become ftp.metacard.com (and www.metacard.com) as soon as the DNS records get updated and the old ones expire. This process will be complete for most people within a few days, but it may take up to 2 weeks for all the vestiges of the old DNS records to get purged from all the various caches. In the mean time, if email to metacard.com bounces or you're not sure has been delivered, wait a few days and resend, or send it directly to me at [EMAIL PROTECTED] Our thanks for your continued patience during this process, and for the curious, I'll post a note with the complete dump on what happened and why as soon as the transfer to the new service is complete. See you on the other side ;-) Regards, Scott Scott Raney [EMAIL PROTECTED] http://www.metacard.com MetaCard: You know, there's an easier way to do that... ___ metacard mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/metacard
Re: Stray lines
Ray Horsley [EMAIL PROTECTED] wrote: Does anyone know how to get rid of stray lines which remain on screen after using a pulldown button? I'm getting a border where the pulldown's rectangular area of contents opened on mouseDown. I've only found this on Windows 98 (it was a Dell OptiPlex, GXA machine). This is a screen driver bug. You'll most likely have to update the drivers to the latest version from the vendor. In some cases turning acceleration to its lowest level in the System and/or Display control panels will also work around the problem, but in some other cases (and Dells that shipped with Windows 98 are among the worst in this respect) the only reliable solution is to get a newer (and better) graphics card. Regards, Scott Thanks, Ray Horsley Scott Raney [EMAIL PROTECTED] http://www.metacard.com MetaCard: You know, there's an easier way to do that... ___ metacard mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/metacard
Re: mc 2.4.2 request
On Wed, 13 Mar 2002 Alex Shaw [EMAIL PROTECTED] wrote: Wouldn't it be nice if there was a simple function which returned the host ip address (whichever was current or a list of valid ones) without having to open a socket. What use would this be? You'd always get a list, and wouldn't know which one would be used until you actually opened a socket. Regards, Scott In respect to a particular app I'm developing.. just a simple p2p mac/pc file/msg transfer program. I can't have a server involved (yet), and the users know little about ftp etc but they do understand what a phone number is, so basically the IP address of their machine becomes their 'phone number'. Instead of providing each with a piece of paper with their IP address (not helpful because the users could be anywhere) I would like them to just run the app.. if connected to the internet use the IP for that (andu suggested a check for www.yahoo.com but who can guarantee yahoo be around a year from now) else connected via LAN adpater so display the associated address (in this particular case I know the users will have either a modem or 1 LAN adapter). Once they know their IP address, that can be shared with other users etc.. they can 'dial' connect with each other. Just easier from a user ( programming) perspective. Unfortunately I think this won't work. IP addresses change, in some cases with each time you open a connection. At the very least, with DHCP (which most large networks use), you can get a different address each time the machine reboots. The only way to do what you want is to have some sort of server that collects the IP addresses and distributes them to the other clients. And of course this means opening a connection to a server, at which point figuring out the local IP address is a no brainer because it comes in as a parameter with the socket messages you get from that server. Regards, Scott regards alex Scott Raney [EMAIL PROTECTED] http://www.metacard.com MetaCard: You know, there's an easier way to do that... ___ metacard mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/metacard
Re: Feature request: open stack visuals
On Tue, 12 Mar 2002 Shari [EMAIL PROTECTED] wrote: Going crazy! Wish to implement a visual effect on opening a stack with the GO command either via: Sorry, there's no way to do that. I can't even think of any way this could even theoretically work because MetaCard doesn't draw the window title bar or borders, so the *OS* would have to do the visual effect, and no OS I know of supports anything like this. You might ask the OS X developers for this, though. They're *very* fond of doing unconventional stuff like that ;-) Regards, Scott Scott Raney [EMAIL PROTECTED] http://www.metacard.com MetaCard: You know, there's an easier way to do that... ___ metacard mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/metacard
Re: mc 2.4.2 request
Alex Shaw [EMAIL PROTECTED] wrote: Wouldn't it be nice if there was a simple function which returned the host ip address (whichever was current or a list of valid ones) without having to open a socket. What use would this be? You'd always get a list, and wouldn't know which one would be used until you actually opened a socket. Regards, Scott Scott Raney [EMAIL PROTECTED] http://www.metacard.com MetaCard: You know, there's an easier way to do that... ___ metacard mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/metacard
metacard.com update
I think we've found all the incoming mail to metacard.com (when they upgraded our server, our hosting company for some reason decided to send it all to an undisclosed location instead of forwarding it to the servers here like they're supposed to), but there still may be bounces for both incoming and outgoing mail until the DNS records settle down. Outgoing mail may also be poorly formatted and have other problems because we're not using our regular mail system. If you have any doubts that your message got through, please don't hesitate to resend or send it to [EMAIL PROTECTED] Please also use the email options when using the built-in system to request support and when ordering upgrades and other products (yes, they screwed our CGI stuff up too). We've also just learned that they're not supporting anonymous FTP anymore (gee, thanks for the warning!) which means we'll have to reconfigure our download area to use only HTTP. At least until we find another hosting company ;-) Thanks for your continued patience of these interruptions. Regards, Scott Scott Raney [EMAIL PROTECTED] http://www.metacard.com MetaCard: You know, there's an easier way to do that... ___ metacard mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/metacard
mail to metacard.com
It seems that mail to metacard.com is being sent off into the ether. Either that or it's being held up someplace to be delivered at some later date. We're working with our hosting service to rectify the situation, but there's no ETA yet. You can contact me at [EMAIL PROTECTED] if you need something right away or have a clue as to what's wrong with our mail system. If you get a bounce to any address @metacard.com, please wait a day or two and resend. If you don't get a bounce but don't get a reply within a day, please also resend. Regards, Scott Scott Raney [EMAIL PROTECTED] http://www.metacard.com MetaCard: You know, there's an easier way to do that... ___ metacard mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/metacard
Re: More on Cmd-tab
On Jacqueline Landman Gay [EMAIL PROTECTED] wrote: I've decided to script MC to use Control-tab to change tools, as a couple of people here suggested. The only problem is that controlKeyDown doesn't seem to recognize the tab key. It does recognize alpha keys, but not control (or Fkeys either). So the question is, how do you script the behavior? This yields an empty message when control-tab is typed: on controlkeydown which put which end controlkeydown Alpha keys put the correct letter into the message box. Looks like you get a tabKey message in this case, so you'd have to do: on tabKey if the controlKey then # do whatever end tabKey Note that polling the controlKey in this way is fine performance-wise, but as has been discussed on the various lists recently, it's not 100% reliable because it's async (i.e., if the user lets up the control key between the time they press the tab key and your handler runs, it will miss the tab key). I'm starting to think that what we really need are two sets of functions, one async and one based on the event queue... Also, I routinely load a custom library into the backscripts when MC starts up. I plan to add the above handler to that (if I can get it to work) -- or is there a better place for it somewhere in MC's scripts? That should work fine, but if any of your other scripts handle tabKey and don't pass it, you won't get it there. To be sure, put it in a frontScript and pass the message if you don't need it. Regards, Scott -- Jacqueline Landman Gay | [EMAIL PROTECTED] HyperActive Software | http://www.hyperactivesw.com Scott Raney [EMAIL PROTECTED] http://www.metacard.com MetaCard: You know, there's an easier way to do that... ___ metacard mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/metacard
Re: Set the location of the cursor
On Tue, 26 Feb 2002 Rolf Kocherhans [EMAIL PROTECTED] wrote: How can I set the location of the cursor under MacOS X ? What I use now is the screenMouseLoc but it only works under MacOS 9 ! I need to be able to move the cursor under script control in MacOS X as well ! Any ideas ? There is unfortunately no support for this in the Carbon API, and so you can't currently do it from within MetaCard. There is a hack available to work around this limitation, but it's pretty hairy and so we haven't put it in. We're going to be doing some experiments soon that will establish whether it's practical to support this for 2.4.2. Mean time, using an external is your only options (and because there is no support for this in Carbon, writing an external to do it isn't going to be easy either ;-) Regards, Scott Cheers Rolf Scott Raney [EMAIL PROTECTED] http://www.metacard.com MetaCard: You know, there's an easier way to do that... ___ metacard mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/metacard
Re: Polling the mouse
On Thu, 21 Feb 2002 Curry [EMAIL PROTECTED] wrote: Scott Raney wrote: Yes. The full list of functions to avoid because they are deprecated is: the mouse the mouseClick the mouseH the mouseV the mouseLoc the optionKey the commandKey the controlKey And the very worst thing to do with any of these is repeat until function, which will condemn you to the fires of eternal damnation in multiuser hell ;-) I noticed you CCed the MetaCard list, which is a good thing, I guess, though they're getting dumped into the middle of the discussion. Here's the key part of my previous message, just to bring them up to speed: The long answer, and probably much more than you want to know, is that the mouseClick is really the problem here, not the mouse. the mouse could in theory be done asynchronously. If this were changed you'd still have the performance issue to deal with (i.e., repeat until would never be as smooth as using mouseMove messages and would eventually cause the OS to start penalizing your app), but reliability wouldn't because this information can be queried directly from the OS on all platforms. You'd also be subject to the normal behavior of async functions (e.g., in HC, the mouse returns down if the user clicked down anytime between when the handler started running and when the function is called, whereas an async implementation would only return down if it was actually down when you made the call). The problem with the mouseClick is that of state management and event order: it has to wait for the mouse to go down and then back up. Worse, at least for HC compatibility, is that if you do something in a script that takes a few seconds and click twice in that interval, the mouseClick will return true *twice*. This means that it's necessary to maintain a queue of these mouse events and check the whole queue each time the function is called to see if there is both a mouseDown and a mouseUp message in it, and pull them out as a pair if so. And of course you can't just leave the rest of the events in the queue either, because some of them (like socket events and redraws) need to be handled independently of what the currently running handler is doing. Doing this cross-platform is horrendously complicated, and results in compromized reliability for *everything*, not just the mouseClick function. Which is why we want to (and plan to) remove this functionality, or at least substantially modify it to remove this queueing aspect (e.g., the mouseClick would return true only if you clicked down and up any time between the start of the handler and when you made the call, and once it returned true *all* state information would be tossed out so it wouldn't return true again until the user clicked again after the function returned true, even if they clicked multiple times before the first call). It'd also be good to discuss the topic of sync/async polling on the HC and SC mailing lists to get a sense of how aware people are of this issue (I just responded to one poster on the use-revolution list who wasn't aware of this behavior of the mouse function, though lord knows we got enough bug reports about this back when MetaCard did a simple async report). Scott, I understand the problems of the OS penalty due to hogging the computer with polling of mouse functions during a repeat, but there are different kinds of software; in some cases, we may want to make software that is supposed to be the only main application running on a computer, for example, a game, a presentation, or an educational application with a lot of animation. Often, the documentation may even advise users of these types of programs to not run other applications unnecessarily at the same time for better performance. With these types of applications, often you would be ill-advised to run other major software at the same time anyway, not just because of its effect on the other software, but also because of other software's effect on it. Understood, and that's why we added the keysDown function, which is a much better way to do this kind of thing than using keyDown messages and the optionKey/commandKey/shiftKey functions. I guess all that remains is a async mouse polling function, but we never considered this necessary because using message is always possible (and always preferred) in this case. For example, in one game project, I started off with the mouseMove message, and then had to switch to send..in plus the mouseLoc (once per handler), because mouseMove was not nearly responsive enough. (The object was always moving toward the mouse, but at its own speed, not directly tied to the mouse.) This was much more responsive. I can't see why this would be the case unless you're running on a very slow system, moving very large objects or a large number of objects, or maybe doing a lot of other stuff in the background (like running
MetaCard 2.4.2 beta 1
MetaCard 2.4.2 beta 1 is now available in the directory ftp://ftp.metacard.com/MetaCard/2.4.2/ This release only includes engines and tools stacks. You must have a previous release installed on your system, then just back up those two files from your existing installation and replace them with the files from this one. This is primarily a bug fix release over 2.4.1, so if you've reported a problem with that or a previous release, please check this release to verify that it has been fixed. There are also a few new things including a new regex library and some new field and language features. See the complete list of new features in the file ftp://ftp.metacard.com/MetaCard/2.4.2/README.2.4.2 This release should be as stable as beta-test release, but does not include the full complement of features planned for 2.4.2 yet. Take a look at what we've got so far and if there's something that you think it really needs, please send your suggestion in to [EMAIL PROTECTED] Regards, Scott Scott Raney [EMAIL PROTECTED] http://www.metacard.com MetaCard: You know, there's an easier way to do that... ___ metacard mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/metacard
Re: Menuhistory bug?
On Sat, 26 Jan 2002 David Epstein [EMAIL PROTECTED] wrote: Is this a well known bug? Is it being fixed? It's a known limitation. We don't classify it a bug because menuHistory is not a core function of pulldowns or popups, it's designed for option and tabbed menus. It's not planned to be changed because of the way these menus are implemented on MacOS (there is no place to store the line number information in the MacOS menu structures). (MC 2.4 under Mac OS 9.2) A hierarchical pull-down menu does not properly set its menuhistory when a selection is made from a submenu. The menuhistory value remains what was set the last time a selection was made from the first level of the menu. I know that I can use the parameter passed by menupick to get the contents of the menu choice and submenu choice; but I want the position of those choices, because I cannot be sure that the content will unambiguously indicate the position. (That is, it is possible that the same content will appear in several positions yet require a different scripted response). I'd say this is your real problem. If you have multiple lines that are identical in a button-contents menu, you've got a serious design flaw and ought to concentrate on a UI redesign so that this isn't a requirement. It's only going to be confusing to the user. If only the lowest level elements are identical, it's straightforward to recover the full path to the line using the lineOffset function (you just have to step over each |-delimited item in the parameter to menuPick). This is a frustrating bug because the menuhistory DOES at least report the sub-menu choice position if the button style is popup rather than pulldown. (Even in this case, however, there is no record of the position of the main menu choice). But it appears that for a menu to be part of a group that will be displayed in the Mac menubar it must have the pulldown style. The same limitations should apply to popups in the native look and feel setting on MacOS, though, because these use the same OS structures. Regards, Scott Thanks for any insights on this. David Epstein Scott Raney [EMAIL PROTECTED] http://www.metacard.com MetaCard: You know, there's an easier way to do that... ___ metacard mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/metacard
Re: darwin mc
On Thu, 24 Jan 2002 andu [EMAIL PROTECTED] wrote: I know that MetaCardCarbon does not honor shell (as in put shell(ls *) into field 1)... Am I correct in assuming that the darwin mc engine is also unable to do shell commands? I tried and it didn't work but wanted to verify it here. Works fine here... OK, can someone provide a really simple example of a .mt script that includes a shell command? I created a text file (with UNIX line breaks) called test.mt with the following script: on startup put Hello put shell(ls -l) end startup When I run it from the command line (./test.mt), I get this: Hello I can run other metacard scripts and everything else works perfectly. Sooo What am I doing wrong? Nothing. It just doesn't work. It works on Linux though so it must be a Darwin thing. No really, that exact script runs fine here. Maybe a version thing? Are you running 10.1.2? Maybe a permissions problem? Are you running this from a terminal window in a directory you own? In any case, we should take this off list... Regards, Scott :) Richard MacLemale Instructional Technology Specialist James W. Mitchell High School http://mitchellonline.pasco.k12.fl.us -- __ Regards, Andu Scott Raney [EMAIL PROTECTED] http://www.metacard.com MetaCard: You know, there's an easier way to do that... ___ metacard mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/metacard
Re: darwin mc
On Wed, 23 Jan 2002 Geoff Canyon [EMAIL PROTECTED] wrote: At 11:11 AM -0700 1/23/02, Scott Raney wrote: What's the possibility of a Cocoa-based MetaCard, then? Would that be closer to MetaCard's Unix roots, and therefore simple? Or is Cocoa as separated from OS X's Unix underpinnings as Carbon is, and therefore the task is more akin to a whole new rewrite? Pretty much the latter. The UNIX parts would be the same, but the GUI parts would be different. That would be a savings of only about 1/3 of the effort required to support a new platform, making fleshing out the Carbon engine with more UNIX support the more attractive option. Regards, Scott regards, Geoff Scott Raney [EMAIL PROTECTED] http://www.metacard.com MetaCard: You know, there's an easier way to do that... ___ metacard mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/metacard
Re: How to get striped OS X background
On Mon, 31 Dec 2001 Gregory Lypny [EMAIL PROTECTED] wrote: Hi Everyone and Happy New Year, How do I get the OS X striped background for my windows? You need to make sure that the backColor and backPixmap for the card, stack, and all other stacks in the hierarchy (i.e., a mainstack and/or the Home stack) are set to empty. The same rule applies if you want to use the system background color on Win32 systems. Regards, Scott Greg Scott Raney [EMAIL PROTECTED] http://www.metacard.com MetaCard: You know, there's an easier way to do that... ___ metacard mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/metacard
2.3 to 2.4.1 upgrade (was (no subject)) error
On Thu, 13 Dec 2001 Eva Isotalo [EMAIL PROTECTED] wrote: Hello everybody, I'm getting following error message when using a stack which worked on MC 2.3. I don't know how to respond, if I have some strange programming or if it is something else. Object: button Script... of card Execution Error Card of stack Execution Error of stack D:MC2.4-1/mctools.mc When checking, it markes the line in: on mouseUp editScript the long id of the errorobject of this card end mouseUp What should I do here? You need to use the resource mover to either delete the old execution error dialog from your stacks or move a new copy in there. The dialogs from 2.3 are not compatible with 2.4. This is a good general rule: if you've used the resource mover during development, you should use it again whenever you upgrade to get new copies of these dialogs. Regards, Scott Regards, Eva Isotalo Scott Raney [EMAIL PROTECTED] http://www.metacard.com MetaCard: You know, there's an easier way to do that... ___ metacard mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/metacard
The great HyperCard/SuperCard round up
Attention all HyperCard and SuperCard users: We know how much people love HyperCard and SuperCard, and know they'd love MetaCard too if it weren't for the $995 price barrier. Well, it's time we did something about that. We are pleased to make this special limited time offer to HyperCard and SuperCard users: get a one year subscription to MetaCard for only $199. This is the full subscription deal, including all upgrades and access to tech support via email for the year. Here are the requirements to qualify: 1) This offer is only available to new MetaCard customers. 2) This offer is time-limited and will expire on December 15th, 2001. 3) You must have been an owner of HyperCard or SuperCard before November 1, 2001. 4) You must provide proof of purchase of HyperCard or SuperCard. Any one of the following forms of proof are acceptable: A faxed copy of your HyperCard or SuperCard manual cover. Please fax this to us at 303-499-9855 at the time you place your order. Any invoice, proof of delivery or sales receipt faxed to the number above. A date (prior to November 1 2001) that you posted to the HyperCard or SuperCard mailing lists so we can verify your participation in one of those forums. Please email this information to [EMAIL PROTECTED] After the first year, the normal yearly subscription renewal prices apply ($300 for commercial users, $150 for educational users, plus an optional $200 for technical support for that year). Note that if your subscription expires you can continue to use your last licensed version indefinitely (MetaCard upgrades are licensed via subscription, this is not a software rental). And, to sweeten the pot, here's something of special interest to HyperCard users: the 1.0 release of the new FreeGUI development environment is imminent. This new development environment has the look and behavior of the HyperCard development environment so many people know and love, but runs on all platforms, including OS X with an Aqua user interface. While this will be a 1.0 release with the usual rough edges, it is fully user editable and can be easily customized and improved with your new MetaCard license. Get more information and the current FreeGUI snapshot from: http://groups.yahoo.com/group/freeGUI Get more information about MetaCard and the MetaCard Starter Kit from the MetaCard WWW site http://www.metacard.com/ After you've downloaded and installed MetaCard, choose Licensing from the MetaCard Help menu to get more information on the licensing process and to fill out the order form. Put HC/SC crossgrade in the Where did you hear about MetaCard? field to get the special $199 price. ### PS: This special price was conceived of and first implemented by Runtime Revolution, but why should they have all the fun? PPS: Please pass this note along to any HyperCard or SuperCard users you know to make sure they each get their chance at this very limited time offer. Archives: http://www.mail-archive.com/metacard@lists.runrev.com/ Info: http://www.xworlds.com/metacard/mailinglist.htm Please send bug reports to [EMAIL PROTECTED], not this list.
Re: Exitfield
On Fri, 19 Oct 2001 Raymond E. Griffith [EMAIL PROTECTED] wrote: I have discovered something that, while not a bug, has proved to be inconvenient. I have in certain fields on a card an exitfield handler. The problem comes when going to the next card. The problem occurs when I click on a button that checks out whether certain fields have been filled in. It makes the determination. If a field is not filled in, it stops the process of going to the next card. If all required fields are filled in, then I go to the next card. But I receive an error message. The exitfield handler in a field (the unlocked field with the lowest layer) appears to be activated by going to the next card. What is worse is that the exitfield handler is being handled *after* going to the next card, so MC has its references mixed up. Generally speaking, I would expect all exitfield or closefield handlers to be handled before the card closes. They are, at least in my testing: The closeCard message *is* sent after the closeField message. If anyone has a light on the situation, I would appreciate it. Note that if you do go card x, you *will* end up on card x, regardless of what the closeField or exitField handlers do. If you want to force the field validation to occur before the go is executed, you'll need to focus some other control and then check some sort of status variable or property to see if the check succeeded before doing the go. The command focus me in a button script is the easiest way to do the first part, but you're on your own for the status variable part. But if you ask me, doing validation on closeField is bad technique and results in abominations like the MacOS memory dialog box (where you usually end up with an error message when trying to increase the partition because it focuses the minimum field before the preferred field, one of my top 10 examples of bad UI design, dragging a disk to the trash to eject being #1 on that list). Instead, I'd recommend doing validation on the entire form just before going to another one. Easier for you for you to develop, and easier and more convenient for the user. Regards, Scott Thanks, Raymond Scott Raney [EMAIL PROTECTED] http://www.metacard.com MetaCard: You know, there's an easier way to do that... Archives: http://www.mail-archive.com/metacard@lists.runrev.com/ Info: http://www.xworlds.com/metacard/mailinglist.htm Please send bug reports to [EMAIL PROTECTED], not this list.
Re: Clicking on movies
On Fri, 5 Oct 2001 Jeff Reynolds [EMAIL PROTECTED] wrote does anyone know what the message that might be sent from a quicktime movie when you click on it when alwasybuffer is set to false. A click on the movie causes it to pause. Any ideas of how to trap this and stop the pausing of the movie? There is no way to do this. The problem is that clicks in a movie are handled by QT first and the engine second because that's the way the API is designed: it needs to get the clicks and mouse events to operate the controller, interact with QTVR and sprite-based movies, etc. I'm not thrilled with this behavior either, but your best bet is probably to report this as a bug to Apple and ask for a QT option to disable this feature. Regards, Scott thanks jeff Jeffrey H. Reynolds, Ph.D. Waveforms 5236 Locksley Ave. Oakland, CA 94618 510.653.8929 voice 510.653.8909 fax email: [EMAIL PROTECTED] [EMAIL PROTECTED] Scott Raney [EMAIL PROTECTED] http://www.metacard.com MetaCard: You know, there's an easier way to do that... Archives: http://www.mail-archive.com/metacard@lists.runrev.com/ Info: http://www.xworlds.com/metacard/mailinglist.htm Please send bug reports to [EMAIL PROTECTED], not this list.
Re: FTP - Can we get along?
On Fri, 5 Oct 2001 F. Ricardo, Ph.D. [EMAIL PROTECTED] wrote: Interesting reply.I apologize for being insensitive or touchy. My argument was about products not people, any identification between them was unintended, but I had to ask *somebody* knowledgeable, and I did so offline, so as not to pollute the list. Since an all-out flame is not what a public list wants, I'll do everything I can to avoid this kind of reaction, while still making it known that significant problems and workarounds are in unresolved tension. I think my prior post was too strong, let's keep only the data portion of it. This is what I know: 1 - Of 217 tests performed with FTP functionality in MC, in succession, about 40 worked without incident. They were small text files. 2 - The error rate appears to increase when multiple files are sent, or when there is more than 2 or 3 FTP calls per invocation of MC. 3 - Another member's post stating that Quitting MC fixes the problem is also corroborated by my experience. 4 - The following is beneficial for FTP robustness: if not (the stacksinUse contains libURL) then start using liburl set socketTimeoutinterval to 10 send resetAll to stack libURL but we should understand that resetAll immediately closes open sockets, which may trunc pending writes or reads. 5 - the HTTP functionality of libURL has worked 100% of the time. 6 - You never sent a bug report about this problem to [EMAIL PROTECTED] or [EMAIL PROTECTED], but instead sent it to this list which is *not* where these kinds of things should be sent because we normally only pick out the most interesting anomolies from this list for further examination. FTP problems (and indeed most libURL problems) don't fall into this category because problems FTPing even using browsers and dedicated FTP programs are so common as to mask any problems with the programs themselves. *** This is what I believe: 1 - If you have FTP needs, particularly for single transmissions, then the probability is that libURL will work very well. I think this is highly dependent on the server you use. In our tests ftp: URLs works reliably, but this is admittedly a relatively easy test for libURL because they're all local UNIX systems we've tested with before, ruling out network congestion and possibly more persistent incompatibility problems that may occur with some servers. 2 - If the FTP client goes offline (I deploy on a network of computers in NYC, NJ, Massacusetts, and California), for instance, when a DSL or gateway connection is lost, the user will not know, but libURL should. Possibly, though in most cases getting a socketTimeout message would be the only way. Certainly it's not as simple as using try..catch or any other sort of error handling because even in the rare cases where the error can happen immediately when a command is executed, it'll be returned in the result rather than causing an execution error. 3 - Metacard *is* a fantastic tool. I have no idea what the support structure is, or what we can expect when lingering questions arise. You can expect bugs to be fixed, but only if you send detailed reports about them to us. I can't FTP is not specific: we need to know what server, more about what type of system and what kind of connection you have to the server, and whether you're sure you can reliably get to that from another program (browser or dedicated FTP program). 4 - Metacard has an address ([EMAIL PROTECTED]) which is accessible for support questions. It seems that Scott Raney is the person who answers from there, and perhaps that's a better venue for technical questions. Exactly. I retract the request for an FAQ for MC FTP usage. I'll take responsibility for that, and it will be as accurate only as I can make it. Whoever is interested in the URL for it, let me know. Sounds good. I actually expected a bit more participation of this type since we decided to move URL processing out into a separate open source library. While a few people have been diligent in sending in reports, there's been (apparently) relatively little examination of the libURL script itself and almost no contributions to improving it. Andu's angry reply correctly points out inaccuracies in my statements - I'm not an expert with libURL. It is why I asked for help. No problem, so as long as what you're really doing is asking for help and not reporting a bug or just whining, messages containing such things should go someplace else ;-) I don't know who is responsible for libURL, or if it is a volunteered stack. If the latter is the case, I doubly apologize -- it was not common knowledge. I thought it was part of v2.4. But if libURL was goodwill work, its authors certainly deserve more forbearance than I've given them, despite any reliability issues. I don't even know who authored it. It is a supported part of the product, though admittedly a very new part and one that still needs
Re: Testing Keys
On Thu, 27 Sep 2001 Scott Rossi [EMAIL PROTECTED] wrote: I'm wondering if I'm missing something with regard to the ability to test the state of keypresses in MC. On Mac systems, a keyUp message is sent when a key is pressed down. Correct. This is required because of a design flaw in MacOS: it doesn't guarantee that the same process that got the key down event will get the key up event. And in fact this bug showed up with some regularity until we hard-coded the keyUp message to the keyDown event, ugly as it may be. On Windows, if a key is held down for what I'm guessing is the repeatDelay, a keyUp message is sent. True, followed immediately by another keyDown. You will get an equal number of them, though. It seems to be impossible to truly test for states of keys on these systems. Am I missing something here? Methinks you've overlooked the keysDown function, which returns exactly this information. Regards, Scott Regards, Scott _ Scott Rossi Tactile Media - Multimedia Design Creative Director Email: [EMAIL PROTECTED] Web: www.tactilemedia.com Scott Raney [EMAIL PROTECTED] http://www.metacard.com MetaCard: You know, there's an easier way to do that... Archives: http://www.mail-archive.com/metacard@lists.runrev.com/ Info: http://www.xworlds.com/metacard/mailinglist.htm Please send bug reports to [EMAIL PROTECTED], not this list.
MetaCard 2.4 release
- MetaCard 2.4 Released --- MetaCard 2.4, the latest release of MetaCard Corporation's award-winning cross-platform application development and multimedia authoring tool, is now available via the following links: http://www.metacard.com/get.html ftp://ftp.metacard.com/MetaCard/ http://www.magix.com.my/metacard/ MetaCard 2.4 includes new support for the Mac OS X platform, and a huge range of new features including: * Support for embedding images and hidden text (like HREF tags) in fields * A new script-based libraries that supports FTP, HTTP, and SMTP (email) * Many new array features, including many new statistical functions * A merge function that interprets tags in text strings (like PHP, ASP, etc.) * Exporting images in GIF, JPEG, and PNG format * Image rotation and support for alpha channels in PNG images * Access to image and mask data from scripts * QuickTime visual effects * Support for drawing Appearance Manager native controls on MacOS * New commands, functions, and properties for recording sound * Support for passing binary data in the external API See the file README.2.4 in the download directories for the complete list of new features and important instructions for downloading and using this release. -- Special Thanks Department - Special thanks go to the many contributors and beta testers for this release. We couldn't have done it without them. In particular, the following individuals deserve special recognition: Scott Rossi and Martin Reed for contributing images and icons, Martin Reed, Dave Cragg, and Scott Rossi for their testing and assisting Andu Novac with the heroic task of developing the network-protocol scripts in libURL from scratch, Richard Gaskin, Key Ray, Jacque Gay, Sivakatirswami, Geoff Canyon, Mark Talluto, Tereza Snyder, Rodney Tamblyn, LiangTyan Fui, and Tim Bleiler for finding, reproducing, and diligently reporting bugs and misfeatures in a wide range of areas, and of course the folks at Cross Worlds Computing (now Runtime Revolution) for developing Revolution, which has turned out to be the ultimate MetaCard engine testing tool. Klondike 1.0 Released --- For your card-playing enjoyment, there is also a new sample application in the download directory and via tools.metacard.com. The file klondike.mc, a solitaire game by Jacqueline Landman Gay of HyperActive Software, is an excellent demonstration of many of MetaCard's powerful features. -- Many of you will get a duplicate copy of this message in a day or two that will be sent out using our internal mailing list. Apologies in advance for the duplication. Regards, Scott Scott Raney [EMAIL PROTECTED] http://www.metacard.com MetaCard: You know, there's an easier way to do that... Archives: http://www.mail-archive.com/metacard@lists.runrev.com/ Info: http://www.xworlds.com/metacard/mailinglist.htm Please send bug reports to [EMAIL PROTECTED], not this list.
Re: Update Events?
On Tue, 28 Aug 2001 [EMAIL PROTECTED] wrote: Is there any way to reliably trap for update events in a stack? I've tried trapping everything I could think of (moveStack, resizeStack, suspendStack, resumeStack, etc) but it seems pretty clutzy. Do I need a nasty hack in an external, or is there a supported way to do this (external or scripting)? The recommended solution to this problem is Embedded MetaCard, which allows you to take over the main event loop. Adding an update message is not something we've considered because it's not something scripters are ever likely to need. I'm working off a mac library that refuses to draw into a GWorld, so I can't draw into that and then set the imagePixMapID of an image to that GWorld as in the external example. Too bad, as this is really the right way to do it. The only other thing I can think of would be to try to create a child window of the stack's window (accessible via the windowID property). I've been told this works on Win32 and UNIX/X11 systems, but I don't know about MacOS. Incidentally, is there any more specific info to be had on the pixMapID properties and what exactly I can pass to them? Only what's shown in the external tutorial has been tested and is guaranteed to be safe. But it should be possible on Win32 and MacOS systems to pass pretty much any Bitmap/GWorld regardless of it size, depth, colormap, etc. Don't try this on UNIX/X11, though, because that doesn't support operations between pixmaps of different depths. Regards, Scott Regards, Brian Scott Raney [EMAIL PROTECTED] http://www.metacard.com MetaCard: You know, there's an easier way to do that... Archives: http://www.mail-archive.com/metacard@lists.runrev.com/ Info: http://www.xworlds.com/metacard/mailinglist.htm Please send bug reports to [EMAIL PROTECTED], not this list.
Re: sockets
On Mon, 27 Aug 2001 Rodney Tamblyn [EMAIL PROTECTED] wrote: Some socket questions: When using sockets to read and write I have been using the following approach: write the length of the packet on a line followed by the data, at receiving end read for one line, then read for the supplied number of characters. What approaches do others use? You can also read without specifying a for condition, a specified handler will be called when data arrives. Are there any advantages/disadvantages of one approach over the other? The simpler read from socket x with message y is much more efficient, and is the *only* reasonable way to use sockets that will be exchanging large amounts of data or when communicating with a large number of other hosts. I find it more convenient even for smaller-scale development because as long as the host on the other end always writes a complete message (and as long as it's less than 4K in length), you don't have to worry about this length/data problem: all the data they wrote in a single write command will come in with the message. In general, if you have two stacks that are going to have an ongoing series of communications going backwards and forwards, is it better to leave the socket open, or always close the socket after each communication. I've assumed the latter. Definitely: setup time for a TCP socket is pretty large, so you want to leave a socket open as long as there's any chance that you'll need to read or write to it later (this is the issue behind the Keep-Alive extension to the HTTP that was the big feature added for version 1.1 of that protocol). Note that socketTimeout messages will be sent periodically if the socket is inactive for the amount of time specified in the socketTimeoutInterval property. You can either just ignore them or use them as a cue to close the socket and notify the user that something has gone wrong. Presumably there is a limit on the number of sockets MC can have open? Yes, but it depends on the OS and even on how a particular system is set up. A generally-safe lower bound is 20. When MC has an open socket, does it periodically attempt to verify whether the remote party is still present? No, TCP does that automatically. When the connection is dropped at the other end (or someplace in the middle ;-) MetaCard will get an event that will result in a socketClosed or socketError message being sent, depending on exactly what happened. Any other comments or tips from people who are experienced using sockets in Metacard would be appreciated. The libURL script is getting to be a little large to use as a source of examples, but it wouldn't hurt to browse through it. I also have a little telnet client that I'd be willing to send to anyone who needs examples of how to communicate with a telnet server or to get a general idea of how two hosts can communicate. Regards, Scott Rodney -- -- Rodney Tamblyn Educational Media group Higher Education Development Centre, 75 Union Place University of Otago, PO Box 56, Dunedin, New Zealand ph +64 3 479 7580 Fax +64 3 479 8362 http://hedc.otago.ac.nz ~ http://rodney.weblogs.com Scott Raney [EMAIL PROTECTED] http://www.metacard.com MetaCard: You know, there's an easier way to do that... Archives: http://www.mail-archive.com/metacard@lists.runrev.com/ Info: http://www.xworlds.com/metacard/mailinglist.htm Please send bug reports to [EMAIL PROTECTED], not this list.
Re: MacTech Programmer's Challenge
On Sat, 18 Aug 2001 Geoff Canyon [EMAIL PROTECTED] wrote: From the web page at: http://www.mactech.com/progchallenge/2001_09_Challenge.html The basic requirement is that you open a text file containing valid C/C++ source code and generate a Nassi-Schneiderman diagram for each routine included in that file. It's frustrating that they aren't offering sample files. One thing that will definitely be needed is regex patterns to recognize C and C++ source code. I'm looking online for this right now, but haven't found anything yet. If anyone knows where such a beast exists, or better yet has already done C/C++ pattern matching in MC/Rev, that would help. I think you probably don't want to use regex for this. It isn't necessary and will probably just make parsing the file harder and slower. Instead, keep in mind that spaces and returns aren't significant in C and that the primary delimiter is the semicolon (in fact, you might want to just convert all the returns to spaces as the very first step to make building the labels easier because you don't have to worry about handling statements that break over multiple lines, or multiple statements on a single line, though the problem description isn't specific about whether this sort of reformatting is allowed or required). This means the main loop should probably be something like: set the itemDelimiter to ; repeat for each item i in yourcontainer Then, switch of word 1 of i to see if it's one of the language keywords. Dealing with for is a little tricky because you'll have to set a flag to collect two more items into a container and then do some hand-coded parsing of the last one (the stuff before the closing ) goes with the for and the stuff after goes with the next statement. If you really want to get fancy (probably not necessary for this Challenge), use repeat for each token to separate out each operator, MetaTalk being similar enough to C that that will do most of the work for you. This would be a lot more work, though, because you'll have to build something that has a lot better understanding of the C language than if you just use the semicolon as a delimiter. Also, I think this description is vague: You must provide a means for the user to select a section of the diagram, or click on a section of interest, and zoom in on that section. The zoomed-in display should increase the level of detail displayed, until no further increase in detail is possible. Does that mean that higher levels of the diagram go away, or is it more like the zoom feature on the dock in OS X, where everything is visible all the time, but whatever has the focus is expanded to the detriment of others? Seems to me it could go either way. But if zoom excludes other stuff, you're going to have to add some sort of unzoom feature that brings it back. It might be sufficient to just show a single line in each of the code blocks and have zoom just mean to expand a block so that you can see all of the text in it (kind of like a progressive disclosure/tree view, except that you raise the expanded object *on top* of the other objects rather than pushing them all down, which would be nice but would also be a nightmare to lay out with a deeply nested diagram). Clicking on the object again would unzoom it back to it's previous size. I also don't think much of their idea of squashing the diagram down to fit in whatever the window size is. Seem to me you'll just end up with a solid black figure in the degenerate case. Better would be to put a lower limit on the size and then add scrollbars if it won't fit in the window. If nothing else, we can all get one take-home message here: trying to set requirement specs in the absence of a working prototype (the hallmark of design with traditional CASE (Computer Aided Software Engineering) methodologies) is a recipe for disaster, which of course is the reason CASE became a dirty word among software developers and why high-level tools are becoming so popular. Regards, Scott regards, Geoff Scott Raney [EMAIL PROTECTED] http://www.metacard.com MetaCard: You know, there's an easier way to do that... Archives: http://www.mail-archive.com/metacard@lists.runrev.com/ Info: http://www.xworlds.com/metacard/mailinglist.htm Please send bug reports to [EMAIL PROTECTED], not this list.
Re: MacTech Programmer's Challenge
On Sat, 18 Aug 2001 David Bovill [EMAIL PROTECTED] wrote: I'm sort of working on something like this at the moment - which brings up the problem I'm having creating flow diagrams... I want to be able to position groups - and it would be so much easier if I could use the pointer tool to do this and still trap for messages like mouseMove or whatever - but the only thing I can trap seems to be selectedObjectChanged (apart from the mysteries of the control key menus)... I guess I can simulate it, and simulate the move and resize handles but I wish that I could still have messages in paint and pointer/selection tool modes Any tricks I am missing? The messages you want *are* sent when you have the pointer tool, they're just swallowed by the main development-environment front script. You'll need to either remove that while testing, or put your own script in front of that with insert script. The messages aren't sent when you have a paint tool in 2.3.X, but are in 2.4. You can get the final beta of that in the directory: ftp://ftp.metacard.com/MetaCard/2.4/ Regards, Scott Scott Raney [EMAIL PROTECTED] http://www.metacard.com MetaCard: You know, there's an easier way to do that... Archives: http://www.mail-archive.com/metacard@lists.runrev.com/ Info: http://www.xworlds.com/metacard/mailinglist.htm Please send bug reports to [EMAIL PROTECTED], not this list.
MacTech Programmer's Challenge
MacTech Magazine has announced that their September Programmer's Challenge will be an open language competition, which means for the first time MetaCard and Revolution developers have a decent shot at winning the prize: http://www.mactech.com/progchallenge/2001_09_Challenge.html A quick search on Google.com turned up quite a few examples of the kinds of diagrams they're talking about. For example: http://www.open.org/~prslkg/sy_chap.htm I encourage everyone to at least take a look at the challenge description and if the spirit moves you, prepare an entry. Doesn't look like it would be too hard to make something like this using graphic objects with labels. Note that you can put multiple lines in the label property and that you can position the label as needed using the margin and textAlign properties. Put them all in a scrolling group sized to fit the window. Zoom will be a little trickier since it's not built in, but the math required to reset the rect or points properties of the graphics is pretty straightforward. Note that they also only allow two weeks, which means that you probably won't be competing with a whole bunch of slick C/C++ entries ;-) If you need any motivation or assistance, don't hesitate to contact me. Regards, Scott Scott Raney [EMAIL PROTECTED] http://www.metacard.com MetaCard: You know, there's an easier way to do that... Archives: http://www.mail-archive.com/metacard@lists.runrev.com/ Info: http://www.xworlds.com/metacard/mailinglist.htm Please send bug reports to [EMAIL PROTECTED], not this list.
Re: Edited Group Styled Text Woes
OK, I am trying to change my personal information stack over to MC and since the clicktext default word delimiter function will not return a dash-connected-string I am trying to see if I can work with the group style property...but as mentioned earlier, there are caveats in editing the text. e.g. Books/Translations Martine-Film Gang-Jobs These lines appear in a field and originally each had a group style applied to them separately, individually. Now, somehow I have done something where, if I click on any of them the clicktext returned is Books/Translations So, I guess what is missing is an understanding of how MC delimits group style runs of text that would be immediately adjacent to each other... if that were understood then we could implement measures to make sure it didn't happen, even if this only mean to be manually careful when the cursor is near the grouped text. One behavior than can be identified is that grouped text on two separate lines can become one group if you remove the line break and then insert it back again... Any help here? Have you tried this with 2.4? 2.3.X was a bit too aggressive in trying to combine style runs like this... Regards, Scott TIA Hinduism Today Sivakatirswami Editor's Assistant/Production Manager [EMAIL PROTECTED] www.HinduismToday.com, www.HimalayanAcademy.com, www.Gurudeva.org, www.hindu.org Scott Raney [EMAIL PROTECTED] http://www.metacard.com MetaCard: You know, there's an easier way to do that... Archives: http://www.mail-archive.com/metacard@lists.runrev.com/ Info: http://www.xworlds.com/metacard/mailinglist.htm Please send bug reports to [EMAIL PROTECTED], not this list.
Re: OT: Page generation Do it locally or ...
On Tue, 14 Aug 2001 Sivakatirswami [EMAIL PROTECTED] wrote: 1) Page generation locally, mc.cgi will simply pull a page: OR 2) Have MC Generate the pages on the server I can move the source text and templates to the web server and convert my local metacard button script to a .mt script and then let the web server build the page each time someone hits on it. OR 3) have the server generate it, but only once per day. There are several ways to do this. Probably easiest would be as a batch file run from the UNIX crontab file or with an at command. You could also set up single long-running MetaCard process that uses wait or send .. in to just do the work every 24 hours. I'd recommend the crontab file option for maximum reliability (no need to worry about restarting if the server goes down or if you get logged off), but it does require the assistance of the sysadmin. Also note that in all versions of this you'll have to write the script as a .mt file rather than putting it in a stack, though of course you can access data and run handlers in other stacks from the .mt script. Regards, Scott Hinduism Today Sivakatirswami Editor's Assistant/Production Manager [EMAIL PROTECTED] www.HinduismToday.com, www.HimalayanAcademy.com, www.Gurudeva.org, www.hindu.org Scott Raney [EMAIL PROTECTED] http://www.metacard.com MetaCard: You know, there's an easier way to do that... Archives: http://www.mail-archive.com/metacard@lists.runrev.com/ Info: http://www.xworlds.com/metacard/mailinglist.htm Please send bug reports to [EMAIL PROTECTED], not this list.
Re: Printing double
On Thu, 26 Jul 2001 Jacqueline Landman Gay [EMAIL PROTECTED] wrote: I am using a simple print this card command to get a printout of a card comprised of several text fields. Some of the text comes out looking overprinted -- that is, within a rectangular area near the center of the card it looks like the text was printed twice, the second time with a 1-pixel offset. That part of the text looks blurry and bold, and is illegible. The double printing within this imaginary rectangle isn't related to any of the field rects, hidden or otherwise, and can start anywhere, even at the center of a character in a line of text. This happens whether formatForPrinting is set to true or false. The font is Times 12, which is installed on the Mac. Printcolors is set to false to avoid the gray background problem. The problem occurs in tests using three different print drivers. Has anyone seen this before, and what causes it? Most likely a transparent image overlaps the text. In order to get the background color/pattern of these things right when printing (printing of transparent images isn't supported by the printer drivers on any platform), it actually takes a snapshot of the rect on screen. If any text is in that rect, it's grabbed at screen resolution. But then that text will be drawn again at printer resolution, hence the double exposure effect. The best workaround is just to not use transparent images on stuff you will be printing. If you have to allow for them, you could hide the objects with text, do your own import snapshot from rect to grab an opaque image, delete or hide the original, then show the text objects again before printing. Regards, Scott -- Jacqueline Landman Gay | [EMAIL PROTECTED] HyperActive Software | 612-724-1596 Custom hypermedia solutions| http://www.hyperactivesw.com Scott Raney [EMAIL PROTECTED] http://www.metacard.com MetaCard: You know, there's an easier way to do that... Archives: http://www.mail-archive.com/metacard@lists.runrev.com/ Info: http://www.xworlds.com/metacard/mailinglist.htm Please send bug reports to [EMAIL PROTECTED], not this list.
MetaCard 2.4 beta 4 now available
The beta 4 release of MetaCard 2.4, the last scheduled beta-test release for 2.4, is now available in the following directories: ftp://ftp.metacard.com/MetaCard/2.4/ http://magix.com.my/metacard/2.4b4/ http://www.clearsoftware.com/metacard24/ This latest release of MetaCard Corporation's award-winning cross-platform application development and multimedia authoring tool includes new support for the Mac OS X platform, and a huge range of new features including: * Support for embedding images and hidden text (like HREF tags) in fields * A new script-based URL library that supports FTP, HTTP, and SMTP (email) * Many new array features, including many new statistical functions * A merge function that interprets tags in text strings (like PHP, ASP, etc.) * Exporting images in GIF, JPEG, and PNG format * Image rotation and support for alpha channels in PNG images * Access to image and mask data from scripts * QuickTime visual effects * Support for drawing Appearance Manager native controls on MacOS * New commands, functions, and properties for recording sound * Support for passing binary data in the external API See the file README.2.4 in the download directories for the complete list of new features and important instructions for downloading and using this beta-test release. I encourage everyone to download this release and take it for a spin to check for compatibility with your applications. For your card-playing enjoyment, there is also a new sample application in the 2.4 download directory. The file klondike.mc, a solitaire game by Jacqueline Landman Gay of HyperActive Software, is an excellent demonstration of many of MetaCard's powerful features. Scott Raney [EMAIL PROTECTED] http://www.metacard.com MetaCard: You know, there's an easier way to do that... Archives: http://www.mail-archive.com/metacard@lists.runrev.com/ Info: http://www.xworlds.com/metacard/mailinglist.htm Please send bug reports to [EMAIL PROTECTED], not this list.
Re: Set bordercolor (and crash report)
On Fri, 20 Jul 2001 jbv [EMAIL PROTECTED] wrote: (snip) Now here's the problem : my script quits MC app, or whenthe stack runs as a standalone it crashes or even freezes the Mac OS. What makes me think it might be a MC engine bug is that the script never crashes at the same time : it can run 2 to 7 times before crashing... And when only 1 group is created (all images are choosen, or none is choosen), it runs perfectly... My first guess would be that you're just running out of memory, though you'll usually get a script error when this happens. But if you're sure that that isn't it (check system and application free memory using about this computer from the Finder), please send a copy of the stack along with whatever images are required to [EMAIL PROTECTED] (which is what you should do in general when you get a crash, because it's unlikely that anyone on this list would be able to help you anyway and the bug might not even get fixed if no one here reads your message and puts it on the list). I'm also having problems changing bordercolor of images... I don't have my scripts with me right now (I'm sending this message from home) but AFAIR I used the following scripting : set bordercolor of image id 1349 to red but it remained black. Even trying to set this property in the Properties window didn't help : image border remains black. Problem was the same under Mac OS or Windoze with 2.3.2 The various color properties aren't supported for images because their colormaps are used to store the colors used to display the image pixels. They do inherit these colors from their parents, though, so setting the borderColor for the stack or card or group will change the color used for the images within them. Regards, Scott Thanks. JB Scott Raney [EMAIL PROTECTED] http://www.metacard.com MetaCard: You know, there's an easier way to do that... Archives: http://www.mail-archive.com/metacard@lists.runrev.com/ Info: http://www.xworlds.com/metacard/mailinglist.htm Please send bug reports to [EMAIL PROTECTED], not this list.
Re: language localization
On Mon, 16 Jul 2001 Richard Herz [EMAIL PROTECTED] wrote: (snip) So I learned: Whenever I start any new project, I am going to design the project to make translation and language localization easy. Jacqueline suggested putting text in the custom properties of each object, answer text in the custom props of a button, for example. Adding a new language then would mean accessing all the individual objects. Maybe put the text strings at the stack (or higher level), e.g., in a custom property set of the stack whose keys are formed from the name of the object using the string plus a string number (or other identifier) for objects using multiple strings... Unfortunately another common requirement for large multilanguage products like this is that the actual translation must be done by people who only use word processors. The above architecture is efficient and will work fine if you're willing to reimport all of the text each time any of it changes. I've also seen projects that store the text for each object in a separate file in a language-specific directory that's opened and read in as a card is opened. That way you just hand the whole directory structure over to the translator and they just go through the files one at a time. This architecture is also pretty much a requirement if your product relies on a lot of text in images (importing lots of images is something you have to be careful about even in single-language products, and with multiple languages it pretty much becomes a necessity). Of course you could combine the two approaches and instead of loading the text at run time you write a script that goes through the whole stack and loads all of the text at once. Then you just have to push a button when you get a new translation. Regards, Scott Rich Herz [EMAIL PROTECTED] Scott Raney [EMAIL PROTECTED] http://www.metacard.com MetaCard: You know, there's an easier way to do that... Archives: http://www.mail-archive.com/metacard@lists.runrev.com/ Info: http://www.xworlds.com/metacard/mailinglist.htm Please send bug reports to [EMAIL PROTECTED], not this list.
Re: how do I turn off the focusColor?
On Sat, 14 Jul 2001 Richard Gaskin [EMAIL PROTECTED] wrote: Karl Becker wrote: Actually, if we're really adhering to the HIG, shouldn't the focusColor not be able to be chosen by MC developers, and only by the user? ;-) Maybe so, but at least this is the way it works by default unless you specifically override the focus color by setting it. That's the beauty of MC: It's not just HIG-compliant, it's better than HIG-compliant, in that it often lets us decide when the HIG applies. Please, Scott, allow another option for the focusColor which turns it off. In the big picture, this is the most HIG-compliant option. I guess I've overestimated the number of people developing for (or even testing for) UNIX systems. This has been the way the Motif look and feel has worked for almost 10 years now and we've yet to get a single complaint about it or request for a way to turn it off. The only other thing I can come up with is just conservatism (it *changed* on the Mac, and many people just don't like change, even if it's for the better). As for ways to implement this, a new field-only property is unfortunately not an option because it would require reworking the file format. So that leaves us with the following options: 1) Tie drawing the focus border to the showBorder property. This means you'd have to put another object (e.g. a group) around a field you want to have a border but no focus border. More work, but then, breaking the rules should require more work. 2) Make it apply to all objects (i.e., buttons and players also get a focus border in the Motif look and feel, and it might be nice to be able to turn this off). 3) Make it global or an inheritable stack property. 4) Hack the focusColor property to have some non-existing color be a cue to not draw the focus border at all. Preferences? Scott -- Richard Gaskin Fourth World Media Corporation Multimedia Design and Development for Mac, Windows, UNIX, and the Web _ [EMAIL PROTECTED] http://www.FourthWorld.com Tel: 323-225-3717 ICQ#60248349Fax: 323-225-0716 Scott Raney [EMAIL PROTECTED] http://www.metacard.com MetaCard: You know, there's an easier way to do that... Archives: http://www.mail-archive.com/metacard@lists.runrev.com/ Info: http://www.xworlds.com/metacard/mailinglist.htm Please send bug reports to [EMAIL PROTECTED], not this list.
Re: how do I turn off the focusColor?
On Tue, 17 Jul 2001 Kevin Miller [EMAIL PROTECTED] wrote: On 17/7/01 6:34 pm, Scott Raney [EMAIL PROTECTED] wrote: 2) Make it apply to all objects (i.e., buttons and players also get a focus border in the Motif look and feel, and it might be nice to be able to turn this off). 3) Make it global or an inheritable stack property. 4) Hack the focusColor property to have some non-existing color be a cue to not draw the focus border at all. It does need to apply object by object - as you do generally want this on. Turning it off happens on a case-by-case basis where you're doing something cool that the field object probably wasn't originally designed for (such as a multi-column list). In such a case, no way do you want to have an extra object there to draw the border with. As such it has to be 2 or 4, and I would go for 4, as 2 is going to be a real hassle from the cross-platform point of view (you have to turn this property off on Mac for buttons, but then turn it on again on UNIX). Actually I hadn't even considered this tangent: Focus borders for fields on Windows anyone? I was only considering it as a negative option, where setting it to false prevented it from being drawn on Motif and Macintosh look and feel settings, but setting it to true wouldn't cause a focus border to always be drawn for all object types on all platforms. And now that I consider it, I think it's probably not worth considering ;-) So, by your criteria I think option 2 would work too. And I can't say that I'm thrilled with the idea of having a color named transparent which seems confusing to me. Next thing you know, people will be setting the backColor to transparent and complaining when their fields are still opaque... Regards, Scott Regards, Kevin Kevin Miller [EMAIL PROTECTED] http://www.runrev.com/ Runtime Revolution Limited - Power to the Developer! Tel: +44 (0)131 718 4333. Fax: +44 (0)1639 830 707. Scott Raney [EMAIL PROTECTED] http://www.metacard.com MetaCard: You know, there's an easier way to do that... Archives: http://www.mail-archive.com/metacard@lists.runrev.com/ Info: http://www.xworlds.com/metacard/mailinglist.htm Please send bug reports to [EMAIL PROTECTED], not this list.
Re: Groups again
On Tue, 17 Jul 2001 jbv [EMAIL PROTECTED] wrote: Today I've been playing with groups in MC and found it quite frustrating, for 2 main reasons (if I missed anything please MC gurus enlighten me) : - the only way to group controls is to select them first, which makes grouping/ungrouping on the fly via script quite cumbersome : you need to set the selected of each control to true, then group, then set the selected of all controls back to false. And if you don't wznt your controls to be selected on screen during the process, you have to perform a lock screen / unlock screen... Frankly, I miss the groups in OMO where you could group any number of objects by simply listing them in a variable (the same kind of list that you get with the selectedobjects)... The good side of it was that the same object could be part of different groups at the same time... Frankly I'm a little mystified that it's possible to consider the concept of a group in OMO to be anything other than an ugly hack. You get none of the benefits of groups in MetaCard (e.g., clipping, scrolling, nesting, handler and attribute inheritance, and the ability to place them on different cards like backgrounds), they're also purely extent-based both for selection and manupulation, and not even really objects at all, just (as you've pointed out) some sort of disembodied list of objects that should be moved together. Nevertheless, being able to specify a list of controls to group (as in group button 1 and field 2) is a useful feature, which is why it was implemented in MetaCard years ago. Why it wasn't documented at that time I'm not as sure about, but I'll bug report this so it will be for the 2.4 doc. - it looks like grouping controls changes the numbering of those controls : for instance I have 50 images on screen and the user can select any of them (like image 12 to 25 and 37 to 42) and they're supposed to get automatically grouped. What happens is that all images being in a group are re-numbered ! Therefore I had no choice but to change my scripts and use the id instead... Probably not a bad idea in general: referring to objects by number is exceedingly brittle and can result in maintenance nightmares if you ever have to change the application by adding or deleting a control. Is there any *good* reason for that kind of behavior ? Yes: groups are real objects in MetaCard, so the controls have to be children of the group, which of course means they also have to be contiguous. This also helps with setting up keyboard navigation so you don't have to worry about creating a situation where you tab into a group and then back out when navigating a set of radio buttons. Regards, Scott Thanks. JB Scott Raney [EMAIL PROTECTED] http://www.metacard.com MetaCard: You know, there's an easier way to do that... Archives: http://www.mail-archive.com/metacard@lists.runrev.com/ Info: http://www.xworlds.com/metacard/mailinglist.htm Please send bug reports to [EMAIL PROTECTED], not this list.
Re: how do I turn off the focusColor?
On Thu, 12 Jul 2001 Richard Gaskin [EMAIL PROTECTED] wrote: If I set the focusColor of a field to empty, it uses the focusColor of its owner. But in my layout I don't want the focusColor to show at all -- how can I turn it off? I assume you're using 2.4 on a Mac and are talking about the focus border. The only way to do this is to set the look and feel to Windows 95. And before you say but that doesn't look right on a Mac, please consider than a field without a focus border doesn't either, at least according to the HIG ;-) Regards, Scott PS: some way to turn this off is already on the feature request list, but won't be in 2.4. -- Richard Gaskin Fourth World Media Corporation Multimedia Design and Development for Mac, Windows, UNIX, and the Web _ [EMAIL PROTECTED] http://www.FourthWorld.com Tel: 323-225-3717 ICQ#60248349Fax: 323-225-0716 Scott Raney [EMAIL PROTECTED] http://www.metacard.com MetaCard: You know, there's an easier way to do that... Archives: http://www.mail-archive.com/metacard@lists.runrev.com/ Info: http://www.xworlds.com/metacard/mailinglist.htm Please send bug reports to [EMAIL PROTECTED], not this list.
Re: htmlText - what entities, what charset?
On Wed, 27 Jun 2001 Ben Rubinstein [EMAIL PROTECTED]: Is it possible to get a list of the character entities supported by htmlText (or a link to the reference used)? I think the table came from the HTML 3.2 spec. Also, I have the impression that when non-ascii characters are found in the text which do not have a corresponding character entity name, they are mapped in some way to a particular character set, and then expressed as codes, eg #148;. Is this in ISO-8859-1? Eg if on the Mac you set the text of a field to numtochar(165), which is bullet, you'll find that the htmlText of the field is #149;. Can Scott (or someone) confirm that this is what is happening, and what happens when there is no mapping for the character in the 'local' character set to the destination one (ISO-8859-1, if it is that)? Yes, which is the same way HTML works. And there is always a mapping to some other character value, though not always the same character glyph (or even to a printable character). It uses the same tables as the ISOToMac() and MacToISO() functions. The same information is presented graphically in the character chooser. Regards, Scott TIA, Ben Rubinstein | Email: [EMAIL PROTECTED] Cognitive Applications Ltd | Phone: +44 (0)1273-821600 http://www.cogapp.com| Fax : +44 (0)1273-728866 Scott Raney [EMAIL PROTECTED] http://www.metacard.com MetaCard: You know, there's an easier way to do that... Archives: http://www.mail-archive.com/metacard@lists.runrev.com/ Info: http://www.xworlds.com/metacard/mailinglist.htm Please send bug reports to [EMAIL PROTECTED], not this list.
Re: Mac OS X Internet
On Tue, 26 Jun andu [EMAIL PROTECTED] wrote: LiangTyan Fui wrote: On 6/27/01 6:12 AM, Mark Talluto wrote: I have had no luck here either. But, I have not done much testing and decided not to report as I haven't tried that hard yet. But, my first impressions are the same as yours. My luck was even worst. I have a clean installed OS X, updated to 10.0.4, running only MetaCardCarbon 2.4b2. After a few attempts with the socket accept command, my TCP/IP settings corrupted. So I restarted the machine, but TCP/IP can never be able to configure correctly. I have to recreate a new location profile with new Ethernet settings, but it'll just dismissed after I closed the TCP/IP setting. I ended up reinstall OS X :-( Thanks for encouragement ;-). We've had to do that twice now too, which is 2 more times than we've ever had to reinstall any other UNIX OS in the last 10 years, which included quite a bit of time with Linux 0.99. Throw in a few handfuls of system hangs and spontaneous resets and I'm finally starting to appreciate what they mean when they say Mac OS X is all about making UNIX more Mac-like ;-) Regards, Scott PS: and as I said previously, accept *is* broken in 2.4 beta 2, but an app bug should *never* cause a system hang or corruption like this. That's just the UNIX rule, and Apple will ignore it at their peril. Regards, LiangTyan Fui Andu Scott Raney [EMAIL PROTECTED] http://www.metacard.com MetaCard: You know, there's an easier way to do that... Archives: http://www.mail-archive.com/metacard@lists.runrev.com/ Info: http://www.xworlds.com/metacard/mailinglist.htm Please send bug reports to [EMAIL PROTECTED], not this list.
Re: determine colour of pixel at arbitrary location
On Thu, 28 Jun 2001, Rodney Tamblyn wrote: Scott, Thanks for your reply, this was just the information I was looking for. I'm sorry if my message wasn't completely clear, maybe I was getting a little ahead of myself. I'd assumed that the image would have to be drawn somewhere, either offscreen or in a hidden object, so your comments are corrrect. As always it seems, in Metacard there is a better way of doing it. In director 7 I used the (as then undocumented) function getPixel to determine the colour. The rollover image just had to be present in the cast for this to work. Seemed to work fine but there may well be limitations that I didn't discover. My guess would be that these limitations would come into play if you tried to use some object that had to be rendered by the OS (buttons, fields, etc.) rather than images or graphic objects, which the engine can render itself. For those of you who may be interested, here's an example script: on mouseWithin me -- check colour in rollover image against mouse location theH=the mouseH theV= the mouseV myLoc = point(theH,theV) myRect = sprite(spriteNum).rect ofH = theH-the left of myRect ofV = theV- the top of myRect myCol = getPixel(member myParent.myRoll,ofH,ofV) You could write something similar to return a pixel out of an image object, but it looks like this is CLUT based (256 colors) whereas MetaCard is RGB based, so the logic will have to be changed some. if myCol oldCol then -- mouse is over coloured area in rollover oldCol = myCol theLine = myCol-251 if theLine 1 then exit -- some sort of error member(commentTag).text=member(myParent.myComments).text.line[theLine] Do we love the dot notation, or do we not? ;-) Regards, Scott end if end Rodney -- -- Rodney Tamblyn Educational Media group Higher Education Development Centre, 75 Union Place University of Otago, PO Box 56, Dunedin, New Zealand ph +64 3 479 7580 Fax +64 3 479 8362 http://hedc.otago.ac.nz ~ http://rodney.weblogs.com Scott Raney [EMAIL PROTECTED] http://www.metacard.com MetaCard: You know, there's an easier way to do that... Archives: http://www.mail-archive.com/metacard@lists.runrev.com/ Info: http://www.xworlds.com/metacard/mailinglist.htm Please send bug reports to [EMAIL PROTECTED], not this list.
Re: determine colour of pixel at arbitrary location
On Tue, 26 Jun 2001 Rodney Tamblyn [EMAIL PROTECTED]: It is possible use the mouseColor function to get the colour underneath the cursor. Does anyone here know if there is a way to get the colour at an arbitrary point? I have some medical images which have a (normally hidden) rollover layer where features are identified by irregular shaped solid colours. When the user drags the mouse over the image I want to be able to determine the colour at the same point in this hidden layer. Depending on the colour the user is over, appropriate rollover comments can be shown. It's possible to do this in Director but I haven't yet worked out how to do it in MC. Sounds like what you want is more than just the color at an arbitrary point, it's at an abitrary point in an object that isn't even drawn on the screen. This is not even theoretically possible to do in general (I doubt even Director can do it for all cases), but as long as that hidden layer is an image or can turned into an image (e.g., show it at some point and then import snapshot), you can do this in MetaCard in 2.4 using the new imageData property. You just need to calculate the offset of the pixel in the buffer and then get it and convert it to some usable value (like an R,G,B value). Regards, Scott -- -- Rodney Tamblyn Educational Media group Higher Education Development Centre, 75 Union Place University of Otago, PO Box 56, Dunedin, New Zealand ph +64 3 479 7580 Fax +64 3 479 8362 http://hedc.otago.ac.nz ~ http://rodney.weblogs.com Scott Raney [EMAIL PROTECTED] http://www.metacard.com MetaCard: You know, there's an easier way to do that... Archives: http://www.mail-archive.com/metacard@lists.runrev.com/ Info: http://www.xworlds.com/metacard/mailinglist.htm Please send bug reports to [EMAIL PROTECTED], not this list.
Re: blendlevel Mac-only?
On Wed, 20 Jun 2001 Wilhelm Sanke [EMAIL PROTECTED] wrote: My second question was, will blend ink and blendlevel in the near future be properties of all controls under Windows and MacOS? Probably not. We would like to get it working for graphic objects at some point, but this isn't in 2.4 (and won't be). Also note that you're going to lose the ability to do this with buttons on MacOS in 2.4 under the Appearance Manager look and feel, because the OS doesn't support inks for these standard controls (which is the same reason we don't support it for other objects on Windows or UNIX either). Regards, Scott Regards, Wilhelm Sanke Scott Raney [EMAIL PROTECTED] http://www.metacard.com MetaCard: You know, there's an easier way to do that... Archives: http://www.mail-archive.com/metacard@lists.runrev.com/ Info: http://www.xworlds.com/metacard/mailinglist.htm Please send bug reports to [EMAIL PROTECTED], not this list.
Re: FTP downloads
LiangTyan Fui [EMAIL PROTECTED] wrote: Here is a temporally mirror site that you may try: http://www.magix.com.my/tmp/linux.tgz http://www.magix.com.my/tmp/MacOS.sit http://www.magix.com.my/tmp/README.2.4 http://www.magix.com.my/tmp/Win32.zip I hope I did not violence MetaCard copyright. Thanks, there's no problem with redistributing these files under the Starter Kit license. BTW: Is this a right time for us to have a few mirror site for MetaCard download? We'd encourge this *if* you can commit to keeping the mirrors updated. We've used mirrors in the past but this has always been a significant problem: The only thing worse than a slow download from the main server is getting the wrong version from a mirror, a problem made worse when it's new potential customers who run into it because they don't know what version they're supposed to be getting. Does anyone else regularly have problems accessing or downloading from ftp.metacard.com? We check it periodically and other than occasional delays logging in during peak times, we've never seen any trouble with it. If you do have trouble, it'd be good to run ping and/or traceroute to see if the problem is with the server itself or with some part of the path between it and you (i.e., slow downloads are often caused by overloaded routers between you and the server, and you'll see this as dropped packets in ping and missing time values when using traceroute). Regards, Scott -- Scott Raney [EMAIL PROTECTED] http://www.metacard.com MetaCard: You know, there's an easier way to do that... Archives: http://www.mail-archive.com/metacard@lists.runrev.com/ Info: http://www.xworlds.com/metacard/mailinglist.htm Please send bug reports to [EMAIL PROTECTED], not this list.
Re: More Decorations..
Sjoerd Op 't Land [EMAIL PROTECTED] wrote: Alex Shaw wrote/ schreef: I've just encountered this problem on the MAC with a borderless stack with white background etc which works fine on PC. Black of course is fine but any other colour... hmmm ... ive looked round but can you just somehow set this colour? How do you hide or get rid of this border ?? any 2.4 options/hacks welcome :) This can't be done from within MC itself. It's something Mac specific, and you have to change it in your standalone using ResEdit (search the Internet), but I don't know what exactly and in which resource... Anyone? Scott? The problem is that there is no borderless window support built into MacOS, so developers have to create their own (as a WDEF resource). You can't just add one to the resource fork, unless maybe you e.g. replace the palette WDEF (which would give you borderless windows but no palette windows), because the engine has to know about it. MetaCard 2.4 has such a WDEF, which means RR will get it in its next release. Regards, Scott alex Regards, Sjoerd -- Scott Raney [EMAIL PROTECTED] http://www.metacard.com MetaCard: You know, there's an easier way to do that... Archives: http://www.mail-archive.com/metacard@lists.runrev.com/ Info: http://www.xworlds.com/metacard/mailinglist.htm Please send bug reports to [EMAIL PROTECTED], not this list.
Re: mouse tracking blues
A common task in xTalks involves dragging objects with the mouse. In many cases the grab command works great for this, but for objects like pane dividers you need some custom scripting to handle it. Actually I've found that grab is seldom useful for this kind of thing because you can't do any rubbering or feedback of anything other than that one control. The only reason it's in there at all is for SuperCard compatibility The problem I'm having is that I'm seeing sporadic cases of the mouse not releasing control of the object, using scripts I've used in other xTalks for years -- here's one example: on mouseDown put 3000 into tMax put 0 into tMin put the left of grc fxRateBase into tMin put the right of grc fxRateBase into tMax put item 2 of the loc of me into tV repeat until the mouse is up get mouseH() if it tMin then get tMin+1 if it tMax then get tMax set the loc of me to it,tV put it-tMin into tVal if tVal = 0 then put 1 into tVal put tVal * 20 into fld fxRate end repeat PlaySampleEffect end mousedown Using a repeat loop within a mouseDown handler is how I've done this for years, and how RunRev does a lot of its stuff as well. Jeez, I hope you're wrong about that. This technique is just poor and no advanced scripter should even be tempted to use it. And with the mouseMove message, there's never any need to. Using repeat until event will *never* be as smooth or reliable as doing it the right way, using messages. It's like driving your car around with one foot resting on the brake pedal. Just the same, I find that the conditional until the mouse is up is not honored reliably; most of the time it works okay, but sometimes the repeat loop is not exited when the mouse is released. You've made the problem worse by throwing in a call to mouseH, which disrupts event dispatching even further (you oughta see the rats nest that is the code to do this on Windows and UNIX system, which don't allow mucking around with the raw OS event queue, which is how those Mac-only xTalks pull this off). We don't have any reproducible examples of problems like this other than for things like menus which override normal event dispatching, but have had occasional non-reproducible reports that sound similar to this. If you've got a recipe, by all means send it in to [EMAIL PROTECTED] Is there a more reliable method for doing this sort of thing? I've considered restructuring the handler to use mouseMove for the stuff that's currently within the repeat loop, for for presumably the same reasons as the RunRev folks this is not often a workable solution in cases like dragging a separator bar. I firmly believe that there *is* no possible such reason, and any appearance to that effect is just a consequence of an inadequately thought-out architecture. If you can provide a counterexample, I'd love to see it. Regards, Scott -- Scott Raney [EMAIL PROTECTED] http://www.metacard.com MetaCard: You know, there's an easier way to do that... Archives: http://www.mail-archive.com/metacard@lists.runrev.com/ Info: http://www.xworlds.com/metacard/mailinglist.htm Please send bug reports to [EMAIL PROTECTED], not this list.