Release Pandora Image Viewer


Ugh. Can't you just not press the button then? I like to have a one-button persistent rotate. I hate having to rotate and then press CTRL-S to save each time, often forgetting to do so and wondering why the next time I'm viewing the pictures, some of them are rotated the wrong way.

If you want to, I can make it configurable so that the buttons optionally don't do anything at all, so that if you accidentally press them, nothing happens.

By the way, does anyone feel like making an icon (64x64 or so will do, can be higher res too if you want) for PIV? The current one is a bit, uh, minimalistic - which is nice in a way, but if all icons would be like that, things would look a bit spartan.
I'm in agreement with F_Slim.  I do want a rotate view feature,  but I certainly don't want the file to be changed when I use it.  If I want to edit an image I will use an image editor.  If I want to view an image without changing it i use a viewer, and I expect the viewer not to make any edits just because I want to adjust the view.

Perhaps you could assign different keys to rotate and rotate&save?   or make it save only if you use shift + hotkey?

- Neelix
 
What if it were to prompt you just before exiting:

"Would you like to save the changes you made to <number> files?"

<ok> <cancel>
 
It would have to offer a way to select which changes you wanted to save, and if you've just gone though and rotated a whole bunch of images only some of which you want to change permanently I could see that being rather inconvenient.   Better to have a a method to save the changes in real time...  as long as it doesn't happen by default.

- Neelix
 
OK, it makes sense that a viewer behaves read-only.

The thing is: I haven't implemented view rotation yet - I probably will implement it at some point, but it'll take some work and it is not a high priority for me (on a Pandora it is far easier to just turn the screen itself than on a PC monitor).

In the long term, I'm interested in adding a few image management features to PIV though. In particular, the operations I typically perform on my camera's pictures. That includes image selection (deletion / selective copy), rotation, cropping, producing a web page gallery, etc. The first two on that list are already implemented (deletion/selection and rotation). It will take a while before it has all those features. I'm of course planning to use existing tools for each subtask where possible. For more complicated operations you'll of course still need a real image editor or a more fully featured image management tool.

So in the next update, it will have persistent rotation (writing to the file) but not view rotation (read-only). Sorry if that is weird. It's open source, you are free to remove the rotation buttons if you are afraid of accidentally rotating a file. In fact you don't need to recompile anything. All it takes is creating an empty shell script in appdata/piv called "rotation" - it will override the default rotation script and do nothing instead.
 
OK, it makes sense that a viewer behaves read-only.

The thing is: I haven't implemented view rotation yet - I probably will implement it at some point, but it'll take some work and it is not a high priority for me (on a Pandora it is far easier to just turn the screen itself than on a PC monitor).

... 

So in the next update, it will have persistent rotation (writing to the file) but not view rotation (read-only). Sorry if that is weird. It's open source, you are free to remove the rotation buttons if you are afraid of accidentally rotating a file. In fact you don't need to recompile anything. All it takes is creating an empty shell script in appdata/piv called "rotation" - it will override the default rotation script and do nothing instead.
Fair enough. :) I don't feel any particular need to remove the existing feature, but I feel happier knowing the feature I want is on the to-do list.

Is there any chance of adding an option to (when enabled) prompt for confirmation before making a change to an image, in case one of these edit features is activated by mistake? I thought to add this manually by editing the rotate script to add a zenity dialogue but then I realised that I wouldn't be able to see it due to it being on the wrong frame buffer...

In the long term, I'm interested in adding a few image management features to PIV though. In particular, the operations I typically perform on my camera's pictures. That includes image selection (deletion / selective copy), rotation, cropping, producing a web page gallery, etc. The first two on that list are already implemented (deletion/selection and rotation). It will take a while before it has all those features. I'm of course planning to use existing tools for each subtask where possible. For more complicated operations you'll of course still need a real image editor or a more fully featured image management tool.
Interesting. :) I like the idea of the Crop feature, especially if this would work by allowing you to save the current view as the new image. Again I'd prefer it to keep the original file intact and save to a new file rather than modify the original file, though I can see a case for including ways to do both.

