The Command Line
The other main weak point in Toucan is the command line interface, mainly because it breaks, a lot. So whilst reworking the scripting system I also decided to redo the command line interface.
To take advantage of the new scripting system the new command line interface is a front end to the script system itself, for example to enter a script you do the following:
toucan --script="print(2 * 10)"
Which passes the quoted string straight to Lua for running. This means that a lot of the errors that used to occur in the command line mode should be eliminated as they were mainly parsing errors, but now the exact same system is used in the graphical user interface and the command line interface. This does have one main downside and that is that calling a script by name now requires the following command:
Hopefully this will be improved by the final release.
As well as running scripts from the command line other switches and options will also be supported, currently two have been added, --disablesplash, which should be obvious and --datadirectory which allows you to move the directory Toucan stores its settings in. This means that RunLocally and DisableSplash options will be fully supported in Toucan 3.
Running Toucan from a device that you cannot write to is also fully supported, either by using RunLocally or simply running it off the device. When Toucan starts up it attempts to write a file to its app directory, if this fails Toucan drops into read only mode. Read-only mode is almost identical to normal usage, existing jobs can be run, as can new jobs, but they cannot be saved and settings cannot be updated. This is a major changes over previous versions which did not work when they could not perform writes.
User Interface Improvements &Windows 7 Support
As shown in one of the Teaser pictures Toucan 3 also adds support for the taskbar progress feature of Windows 7. This makes checking to see how Toucan is doing easy and quick.
The user interface should also be fully responsive at all times due to a number of changes, mainly that Toucan is fully threaded whilst running scripts. Also (under Windows) the ability to cancel a file copy mid operation improves usability. Making Sync preview threaded is also planned as is the option to show only changed files in the preview itself, an often requested feature.
The next post will mention what is being done to open up Toucan to other developers and cross platform support. As always please post any comments!