SmoothSlideSaver

Screensavers

Source:

Score 67%
Description:

SmoothSlideSaver is a KDE screensaver which shows images from a directory as an OpenGL slideshow. It uses the famous Ken Burns effect and smoothly fades from one image to the next.

You don't need to worry about complicated configuration options, everything should run smoothly out of the box. Just select a directory with some nice pictures (e.g., your digital photo collection) and let the show begin :)


There are prebuilt packages for Debian and Ubuntu (i386 architecture, only). You can either download them via the links below, or more conveniently, apt-get them:

Put one of the following lines into your /etc/apt/sources.list file:

deb http://www1.inf.tu-dresden.de/~cw183155/smoothslidesaver debian-sarge/ # Debian stable "Sarge"

deb http://www1.inf.tu-dresden.de/~cw183155/smoothslidesaver debian-unstable/ # Debian unstable (requires KDE 3.5.0 from Alioth (or experimental?))

deb http://www1.inf.tu-dresden.de/~cw183155/smoothslidesaver ubuntu-breezy/ # (K)Ubuntu "Breezy"

Then do the usual steps to install the package:

#> apt-get update
#> apt-get install smoothslidesaver


If you have another Debian based distribution and/or architecture (or if the unstable packages can't be installed), you can easily build your own package. Add the following line to /etc/apt/sources.list:

deb-src http://www1.inf.tu-dresden.de/~cw183155/smoothslidesaver source/

Then execute the following commands:

#> apt-get update
#> mkdir smoothslidesaver
#> cd smoothslidesaver
#> apt-get build-dep smoothslidesaver
#> apt-get source --compile smoothslidesaver
#> dpkg -i smoothslidesaver_*.deb

If you have another distribution installed on your computer, you will have to do it the hard way, sorry :-/ Download the source tarball from the link below, untar it and then execute the following steps in the source directory:

#> ./configure
#> make
#> make install
Last changelog:

12 years ago

0.4.2-2
* fixed build issue (You do _not_ need to upgrade, if you already have a (prebuilt) package of version 0.4.2 installed!)

0.4.2

* Code cleanup and bug fixes
* Added a not yet complete debugging mode to make it easier to find the cause of bugs which I cannot reproduce on my computer (to activate it, add 'DebugMode=true' to section [settings] of the configuration file)

0.4.1

* Initial public release

Arcturan

8 years ago

After having run this for years, I suddenly can't get it to compile. The only change on my system I can think of is upgrading libjpeg from version 6 to 7.

make all-recursive
make[1]: Entering directory `/smoothslidesaver-0.4.2'
Making all in po
make[2]: Entering directory `/smoothslidesaver-0.4.2/po'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/smoothslidesaver-0.4.2/po'
Making all in src
make[2]: Entering directory `/smoothslidesaver-0.4.2/src'
source='smoothslidewidget.cpp' object='smoothslidewidget.o' libtool=no \
depfile='.deps/smoothslidewidget.Po' tmpdepfile='.deps/smoothslidewidget.TPo' \
depmode=gcc3 /bin/sh ../admin/depcomp \
g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/kde/3.5/include -I/usr/qt/3/include -I. -UQT_NO_ASCII_CAST -DQT_THREAD_SUPPORT -D_REENTRANT -Wnon-virtual-dtor -Wno-long-long -Wundef -Wall -W -Wpointer-arith -Wwrite-strings -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -Wchar-subscripts -O2 -Wformat-security -Wmissing-format-attribute -fno-exceptions -fno-check-new -fno-common -c -o smoothslidewidget.o `test -f 'smoothslidewidget.cpp' || echo './'`smoothslidewidget.cpp
In file included from /usr/qt/3/include/qwindowdefs.h:47,
from /usr/qt/3/include/qpaintdevice.h:45,
from /usr/qt/3/include/qpixmap.h:45,
from /usr/qt/3/include/qimage.h:45,
from smoothslidewidget.cpp:29:
/usr/qt/3/include/qstring.h: In member function ‘char QChar::latin1() const’:
/usr/qt/3/include/qstring.h:197: warning: conversion to ‘char’ from ‘int’ may alter its value
/usr/qt/3/include/qstring.h: In member function ‘void QChar::setCell(uchar)’:
/usr/qt/3/include/qstring.h:222: warning: conversion to ‘ushort’ from ‘int’ may alter its value
/usr/qt/3/include/qstring.h: In member function ‘void QChar::setRow(uchar)’:
/usr/qt/3/include/qstring.h:223: warning: conversion to ‘ushort’ from ‘int’ may alter its value
/usr/qt/3/include/qstring.h: In constructor ‘QChar::QChar(uchar, uchar)’:
/usr/qt/3/include/qstring.h:267: warning: conversion to ‘ushort’ from ‘int’ may alter its value
/usr/qt/3/include/qstring.h: In constructor ‘QStringData::QStringData(QChar*, uint, uint)’:
/usr/qt/3/include/qstring.h:365: warning: conversion to ‘unsigned int:30’ from ‘uint’ may alter its value
/usr/qt/3/include/qstring.h:365: warning: conversion to ‘unsigned int:30’ from ‘uint’ may alter its value
In file included from smoothslidewidget.cpp:29:
/usr/qt/3/include/qimage.h: In member function ‘bool QImageTextKeyLang::operator<(const QImageTextKeyLang&) const’:
/usr/qt/3/include/qimage.h:61: warning: suggest parentheses around && within ||
In file included from /usr/qt/3/include/qobject.h:48,
from /usr/kde/3.5/include/kconfigbase.h:26,
from /usr/kde/3.5/include/kconfig.h:29,
from smoothslidewidget.cpp:31:
/usr/qt/3/include/qevent.h: In member function ‘void QDropEvent::setAction(QDropEvent::Action)’:
/usr/qt/3/include/qevent.h:523: warning: conversion to ‘unsigned char’ from ‘uint’ may alter its value
In file included from /usr/qt/3/include/qwidget.h:52,
from /usr/qt/3/include/qdialog.h:45,
from /usr/kde/3.5/include/kdialog.h:26,
from /usr/kde/3.5/include/kdialogbase.h:26,
from /usr/kde/3.5/include/kaboutdialog.h:33,
from smoothslidesaver.h:24,
from smoothslidewidget.cpp:35:
/usr/qt/3/include/qsizepolicy.h: In member function ‘void QSizePolicy::transpose()’:
/usr/qt/3/include/qsizepolicy.h:125: warning: conversion to ‘uchar’ from ‘uint’ may alter its value
/usr/qt/3/include/qsizepolicy.h:125: warning: conversion to ‘uchar’ from ‘uint’ may alter its value
In file included from /usr/kde/3.5/include/klistbox.h:21,
from /usr/kde/3.5/include/kjanuswidget.h:27,
from /usr/kde/3.5/include/kdialogbase.h:27,
from /usr/kde/3.5/include/kaboutdialog.h:33,
from smoothslidesaver.h:24,
from smoothslidewidget.cpp:35:
/usr/qt/3/include/qlistbox.h: In member function ‘int QListBox::cellWidth() const’:
/usr/qt/3/include/qlistbox.h:194: warning: conversion to ‘int’ from ‘long int’ may alter its value
/usr/qt/3/include/qlistbox.h: In member function ‘int QListBox::cellWidth(int) const’:
/usr/qt/3/include/qlistbox.h:195: warning: conversion to ‘int’ from ‘long int’ may alter its value
In file included from smoothslidesaver.h:29,
from smoothslidewidget.cpp:35:
smoothslidewidget.h: In member function ‘float ViewTrans::transX(float) const’:
smoothslidewidget.h:40: warning: conversion to ‘float’ from ‘double’ may alter its value
smoothslidewidget.h: In member function ‘float ViewTrans::transY(float) const’:
smoothslidewidget.h:41: warning: conversion to ‘float’ from ‘double’ may alter its value
smoothslidewidget.h: In member function ‘float ViewTrans::scale(float) const’:
smoothslidewidget.h:42: warning: conversion to ‘float’ from ‘double’ may alter its value
smoothslidewidget.h: In member function ‘double ViewTrans::rnd() const’:
smoothslidewidget.h:47: error: ‘rand’ was not declared in this scope
smoothslidewidget.h:47: error: ‘RAND_MAX’ was not declared in this scope
smoothslidewidget.h: In member function ‘double ViewTrans::rndSign() const’:
smoothslidewidget.h:48: error: ‘rand’ was not declared in this scope
smoothslidewidget.h:48: error: ‘RAND_MAX’ was not declared in this scope
smoothslidewidget.cpp: In constructor ‘ViewTrans::ViewTrans(bool, float)’:
smoothslidewidget.cpp:56: warning: suggest parentheses around comparison in operand of ^
smoothslidewidget.cpp:75: warning: conversion to ‘float’ from ‘double’ may alter its value
smoothslidewidget.cpp:76: warning: conversion to ‘float’ from ‘double’ may alter its value
smoothslidewidget.cpp: In constructor ‘SmoothSlideWidget::SmoothSlideWidget(QWidget*, const char*)’:
smoothslidewidget.cpp:130: error: ‘srand’ was not declared in this scope
smoothslidewidget.cpp:145: warning: conversion to ‘float’ from ‘double’ may alter its value
smoothslidewidget.cpp:146: error: ‘rand’ was not declared in this scope
smoothslidewidget.cpp:146: error: ‘RAND_MAX’ was not declared in this scope
smoothslidewidget.cpp: In member function ‘void SmoothSlideWidget::paintTexture(Image*)’:
smoothslidewidget.cpp:377: warning: conversion to ‘GLfloat’ from ‘double’ may alter its value
smoothslidewidget.cpp:377: warning: conversion to ‘GLfloat’ from ‘double’ may alter its value
In file included from smoothslidewidget.cpp:422:
/usr/qt/3/include/qmemarray.h: In member function ‘bool QMemArray<type>::resize(uint) [with type = unsigned int]’:
/usr/qt/3/include/qglcolormap.h:83: instantiated from here
/usr/qt/3/include/qmemarray.h:73: warning: conversion to ‘uint’ from ‘long unsigned int’ may alter its value
make[2]: *** [smoothslidewidget.o] Error 1
make[2]: Leaving directory `/smoothslidesaver-0.4.2/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/smoothslidesaver-0.4.2'
make: *** [all] Error 2

Report

djansen

9 years ago

Hey,

have you thought about making it available for KDE4?

I really think this should be part of the standard distribution.

You might still make it into 4.2.0 ;-)

