GithubHelp home page GithubHelp logo

stiglers-eponym / beamerpresenter Goto Github PK

View Code? Open in Web Editor NEW
89.0 3.0 7.0 11.74 MB

Modular multi-screen pdf presentation viewer

License: Other

C++ 96.57% C 0.60% CMake 2.84%
qt5 presentation pdf-viewer multi-monitor slides presenter slide-transitions qt6 pdf-annotation

beamerpresenter's Introduction

BeamerPresenter

BeamerPresenter is a PDF viewer for presentations designed to show additional information to the speaker on a separate screen. Multimedia content and tools for drawing/highlighting allow you to make the presentation interactive. The modular user interface can show notes (text or separate PDF file), a timer, thumbnails of the slides etc.

This software uses the Qt framework and the PDF engines MuPDF or Poppler.

Features (selection)

  • modular user interface: adapt for your presentation style and technical equipment (number of monitors, required extra information for the speaker, input devices, ...)
  • compressed cache for fast slide changes
  • videos and slide transitions
  • draw in slides, save drawings in a format compatible with Xournal++
  • highlighting tools (pointer, torch, magnifier)
  • rich text notes for the speaker
  • (optionally) show separate presentation file for speaker or use LaTeX-beamer's option to show notes on second screen
  • timer indicates progress relative to a predefined schedule by it's color
  • navigate using document outline, thumbnail slides, page numbers/labels and links

Screenshots

These screenshots show only a few examples how the speaker's screen can look. The audience sees only the presentation except if you specify something else.

Default configuration of the graphical interface with previews of the next slides: Large image of the current slide of a presentation. Next to it a clock, timer, page label, previews of the next slides, and some buttons. Similar configuration with different Qt theme:
Speaker screen for example configuration gui-interactive.json, can be used e.g. for lectures. Annotations can be saved in a format that is compatible with Xournal++. PDF documents can include videos, sounds, and slide transitions.

Installation

To install BeamerPresenter, you first need to choose a variant that is compatible with you setup. You can choose the PDF engine (Poppler, MuPDF, or QtPDF) and the Qt version (≥5.9 or ≥6.2). It is recommended to use Qt 6 (if available) and Poppler or MuPDF. More details can be found in the installation manual.

BeamerPresenter can be found in the Nix repositories and in the AUR (for Arch/Manjaro/Endeavour, also as a mainline version). The releases come with packages for Arch/Manjaro/Endeavour, Ubuntu 20.04 / 22.04, and flatpak. For example, the commands for installing BeamerPresenter with Poppler as PDF engine and Qt 5 after downloading the corresponding file are:

# Ubuntu 20.04:
sudo apt install ./beamerpresenter-poppler-0.2.4-qt5-focal-x86_64.deb
# Ubuntu 22.04:
sudo apt install ./beamerpresenter-poppler-0.2.4-qt5-jammy-x86_64.deb
# Arch/Manjaro:
sudo pacman -U beamerpresenter-poppler-qt5-0.2.4-1-x86_64.pkg.tar.zst
# Flatpak:
flatpak install org.kde.Platform/x86_64/5.15-21.08 # can be skipped if already installed
flatpak install beamerpresenter-qt5.flatpak

The build process for these packages is explained here. Verify the signature of the checksums in SHA256SUMS:

gpg --keyserver hkps://keyserver.ubuntu.com --recv-keys DD11316A0D8E585F
gpg --verify SHA256SUMS.sig SHA256SUMS

In Windows, it is possible to build and install BeamerPresenter using MSYS2. See INSTALL.md and packaging/Windows.md for details.

The libraries required to build BeamerPresenter are also available on other platforms (see installation manual). Issues or pull requests concerning building on any platform are welcome!

Configuration

There are two different aspects of the configuration:

Program settings

Settings for the program are configured in the configuration file beamerpresenter.conf as documented in man 5 beamerpresenter.conf. Most of these settings can also be changed in the settings widget in the graphical interface, but some settings require a restart of the program.

Some program settings can be temporarily overwritten using command line arguments (documented in beamerpresenter --help or man 1 beamerpresenter).

