PhotoSlider is a GPL utility for analysis of debris photos

Purpose PhotoSlider'

I read several photo blogs that sometimes it skips the "photo paki/session/interview". Plus friends have their photo gigabytes. As soon as the photo is typed in quite a lot (10-20 thousand) I look through them leaving himself on wallpaper's elected 0.001% of them.
Cameras all better photos weigh more, can not affect the speed of their download. There was a problem with the way it all effectively to clean up. Almost all of the photos after a single view removed, a small number of favorite move daddy for wallpaper's.
Originally used either Picasa or FSViewer. But both for some reason were not satisfied.
the
    the
  • Picasa doesn't want to show the photo in full screen, you cannot delete a one-button (for each photo asks for confirmation), switch to the next photo rather slow (in the case of viewing ~24 MP photos on the laptop very unpleasant);
  • FSViewer is also great speed did not differ with distance is better, but still slow. Besides, he still does not understand unicode in file names (have asked the developers to add support).


Having suffered a little, he started composing his utility, which became PhotoSlider'ohms.
Under the cut details of the implementation and management.

How to use

Installasi no, launched from the console. Understand just 2 parameters:
the

    as — run on all monitors

    --movepath [path] — where to move the selected (the default is to create daddy _good).


Recursively scans the current folder (with the subfolders), always set to full screen. If it is possible to display several photos on the screen (for example, if 2 of the panorama fit vertically on the screen without interfering with each other), will be shown several.
The next (not configured as unnecessary, at least to me).
the

    escape — output;

    space — show the next batch of pictures, nothing with the current without making;

    del — delete all. Carefully removed without any queries and past the basket!

    m — move all the photos "add to favorites";

    arrows up/down — "add/delete a row." I.e. the maximum photo resolution in the vertical is divided by the number of rows. Conveniently view packs when uninteresting photo a lot;

    arrow left/right — the same, only with rows; the

  • By clicking the mouse you can view full screen photos, if the number of rows/columns > 0 separately from the rest of the photo. On right click there is a menu that is a duplicate of the button

technically implemented

Pictures are loaded in a separate thread. That would not waste time scaling when displaying all photos masteryoda (maintaining aspect ratio) screen resolution in the same (dedicated) thread.
A separate thread deals with a combination of photos to the next screen. Upon receipt of a command are first displayed new photos from combined screen (whatever the user saw them with the least possible delay) and only then the old photo ralizada/removed/moved.
That would not score all the memory there is a limit on the number of hanging queue the photo (now it is an abstract constraint: the sum of all photo (width * height * 4) < 1024 * 1024 * 1024. All I want to alter the limit depending on the available RAM, but there are more interesting things).
Feel is much more alive the rest of the viewers (for above purposes), but expect to get more speed. It looks like somewhere there is a bottleneck, but has not yet profilin in the absence of the Profiler.
Of seen, but not captured defects:
the

    some of the pictures refuse to load, although the same FSViewer them opens without problems. The problem is somewhere inside of Windows functions are used .NET Framework, it seems; the

  • sometimes you cannot delete certain files. Couldn't Google why are not deleted;

The last few commits have not tested all the functionality, perhaps something else will come out.
All this is written in C# under .NET 3.5. Often written pieces and in haste, the architecture of the application is very confusing. I hope, sometime will come and bring the code up to normal readability. Reviews for the most part no, for the same reason (+ it was not originally planned to develop "apps once or twice he borrowed"). Tested only under Windows. Under Mono didn't write anything yet, will compile or not — I don't know. Although I am increasingly drawn to go to ubuntu, may in the future be undone under mono.
The source code posted on Google Code under the GPL3.
I hope this utility will be useful to anyone else but me.
Article based on information from habrahabr.ru

Комментарии

Популярные сообщения из этого блога

Briefly on how to make your Qt geoservice plugin

Database replication PostgreSQL-based SymmetricDS

Yandex.Widget + adjustIFrameHeight + MooTools