-- Dennis

Report

Arcturan

9 years ago

I can't change to KDE 4 before this works. Please, carstenw42, can you let us know if it's at all possible for you to port this?

Report

djtm

9 years ago

Hey, don't worry, you can still manually add the old screensaver to kde4. Just look at the desktop files for screensavers once you've installed kde4 and then adjust one to start sss. I've done it before and it worked fine.

Report

Arcturan

9 years ago

Excellent, thanks for sharing!

Report

medisoft

10 years ago

Hi! I just downloaded this and is very nice software, but it has some problems in kubuntu 7.04 (also in mandriva 2007.1) when I use compiz/beryl and start the saver at the same time. The problems are:

- when i return from the saver the screen needs to be repainted, but that doesn't happen.

- when i'm inside the saver any change to an element like a window or a dock/taskbar element makes the saver to blink....

this doesn't happens when i work without beryl/compiz...

Report

amr2205

10 years ago

I like it so much, the fade and transition effects are very good and give a new dimension to my images, thank you for sharing it!

Report

seb

10 years ago

It would be great if the plugin could auto rotate images based on exif data.

Report

SeaEagle

11 years ago

I installed the Mandriva rpm & it worked fine, but it really maxes out my CPU. I don't have a graphics card, so I try not to run resource heavy screensavers. This one had my CPU running at 100%.

