User avatar
ajstarks
Posts: 129
Joined: Fri Jun 22, 2012 2:14 am

"deck" a presentation tool

Wed Jun 26, 2013 6:31 am

Deck is a tool for doing presentations on your Raspberry Pi.
The tool is written in Go, using the OpenVG library [1]. See [2] for the
source code, including a sample deck.

By design the number of objects supported is small: text (plain and code blocks, plain and bullet lists), and images.
Positioning of the objects is done via percentages, scaled to a specified canvas size. Text sizes are also specified by a percentage of the canvas. For example, this deck contains two slides, a title page, and a slide with a bulleted list.

Navigation is done with simple keyboard commands to advance and go back, go to the start or end of the deck, as well as search the deck for a given string.

Code: Select all

<deck>
  <canvas width="1920" height="1080" />

  <slide bg="white" fg="maroon">
    <text xp="50" yp="60" sp="5" align="center">Why I use Go</text>
    <image xp="50" yp="50" width="75" height="100" name="doc.png"/>
    <text xp="50" yp="20" sp="1.5" align="center">Anthony Starks</text>
    <text xp="50" yp="15" sp="0.75" align="center">@ajstarks</text>
    <text xp="50" yp="12" sp="0.75" align="center">[email protected]</text>
  </slide>

<slide bg="maroon" fg="white">
      <text xp="20" yp="80" sp="3">Go is:</text>
      <list xp="20" yp="70" sp="2" type="bullet">
         <li>Simple</li>
         <li>Productive</li>
         <li>Portable</li>
         <li>Compiled</li>
         <li>Fast</li>
         <li>Concurrent</li>
      </list>
  </slide>
</deck>
[1] https://github.com/ajstarks/openvg
[2] https://github.com/ajstarks/openvg/tree ... lient/deck

User avatar
ajstarks
Posts: 129
Joined: Fri Jun 22, 2012 2:14 am

Re: "deck" a presentation tool

Sat Jun 29, 2013 2:07 am

Here is a short video of deck in action:

http://www.youtube.com/watch?v=JNtBS60UFUI

User avatar
ajstarks
Posts: 129
Joined: Fri Jun 22, 2012 2:14 am

Re: "deck" a presentation tool

Sat Jul 13, 2013 10:00 am

Deck is now a Go package, with a separate "vgdeck" client. (see http://github.com/ajstarks/deck)

You should be able to install it via:

$ go install github.com/ajstarks/deck/vgdeck

nilliams
Posts: 1
Joined: Mon Aug 26, 2013 3:00 pm

Re: "deck" a presentation tool

Mon Aug 26, 2013 3:14 pm

Looks good, impressive speed :) I wonder whether you experimented with transition animations and what problems you found.

I've been using your OpenVG Testbed [1] project for the last 2 days to do a simple "Now Playing" page for a Spotify app, and I've got some basic animations working fine (a full screen scrolling-line-of-text or 'ticker'), but haven't tried any more adventurous animations yet, so curious of your experience, especially regarding performance.

I'm also having a hard time figuring out how to do clipping/masking, i.e. even the simplest case where text within a Rect gets clipped so as to not overflow the bounding Rect. Did you find any particularly useful OpenVG reference material? Seem to be a distinct lack of tutorials/examples online.

Anyway thanks for your work on the test bed, I'm having fun!

[1] https://github.com/ajstarks/openvg (for interested readers)

User avatar
ajstarks
Posts: 129
Joined: Fri Jun 22, 2012 2:14 am

Re: "deck" a presentation tool

Mon Aug 26, 2013 11:20 pm

Also note that the deck package has two other clients that work on the Raspberry Pi: pdfdeck for making presentations in PDF format, and svgdeck for SVG. To install:

go get github.com/ajstarks/deck.pdfdeck
go get github.com/ajstarks/deck.svgdeck

User avatar
ajstarks
Posts: 129
Joined: Fri Jun 22, 2012 2:14 am

Re: "deck" a presentation tool

Mon Aug 26, 2013 11:29 pm

nilliams wrote:Looks good, impressive speed :) I wonder whether you experimented with transition animations and what problems you found.

I've been using your OpenVG Testbed [1] project for the last 2 days to do a simple "Now Playing" page for a Spotify app, and I've got some basic animations working fine (a full screen scrolling-line-of-text or 'ticker'), but haven't tried any more adventurous animations yet, so curious of your experience, especially regarding performance.

I'm also having a hard time figuring out how to do clipping/masking, i.e. even the simplest case where text within a Rect gets clipped so as to not overflow the bounding Rect. Did you find any particularly useful OpenVG reference material? Seem to be a distinct lack of tutorials/examples online.

[1] https://github.com/ajstarks/openvg (for interested readers)
OpenVG supports clipping and masking, but my library does not support it (yet).
My library also does not support animation, but I'm interested in what the animation API would look like. Should it model SMIL, CSS, iOS?

Here are good OpenVG references:

www.khronos.org/registry/vg/specs/openvg-1.1.pdf
www.khronos.org/files/openvg-quick-reference-card.pdf

User avatar
ajstarks
Posts: 129
Joined: Fri Jun 22, 2012 2:14 am

Re: "deck" a presentation tool

Tue Aug 27, 2013 11:23 pm

nilliams wrote:
I'm also having a hard time figuring out how to do clipping/masking, i.e. even the simplest case where text within a Rect gets clipped so as to not overflow the bounding Rect. Did you find any particularly useful OpenVG reference material? Seem to be a distinct lack of tutorials/examples online.
Note that you can use the TextWidth function to determine the size of text and clip or scale your Rect appropriately.


antonio.raspberry
Posts: 12
Joined: Sat May 23, 2015 4:50 pm

Re: "deck" a presentation tool

Sun Jul 05, 2015 11:13 pm

Hello,

Looks really interesting.
I use the RPi "armless", no keyboard nor mouse, and control the same desktop that shows in the connected tv set with x11vnc. When I start a deck it displays ok in the tv screen but I cannot see it on the vnc client, nor I can control the presentation with the vnc keyboard. Is there a solution for that, or do I need to find other presentation solutions?

Thanks & regards.
Antonio

User avatar
AndyD
Posts: 2331
Joined: Sat Jan 21, 2012 8:13 am
Location: Melbourne, Australia
Contact: Website

Re: "deck" a presentation tool

Sun Jul 05, 2015 11:31 pm

antonio.raspberry wrote:Hello,

Looks really interesting.
I use the RPi "armless", no keyboard nor mouse, and control the same desktop that shows in the connected tv set with x11vnc. When I start a deck it displays ok in the tv screen but I cannot see it on the vnc client, nor I can control the presentation with the vnc keyboard. Is there a solution for that, or do I need to find other presentation solutions?

Thanks & regards.
Antonio
Hi, ajstarks program uses OpenVG. OpenVG output can only be displayed on the actual Raspberry Pi display. So if you need a presentation that can be viewed remotely you will need to find another presentation solution.

User avatar
ajstarks
Posts: 129
Joined: Fri Jun 22, 2012 2:14 am

Re: "deck" a presentation tool

Mon Jul 06, 2015 11:34 am

Another "remote" method is to use the deck web API: you can control a deck from any computer that speaks HTTP. In this case a Raspberry Pi is connected to some display, listening to web requests.

In https://speakerdeck.com/ajstarks/deck-a ... sentations see slides 31-33.

antonio.raspberry
Posts: 12
Joined: Sat May 23, 2015 4:50 pm

Re: "deck" a presentation tool

Thu Jul 16, 2015 10:23 am

Thanks for your answers.


Return to “OpenVG”