cimbali / pympress Goto Github PK
View Code? Open in Web Editor NEWPympress is a simple yet powerful PDF reader designed for dual-screen presentations
Home Page: https://cimbali.github.io/pympress/
License: GNU General Public License v2.0
Pympress is a simple yet powerful PDF reader designed for dual-screen presentations
Home Page: https://cimbali.github.io/pympress/
License: GNU General Public License v2.0
How is the annotations feature supposed to work? I can't add annotations.
I have tried the solution given here:
But I cannot make it work. Any suggestions/advice?
I am running OSX 10.13.3 with Python version 2.7. I installed pympress via pip yesterday (not sure what version it is, I assume the latest).
What are you trying to achieve? What's the expected outcome?
It took me a while to install the relevant dependencies and I had to create symbolic links for gi and cairo in the pympress install location, but I now have it operational such that the program will open without errors (to an extent).
My issue now is that when I try and open the program with a pdf file, or when I try to open a pdf after having already started the program, I get a pop-up messagebox simply saying
Error opening the file "/path/presentation.pdf"
I'm simply typing
pympress /path/presentation.pdf
in the terminal, and get output
(pympress:25174): Gtk-WARNING **: 10:22:21.204: Allocating size to GtkPaned 0x7fe54d0eff00 without calling gtk_widget_get_preferred_width/height(). How does the code know the size to allocate?
** (pympress:25174): WARNING **: 10:22:21.214: Failed to load shared library '@rpath/libpoppler-glib.8.dylib' referenced by the typelib: dlopen(@rpath/libpoppler-glib.8.dylib, 9): image not found
** (pympress:25174): WARNING **: 10:22:21.293: Failed to load shared library 'libcairo-gobject.2.dylib' referenced by the typelib: dlopen(libcairo-gobject.2.dylib, 9): image not found
The log file at /tmp/pympress.log is empty.
Any ideas on how to fix this issue?
Hello,
Apparently this has been tested on Mac (assuming you mean OSX?), however I am not able to get past this error:
$ pympress
2017-02-24 10:17:08.800 python2.7[49410:3172507] *** WARNING: Method userSpaceScaleFactor in class NSView is deprecated on 10.7 and later. It should not be used in new applications. Use convertRectToBacking: instead.
Traceback (most recent call last):
File "/tmp/virtual/bin/pympress", line 7, in <module>
from pympress.__main__ import main
File "/tmp/virtual/lib/python2.7/site-packages/pympress/__main__.py", line 46, in <module>
locale.bindtextdomain('pympress', pympress.util.get_resource_path('share', 'locale'))
AttributeError: 'module' object has no attribute 'bindtextdomain'
If I try:
$ python
Python 2.7.13 (default, Feb 24 2017, 10:13:58)
[GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.42.1)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import locale
>>> locale.bindtextdomain
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'module' object has no attribute 'bindtextdomain'
>>>
I am a bit puzzled at this point, I thought that was a standard Python feature.
Regards
The Gtk.Application framework seems to be meant for simplifying code, which using glade files and a Gtk.Builder did quite a bit already.
So if the change is worth it in code clarity etc, then switch to that approach.
I'm afraid that for example we'd have to write out all the Gio.Action
by hand in the code, as in the demo on readthedocs. Or that having two windows content/presenter with only one with a menu bar could become messy.
Open a file in pympress if it is dragged into the program. Depends on #8
pympress document.pdf
Traceback (most recent call last):
File "/home/moi/.local/bin/pympress", line 9, in <module>
load_entry_point('pympress==0.6', 'gui_scripts', 'pympress')()
File "/home/moi/.local/lib/python3.4/site-packages/pympress/__main__.py", line 86, in main
ui = pympress.ui.UI(name, ett)
File "/home/moi/.local/lib/python3.4/site-packages/pympress/ui.py", line 275, in __init__
self.setup_scribbling()
File "/home/moi/.local/lib/python3.4/site-packages/pympress/ui.py", line 1897, in setup_scribbling
self.c_overlay.reorder_overlay(self.scribble_c_eb, 1)
AttributeError: 'Overlay' object has no attribute 'reorder_overlay'
Installed via python3 -m pip
There is inconsistent behaviour when unpausing. If I unpause using P
, the timer continues where it left off. E.g. I pause at 2:00
, wait 20 seconds, then unpause by pressing P
, the timer continues with 2:01
.
When I unpause using navigation (e.g. next page), the timer instead continues at 2:21
.
(By the way: Awesome project, thanks!)
The file extensions seem to be missing, see top right corner of any page of pympress.xyz.
The displayed time has a fixed width and does not move its position.
The displayed time string moves its position depending on the width of the displayed time string.
I have prepared a file with Polish-language translations. Please join it to the project
Polish.zip
Hello Guys,
i have add a transition animation for a slide in my presentation, but it doesnt works with pympress.
In an PDF Viewer(foxit) i can see the animation.
Example:
\documentclass{beamer}
\usepackage[english]{babel}
\usepackage[utf8]{inputenc}
\usepackage{xcolor}
\usepackage{pgfpages}
\setbeameroption{show notes on second screen = right}
\begin{document}
\begin{frame}
\only<1>{\includegraphics[width=0.5\textwidth]{example-image-a}}
\only<2>{\includegraphics[width=0.5\textwidth]{example-image-golden}}
\transdissolve<2>
\end{frame}
\end{document}
No warnings.
Run pympress presentation.pdf
from the terminal - the first warning is shown. When opening the help afterwards, the second warning is shown.
Warnings are shown:
(pympress:8764): Gtk-WARNING **: Allocating size to GtkPaned 0x558000273f40 without calling gtk_widget_get_preferred_width/height(). How does the code know the size to allocate?
Gtk-Message: GtkDialog mapped without a transient parent. This is discouraged.
I try to specify the duration of the presentation using '-t' option or 't' key. When '-t' is used, exception occurs. If I run without the abovementioned option everything is OK. But if I press 't' and I tray to set the duration, e.g., 90:00, then "Time elapsed" value does not change, and after closing the program displays:
(pympress3:1978): Gtk-WARNING **: Allocating size to GtkPaned 0x1a95f90 without calling gtk_widget_get_preferred_width/height(). How does the code know the size to allocate?
Protocol error: bad 3 (Window); Sequence Number 5
Opcode (20, 0) = GetProperty
Bad resource 1483866739 (0x58720273)
at -e line 15.
Traceback (most recent call last):
File "/home/polak/.local/lib/python3.6/site-packages/pympress/talk_time.py", line 256, in update_time
self.label_colorer.update_time_color(self.ett.est_time - self.delta)
File "/home/polak/.local/lib/python3.6/site-packages/pympress/talk_time.py", line 135, in update_time_color
color_spec = '* {color: {}}'.format(color.to_string())
KeyError: 'color'
What are you doing?
Running pympress with -t / --talk_time
$ pympress3 -t 90:00 js.pdf
$ pympress3 --talk-time=90:00 js.pdf
When I run pympress without '-t' everything is OK. But when I run it as follows:
pympress3 -t 90:00 js.pdf it displays:
(pympress3:32688): Gtk-WARNING **: Allocating size to GtkPaned 0x30abf90 without calling gtk_widget_get_preferred_width/height(). How does the code know the size to allocate?
Traceback (most recent call last):
File "/home/polak/.local/bin/pympress3", line 11, in <module>
load_entry_point('pympress==1.1.1', 'gui_scripts', 'pympress3')()
File "/home/polak/.local/lib/python3.6/site-packages/pympress/__main__.py", line 113, in main
gui = ui.UI(ett, name)
File "/home/polak/.local/lib/python3.6/site-packages/pympress/ui.py", line 221, in __init__
self.swap_document(docpath)
File "/home/polak/.local/lib/python3.6/site-packages/pympress/ui.py", line 501, in swap_document
self.talk_time.reset_timer()
File "/home/polak/.local/lib/python3.6/site-packages/pympress/talk_time.py", line 233, in reset_timer
self.update_time()
File "/home/polak/.local/lib/python3.6/site-packages/pympress/talk_time.py", line 256, in update_time
self.label_colorer.update_time_color(self.ett.est_time - self.delta)
File "/home/polak/.local/lib/python3.6/site-packages/pympress/talk_time.py", line 135, in update_time_color
color_spec = '* {color: {}}'.format(color.to_string())
KeyError: 'color'
-----------------------------------------------------------------
$ cat pympress.log
CRITICAL:pympress.__main__:Uncaught exception:
Traceback (most recent call last):
File "/home/polak/.local/bin/pympress3", line 11, in <module>
load_entry_point('pympress==1.1.1', 'gui_scripts', 'pympress3')()
File "/home/polak/.local/lib/python3.6/site-packages/pympress/__main__.py", line 113, in main
gui = ui.UI(ett, name)
File "/home/polak/.local/lib/python3.6/site-packages/pympress/ui.py", line 221, in __init__
self.swap_document(docpath)
File "/home/polak/.local/lib/python3.6/site-packages/pympress/ui.py", line 501, in swap_document
self.talk_time.reset_timer()
File "/home/polak/.local/lib/python3.6/site-packages/pympress/talk_time.py", line 233, in reset_timer
self.update_time()
File "/home/polak/.local/lib/python3.6/site-packages/pympress/talk_time.py", line 256, in update_time
self.label_colorer.update_time_color(self.ett.est_time - self.delta)
File "/home/polak/.local/lib/python3.6/site-packages/pympress/talk_time.py", line 135, in update_time_color
color_spec = '* {color: {}}'.format(color.to_string())
KeyError: 'color'
It would be nice to have a (possibly collapsible) list of files to open in the presenter window. Maybe with a file tree as well?
Depends on #8
Useful in situations where a set of presentations are to be presented in order and the user would like to minimize the setup time between talks.
Today i have installed new version and when I try to execute the code ...
$ ./pympress
Traceback (most recent call last):
File "./pympress", line 11, in
load_entry_point('pympress==1.0.3', 'gui_scripts', 'pympress')()
File "/home/polak/.local/lib/python2.7/site-packages/pympress/main.py", line 116, in main
ui = pympress.ui.UI(ett, name)
File "/home/polak/.local/lib/python2.7/site-packages/pympress/ui.py", line 329, in init
self.make_pwin()
File "/home/polak/.local/lib/python2.7/site-packages/pympress/ui.py", line 645, in make_pwin
self.rearrange_p_layout(self.notes_layout if self.notes_mode else self.plain_layout)
File "/home/polak/.local/lib/python2.7/site-packages/pympress/ui.py", line 577, in rearrange_p_layout
w = Gtk.Box.new(getattr(Gtk.Orientation, w_desc['orientation'].upper()), 5)
TypeError: string indices must be integers
The file vlcvideo.glade triggers an error because of unsatisfied requirements. Videos could not be played.
No error :-)
With Gtk+ version 3.18 installed pympress throws an error when changing to a slide with video:
Traceback (most recent call last):
File "/home/teichert/Development/pympress/pympress/ui.py", line 812, in on_navigation
self.doc.goto_next()
File "/home/teichert/Development/pympress/pympress/document.py", line 678, in goto_next
self.goto(self.cur_page + 1)
File "/home/teichert/Development/pympress/pympress/document.py", line 666, in goto
self._do_page_change(number)
File "/home/teichert/Development/pympress/pympress/document.py", line 651, in_do_page_change
self.page_change()
File "/home/teichert/Development/pympress/pympress/ui.py", line 706, in on_page_change
self.medias.replace_media_overlays(self.doc.current_page())
File "/home/teichert/Development/pympress/pympress/extras.py", line 178, in replace_media_overlays
v_da_c = vlcvideo.VLCVideo(self.c_overlay, show_controls, relative_margins, get_curryfied_callback)
File "/home/teichert/Development/pympress/pympress/vlcvideo.py", line 135, in __init__
self.load_ui('vlcvideo')
File "/home/teichert/Development/pympress/pympress/builder.py", line 183, in load_ui
self.add_from_file(util.get_ui_resource_file(resource_name))
GLib.Error: gtk-builder-error-quark: /home/teichert/Development/pympress/pympress/share/xml/vlcvideo.glade:5:1 Required gtk+ version 3.20, current version is 3.18 (7)
The file pympress/share/xml/vlcvideo.glade
reads <requires lib="gtk+" version="3.20"/>
at line 4.
I could remove the error by changing to version="3.2"
as found in the other glade files.
Everything seemed to worke fine after that.
Is there any specific reason for requiring v 3.20 or was this simply inserted by the development software itself?
I've noticed that my hyperref links return to the first frame, rather than to the linked frame. I tested the links with pdfpc and okular, where they do work. I am not sure if this is a bug or a suggestion for improvement.
I like pympress a lot, thanks for sharing it.
I am sending a modified version of 'pympress.po' - Polish locale
Polish.zip
I tried to display the presentation on the right screen and presenter on the left screen
I try the function change screen in the menu, but without result
pympress file.pdf
the presenter and presentation screens are reversed
some functions in the menu does not work
INFO:pympress.main:Pympress version 1.1.2 by:
2009, 2010 Thomas Jost [email protected]
2015-2017 Cimbali [email protected]
2016 Christoph Rath [email protected]
2016 Epithumia [email protected]
WARNING:pympress.ui:Attention: La fenêtre de contenu et de présenteur ne peuvent être sur le même écran pour démarrer en plein écran !
I just tried to use the latest master
, but could not get it to run (tested on Windows 8.1 with Python 3.4, no error on Ubuntu with Python3.5).
Seems like there is some error with the orientation value:
ERROR:pympress.ui:Invalid layout
Traceback (most recent call last):
File "C:\Users\Me\Documents\pympress\pympress\ui.py", line 633, in make_pwin
self.validate_layout(self.notes_layout, set(self.placeable_widgets.keys()) - {"annotations"})
File "C:\Users\Me\Documents\pympress\pympress\ui.py", line 447, in validate_layout
raise ValueError('"orientation" is mandatory and must be "horizontal" or "vertical" at node {}'.format(w_desc))
ValueError: "orientation" is mandatory and must be "horizontal" or "vertical" at node {}
ERROR:pympress.ui:Invalid layout
Traceback (most recent call last):
File "C:\Users\Me\Documents\pympress\pympress\ui.py", line 640, in make_pwin
self.validate_layout(self.plain_layout, set(self.placeable_widgets.keys()) - {"notes"})
File "C:\Users\Me\Documents\pympress\pympress\ui.py", line 447, in validate_layout
raise ValueError('"orientation" is mandatory and must be "horizontal" or "vertical" at node {}'.format(w_desc))
ValueError: "orientation" is mandatory and must be "horizontal" or "vertical" at node {}
There seems to be another error which seems to occur on Windows only:
CRITICAL:__main__:Uncaught exception:
Traceback (most recent call last):
File "C:\Python34\lib\runpy.py", line 170, in _run_module_as_main
"__main__", mod_spec)
File "C:\Python34\lib\runpy.py", line 85, in _run_code
exec(code, run_globals)
File "C:\Users\Me\Documents\pympress\pympress\__main__.py", line 123, in <module>
main()
File "C:\Users\Me\Documents\pympress\pympress\__main__.py", line 116, in main
ui = pympress.ui.UI(ett, name)
File "C:\Users\Me\Documents\pympress\pympress\ui.py", line 329, in __init__
self.make_pwin()
File "C:\Users\Me\Documents\pympress\pympress\ui.py", line 645, in make_pwin
self.rearrange_p_layout(self.notes_layout if self.notes_mode else self.plain_layout)
File "C:\Users\Me\Documents\pympress\pympress\ui.py", line 618, in rearrange_p_layout
self.load_pointer(default)
File "C:\Users\Me\Documents\pympress\pympress\ui.py", line 2114, in load_pointer
self.pointer = pympress.util.get_icon_pixbuf(name + '.png')
File "C:\Users\Me\Documents\pympress\pympress\util.py", line 107, in get_icon_pixbuf
return GdkPixbuf.Pixbuf.new_from_file(get_resource_path('share', 'pixmaps', name))
GLib.Error: g-invoke-error-quark: Could not locate gdk_pixbuf_new_from_file: 'gdk_pixbuf_new_from_file': The specified procedure could not be found. (1)
To save resources and guarantee a perfect sync between the video in both windows, we should use a single player instance and split the output in both windows.
It does not seem possible out of the box. Relevant topics on the VLC forums:
libvlc_media_player_set_xwindow (libvlc_media_player_t *p_mi, uint32_t drawable)
No more than one window handle per media player instance can be specified. If the media has multiple simultaneously active video tracks, extra tracks will be rendered into external windows beyond the control of the application.
So basically extend libVLC and the python plugin, to use the clone
splitter and embed the second output.
Removing this limitation will allow to load documents once pympress is started, and to open (fully) pympress, and to load a file afterwards.
I think there is a import statement missing in pympress/config.py
When there is no config file (e.g. because of a fresh install) config.py throws an Error at line 167.
I think there is missing the following statement at the beginning of the file:
from gi.repository import Gdk
locale.defaultlocale
seems to use the region instead of the language in Windows 10.
For example, see bug #19 with @fefrei's configuration (screenshot below and %LANG% not set), returning German as language.
Play a PDF with embedded .mov files
Play a PDF with embedded .mov files (the PDF works fine in Adobe Reader DC)
What's happening instead of what you are expecting?
Embedded videos will not play even though audio plays fine.
pympress.log is not present in any of the tmp folders. The issue that displays in terminal is
Traceback (most recent call last):
File "/usr/local/lib/python3.6/site-packages/pympress/vlcvideo.py", line 161, in handle_embed
self.player.set_xwindow(self.movie_zone.get_window().get_xid())
AttributeError: 'GdkQuartzWindow' object has no attribute 'get_xid'
Traceback (most recent call last):
File "/usr/local/lib/python3.6/site-packages/pympress/vlcvideo.py", line 161, in handle_embed
self.player.set_xwindow(self.movie_zone.get_window().get_xid())
AttributeError: 'GdkQuartzWindow' object has no attribute 'get_xid'
(pympress:12460): Gtk-WARNING **: 11:49:47.824: Error loading theme icon 'media-playback-start' for stock:
(pympress:12460): Gtk-WARNING **: 11:49:47.824: Error loading theme icon 'media-playback-pause' for stock: Icon 'media-playback-pause' not present in theme Adwaita
(pympress:12460): Gtk-WARNING **: 11:49:47.824: Error loading theme icon 'media-playback-stop' for stock: Icon 'media-playback-stop' not present in theme Adwaita
[00007fc3f45de5e0] videotoolbox decoder: Using Video Toolbox to decode 'h264'
[00007fc3f78878e0] videotoolbox decoder: Using Video Toolbox to decode 'h264'
[00007fc3f78878e0] videotoolbox decoder: vt cvpx chroma: BGRA
[00007fc3f45de5e0] videotoolbox decoder: vt cvpx chroma: BGRA
[00007fc3f6a67fd0] macosx vout display error: No drawable-nsobject nor vout_window_t found, passing over.
[00007fc3f79492b0] macosx vout display error: No drawable-nsobject nor vout_window_t found, passing over.
[00007fc3f320e2f0] main video output error: video output creation failed
[00007fc3f320bcf0] main video output error: video output creation failed
[00007fc3f78878e0] main decoder error: failed to create video output
[00007fc3f45de5e0] main decoder error: failed to create video output
[00007fc3f78878e0] videotoolbox decoder error: decoder failure, Abort.
[00007fc3f45de5e0] videotoolbox decoder error: decoder failure, Abort.`
Heading to line 161 in vlcvideo.py:
if sys.platform == 'win32':
self.player.set_hwnd(get_window_handle(self.movie_zone.get_window())) #get_property('window')
else:
self.player.set_xwindow(self.movie_zone.get_window().get_xid())
return False
The issue is related to using an XQuartz window which does not have the attribute for get_xid()
Text and images should be sharp on all slides
Open any PDF to start the presentation
On the first slide, everything (full screen slide + 2 smaller previews) is nice and sharp. When I switch to the next slide, it and all subsequent slides are rendered blurry, as if they were upscaled from a smaller resolution.
I can force a re-render by moving the vertical delimiter between the previews or by switching the screens with S, which makes everything on the current and the next slide appear sharp. The following slides are blurry again.
I suspect that this is some scaling issue where the pre-rendered slides don't use the correct resolution. pympress.log also seems to point towards that direction:
CRITICAL:pympress.main:Uncaught exception:
Traceback (most recent call last):
File "/usr/lib/python3.6/site-packages/pympress/ui.py", line 1166, in on_configure_win
p_monitor = self.p_win.get_screen().get_monitor_at_window(self.p_frame_cur.get_parent_window())
TypeError: Argument 1 does not allow None as a value
There's too many of them and/or they are not differentiated enough. Any user should see how much time has passed since the presentation start with a simple glimpse, without having to look for that information on screen.
Hence, make other clocks (estimated time, wall clock) have one (or more) of:
I just installed pympress on Windows 10 (binary installer). The installation finished without errors, but I was not able to start pympress. Reason: one of the first things the program is doing it to create a logfile pympress.log
. This file is created in the current working directory. If the current working directory is the installation directory, then the program will (silently) fail to start. Also, it is not possible to use the "open with" function of the windows explorer because of the same reason.
As a workaround I created now a batch-file, which starts pympress in a folder with write permission. I think, it would be a better solution to create the logfile not in the current working directory. What do you think about this change:
logging.basicConfig(filename=os.path.join(tempfile.gettempdir(), 'pympress.log'), level=log_level)
The logfile would be created within the default temporal folder of the OS. That should work on all OS.
I tried installing pympress for Windows 10 (64bit) according to your instructions in the readme.
When setting up PyGi (Version 3.24.1), I have not the option to tick Cairo as dependency! Poppler and Gdk-Pixbuf are available.
I'm not familiar with all the dependencies, can I install Cairo in another way directly? The website says that it's shipped with other packages.
(Always the same with windows. On my Linux-machine everything works like a charm...)
I am on Ubuntu 16.04 with Python 2.7 and installed the prerequisites as described in the readme. I tried to run the script on a .pdf and got errors like this.
Errors:
Traceback (most recent call last):
File "/home/matsest/.local/lib/python2.7/site-packages/pympress/surfacecache.py", line 262, in renderer
surface = cairo.ImageSurface(cairo.FORMAT_ARGB32, ww, wh)
TypeError: Couldn't find foreign struct converter for 'cairo.Context'
Traceback (most recent call last):
File "/home/matsest/.local/lib/python2.7/site-packages/pympress/surfacecache.py", line 264, in renderer
page.render_cairo(context, ww, wh, wtype)
File "/home/matsest/.local/lib/python2.7/site-packages/pympress/document.py", line 421, in render_cairo
self.page.render(cr)
KeyError: 'could not find foreign type Context'
# ... continuing
I solved it with performing
apt-get install python-gi-cairo
:)
Hi, congratulations on your show. I have a question. In a dual monitor presentation, it is possible to start the fulscreen presentation, but it is possible that the other window, the control window, will not start full screen? I'd like a small window. I've tried it with the openbox configuration, but the output of "xprop | grep class" is the same for both windows, so I can't define the size for a single window.
I am using the latest version of pympres on lxde in Tisquel 8 (ubuntu 16.04). Thank you for your work.
I'm running pympress 1.0 on Windows, and pre-rendering doesn't seem to be working:
To me, it looks like the prerenderer gets stuck, burning CPU without progressing.
(I'd be happy to privately send you the PDF file I use, if this helps you debugging this.)
From the logfile:
ERROR:pympress.ui:video support is disabled
Traceback (most recent call last):
File "C:\Users\bscuser\Documents\pympress\pympress\ui.py", line 66, in <module>
File "c:\Python\64-bit\3.4\lib\importlib\_bootstrap.py", line 2237, in _find_and_load
File "c:\Python\64-bit\3.4\lib\importlib\_bootstrap.py", line 2226, in _find_and_load_unlocked
File "c:\Python\64-bit\3.4\lib\importlib\_bootstrap.py", line 1191, in _load_unlocked
File "c:\Python\64-bit\3.4\lib\importlib\_bootstrap.py", line 1161, in _load_backward_compatible
File "C:\Users\bscuser\Documents\pympress\pympress\vlcvideo.py", line 56, in <module>
TypeError: unsupported operand type(s) for +: 'NoneType' and 'str'
Would’t it be nice to be able to control the playback of a video aside of pausing and resuming?
Pdfpc implements such a feature. I have used it lately, but it has a very high cpu usage while playing videos, which does not go down once the playback is stopped – this is a problem in long presentations because it limits my battery time dramatically.
Pympress + vlc performs much better in that way, but control over video playback is currently very limited.
I could imagine an implementation with keystrokes (as possible in vlc player) or by showing the playing video in the presenter view, too – together with a kind of progressbar that allows seeking by clicking a specific position or something like that.
I can not tell if this is possible and how much work it would be as I have never looked into python-vlc so far.
The "Current slide" or "Notes" label around the main slide preview in the presenter window becomes visibly smaller (and remains that way) after a notes-mode swap. Obviously pretty minor.
No warnings are displayed.
Run python3 -m pympress
. (May needs the latest pygobject
.)
There are some deprecation warnings (and maybe some more which are not shown during normal startup):
/usr/local/lib/python3.5/dist-packages/pympress/talk_time.py:184: PyGIDeprecationWarning: GObject.timeout_add is deprecated; use GLib.timeout_add instead
GObject.timeout_add(250, self.update_time)
/usr/local/lib/python3.5/dist-packages/pympress/ui.py:537: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "title, parent, action, buttons" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations
(Gtk.STOCK_OPEN, Gtk.ResponseType.OK))
/usr/local/lib/python3.5/dist-packages/pympress/ui.py:537: PyGTKDeprecationWarning: The "buttons" argument must be a Gtk.ButtonsType enum value. Please use the "add_buttons" method for adding buttons. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations
(Gtk.STOCK_OPEN, Gtk.ResponseType.OK))
/usr/local/lib/python3.5/dist-packages/gi/overrides/Gtk.py:542: PyGTKDeprecationWarning: The keyword(s) "parent" have been deprecated in favor of "transient_for" respectively. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations
self._init(*args, **new_kwargs)
I have noticed that word "Blue" is not translated into Polish (MO file) - 'pympress' displays "Blue" instead of "Niebieski". The cause is presence of "#, fuzzy" in line 237 of the locale/pl/pympress.po file that I sent you last year. I did not remove this string (label) because I thought it is necessary. The file also contains some fuzzy entries - I am not sure if they are needed now. The same problem is probably in German translation - the presence of "#, fuzzy" before "_Blue".
When running the cx_Freeze setup script on Windows, an error is thrown:
running build_exe
error: error in setup script: command 'build_exe' has no such option 'compressed'
Seems like the support for this option has been dropped some time ago: marcelotduarte/cx_Freeze#253.
By the way: Is there any documentation on how to obtain the installer for the pympress
installer (tried it on Windows)? After removing the the compressed
option from the corresponding dictionary, a folder got created, but after trying to start the pympress.exe
file from the command line, it got closed after some time without any visible output.
When playing videos the sound should be heard clearly.
Sometimes the audio track of videos sounds quite tinny. Probably this is because of the doubled video on the presenter and the presentation view. That way the audio output is doubled, too.
When disabling/muting one of the two output streams (e.g. with pavucontrol) the sound is clear again.
I think it is a good idea to disable the audio tracks of one of the two player instances.
Sadly, libvlc doesn’t seem to be quit straight forward there. I could not manage it this morning, not even with reading the docs.
Looks like you’ve got to grab the audio track of one of the player’s media, "free" it somehow and then mute or disable it. Didn’t get it right.
Hi,
I'm working on ubuntu 17.04 with gnome 3 and I installed it using pip install pympress
. I also installed the dependencies using apt-get install python3 python3-pip libgtk-3-0 libpoppler-glib8 libcairo2 python3-gi python3-cairo gir1.2-gtk-3.0 gir1.2-poppler-0.18
and I get the following error :
Any idea ?
I am actually looking for something like using mouse arrow while holding Ctrl in powerpoint (https://www.youtube.com/watch?v=ttYOIVaJnf8). I know about the option to draw onto the current slide by pressing H. However, this is permanent and sort of messes up your slides if you highlight different things after each other. Also, it is sort of distracting to jump back and forth between presenter mode and drawing mode. Perfect for me (and colleagues) would be mimicking the powerpoint behaviour by directly using the mouse as pointer in presenter view inside the current slide window.
Might it be possible to allow the user to freely arrange the size of the windows showing notes, current slide and next slide? As far as I know, the only method at the moment is to shift a vertical bar which often leads to a lot of unused space.
It would be great to get a blank screen when pressing the dot, too. This seems to be the key event which is send by Logitech presenters.
Video playback should appear seamlessly above the still image that acts as a placeholder, without any window decorations; the user should not be aware that a separate program has been invoked to perform the video playback.
Create PDF in beamer / pdflatex that includes .mp4 video.
Start pympress on PDF and advance to page that has embedded video.
Click on placeholder for embedded video.
Instead of embedding properly, VLC opens a new window to play the video. The video plays correctly, except that it is not embedded and not at the size expected from the size of the placeholder.
The log file pympress.log is empty.
master
(using self-built executable from cx_freeze)python -m pympress presentation.pdf
(The problem may appear for other checkboxes, too, which I did not check.)
Embeded video when clicked should play seamlessly over frame grab, matching position and size.
Minimum working example:
\documentclass{beamer}
\usepackage{multimedia}
\usepackage{pgfpages}
\setbeameroption{show notes}
\setbeameroption{show notes on second screen=right}
\begin{document}
\begin{frame}
\movie{\includegraphics[width=0.8\textwidth]{test.jpg}}{test.mp4}
\end{frame}
\end{document}
Video appears with wrong size (too small, perhaps 1/2 of expected width) and in slightly wrong location (too far left by about 1/2). If notes on second page not used, works correctly.
/tmp/pympress.log is empty
Starting pympress
in local master clone using python3 -m pympress
from within a folder should use the shared files from the share/
directory of the current folder and not throw any errors.
pympress
using pip3.python3 -m pympress
inside the cloned directory.The shared files from the pip install are used and an error message may be produced, see 0bdc5da#commitcomment-26206898 and 0bdc5da#commitcomment-26212807.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.