If it had this feature I think I'd probably also want access to a more fine grained zoom level control.

- Neelix
 
I use Xnview on my Ubuntu PC and when you edit a file, it is done in ram.  As soon as you try to change to a new image, a prompt comes up and asks if you want to save the changes.  Unless you are deleting the image.  That of course has a prompt immediately.  If it wasn't too difficult to do, maybe that could be how PIV does it so, in a way, everyone gets it how they want.
 
As written before, I do like the feature to quickly browse a bunch of pictures and rotate them without being asked to save as this is one of the most needed tasks. I just don't want to perform this on a card freshly taken from the camera.


And I see the limitations you are running in if you want to quickly add rotation to your viewer, wb. So all in all your solution to make it possible to exchange the rotation script seems a good idea to me. Maybe it would be convenient for the users if you mention that pictures are saved on that screen showing the controls which you were planning to implement.
 
OK. You are all correct about this, and it was wrong of me to make the viewer modify files.

I'll implement the view rotation. It's not that hard to do. The rotation buttons will only operate on the view, not on the actual file. It will work for all file types.

When you quit the viewer, you'll get a dialog asking you if you want to make all those rotations permanent (i.e. modify the files). It will probably only work for JPEG files (I may add support for other formats later).

So in this way, it will behave similar to the "delete" feature: the viewer itself is read-only, but you get a dialog afterwards asking you if you want to actually perform the changes. I still get my "one-button" rotation (I'll have to confirm once at the end, but that's OK, as long as I don't have to confirm/save each picture).

Would that be an acceptable mechanism?
 
New version is on the repo!

Changes:

  • Bugfixes: zoom offset jumps, robustness issues, zoom out from 1:1
  • Select images with ENTER and perform actions on them
  • Higher resolution: can deal with images up to 38400x23040 (was: 6400x3840) if memory permits, can load huge JPEGs now, fall-back to scaled versions
  • On-screen display with 3 detail levels (off/minimal/concise/full Exif info)
  • Help screen (H)
  • View rotation (A=counterclockwise,B=clockwise)
  • Rotate JPEG files losslessly
  • Shows something while loading big JPEGs
  • "Sticky" 1:1 zoom: press 1 twice to make it the default
 
Thanks, I like the changes very much. Having a dialog in the end asking to save rotation is perfect.

For small (low resolution) images the fast panning is still a bit too fast, but it doesn't really matter since you don't need to scroll much there anyway (and the slow pan works absolutely fine).

I did not test with really big images yet, but the ones I did test had different resolutions and everything worked well. From now on this will be my standard image-viewer.
 
Thanks for the nice compliments, F_Slim.

Does anyone else have some feedback? Besides the one comment above, all I got was a few not-so-good ratings at the repo (went from 5* average to 4* average since I uploaded the update), without comments. Is something wrong with the update?
 
I keep meaning to try it - but I keep forgetting to copy some photos to my SD....

EDIT: I never bothered with photos on Pandora since it was slooooow before your application!
 
Last edited by a moderator:
I have a PNG with a white background, but after the 3rd zoom-in the white becomes transparent with the previous zoom on the background, that leaves a tray if you move the image.

the image is this http://www.soronline.net/map_qwerty-333.png

The scroll speed is too fast on the right nub (only with some images, on the linked png is good) and too slow on the left nub, maybe this can be improved a bit

Didn't found other problems
 
Sorry, didn't had any time to test your new release last week.


But today I tried my test pictures.


First I have to say that PIV is absolutly fantastic in my eyes. I too will make it my default viewer.


There are some issues that are really irrelevant for the usefullness of the program and I only mention them for completeness:


1. I found some jpgs which can be shown without problems but rotating them shuts PIV down


2. When a picture isn't wide enough the help overlay isn't displayed at all. Maybe this is intended?


3. If I zoom into a picture then the full picture is loaded at some magnification point as you described. When the picture is then rotated it goes back to fit screen but obviously the big picture is rotated which sometimes can take a longer time. (This is nothing to worry about if it is intended).


Thank you again for making this program for us. I will comment on the repo later this week as I first have to find my password.
 
Forgot to mention: It might be a good idea if the folder in ...appdata has the same name as the programm (pandora image viewer vs. piv) so one can find it more easily.
 
I have a PNG with a white background, but after the 3rd zoom-in the white becomes transparent with the previous zoom on the background, that leaves a tray if you move the image.

the image is this http://www.soronline.net/map_qwerty-333.png
That link does not work, do you have another link or image to test?

The scroll speed is too fast on the right nub (only with some images, on the linked png is good) and too slow on the left nub, maybe this can be improved a bit
So you want the right nub to move even slower and the left nub even faster?

Maybe I should make the speeds configurable (through a text config file)...

Sorry, didn't had any time to test your new release last week.

But today I tried my test pictures.

First I have to say that PIV is absolutly fantastic in my eyes. I too will make it my default viewer.

There are some issues that are really irrelevant for the usefullness of the program and I only mention them for completeness:

1. I found some jpgs which can be shown without problems but rotating them shuts PIV down

2. When a picture isn't wide enough the help overlay isn't displayed at all. Maybe this is intended?

3. If I zoom into a picture then the full picture is loaded at some magnification point as you described. When the picture is then rotated it goes back to fit screen but obviously the big picture is rotated which sometimes can take a longer time. (This is nothing to worry about if it is intended).

Thank you again for making this program for us. I will comment on the repo later this week as I first have to find my password.
1. Please send me (a link to) any image that causes a crash, it helps me a lot to reproduce the bug.

2. This is intended since the help overlay would be trimmed at the edges. I could make low res / compactified versions of the help overlay for those cases, but that's not a high priority thing for me.

3. I could improve this so it always only rotates the most zoomed out version.

Also I could improve the speed of the rotation, at the moment it's just a naive C loop. With proper NEON code it could be made much faster in theory. It's not currently a priority for me.
 
Don't JPEGs support lossless rotation through a couple of bits which specify which corner to start drawing at and which way to go from there? Assuming your renderer support it (which it should to support previously rotated JPEGs properly) it should require almost no data mangling to get it to work.


Hmm, seems the default windows apps ignore the origentation flag and you need IrfanView or Photoshop on windows to render JPEGs the right way up!

http://www.impulseadventure.com/photo/exif-orientation.html
 
Last edited by a moderator:
JPEG itself has no rotation flag, but there's an Exif field for it.

You can do a few lossless transforms on JPEGs, including rotation (90, 180, 270 or degrees), flipping, transposing, and cropping on boundaries that are multiples of 8.

My viewer currently ignores the Exif rotation flag; it could indeed be used to auto-rotate. The rotation it does when you press OK in the dialog is the lossless kind of rotation.
 
That link does not work, do you have another link or image to test?
Seems like the owner of the site is working on it, maybe the link is dynamic... try this one http://i295.photobucket.com/albums/mm132/taludegames/map_qwerty-333.png

So you want the right nub to move even slower and the left nub even faster?

Maybe I should make the speeds configurable (through a text config file)...
It depends, with some images the speed is just perfect with both nubs, anyway I actually found that if I move the nubs with less force it goes slower but it require a lot of precision that I don't have...

Can't you map maybe 1 or 2 keys to slow down the scrolling ? so only NUB = default speed, KEY1+NUB = slower speed, KEY2+NUB = slowest speed

I didn't told the keys to use because I don't know how many keys are mapped

Anyway I don't like very much to use the nubs, I always like the DPad better for scrolling things, but now it is used to change the image displayed
 
Last edited by a moderator:
Back
Top