kent2 / pipresents-beep Goto Github PK
View Code? Open in Web Editor NEWAn discontinued version Pi Presents which will not work on RPi OS Bullseye or later. Please use PiPresents KMS
Home Page: https://pipresents.wordpress.com/
License: Other
An discontinued version Pi Presents which will not work on RPi OS Bullseye or later. Please use PiPresents KMS
Home Page: https://pipresents.wordpress.com/
License: Other
Hello good sir!
I have problems with getting the key bindings to work properly. Earlier Ive been using gapless, there I changed the keys.cfg to add numbers such as, 1 = pp-key-1 ...and so on.
In the Control section of different shows in a media show I then e.x. added the command pp-key-1 play mp3, and it worked flawlessly, playing the track with the reference [mp3].
Now in pipresents beep, Im trying to do the same thing, but I get this error message:
"Profile Error: incorrect number of fields in control pp-key-1 play mp3."
This does not happen if I change it e.x. pp-key-1 pause, or any other of the standard commands. So the binding of pp-key-1 seems to be good.
It just doesn't seem to like it when I add the reference of the track I want to play, but this worked very well in gapless.
Any ideas on why this occurs? Is it just a user error, or has anything changed in this section between gapless and beep?
I don't see fade transitions between slides/images as a feature. Can you provide any guidance on where to start implementing this myself?
Hi I tried to use your example ppserialcontrol
Basically I put everything ok with the Serial Port, but it doesn't run.
I will show you in python what I did in python with another code:
ser = serial.Serial()
#ser.port = "/dev/ttyUSB0"
ser.port = "/dev/ttyACM0"
#ser.port = "/dev/ttyS2"
ser.baudrate = 9600
ser.bytesize = serial.EIGHTBITS #number of bits per bytes
ser.parity = serial.PARITY_NONE #set parity check: no parity
ser.stopbits = serial.STOPBITS_ONE #number of stop bits
#ser.timeout = None #block read
ser.timeout = 0.01 #non-block read
#ser.timeout = 2 #timeout block read
ser.xonxoff = False #disable software flow control
ser.rtscts = False #disable hardware (RTS/CTS) flow control
ser.dsrdtr = False #disable hardware (DSR/DTR) flow control
ser.writeTimeout = 2 #timeout for write
## Print sprite_list dans la console
# for sprite_line in sprite_list:
# print(sprite_line)
ser.open()
response = ser.read();
if (response==b'1'):
print("playvideo1") #first condition I need
elif(response==b'2'):
print("playvideo2") #second condition that I need
elif(response==b'3'):
print("playvideo3") #third condition that I need
There is some way you can tell me in what I'm wrong?
or maybe I just need to play the video with pure python code?
I use the same port values on this code that in the pp_serialdriver.cfg
Hi,
I'm using the lastest version of pipresent with latest recommended version of Pi OS. (Following install guide)
I have a setup with a mediashow that only play a 4K video at the moment and loop.
The show is starting well and play video smoothly on a Pi4 4GB using HDMI0.
At the end of the video, (aprox 5s. before the end) the screen goes black and the TV loose the signal and finaly goes in standby.
By looking at the tasks, a new instance of pp_vlcdriver.py is well started but it does not output anything.
I have a video memory set to 512 and core_freq_min=500.
I think there is something that goes wrong when trying to launch two instance of vlc for the transition, but I don't know how to overcome that. It's not a problem for me if there is a black gap between the loop of the video.
Thanks for your advice.
Best regards,
Yannick
I have not tested these two displays witht the latest version of Beep because setting up these displays is not easy for me. Has anyone tried playing video from VLC using either of them?
Ken,
I am finally getting around to converting my liveshow to a radiobuttonshow. Using your example, I was able to create a radio button show that plays several videos in a loop state as the default. I have two push buttons attached to the GPIO pins, where each one controls a unique single video (subshow). I am able to press either button in the middle of whatever is currently playing and once the video is finished, the default looped videos begin playing. So for the most part, everything is working right now as I would have hoped it would.
My current issue is the transition between the default looped video and the subshow video. When I press either button, the screen flashes back to the desktop with a windowed version of the PP shown instead of staying in fullscreen mode. Once the subshow video is pulled up, it goes back to full screen and plays that video without any issues. After that subshow video finishes, the PP returns to the default looped videos without flashing back to the desktop.
Is this how it is suppose to function? Is there anything I can do to smooth out the transition so the desktop is not seen?
Thanks for the guidance in the past to move to the radio button show!
I downloaded the latest version of Pipresents 1.4.6 and the latest python-vlc and it seems that every video I play in a mediashow using vlc is limited to 20 seconds regardless of the vlc-image-duration setting. I tried many values from 0 to 10000 but all videos still only play for 20 seconds. I don't see the same issue on other Raspberry Pis using Pipresents 1.4.5 and possibly older versions of python-vlc.
I tried dumping the value of self.vlc_image_duration_text in pp_vlcplayer.py and it seems to be set properly so I'm thinking it might be the latest python-vlc causing the issue but I'm not certain of this.
Hi,
I’m still experimenting but here’s my issue:
Goal: I would like to get the precise system timestamp at which a looping video began playing.
Most preferable to me though would be to just modify the existing pipresents distribution at the location where the new loop in the artmediashow actually begins, ie when the buffered second copy of the file begins. Just need to register the time stamp there, and then the time stamp itself can be sent off to wherever it needs to go (this can happen later if necessary since the timestamp was already registered).
I was wondering if you could point me in the right direction as to the location in the code where that actually happens.
Thanks so much, sorry for this super detailed issue!
Edit:
did some more digging through the code on my phone...
Looks like the place to register the timestamp would be in the sequence of events initiated by the videoplayer.go()
call. Tracing that execution, I see it eventually leads down into the omxdriver, and in particular the omxdriver.send_unpause()
action and eventually to the dbus interface. Haven’t gone poking around in there too much yet, but it seems like this would be a pretty valid candidate for getting an accurate timestamp. Hoping to not have to modify any of this code and that checking the time on receipt of an osc message sent by a track start command on an osc-master pp profile with a looping artmediashow show is reliable and close enough. In any case, it might be a nice extension to add this timestamp as a field to the omxdriver and by extension the video player. There could then be an additional osc command which transmits that timestamp.
Hi Ken, I'm trying to set up an RPi 3B with RPi 7" touch (DSI0) and an external HDMI connected. The idea is to use the 7" touch for selection, and the HDMI for output. However I never get any output to the HDMI, I get "Profile Error: Display has no canvas HDMI0" no matter what I try - what am I missing? If I change Display to "DSI0" in profile the show will run on the 7" monitor.
I have tried the same setup with an RPi 4 with same result.
/roar
Hi Ken, first of all thank you for developing this great tool!
I am new to pipresents and I'm trying to create a hyperlinkshow which should work on a touchscreen. My question is now: is it possible to create a hyperlinkshow with a subshow that is also a hyperlinkshow? I would like to have a menu and a submenu which both work on the touchscreen?
or is it not possible to have submenus in hyperlinkshows?
I tried it but I always get an error message saying "first-track not found in medialist"
I included a first and a home track in the sub-hyperlinkshow but it doesn't seem to work.
Am I doing something wrong or is it just not possible to do this?
I use a raspi 4, pipresents beep and newest version of the raspian os with desktop, buster.
Thanks and all the best,
Lina
Not sure what this error is. I assume it is because I am using the pi 7" Touch screen. I was getting the error before about the rpi-backlight so I did sudo pip3 install rpi-backlight
.
Now I am getting this error when trying to run then example code:
python3 /home/pi/pipresents/pipresents.py -p pp_mediashow_1p4 -f -b
I also have tried the touchscreen example code:
python3 /home/pi/pipresents/pipresents.py -p pp_touchscreen_1p4 -f -b
But I still get: 1.39 Profile Error: PiPresents: Touch driver is unable to find device raspberrypi-ts|
😭
Any help, I tried searching pypi.org for is it was another pip install but didn't find anything.
Hey again 😁
I have a profile configured with 3 shows: loop
,spear
and bow
. loop
is meant to be played on loop. If the user presses the SPEAR button an OSC command is sent to openexclusive
the show spear
. A BOW opens show bow
the same way.
The shows spear
and bow
are configured to run once, then they have a Show Control at End command set to open loop
.
This works like a charm until the users presses the SPEAR button while the bow
show is running. This triggers the openexclusive
OSC command which in turn triggers the Show Control at End command and the loop
show is played. But I want the spear
show to play. How can I achieve that?
I tried opening spear
and bow
without closing loop
but the shows do not alway take the whole screen and one can see parts of loop
running in the background.
I tried to move my show that consists mainly of 10 min looped videos from RP 3b+ to RP 4 for performance reasons. Now when I try to play my show on RP4 nothing happens and the Terminal is returning this message from pipresents.py: "unpause for show False". Everything works beautifully with my setup on RP3 including switching to OMXPlayer due to VLC hanging a lot but can't start my videos on RP 4. I even reinstalled everything from scratch rather than using my flashed RP 3 card and still can't even play the video from the sample shows on my RP4. Any idea? Thank you!
Dear Mr. Thompson, Hi Ken,
First compliments on the great project you delivered. I'm now investigation how to best use it to show images, video and other for my mother in law in care home.
One item I saw on the website - home page is that the last alinea is not in line with the downloads page... It is still refering to the previous versions... or at least, that is how I read it.
May I suggest you remove that page and only add a referal to the downlaod page/ Github...
Kind regards,
Frank Henkes
Hoofddorp, The Netherlands
P.S.: I may be filing some feature requests as I missing functions for:
easy to load full folder content (with images) into a show;
easy overview of images allowing to re-order and set timing;
easy remote update whilst not storing images/video on public server/services
using Google Drive or Photo as storage for the images/video
Hi, how are you? I'd like to collaborate on your open source project and propose free logo/icon design for this project. If it's something you're interested in, please, let me know!
Best Regards
Zuur
Hi,
I have a project where one button should start a liveshow. when the liveshow is running the same button pressed should stop the liveshow. But that does not work. Only a start trigger works. But if I use it as end trigger also the start trigger does not work anymore. Some delay should do the trick? I don't understand why it overrules each other. It is a push button so only the falling command triggers.
Hello,
I'm starting a new project involving layers and I'm not familiar with this in Pipresents.
I want to display small images above playing videos. The images will be triggered touching some areas on a touchscreen while a video is playing, then closed touching them (or after a few seconds) without interrupting the video.
Is it possible with pipresents ?
With a Radiobuttonshow ?
With VLC or OMX player ?
Thanks for your help !
So I was able to get my pipresents to autostart on boot through the following method:
To get it to autostart, a new directory needs to be created here:
/home/pi/.config/lxsession/LXDE-pi
Copy the "autostart" file from /etc/xdg/lxsession/LXDE-pi and paste it into the file location above.
Add the following to the end of the file that was just copied:/usr/bin/python /home/pi/pipresents/pipresents.py -o /home/pi -p myprofile -f -b
Now when I boot the pi up, my profile show starts fine which is great. However, when I access the pi through remote desktop, xrdp, the pi starts the boot sequence again and runs a video on top of the already started video slightly transparent. I know the solution here is to not remote desktop in, but I prefer to remote in over ssh in.
Any thoughts on how to prevent a show from starting on a remote desktop portal?
Hello Ken,
I would very much appreciate some advice if you have time.
I have previously installed beep on a pi3 with no issues and loved it.
I decided to build a new setup with a pi4 to take advantage of the dual display feature.
here is what my setup looks like:
-Rpi4 running Beep
-1x DSI screen (official 7" display)
-1x computer monitor connected to HDMI0
-I have a headphones connected to the A/V 3.5mm for audio
My problem is that under certain situations I get audio garbel/distortion or sometime no audio at all.(I am trying to use local or A/V audio in all test instances)
-The problem is less noticeable when I only have one display connected. but extreme when I have both displays connected.
The terminal window states " amixer: Cannot find the given element from control hw:0"
The terminal window states "uncollected garbage 100"
I sure this is relevant somehow.
Any suggestions on what I could to to remedy this issue?
Thanks,
Mike
After updating Raspbian and installing PiPresents I get the error below after trying to run any example profile.
Error reported is 2.65 Profile error: PiPresents: Touch driver is unable to find device raspberrypi-ts
Hi,
would there be support for VL6180X in the future?
I would like to adjust my screen brightness depending on ambient light and trigger Play/Pause using this sensor.
Also, would there be at least a fade transition added in the future? Cut transition is a bit jarring.
Hi Ken.
First of all I want to congratulate you for making such excellent software and sharing it openly with us. Just 1 week ago I am starting to test and use it and it is incredible.
I have a Raspberry Pi4 that I manage remotely with VNC.
In the HDMI1 output (it would be the second output physical) I have a screen connected.
In the HDMI0 output I have nothing, but it is forced to work from the boot.txt.
I don't want to use the software in fullscreen because I lose VNC remote management of the device on the first screen.
Modify the openbox files according to your suggestions with no , and also other modifications on my own like border = no, border pix = 0, etc.
I can't remove the small gray or yellow border from the window!
Edit all the theme files that I found. I don't know more to try.
Is there a way to achieve this without having to use it in Full Screen so as not to lose remote control of the device?
Its only appears in images, not in video.
I hope I have explained myself well.
Thank you.
Regards.
Franco from Argentina.
Is this possible? I want to change the duration of a track without shutting down and restarting pp.
I guess its not, since you load the config on pp-start and keep it in memory thereafter. Right?
I just wanted to make a ticket so if someone else has this issue they can look at it.
I downloaded the examples then copied the pp_home
out to /home/pi/pp_home/
I tried the example code: python3 /home/pi/pipresents/pipresents.py -p pp_mediashow_1p4
Then got the error:
1.45 Profile Error: PiPresents: touchscreen connected but rpi-backlight is not installed
The fix was easy but not what the pypi website shows
I had to do: sudo pip3 install rpi-backlight
Hi Ken,
Sorry, not really an issue, a query...
I am playing with the pp_openclose profile and would like it to start with showing image1.jpg then when a switch P1_18 is sent to ground image2.jpg is shown. When P1_18 is released image1.jpg is shown again (rather than the black screen).
I have attempted to make changes to the config files with no avail or with errors.
Would you be able to point me in the right direction?
Thanks.
If I have a liveshow with the sync-feature enabled with .lock
file PP does not update its media-folder on startup. It simply removes the .lock
file, but the files to move are not moved.
I wrote a wrapper around PiPresents to start / stop / control PiPresents to manage the execution of different profiles.
To reliably kill PiPresents I am using *nix feature to kill a process (PiPresents) by its process group id. In that way I won't end up dangling / orphanged omxplayers all over my device.
My displays do start unclutter as a service, since i never need the cursor and the displays sometimes do other stuff besides PiPresents. But since PiPresents does start unclutter, unclutter itself it is marked as child-process of PiPresents. So killing PiPresents in the way I do leads to unclutter being killed too.
So i propose to add an option to toggle the start of unclutter when running PiPresents.
I can draft a PR if you like.
Hi Ken,
Just getting round to re-building my display.
I'm using v1.41 and when in - Image Tracks - Text
If i manually edit either of these boxes the new value is not saved.
Every thing else appears to be working OK
Kind regards,
Stewart
I have been using pipresents for a number of years. Finally decided to start a fresh install with Buster/Beep.
Everything installed fine, set up a new profile (mediashow) and it plays fine. My problem is that the screen blanks and the video plays, but the video is in a small format in the upper left of the screen.
The example profiles work fine full screen so it is clear that it is a setup problem. I have poured though the example profiles and the manual and am getting nowhere.
Thanks!
Lee
How would I go about implementing a way to go to a given track by inputting its number into a number pad? I know one way would be to set up an individual event handler for every track, but I'm hoping there's a simpler solution, perhaps?
Hi,
I'm trying to output at the end of serialdriver output string without success.
Is seems that we can't do that. Even if I'm trying to add \n at the end of the command config, python read it as \n.
The only workaround found is to append a byte before sending the string in pp_serialdriver.py
bytes.append(0x0D)
bytes_sent = pp_serialdriver.ser.write(bytes)
Do you know another solution ?
Best regards,
Yannick
I came accross follwing link to sync the videos on multiple rpis,
it works well for me on 9 nos of rpi without any problem
if I want to integarte that in pi presents can you tell me how to do it.
https://github.com/turingmachine/omxplayer-sync
Transferred from gapless KenT2/pipresents-gapless#117
Every now and then my pi's are getting the following error:
"Profile Error: omxplayer ended before loading track"
I am using the liveshow playlist. I have increased the memory on all the pi's to 256MB as recommended in the setup files. I have not went through any log files yet. This error has happened several times since deploying three pi's to the field. Happens maybe once a day. Any ideas on what could be causing this? What information can I obtain to help find the solution to the problem?
Older PP version issues:
KenT2/pipresents-gapless#1
KenT2/pipresents-gapless#13
KenT2/pipresents-gapless#61
Hi again,
i am using the artliveshow
-type and am having the following structure:
As you can see i have the folder available_media
which contains all the media i can use for the show and am simply symlinking them in the live_tracks_cache
(which are then getting copied to live_tracks
after touching the .lock-file).
This prevents huge writes to the sd-card in case of frequent changes to the displayed media (since symlinks are smaller than a whole file) which will lead to longer lifetime.
It seems to work fine, at least it played through a night without errors and frequent changes to the media (done by a little script and a cron-job).
Are there any reason which might advise me to not do it this way? If not, i think we should consider adding an example of this to the manual.
I like your package more and more :-)
I am trying to make the same button, e.x. pp-key-1, with the same “play” command, play new video files, by redirecting the user from one radioshow to another, with media shows in between with “open” and “close” radioshow/media show as show control commands.…
I have a project like this, with no issues in Pipresents gapless...
In Beep, I have tried several combinations, and also the exact same build as I have in Pipresents gapless. But the same problem occurs.
The radioshows do not close, they stay open in the background. What happens then is that when I press the same button, e.x. pp-key-1, it starts the video on the current radioshow, and on the past (supposed to be closed) radioshow at the same time, and the videos are in conflict.
I have tried having show control “close” commands both on the radioshows themselves, on the tracks and on the mediashows, nothing seems to actually close the radioshows, except the "openexclusive" command.
The "openexclusive" command doesn’t really work for me, as I have a mediashow with music going on at the same time, with a static background image, to further hide the loading time when opening different shows and tracks.
The build with the controls and commands looks something like this:
Start
Start shows: mediashow1
mediashow1 with start, continue, single run, End trigger parameters: pp-key-1
Video.mov with show control at beginning: open bgmusic
Sound.mp3 with background image and show control command at beginning: open radiobuttonshow1
bgmusic
music.mp3 with background image.jpg
radiobuttonshow1 with First Track: [first], Controls: pp-key-1 play [next] and Show Control at End: close radiobuttonshow1
Video.mov [first]
Sound.mp3 [next] with background image and show control commands at beginning and end: open mediashow2, close radiobuttonshow1
mediashow2 with start, continue, single run, End trigger parameters: pp-key-1
Video.mov
Sound.mp3 with background image and show control command at beginning: open radiobuttonshow2
radiobuttonshow2 with open [first] track, controls pp-key-1 play [next] and Show Control at End close radiobuttonshow2
Video.mov [first]
Sound.mp3 [next] with background image and show control command at beginning and end: open mediashow3, close radiobuttonshow2
mediashow3 with start, continue, single run, End trigger parameters: pp-key-1
Video.mov
Sound.mp3 with background image and show control command at beginning: open radiobuttonshow3
radiobuttonshow3 with open [first] track, controls pp-key-1 play [next] and Show Control at End close radiobuttonshow3
Video.mov [first]
Sound.mp3 [next] with background image and show control command at beginning and end: open mediashow1, close radiobuttonshow3
In radiobuttonshow3 it goes back to the first mediashow, so the whole thing is a loop.
This build works without issues in pipresents gapless. Why does it not work the same way in beep?
is it possible to play a video over a playing video?
if i do now i gives a strange effect 2 videos fighting to be on top of the screen
i found the openexclusive function that does most of it but i wish that the screen does not go black on starting the video
Pi4B
cmd:
python3 /home/pi/pipresents/pipresents.py -p pp_mediashow_1p4
error out:
Maps: {'DSI0': 0, 'HDMI0': 2, 'HDMI': 2, 'A/V': 3, 'HDMI1': 7} {0: 'DSI0', 2: 'HDMI0', 3: 'A/V', 7: 'HDMI1'}
Pi Model: 4
xrandr: Failed to get size of gamma for output default
Number of Displays - randr: 1
Displays Connected- randr: ['default']
Display Dimensions - randr: {'default': 1920} {'default': 1080}
Display Position - randr: {'default': 0} {'default': 0}
Display Rotation - randr: {'default': '0mm'}
Number of Displays - tvservice: 2
Displays Connected - tvservice: [2, 7]
Display Dimensions - tvservice: {2: 1920, 7: 1920} {2: 1080, 7: 1080}
1.44 Profile Error: PiPresents: xrand r display not recognised default
Traceback (most recent call last):
File "/home/pi/pipresents/pipresents.py", line 889, in <module>
pp = PiPresents()
File "/home/pi/pipresents/pipresents.py", line 279, in __init__
self.end('error',message)
File "/home/pi/pipresents/pipresents.py", line 699, in end
self.tidy_up()
File "/home/pi/pipresents/pipresents.py", line 748, in tidy_up
self.dm.terminate()
File "/home/pi/pipresents/pp_displaymanager.py", line 224, in terminate
self.terminate_backlight()
File "/home/pi/pipresents/pp_displaymanager.py", line 1046, in terminate_backlight
if self.backlight is not None:
AttributeError: 'DisplayManager' object has no attribute 'backlight'
Good Afternoon -
I'm trying to get Pi Presents to do something specific and so far have not been able to accomplish it, so wanted to post to see if it was possible and if so; hopefully get some direction.
Apologies if this isn't the best place to post this, but is the only one I could find :)
Project Goal
This project is for non-tech savvy grandparents without internet to easily view pictures & videos of grandchildren on their TV.
Desired Configuration
Configure Pi Presents on a RasPi which will do the following:
As mentioned, I've so far been unable to make the above work. If you have any suggestions, please let me know. Thank You!
I am having a little trouble with the liveshow tracks only playing the first one in the list. I have four mp4 files in a directory, and when I start the show it will only play the first one over and over. Am I missing a setting that I need to have on? I have tried playing them in order and shuffle with no difference. I have it set to repeat and my track count limit is at 0.
Hi Ken,
First of all, thank you for creating PiPresents!
I use PiPresents in a canteen at my local sportsclub to display the latest contest video's and the latest news. I've written a script which downloads the content from a Dropbox account and generated the appropriate Json playlist each night.
However, since the upgrade to 1.4.4, when the TV is off, I'll get a error which stops PiPresents:
pi@raspberrypi:~/pipresents $ 3.58 Profile Error: PiPresents: No displays connected
The full debug of PiPresents is :
1.21 PiPresents: Pi Presents is starting, Version:1.4.4a at 2019-09-18 09:38.37
1.21 PiPresents: sys.path[0] - location of code: /home/pi/pipresents
1.21 PiPresents:
Raspbian: Raspberry Pi reference 2019-07-10
Generated using pi-gen, https://github.com/RPi-Distro/pi-gen, 175dfb027ffabd4b8d5080097af0e51ed9a4a56c, stage4
1.77 PiPresents:
omxplayer - Commandline multimedia player for the Raspberry Pi
Build date: Thu, 01 Aug 2019 12:50:43 +0000
Version : f543a0d [master]
Repository: https://github.com/popcornmix/omxplayer.git
1.79 PiPresents:
GPU Memory: gpu=256M
1.79 PiPresents: Desktop is LXDE-pi
1.79 PiPresents: User is: pi
1.79 PiPresents: Waiting up to 5 seconds for network
1.81 PiPresents: Time after network check is 2019-09-18 09:38.37
1.81 PiPresents: Found pp_web.cfg in /home/pi/pipresents/pp_config/pp_web.cfg
1.84 PiPresents: Network details My Pi eth0 10.1.100.2
1.85 PiPresents: Found pp_email.cfg at /home/pi/pipresents/pp_config/pp_email.cfg
1.85 PiPresents: pp_home directory is: /home/pi/pp_home
1.85 PiPresents: Trying pp_home at: /home/pi/pp_home (1)
1.85 PiPresents: Found Requested Home Directory, using pp_home at: /home/pi/pp_home
1.85 PiPresents: Found Requested profile - pp_profile directory is: /home/pi/pp_home/pp_profiles/pp_pride
1.93 Profile Error: PiPresents: No displays connected
If I start PiPresents when the TV is on, it displays me the following:
Number of Displays 1
Displays Connected [2]
Development Display 2
Display Dimensions - real {2: 1920} {2: 1080}
Window x offset {0: 0, 2: 0, 3: 0, 7: 0}
Window Dimensions - non-full {2: 1920} {2: 1080}
Display Dimensions - screensize {2: 1920} {2: 1080}
Canvas Widget {2: <tkinter.Canvas object .!canvas>}
Canvas Dimensions {2: 1920} {2: 1080}
Maps {'DSI0': 0, 'HDMI0': 2, 'HDMI': 2, 'A/V': 3, 'HDMI1': 7} {0: 'DSI0', 2: 'HDMI0', 3: 'A/V', 7: 'HDMI1'}
Full debug when TV is powered on:
1.27 PiPresents: Pi Presents is starting, Version:1.4.4a at 2019-09-18 09:46.47
1.27 PiPresents: sys.path[0] - location of code: /home/pi/pipresents
1.27 PiPresents:
Raspbian: Raspberry Pi reference 2019-07-10
Generated using pi-gen, https://github.com/RPi-Distro/pi-gen, 175dfb027ffabd4b8d5080097af0e51ed9a4a56c, stage4
1.83 PiPresents:
omxplayer - Commandline multimedia player for the Raspberry Pi
Build date: Thu, 01 Aug 2019 12:50:43 +0000
Version : f543a0d [master]
Repository: https://github.com/popcornmix/omxplayer.git
1.85 PiPresents:
GPU Memory: gpu=256M
1.86 PiPresents: Desktop is LXDE-pi
1.86 PiPresents: User is: pi
1.86 PiPresents: Waiting up to 5 seconds for network
1.88 PiPresents: Time after network check is 2019-09-18 09:46.47
1.88 PiPresents: Found pp_web.cfg in /home/pi/pipresents/pp_config/pp_web.cfg
1.92 PiPresents: Network details My Pi eth0 10.1.100.2
1.92 PiPresents: Found pp_email.cfg at /home/pi/pipresents/pp_config/pp_email.cfg
1.92 PiPresents: pp_home directory is: /home/pi/pp_home
1.92 PiPresents: Trying pp_home at: /home/pi/pp_home (1)
1.92 PiPresents: Found Requested Home Directory, using pp_home at: /home/pi/pp_home
1.92 PiPresents: Found Requested profile - pp_profile directory is: /home/pi/pp_home/pp_profiles/pp_pride
Pi Model 2
Number of Displays 1
Displays Connected [2]
Development Display 2
Display Dimensions - real {2: 1920} {2: 1080}
Window x offset {0: 0, 2: 0, 3: 0, 7: 0}
Window Dimensions - non-full {2: 1920} {2: 1080}
Display Dimensions - screensize {2: 1920} {2: 1080}
Canvas Widget {2: <tkinter.Canvas object .!canvas>}
Canvas Dimensions {2: 1920} {2: 1080}
Maps {'DSI0': 0, 'HDMI0': 2, 'HDMI': 2, 'A/V': 3, 'HDMI1': 7} {0: 'DSI0', 2: 'HDMI0', 3: 'A/V', 7: 'HDMI1'}
2.56 PiPresents: 1 Displays are connected:
2.57 PiPresents: - HDMI0 Id: 2 1920*1080
2.57 PiPresents: - HDMI0 Id: 2 1920*1080
2.58 IOPluginManager: keys.cfg read from /home/pi/pipresents/pp_io_config/keys.cfg
2.59 IOPluginManager: Tkinter KeysInitialised
2.59 ShowManager: Starting Show: mymediashow from: start
2.60 MediaShow: mymediashow 0: Starting show
2.60 MediaShow: mymediashow 0: Waiting for trigger: start
2.60 MediaShow: mymediashow 0: Track type is: image
2.60 MediaShow: Track type is: image
2.60 MediaShow: Track to load is: /home/pi/pp_home/media/Dranken.jpg
3.47 MediaShow: Show Id 0 load complete with status: loaded message: image track loaded
3.53 ImagePlayer: >show track received from show Id: 0
13.59 MediaShow: pause at end of showing track with reason: pause_at_end and message: user quit or duration exceeded
13.59 MediaShow: mymediashow 0: Waiting for trigger: start
13.59 MediaShow: mymediashow 0: Track type is: image
13.59 MediaShow: Track type is: image
13.59 MediaShow: Track to load is: /home/pi/pp_home/media/Dranken.jpg
14.17 MediaShow: Show Id 0 load complete with status: loaded message: image track loaded
14.18 ImagePlayer: >close received from show Id: 0
14.24 ImagePlayer: >show track received from show Id: 0
24.30 MediaShow: pause at end of showing track with reason: pause_at_end and message: user quit or duration exceeded
24.30 MediaShow: mymediashow 0: Waiting for trigger: start
24.30 MediaShow: mymediashow 0: Track type is: image
24.30 MediaShow: Track type is: image
24.30 MediaShow: Track to load is: /home/pi/pp_home/media/Dranken.jpg
24.88 MediaShow: Show Id 0 load complete with status: loaded message: image track loaded
24.89 ImagePlayer: >close received from show Id: 0
24.95 ImagePlayer: >show track received from show Id: 0
Is there some way or value to skip the display check?
Thanks again for PiPresents,
Kind Regards
Patrick
Me again, sorry to bother you so much lately :-)
There is an option to show a default track for a liveshow (List Empty Track). But this option does not seem to work on artliveshow. Is this just a bug or is this feature not implemented? If not, how can I be of help enabling this?
Hi!
On pi4 with buster my audio from a mp4 is not in sync.
In my config.txt i have gpu_mem=512
Is there more to do to get it in sync?
Thanks!
I have changed the .desktop files so they would work for me.
Not sure if its because of my version or update but here they are.
I used desktop-file-validate <file>
to make sure they are good.
It gives a warning about having two categories that it could show up twice but I don't think that is a problem.
Hi, meanwhile I have a multiwindow profile with 4 simultaneous shows (1 local video and 1 livestream in vlc and 2 static webpages in chromium) running and doing first tests with osc but notting happens.
In osc configuration name: wulp, ip: 192.168.1.210, slave: yes and port: 9001.
I am new in udp and osc.
Which command should exit all shows (for example)? Is that 'osc wulp closeall' or '/pipresents/wulp/core/closeall'.
Both trigger no reaction when running the shows but I'm using an android app to test that.
When I try to run the supplied python (pycharm with python 3.7) program pp_oscremote.py there's an error "cannot import name 'ForkingMixIn' from 'socketserver'" so I don't know if there's something wrong at sender, receiver, or both.
Thanks in advance, David.
Hi Ken,
I'm trying to use the stats to record the amount of times a Show is selected, controlled by a GPIO button call.
I'm using PP 1.4.1a and i'm including the '-d 128'.
In the output file i'm only getting entries indicating when PP was started although there is activity on the Terminal Screen but no visible text.
What have i missed, should i be adding other commands/calls in?
We have discussed this feature in the past but I have only just come to build it in to my program.
Many thanks,
Stewart
Hey there. I just switched from omx-player to vlc and am getting a lot of freezes. Roughly every other rotation of the artliveshow vlc just hangs somewhere in the video and shows one frame forever.
If you need any more information I am happy to provide them. For now I will keep using the last version of PiPresents still using omx-player.
Hi Ken,
great, really great package. I got one question though: I try to create a little art show, where i need to be able to start / stop / select different shows from a remote machine. Is there a way to send commands to the running pipresents instance on the pi without using OSC?
Hello,
thanks for this awesome project!
Is it possible to send a CURL command when a track starts and when it ends?
Ken, I have now done this so it runs full screen and disabled blanking and everything works perfectly except while my video screensaver is running and i select a video, it drops out to the image background for about a half second before while it loads the video. Is there any way to have the screensaver video freeze on the it's current frame or have that video continue until the newly selected video begins playing? Also if I trigger a video while another is currently playing I get the same behavior of it dropping to a background image for a second where ideally it would freeze on a frame to be truly gapless. If I launch a video and it plays to completion, it will freeze on the last frame and be gapless while loading back to the screensaver.
This ia a limitation of PP. In a mediashow I disguise the gap by pausing the video near its end while the next video loads. With a radiobuttonshow I don't do this. However your post has given me an idea of how it might be done. Meanwhile the fudge below might work:
For the gpio's that start the videos use the press edge to send the pause command and the trailing edge to send the play command. My proper fix would do achieve the same by pausing the video in the play command code.
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.