Skip to content

Commit

Permalink
Merge pull request #134 from saeugetier/release/v0.6.1
Browse files Browse the repository at this point in the history
Release/v0.6.1
  • Loading branch information
saeugetier authored May 22, 2024
2 parents c15ba0f + fcbc347 commit 55e575f
Show file tree
Hide file tree
Showing 42 changed files with 744 additions and 154 deletions.
75 changes: 64 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ The goal of the project is to provide a configurable photobooth software for Ras
Main features are:
- User Interface with touchscreen input (input via mouse is not recommended). Control via buttons may be added in future.
- Photo preview and capture via V4L2 (Raspberry Pi Camera or Webcam) or via GPhoto2 supported cameras.
- Printout with Canon Selphy photo printer.
- Printout with Canon Selphy photo printer or standard printer via CUPS.
- Configurable image collages with own templates. User can select current template in application.
- Password protected settings menu:
- Copy all photos to USB storage.
Expand All @@ -20,7 +20,7 @@ Main features are:
'------------' '---------'
^
|
PWM| .-----------------------.
ENABLE/PWM| .-----------------------.
| | DSLR Camera |
| | connected via GPhoto2 |
.------------------. | or raspi cam |
Expand All @@ -31,7 +31,7 @@ Main features are:
| QT/Quick | (_ -'
| | .-------------. ] |
| | | Touchscreen | | _,')
| | USB/VGA | | [_,-'_-'(
| | USB/HDMI | | [_,-'_-'(
| |---------->| | (_).-' \
| | | | / / \
'------------------' | |
Expand Down Expand Up @@ -62,15 +62,15 @@ Platform: Tested on PC plattform, Raspberry Pi 3B and Raspbarry Pi 4 (Raspberry

Camera: Tested with Canon EOS 450D and Raspberry Pi camera. Every camera compatible with gPhoto2 or v4l2 will do.

Printer: Tested Canon Selphy Photo Printer CP910
Printer: Tested Canon Selphy Photo Printer CP910 over wifi via https://github.com/saeugetier/go-selphy-cp. Tested with standard inkjet printer via CUPS.

Light/Flash:
- LED Driver: https://www.aliexpress.com/item/14-37-Inch-LED-LCD-Universal-TV-Backlight-Constant-Current-Board-Driver-Boost-Structure-Step-Up/32834942970.html
- 20W LED: https://www.aliexpress.com/item/1Pcs-High-Power-10W-20W-30W-50W-100W-COB-Integrated-LED-Lamp-Chip-SMD-Bead-DC/32822371892.html

Display: A touchscreen is highly recommended
Display: A touchscreen connected via HDMI is highly recommended.

RTC: If using a Raspberry Pi, it is recommended to use a realtime clock.
I2C RTC: If using a Raspberry Pi, it is recommended to use a realtime clock.

### Housing / Electronics
My own housing is documented in a seperate git repository: https://github.com/saeugetier/photobooth_hardware
Expand All @@ -86,15 +86,15 @@ Prebuild images will be available soon. For more information how to create an ow

### Raspbian an a Raspberry Pi

Minimum Raspbian Buster must be used, which provides QT 5.11 development packages. In order to use GPhoto2 cameras, the Qt GPhoto2 plugin must be installed.
Minimum Raspbian Buster must be used, which provides QT 5.11 development packages. In order to use GPhoto2 cameras, the Qt GPhoto2 plugin (https://github.com/saeugetier/qtmultimedia-gphoto) must be installed.

For now there is no further support for deployment on Raspbian.
For now there is no further support for deployment on Raspbian. Please compile the program yourself from sources.

### Local PC

At least QT 5.11 development packages must be installed in order to compile the application. In order to use GPhoto2 cameras, the Qt GPhoto2 plugin must be installed.
At least QT 5.11 development packages must be installed in order to compile the application. In order to use GPhoto2 cameras, the Qt GPhoto2 plugin (https://github.com/saeugetier/qtmultimedia-gphoto) must be installed.

For now there is no further support for deployment on local pc.
For now there is no further support for deployment on local pc. Please compile the program yourself from sources.

## Configuration

Expand All @@ -103,11 +103,64 @@ The local configuration file is stored in /home/<user>/.config/saeugetier/qtboot
The file contains all application settings and the pin code for the settings menu password protection (only numbers are supported). Default pin code is: 0815

### Template files
The local template files for your collage images are stored in /home/<user>/.local/share/saeugetier/qtbooth
The local template files for your collage images are stored in /home/user/.local/share/saeugetier/qtbooth

It contains:
- Background images for the image collages
- The "Collages.xml" describing all image collages
- Border images

The templates can be imported from USB storage. All files with extension "xml,jpg,png,svg" in the folder "layout" will be copied to local template folder.

### How to create own templates
Create your own "Collages.xml" file. You can use the file "XmlData.xml" to customize.

The root node of the XML is named "catalog". It contains nodes for the templates for collages named "collage". The collage must contain at least one "image", a "name", a "background", a "foreground" and an "icon". You can use builtin backgrounds like "WhiteBackground.png" or create your custom one. Forground will be painted in the front layer. So it is highly recommended to have an alpha channel and some cutouts for your photos.

Images will need information about the position and size. The range of the values for position and size is between 0.0 and 1.0. It is possible to define a image boarder for each image.

There are optional properties like "printable", which generates a none printable collage (just a single image). So you can use the photobox as an simple camera without printing capabilities.

Example for "Collages.xml":

```xml
<?xml version="1.0" encoding="UTF-8"?>
<catalog version="1.0">
<collage>
<name>Single Image</name>
<printable>false</printable>
<icon>Single.svg</icon>
<background>WhiteBackground.png</background>
<foreground>ExampleForeground.png</foreground>
<images>
<image><position x="0.0" y="0.0"/><size width="1.0" height="1.0"/></image>
</images>
</collage>
<collage>
<name>Four Images Border</name>
<icon>FourBorder.svg</icon>
<background>StarsBackground.jpg</background>
<images>
<image>
<position x="0.0" y="0.0"/><size width="0.5" height="0.5"/>
<border><file>RedBorder.png</file><margin top="10" left="10" right="10" bottom="10"/></border>
</image>
<image>
<position x="0.5" y="0.0"/><size width="0.5" height="0.5"/>
<border><file>RedBorder.png</file><margin top="30" left="30" right="30" bottom="30"/></border>
</image>
<image>
<position x="0.0" y="0.5"/><size width="0.5" height="0.5"/>
<border><file>RedBorder.png</file><margin top="20" left="20" right="20" bottom="20"/></border>
</image>
<image>
<position x="0.5" y="0.5"/><size width="0.5" height="0.5"/>
<border><file>RedBorder.png</file><margin top="50" left="50" right="50" bottom="50"/></border>
</image>
</images>
</collage>
</catalog>
```

## Issue reporting
Please use the [issue tracker](https://github.com/saeugetier/photobooth/issues) for bug reporting and feature request. If there are specific bugs or feature request belonging to the Yocto image, please use [the issue tracker for poky-photobooth](https://github.com/saeugetier/poky-photobooth).
17 changes: 13 additions & 4 deletions XmlData.xml
Original file line number Diff line number Diff line change
@@ -1,8 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<catalog version="1.0">
<collage>
<name>Single Image</name>
<name>Single Image No Print</name>
<printable>false</printable>
<icon>SingleNoPrint.svg</icon>
<background>WhiteBackground.png</background>
<foreground>ExampleForeground.png</foreground>
<images>
<image><position x="0.0" y="0.0"/><size width="1.0" height="1.0"/></image>
</images>
</collage>
<collage>
<name>Single Image</name>
<icon>Single.svg</icon>
<background>WhiteBackground.png</background>
<images>
Expand Down Expand Up @@ -54,19 +63,19 @@
<images>
<image>
<position x="0.0" y="0.0"/><size width="0.5" height="0.5"/>
<border><file>RedBorder.png</file><margin top="10" left="10" right="10" bottom="10"/></border>
<border><file>RedBorder.png</file><margin top="20" left="20" right="20" bottom="20"/></border>
</image>
<image>
<position x="0.5" y="0.0"/><size width="0.5" height="0.5"/>
<border><file>RedBorder.png</file><margin top="30" left="30" right="30" bottom="30"/></border>
<border><file>RedBorder.png</file><margin top="20" left="20" right="20" bottom="20"/></border>
</image>
<image>
<position x="0.0" y="0.5"/><size width="0.5" height="0.5"/>
<border><file>RedBorder.png</file><margin top="20" left="20" right="20" bottom="20"/></border>
</image>
<image>
<position x="0.5" y="0.5"/><size width="0.5" height="0.5"/>
<border><file>RedBorder.png</file><margin top="50" left="50" right="50" bottom="50"/></border>
<border><file>RedBorder.png</file><margin top="20" left="20" right="20" bottom="20"/></border>
</image>
</images>
</collage>
Expand Down
7 changes: 4 additions & 3 deletions docs/index.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,15 @@
# Overview

This project contains yet another [Photobooth](https://github.com/saeugetier/photobooth). The software is intended to run on a Raspberry Pi 2/3, but it can run on any linux PC. A preview image is displayed in capture mode. After countdown, a picture is taken and can be discarded or saved. Saved images can be printed immediately or printed as 2 by 2 collage image. All saved images are shown in the gallery page.
This project contains yet another [Photobooth](https://github.com/saeugetier/photobooth). The software is intended to run on a Raspberry Pi 2 and upwards, but it can run on any linux PC. A preview image is displayed in capture mode. After countdown, a picture is taken and can be discarded or saved. Saved images can be printed immediately or printed collage image with multiple photos. All saved images are shown on front page when the photobox is idle.

As image source a DSLR over GPhoto2 or a V4L2 camera (Raspberry Pi Camera or webcam) can be used.

The application can be either compiled and deployed on an existing Raspbian installation, or a ready to go image can be build by Yocto build system: [https://github.com/saeugetier/poky-photobooth/](https://github.com/saeugetier/poky-photobooth/)
The application can be either compiled and deployed on an existing Raspberry Pi OS installation, or a ready to go image can be build by Yocto build system: [https://github.com/saeugetier/poky-photobooth/](https://github.com/saeugetier/poky-photobooth/)

## Video

[![Video](https://img.youtube.com/vi/Z9pVK-X5Wz4/0.jpg)](https://youtu.be/Z9pVK-X5Wz4)
[![](https://markdown-videos-api.jorgenkh.no/youtube/fB2aQGPT-wg?width=640&height=360)](https://youtu.be/fB2aQGPT-wg)
(Link to Youtube)

# Technology
## Software
Expand Down
Binary file added images/ExampleForeground.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
122 changes: 122 additions & 0 deletions images/icon/SingleNoPrint.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
5 changes: 3 additions & 2 deletions qml.qrc
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,6 @@
<file>qml/ImagePreviewForm.ui.qml</file>
<file>qml/MainMenu.qml</file>
<file>qml/MainMenuForm.ui.qml</file>
<file>qml/PrinterBusyPopup.qml</file>
<file>qml/PrinterBusyPopupForm.ui.qml</file>
<file>qml/SettingsPassword.qml</file>
<file>qml/SettingsPasswordForm.ui.qml</file>
<file>qml/SettingsPopup.qml</file>
Expand Down Expand Up @@ -73,5 +71,8 @@
<file>shaders/posterize.fsh</file>
<file>qml/EffectSelectionPopup.qml</file>
<file>qml/EffectSelectionPopupForm.ui.qml</file>
<file>qml/content/PrinterPopup.qml</file>
<file>images/ExampleForeground.png</file>
<file>images/icon/SingleNoPrint.svg</file>
</qresource>
</RCC>
Loading

0 comments on commit 55e575f

Please sign in to comment.