Attached is a version tested on Bionicpup64.
(I tidied up the problem with duplicate first image)
Still a minor issue with timing difference between first couple of images but otherwise seems to be working fine.
Remove fake .gz and then make executable
PLEASE: make sure that the images in the input directory are COPIES of your files. Keep the originals safe somewhere else
PupSlider slideshow creator
- Attachments
-
- pupslider_gui64_v0.08.gz
- (18.42 KiB) Downloaded 302 times
Let me describe a bit about the frame padding:
Pupslider changes the size of the images to meet the output resolution that the user selects as the best match for their display device.
This output device could be a projector, a TV, a laptop or something like one of those little photo display screens - all of these have fixed display ratios.
However in many cases the source photos will be different shapes - I had to deal with old square Polaroid photos, newspaper clippings, hand-drawn images etc etc. You can imagine how difficult it is to get a square Polaroid displaying on a widescreen laptop without some sort of padding or frame.
If there was no frame around the image you would either see the desktop background around the edges of the image, or else the image would have to be stretched to exactly match the resolution of the display screen.
You could avoid this problem by manually manipulating every image so that it matched a specific resolution. ie: if your original image was square (like an old polaroid) you could crop it and/or stretch it to fit onto a widescreen laptop (eg 1280x800) and have no border or frame. However, this would be a very time consuming task and the results are often unsatisfactory. Too much cropping etc.
So some sort of "padding" around the image is a requirement unless the user chooses to manually manipulate every image.
The question is - can this padding be another colour? Or can it be transparent?
I don't know the answer off the cuff so I will see what I can find out. Maybe I can add a colour selector somehow.
Here is another suggestion:
Pupslider allows you to select the size of the padding but starts with a value of zero. What that means is that where the image resolution does not match the output resolution some padding will only be added on the two sides that don't fit exactly. (and zero on the other two sides)
So let's say that you have chosen 640x480 output resolution and your photo is an old square polaroid at 480x480 - pupslider will have to add padding at the sides, but there will be no padding at top and bottom.
Sometimes this looks odd because the padding is visibly uneven. One way around this is to select much greater padding so that the difference between top and sides is less noticeable. A very wide frame can look better than an uneven frame that is skinny on the sides or top.
Sometimes getting an acceptable display is more about creating an effective optical illusion.
I will have a think about frame colour selection and see if i can offer more options.
EDIT : Here is a comparison of an image with "0" padding (no padding on two sides) and an image with "60" padding.
I think the "60" padding looks more normal.
Pupslider changes the size of the images to meet the output resolution that the user selects as the best match for their display device.
This output device could be a projector, a TV, a laptop or something like one of those little photo display screens - all of these have fixed display ratios.
However in many cases the source photos will be different shapes - I had to deal with old square Polaroid photos, newspaper clippings, hand-drawn images etc etc. You can imagine how difficult it is to get a square Polaroid displaying on a widescreen laptop without some sort of padding or frame.
If there was no frame around the image you would either see the desktop background around the edges of the image, or else the image would have to be stretched to exactly match the resolution of the display screen.
You could avoid this problem by manually manipulating every image so that it matched a specific resolution. ie: if your original image was square (like an old polaroid) you could crop it and/or stretch it to fit onto a widescreen laptop (eg 1280x800) and have no border or frame. However, this would be a very time consuming task and the results are often unsatisfactory. Too much cropping etc.
So some sort of "padding" around the image is a requirement unless the user chooses to manually manipulate every image.
The question is - can this padding be another colour? Or can it be transparent?
I don't know the answer off the cuff so I will see what I can find out. Maybe I can add a colour selector somehow.
Here is another suggestion:
Pupslider allows you to select the size of the padding but starts with a value of zero. What that means is that where the image resolution does not match the output resolution some padding will only be added on the two sides that don't fit exactly. (and zero on the other two sides)
So let's say that you have chosen 640x480 output resolution and your photo is an old square polaroid at 480x480 - pupslider will have to add padding at the sides, but there will be no padding at top and bottom.
Sometimes this looks odd because the padding is visibly uneven. One way around this is to select much greater padding so that the difference between top and sides is less noticeable. A very wide frame can look better than an uneven frame that is skinny on the sides or top.
Sometimes getting an acceptable display is more about creating an effective optical illusion.
I will have a think about frame colour selection and see if i can offer more options.
EDIT : Here is a comparison of an image with "0" padding (no padding on two sides) and an image with "60" padding.
I think the "60" padding looks more normal.
- Attachments
-
- portrait_240.jpg
- (12.12 KiB) Downloaded 335 times
-
- portrait_180.jpg
- (9.94 KiB) Downloaded 331 times
Last edited by greengeek on Thu 11 Jul 2019, 09:30, edited 1 time in total.
Ok, here is a bionicpup64 version that includes the ability to choose the frame colour. (also including the option of "random" colour - which changes the frame color each time it switches to the next image)
I have included some basic colour choices in a dropdown box, however it is also possible to type the colour name manually if you want a colour that is not in the list.
You will need to type colour names as specified by the x11 standard.
(if you use a name that is not supported by ffmpeg the output file will not be created - just check the color charts and try to find another similar color and try that)
To identify the correct names for other colours see these charts (for supported web, html, x11 colours):
https://www.html.am/html-codes/color/co ... -chart.cfm
http://www.ironspider.ca/format_text/fontcolor.htm (hover over color to find name)
PLEASE: make sure that the images in the input directory are COPIES of your files. Keep the originals safe somewhere else
Remove fake .gz suffix and make executable
I have included some basic colour choices in a dropdown box, however it is also possible to type the colour name manually if you want a colour that is not in the list.
You will need to type colour names as specified by the x11 standard.
(if you use a name that is not supported by ffmpeg the output file will not be created - just check the color charts and try to find another similar color and try that)
To identify the correct names for other colours see these charts (for supported web, html, x11 colours):
https://www.html.am/html-codes/color/co ... -chart.cfm
http://www.ironspider.ca/format_text/fontcolor.htm (hover over color to find name)
PLEASE: make sure that the images in the input directory are COPIES of your files. Keep the originals safe somewhere else
Remove fake .gz suffix and make executable
- Attachments
-
- pupslider_gui64_v0.09.gz
- Remove fake .gz suffix and make executable
- (19.29 KiB) Downloaded 323 times
This version includes the ability to add "leadin" and "leadout" frames which will be in the same colour as the user chooses for the frames around the images.
I recommend adding 2 or 3 of these frames.
The addition of leadin and leadout frames can improve the performance of the output mp4 where there are differences in ffmpeg versions. (Without these frames some ffmpeg versions "shortchange" the video by leaving out the first or last images, or truncating display time of the first or last images). This will make the gui useable on a greater number of puppy versions, and also stabilises performance with different media players (eg: mpv and mplayer display videos slightly differently sometimes).
The extra frames also make it easier to add background music etc if desired. (for example you can add leadin video frames as a way to better synchronise the music start)
I have included some basic frame colour choices in a dropdown box, however it is also possible to type the colour name manually if you want a colour that is not in the list.
You will need to type colour names as specified by the x11 standard.
(if you use a name that is not supported by ffmpeg the output file will not be created - just check the color charts and try to find another similar color and try that)
To identify the correct names for other colours see these charts (for supported web, html, x11 colours):
https://www.html.am/html-codes/color/co ... -chart.cfm
http://www.ironspider.ca/format_text/fontcolor.htm (hover over color to find name)
PLEASE: make sure that the images in the input directory are COPIES of your files. Keep the originals safe somewhere else
I have also written a gui that allows the user to add a background soundtrack to the video. See here
I recommend adding 2 or 3 of these frames.
The addition of leadin and leadout frames can improve the performance of the output mp4 where there are differences in ffmpeg versions. (Without these frames some ffmpeg versions "shortchange" the video by leaving out the first or last images, or truncating display time of the first or last images). This will make the gui useable on a greater number of puppy versions, and also stabilises performance with different media players (eg: mpv and mplayer display videos slightly differently sometimes).
The extra frames also make it easier to add background music etc if desired. (for example you can add leadin video frames as a way to better synchronise the music start)
I have included some basic frame colour choices in a dropdown box, however it is also possible to type the colour name manually if you want a colour that is not in the list.
You will need to type colour names as specified by the x11 standard.
(if you use a name that is not supported by ffmpeg the output file will not be created - just check the color charts and try to find another similar color and try that)
To identify the correct names for other colours see these charts (for supported web, html, x11 colours):
https://www.html.am/html-codes/color/co ... -chart.cfm
http://www.ironspider.ca/format_text/fontcolor.htm (hover over color to find name)
PLEASE: make sure that the images in the input directory are COPIES of your files. Keep the originals safe somewhere else
I have also written a gui that allows the user to add a background soundtrack to the video. See here
- Attachments
-
- pupslider_gui64_v0.096.gz
- Remove fake .gz suffix and make executable.
- (16.78 KiB) Downloaded 334 times
-
- gui.jpg
- (56.12 KiB) Downloaded 268 times