Release Pandora Image Viewer


Thanks to an IRC conversation, I discovered the reason for it closing. Its because there are spaces in the filename(s) of the image/directory(ies) containing the images. Also, an image flickers when when I try to zoom in/out and after doing it a few times, PIV crashes.
I'll try to fix the spaces in filenames thing.

Can you send me an image that causes flickering or crashing or whatever? I need to be able to reproduce an issue before I can try to fix it.
 
Thanks to an IRC conversation, I discovered the reason for it closing. Its because there are spaces in the filename(s) of the image/directory(ies) containing the images. Also, an image flickers when when I try to zoom in/out and after doing it a few times, PIV crashes.
I'll try to fix the spaces in filenames thing.

Can you send me an image that causes flickering or crashing or whatever? I need to be able to reproduce an issue before I can try to fix it.
The flickering is probably occurring because I tried zooming in/out while it was loading the images into memory.
 
It's really fast to load images O_O

But the nubs are too fast for me, the left is lightning fast, while the right is somehow usable, but it's still too fast and prone to going crazy, like I push up and the image goes right 

EDIT: oh, seems like the more I zoom in and the more the nubs movements become fast
 
Last edited by a moderator:
Thanks to an IRC conversation, I discovered the reason for it closing. Its because there are spaces in the filename(s) of the image/directory(ies) containing the images. Also, an image flickers when when I try to zoom in/out and after doing it a few times, PIV crashes.
I'll try to fix the spaces in filenames thing.

Can you send me an image that causes flickering or crashing or whatever? I need to be able to reproduce an issue before I can try to fix it.
The flickering is probably occurring because I tried zooming in/out while it was loading the images into memory.
If you can reproduce the issue somehow, let me know.

It's really fast to load images O_O

But the nubs are too fast for me, the left is lightning fast, while the right is somehow usable, but it's still too fast and prone to going crazy, like I push up and the image goes right 

EDIT: oh, seems like the more I zoom in and the more the nubs movements become fast
I think you can adjust the speed in the nub settings dialog. But if there are others who also feel it's too fast, I can adjust it. Or make it configurable with a config file.
 
Thanks to an IRC conversation, I discovered the reason for it closing. Its because there are spaces in the filename(s) of the image/directory(ies) containing the images. Also, an image flickers when when I try to zoom in/out and after doing it a few times, PIV crashes.
I'll try to fix the spaces in filenames thing.

Can you send me an image that causes flickering or crashing or whatever? I need to be able to reproduce an issue before I can try to fix it.
The flickering is probably occurring because I tried zooming in/out while it was loading the images into memory.
If you can reproduce the issue somehow, let me know.
Ok, I will do that if I am able to reproduce it.
 
It's really fast to load images O_O

But the nubs are too fast for me, the left is lightning fast, while the right is somehow usable, but it's still too fast and prone to going crazy, like I push up and the image goes right 

EDIT: oh, seems like the more I zoom in and the more the nubs movements become fast
 I think you can adjust the speed in the nub settings dialog. But if there are others who also feel it's too fast, I can adjust it. Or make it configurable with a config file.
With some images the nub scroll is really really slow... the speed seems related to the size of the image, the more is bigger, the more slow it scrolls
 
Maybe I need to re-think the nub speed thing.

As for the filenames with spaces: it's fixed. It's a damn annoying thing though, having spaces in file/dir names and meanwhile using spaces as a separator. It's a minor miracle that it can even be made to parse correctly at all.

The background color toggle is implemented as well now. You can switch between black, grey, white, red, green and blue backgrounds.

I'll take a look at the nub speed issue tonight, and then I'll probably upload a minor update to the repo tomorrow or so.
 
Impressive work! That's the program I needed a few days ago when I wanted to show holiday pictures to the family. Ristretto was a showstopper and I then used a notebook. Now let the next gathering of family come :p .


I really like the use of the Pandora's controls. Rotating would be the icing on the cake for me though if I just want to show the pictures on the Pandora directly it might be easier to turn the Pandora itself and get the advantage of the bigger screen height.


You might want to show the controls not only in the readme but maybe on a flashscreen as I think most people don't read anything under documentation.


Is the version with the fixed spaces in the repo yet? Here pictures with spaces in the filename are just ignored.
 
tested on a folder with pictures and indeed its very fast. The scrolling when in zoom mode is very, very pretty (but nubs are sometimes way too fast, depending on the picture's resolution).

This is very promising. Excellent job _wb_
 
Man!  PIV is fast.  Faster than viewing image on my kids' Ipads :)

The power of Optimization!  YeAH! :)
 
Last edited by a moderator:
Wheres the actual screenshot of PIV? 
It doesn't have a UI, it just has a dialog box asking for the folder containing the images then displays them full screen and zoomed out to fit the Pandora's screen.
 
Last edited by a moderator:
I get an error trying to access my FAT32 partitioned SD card:

Could not mount MEDIA
Failed to execute child process "gnome-mount" (No such file or directory)
I can browse it using Thunar though
 
I get an error trying to access my FAT32 partitioned SD card:

