Giter Site home page Giter Site logo

bartekmotyl / favourite-photo-browser Goto Github PK

View Code? Open in Web Editor NEW
4.0 2.0 1.0 4.44 MB

A simple USB/network photo browser with support for caching thumbnails and favourites to local drive

License: MIT License

C# 99.82% Batchfile 0.18%
photo photo-browser favourites nas network avalonia avaloniaui csharp linux macos

favourite-photo-browser's Introduction

Favourite Photo Browser

A simple USB/network photo browser with support for caching thumbnails and favourites to local drive

Screenshot

Goals

The main reason why this program was created was to satify the following two needs:

  • be able to efficiently browse photos located on NAS (or other location that may be slow to read) from my laptop
  • be able to mark favourite photos somehow, without a need to save anything on the remote drive (and definetelly without a need to update these photos e.g. to modify EXIF metadata)

There are already some tools that make the first point possible, but I haven't found a single tool that would satisfy these both needs.

Solution

This program uses a local database (photos.db), located in root program directory) to store thumbnails of browsed photos (to improve browsing experience next time you visit the same folder). When browsing, photo can be marked as favourite (use F key) and this information is stored in local database along with the thumbnail. Finally, it is possible to export (copy to clipboard) paths of all photos marked as favourite in currently opened folder.

Typical workflow

  • open folder
  • thumbnails are being loaded; feel free to start looking at the file that were already processed - loading happens in background anyway
  • select a pictue (click or use left/righ arrows)
  • selected picture (full version) is loaded and shown in main panel; click anywhere to quickly zoom (use Shift or Control for different zoom levels, even combined)
  • if you like to mark it as favourite, click F or click a button; icon will appear
  • you can always change your mind and remove favourite marking
  • whenr you are done, click copy paths and paths of all files marked as favourite in current folder will be copied to clipboard

Note: thumbnials and favourite markings arte stored in DB, so no worry - next time you start the progeam and open the same folder, they will be already there.

Implementation

Program is implemented in C# / .Net 6 with UI implemnted in Avalonia. This means it should work on many platforms, including:

  • Windows
  • Mac OS
  • Linux

So far I have only tested Windows, looking for feedback of testing it on other platforms.

Release

Current version is an early alpha / MVP version, with basic UI but with both main features (browsing and marking favourites) already working.
Binaries can be downloaded for Windows only - see releases page. Mac OS/ Linux packages coming soon.

Building

Windows

On Windows the easiest way is to use Visual Studio 2022 Community Edition which can be downloaded for free from Microsoft.

Mac / Linux

On Mac or Linux one may use JetBrains Rider (paid software). Please note that on Mac one may need to install the mono-libgdiplus package (brew install mono-libgdiplus)

Command line build

cd "sources/Favourite Photo Browser"
dontnet build 
./bin/Debug/net6.0/Favourite\ Photo\ Browser

Future ideas

  • better UI ✅ done
  • quick zoom ✅ done
  • improved scrolling of thumbnails list ✅ done
  • change order of files on the list (currently by file date) - name, file date, date taken, ascending/descending, maybe even shuffle ✅ done
  • pre-caching of images in selected folders (to make browsing even more efficient later)
  • synchronise thumbnails generation with current scroll position
  • selecting folder from folder tree - skipped for now
  • toggle showing only favourite images (in currernt folder) ✅ done
  • more export options (e.g. copy favourite images to a target folder)
  • plugins that show additional image information (EXIF, histogram, GPS location etc.)
  • ... more ideas welcome

Contribution

If you would like to help to make the program better (and especailly if you have experience with C# programming), please contact me!

favourite-photo-browser's People

Contributors

bartekmotyl avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

davecs1

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.