Remember the days of fancy handheld calculators where you could "STO" results in a memory and "RCL" it for use later? Well now DrawShield has the same thing, but for blazons! Look at the screenshot below and you will see a new set of buttons (you may have to do a "hard refresh" on your browser to pick up the new files).
What you are seeing is a set of 12 "memories", each of which can hold a blazon, with the buttons allowsing you switch between them. The basic process is to click on an "action" button at the left of the row; STO (store), RCL (recall) and CLR (clear) and then click on a numbered button to apply that action to the memory.
STO will copy the contents of the editor textarea into the memory (if the editor is empty then nothing happens). The existing contents of that memory are over-written.
RCL will copy the contents of that memory into the editor page, over-writing whatever was there. If the memory is empty then nothing happens.
CLR will remove the contents of that memory.
Button backgrounds turn dark to indicate which action has been selected, and also which memories have content.
There is also a "special" memory, marked (0), which you cannot store anything in - it is automatically updated with the contents of the editor textarea just before you recall something from a memory, and everytime you press the "Draw Shield" button.
To help document your work, don't forget that you can put a comment in the blazon, perhaps use the first line as a brief name of the blazon (remember the ctrl-/ comment shortcut we learned about in a previous post?)
The most important thing to realise is that all of these memories are local, they are stored only your own PC. You will not find them if you use DrawShield on a different PC (but see below for a way to copy memories between Devices)
Secondly, I had the idea for this a couple of days ago, implemented it yesterday and released it today so it can’t be regarded as like, thoroughly tested or anything. Please don’t rely on it, or get annoyed with me if it loses your work!
Memories are maintained in localStorage, this isn’t supported by older browsers (in which case you just won’t see the buttons), and localStorage can be viewed, modified or deleted by anyone with access to your device.
File Saving and Loading
The actions of the save and load button have been amended. If you don’t use memories then save and load will work exactly as before, saving the contents of the editing textarea to a text file, and loading a text file into the textarea.
If however you click “save” and you have used at least one memory then both the editor textarea contents and the contents of any active memories will be stored and downloaded in the file (in JSON format).
The effect of loading a file depends on its contents. If the file just contains a string then it will be loaded into the editor textarea, and all the memories will be left unchanged. If however, the file contains JSON data then both the editor textarea and any memories in the JSON data will be restored. Only memories in the file will be loaded - if there is content in one of your memories and nothing for it in your file then it will not be overwritten.
Hints and Tips
Accidentally recalled something from a memory and overwritten your editor content? It is memory (0), just RCL it to get it back.
Want to keep your own blazon handy at all times? STO it in memory 12 to RCL whenever you need it.
Found an interesting effect but not what you intended? STO the blazon to look at later.
Want to carry on with your blazon from yesterday? It should be in memory (0).
Comments and Suggestions
I've long wanted to turn DrawShield into more of a "Herald's Workbench" and these simple memories are a very small along the road. If you have any ideas for how the full Workbench might work then please get in touch - but be aware that it is probably a lot of time both to develop and support so anything really complex might have to be a paid-for add on.
Hope this is useful!