Could not mount MEDIA
Failed to execute child process "gnome-mount" (No such file or directory)
I can browse it using Thunar though
You should also be able to access it within the dialogue box by navigating through the directory tree in the right panel rather than clicking on the SD card's entry in the left panel.

- Neelix
 
I'm just using the standard dialog you get with zenity - if there's any bugs in that, it's not my fault ;)

I got the nub speed issue sorted out - it used to be the case that nub movement would more or less correspond to a fixed amount of original image pixels displacement, which meant that it was way faster for small images than for huge ones. I mostly tested it on huge images, hence the problem.

Now I made it so that nub movement corresponds to a fixed amount of visible screen area displacement, which should be better.

I also identified the (or at least one) cause of the random crashes that were reported. It turned out to be a stupid threading issue. When you zoom in or out, the SDL video surface gets re-initialized to a different resolution. Meanwhile, in a different thread, the image pre-loader is loading other images from the directory. When loading an image, it gets converted to the screen pixel format if needed (if it's a JPEG, I make sure that it is loaded directly to the right pixel format, but for other image formats, I get something from SDL_Image and then convert it with SDL_DisplayFormat). Now the problem is that during re-initialization,  SDL_DisplayFormat returns a null pointer (because the current display format cannot be accessed), which was something I did not check for. This only happened if you managed to press the zoom button exactly at the point just before the other thread does the conversion - that is a pretty rare thing to happen, since most of the time the other thread will be loading images, not doing the conversion. But it does happen, especially if you have a directory with a lot of very small images (not JPEGs) and press the zoom button immediately - the very small images will load very quickly, fast enough to load a few of them during the re-initialization, reliably causing trouble.

The fix was of course easy: I just had to change the SDL_DisplayFormat to a SDL_ConvertSurface with an SDL_PixelFormat that is stored independently from the video surface.

So I think I got all open issues covered. I'll put a bugfix release on the repo later today.

Now I'm open to suggestions for new features. I don't feel like adding a GUI, so please no requests that require menus or browsers or dialogs or any of that stuff.

Is the way deletion works OK?
 
If you dont mind adding :

- a key to display the name of the image as well as additional info (resolution, size, date it was taken (EXIF)), it's always welcome especially when you take your pictures straight from a SD card coming from your camera. 

- a way to share a picture easily (as mentioned before).

- a button to set the zoom at 100% (1:1 pixel instead of zooming several times) : useful to judge if a picture has to be deleted, when kind of blur.

I know it's not something you want to do but thumbnails in mosaic format would be great to navigate (if you have hundreds of pics on the card). Maybe it's something other people can implement based on your original script. 
 
Last edited by a moderator:
I'm just using the standard dialog you get with zenity - if there's any bugs in that, it's not my fault ;)
Fair enough, but it does make it awkward to use.
If I manually browse to my "/media/MEDIA/photos/2013-05-12 - Chester Half Marathon" folder, and click OK, it does nothing. I was up to date as for 2 hours ago, is this fixed in the version you've not yet released?

As for suggestions:

Can you let us navigate using the DPAD left/right, and maybe rotate image using A and B buttons?

When doing some loading/preloading, maybe if you could show a little disk icon in the corner or something?

One a directory is selected, start the fullscreen immediately, regardless of caching status. If the first image is not ready, you could always show a disk or some loading text
 
If you dont mind adding :

- a key to display the name of the image as well as additional info (resolution, size, date it was taken (EXIF)), it's always welcome especially when you take your pictures straight from a SD card coming from your camera. 

- a way to share a picture easily (as mentioned before).

- a button to set the zoom at 100% (1:1 pixel instead of zooming several times) : useful to judge if a picture has to be deleted, when kind of blur.

I know it's not something you want to do but thumbnails in mosaic format would be great to navigate (if you have hundreds of pics on the card). Maybe it's something other people can implement based on your original script. 
1:1 zoom is already there, just press the button "1".

Thanks for the other suggestions!

I'm just using the standard dialog you get with zenity - if there's any bugs in that, it's not my fault ;)
Fair enough, but it does make it awkward to use.

If I manually browse to my "/media/MEDIA/photos/2013-05-12 - Chester Half Marathon" folder, and click OK, it does nothing. I was up to date as for 2 hours ago, is this fixed in the version you've not yet released?


As for suggestions:


Can you let us navigate using the DPAD left/right, and maybe rotate image using A and B buttons?


When doing some loading/preloading, maybe if you could show a little disk icon in the corner or something?


One a directory is selected, start the fullscreen immediately, regardless of caching status. If the first image is not ready, you could always show a disk or some loading text
Yes, filenames with spaces will be fixed in the next update.

Rotation: I'm hoping notaz will make this trivial for me by making the hardware rotation usable through SDL.

Navigation with dpad: OK, but then the dpad can no longer be used for panning. There's already the two nubs for that though, so maybe that's not an issue. What would make most sense? left=previous, right=next, up=first, down=last or something like that? (that would free up A and B for rotation when rotation gets implemented)

The disk icon: I could do that, but I don't really see the point - the user should not have to care about when it is preloading. You can just check the SD led too.

The application does go to fullscreen immediately, before it starts loading the first image. You get a black screen before the first image is shown.
 
Back
Top