Re: XCMD Limitations
Thanks to Richard and Brian (and Jim off-list) for replying. 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. 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 b) if the engine handled an unsupported callback more gracefully. 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. 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 ___ metacard mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/metacard
Window decorations in OSX
One of my OSX beta testers mentioned that the red close button was missing. I asked her in more detail what she meant (I do not have OSX) and her explanation follows: in every window in OS X and in most apps that run native there is a red, a yellow and a green jelly bean button in the upper left corner. red=close window, yellow shrinks window to tool bar, green enlarges window to fill screen. I have the lookAndFeel set to Macintosh, as I discovered a few bugs back that certain menu type buttons (option) wouldn't work as intended on other platforms, and looked hideous on some platforms, but looked fine on classic Macintosh. It was a big enough issue that I set the lookAndFeel to Macintosh when the stack opens. I tried other styles of buttons to compensate but in the end, setting the lookAndFeel was the best choice. I've checked things out with the different lookAndFeel preferences settings in general, to see how things look on other platforms, and I've not seen these colored jelly bean buttons. Do they exist in Metacard? And if not, is there any way to create them? I'm guessing that one way would be to create your own title bar for the windows, by using no decorations and just having the window graphics mimic a title bar. Any other ideas? (Not going to bother with it for this project, but my next big project, that would be a nice touch.) -- --Shareware Games for the Mac-- http://www.gypsyware.com ___ metacard mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/metacard
Re: MC after OS X Upgrade...
Hi every1, Just a small problem. My stack created using system 9.2 no longers seems to open after I finally made the leap to OS X.2. (even in the Classic environment). Do I need the OSX version or is it a MC memory allocation problem. The stack is quite large ( ~200 MB - mostly sound samples). Cheers, Kevin Phyland. Wycheproof P-12 College. Kevin, I use a lot of sounds too, and size does become an issue. One program I use that helps me to shrink sounds quite a bit is a freeware program called: SoundApp 2.3.1 By Norman Franke I've got a folder full of sound programs, and in the end, no matter how I create a sound, I run it thru SoundApp to shrink it. I've not found a better program to do this. Shari -- --Shareware Games for the Mac-- http://www.gypsyware.com ___ metacard mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/metacard
Re: Window decorations in OSX
On 10/25/02 10:07 AM, Shari wrote: I've checked things out with the different lookAndFeel preferences settings in general, to see how things look on other platforms, and I've not seen these colored jelly bean buttons. Do they exist in Metacard? And if not, is there any way to create them? They are drawn by the OS, and until you install OS X you won't see them. They are there though. The red one is is the close box. If you have set the decorations of your stack to any type that does not include a close box, the red button will be disabled. -- Jacqueline Landman Gay | [EMAIL PROTECTED] HyperActive Software | http://www.hyperactivesw.com ___ metacard mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/metacard
Re: XCMD Limitations
Thus far I've managed to avoid writing a single external since I started working with MC in '97 (I hired out the only one I couldn't make in native MetaTalk), so my knowledge of how MC works with externals is very limited. Hopefully somone with experience with this can take a moment to fill in the details... -- Richard Gaskin Yes, It is nice not to have to use externals, isn't it :-) I had to use them in Hypercard. So far, I've been able to work within Metacard happily without them. And it makes for easier cross-platform development (though I still haven't made the official leap to release a Windoze program). My current project will be the first... Shari -- --Shareware Games for the Mac-- http://www.gypsyware.com ___ 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: XCMD Limitations
on 25/10/02 5:56 pm, Scott Raney wrote 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. Thanks - diligent Googling eventually turned it an old version of HyperXCmd.h, but it's even better to have the list direct from the source's mouth (so to speak) 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. Mea culpa - I confess I've never ever checked for this, in a decade of writing HC externals... 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 ;-) Thanks! At least in this case I was intimate with the external. And next time I'll know where to go looking. Cheers, Ben Rubinstein | Email: [EMAIL PROTECTED] Cognitive Applications Ltd | Phone: +44 (0)1273-821600 http://www.cogapp.com| Fax : +44 (0)1273-728866 PS - apologies to the list if a mail my mouse finger slipped on, which simply repeats the whole of Scott's message, gets through the moderator. ___ metacard mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/metacard
Re: Window decorations in OSX
I was opening substacks as modeLess, setting the decorations to title,minimize,maximize,menu and none of the stacks had a close box in the upper left corner. I had to switch to setting the decorations to default. More interesting for me was the fact that on OSX, setting the stack's style to modeless causes it to show Aqua stripped lines in the background. I must have missed this one on the list... Regards, Scott Rossi Creative Director Tactile Media, Multimedia Design - E: [EMAIL PROTECTED] W: http://www.tactilemedia.com ___ metacard mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/metacard
Re: can't find object
On 10/25/02 5:37 PM, erik hansen wrote: stack metacard menu bar contains substacks like control browser script debugger. exists(stack script debugger) returns true put the rect of (stack script debugger) returns can't find object is there a way to position open these substacks in a startup handler? Leave off the parentheses: put the rect of stack script debugger -- Jacqueline Landman Gay | [EMAIL PROTECTED] HyperActive Software | http://www.hyperactivesw.com ___ metacard mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/metacard
Re: Window decorations in OSX
I was opening substacks as modeLess, setting the decorations to title,minimize,maximize,menu and none of the stacks had a close box in the upper left corner. I had to switch to setting the decorations to default. More interesting for me was the fact that on OSX, setting the stack's style to modeless causes it to show Aqua stripped lines in the background. I must have missed this one on the list... Yes, any window that would be considered a dialog box (modal, modeless) automatically gets the striped lines. Normal stack windows don't (although you can take a scrreen capture of a chunk of the lines, import it as an image and set the backgroundPattern of the window to the image to fake it). Ken Ray Sons of Thunder Software Email: [EMAIL PROTECTED] Web Site: http://www.sonsothunder.com/ ___ metacard mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/metacard
Re: Window decorations in OSX
For reference, here's what you get in OS X for the various decorations properties (note that the other buttons are not invisible, they are just shown disabled): 'title' = minimize only 'minimize' = minimize only 'maximize' = minimize and maximize 'menu' = minimize only 'default' = minimize, maximize, and close 'none' = minimize only or 'empty' = no title bar or window borders This brings up a question... I was opening substacks as modeLess, setting the decorations to title,minimize,maximize,menu and none of the stacks had a close box in the upper left corner. I had to switch to setting the decorations to default. Anybody know why? Well, according to the list above, only the 'default' option has a close box in it... Ken Ray Sons of Thunder Software Email: [EMAIL PROTECTED] Web Site: http://www.sonsothunder.com/ ___ metacard mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/metacard
Re: disappearing movies and graphics
I honestly don't know of the top of my head... does anyone else have an idea? Ken Ray Sons of Thunder Software Email: [EMAIL PROTECTED] Web Site: http://www.sonsothunder.com/ - Original Message - From: [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Friday, October 25, 2002 2:33 PM Subject: RE: disappearing movies and graphics Ken, I haven't had time to really work with that project until this morning. Buffering the images worked well, but it seems that the only image type I can get to display right are gifs. Although, I have a buffered gif that just doesn't want to show up. It is positioned under a button if that makes any difference. Also, I found that when I buffered the players the movies would flash very quickly in the player while playing. Do you have any idea why the movies are doing this? Thanks so much for your assitance. Kristen Billings VA Healthcare System Pittsburgh [EMAIL PROTECTED] Just curious... did you set the alwaysBuffer of the players/images to true? If not, it probably would be a good idea (unless you feel the target audience has significant memory constraints), as it helps a lot with redraw issues. Then try it again and report back if it didn't work out... Ken Ray Sons of Thunder Software Email: [EMAIL PROTECTED] Web Site: http://www.sonsothunder.com/ ___ metacard mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/metacard ___ metacard mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/metacard ___ metacard mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/metacard
RE: disappearing movies and graphics
I have a folder with my graphics in it (jpegs and gifs) and one with my Quicktime movies and use relative paths in the program. I built a standalone on a Mac, and when I run it on another Mac the movies do not show up but the players do and some graphics show up, other graphics show up when I go to the next card and then go back, and some don't show up at all. When I save the same program on a PC and run the standalone on the PC, everything shows up! Any help would be greatly appreciated! My guess it has something to do with how the PC and Mac transform the pathnames. I'd suggest you set the paths programatically each time you startup. On startup, get the folder your in and then set the filename of each image programatically and see if it doesn't work. I built a 'skinnable' presentation program that way and it worked well. -Chipp ___ metacard mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/metacard