A slideshow program
Adelie is a plain-text presentation tool and format. It is used to create slideshows with uxn. It features a handful of commands to quickly place text and images on slides, it can be operated with a keyboard, mouse or a game controller.
The program features two font sizes to choose from, and TGA image support. All sizes are in hexadecimal numbers.
- Getting started
- Making a slideshow
- Head and Text
- Speaker view
- Speaker Notes
- Example project
Begin by downloading adelie.rom(25kb). If you wish to assemble the rom yourself, see the project repository. You must have an uxn emulator to use Adelie. To run the slideshow, in a terminal window navigate to the project folder and type:
uxnemu bin/adelie.rom slides.txt
Sideshow files contain one command, or comment, per line.
- set slide size
- set slide name
- move to absolute position
- make link region
- ignore slide controls
- automate slide control
- set text color
- draw picture
- draw header
- draw text
- fill background
- fill rectangle
- next slide
- draw marker
- prev slide
- previous slide
- next slide
- previous slide
- next slide
- toggle link view
Making a slideshow
The project text file consists of a plain text, for example myproject.txt, file where each line begins with a command written as 4 uppercased characters.
Below is an example of an all-text slide (HEAD):
NAME Slide 1 FILL 00 GOTO 03,24 MODE 0f HEAD Larger Header MODE 08 MOVE 00,05 HEAD Smaller text`with a linebreak
And here is a slide with both text and an image(PICT):
NAME Slide 2 GOTO 00,00 PICT picture.tga MOVE 30,02 MODE 0a HEAD Picture name
Adelie uses hexadecimal numbers, in which the numbers from 10 to 15 are represented as the letters a to f. So if the desired text position of an image in decimals is 12,11 the hexadecimal equivalent would be 0c,0b. View this hexadecimal table for help with conversion.
The default ratio for any project is 768x448(30,1c). Specifying a size in the project text file (at the top of the text file before the slides), will load the slideshow at that resolution. When deciding on a slide size, it is necessary to use multiples of 16.
SIZE 30,1c ( 768 x 448 )
If, for example, the desired size is 720x480, it is necessary to make a calculation to get the correct size for Adelie. 720 and 480 must each be divided by 16, and then converted to hexadecimals.
720/16=45 decimal, or 0x2d hexadecimal. 480/16=30 decimal, or 0x1e hexadecimal. Result: SIZE 2d,1e
The command GOTO is used to position both text and images in a slideshow. To make it easier to place images on the canvas, middle-clicking on a slide will display the position of the cursor, marked on screen by a cross hair and a set of coordinates. Press shift to remove the markers from view.
In the project text file, the GOTO command must sit on the line right above the text or image it will affect.
GOTO 24,04 HEAD We began using`technology as little`as possible.
The MODE command refers to the 'blending modes' in uxn. The colors are determined by the color theme applied to the project.
Color options for Adelie are as follows:
The command FILL will insert a solid background to the slide. For color information, see blending modes(above table).
If an image takes up the entire canvas, a fill is not needed, but if the image is repositioned on the canvas the previous slide will be visible underneath. Adding a fill will keep that from happening.
The command PICT is used to add images in the slideshow.
Adelie requires that images be saved in the .tga format. When exporting images to .tga, uncheck the RLE for compression box (if it option comes up), and change Bottom left in the Origin drop-down menu to Top left.
By default, images will be centred on the canvas(00,00) and can be re-positioned using GOTO followed by a hexadecimal position.
Head and text
Headers are labelled as HEAD, and sub-text as TEXT. Header text is larger, while sub-text is smaller.
Writing text without linebreaks ` will leave the text as a continous phrase, which may spill out of the canvas. It is not necessary to add spaces before or after the `.
Below is the text used to make the above slide:
NAME Power solutions FILL 03 GOTO 04,03 PICT weeding.tga GOTO 04,04 HEAD Doing away with`bloated toolchains. GOTO 08,10 TEXT Weed out sources of waste.
The LINK command makes an area on the canvas clickable. With LINK, it becomes possible to make small games in Adelie.
LINK expects a size. In the above example the two penguin faces act as two separate links, and the size of the clickable region is yours to determine (in the above example it covers the penguin's head). To link to a specific slide, enter that slide's name after the size. Press shift to see the clickable region and slide name, press shift again to make it disappear.
Like with the HEAD,TEXT or PICT commands, a GOTO is required to position the clickable region over the desired portion of the canvas.
When using the LINK command, it is recommended to use the STOP command as well so that it is only ever possible to get past the slide by way of clicking a link.
Example of a slide from the Adelie tutorial, with links:
NAME Links FILL 03 MODE 0c GOTO 04,10 PICT etc/adelie3.tga GOTO 24,10 PICT etc/adelie3.tga GOTO 20,0c HEAD Adelie Links MOVE 02,07 TEXT You can make part of a slide clickable using the LINK command.`Press shift to see a slide's links. MODE 06 GOTO 08,24 LINK 1c,10 Introduction GOTO 28,24 LINK 1c,10 Hidden Slide STOP
If doing a presentation, pressing SHIFT reveals a timer in the upper left corner, ideal if the presentation has a time limit, and makes visible information about the current and following slide.
In this mode it is also possible to draw on the slide itself, to add notes, or silly drawings.
If SHIFT is pressed again, all notes will be erased.
When making a presentation we like to keep notes for each slide, as a reminder on what to say.
The notes are printed in the terminal, and change from slide to slide.
Notes ought to be inserted in the same file as the slides, after every slide (following all of the image, text, and position information). We like to add indentations to make the text easier to follow.
NAME [rek] Rek, Dev and Pino FILL 03 GOTO auto PICT media/rekdev.tga Im Rek, & this is Devine, and together we form the Hundred Rabbits artist collective. Since 2016, we have lived aboard a 10-meter long sailboat, named Pino, We make art, games, books, as well as tools for drawing, writing, composing music. Including this slideshow program. NAME [rek] boat vivarium FILL 03 GOTO 17,03 PICT media/pino.tga GOTO 0a,12 MODE 05 HEAD Boat vivarium GOTO 0a,18 TEXT At sea, a boat is an island. With our boat, we have circumnavigated the Pacific Ocean. We started in Western Canada, sailed to Mexico, then across all the South Pacific Islands to NZ,
The STOP command ignores all slide controls.
If making a slide with clickable links, using a STOP disables slide controls so that the user cannot go forward without selecting a link. It's also used to stop a slideshow with some automated slides (with the WAIT command).
The WAIT command acts as a timer to automate transitions between slides, for creating little animation sequences etc..
The time is in hexadecimal. 01 is 1/60th of a second, 02 is 2/60th of a second, 40 128 etc.
NAME Drawing Keywords FILL 03 GOTO 2c,08 MODE 0c PICT etc/adelie1.tga GOTO 04,0d HEAD Drawing Keywords WAIT 40 NAME Drawing: Mode GOTO 06,15 TEXT MODE MOVE 09,00 TEXT mode MOVE 09,00 TEXT set blending mode WAIT 08
To draw a rectangle on the canvas, use the command RECT along with a position.
Here is an example of a 4 slide project:
SIZE 2d,1e NAME logo GOTO 00,00 PICT media/nime.tga NAME 100r logo FILL 03 GOTO 00,00 PICT media/100r.tga NAME Rek and Dev FILL 03 GOTO 00,00 PICT media/rekdev.tga NAME Setup FILL 03 GOTO 0d,00 PICT media/sailing.tga GOTO 04,05 MODE 05 HEAD Living & working`from a sailboat. GOTO 08,12 TEXT Name: Pino`Make: Yamaha`Length: 10m`Made: 1982`Origin: Shizuoka, Japan
Adelie is capable of more complex projects, it's possible to make animated slide transitions using the WAIT, STOP, PATT(undocumented). See this example project(Mastodon).
NAME -- PATT 81 00 00 00 00 00 00 81 FILL 0f WAIT 08 NAME -- PATT c3 81 00 00 00 00 81 c3 FILL 0f WAIT 08 NAME -- PATT e7 c3 81 00 00 81 c3 e7 FILL 0f WAIT 08 NAME -- PATT ff e7 c3 81 81 c3 e7 ff FILL 0f WAIT 08 NAME -- PATT ff ff e7 c3 c3 e7 ff ff FILL 0f WAIT 08 NAME -- PATT ff ff ff e7 e7 ff ff ff FILL 0f WAIT 08 NAME -- PATT ff ff ff ff ff ff ff ff FILL 0f WAIT 08
We produced Adelie for our Libre Planet Keynote talk in March 2022. We used it again for our Nime 2022 Keynote talk.
The license applies to all the documented projects, the projects themselves and their assets. The source code of this website and our apps are under the MIT License, but the assets and text content of this website and of our apps are under the BY-NC-SA4.0 License. We are happy to pass knowledge, and that others can learn from our projects, improve on them, or make them into something else that is useful, but please, do not try to sell our projects as is under a different name. Doing so is very lazy, and disrespectful to us.
DO NOT resell or mint our work.
You can find our more recent projects on Sourcehut.