How do I write a simple looping/repeating command?

I want to write a simple looping/repeating command that will repeat anywhere from 2 to 10 times. Below is an example of one command that I would like to be able to repeat. What do I do now?





<![CDATA[sendkeys "
"]]>




The syntax for a sample command is below.
But, I'll have to think about how to include angle brackets in these commands.
Usually you can include special characters in braces ({}), but that doesn't work for this.
Will get back to you.



]]>





The list:

1thru10

11
22
33
44
55
66
77
88
99
1010
1one
2two
3three
4four
5five
6six
7seven
8eight
9nine
10ten


Please let me know.

I remember seeing or reading about something to do with making your own custom commands. I can’t remember if it was a reference or a different way of doing it. What is up with that?

Chris,

Not sure if you’re referring to “configure VoiceShortcuts”. However, simply say “configure VoiceShortcuts” and take a look at the custom commands that you can create using those options.

On the other hand, Ron and I have been discussing the problems with XML scripting relative to the Adobe products and were going to try to see if we can figure out what’s going on by sharing each other’s screens sometime today or tomorrow.

I think it was more the Wizard-driven scripting that you mentioned in the other thread.

Chuck and Ron,

Any luck with the scripting problems?

Chris,

Partially.

You can't use angle brackets (<>), quotes ("), amp (&) and apos (') within xml commands.
WikePedia has a chart showing their equivalents within xml.

http://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references

So, to put "" on the screen, use ""






Speech recognition can be weird. "lined break" works more consistently for me than "line break".
Also, my first attempts to send "" mulitple times as part of a line break <1thru10> command failed. Will get back to this.

Yes, the same rules apply for HTML/XHTML. What is strange is that the following works fine.





