Omicron Software Systems
Home · About · Contact · Products

 

About “ToDo X to iPod Notes”

 

ToDo X to iPod Notes copies your to-do list from ToDo X to your iPod, for handy reference from the iPod Notes menu. It requires macOS 10.3 or later and an iPod with Notes capability (first and second generation iPods do not qualify). Your iPod must be configured for use as an external hard disk.

To export your to-do list, simply connect the iPod to your Mac, launch ToDo X to iPod Notes, and in a few seconds you should see the following message.

Window shown upon completion

That’s it! As always, remember to eject your iPod before disconnecting it.

 

Questions and Answers

 

Where is my to-do list data stored on the iPod?

A “ToDo X” folder is created inside the Notes folder on your iPod. Each of your ToDo X categories is represented by one or more text files within that ToDo X folder. Each time you run the script it completely replaces the ToDo X folder with your latest data.

Are there data size limitations?

The iPod imposes limits of 4KB (4096 bytes) per note file and 1000 note files. If a single ToDo X category exceeds the 4K size limitation, ToDo X to iPod Notes will split it into multiple files and link each one to the next. (Use the center Select button to follow a link, and the Menu button to go back, somewhat like a web browser.) If the 1000-file limit is exceeded the excess will be ignored.

Will this interfere with my music?

No, it uses your iPod’s built-in Notes Reader application just the way Apple intended, and it should consume a negligible amount of space.

Can you implement a new feature for me?

We’re happy to hear about new features you’d like to have, but chances are we won’t be adding them to this script. Instead, we hope to implement extensive export capabilities right in ToDo X itself, making ToDo X to iPod Notes redundant.

Well, can I do it myself?

If you know a little bit of Perl or can puzzle out the comments and examples in our Perl script, then there are a lot of things you can do to customize the behavior of ToDo X to iPod Notes. For example, you can easily filter out completed items, export only high-priority items, include item notes, exclude certain categories, and so on.

Where is the Perl script of which you speak?

Control-click on the ToDo X to iPod Notes icon and choose “Show Package Contents” from the popup menu. Open the Contents folder, and you’ll see something called ToDoTextToPod.pl; that is the Perl script where all of the interesting work takes place.

What is this other thing I see called ToDoPlistToText?

That is a command-line tool whose job is to convert your ToDo X data from its native plist format to tab-separated text, which is then piped into ToDoTextToPod.pl for conversion to iPod note files. The AppleScript is responsible for cobbling this together. See below for further information.

Will you be supporting ToDo X to iPod Notes indefinitely?

We hope not. Once export capabilities are built in to ToDo X, we’ll probably abandon ToDo X to iPod Notes and the components thereof.

What is this error I get when I run your script from the AppleScript Editor?

It means “don’t do that”. Instead, save your changes and run ToDo X to iPod Notes from the Finder.

 

Release Notes

 

Version 1.1, 26 March 2005

Version 1.0, 23 August 2004

 

Regarding ToDoPlistToText

 

ToDoPlistToText is a command-line tool that reads your ToDo X data and prints it as tab-separated UTF-8 text. A newer build of ToDoPlistToText is provided (perhaps temporarily) as a separate download for you to use in your own scripts, but in recent versions of macOS, Gatekeeper may prevent you from running it. Should that occur, you can use “xattr -c ToDoPlistToText” to free the tool from quarantine.

Each line of output from ToDoPlistToText consists of the following fields:

itemNo catNo catName itemCrDate itemMoDate itemPriority itemPriString itemName itemNotes

itemNo identifies the to-do item (numbered sequentially from 0)
catNo category ID number
catName category name
itemCrDate item creation date (in whole seconds since 1970)
itemMoDate item modification date (in whole seconds since 1970)
itemPriority numeric item priority (1-9, or 0 for completed items)
itemPriString symbolic item priority (➊-➒, ✔, ✘)
itemName item name
itemNotes item notes

The first output line is a header (as shown above) that identifies the fields provided in subsequent lines.

If an item appears in more than one category, one line is printed for each; the itemNo will be the same for all of them. This field is not a persistent property of the item, just a counter.

The catNo is provided because you can have multiple categories with the same name, and you may want to distinguish them.

Output is in sorted order by priority and item name, the same way they’d be displayed in ToDo X when showing a merged list of all items.

Any tab found within a data field is converted to a space character. Likewise, any carriage return or linefeed is converted to a UniCode line-separator.