Those with a graphics card shouldn't have a problem with it though.

Report

Arcturan

11 years ago

Thank you for sharing this, it's great!

I'm using a folder with about 4000 pictures in it. But very often SSS shows the same picture several times within a short time. It seems that the randomness isn't perfect.

When my system is under heavy load (io), SSS often keeps showing the same picture over and over, fading it in and out.

Thanks again!

Report

mthriftwsc

12 years ago

After installing the app without problems, it only shows the bottom quarter of the current picture at the top of the screen, the rest of the screen is just blank, any ideas?

Report

cjplepepe

11 years ago

Hello,
I have the same problem with a Mandriva 2007. Also with smoothslidesaver-0.4.2-1mdk.i586.rpm and smoothslidesaver_0.4.2-2.tar.gz. Any ideas ?

Report

rstanchak

12 years ago

on gentoo I had to run

KDEDIR=/usr/kde/3.4/ ./configure

in order to detect kde

Report

LeChuck

12 years ago

Very nice!
What about adding an option to adjust zoom level?

Report

C

carstenw42

12 years ago

Maybe in the next release. Just out of curiosity: In your opinion, is the current zooming too aggressive or the opposite?

Report

floyduww

11 years ago

It would be nice if both zoom level and pan speed were adjustable. Where in the code could I hard code different values for these?