<![CDATA[sendkeys "
"]]>



I was also hoping you had accomplished something with the problems I’m having with Adobe products.


Chris

onebigfish2011-01-11 13:01:59

Chris,

I received the following from Ron:

I made the following changes:<?: prefix = o ns = "urn:schemas-microsoft-com:office:office" />

Deleted titlecontains because it’s not needed (and the newest PhotoShop doesn’t have PhotoShop in the title.

titlecontains="photoshop"

But, most importantly, I found that keyboard shortcuts don’t work reliably in PhotoShop unless you first press an escape key.

So I added an escape key to the beginning of each of your commands.

And now your commands seem to work consistently.

And lastly, I made a minor change:

Renamed your compound word commands, (e.g., SelectTool to Select Tool) because compound word commands can be too easily understood, leading to misrecognitions.

Let me know whether the commands now work reliably.

Try the attached file.

uploads/7/Photoshop.zip

Chucker2011-01-12 11:27:12

So far, so good Chuck. They seem to have been working all day long. Thanks for your help with this and I will let you know if any glitches arise. I will also heed your advice on the naming of the commands.


Chris



Chris,

Good to hear. This is one of the reasons why I want to get rid of the XML scripting because of the idiosyncrasies that are hard to track down. Seems that these commands work for me also even in Photoshop CS3. In the process of resolving this I’m reminded of the standard saying that my programming instructors always used to point out, “Serendipity is the mother of debugging.” It always seems that you discover solutions more by accident than by intention.

On the other hand, what we discovered is likely a good tip whenever your writing any kind of application specific command.

As far as command names are concerned, I don’t think that you have to be concerned with anything other than I would make your command names uppercase (title case) and simply, like with Dragon NaturallySpeaking, try to make them as unique and simple as possible so that they don’t get confused with anything else. It isn’t often that VoicePower commands interfere with Dragon commands, so concern about naming conventions is not as critical as it is with Dragon. Nevertheless, common sense applies to command names. The bottom line is that if you find a command name where the command isn’t functioning, just change the command name. Sometimes in the voice shortcuts when I’m creating Outlook send to/move to/change to folder commands, some of the command names that I give it don’t always work properly. That is, there are times when I create one that should be simple and straightforward, somehow gets confused with another folder and simply changing the command name usually resolves this. I would suspect that this is something that everyone should keep in the back of their mind as the first thing to check and/or change if you find that a command isn’t executing properly, or isn’t executing at all.

 <w:Word>
  <w:View>Normal</w:View>
  <w:Zoom>0</w:Zoom>
  <w:TrackMoves/>
  <w:Trackatting/>
  <w:PunctuationKerning/>
  <w:ValidateAgainstSchemas/>
  <w:SaveIfInvalid>false</w:SaveIfInvalid>
  <w:IgnoreMixed>false</w:IgnoreMixed>
  <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
  <w:DonotPromoteQF/>
  <w:LidThemeOther>EN-US</w:LidThemeOther>
  <w:LidThemeAsian>X-NONE</w:LidThemeAsian>
  <w:LidThemeComplex>X-NONE</w:LidThemeComplex>
  <w:Compatibility>
   <w:BreakWrappedTables/>
   <w:SnapToGridInCell/>
   <w:WrapTextWithPunct/>
   <w:UseAsianBreakRules/>
   <w:DontGrowAutofit/>
   <w:SplitPgBreakAndark/>
   <w:EnableKerning/>
   <w:DontFlipMirrorIndents/>
   <w:OverrideTableStyleHps/>
  </w:Compatibility>
  <w:DonotOptimizeForBrowser/>
  <m:mathPr>
   <m:mathFont m:val="Cambria Math"/>
   <m:brkBin m:val="before"/>
   <m:brkBinSub m:val="--"/>
   <m:smallFrac m:val="off"/>
   <m:dispDef/>
   <m:lMargin m:val="0"/>
   <m:rMargin m:val="0"/>
   <m:defJc m:val="centerGroup"/>
   <m:wrapIndent m:val="1440"/>
   <m:intLim m:val="subSup"/>
   <m:naryLim m:val="undOvr"/>
  </m:mathPr></w:Word>
<!--><!--if gte mso 9>
 <w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"    DefSemi="true" DefQat="false" DefPriority="99"    LatentStyleCount="267">
  <w:LsdException Locked="false" Priority="0" Semi="false"     UnhideWhenUsed="false" Qat="true" Name="Normal"/>
  <w:LsdException Locked="false" Priority="9" Semi="false"     UnhideWhenUsed="false" Qat="true" Name="ing 1"/>
  <w:LsdException Locked="false" Priority="9" Qat="true" Name="ing 2"/>
  <w:LsdException Locked="false" Priority="9" Qat="true" Name="ing 3"/>
  <w:LsdException Locked="false" Priority="9" Qat="true" Name="ing 4"/>
  <w:LsdException Locked="false" Priority="9" Qat="true" Name="ing 5"/>
  <w:LsdException Locked="false" Priority="9" Qat="true" Name="ing 6"/>
  <w:LsdException Locked="false" Priority="9" Qat="true" Name="ing 7"/>
  <w:LsdException Locked="false" Priority="9" Qat="true" Name="ing 8"/>
  <w:LsdException Locked="false" Priority="9" Qat="true" Name="ing 9"/>
  <w:LsdException Locked="false" Priority="39" Name="toc 1"/>
  <w:LsdException Locked="false" Priority="39" Name="toc 2"/>
  <w:LsdException Locked="false" Priority="39" Name="toc 3"/>
  <w:LsdException Locked="false" Priority="39" Name="toc 4"/>
  <w:LsdException Locked="false" Priority="39" Name="toc 5"/>
  <w:LsdException Locked="false" Priority="39" Name="toc 6"/>
  <w:LsdException Locked="false" Priority="39" Name="toc 7"/>
  <w:LsdException Locked="false" Priority="39" Name="toc 8"/>
  <w:LsdException Locked="false" Priority="39" Name="toc 9"/>
  <w:LsdException Locked="false" Priority="35" Qat="true" Name="caption"/>
  <w:LsdException Locked="false" Priority="10" Semi="false"     UnhideWhenUsed="false" Qat="true" Name="Title"/>
  <w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font"/>
  <w:LsdException Locked="false" Priority="11" Semi="false"     UnhideWhenUsed="false" Qat="true" Name="Subtitle"/>
  <w:LsdException Locked="false" Priority="22" Semi="false"     UnhideWhenUsed="false" Qat="true" Name="Strong"/>
  <w:LsdException Locked="false" Priority="20" Semi="false"     UnhideWhenUsed="false" Qat="true" Name="Emphasis"/>
  <w:LsdException Locked="false" Priority="59" Semi="false"     UnhideWhenUsed="false" Name="Table Grid"/>
  <w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/>
  <w:LsdException Locked="false" Priority="1" Semi="false"     UnhideWhenUsed="false" Qat="true" Name="No Spacing"/>
  <w:LsdException Locked="false" Priority="60" Semi="false"     UnhideWhenUsed="false" Name="Light Shading"/>
  <w:LsdException Locked="false" Priority="61" Semi="false"     UnhideWhenUsed="false" Name="Light List"/>
  <w:LsdException Locked="false" Priority="62" Semi="false"     UnhideWhenUsed="false" Name="Light Grid"/>
  <w:LsdException Locked="false" Priority="63" Semi="false"     UnhideWhenUsed="false" Name="Medium Shading 1"/>
  <w:LsdException Locked="false" Priority="64" Semi="false"     UnhideWhenUsed="false" Name="Medium Shading 2"/>
  <w:LsdException Locked="false" Priority="65" Semi="false"     UnhideWhenUsed="false" Name="Medium List 1"/>
  <w:LsdException Locked="false" Priority="66" Semi="false"     UnhideWhenUsed="false" Name="Medium List 2"/>
  <w:LsdException Locked="false" Priority="67" Semi="false"     UnhideWhenUsed="false" Name="Medium Grid 1"/>
  <w:LsdException Locked="false" Priority="68" Semi="false"     UnhideWhenUsed="false" Name="Medium Grid 2"/>
  <w:LsdException Locked="false" Priority="69" Semi="false"     UnhideWhenUsed="false" Name="Medium Grid 3"/>
  <w:LsdException Locked="false" Priority="70" Semi="false"     UnhideWhenUsed="false" Name="Dark List"/>
  <w:LsdException Locked="false" Priority="71" Semi="false"     UnhideWhenUsed="false" Name="Colorful Shading"/>
  <w:LsdException Locked="false" Priority="72" Semi="false"     UnhideWhenUsed="false" Name="Colorful List"/>
  <w:LsdException Locked="false" Priority="73" Semi="false"     UnhideWhenUsed="false" Name="Colorful Grid"/>
  <w:LsdException Locked="false" Priority="60" Semi="false"     UnhideWhenUsed="false" Name="Light Shading Accent 1"/>
  <w:LsdException Locked="false" Priority="61" Semi="false"     UnhideWhenUsed="false" Name="Light List Accent 1"/>
  <w:LsdException Locked="false" Priority="62" Semi="false"     UnhideWhenUsed="false" Name="Light Grid Accent 1"/>
  <w:LsdException Locked="false" Priority="63" Semi="false"     UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/>
  <w:LsdException Locked="false" Priority="64" Semi="false"     UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/>
  <w:LsdException Locked="false" Priority="65" Semi="false"     UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/>
  <w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/>
  <w:LsdException Locked="false" Priority="34" Semi="false"     UnhideWhenUsed="false" Qat="true" Name="List Paragraph"/>
  <w:LsdException Locked="false" Priority="29" Semi="false"     UnhideWhenUsed="false" Qat="true" Name="Quote"/>
  <w:LsdException Locked="false" Priority="30" Semi="false"     UnhideWhenUsed="false" Qat="true" Name="Intense Quote"/>
  <w:LsdException Locked="false" Priority="66" Semi="false"     UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/>
  <w:LsdException Locked="false" Priority="67" Semi="false"     UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/>
  <w:LsdException Locked="false" Priority="68" Semi="false"     UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/>
  <w:LsdException Locked="false" Priority="69" Semi="false"     UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/>
  <w:LsdException Locked="false" Priority="70" Semi="false"     UnhideWhenUsed="false" Name="Dark List Accent 1"/>
  <w:LsdException Locked="false" Priority="71" Semi="false"     UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/>
  <w:LsdException Locked="false" Priority="72" Semi="false"     UnhideWhenUsed="false" Name="Colorful List Accent 1"/>
  <w:LsdException Locked="false" Priority="73" Semi="false"     UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/>
  <w:LsdException Locked="false" Priority="60" Semi="false"     UnhideWhenUsed="false" Name="Light Shading Accent 2"/>
  <w:LsdException Locked="false" Priority="61" Semi="false"     UnhideWhenUsed="false" Name="Light List Accent 2"/>
  <w:LsdException Locked="false" Priority="62" Semi="false"     UnhideWhenUsed="false" Name="Light Grid Accent 2"/>
  <w:LsdException Locked="false" Priority="63" Semi="false"     UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/>
  <w:LsdException Locked="false" Priority="64" Semi="false"     UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/>
  <w:LsdException Locked="false" Priority="65" Semi="false"     UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/>
  <w:LsdException Locked="false" Priority="66" Semi="false"     UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/>
  <w:LsdException Locked="false" Priority="67" Semi="false"     UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/>
  <w:LsdException Locked="false" Priority="68" Semi="false"     UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/>
  <w:LsdException Locked="false" Priority="69" Semi="false"     UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/>
  <w:LsdException Locked="false" Priority="70" Semi="false"     UnhideWhenUsed="false" Name="Dark List Accent 2"/>
  <w:LsdException Locked="false" Priority="71" Semi="false"     UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/>
  <w:LsdException Locked="false" Priority="72" Semi="false"     UnhideWhenUsed="false" Name="Colorful List Accent 2"/>
  <w:LsdException Locked="false" Priority="73" Semi="false"     UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/>
  <w:LsdException Locked="false" Priority="60" Semi="false"     UnhideWhenUsed="false" Name="Light Shading Accent 3"/>
  <w:LsdException Locked="false" Priority="61" Semi="false"     UnhideWhenUsed="false" Name="Light List Accent 3"/>
  <w:LsdException Locked="false" Priority="62" Semi="false"     UnhideWhenUsed="false" Name="Light Grid Accent 3"/>
  <w:LsdException Locked="false" Priority="63" Semi="false"     UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/>
  <w:LsdException Locked="false" Priority="64" Semi="false"     UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/>
  <w:LsdException Locked="false" Priority="65" Semi="false"     UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/>
  <w:LsdException Locked="false" Priority="66" Semi="false"     UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/>
  <w:LsdException Locked="false" Priority="67" Semi="false"     UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/>
  <w:LsdException Locked="false" Priority="68" Semi="false"     UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/>
  <w:LsdException Locked="false" Priority="69" Semi="false"     UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/>
  <w:LsdException Locked="false" Priority="70" Semi="false"     UnhideWhenUsed="false" Name="Dark List Accent 3"/>
  <w:LsdException Locked="false" Priority="71" Semi="false"     UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/>
  <w:LsdException Locked="false" Priority="72" Semi="false"     UnhideWhenUsed="false" Name="Colorful List Accent 3"/>
  <w:LsdException Locked="false" Priority="73" Semi="false"     UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/>
  <w:LsdException Locked="false" Priority="60" Semi="false"     UnhideWhenUsed="false" Name="Light Shading Accent 4"/>
  <w:LsdException Locked="false" Priority="61" Semi="false"     UnhideWhenUsed="false" Name="Light List Accent 4"/>
  <w:LsdException Locked="false" Priority="62" Semi="false"     UnhideWhenUsed="false" Name="Light Grid Accent 4"/>
  <w:LsdException Locked="false" Priority="63" Semi="false"     UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/>
  <w:LsdException Locked="false" Priority="64" Semi="false"     UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/>
  <w:LsdException Locked="false" Priority="65" Semi="false"     UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/>
  <w:LsdException Locked="false" Priority="66" Semi="false"     UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/>
  <w:LsdException Locked="false" Priority="67" Semi="false"     UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/>
  <w:LsdException Locked="false" Priority="68" Semi="false"     UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/>
  <w:LsdException Locked="false" Priority="69" Semi="false"     UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/>
  <w:LsdException Locked="false" Priority="70" Semi="false"     UnhideWhenUsed="false" Name="Dark List Accent 4"/>
  <w:LsdException Locked="false" Priority="71" Semi="false"     UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/>
  <w:LsdException Locked="false" Priority="72" Semi="false"     UnhideWhenUsed="false" Name="Colorful List Accent 4"/>
  <w:LsdException Locked="false" Priority="73" Semi="false"     UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/>
  <w:LsdException Locked="false" Priority="60" Semi="false"     UnhideWhenUsed="false" Name="Light Shading Accent 5"/>
  <w:LsdException Locked="false" Priority="61" Semi="false"     UnhideWhenUsed="false" Name="Light List Accent 5"/>
  <w:LsdException Locked="false" Priority="62" Semi="false"     UnhideWhenUsed="false" Name="Light Grid Accent 5"/>
  <w:LsdException Locked="false" Priority="63" Semi="false"     UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/>
  <w:LsdException Locked="false" Priority="64" Semi="false"     UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/>
  <w:LsdException Locked="false" Priority="65" Semi="false"     UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/>
  <w:LsdException Locked="false" Priority="66" Semi="false"     UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/>
  <w:LsdException Locked="false" Priority="67" Semi="false"     UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/>
  <w:LsdException Locked="false" Priority="68" Semi="false"     UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/>
  <w:LsdException Locked="false" Priority="69" Semi="false"     UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/>
  <w:LsdException Locked="false" Priority="70" Semi="false"     UnhideWhenUsed="false" Name="Dark List Accent 5"/>
  <w:LsdException Locked="false" Priority="71" Semi="false"     UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/>
  <w:LsdException Locked="false" Priority="72" Semi="false"     UnhideWhenUsed="false" Name="Colorful List Accent 5"/>
  <w:LsdException Locked="false" Priority="73" Semi="false"     UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/>
  <w:LsdException Locked="false" Priority="60" Semi="false"     UnhideWhenUsed="false" Name="Light Shading Accent 6"/>
  <w:LsdException Locked="false" Priority="61" Semi="false"     UnhideWhenUsed="false" Name="Light List Accent 6"/>
  <w:LsdException Locked="false" Priority="62" Semi="false"     UnhideWhenUsed="false" Name="Light Grid Accent 6"/>
  <w:LsdException Locked="false" Priority="63" Semi="false"     UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/>
  <w:LsdException Locked="false" Priority="64" Semi="false"     UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/>
  <w:LsdException Locked="false" Priority="65" Semi="false"     UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/>
  <w:LsdException Locked="false" Priority="66" Semi="false"     UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/>
  <w:LsdException Locked="false" Priority="67" Semi="false"     UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/>
  <w:LsdException Locked="false" Priority="68" Semi="false"     UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/>
  <w:LsdException Locked="false" Priority="69" Semi="false"     UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/>
  <w:LsdException Locked="false" Priority="70" Semi="false"     UnhideWhenUsed="false" Name="Dark List Accent 6"/>
  <w:LsdException Locked="false" Priority="71" Semi="false"     UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/>
  <w:LsdException Locked="false" Priority="72" Semi="false"     UnhideWhenUsed="false" Name="Colorful List Accent 6"/>
  <w:LsdExce

Chris,

Sorry to delay getting back you on this. I’ll look at it and see what we can do with it (Ron and I). However, we discovered something that we were not aware of in that Ron’s son, Evan, locked some of the XML, which may be at the heart of the problem. I can’t say for sure because I haven’t talked to Evan yet, but the general gist of it is that by unlocking the XML code, some of the problems that you have been experienced may go away. No guarantees. We’ll just have to wait and see over the next few days if Evan has time to get to it whether or not that makes a difference.

Thanks Chuck. I really can’t see anything I’ve done wrong sometimes, so I hope you can find out something for me.


Chris

Chris,

That’s why were going to shift from XML scripting to PowerShell’s PowerScript. Much more powerful, much more useful, much easier to use, yada yada yada. Like our XML scripting language, PowerScript can be used in either DNS or Windows Speech Recognition - WSR after creating it in one or the other without having to make changes when switching between speech recognition engines.

Any progress Chuck?

That was using InDesign the other day and started some scripts for that program. All scripts work perfectly fine from the beginning. It seems that Illustrator is the most troublesome application.

When I say the Illustrator commands, they seem to be recognized properly. By that, I mean the capitalization and such is correct in the recognition box. However, the command is not executed. Complicating this is the fact that some commands DO work. For example, any commands that access the menu using the ALT key work fine. Commands requiring the CTRL key do not work.

Chris,

I didn’t respond to your post on this one because it seemed as though you resolve this particular problem. However, if you have any additional questions, let me know.

Chuck,

I think as far as Illustrator goes, the problem is more with the Illustrator itself. Any command coming from DNS that starts with the Control key, including built-in commands such as SAVE and UNDO, do not work in Illustrator. Commands that start with the Alternate key work fine.

However, there have been several other programs that I want to write application-specific commands for, but cannot get them to work properly. The problem comes in that I cannot properly determine the section appropriately to make them work. If I create them globally, they work fine. Some of the programs I was trying to create commands for are Microsoft Money and GIMP. I cannot figure out what goes in that section. Is there any way to simplify that process?

onebigfish2011-02-22 13:33:12