User interface

The user interface is configured in a separate JSON file (GUI config, gui.json) as documented in man 5 beamerpresenter-ui. This file cannot be edited in the graphical interface. Example configurations are usually installed in /usr/share/doc/beamerpresenter/examples.

The GUI config defines which widgets are shown, including the number of windows, tool buttons, notes for the speaker, combination of different PDF files, and various other settings. A GUI config file can be selected temporarily with the command line option -g <file>.

Bugs and known problems

If you find bugs or have suggestions for improvements, please open an issue.

When reporting bugs, please include the version string of BeamerPresenter (beamerpresenter --version).

The following known problems have low priority. If one of these problems is relevant for you, please also open an issue.

  • Multimedia
    • Some bugs in the Qt 5 version are fixed when using Qt 6. For example, this affects media that are embedded in the PDF document.
    • In Arch Linux the media player regularly hangs up when using qt6-multimedia-gstreamer. With qt6-multimedia-ffmpeg it should work.
    • Sounds included as sound link (not sound annotation) are unsupported when using MuPDF (this affects LaTeX beamer's \sound command; workaround: use \movie instead).
  • Changing tool buttons via the user interface is non-permanent. Permanent changes in the user interface require manual changes in the JSON-formatted configuration file.
  • If a preview shows specific overlays, slide changes adding or removing synchronization of this preview with another widget may lead to short flickering. Slide transitions during such slide changes can contain some ugly artifacts.
  • When compiling with both MuPDF and Poppler, opening some PDF files with renderer=poppler can result in a segmentation fault (when loading the document or when rendering a certain page). It is recommended to compile with only one PDF engine.

License

This software may be redistributed and/or modified under the terms of the GNU Affero General Public License (AGPL), version 3, available on the GNU web site. Compiled versions of this program depend on or include components licensed under the GPL and other free software licenses. More details about the license can be found in the LICENSE file.

BeamerPresenter can be compiled without MuPDF, using only Poppler as a PDF engine. When not using MuPDF in any way, this software may, alternatively to the AGPL, be redistributed and/or modified under the terms of the GNU General Public License (GPL), version 3 or any later version, available on the GNU web site.

BeamerPresenter 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.

beamerpresenter's People

Contributors

pacien avatar sebp avatar stiglers-eponym avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

beamerpresenter's Issues

can't share windows via browsers

System

Ubuntu 20.10, Qt 5.14.2

Issue

When trying to share one of the windows from BeamerPresenter via discord, the browser didn't offer any of BeamerPresenter's windows. The windows from all other applications could be selected. This problem occurred in both Chromium and Firefox.

As a quick fix, I wrapped the top-level widgets in QMainWindows. This did solve the issue.

QWidget* const widget = createWidget(obj, NULL);
if (widget)
windows.append(widget);

was replaced by:

        QWidget* const widget = createWidget(obj, NULL);
        auto* const main_window = new QMainWindow();
        main_window->setWindowTitle("BeamerPresenter");
        main_window->setCentralWidget(widget);
        if (widget)
            windows.append(main_window);

Support for beamer notes

First of all, thanks for providing this tool, it's great!

I was wondering whether there are any plans to support loading notes automatically when using beamer's \setbeameroption{show notes on second screen=right} option. See for instance
this example.

[Feature request] Draw figures, such as squares and circles.

Beamerpresenter allows the users to indicate what the speaker is talking about using the pen tool; the speaker can use the pen tool to draw arrows etc. (and in theory, all kinds of shapes).

For the same reason, if the speaker wants to highlight a certain amount of space, as an example, a whole line in a code example. It can be pretty challenging to create, let's say, a square by hand. Thus, it would be nice if the speaker could draw some commonly used shapes, such as squares, circles, arrows, etc.

error: cannot create appearance stream for Movie annotations

First of all thanks for this awesome tool. It helps alot esp after the new addition of drawing.

I sometimes, the presenter get crash with this error when I open my slide pdf:

error: cannot create appearance stream for Movie annotations
warning: cannot create appearance stream
error: cannot create appearance stream for Movie annotations
warning: cannot create appearance stream
warning: found duplicate fz_image in the store
warning: found duplicate fz_image in the store
warning: found duplicate fz_image in the store
warning: found duplicate fz_image in the store
warning: found duplicate fz_image in the store
warning: ... repeated 6 times...
warning: ... repeated 3 times...
warning: ... repeated 3 times...
warning: found duplicate fz_image in the store
warning: found duplicate fz_image in the store
warning: found duplicate fz_image in the store
warning: found duplicate fz_image in the store
warning: found duplicate fz_image in the store
warning: found duplicate fz_image in the store
   740.494 WARNING unknown:0 - QGraphicsScene::addItem: item has already been added to this scene
   740.504 WARNING unknown:0 - QGraphicsScene::addItem: item has already been added to this scene

I'm on Arch and the version is BeamerPresenter 0.2.0 mupdf=1.18.0 Qt=5.15.2. I also have tried beamerpresenter --renderer poppler slides.pdf with same log.

Three screens with notes

Godd morning. In first place thank you for this useful software.

I would like to know if it is possible to have three instances (screens) of the presentation? One for the audience, a second one for drawwing with a tablet and a third one with the notes? Obviously all of the synchronized.

Thank you very much in advance for the support

Best regards

Alfredo

Touch does not work in debian bullseye

Hi,

first of all, thank you for the awesome program!

I have downloaded and compiled BeamerPresenter, according to the documentation.
The version string of BeamerPresenter is the following:
BeamerPresenter 0.2.3 poppler=20.09.0 Qt=5.15.2

I am using debian bullseye 11.
All other applications work well with touch, e.g. I have also installed xounalpp, and it works fine, however, in BeamerPresenter, I can move the mouse, but after selecting the pen tool and pressing the stylus in the screen nothing happens.
I can delete drawn objects if I move the stylus while clicking on one of its buttons.
Here is a list of the touch devices:

$ xsetwacom --list devices
Wacom Pen and multitouch sensor Finger touch id: 9 type: TOUCH
Wacom Pen and multitouch sensor Pen stylus id: 10 type: STYLUS
Wacom Pen and multitouch sensor Pen eraser id: 16 type: ERASER

(BTW, I have compiled BeamerPresenter in MacOS Ventura, and the same thing happens... but that is probably another issue?)

Thank you for any help to get the pen working!

Unsuccessful build on Ubuntu 18.04.3

I have problems building the project. Running qmake gives me qmake: could not exec '/opt/qt512/bin/qmake': No such file or directory. I tried to use /usr/lib/x86_64-linux-gnu/qt5/bin/qmake instead, but I get a long list of errors and notes starting with:

g++ -c -pipe -O2 -std=gnu++1y -Wall -W -D_REENTRANT -fPIC -DQT_DEPRECATED_WARNINGS -DQT_NO_DEBUG_OUTPUT -DQT_NO_DEBUG -DQT_MULTIMEDIAWIDGETS_LIB -DQT_MULTIMEDIA_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_XML_LIB -DQT_CORE_LIB -I. -isystem /usr/include/poppler/qt5 -isystem /usr/include/x86_64-linux-gnu/qt5 -isystem /usr/include/x86_64-linux-gnu/qt5/QtMultimediaWidgets -isystem /usr/include/x86_64-linux-gnu/qt5/QtMultimedia -isystem /usr/include/x86_64-linux-gnu/qt5/QtWidgets -isystem /usr/include/x86_64-linux-gnu/qt5/QtGui -isystem /usr/include/x86_64-linux-gnu/qt5/QtNetwork -isystem /usr/include/x86_64-linux-gnu/qt5/QtXml -isystem /usr/include/x86_64-linux-gnu/qt5/QtCore -I. -isystem /usr/include/libdrm -I. -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -o previewslide.o src/previewslide.cpp
src/previewslide.cpp: In member function ‘virtual void PreviewSlide::renderPage(int, const QPixmap*)’:
src/previewslide.cpp:135:44: error: ‘class Poppler::Page’ has no member named ‘index’
                 updateCache(&pixmap, page->index());
                                           ^~~~~

What can I do to resolve this problem? I don't have any Qt5 experience and little knowledge in building source code myself. Any hints would be very much appreciated!

Strange behavior with \section frames

Consider the following pdf:

\documentclass{beamer}
\usetheme{metropolis}
\begin{document}
\begin{frame}{before}
\end{frame}
\section{section}
\begin{frame}{after}
\end{frame}
\end{document}

(attached:
main.pdf
)
when making the presentation normally with arrows, all three slides are shown, but the section is not displayed in the preview of next slides:
image

in the thumbnails tab, the first slide is not displayed:
image
Clicking on the thumbnail of the section slide actually displays the before slide.

Reproduced with /nix/store/9jfxkfy1sm3yzdfic4px8pz2w6qb16gp-beamerpresenter-0.2.3-1/bin/beamerpresenter from current nixos-unstable.

Cursor or preview of pen location when drawing in presentation window

Thank you so much for this software -- it has been perfect for me as I moved classes online this fall.

I have one problem: The pen tool is invisible until I start drawing (pushing mouse button or touching pen to tablet). Is this some misconfiguration on my end or a bug?

I'm on Kubuntu 20.04 and BeamerPresenter 0.1.3-294.b0431f3 built from github

can't compile with poppler

Trying to compile with INCLUDE_POPPLER results in following error message:

src/preferences.cpp: In member function ‘void Preferences::setRenderer(const QString&)’:
src/preferences.cpp:511:5: error: expected primary-expression before ‘else’
  511 |     else if (new_renderer == "poppler + external")
      |     ^~~~
make: *** [Makefile:1003: preferences.o] Error 1

This seems to be caused by the following lines, which result in an else else:

#ifdef INCLUDE_POPPLER
if (new_renderer == "poppler")
{
settings.setValue("engine", "poppler");
settings.beginGroup("rendering");
settings.setValue("renderer", "poppler");
settings.endGroup();
}
else
#endif

#ifdef INCLUDE_POPPLER
else if (new_renderer == "poppler + external")
{
settings.setValue("engine", "poppler");
settings.beginGroup("rendering");
settings.setValue("renderer", "externaler");
settings.endGroup();
}
#endif

Removing the else in line 511 should fix this.

configuration file path

Hi! I have tried to modify the pen color acting on the .conf file as follows but the pen is still green.

Draw tools
You can use different syntax to define draw tools:
Red pen with default size 3
keys/Shift+r = pen red
Black pen with size 3 explicitly specified
keys/Shift+k = pen black
Blue pen with color and size explicitly specified
keys/Shift+b = pen color=blue size=3
Yellow highlighter
keys/Shift+h = highlighter color=#c0ffff00 size=30

Using with wacom tablet

On Ubuntu 20.04, using Wacom tablet, I cannot do anything other than draw in black using the tablet. Using mouse, I get all the other tools, but with the tablet I only get "draw in thin black line" no matter what tool I select.

Key press switches only beamer window, not notes window

I'm using the current version and since a few weeks, pressing the left/page-down key only makes the frame on presentation/beamer window switch, the note slides stays the same. This happens with and without separate notes pdf.

If I change the window configuration the "stuck" note slide updates to the correct one.

Using i3wm, X11, archlinux and today's BeamerPresenter build.
screenshot-2019-10-05-18-09-39

tool to clear all drawings?

Good morning,
is it possible to configure a button in the toolset to clear all the drawings in the slide?
Thanks in advance for the support,
Alfredo

Configuring keys in the .conf file

Good afternoon,
I would like to configure a pen color as a key by editing the beamerpresenter.conf file,
based on the available configurations present in the file by defaut, it is not clear to me how to define a key for example to set a pen with a particular color (lets say green). Is it possible to get an example?
thank you very much in advance
King regards
Alfredo

Problem installing in Ubuntu 18

Good Morning,
I am following the instructions provided to install BeamerPresenter in Ubuntu 18, installed the required packages and after typing 'make' I am getting the following error:

src/draw/pathoverlay.cpp:594:10: error: ‘TabletTrackingChange’ is not a member of ‘QEvent’
case QEvent::TabletTrackingChange:

Any idea on how to solve it?
thanks in advance for the support,
regards

Alfredo

Segmentation faults when drawing on slides

Hi. Thanks for this fantastic presenter. I use it constantly in my lectures.
Unfortunately, I get segmentation faults at random moments in time when drawing on the slides (my students got already used to it).
I think the problem is multi-touch, e.g. when my palm touches the screen while writing with the pen, or when touching the screen at two different points with my fingers (even without using the pen).
Please let me know if I can help anything with debugging this further!

Page up/Page Down has no effect - Ubuntu 22

The application remains stuck at slide 1. Pressing Page Up/Page Down/mouse click has no effect. Home and End keys work (show the first and the last slides, respectively). I am running on Ubuntu 22. I have tried installing the deb files (beamerpresenter-poppler-qt5-jammy-x86_64.deb, beamerpresenter-mupdf-qt5-jammy-x86_64.deb and beamerpresenter-mupdf-qt6-jammy-x86_64.deb) and building from source (enabling MuPdf and Poppler one at a time) so far. None of these work.

Error messages:

0.001 INFO unknown:0 - Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway.
0.023 WARNING unknown:0 - QSocketNotifier: Can only be used with threads started with QThread

Exporting QT_QPA_PLATFORM before running also has no effect.

Thank you.

Cannot compile under macOS 10.14 Mojave

Hi, I get the following error under macOS 10.14 while compiling:

In file included from src/screens/../slide/drawslide.h:27:
src/screens/../slide/../draw/pathoverlay.h:91:25: error: no matching constructor for
      initialization of 'FullDrawTool'
    FullDrawTool tool = {NoTool, Qt::black, 0.};

The compiler is Clang++ (I split the output in lines):

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++
-c -pipe -stdlib=libc++ -O2 -std=gnu++11  -arch x86_64 
-isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk 
-mmacosx-version-min=10.13 -Wall -Wextra -fPIC -DQT_DEPRECATED_WARNINGS 
-DAPP_VERSION=\"0.1.1-267.203c955\"
-DCHECK_QPA_PLATFORM
-DICON_PATH=\"/usr/share/icons/hicolor/scalable/apps/\"
-DEMBEDDED_APPLICATIONS_ENABLED -DQT_NO_DEBUG_OUTPUT
-DQT_NO_DEBUG -DQT_MULTIMEDIAWIDGETS_LIB -DQT_MULTIMEDIA_LIB -DQT_WIDGETS_LIB 
-DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_XML_LIB -DQT_CORE_LIB
-I.
-I/usr/include/poppler/qt5 
-I/usr/local/Cellar/poppler/0.83.0/include
-I/usr/local/Cellar/qt/5.14.0/lib/QtMultimediaWidgets.framework/Headers
-I/usr/local/Cellar/qt/5.14.0/lib/QtMultimedia.framework/Headers 
-I/usr/local/Cellar/qt/5.14.0/lib/QtWidgets.framework/Headers
-I/usr/local/Cellar/qt/5.14.0/lib/QtGui.framework/Headers
-I/usr/local/Cellar/qt/5.14.0/lib/QtNetwork.framework/Headers
-I/usr/local/Cellar/qt/5.14.0/lib/QtXml.framework/Headers
-I/usr/local/Cellar/qt/5.14.0/lib/QtCore.framework/Headers
-I.
-I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/OpenGL.framework/Headers
-I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/AGL.framework/Headers
-I.
-I/usr/local/Cellar/qt/5.14.0/mkspecs/macx-clang
-F/usr/local/Cellar/qt/5.14.0/lib
-o main.o
src/main.cpp

It seems to me that the compiler is too old. Could you please say what C++ standard should be satisfied?

Build failure with mupdf 1.23

The type signature of a function in the library seems to have changed.

Build failure noticed on NixOS/master.
beamerpresenter 0.2.3
mupdf 1.23.0

/build/source/src/rendering/mupdfdocument.cpp: In member function 'virtual const QSizeF MuPdfDocument::pageSize(int) const':
/build/source/src/rendering/mupdfdocument.cpp:306:30: error: too few arguments to function 'fz_rect pdf_bound_page(fz_context*, pdf_page*, fz_box_type)'
  306 |         bbox = pdf_bound_page(ctx, pages[page]);
      |                ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
In file included from /nix/store/1fykpw3vv4c19qlxi6m2zr1qzh207dp8-mupdf-1.23.0-dev/include/mupdf/pdf.h:38,
                 from /build/source/src/rendering/mupdfdocument.h:16,
                 from /build/source/src/rendering/mupdfdocument.cpp:22:
/nix/store/1fykpw3vv4c19qlxi6m2zr1qzh207dp8-mupdf-1.23.0-dev/include/mupdf/pdf/page.h:101:9: note: declared here
  101 | fz_rect pdf_bound_page(fz_context *ctx, pdf_page *page, fz_box_type box);
      |         ^~~~~~~~~~~~~~
/build/source/src/rendering/mupdfdocument.cpp: In member function 'void MuPdfDocument::prepareRendering(fz_context**, fz_rect*, fz_display_list**, int, qreal) const':
/build/source/src/rendering/mupdfdocument.cpp:503:27: error: too few arguments to function 'fz_rect pdf_bound_page(fz_context*, pdf_page*, fz_box_type)'
  503 |     *bbox = pdf_bound_page(ctx, pages[pagenumber]);
      |             ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
/nix/store/1fykpw3vv4c19qlxi6m2zr1qzh207dp8-mupdf-1.23.0-dev/include/mupdf/pdf/page.h:101:9: note: declared here
  101 | fz_rect pdf_bound_page(fz_context *ctx, pdf_page *page, fz_box_type box);
      |         ^~~~~~~~~~~~~~
/build/source/src/rendering/mupdfdocument.cpp: In member function 'virtual bool MuPdfDocument::flexiblePageSizes()':
/build/source/src/rendering/mupdfdocument.cpp:758:44: error: too few arguments to function 'fz_rect pdf_bound_page(fz_context*, pdf_page*, fz_box_type)'
  758 |     const fz_rect ref_bbox = pdf_bound_page(ctx, pages[0]);
      |                              ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
/nix/store/1fykpw3vv4c19qlxi6m2zr1qzh207dp8-mupdf-1.23.0-dev/include/mupdf/pdf/page.h:101:9: note: declared here
  101 | fz_rect pdf_bound_page(fz_context *ctx, pdf_page *page, fz_box_type box);
      |         ^~~~~~~~~~~~~~
/build/source/src/rendering/mupdfdocument.cpp:762:30: error: too few arguments to function 'fz_rect pdf_bound_page(fz_context*, pdf_page*, fz_box_type)'
  762 |         bbox = pdf_bound_page(ctx, page);
      |                ~~~~~~~~~~~~~~^~~~~~~~~~~
/nix/store/1fykpw3vv4c19qlxi6m2zr1qzh207dp8-mupdf-1.23.0-dev/include/mupdf/pdf/page.h:101:9: note: declared here
  101 | fz_rect pdf_bound_page(fz_context *ctx, pdf_page *page, fz_box_type box);
      |         ^~~~~~~~~~~~~~
make[2]: *** [src/CMakeFiles/beamerpresenter.dir/build.make:832: src/CMakeFiles/beamerpresenter.dir/rendering/mupdfdocument.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [CMakeFiles/Makefile2:279: src/CMakeFiles/beamerpresenter.dir/all] Error 2
make: *** [Makefile:156: all] Error 2
error: builder for '/nix/store/3kkaw93dmxwcbckiv8v71j0yi7cz6brf-beamerpresenter-0.2.3-1.drv' failed with exit code 2

Support for Windows binaries

Would it be possible to have a binary for Windows? This would help if we have to present on hardware other than our own.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.