Decker 1.22


Decker v1.22 introduces minor improvements and generalizations to scripting interfaces.

New Features:

  • Web-Decker now reflects the deck name ("deck.name") in the browser page/tab title.
  • Lilt now provides an "import[]" function which can be used to execute other Lil scripts and return their global definitions wrapped in a dictionary, making it easier to reuse code in complex projects.
  • The card interface now exposes ".copy[]" and ".paste[]" methods for serializing and restoring a string representation of one or more widgets. Likewise, the deck interface  now exposes ".copy[]" and ".paste[]" methods for serializing and restoring a string representation of cards. Both of these functions operate upon strings with an opaque format which may change in the future, but which is identical to that used when copying the corresponding objects manually via the main menu. This functionality was previously exposed to Lilt, and it is now available within Decker as well.
  • The sound interface now exposes "sound.map[]", which behaves like the "image.map[]" method: it transforms every sample within a sound according to a provided lookup table, allowing for efficient nonlinear scaling and clipping.
  • All widgets now expose an "x.toggle[]" function which makes it simpler to show or hide them programmatically:


Depending on how many arguments you provide, this function can simplify many common patterns:


  • Decker now includes an "app" interface which exposes several fields and methods for manipulating the Decker application itself: it can control fullscreen mode, monitor whether audio samples are playing, and request that Decker save the current deck or close itself. This is particularly useful when publishing locked decks, which do not allow the user to trigger such operations manually via the main menu.

Breaking Changes:

With the introduction of the "app" interface, "sys.playing" and "sys.fullscreen" have been moved to "app.playing" and "app.fullscreen". The "sys" interface primarily exposes information about the Lil runtime, and is common to both Decker and Lilt, whereas the "app" interface is specific to Decker. This refactor reduces the number of fields in "sys" which have no purpose or function in Lilt, making the API organization more logical and consistent.

Files

Decker-1.22-mac.zip 2 MB
Jun 16, 2023
Decker-1.22-win.zip 1 MB
Jun 16, 2023
lilt-1.22.zip 419 kB
Jun 16, 2023

Get Decker

Download NowName your own price

Comments

Log in with itch.io to leave a comment.

(+1)

> Lilt now provides an "import[]" function which can be used to execute other Lil scripts and return their global definitions wrapped in a dictionary, making it easier to reuse code in complex projects.

YES! Thank you!