DWScript showcase: AquaSoft SlideShow

Answering the call for showcases, Steffen Binas prepared a very nice set of screenshots for AquaSoft‘s Slide Show impressive product, which went far beyond the minimal requirement, so I’m posting a full-blown article about it. Following is the presentation of their software and how DWScript is used inside it.

When you need a powerful showcase I’d bet AquaSoft SlideShow is the one: http://www.aquasoft.de/diashow.as (an english website for version 8 is coming soon).

AquaSoft_ScreenshotDS8

Despite the simple name of the application it’s very powerful, just have look at the trailer video created completely with it.

We implemented an API to manipulate the slideshow before and during playing, we generate GUI using scripts and implemented an IDE with debugger and code completion. We implemented a powerful publishing system to export Delphi interfaces to scripting space via Attributes and RTTI.

Scripted context menus

Scripted context menus

The scripting system is intended to be used mainly by the developers and preset designers but we provide all the tools users too.

Script-based presets

Script-based presets

Our Interface based API can be found here (German only): http://wiki.aquasoft.de/wiki/index.php/Dokumentation_der_Scripting-API

AquaSoft Scripting IDE

AquaSoft Scripting IDE

How scripting is used:

  • build intelligent presets which generate parts of the slideshow out of more complex templates.
  • generate basic GUI for presets (e.g. Animated Path)
  • allow execution of HLSL shaders, build their GUI and calculate their parameters
  • generate context menu entries for SlideShowObjects
  • manipulate bitmaps
Scripted GUI

Scripted GUI

Another product is AquaSoft WebShow 4 which is a tool to create web galleries out of photos and videos. DWScript is used here in its original manner using the HTML Filter to mix pascal code with html. Later we used more and more an HTMLBuilder class with fluent interface written completely in DWScript to avoid the html fragments mixed in the templates.

Scripted Web Templates

Scripted Web Templates

The templates are created object orientated and use inheritance. DWScript was a replacement for an own scripting language which was used in earlier versions. WebShow 4 is unfortunatelly not completely ready yet as it only has three templates included but is already public as the web wizard shipped together with AquaSoft SlideShow 8.