Re: Pasting Formatted Text (was Re: A Revolution beginner seeks advice...)
Karen, I tested it too on windoze and no problem including them pagebreaks... Although the lineheight wasn't respected (as expected), the rest came in ok. cheers Xavier On 17.02.2005 20:23:39 use-revolution-bounces wrote: Not sure what could be happening here, Karen. What platform are you on? And what specific types of formatting are you using and losing? When I copy a two-page Word document on OS X containing bold and italicized type and paste it into a scrolling field in Rev, all the formatting is retained. So I can't reproduce your problem. If you provide more specifics, perhaps we can nail this down for you! Dan On Feb 17, 2005, at 5:42 AM, Karen wrote: One thing that puzzles me is the pasting of text from other applications into a Revolution edit field. If there is a page break in a document (from Microsoft Word or from Pages) then the formatting is lost when I paste into my app's edit field. However, text without a page break is OK. Is there something I'm doing wrong? ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution - Visit us at http://www.clearstream.com IMPORTANT MESSAGEInternet communications are not secure and therefore Clearstream International does not accept legal responsibility for the contents of this message.The information contained in this e-mail is confidential and may be legally privileged. It is intended solely for the addressee. If you are not the intended recipient, any disclosure, copying, distribution or any action taken or omitted to be taken in reliance on it, is prohibited and may be unlawful. Any views expressed in this e-mail are those of the individual sender, except where the sender specifically states them to be the views of Clearstream International or of any of its affiliates or subsidiaries.END OF DISCLAIMER ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution
Re: change label name
At 23:37 17/02/2005, you wrote: Bob Hartley wrote: Hi All. I have a button that copies a label from one stack to another stack. the code changes the name OK but I want to change the visible text in the label. the code is on mouseUp global tFileName copy field LabelName of stack Armbase to card 1 of stack tFileName set the name of field LabelName of stack tFileName to field LabelNewName of stack Armbase --the above is OK and copies the label and changes its name to the contents of a field set the label of field LabelName of stack tFileName to field LabelNewName of stack Armbase --this one above generates an error end mouseUp I tried using the words contents and name etc in thelast line but without any luck. Any ideas. I'm sure this is simple. Two possibilities / suggestions: 1. did the line set the name of field LabelName of stack tFileName to field LabelNewName of stack Armbase change the name, such that the field can no longer be identified as field LabelName Hi Alex. Yes the name did change. I thought that the label text would change with something similar. Off to work now so i'll get into it later. Cheers Bob: Glasgow (and, btw, I'd be strict about putting quotes around LabelName and even suggest setting explicit variables) 2. fields don't (AFAIK) have a label property - it should be set the text of -- Alex Tweedly http://www.tweedly.net -- No virus found in this outgoing message. Checked by AVG Anti-Virus. Version: 7.0.300 / Virus Database: 265.8.8 - Release Date: 14/02/2005 ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution -- No virus found in this incoming message. Checked by AVG Anti-Virus. Version: 7.0.300 / Virus Database: 265.8.8 - Release Date: 14/02/2005 -- No virus found in this outgoing message. Checked by AVG Anti-Virus. Version: 7.0.300 / Virus Database: 265.8.8 - Release Date: 14/02/2005 ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution
Where are the newest CGI engines?
Hi listers, Now I know that the newest engine has those great XML capabilities, I want to install the newest CGI engine on both my Mac and the Linux server my site is running on. But I was not able to find them. Any suggestions? Tip to the Runrev webmaster: these engines are great and free to use; they should have an easy to find spot on the downloads page of the site. Terry ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Rev cgi Linux and get URL (libURL)
the following line : get URL http://www.google.fr; doesn't return anything... the script just run for about 10 secs and then returns an empty variable. Did you check the result after the get URL line? It might give some useful information. after the get URL line, the result contains : error socket timeout and the stacksInUse returns : myLibUrl which I guess means that the library has been fully loaded... Thanks, JB ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Rev cgi Linux and get URL (libURL)
just wondering : could it be some server configuration problem, like the cgi engine can't open a socket because of a firewall or anything similar ? Thanks, JB the following line : get URL http://www.google.fr; doesn't return anything... the script just run for about 10 secs and then returns an empty variable. Did you check the result after the get URL line? It might give some useful information. after the get URL line, the result contains : error socket timeout and the stacksInUse returns : myLibUrl which I guess means that the library has been fully loaded... Thanks, JB ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Rev cgi Linux and get URL (libURL)
On 18 Feb 2005, at 09:39, jbv wrote: just wondering : could it be some server configuration problem, like the cgi engine can't open a socket because of a firewall or anything similar ? I'd check first if you need to set a proxy (httpProxy property). Cheers Dave ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution
Buttons on Players?
Am I overlooking something or is it not possible to place a button on top of a player object? No matter what I do with layering, the player always appears on top of any other object on the card. True? Dan ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution
Seaching files
I have a large number of files that are loaded into a Viewer stack as I need them. They are in HTMLText so that styled text can be loaded into the field on the Viewer stack. Right now there are 3,568 separate files, but this will soon more than double. Some files are tiny. Some are huge. I want to do a search through some or all of the files and develop a list of files in which the search string is found. Originally, I decided not to search the text of the files directly because the HTML tags might confuse the search. Suppose for instance that a character or word within the search string was in bold. A search through the raw HTMLText would not find it. Therefore, in a repeat loop I set the HTMLText of a hidden field to each file. I then determine if the search term is in the field. This takes too long. I have an alternative where I just get URL (file: line i of gInfoCdsList) If the search string is in it, then I include that file. The second method takes about 15 to 20% of the time that the first method takes. I did a couple of tests and the files found were exactly the same. I am now thinking that I will have a quick search and a more thorough search for the user to deal with this. Any other thoughts or recommendations. Thanks. Bruce -- ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution
Re: OT: Keynote
Pretty thoroughly, looks like, but only down to the slide-level. You can create and reorder slides, change their themes, and maybe manipulate their text. It doesn't look like you can create or manipulate graphic objects -- does keynote support graphic objects in the first place? I could be wrong. I only glanced at the dictionary. gc On Feb 17, 2005, at 8:47 PM, Dan Shafer wrote: I wonder how AppleScriptable Keynote is. regards, Geoff Canyon [EMAIL PROTECTED] ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution
New How to stack on RevOnLine
Hi everyone, I put on RevOnLine a new stack in the How to collection that might interest some of you: #004 How to manage HTML lists on the fly This so smart draft stack shows how to build on the fly a graphic list of values with HTML, to display it into a list field and provides some additional tricks to hide and fetch the right information. User name: So Smart Software Category: Programming Hope you will enjoy! With best regards, Eric Chatonet. --- For institutions, companies and associations Built-to-order applications: management, multimedia, internet, etc. Windows, Mac OS and Linux... With the French touch --- Web site http://www.sosmartsoftware.com/ Email [EMAIL PROTECTED]/ Post 24, Bd de Port-Royal 75005 Paris Phone (33) 143 317 762 Mobile (33) 620 745 086 --- ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution
How do you guys make sure you get paid?
When I was a freelance videographer, I got burned once after giving a guy a music video I created for him before getting full payment. He never paid me. It was a small, simple project, and it was only $400 dollars that I got shafted out of, but I learned from that lesson. From then on, the client got the finished product when I got the final payment. I was nice (even apologetic) about it, but very strict about that rule. If you create an application for someone, and periodically e-mail an updated version of the incomplete app to them, to make sure you are creating exactly what they want, then how do you prevent them from just keeping the last incomplete version, using that, and not giving final payment? Yes, you could always sue them, but that is such a mess. Also, how do you ensure that they do not change their mind and decide they don't want it at the last minute, after you have put great work into it? Or - are these things not really problems because they happen too rarely to be a concern? Cheers, Jonathan ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution
Re: How do you guys make sure you get paid?
Jonathan. About 25 years ago when I began my consulting career, my accountant gave me some great advice from which I have never deviated. Always be working on the other guy's dime. You're not his bank. If he can't afford to pay you up front, then unless you're willing to take a risk or a royalty stream or something, just pass on the project. In practice, this translates for me to: 1. Typically get 1/3 to 1/2 of the project fee (or estimate) on signing the deal. 2. Tie milestone payments to deliveries where possible. 3. Stop work if and when payments are late or stop. 4. Get it in writing. 5. Make sure the spec is clear and that any changes have to be in writing and approved by both parties. It's even better if changes also incur a charge and/or include the right to adjust the agreed-upon fee. 6. Leave a percentage -- 10-20 usually works -- to be paid N days after final delivery or on acceptance of the project, whichever occurs first. IN rare cases where you love the project and think it will make your client rich (or at least comfortable) and he's not in a position to pay up front, then get a royalty stream or equity participation and then expect that about 75% of the time you'll be wrong and won't get paid anything. You can take on some of these projects if you're flush and business is good. FWIW. Dan On Feb 18, 2005, at 6:58 AM, Lynch, Jonathan wrote: If you create an application for someone, and periodically e-mail an updated version of the incomplete app to them, to make sure you are creating exactly what they want, then how do you prevent them from just keeping the last incomplete version, using that, and not giving final payment? Yes, you could always sue them, but that is such a mess. Also, how do you ensure that they do not change their mind and decide they don't want it at the last minute, after you have put great work into it? Or - are these things not really problems because they happen too rarely to be a concern? Cheers, Jonathan ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution
Re: How do you guys make sure you get paid?
On Feb 18, 2005, at 12:58 PM, Lynch, Jonathan wrote: If you create an application for someone, and periodically e-mail an updated version of the incomplete app to them, to make sure you are creating exactly what they want, then how do you prevent them from just keeping the last incomplete version, using that, and not giving final payment? Yes, you could always sue them, but that is such a mess. Also, how do you ensure that they do not change their mind and decide they don't want it at the last minute, after you have put great work into it? Jonathan, I know that in more civilized societies you'd have contracts and a legal system that would actually make contracts work but here in Brazil is not so simple. Although we have a legal system and contracts, no one really knows or care how the thing works, we know that at some level it does works for we're the only nation ever to impeach an ellected president on the basis that he was a moron as well as a thief, but for freelancers working on their own, our system is to slow and to expensive. Also brazilians prefer to work out of contracts, contracts here are synnonyms for traps, so people make verbal agreements and since every brazilian thinks that he is smarter than the brazilian next to him, every now and them, someone break this contract in the exact manner that you said. Once I was a partner (someone that owns a piece of a company, can't translate that to english) on a company here, we were 5 partners, and 11 employees. We did websites and websites tech for lot's of places here, we won a big big big contract to connect all protestant churches of the Brazilian bigest protestant church, called Universal Church of the Kingdom of God, they are so rich that they own 3 TV channels nationwide. Well, as tradition goes, we had a loose agreement with them. I said to the rest of the team, never give them anything, wait the money, for I never trusted those guys. One of our inocent partners took a DVD with all the system to demo so that they would be hushed to pay us... the rest is our bankrupcy history. Lesson learned. Now what I do is the following, first, all demos expire. Yes, they have very limited time windows to work. if someone break a contract, soon the software will stop, also, rewinding the computer will not reverse the proccess. Second, knowing where your employer lives and carrying a big baseball bat works... :-D Conclusion, make your software expirable, or make it contact mothership and request a permission to run (that you can revoke anytime), always sign contracts! written in paper in your contry legal speech, record everything if you need to sue someone. Andre Or - are these things not really problems because they happen too rarely to be a concern? -- Andre Alves Garzia 2004 Soap Dog Studios - BRAZIL http://studio.soapdog.org ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution
Re: CGI access to PostGreSQL
Aloha, Mark: Still no go on Linux as a CGI...-- fixed the case as you said to: dbPostgresql.so one of our team put the file in /usr/local/lib/revolution/dbPostgresql.so and tried to run this script from the cmd line shell as root but it didn't work And I also tried putting it in the cgi bin of the virtual site where it will eventually be used... still didn't work I also tried a full path from root to the cgi bin of the virtual site it still fails. Not sure how to trouble shoot this one..I mean we *can* do it by issuing SQL in shell commands but it would be much better if we can use rev's dictionary then I can repurpose code that is in thin rev clients for re-use in cgi's. #!/usr/local/bin/revolution on startup ## revSetDatabaseDriverPath /usr/local/lib/revolution/dbPostgresql.so ## revSetDatabaseDriverPath /home/virtual/site1/fst/var/www/cgi-bin/dbPostgresql.so revSetDatabaseDriverPath dbPostgresql.so put revOpenDatabase(Postgresql,69.94.64.57,cybertalks,user,password ) into pConnectionID if (pConnectionID) is a number then put Your Cybertalks data base opened successfully with connection ID into tResult put pConnectionID after tResult put tResult into buffer else put Gosh darn, what's up? The data base connection failed. into buffer end if put Content-Type: text/plain cr put Content-Length: the length of buffer cr cr put buffer end startup this works fine from inside the IDE on OSX: revSetDatabaseDriverPath dbPostgresql.so put revOpenDatabase(Postgresql,69.94.64.57,cybertalks,user,password ) into pConnectionID if (pConnectionID) is a number then put Your Cybertalks data base opened successfully with connection ID into tResult put pConnectionID after tResult put tResult else put Gosh darn, what's up? The data base connection failed. end if We must still be missing something. Sivakatirswami On Feb 10, 2005, at 12:05 AM, Mark Waddingham wrote: The Revolution 2.5 (and up) Linux engine has both revXML and revDB embedded within it, so the externals are not necessary. However, the database drivers themselves are not embedded and you need to tell the engine where to find them by doing: revdb_setdriverpath path_to_drivers (or revSetDatabaseDriverPath path_to_drivers) Where path_to_drivers is the directory containing the drivers. Also, Linux paths are case-sensitive so make sure that the value you pass for the database type looks the same as the driver file: i.e. if you pass mysql the engine will look for dbmysql.so if you pass MySQL the engine will look for dbMySQL.so Warmest Regards, Mark. ___ ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Buttons on Players?
Dan Shafer wrote: Am I overlooking something or is it not possible to place a button on top of a player object? No matter what I do with layering, the player always appears on top of any other object on the card. True? Normally. If you can live without the controller just turn on the alwaysBuffer property of the player to allow QT's drawing to take place in Rev's offscreen buffer to allow Rev to draw on top of it. -- Richard Gaskin Fourth World Media Corporation ___ [EMAIL PROTECTED] http://www.FourthWorld.com ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Buttons on Players?
On Feb 18, 2005, at 8:09 AM, Dan Shafer wrote: Am I overlooking something or is it not possible to place a button on top of a player object? No matter what I do with layering, the player always appears on top of any other object on the card. True? You have to set alwaysBuffer to true so QT doesn't draw direct to the screen but you will see a serious performance hit by doing this. If you are only displaying the button while the video is stopped then you will be fine but if you want a button that appears while video is playing then you may want to consider adding the button to the QT movie directly using a tool like LiveStage or GoLive. -- Trevor DeVore Blue Mango Multimedia [EMAIL PROTECTED] ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution
OT Nomenclature for Presentations
For web links for some products that are availablein different formate typically you see something link HTML | PDF | EBOOK | PRINT (where print is a book you can buy from an online store andhave shipped as opposed to being downloaded.) Now, for something also has a Revolution Stack version that is a stand alone executable... what do we call it? These are *much* more than ebooks... entire interactive apps that a teacher can use in a class room. HTML | PDF | DIGITAL | PRINT But *Digital* can be anything HTML | PDF | PRESENTATION | PRINT This could work but is a) too long b) could still be not totally indicative to the product behind the link... DIGI APP?? Any ideas... I'm think someone already has the perfect word... I just don't know what it is. TIA Sannyasin Sivakatirswami Himalayan Academy Publications at Kauai's Hindu Monastery [EMAIL PROTECTED] www.HimalayanAcademy.com, www.HinduismToday.com www.Gurudeva.org www.Hindu.org ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Buttons on Players?
On Feb 18, 2005, at 10:17 AM, Trevor DeVore wrote: You have to set alwaysBuffer to true so QT doesn't draw direct to the screen but you will see a serious performance hit by doing this. If you are only displaying the button while the video is stopped then you will be fine but if you want a button that appears while video is playing then you may want to consider adding the button to the QT movie directly using a tool like LiveStage or GoLive. Well, serious performance hit is probably a little extreme but it won't be as good. And as Richard mentions, you can see the controller but you can't use it. Custom controllers would get around that though. Also, QTVR won't work with alwaysBuffer since the movie doesn't respond to mouse clicks. -- Trevor DeVore Blue Mango Multimedia [EMAIL PROTECTED] ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution
Re: OT Nomenclature for Presentations
What about: HTML | PDF | MULTIMEDIA | PRINT or HTML | PDF | INTERACTIVE | PRINT Andre On Feb 18, 2005, at 4:18 PM, Sivakatirswami wrote: For web links for some products that are availablein different formate typically you see something link HTML | PDF | EBOOK | PRINT (where print is a book you can buy from an online store andhave shipped as opposed to being downloaded.) Now, for something also has a Revolution Stack version that is a stand alone executable... what do we call it? These are *much* more than ebooks... entire interactive apps that a teacher can use in a class room. HTML | PDF | DIGITAL | PRINT But *Digital* can be anything HTML | PDF | PRESENTATION | PRINT This could work but is a) too long b) could still be not totally indicative to the product behind the link... DIGI APP?? Any ideas... I'm think someone already has the perfect word... I just don't know what it is. TIA Sannyasin Sivakatirswami Himalayan Academy Publications at Kauai's Hindu Monastery [EMAIL PROTECTED] www.HimalayanAcademy.com, www.HinduismToday.com www.Gurudeva.org www.Hindu.org ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution -- Andre Alves Garzia 2004 BRAZIL http://studio.soapdog.org ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution
Re: CGI access to PostGreSQL
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Are you running 2.5? You might want to look at (vote for?) bug 2247. On Feb 18, 2005, at 12:45 PM, Sivakatirswami wrote: Aloha, Mark: Still no go on Linux as a CGI...-- fixed the case as you said to: dbPostgresql.so one of our team put the file in /usr/local/lib/revolution/dbPostgresql.so and tried to run this script from the cmd line shell as root but it didn't work And I also tried putting it in the cgi bin of the virtual site where it will eventually be used... still didn't work I also tried a full path from root to the cgi bin of the virtual site it still fails. Not sure how to trouble shoot this one..I mean we *can* do it by issuing SQL in shell commands but it would be much better if we can use rev's dictionary then I can repurpose code that is in thin rev clients for re-use in cgi's. #!/usr/local/bin/revolution on startup ## revSetDatabaseDriverPath /usr/local/lib/revolution/dbPostgresql.so ## revSetDatabaseDriverPath /home/virtual/site1/fst/var/www/cgi-bin/dbPostgresql.so revSetDatabaseDriverPath dbPostgresql.so put revOpenDatabase(Postgresql,69.94.64.57,cybertalks,user,passwor d) into pConnectionID if (pConnectionID) is a number then put Your Cybertalks data base opened successfully with connection ID into tResult put pConnectionID after tResult put tResult into buffer else put Gosh darn, what's up? The data base connection failed. into buffer end if put Content-Type: text/plain cr put Content-Length: the length of buffer cr cr put buffer end startup this works fine from inside the IDE on OSX: revSetDatabaseDriverPath dbPostgresql.so put revOpenDatabase(Postgresql,69.94.64.57,cybertalks,user,passwor d) into pConnectionID if (pConnectionID) is a number then put Your Cybertalks data base opened successfully with connection ID into tResult put pConnectionID after tResult put tResult else put Gosh darn, what's up? The data base connection failed. end if We must still be missing something. Sivakatirswami On Feb 10, 2005, at 12:05 AM, Mark Waddingham wrote: The Revolution 2.5 (and up) Linux engine has both revXML and revDB embedded within it, so the externals are not necessary. However, the database drivers themselves are not embedded and you need to tell the engine where to find them by doing: revdb_setdriverpath path_to_drivers (or revSetDatabaseDriverPath path_to_drivers) Where path_to_drivers is the directory containing the drivers. Also, Linux paths are case-sensitive so make sure that the value you pass for the database type looks the same as the driver file: i.e. if you pass mysql the engine will look for dbmysql.so if you pass MySQL the engine will look for dbMySQL.so Warmest Regards, Mark. ___ ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution - --- Frank D. Engel, Jr. [EMAIL PROTECTED] $ ln -s /usr/share/kjvbible /usr/manual $ true | cat /usr/manual | grep John 3:16 John 3:16 For God so loved the world, that he gave his only begotten Son, that whosoever believeth in him should not perish, but have everlasting life. $ -BEGIN PGP SIGNATURE- Version: GnuPG v1.2.4 (Darwin) iD8DBQFCFjZp7aqtWrR9cZoRAipRAJ9VmarDpfwAke8DpdjTtob6t+ixWQCfcqNe PdtOZ0mV5P5xXadhJ0UPpaU= =DcAW -END PGP SIGNATURE- ___ $0 Web Hosting with up to 120MB web space, 1000 MB Transfer 10 Personalized POP and Web E-mail Accounts, and much more. Signup at www.doteasy.com ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution
Re: How do you guys make sure you get paid?
Lynch, Jonathan wrote: If you create an application for someone, and periodically e-mail an updated version of the incomplete app to them, to make sure you are creating exactly what they want, then how do you prevent them from just keeping the last incomplete version, using that, and not giving final payment? Yes, you could always sue them, but that is such a mess. And in the States as often as not the winner is not necessarily the one whose position is more correct, but merely the one who can afford the bigger law firm. Messy indeed Also, how do you ensure that they do not change their mind and decide they don't want it at the last minute, after you have put great work into it? Or - are these things not really problems because they happen too rarely to be a concern? They used to be for me when I was starting out. After a few bad apples I learned how to smell a jerk at 50 yards, and generally avoid them from the outset. Here's one clue: if a prospective client seems more interested in the fine points of the contract than the fine points of the software design, they may be the type who profits more from legalistic maneuvers than from quality of their work. I know some developers only deliver a password-protected app with an answer box hard-wired in the startup handler that notes something to the effect of For evaluation purposes only. After receiving final payment they deliver a version with that line removed, along with the source stack. For myself, I prefer the simple high road: I work in good faith and deliver the finished goods in distributable form. At that point on most projects I already have at least two thirds of the payment. If they want to sell their soul to the devil for one third of the cost of a small project they're worse off than me. This is a small world. People who'll sell their soul for so little have a way of making a reputation for themselves. Their world gets ever smaller each time they shaft someone, and they have to spend the rest of their lives with one eye over their shoulder. On the very rare case when my intuition fails me and someone turns out to be operating without normal ethical standards, I'll ask 'em once, then twice, then move on. Prolonged engagement with people of such low standards often consumes more than it returns. Rather than throw good time after bad, while they live with one eye over their shoulder I keep my eye on the ball and attend to more productive activities -- the best revenge is living well. :) And that's maybe the best tip I can share: listen to your gut. Intuition is the most powerful meta-logic engine in our brains, if the least understood. If your gut tells you a potential client may be trouble, pay heed. Find a polite route to the door and then run -- don't walk -- to it. As one of my friends reminded me, if you take a project where the client has a high PIA factor (pain in the butt) you might possibly do okay, but the one thing that's certain is that the committment will prevent you from working with more interesting people for as long as you're engaged. -- Richard Gaskin Fourth World Media Corporation __ Rev tools and more: http://www.fourthworld.com/rev ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution
Cool Script animation
Hi everyone, I made this cool conversion of the script Bit-101.com proposes for tutorials. check it out... http://www.bit-101.com/tutorials/gravity.html It's not so obvious converting flash scripts and their convoluted animation frames but I got it down to something simple and easy now. And there's more to come! The only thing that really got me troubled however is that if I put in a pass mousedown in the end of the mousedown script (see commented line in script below and its preceding line which is supposed to be called by the mouseup), the mouseup handler is not called at all! So I mousedown, pass mousedown and there's no mouseup! I made a test button and it did work. So, why didn't it work here as expected? The Idle? Wouldn't that be the logical event queue? See the script below... To make it work, create a stack create graphic set the style of it to oval set the script of it to the scriptbelow cheers Xavier script local xspeed, yspeed local oldx, oldy local rightedge,leftedge local topedge, bottomedge local gravity, fxdrag, bounce local dragging local inited on mousedown local mouseHoffset, mousevoffset if inited is not true then initme end if put true into dragging put the mouseh - the left of me into mouseHoffset put the mousev - the top of me into mouseVoffset repeat while the mouse is down set the topleft of me to the mouseh - mousehoffset,the mousev - mousevoffset domove 1 end repeat put false into dragging -- this is in so the script works --pass mousedown end mousedown on mouseup put false into dragging domove 1 end mouseup on initme put the left of graphic 1 into oldx put the top of graphic 1 into oldy put random(60)-30 into xspeed put random(60)-30 into yspeed put 0 into leftedge put 0 into topedge put width of this cd into rightedge put the height of this cd into bottomedge put 2into gravity put 0.98 into fxdrag put 0.9 into bounce put true into inited domove 1 end initme on idle domove 1 end idle on domove objnum local x, y if not dragging then put the left of graphic objnum into x add xspeed to x set the left of graphic objnum to x if (x + the width of graphic objnum / 2 rightedge) then put rightedge-the width of graphic objnum / 2 into x set the left of graphic objnum to x put -xspeed * bounce into xspeed end if if (the left of graphic objnum - the width of graphic objnum / 2 leftedge) then set the left of graphic objnum to leftedge + the width of graphic objnum / 2 put -xspeed*bounce into xspeed end if put the top of graphic objnum into y add yspeed to y set the top of graphic objnum to y if (the top of graphic objnum + the height of graphic objnum / 2 bottomedge) then set the top of graphic objnum to bottomedge - the height of graphic objnum / 2 put -yspeed * bounce into yspeed end if if (the top of graphic objnum - the height of graphic objnum / 2 topedge) then set the top of graphic objnum to topedge + the height of graphic objnum / 2 put -yspeed * bounce into yspeed end if put yspeed * fxdrag + gravity into yspeed put xspeed * fxdrag into xspeed else put objnum, oldx put the left of graphic objnum - oldx into xspeed put the top of graphic objnum - oldy into yspeed put the left of graphic objnum into oldx put the top of graphic objnum into oldy end if end domove - Visit us at http://www.clearstream.com IMPORTANT MESSAGEInternet communications are not secure and therefore Clearstream International does not accept legal responsibility for the contents of this message.The information contained in this e-mail is confidential and may be legally privileged. It is intended solely for the addressee. If you are not the intended recipient, any disclosure, copying, distribution or any action taken or omitted to be taken in reliance on it, is prohibited and may be unlawful. Any views expressed in this e-mail are those of the individual sender, except where the sender specifically states them to be the views of Clearstream International or of any of its affiliates or subsidiaries.END OF DISCLAIMER ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Buttons on Players?
Thanks, gentlemen. The button I needed in this particular case is only needed before the movie actually starts. I created a button that asks for a password and covered the controls on the Player object with it. Works like a champ. But if someone knows of a better easy way to fix this, let me know. Meanwhile, I'm mastering LiveStage Pro, at least far enough to get a text track that asks the user for a password before the movie can start. dan On Feb 18, 2005, at 10:17 AM, Trevor DeVore wrote: On Feb 18, 2005, at 8:09 AM, Dan Shafer wrote: Am I overlooking something or is it not possible to place a button on top of a player object? No matter what I do with layering, the player always appears on top of any other object on the card. True? You have to set alwaysBuffer to true so QT doesn't draw direct to the screen but you will see a serious performance hit by doing this. If you are only displaying the button while the video is stopped then you will be fine but if you want a button that appears while video is playing then you may want to consider adding the button to the QT movie directly using a tool like LiveStage or GoLive. -- Trevor DeVore Blue Mango Multimedia [EMAIL PROTECTED] ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution
Re: OT Nomenclature for Presentations
Both good. How about HTML | PDF | SOFTWARE | PRINT or HTML | PDF | PROGRAM | PRINT Dan On Feb 18, 2005, at 10:28 AM, Andre Garzia wrote: What about: HTML | PDF | MULTIMEDIA | PRINT or HTML | PDF | INTERACTIVE | PRINT Andre On Feb 18, 2005, at 4:18 PM, Sivakatirswami wrote: For web links for some products that are availablein different formate typically you see something link HTML | PDF | EBOOK | PRINT (where print is a book you can buy from an online store andhave shipped as opposed to being downloaded.) Now, for something also has a Revolution Stack version that is a stand alone executable... what do we call it? These are *much* more than ebooks... entire interactive apps that a teacher can use in a class room. HTML | PDF | DIGITAL | PRINT But *Digital* can be anything HTML | PDF | PRESENTATION | PRINT This could work but is a) too long b) could still be not totally indicative to the product behind the link... DIGI APP?? Any ideas... I'm think someone already has the perfect word... I just don't know what it is. TIA Sannyasin Sivakatirswami Himalayan Academy Publications at Kauai's Hindu Monastery [EMAIL PROTECTED] www.HimalayanAcademy.com, www.HinduismToday.com www.Gurudeva.org www.Hindu.org ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution -- Andre Alves Garzia 2004 BRAZIL http://studio.soapdog.org ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Buttons on Players?
On Feb 18, 2005, at 11:03 AM, Dan Shafer wrote: Thanks, gentlemen. The button I needed in this particular case is only needed before the movie actually starts. I created a button that asks for a password and covered the controls on the Player object with it. Works like a champ. But if someone knows of a better easy way to fix this, let me know. What about just setting the showController property of the player object to false until the user enters the password. Then you can show the controller and start the movie playing. -- Trevor DeVore Blue Mango Multimedia [EMAIL PROTECTED] ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution
mouseLeave and linked text question
Can someone explain the following? In the script below, in the first if/then structure, the mouse moving away from a piece of linked text causes the backgroundColor of that linked text to reset to empty. But the mouse is only moving off the linked text, not out of the field. This makes me think a piece of linked text is a control which receives a mouseLeave message. Is this correct? But then with the repeat structure below that, only by the mouse actually leaving the field does the backgroundColor of all lines reset to empty. Which leads me to think that the linked text it was hovering over was not a control. How does this work? Thanks Mark on mouseLeave -- unhighlight any currently highlighted text: if storedHilitedChunk is not empty then do set the backgroundColor of \ storedHilitedChunk to empty put empty into storedHilitedChunk end if repeat with y = 1 to 3 repeat with x = 1 to the number of lines of field y set the backgroundColor of line x of field y to empty end repeat end repeat pass mouseLeave end mouseLeave ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution
general undo methods?
I need to add more extensive undo to an app I'm working on. Seems like a lot of work once you step outside of the subset of things the engine takes care of for you. Any of you have pointers to general methods for implemening undo across an app? -- Richard Gaskin Fourth World Media Corporation ___ [EMAIL PROTECTED] http://www.FourthWorld.com ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution
RE: general undo methods?
Hi Richard... I have a suggestion that might work, if the memory requirements of your app are not too large. You could set it up so that every time you make a change, you create a copy of the stack in memory. Actually, have like 5 copies of the stack in memory, and for each change, you replace one of those stacks, and keep a list in a global variable of where you are in the rotation through those five copies in memory, so that you will always be able to recall the latest stored version, and go back at least four more steps beyond that. Once you get to a sixth copy in memory, you purge the first copy, and at a 7th copy in memory, you purge the 2nd copy, etc... Does that make sense? I can see the process in my head, but seem to have a hard time putting it into words. This would work if it was a handler that you called in various scripts - but not for all keystrokes. For fields, you could have it in a closefield handler, for buttons, you could have at the end of the process of whatever the button does. Obviously, this would too burdensome to use for every keyup event in a field. What do you think? -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Richard Gaskin Sent: Friday, February 18, 2005 3:54 PM To: How to use Revolution Subject: general undo methods? I need to add more extensive undo to an app I'm working on. Seems like a lot of work once you step outside of the subset of things the engine takes care of for you. Any of you have pointers to general methods for implemening undo across an app? -- Richard Gaskin Fourth World Media Corporation ___ [EMAIL PROTECTED] http://www.FourthWorld.com ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Buttons on Players?
DUH Back to the drawing board. Nice thinking, Trevor. U da man! dan On Feb 18, 2005, at 11:22 AM, Trevor DeVore wrote: On Feb 18, 2005, at 11:03 AM, Dan Shafer wrote: Thanks, gentlemen. The button I needed in this particular case is only needed before the movie actually starts. I created a button that asks for a password and covered the controls on the Player object with it. Works like a champ. But if someone knows of a better easy way to fix this, let me know. What about just setting the showController property of the player object to false until the user enters the password. Then you can show the controller and start the movie playing. -- Trevor DeVore Blue Mango Multimedia [EMAIL PROTECTED] ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution
Re: OT Nomenclature for Presentations
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 *TRUE* Sad, but true. Many computer users don't seem to understand the difference between a hard disk and RAM. Even worse, I know people who regularly refer to a CPU as being a hard drive... It drives me crazy. On Feb 18, 2005, at 4:24 PM, Mark Wieder wrote: Dan- Friday, February 18, 2005, 11:05:25 AM, you wrote: DS Both good. How about DS HTML | PDF | SOFTWARE | PRINT I've had clients who would have trouble with the word software. *Twice* this last week I've had to explain the difference between RAM and hard disk memory. -- -Mark Wieder [EMAIL PROTECTED] ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution - --- Frank D. Engel, Jr. [EMAIL PROTECTED] $ ln -s /usr/share/kjvbible /usr/manual $ true | cat /usr/manual | grep John 3:16 John 3:16 For God so loved the world, that he gave his only begotten Son, that whosoever believeth in him should not perish, but have everlasting life. $ -BEGIN PGP SIGNATURE- Version: GnuPG v1.2.4 (Darwin) iD8DBQFCFl2I7aqtWrR9cZoRAin6AJ95FfYLreiP4BjvQ14b9NeZVAsbZgCfXPd8 3QIlQm4e5jhYR8HqeLvp+3E= =MRLW -END PGP SIGNATURE- ___ $0 Web Hosting with up to 120MB web space, 1000 MB Transfer 10 Personalized POP and Web E-mail Accounts, and much more. Signup at www.doteasy.com ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution
Re: How do you guys make sure you get paid?
Dan- Good ideas here. Thanks. A lawyer friend once shocked me by explaining to me that contracts are written to be broken. The sections detailing who will do what aren't nearly as important as the sections that detail what happens when some part of the contract isn't fulfilled. -- -Mark Wieder [EMAIL PROTECTED] ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution
Re: How do you guys make sure you get paid?
Andre- Friday, February 18, 2005, 9:44:28 AM, you wrote: AG we're the AG only nation ever to impeach an ellected president on the basis that he AG was a moron as well as a thief, but for freelancers working on their Our political system would fall apart if we tried that. Here, any moron can grow up to be in office. Many do. -- -Mark Wieder [EMAIL PROTECTED] ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution
Transcript expert wanted
Folks: I've come to realize that getting up to speed with Revolution will take more time than I have right now. The Revolution project is on top of my current Flash, Director and web development work and is taking more time than it should. Because of this, I'd like to pass on some simple work to someone with a good, solid knowledge of Transcript (for a reasonable fee, of course). Please note, this job will be relatively simple. I need 2 or 3 rock-solid scripts. No other design work or development is required. I figure that an experienced transcript developer can get all the work done inside of an hour. At least I'm hoping so considering funds are limited. Please respond off-list if you are interested. Regards, Steve __ Do you Yahoo!? Read only the mail you want - Yahoo! Mail SpamGuard. http://promotions.yahoo.com/new_mail ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution
Re: OT Nomenclature for Presentations
ROTFL! Shades of several years of my teaching the intro to computers class for non-majors (whaddya mean I don't have 100 gig of RAM???) ;-) Judy On Fri, 18 Feb 2005, Mark Wieder wrote: I've had clients who would have trouble with the word software. *Twice* this last week I've had to explain the difference between RAM and hard disk memory. ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution
Re: general undo methods?
Lynch, Jonathan wrote: I need to add more extensive undo to an app I'm working on. Seems like a lot of work once you step outside of the subset of things the engine takes care of for you. Any of you have pointers to general methods for implemening undo across an app? You could set it up so that every time you make a change, you create a copy of the stack in memory. Actually, have like 5 copies of the stack in memory, and for each change, you replace one of those stacks, and keep a list in a global variable of where you are in the rotation through those five copies in memory I can see how that approach would be useful for some apps, but this one has a large stack and the changes made a very small (moving objects, deleting objects, etc.). Anyone have a link to a good paper on how folks handle undo in real apps? -- Richard Gaskin Fourth World Media Corporation ___ [EMAIL PROTECTED] http://www.FourthWorld.com ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution
Re: OT Nomenclature for Presentations
And we won't even go into the territory of people who, by way of answer to 'what program were you using' answer Windows... no clue whatsoever as to the distinction between applications and operating systems... Judy On Fri, 18 Feb 2005, Frank D. Engel, Jr. wrote: -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 *TRUE* Sad, but true. Many computer users don't seem to understand the difference between a hard disk and RAM. ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution
User Application Support folder on OS X?
In my program I have some current user specific stack files that get updated while using the app. On Windows I stored these in the users application data folder. On Mac I want to store them in the users Application Support folder (~/Library/Application Support). The problem is that I can't get specialFolderPath to return this folder. If you use specialFolderPath(asup) then you get the system Application Support folder (/Library/Application Support). It seems that Revolution passes the system domain to FSFindFolder by default. For the time being I've resorted to storing the stacks in the user pref folder but it pains me to do so. So does anybody know if it is possible to get system folders using shell? If not then I will have to write a little external to do this. -- Trevor DeVore Blue Mango Multimedia [EMAIL PROTECTED] ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution
Re: How do you guys make sure you get paid?
He's right. (I have a law degree but am not an attorney.) A contract is just another piece of paper until it's breached. The divorce clauses are the most important clauses in any contract. Dan On Feb 18, 2005, at 1:27 PM, Mark Wieder wrote: Dan- Good ideas here. Thanks. A lawyer friend once shocked me by explaining to me that contracts are written to be broken. The sections detailing who will do what aren't nearly as important as the sections that detail what happens when some part of the contract isn't fulfilled. -- -Mark Wieder [EMAIL PROTECTED] ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution
Re: User Application Support folder on OS X?
On Feb 18, 2005, at 7:43 PM, Trevor DeVore wrote: On Mac I want to store them in the users Application Support folder (~/Library/Application Support). Trevor, I don't understand the problem, ~/Library/Application Support/ will always point to the current user app support folder, why can't you use it? That folder will always be present, and will always be on the same place... okay, specialFolderPath will not return this folder, but you will probably have different routines for both mac and win32 when it comes to finding where to store data, so you can make win32 report whatever place you want and hard code ~/Library/application support/ on the mac, can't you? There probably is someway to return that folder using 'defaults' or 'scutil' shell commands but since you know the folder in the first place, why bother finding some way to return it? Cheers andre -- Andre Alves Garzia 2004 Soap Dog Studios - BRAZIL http://studio.soapdog.org ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution
Re: User Application Support folder on OS X?
On Feb 18, 2005, at 2:00 PM, Andre Garzia wrote: I don't understand the problem, ~/Library/Application Support/ will always point to the current user app support folder, why can't you use it? That folder will always be present, and will always be on the same place... okay, specialFolderPath will not return this folder, but you will probably have different routines for both mac and win32 when it comes to finding where to store data, so you can make win32 report whatever place you want and hard code ~/Library/application support/ on the mac, can't you? There probably is someway to return that folder using 'defaults' or 'scutil' shell commands but since you know the folder in the first place, why bother finding some way to return it? Is it the same for all languages running OS X? I once hard coded a small portion of a path on Windows. In Spanish one of the folders that I hardcoded was the name of the folder in Spanish. Needless to say my path did not work on Spanish systems. That made me sad. I vowed never to hardcode a folder that the operating system provides an API to retrieve. Now if OS X is different then windows in that the folder structure is always the same regardless of language then that might be different. But can a user move their application support folder? Is it possible that the user support folder could be on a server in a networked environment? I don't know the answers to these questions but I know it won't matter if I use the API call. -- Trevor DeVore Blue Mango Multimedia [EMAIL PROTECTED] ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution
Printing in landscape
I have a stack that is smaller than an 8.5 by 11 sheet of paper (it is 728 pixels by 636). I presently put png images which are several thousand pixels wide by height (to get the resolution) and told to be 612 by 792 and locked in with the size and position panel. I then print them with the following button: on mouseup -- printMargins left,top,right,bottom set the printmargins to 0,0,0,0 open printing with dialog print card from 0,0 to 612,792 close printing end mouseup This works fine except now I want to print some forms that are landscape and putting them on with width 792 and height 612 (so they will be right side up and not sidewise) prints only as much wide as will fit on the paper. How in mac os x do I get the printing to come out in landscape and thus get the whole form? By the way this method gives me very clear 300 dot per inch printing on my laser printer but is a little slower than ideal (takes several seconds). ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution
Re: How do you guys make sure you get paid?
Recently, Lynch, Jonathan wrote: If you create an application for someone, and periodically e-mail an updated version of the incomplete app to them, to make sure you are creating exactly what they want, then how do you prevent them from just keeping the last incomplete version, using that, and not giving final payment? Get paid/deliver in phases, timeout the last delivered version, perhaps with an unlock code, until final payment is received (and cleared). Regards, Scott Rossi Creative Director Tactile Media, Multimedia Design - E: [EMAIL PROTECTED] W: http://www.tactilemedia.com ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution
Re: How do you guys make sure you get paid?
On Feb 18, 2005, at 7:58 AM, Lynch, Jonathan wrote: Also, how do you ensure that they do not change their mind and decide they don't want it at the last minute, after you have put great work into it? At one time I was big on formal contracts. Then I took to heart what a customer once said to me. You do what you need to do to keep customers giving you money and they do what they need to do to keep you making cool stuff for them. I would do big proposals, too, (long ago) until I realized some folks were using me as their RD and giving the work elsewhere. I sometimes do things in two phases, an hourly spec phase and a fixed price latter phase. That way a bulk is in the hourly part with a short bill-pay cycle. I sometimes make sure I own something if pay is incomplete. For hourly contracts I often ask for a good-faith exchange in the first billing cycle; a short amount of work with very short terms. I have been burned, sometimes badly. Watch out for a customer who has to deliver something and has realized one part was greatly underestimated--and that's the part your customer wants you to do. Watch out for the customer who lavishes praises, isn't concerned about money and wants all kinds of things done the first week or two, often with a high familiarization ramp-up. However, my approach is to take each customer at face value. I might get burned, but I jump right in and assume the best. Sometimes in being free with directions a project might go, I end up talking a customer out of the project or making him realize he can do it himself. Those customers often come back. I take payments via paypal now, so customers can use a card. Though I don't get too formal with contracts any more, I do think it is very important that both sides know when they have done right. A third of my revenues over the past couple years has been for Revolution related work (mostly libraries, some test systems, some externals). The vast majority of that is for folks I know only through these lists. In only one case did that turn sour. I saw the warning signs, but decided I wanted to take the risk in that particular case. I have moved on. I hope that my rambling helps. Dar -- ** DSC (Dar Scott Consulting Dar's Lab) http://www.swcp.com/dsc/ Programming Services and Software ** ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution
[OT] Mac error -10660?
I have a user who says he's getting an error #-10660 in his OS X box when he double-clicks one of my app's documents, but darned if I can find the page at Apple that describes what an error -10660 is. Anyone here know? TIA - -- Richard Gaskin Fourth World Media Corporation ___ [EMAIL PROTECTED] http://www.FourthWorld.com ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution
Re: general undo methods?
If your using substacks you can save in different states (upon any changes or significant changes) with a smart numbering system(backup system) and then if/when the user saves, it writes a final version and deletes the previous ones. That's the simpler way. Other wise all kinds of things need to be kept track off to be able to undo them. TOM On Feb 18, 2005, at 3:53 PM, Richard Gaskin wrote: I need to add more extensive undo to an app I'm working on. Seems like a lot of work once you step outside of the subset of things the engine takes care of for you. Any of you have pointers to general methods for implemening undo across an app? -- Richard Gaskin Thomas J. McGrath III SCS 1000 Killarney Dr. Pittsburgh, PA 15234 412-885-8541 ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution
Re: general undo methods?
Thomas McGrath III wrote: On Feb 18, 2005, at 3:53 PM, Richard Gaskin wrote: I need to add more extensive undo to an app I'm working on. Seems like a lot of work once you step outside of the subset of things the engine takes care of for you. Any of you have pointers to general methods for implemening undo across an app? If your using substacks you can save in different states (upon any changes or significant changes) with a smart numbering system(backup system) and then if/when the user saves, it writes a final version and deletes the previous ones. That's the simpler way. Other wise all kinds of things need to be kept track off to be able to undo them. I just spent the last two hours reading up on how undo is done in other systems, and it seems that there is no magic panaea in any of them. Good undo is simply a lot of work. The general method is to atomize your code so that every action the user can do generates undo code stored in a queue, which is then invoked when Undo is selected. The discipline of writing such well-factored code appeals to the OCD side of me, but the need to do it in short order to get a project out the door doesn't. :) Looks like I've found my presentation topic for the Monterey conference -- Richard Gaskin Fourth World Media Corporation ___ [EMAIL PROTECTED] http://www.FourthWorld.com ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution
Re: general undo methods?
On Feb 18, 2005, at 4:53 PM, Richard Gaskin wrote: Good undo is simply a lot of work. Yep Looks like I've found my presentation topic for the Monterey conference And yep! Dan ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution
Re: [OT] Mac error -10660?
Richard- Friday, February 18, 2005, 4:33:03 PM, you wrote: RG I have a user who says he's getting an error #-10660 in his OS X box RG when he double-clicks one of my app's documents, but darned if I can RG find the page at Apple that describes what an error -10660 is. You sure this is -10660? -10060 is documented as telDNTypeNotSupp: DN type not supported by tool, in case that helps any... The -10xxx error codes are in the telephony tools category. http://www-2.cs.cmu.edu/afs/cs/user/lenzo/html/mac_errors.html -- -Mark Wieder [EMAIL PROTECTED] ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution
Re: [OT] Mac error -10660?
Richard - A Google search for Apple error 10660 (without quotes) turns up hints that either the app needed to open the doc is in the Trash, or the file has lost it's a file/application association. Try a Get Info on the doc and re-associate it with the app. I'm basing this hint on just what I found from the Google search. HTH...James On Feb 18, 2005, at 7:33 PM, Richard Gaskin wrote: I have a user who says he's getting an error #-10660 in his OS X box when he double-clicks one of my app's documents, but darned if I can find the page at Apple that describes what an error -10660 is. Anyone here know? TIA - -- Richard Gaskin Fourth World Media Corporation ___ [EMAIL PROTECTED] http://www.FourthWorld.com ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution
Re: [OT] Mac error -10660?
James Cass wrote: Richard - A Google search for Apple error 10660 (without quotes) turns up hints that either the app needed to open the doc is in the Trash, or the file has lost it's a file/application association. Try a Get Info on the doc and re-associate it with the app. I'm basing this hint on just what I found from the Google search. That sounds like a reasonable diagnosis, given that the user reported the issue after an upgrade. So much for listening to users when they tell you a positive integer is negtive. ;) Thank you, James. -- Richard Gaskin Fourth World Media Corporation Developer of WebMerge: Publish any database on any Web site ___ [EMAIL PROTECTED] http://www.FourthWorld.com ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution
Re: general undo methods?
To a zeroeth approximation, use a frontscript or backscript to keep a realtime-updated record of *everything* the user does (for whatever value of everything you deem relevant or comfortable or etc). This record should, in each specific item, include enough information that you can reconstruct what changed in each item. For instance: delta 000111,graphic fred of card george of stack harry,points changed from yada yada to aday aday It seems to me that something like UmbrellaMan might be a suitable foundation on which to start building a generalized Undo. ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution
Re: general undo methods?
On 2/18/05 6:53 PM, Richard Gaskin wrote: I just spent the last two hours reading up on how undo is done in other systems, and it seems that there is no magic panaea in any of them. Good undo is simply a lot of work. The general method is to atomize your code so that every action the user can do generates undo code stored in a queue, which is then invoked when Undo is selected. I wrote an extended undo for two different apps, and in both cases I used the general method you describe. One stack was my Klondike game, and undo in that one wasn't too hard. Since the game already needed to track the location of every playing card in the deck, I stored a line of text describing the location of all the cards after every user move, and pushed the line onto a done list. When the user chose undo, I popped the top line off the list and reset the playing cards to the positions it described. At the same time, I pushed the line onto a redo list. This allowed unlimited undo/redo. I just kept moving the descriptive line from one list to the other. This would be hard to do in a stack that didn't lend itself to a way of storing a list of user actions. The other stack was a client project, and that was more difficult because the user actions were more varied. I used a similar method, but did not store everything the user did. They were allowed to undo only certain things that I could easily track. Other things just got lost. They complained a little bit, but not too much after I explained how much it would cost them to implement any more. Customers don't always understand how much work it is to implement undo, since virtually all software has it. To them, it seems like it should be simple. -- Jacqueline Landman Gay | [EMAIL PROTECTED] HyperActive Software | http://www.hyperactivesw.com ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution
Rev in CGI
What is needed to tun a Rev program in a CGI folder so anyone can access from the web with a web browser? Paul Salyers PS1 - Senior Rep. [EMAIL PROTECTED] Http://ps1.SoftSeven.org ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution
Re: general undo methods?
J. Landman Gay wrote: On 2/18/05 6:53 PM, Richard Gaskin wrote: I just spent the last two hours reading up on how undo is done in other systems, and it seems that there is no magic panaea in any of them. Good undo is simply a lot of work. The general method is to atomize your code so that every action the user can do generates undo code stored in a queue, which is then invoked when Undo is selected. Customers don't always understand how much work it is to implement undo, since virtually all software has it. To them, it seems like it should be simple. When we consider how far Rev has gone with the hardest part, text undo, I can't help but wonder if there might be some general state-recording mechanism that could be created in such a way as to be scalable to address specific needs. But I'm also sleep-deprived, and possibly dreaming... -- Richard Gaskin Fourth World Media Corporation ___ [EMAIL PROTECTED] http://www.FourthWorld.com ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution
Re: How do you guys make sure you get paid?
On 2/18/05 8:58 AM, Lynch, Jonathan wrote: When I was a freelance videographer, I got burned once after giving a guy a music video I created for him before getting full payment. He never paid me. It was a small, simple project, and it was only $400 dollars that I got shafted out of, but I learned from that lesson. From then on, the client got the finished product when I got the final payment. I was nice (even apologetic) about it, but very strict about that rule. If you create an application for someone, and periodically e-mail an updated version of the incomplete app to them, to make sure you are creating exactly what they want, then how do you prevent them from just keeping the last incomplete version, using that, and not giving final payment? Yes, you could always sue them, but that is such a mess. Also, how do you ensure that they do not change their mind and decide they don't want it at the last minute, after you have put great work into it? Or - are these things not really problems because they happen too rarely to be a concern? Maybe I've just been lucky, but in the 18 years I've been doing this I have only been burned once, and that wasn't for a huge sum (big enough to make me mad though.) I tried collecting for six months, then converted to Richard's view and just gave it up. I do what others have suggested. I used to have big contracts too but now I don't unless someone specifically wants it. I charge by milestone and if they don't pay, they don't get any more software. I have only had two clients who I didn't completely trust (unwarranted, as it turns out,) and I put expiration dates on those deliveries. I explained that I was very proud of my work and I refused to let substandard software be released. I told them that when we were absolutely sure the software was working correctly, I would remove the beta designation and the expiration. Of course, the removal didn't happen until the final payment was received. I told them both in advance that I would be doing this, and they didn't seem to mind since I made it sound like I did that for everyone. I charge a portion of the fee to start work unless it is someone I have had a previous working relationship with. With those people, I am very flexible. I think that most people are basically honest if you are honest with them. Many of my clients come back for other projects. -- Jacqueline Landman Gay | [EMAIL PROTECTED] HyperActive Software | http://www.hyperactivesw.com ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution
RE: general undo methods?
im replying to this soon... -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Richard Gaskin Sent: Saturday, February 19, 2005 06:42 To: How to use Revolution Subject: Re: general undo methods? J. Landman Gay wrote: On 2/18/05 6:53 PM, Richard Gaskin wrote: I just spent the last two hours reading up on how undo is done in other systems, and it seems that there is no magic panaea in any of them. Good undo is simply a lot of work. The general method is to atomize your code so that every action the user can do generates undo code stored in a queue, which is then invoked when Undo is selected. Customers don't always understand how much work it is to implement undo, since virtually all software has it. To them, it seems like it should be simple. When we consider how far Rev has gone with the hardest part, text undo, I can't help but wonder if there might be some general state-recording mechanism that could be created in such a way as to be scalable to address specific needs. But I'm also sleep-deprived, and possibly dreaming... -- Richard Gaskin Fourth World Media Corporation ___ [EMAIL PROTECTED] http://www.FourthWorld.com ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution
Re: general undo methods?
In Smalltalk and probably in Java as well there was/is the notion of an undo/redo framework. The Command Pattern, for example, is designed for just this task. If we could design a framework, it should be possible for us to come up with a way for us to define user events in such a way that they notify the proper object(s) in the framework when they change. It would be a fascinating exercise and result in a potentially highly useful product, I think. It would probably have to be limited to certain types or categories of changes, but it does seem to me it would be feasible with sufficiently high levels of scripting skills. Dan On Feb 18, 2005, at 9:26 PM, J. Landman Gay wrote: On 2/18/05 6:53 PM, Richard Gaskin wrote: I just spent the last two hours reading up on how undo is done in other systems, and it seems that there is no magic panaea in any of them. Good undo is simply a lot of work. The general method is to atomize your code so that every action the user can do generates undo code stored in a queue, which is then invoked when Undo is selected. I wrote an extended undo for two different apps, and in both cases I used the general method you describe. One stack was my Klondike game, and undo in that one wasn't too hard. Since the game already needed to track the location of every playing card in the deck, I stored a line of text describing the location of all the cards after every user move, and pushed the line onto a done list. When the user chose undo, I popped the top line off the list and reset the playing cards to the positions it described. At the same time, I pushed the line onto a redo list. This allowed unlimited undo/redo. I just kept moving the descriptive line from one list to the other. This would be hard to do in a stack that didn't lend itself to a way of storing a list of user actions. The other stack was a client project, and that was more difficult because the user actions were more varied. I used a similar method, but did not store everything the user did. They were allowed to undo only certain things that I could easily track. Other things just got lost. They complained a little bit, but not too much after I explained how much it would cost them to implement any more. Customers don't always understand how much work it is to implement undo, since virtually all software has it. To them, it seems like it should be simple. -- Jacqueline Landman Gay | [EMAIL PROTECTED] HyperActive Software | http://www.hyperactivesw.com ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Rev in CGI
On 2/18/05 11:25 PM, Paul Salyers wrote: What is needed to tun a Rev program in a CGI folder so anyone can access from the web with a web browser? This: http://www.hyperactivesw.com/cgitutorial/index.html -- Jacqueline Landman Gay | [EMAIL PROTECTED] HyperActive Software | http://www.hyperactivesw.com ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution
Re: How do you guys make sure you get paid?
Get paid/deliver in phases, timeout the last delivered version, perhaps with an unlock code, until final payment is received (and cleared). Regards, Scott Rossi Creative Director Tactile Media, Multimedia Design I'm no longer doing any of this stuff for a living, but this is what we used to do: 1. Go for 50% downpayment or as high a downpayment as possible 2. We usually compute our downpayment quantum to be high enough to cover our COSTS of doing the whole job 3. this ensures that in our worst case, we've already recovered our cost of doing this job even if everything falls apart after that. This is necessary in our case because the standard practice where I live is that even big businesses have a nasty habit of working with smaller firms on the basis of 90 days or even 6 months credit (so sue me). This can create a massive problem with your cashflow if you allow it. So if I ensure that I cover myself in the downpayment or initial payments, then I can stay cool while the client starts to waste valuable time and this also gives me room to move in cases where things get stalled for reasons outside of our control. Once you start sweating about the payments being delayed, if you have a lousy client, they know they control you and you're in trouble. On the other hand, if they know that you can afford to walk away from the project without hurting, they're the ones with the problem and they need to work on 'motivating' you. Contracts may not mean very much, neither do court judgements. We won a summary judgement before and the client was told to pay up and what they did was to ship out every piece of furniture and equipment they had and the owner left town and went to another country. We never recovered the money and 2 years later, he showed up in their local media as an entrepreneurship hero there. Jesse ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution