Commit Graph

580 Commits

Author SHA1 Message Date
Přemysl Eric Janouch 6cc4ca1f44
Use Little CMS's alpha premultiplication feature
And do a little cleanup.
2023-06-06 12:20:03 +02:00
Přemysl Eric Janouch 1c25cb411f
Fix the remaining case in file renames monitoring 2023-06-06 08:31:29 +02:00
Přemysl Eric Janouch 399c4bdf69
info: decode WebP dimensions 2023-06-05 21:04:24 +02:00
Přemysl Eric Janouch a9b34ca3f2
Unite most info tools into just one binary
Turn this into more of an fq alternative, when used with jq.

Also don't say that TIFF files are Exif.
2023-06-05 18:11:37 +02:00
Přemysl Eric Janouch bd92ad73ec
rawinfo: add output dimensions and PAR 2023-06-05 15:42:38 +02:00
Přemysl Eric Janouch b3bc481172
rawinfo: descend into JPEG thumbnails 2023-06-05 15:42:38 +02:00
Přemysl Eric Janouch a3745df84b
Fix monitoring of file renames 2023-06-05 15:42:38 +02:00
Přemysl Eric Janouch cc59e537da
Update meson invocation to avoid warnings 2023-06-04 17:15:37 +02:00
Přemysl Eric Janouch 338ae69121
Add support for the Little CMS fast float plugin
On a sample of JPEGs, it improved loading speed from ~0.26s to ~0.15s.

Unfortunately, it isn't normally installed.
2023-06-04 16:16:52 +02:00
Přemysl Eric Janouch 1c61fcc5bc
Move git submodules to a subdirectory 2023-06-04 12:57:47 +02:00
Přemysl Eric Janouch dd1d6647dc
Shuffle code around 2023-06-04 12:10:36 +02:00
Přemysl Eric Janouch abf4f1a792
Convert to strictly non-unique GtkApplication
It's not pretty, but it works.
2023-06-04 12:10:36 +02:00
Přemysl Eric Janouch 6a7c86a41b
Remove a macOS rendering bug workaround
Most important Cairo bugs seem to have been fixed recently.
2023-06-04 12:10:35 +02:00
Přemysl Eric Janouch 6277a32fe6
Avoid invisible browser entries 2023-06-04 10:36:42 +02:00
Přemysl Eric Janouch 8f0576d6bc
Update runtime dependencies 2023-06-03 21:36:45 +02:00
Přemysl Eric Janouch f56c40cf00
Update sidebar entries on change automatically
This makes it more consistent.
2023-06-02 07:44:42 +02:00
Přemysl Eric Janouch 28a1237d62
Slightly optimize file monitoring event handling 2023-06-01 20:58:16 +02:00
Přemysl Eric Janouch 4c8df56193
Distinguish removed files more prettily
It's still somewhat bad, but at least no longer ridiculous.
2023-06-01 19:11:20 +02:00
Přemysl Eric Janouch 200485246b
Process some GFileMonitor events
So far, it's rather crude.
2023-05-31 18:39:14 +02:00
Přemysl Eric Janouch 2caebb7d19
Fix crash when right-clicking removed files 2023-05-31 14:46:06 +02:00
Přemysl Eric Janouch 9d9d538fe6
Add trashing to file context menus 2023-05-30 10:20:09 +02:00
Přemysl Eric Janouch 3bdffd03db
tools: decode TIFF XMP fields as UTF-8
This is more space-efficient than an array of ASCII codepoints.

Perhaps more fields would make good use of specialized decoders,
just this one made listings particularly annoying to deal with,
and it may additionaly contain important metadata.
2023-05-28 11:06:44 +02:00
Přemysl Eric Janouch a710692725
Clean up namespace pollution 2023-05-28 10:13:04 +02:00
Přemysl Eric Janouch 859736e5be
Move FivIoModel to its own compilation unit 2023-05-28 09:33:03 +02:00
Přemysl Eric Janouch d5b2e43364
Clean up 2023-05-28 08:50:46 +02:00
Přemysl Eric Janouch 33251eaca7
Load MPF images as pages 2023-05-28 08:12:37 +02:00
Přemysl Eric Janouch 63311644da
Move MPF constants and table to tiff-tables.db 2023-05-28 08:12:36 +02:00
Přemysl Eric Janouch 8668e85623
Make MPF parsing a bit safer 2023-05-28 08:12:27 +02:00
Přemysl Eric Janouch 902eaf5a01
Make TIFF parsing a bit safer
At least on 64-bit systems, 32-bit may still have holes.
2023-05-28 08:12:22 +02:00
Přemysl Eric Janouch df7c7b9f6b
Fix build without tools 2023-05-26 15:50:54 +02:00
Přemysl Eric Janouch bb4b895cb5
Extract some full-size raw previews without LibRaw
Not all image/x-nikon-nef will work like this,
so don't claim their MIME type.
2023-05-26 15:32:34 +02:00
Přemysl Eric Janouch 0f1c61ae33
Extract all raw subimages as pages
And add missing colour management.
2023-05-26 13:30:22 +02:00
Přemysl Eric Janouch 0359ddf99f
Add a tool to extract LibRaw file information 2023-05-26 13:30:22 +02:00
Přemysl Eric Janouch a93fc3f88d
Make TIFF and JPEG info extractors co-recursive 2023-05-24 06:18:14 +02:00
Přemysl Eric Janouch d70aedffa8
Slightly expand TIFF tables 2023-05-24 06:07:38 +02:00
Přemysl Eric Janouch dba728e0c4
Improve TIFF handling within tools
Nikon NEFs violate TIFF Tech Note 1, and it is easy to detect.

Also guard against more pointer overflows, and fix a temporary array
being used outside of its scope (found by a compiler).
2023-05-22 20:56:28 +02:00
Přemysl Eric Janouch 544722f8e0
Try not to thumbnail FIFOs
Unless there is a writer, this may block forever.

And if there is one, we're somewhat likely to break something.
2023-05-21 23:31:41 +02:00
Přemysl Eric Janouch 00110a639a
Avoid use of NULL picture data pointers
The sanitizer would scream, and LibRaw would rather confusingly
return I/O errors.
2023-05-21 23:31:41 +02:00
Přemysl Eric Janouch 5af36f4954
Fix raw image thumbnailing speed regression
LibRaw started returning the largest possible thumbnail,
which in the case of NEFs may be a nearly full-scale image.
2023-05-21 23:31:34 +02:00
Přemysl Eric Janouch ac72a72afc
Mildly optimize raw image handling
Don't claim an alpha channel when we don't use it.
2023-05-21 22:56:29 +02:00
Přemysl Eric Janouch a6560509d9
Revise documentation and help output
Split out clearly internal options.
2023-04-17 07:20:07 +02:00
Přemysl Eric Janouch 44c28f00d6
Make supported media type listing output unique 2023-04-17 07:19:37 +02:00
Přemysl Eric Janouch cce2b6ba51
Fix history behaviour
When starting in A/B, then manually going up to A,
and back down to A/B, going back in history to A was impossible,
because it would actually end up being a /forward/ entry.
2023-04-16 15:08:36 +02:00
Přemysl Eric Janouch 43363ea4bf
Cleanup 2023-04-16 11:50:15 +02:00
Přemysl Eric Janouch 00fa76cb69
Avoid needless data duplication
And turn the initial load hack into somewhat clean-looking.
2023-04-15 05:20:35 +02:00
Přemysl Eric Janouch 5e10f0ba54
Fix a logic error 2023-04-14 07:53:21 +02:00
Přemysl Eric Janouch eb44b6fb91
Fix a memory leak on image loading 2023-04-14 07:34:26 +02:00
Přemysl Eric Janouch a012011631
Deduplicate file information structures 2023-04-14 07:31:03 +02:00
Přemysl Eric Janouch 05ac3a0651
Check filesize when retrieving thumbnails
In particular, this handles screenshots from Rigol oscilloscopes,
which reuse the same name series with the same file modification time.
2023-04-14 05:24:57 +02:00
Přemysl Eric Janouch 4317c7e581
Remove a comment
Upon closer thought, I don't know how to implement the idea reasonably.
2023-04-14 05:24:57 +02:00