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
1c61fcc5bc
Move git submodules to a subdirectory
2023-06-04 12:57:47 +02:00
dd1d6647dc
Shuffle code around
2023-06-04 12:10:36 +02:00
abf4f1a792
Convert to strictly non-unique GtkApplication
...
It's not pretty, but it works.
2023-06-04 12:10:36 +02:00
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
6277a32fe6
Avoid invisible browser entries
2023-06-04 10:36:42 +02:00
8f0576d6bc
Update runtime dependencies
2023-06-03 21:36:45 +02:00
f56c40cf00
Update sidebar entries on change automatically
...
This makes it more consistent.
2023-06-02 07:44:42 +02:00
28a1237d62
Slightly optimize file monitoring event handling
2023-06-01 20:58:16 +02:00
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
200485246b
Process some GFileMonitor events
...
So far, it's rather crude.
2023-05-31 18:39:14 +02:00
2caebb7d19
Fix crash when right-clicking removed files
2023-05-31 14:46:06 +02:00
9d9d538fe6
Add trashing to file context menus
2023-05-30 10:20:09 +02:00
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
a710692725
Clean up namespace pollution
2023-05-28 10:13:04 +02:00
859736e5be
Move FivIoModel to its own compilation unit
2023-05-28 09:33:03 +02:00
d5b2e43364
Clean up
2023-05-28 08:50:46 +02:00
33251eaca7
Load MPF images as pages
2023-05-28 08:12:37 +02:00
63311644da
Move MPF constants and table to tiff-tables.db
2023-05-28 08:12:36 +02:00
8668e85623
Make MPF parsing a bit safer
2023-05-28 08:12:27 +02:00
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
df7c7b9f6b
Fix build without tools
2023-05-26 15:50:54 +02:00
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
0f1c61ae33
Extract all raw subimages as pages
...
And add missing colour management.
2023-05-26 13:30:22 +02:00
0359ddf99f
Add a tool to extract LibRaw file information
2023-05-26 13:30:22 +02:00
a93fc3f88d
Make TIFF and JPEG info extractors co-recursive
2023-05-24 06:18:14 +02:00
d70aedffa8
Slightly expand TIFF tables
2023-05-24 06:07:38 +02:00
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
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
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
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
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
a6560509d9
Revise documentation and help output
...
Split out clearly internal options.
2023-04-17 07:20:07 +02:00
44c28f00d6
Make supported media type listing output unique
2023-04-17 07:19:37 +02:00
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
43363ea4bf
Cleanup
2023-04-16 11:50:15 +02:00
00fa76cb69
Avoid needless data duplication
...
And turn the initial load hack into somewhat clean-looking.
2023-04-15 05:20:35 +02:00
5e10f0ba54
Fix a logic error
2023-04-14 07:53:21 +02:00
eb44b6fb91
Fix a memory leak on image loading
2023-04-14 07:34:26 +02:00
a012011631
Deduplicate file information structures
2023-04-14 07:31:03 +02:00
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
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
8da5f807cf
Move and extend the browser toolbar
...
This makes the user interface more cohesive, and easier to use.
Both toolbars should ideally be made configurable.
2023-04-11 06:33:22 +02:00
1b50a834a5
Add optional browser filename labels
2023-04-11 06:04:27 +02:00
38c19edc8b
Bump Wuffs
2023-04-07 16:23:31 +02:00
c646864805
Add directory tree traversal functionality
...
Thus far merely bound to the [ and ] keys in the browser.
2023-04-05 00:09:53 +02:00
c2196df141
Bump copyright years
2023-03-30 20:46:08 +02:00
44f2f5d4f5
Make the mirror command intuitive
2023-03-25 11:52:33 +01:00
25c91f5a77
Add a note about default applications
2023-03-15 05:52:32 +01:00
796b05c9a5
Integrate online reverse image search
...
This makes use of our image processing capabilities in order to
turn arbitrary image files into normalized thumbnails,
upload them to a temporary host, and pass the resulting URI
to a search provider.
In future, fiv should ideally run the upload itself,
so that its status and any errors are obvious to the user,
as well as to get rid of the script's dependency on jq.
2023-03-15 05:52:32 +01:00