Report

C

carstenw42

11 years ago

Hmmm ... this will probably require some trial and error, but you can play with the floating-point math in the class ViewTrans in smoothslidewidget.cpp. A starting point may be the threshold values used by the two loops in this class' constructor. However, the speed of the movement will still depend on the per-image duration one configures for the slideshow.

I know, the code could be a bit more flexible here ;-)

Report

woodsmoke

12 years ago

Hi,
this may sound kinda dumb.......

ya gotta remember I'm not too bright....

But, I teach school.....

I'm wonderin'....if it would be possible to put this in a live cd distro....

put my science pics in it....

since the school uses windoze....run the distro as a live cd and run my pics in this as a screensaver....

again....I'm not too bright...just an idea!

ain't xandros great!
woodsmoke

Report

euxneks

12 years ago

What about being able to slow down the effect and selecting different transitions?

Excellent screensaver btw...

Report

C

carstenw42

12 years ago

Hmm, currently, the duration of the cross-fade effect is 10% of the duration an image is shown. Fade out + fade in takes 20%. You could increase the interval in which images change, but I guess you already tried that ...

What do you mean with 'choosing different transitions'? Additional transition effects? It is possible to disable either the cross-fade effect or the fade-out/fade-in effect, but you have to do this in the config file. Add

DisableCrossFade=true
or
DisableFadeInOut=true

to ~/kde/share/config/smoothslidesaver.kssrc.

Anyway, I tried to keep the number of configuration options in the GUI as low as possible. I think that a lot of of programs (especially screensaver) have far too many checkboxes and sliders that are a source of confusion. Of course, that's my personal opinion. But before I change anything, I would like to hear others, too.

Report

DanaKil

12 years ago

it's my new screensaver :)
maybe you could add an option to hide the cursor ?

Report

C

carstenw42

12 years ago

Huh? KDE takes care of hiding the cursor, when a screensaver is run. The mouse pointer is only visible in preview mode (when you click 'Test' in the screensaver configuration dialog).

Report

eriol

12 years ago

Sounds great !
What about someone making an ebuild ?

Report

probono

12 years ago

/usr/bin/smoothslidesaver.kss -setup opens the setup dialog, and -root runs it in full screen.

Report

lenooh

12 years ago

I think you should make a separate program for viewing photos, or build this into gwenview for example. So that you can use it to watch/show your photos, not just as a screensaver.
i dont know any linux program made especialy for slideshows (like photodex for windowz, for example).

it would be cool!

Report

12 years ago

0.4.2-2
* fixed build issue (You do _not_ need to upgrade, if you already have a (prebuilt) package of version 0.4.2 installed!)

0.4.2

* Code cleanup and bug fixes
* Added a not yet complete debugging mode to make it easier to find the cause of bugs which I cannot reproduce on my computer (to activate it, add 'DebugMode=true' to section [settings] of the configuration file)

0.4.1

* Initial public release

product-maker 59 127

File (click to download) Version Description Packagetype Downloads Date Filesize DL OCS-Install
Details
license
version
0.4.2
updated Jan 08 2006
added Jan 01 2006
downloads today
0
page views today 0