nebelhom / slideshow4raspberrypi Goto Github PK
View Code? Open in Web Editor NEWA very simple script to run through a set of images to show on screen for a digital photoframe used on a raspberry pi
License: Mozilla Public License 2.0
A very simple script to run through a set of images to show on screen for a digital photoframe used on a raspberry pi
License: Mozilla Public License 2.0
Title says it all.
Maybe it is best to start with the menu. It makes most sense.
Then write a CLI that allows for direct start by skipping the menu (see issue #37 )
Currently only shows one image. Switch image every X minutes
Traceback (most recent call last):
File "/home/nebelhom/SlideShow4RaspberryPi/main.py", line 392, in <module>
SlideShowApp().run()
File "/home/nebelhom/anaconda3/envs/Slideshow/lib/python3.9/site-packages/kivy/app.py", line 949, in run
self._run_prepare()
File "/home/nebelhom/anaconda3/envs/Slideshow/lib/python3.9/site-packages/kivy/app.py", line 919, in _run_prepare
root = self.build()
File "/home/nebelhom/SlideShow4RaspberryPi/main.py", line 384, in build
root = RootWidget()
File "/home/nebelhom/SlideShow4RaspberryPi/main.py", line 62, in __init__
self.picture = Picture(img_dir=IMG_DIR,
File "/home/nebelhom/SlideShow4RaspberryPi/main.py", line 126, in __init__
self.set_angle()
File "/home/nebelhom/SlideShow4RaspberryPi/main.py", line 175, in set_angle
o = hf.get_img_orientation(self.source)
File "/home/nebelhom/SlideShow4RaspberryPi/helper_func.py", line 140, in get_img_orientation
for k, v in img._getexif().items()
AttributeError: 'NoneType' object has no attribute 'items'
Most likely to do with missing exif data --> give a standard solution for missing exif
Rather than just flip from image to image, find a smoother transition.
Add python version used, libraries (e.g. pygame version) etc.
Currently the file is not scaled to image and if ratio is wrong the sides are not black.
Code is still manageable but the expected behaviour of each function and class has to be improved.
Idea is to allow a USB stick as source and specify that
I have noticed that the script does not respond very quickly to keyboard buttons and mouseclicks. For such a simple script this is unexpected.
Is most likely to do with pygame.time.delay(3000)
found here that freezes responsiveness to the script.
Can we investigate how we can delay the slide change without freezing the entire application. This can be a pain if we want the image to stay there for 15-30 minutes or more...
The absence of capabilities of pygame to have a simple file dialog moved this project to kivy.
This issue will be used to transfer the existing main file to kivy.
Ideally touchscreen compatibly GUI for raspbian that allows to quickly define the image folder path, orientation, etc.
Using Kivy
Use one click to show interactions to go from slideshow to menu
Think, one click shows interaction button for X seconds, then fade it out if there is no interaction
This should be a simple file saving the important parameters.
e.g. orientation (landscape or portrait), path to image files, time to switch between images and some more
If config file is incomplete (i.e. some values are empty or invalid), then ask for information prior to running the application.
Ideally do this after GUI was written, i.e. after issue #18 was completed
This issue is for when the software is completely up and running.
Write a python script that interacts with a motion sensor via the GPIO pins, so that it switches off after an arbitrary time interval 30 minutes of no movements and on when movement is detected (to save some energy)
This script should be optional depending on a person's setup.
=> Integrate also into the CLI using a flag
Currently very clunky.
The CLI file should make life a little easier to start the program RE: feeding in specific variables, e.g. directory location, portrait or landscape, time to switch etc.
The purpose of the script is to act as a slide show for pictures on a raspberry pi. Currently we create a new Timer thread everytime the old one is finished, this may lead to very long thread names as the threads are numbered chronologically.
When picture frame goes into the sleep mode, make sure the script stops and restarts
They are redundant and / or don't work well
Check out if it is a good idea to add videos
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.