--- impressive-0.10.3~WIP+svn31.orig/debian/impressive.links +++ impressive-0.10.3~WIP+svn31/debian/impressive.links @@ -0,0 +1 @@ +usr/share/impressive/impressive.py usr/bin/impressive --- impressive-0.10.3~WIP+svn31.orig/debian/watch +++ impressive-0.10.3~WIP+svn31/debian/watch @@ -0,0 +1,6 @@ +# watch control file for uscan +# Run the "uscan" command to check for upstream updates and more. +# Site Directory Pattern Version Script +version=3 + +http://sf.net/impressive/ Impressive-(.*)\.tar\.gz debian svn-upgrade --- impressive-0.10.3~WIP+svn31.orig/debian/impressive-gettransitions.pod +++ impressive-0.10.3~WIP+svn31/debian/impressive-gettransitions.pod @@ -0,0 +1,57 @@ +=pod + +=head1 NAME + +impressive-gettransitions - Generate Impressive info scripts for LaTeX presentations + +=head1 SYNOPSIS + +B I + +=head1 DESCRIPTION + +A simple script to produce a .info file for use with Impressive, using +special comments in a LaTeX/Beamer file. I is a file to be parsed +into .info file. For each /fullpath/blah.tex /fullpath/blah.pdf.info +gets produced. + +=head1 SYNTAX + +In the LaTeX document, B counts the pages to +determine the PDF slide number of each one. + +The simpler page changes are automatically detected, that is: + \begin{frame} +and: + \pause + +Other, more elaborated page changes must be noted with a C<%O> comment: + \item<1-> Foo + \item<2-> Bar %O + +The transition to apply can be specified in a C<%O> comment: + \begin{frame} %O SlideUp + +=head1 OPERATION + +When the .info file corresponding to the LaTeX document already exist, +B does not clear it, but only adds the transitions +if finds to it. + +Thus, if you modified your document in a way that requires to completely +replace the transitions, manually clear the I section of the .info +file. This can be done by running the following B command: + sed -i -e "/^PageProps = {/,/^}/d" I + +=head1 SEE ALSO + +impressive(1) + +=head1 AUTHOR + +impressive-gettransitions (originally gettransitions) has been written +by Rob Reid. + +This manpage has been originally written by Yaroslav Halchenko . + +=cut --- impressive-0.10.3~WIP+svn31.orig/debian/changelog +++ impressive-0.10.3~WIP+svn31/debian/changelog @@ -0,0 +1,201 @@ +impressive (0.10.3~WIP+svn31-1) unstable; urgency=low + + * Fresh snapshot from upstream SVN (revision 31), fixing issue with audio. + + -- Yaroslav Halchenko Fri, 16 Apr 2010 08:36:32 -0400 + +impressive (0.10.3~WIP+svn30-1) unstable; urgency=low + + * Fresh snapshot from upstream SVN (revision 30), which includes new + features and few bug fixes: + - Adopted patch from Junichi Uekawa (Closes: #507877). Thanks Junichi! + - Fixed reloading issue (Closes: #509243). Thanks Junichi for reporting. + - Fixed a bunch of problems related to non-standard aspect ratios + (Closes: #510625, #572995). + Thanks Benoit Triquet for a tentative patch for 510625. + - Fixes PDF hyperlinks parsing (Closes: #572969) + - Stable caption handling (Closes: #576292) + * Adapt for migration of pdftoppm from xpdf-reader to xpdf-utils in + 3.02-2 version (Closes: #565799). + + -- Yaroslav Halchenko Tue, 06 Apr 2010 18:06:08 -0400 + +impressive (0.10.2r-6) unstable; urgency=low + + * Abandoning X[SB]-P-V since they aren't really required if all Python + versions are supported. + + -- Yaroslav Halchenko Mon, 22 Feb 2010 22:16:36 -0500 + +impressive (0.10.2r-5) unstable; urgency=low + + * Fix "XS-P-V: current and Python 2.6 as default", adopted >= 2.4 value for + XS-Python-Version. Thanks Sandro Tosi for getting Debian ready for switch + to 2.6 (Closes: #570584). + * boosting policy to 3.8.3 -- no changes + + -- Yaroslav Halchenko Fri, 19 Feb 2010 17:27:14 -0500 + +impressive (0.10.2r-4) unstable; urgency=low + + * Lowering priority for transition package keyjnote from optional to extra + (should make ftpmaster happier since it is extra already in + overrides). + + -- Yaroslav Halchenko Sat, 16 Jan 2010 10:56:15 -0500 + +impressive (0.10.2r-3) unstable; urgency=low + + [ Tanguy Ortolo ] + * BF: improved manpage for impressive-gettransitions (Closes: #564757) + * BF: fixing manpage generation under UTF8 environment (closes: + #564766) + + [ Yaroslav Halchenko ] + * debian/control + - adding ${misc:Depends} + - boosting policy to 3.8.3 -- no changes + * debian/copyright + - referencing versioned GPL-2 + + -- Yaroslav Halchenko Sat, 16 Jan 2010 09:49:08 -0500 + +impressive (0.10.2r-2) unstable; urgency=low + + * Resolving problems which forbid impressive to pass through NEW: + - fixing debian/copyright to match upstream: GPLv2 firm + - adding the source for the demo.pdf + - added missing copyright holders into debian/copyright + - building demo.pdf from the shipped with debian .tex source + + -- Yaroslav Halchenko Fri, 05 Dec 2008 12:57:16 -0500 + +impressive (0.10.2r-1) unstable; urgency=low + + * New Upstream Version (version suffix 'r' stands for 'r'enamed to + provide proper Replaces): + - Project was renamed to impressive + - Manpage is shipped by the upstream (closes: #482581) + * Migrated VCS for the packaging into git, added Vcs fields to + debian/control. + * Boosted policy to 3.8.0 (no changes needed) + * Removed obsolete manpage since upstream ships manpage now + * Changed gs -> ghostscript-x in Recommends + * Created transitional package keyjnote + + -- Yaroslav Halchenko Sun, 23 Nov 2008 19:50:31 -0500 + +keyjnote (0.10.2-1) unstable; urgency=low + + * New upstream release: + - uses xrandr to determine the current resolution (closes: #448091) + - 0.10.2 version follows the standard (closes: #457551) + * Boosted standards version to 3.7.3 (no changes needed) + * keyjnote-gettransitions got fresh upstream version + * Bye bye dpatch (and I like no lintian complaints ;-)) + + -- Yaroslav Halchenko Tue, 05 Feb 2008 13:41:55 -0500 + +keyjnote (0.10.1a-1) unstable; urgency=low + + * New upstream release to fix issues with altered behavior of pdftoppm + * Homepage is a control field now + + -- Yaroslav Halchenko Tue, 27 Nov 2007 18:34:21 -0500 + +keyjnote (0.10.1-2) unstable; urgency=low + + * Mention OpenGL in the description (Closes: #446552) + + -- Yaroslav Halchenko Mon, 15 Oct 2007 13:50:24 -0400 + +keyjnote (0.10.1-1) unstable; urgency=low + + * New upstream release + * Maintainership switched over to me per conversation + with original maintainer loong time ago but without official + wnpp/RFA request + * Following recommendations taken from upstream author + (Thanks Martin Fiedler): + - pdftk is Recommended instead of Suggested now + - keyjnote uses by default pdftoppm (added depends on + poppler-utils | xpdf-reader) and gs can be as a fallback + so gs moved into recommends + - install demo.pdf + + -- Yaroslav Halchenko Mon, 10 Sep 2007 11:42:43 -0400 + +keyjnote (0.10.0-1) unstable; urgency=low + + * New upstream release (thanks to Vincent Bernat for the alarm email + closes: #433019) + + -- Yaroslav Halchenko Sat, 14 Jul 2007 02:49:26 -0400 + +keyjnote (0.9.4-1) unstable; urgency=low + + * New upstream release + + -- Yaroslav Halchenko Sun, 15 Apr 2007 00:57:27 -0400 + +keyjnote (0.9.3-1) unstable; urgency=low + + * New upstream release + + -- Yaroslav Halchenko Tue, 20 Mar 2007 00:15:08 -0400 + +keyjnote (0.9.1-1) unstable; urgency=low + + * New upstream release (Closes: #408146, #408129) + + -- Yaroslav Halchenko Thu, 25 Jan 2007 08:36:38 -0500 + +keyjnote (0.9.0-1) unstable; urgency=low + + * New upstream release + * Added dpatch code to rules and debian/patches directory to handle patches + to be applied/sent upstream + * Resolved issue with crashing in FadeOut mode whenever mouse gets pressed + (Closes: #408133) + * Added a script keyjnote-gettranslations (and a corresponding man + page) useful for LaTeX users to generate .info files from the + original LaTeX sources of the presentation + * Updated keyjnote man page to inform about 'w'/'b' shortcuts + * Suggests latex-beamer + * Moved /usr/bin/keyjnote to /usr/share/keyjnote/keyjnote.py, and linked + it back. That is so keyjnote could be used easily as a python module + by other software (e.g. keyjnotegui which was ITPed by me) + - Boosted-up dependency version of python-support to correspond current + state of python packaging HOWTO + - Added X{B,S}-Python-Version fields to debian/control + - Moved dh_pysupport in the proper location in the sequence to generate + pre/post scripts + + -- Yaroslav Halchenko Tue, 23 Jan 2007 13:28:46 -0500 + +keyjnote (0.8.3-1) unstable; urgency=low + + * New upstream release (Closes: #402180) + * Added shipped upstream keyjnote.html to be installed as doc + * Made creation of the man page a build dependency + * Silent lintian about character in man page by substituting it with groff + sequence + + -- Yaroslav Halchenko Fri, 5 Jan 2007 10:08:12 -0500 + +keyjnote (0.8.2-2) unstable; urgency=low + + * Minor debian/control adjustments: + - Boosted standards-version (no changes necessary) + - Myself in Uploaders + - Additional feature in description + - Trailing space removed + * Created debian/watch for uscan + + -- Yaroslav Halchenko Fri, 5 Jan 2007 10:05:44 -0500 + +keyjnote (0.8.2-1) unstable; urgency=low + + * Initial release. (Closes: #373246) + + -- Florian Ragwitz Mon, 11 Sep 2006 00:32:19 +0200 --- impressive-0.10.3~WIP+svn31.orig/debian/impressive.docs +++ impressive-0.10.3~WIP+svn31/debian/impressive.docs @@ -0,0 +1,2 @@ +demo.pdf +debian/demo.tex --- impressive-0.10.3~WIP+svn31.orig/debian/copyright +++ impressive-0.10.3~WIP+svn31/debian/copyright @@ -0,0 +1,37 @@ +Originally: + +This package has been debianized by Florian Ragwitz +on Mon, 11 Sep 2006 00:44:20 +0200. + +It has been downloaded from http://keyjnote.sourceforge.net/. + +After revision 0.10.2 project was renamed into Impressive and fresh +tarball (without functional changes) was downloaded from +http://impressive.sourceforge.net/. + +The upstream author is Martin J. Fiedler . + +Copyright (C) 2005-2008 Martin J. Fiedler + portions Copyright (C) 2005 Rob Reid + portions Copyright (C) 2006 Ronan Le Hy + portions Copyright (C) 2007 Luke Campagnola + +License: + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2. + + This program is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + FOR A PARTICULAR PURPOSE. See the GNU General Public License for more + details. + +On Debian systems, the complete text of the GNU General Public License can be +found in `/usr/share/common-licenses/GPL-2'. + +gettransitions script (shipped as impressive-gettransitions) has been +downloaded from http://www.cv.nrao.edu/~rreid/software/gettransitions +Copyright 2006 Rob Reid, released under GNU public license v2. + + --- impressive-0.10.3~WIP+svn31.orig/debian/keyjnote.links +++ impressive-0.10.3~WIP+svn31/debian/keyjnote.links @@ -0,0 +1,2 @@ +usr/bin/impressive usr/bin/keyjnote +usr/share/man/man1/impressive.1.gz usr/share/man/man1/keyjnote.1.gz --- impressive-0.10.3~WIP+svn31.orig/debian/impressive.dirs +++ impressive-0.10.3~WIP+svn31/debian/impressive.dirs @@ -0,0 +1,2 @@ +usr/bin +usr/share/impressive --- impressive-0.10.3~WIP+svn31.orig/debian/rules +++ impressive-0.10.3~WIP+svn31/debian/rules @@ -0,0 +1,53 @@ +#!/usr/bin/make -f + +PACKAGE = $(shell dh_listpackages | head -1) +TMP = $(CURDIR)/debian/$(PACKAGE) + +build: debian/impressive-gettransitions.1 demo.pdf + +%.1: %.pod + pod2man --section=1 --release="Debian Project" \ + --center="Debian GNU/Linux manual" $^ \ + > $@ + +demo.pdf: debian/demo.tex + @mkdir -p build + { cd build && pdflatex ../$^ && mv demo.pdf ..; } + @rm -rf build + +clean: + dh_testdir + dh_testroot + rm -f install-stamp + rm -rf build + dh_clean debian/impressive-gettransitions.1 + +install: build install-stamp +install-stamp: + dh_testdir + dh_testroot + dh_clean -k + dh_installdirs + install --mode=755 impressive.py $(TMP)/usr/share/impressive/impressive.py + # install a handy script for latex users + install --mode=755 debian/misc/gettransitions $(TMP)/usr/bin/impressive-gettransitions + touch install-stamp + +binary-arch: build install + +binary-indep: build install + dh_testdir + dh_testroot + dh_installman impressive.1 debian/impressive-gettransitions.1 + dh_installdocs impressive.html + dh_installchangelogs + dh_pysupport + dh_link + dh_compress -X.pdf + dh_fixperms + dh_installdeb + dh_gencontrol + dh_md5sums + dh_builddeb + +binary: binary-indep binary-arch --- impressive-0.10.3~WIP+svn31.orig/debian/demo.tex +++ impressive-0.10.3~WIP+svn31/debian/demo.tex @@ -0,0 +1,225 @@ +\documentclass[bigger,hyperref={colorlinks=true,linkcolor=white,urlcolor=blue}]{beamer} +\usepackage[latin1]{inputenc} +\usepackage[english]{babel} +\usepackage{helvet,listings} + +\title{Introducing Impressive} +\author{Martin J. Fiedler} +%\institute{Silicon Image} +\date{version 0.10.2} +\subject{Impressive} +\titlegraphic{\href{http://impressive.sourceforge.net/}{http://impressive.sourceforge.net/}} + +\usetheme{Warsaw} +\setbeamertemplate{navigation symbols}{} + +\begin{document} + +\maketitle + + +\section{Overview} + +\subsection{What is Impressive?} +\begin{frame}{What is Impressive?} + \large + \textbf{Impressive is a PDF and image viewer optimized for presentations} + \normalsize + \begin{itemize} + \item ... with some eye candy ;) + \item uses OpenGL for display + \item uses Xpdf or GhostScript to render PDF files + \item written in Python + \item available for Unix-like and Windows operating systems + \item Open Source (GPLv2) + \end{itemize} +\end{frame} + +\subsection{Software Requirements} +\begin{frame}{Software Requirements} + Impressive requires a few libraries and helper applications: + \begin{itemize} + \item Python 2.3 or newer + \item PyGame (SDL port for Python) + \item PyOpenGL + \item Python Imaging Library (PIL) + \item Xpdf or GhostScript + \item pdftk \emph{(optional, but recommended)} + \end{itemize} + Packages for these dependencies should be available for almost every + operating system. \\ + For Windows, there's a convenient self-contained archive with + everything needed. +\end{frame} + +\subsection{Hardware Requirements} +\begin{frame}{Hardware Requirements} + \begin{itemize} + \item hardware accelerated OpenGL + \begin{itemize} + \item every post-2000 graphics chip should do + \item Linux/BSD users need a driver that actually implements + hardware acceleration! + \end{itemize} + \item a fast CPU + \begin{itemize} + \item some transitions are quite CPU-intensive + \item rule of thumb: the faster the better! + \item absolute minimum is at about 700 MHz + \end{itemize} + \end{itemize} +\end{frame} + +\subsection{How does it work?} +\begin{frame}{How does it work?} + \begin{enumerate} + \item create slides with the presentation software of your choice + \item export them to a PDF file + \item \texttt{impressive MySlides.pdf} + \begin{itemize} + \item left mouse button, [PageDown] or [Space]: \\ + next slide + \item right mouse button, [PageUp] or [Backspace]: \\ + previous slide + \item {}[Q] or [Esc]: quit + \end{itemize} + \end{enumerate} +\end{frame} + + +\section{Features} + +\subsection{Emphasis} +\begin{frame}{Emphasis} + Impressive offers multiple ways of emphasizing parts of a page. + \vspace{0.5cm} \\ + \textbf{Option 1:} {\glqq}Spotlight{\grqq} + \begin{itemize} + \item toggle with [Enter] + \item a bright circular spot follows the mouse cursor + \item everything else gets dark and blurry + \item spot size adjustable with [+]/[-] or the mouse wheel + \end{itemize} +\end{frame} +\begin{frame}{Highlight Boxes and Zoom} + \textbf{Option 2:} Highlight Boxes + \begin{itemize} + \item drag a box with the left mouse button + \item any number of boxes per page + \item delete a box by clicking it with the right mouse button + \item boxes stay even after leaving and re-entering the page + \end{itemize} + + \textbf{Option 3:} Zoom + \begin{itemize} + \item {}[Z] key toggles 2x zoom + \item visible image can be moved around with the right mouse button + \end{itemize} +\end{frame} + +\subsection{Overview Page} +\begin{frame}{Overview Page} + \begin{itemize} + \item press the [Tab] key + \item Impressive zooms back to an overview screen showing all pages + of the presentation + \item new page can be selected with mouse or keyboard + \item left mouse button or [Enter] zooms into selected page + \item right mouse button or [Tab] cancels and returns to the previously + shown page + \end{itemize} +\end{frame} + +\subsection{Customization} +\begin{frame}{Customization} + \begin{itemize} + \item command line parameters (lots of them!) + \item {\glqq}Info Scripts{\grqq} + \begin{itemize} + \item same name as the input file, but suffix \texttt{.info}, e.g. \\ + \texttt{slides.pdf} $\rightarrow$ \texttt{slides.pdf.info} + \item real Python scripts, executed before the presentation starts + \item can be used to set the document title or other settings + \item can be used to set up per-page settings: {\glqq}Page + Properties{\grqq} + \begin{itemize} + \item title + \item transition effect + \item ... + \end{itemize} + \end{itemize} + \end{itemize} +\end{frame} +\begin{frame}[fragile] +\frametitle{Info Script Example} +\begin{verbatim} +# -*- coding: iso8859-1 -*- + +DocumentTitle = "Example Presentation" + +PageProps = { + 1: { 'title': 'Title Page', + 'transition': PagePeel }, + 2: { 'title': 'Introduction' }, + 5: { 'timeout': 3500 }, + 8: { 'overview': False } +} +\end{verbatim} +\end{frame} + +\subsection{Other Features} +\begin{frame}{Other Features} + \begin{itemize} + \item support for PDF hyperlinks inside the document + \item page cache in RAM or on disk, temporary (default) or persistent + \item background rendering + \item fade to black or white + \item hide specific pages from the overview page + \item page bookmarks (keyboard shortcuts) + \item only show a subset of the presentation + \item rotation in 90-degree steps + \item time display and measurement + \end{itemize} +\end{frame} +\begin{frame}{Rarely Used Features} + \begin{itemize} + \item automatic, timed presentations + \item customization of almost every timing or OSD parameter + \item automatic reloading of the input file(s) on change + \item permanent storage of the highlight boxes + \item playing sounds or videos or executing arbitrary Python code + when entering a page + \item {\glqq}Render Mode{\grqq}: doesn't show the presentation, but + renders the input PDF file into a directory with one PNG file + per page + \end{itemize} +\end{frame} + + +\section{Future} +\subsection{Missing Features} +\begin{frame}{Missing Features} + \begin{itemize} + \item painting and annotations + \item multi-monitor support + \item support for embedded videos + \item integration into (or cooperation with) latex-beamer + and OpenOffice.org Impress + \item \alert{\emph{your feature here}} + \end{itemize} +\end{frame} + +\subsection{Get in touch} +\begin{frame}{Get in touch} +\begin{center} + \textbf{Questions, Suggestions, Comments?} \\ + just write to \\ + \href{mailto:martin.fiedler@gmx.net}{martin.fiedler@gmx.net} + \vspace{1.5cm} \\ + \textbf{Try Impressive!} \\ + packages are available at \\ + \href{http://impressive.sourceforge.net/}{http://impressive.sourceforge.net/} +\end{center} +\end{frame} + +\end{document} --- impressive-0.10.3~WIP+svn31.orig/debian/control +++ impressive-0.10.3~WIP+svn31/debian/control @@ -0,0 +1,40 @@ +Source: impressive +Section: x11 +Priority: optional +Build-Depends: debhelper (>= 5) +Build-Depends-Indep: python-support (>= 0.5.3), perl, texlive-latex-base, latex-beamer, texlive-fonts-recommended +Maintainer: Yaroslav Halchenko +Homepage: http://impressive.sourceforge.net/ +Vcs-Browser: http://git.onerussian.com/?p=deb/impressive.git +Vcs-git: http://git.onerussian.com/vcs/deb/impressive.git +Standards-Version: 3.8.4 + +Package: impressive +Architecture: all +Depends: ${python:Depends}, ${misc:Depends}, python-opengl, python-pygame, python-imaging, poppler-utils | xpdf-reader (<< 3.02-2) | xpdf-utils (>= 3.02-2), perl +Recommends: pdftk, ghostscript-x +Provides: keyjnote +Replaces: keyjnote (<< 0.10.2r-0) +Conflicts: keyjnote (<< 0.10.2r-0) +Suggests: latex-beamer +Description: PDF presentation tool with eye candies + Impressive is a program that displays presentation slides using OpenGL. + Smooth alpha-blended slide transitions are provided for the sake of eye + candy, but in addition to this, Impressive offers some unique tools that + are really useful for presentations. Some of them are: + * Overview screen + * Highlight boxes + * Spotlight effect + * Presentation scripting and customization + +Package: keyjnote +Priority: extra +Architecture: all +Depends: ${misc:Depends}, impressive +Description: PDF presentation tool with eye candies (transition package) + Package to ease upgrading for previousely installed versions of keyjnote, + which was later renamed into impressive. Also it provides symbolic links + from keyjnote to impressive module and executable. + . + This package can be purged at anytime once the impressive package has + been installed and user comprehends the change of the project name. --- impressive-0.10.3~WIP+svn31.orig/debian/compat +++ impressive-0.10.3~WIP+svn31/debian/compat @@ -0,0 +1 @@ +5 --- impressive-0.10.3~WIP+svn31.orig/debian/misc/gettransitions +++ impressive-0.10.3~WIP+svn31/debian/misc/gettransitions @@ -0,0 +1,95 @@ +#!/usr/bin/perl -w + +my $usage = q { +Use: gettransitions talk.tex + +talk.tex should be a LaTeX file using the beamer documentclass. +The transitions commented immediately after each \\begin{frame} or +\\pause will be put into talk.pdf.info. +}; + +my $texf = $ARGV[0]; +if($texf !~ /\.tex$/){ + print $usage; + exit(1); +} + +my $infof = $texf; +$infof =~ s/\.tex$/.pdf.info/; + +# 06/10/2007: "Pino" (Giseppe Vallone) pointed out that this script should +# *update* $infof, not just write over it if it already exists. The highlight +# box info is stored there, and keyjnote's behavior is to merge. +my $info = ''; +my $inPageProps = 0; +my %PageProps = (); +my $slidenum = 0; +if(-f $infof){ + open(INFO, "$infof") or die + "$infof exists, but opening it for reading produced error $!"; + while(){ + my $line = $_; + if($line =~ /^PageProps\s*=\s*{/){ + $inPageProps = 1; + } + elsif($inPageProps == 1){ + if($line =~ /^\s*(\d+):?\s*{/){ + $slidenum = $1; + $inPageProps = 2; + } + elsif($line =~ /^\s*}/){ + $inPageProps = 0; + } + } + elsif($inPageProps == 2){ + if($line =~ /^\s*}/){ + $inPageProps = 1; + } + else{ + $PageProps{$slidenum} .= $line; + } + } + else{ + $info .= $line; + } + } + close(INFO) or die "Error $! closing $infof after reading."; +} +else{ + $info = "# -*- coding: iso-8859-1 -*-\n"; +} + +# At this stage $info includes any preexisting info *except* page properties, +# which have been moved into %PageProps. + +# Find page transitions in the .tex file. +$slidenum = 0; +while(<>){ + my $tline = $_; + chomp $tline; + + if($tline =~ /^[^%]*\\(begin{frame}|pause)/ || $tline =~ "%O"){ + ++$slidenum; + print "$slidenum: $tline\n"; + if($tline =~ /%O?\s*([A-Z]\w+)/){ + my $transition = $1; + + if($PageProps{$slidenum} =~ /^\s*'transition':/){ + $PageProps{$slidenum} =~ s/(^\s*'transition':\s*)\w+/$1$transition/; + } + else{ + $PageProps{$slidenum} .= " 'transition': $transition\n"; + } + } + } +} + +open(INFO, "> $infof") or die "could not open $infof for writing"; +print INFO $info; # Everything but %PageProps. +print INFO "PageProps = {\n"; # Open up PageProps. +foreach my $k (sort {$a <=> $b} keys %PageProps){ + printf INFO "% 3s: {\n", $k; # slidenum + print INFO "$PageProps{$k} },\n"; +} +print INFO "}\n"; +close(INFO) or die "error closing > $infof";