Skip to content

Conversation

@rmanalan
Copy link

Hey @sambecker! Sorry this took so long. Let me know what you think.

@vercel
Copy link

vercel bot commented Nov 25, 2025

@rmanalan is attempting to deploy a commit to the Sam Becker Hobby Team on Vercel.

A member of the Team first needs to authorize it.

Copy link
Owner

@sambecker sambecker left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looking good—do we want to prepopulate film options for Nikon photos the way we do for Fuji in <PhotoForm />? And maybe update the note text? On other hand, is this really film? Or do we need some other Nikon-specific convention?

Image

// Let's try to parse it as a TIFF IFD starting at offset 10.

export const isExifForNikon = (data: ExifData) =>
data.tags?.Make?.toUpperCase() === MAKE_NIKON;
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can this use isMakeNikon()?

import { FujifilmRecipe } from '@/platforms/fujifilm/recipe';
import { FujifilmSimulation } from '@/platforms/fujifilm/simulation';
import type { ExifData, ExifTags } from 'ts-exif-parser';

Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remove blank line

}
}

// Capture Picture Control for Nikon cameras
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can this be combined with the block above? i.e., if (isExifForFujifilm || isExifForNikon)?

// 0x2A00 (42)
// Offset to first IFD (4 bytes)

// Actually, Nikon Type 3 usually starts directly with the IFD count at offset 10?
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks like LLM chat—can you clean up?

Comment on lines 4 to 8
// This is a guess based on some sources, might need adjustment.
// Actually, let's look for a string tag.
// Some sources say PictureControlName is inside the PictureControl binary block (0x71).
// But ExifTool lists PictureControlName as a separate tag in some models.
// Let's try to find a string that looks like a Picture Control name.
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

More LLM output

Comment on lines 12 to 42
export const NIKON_PICTURE_CONTROL_LABELS: Record<string, string> = {
'Standard': 'Standard',
'Neutral': 'Neutral',
'Vivid': 'Vivid',
'Monochrome': 'Monochrome',
'Portrait': 'Portrait',
'Landscape': 'Landscape',
'Flat': 'Flat',
'Auto': 'Auto',
'Dream': 'Dream',
'Morning': 'Morning',
'Pop': 'Pop',
'Sunday': 'Sunday',
'Somber': 'Somber',
'Dramatic': 'Dramatic',
'Silence': 'Silence',
'Bleached': 'Bleached',
'Melancholic': 'Melancholic',
'Pure': 'Pure',
'Denim': 'Denim',
'Toy': 'Toy',
'Sepia': 'Sepia',
'Blue': 'Blue',
'Red': 'Red',
'Pink': 'Pink',
'Charcoal': 'Charcoal',
'Graphite': 'Graphite',
'Binary': 'Binary',
'Carbon': 'Carbon',
};

Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What's the purpose of this map?

@rmanalan
Copy link
Author

rmanalan commented Dec 6, 2025

Looking good—do we want to prepopulate film options for Nikon photos the way we do for Fuji in <PhotoForm />? And maybe update the note text? On other hand, is this really film? Or do we need some other Nikon-specific convention?

Thanks for the review. I've cleaned it up a bit. As for your question about prepopulating the film options, I'd say it's not necessary since most of the "Nikon Picture Controls" people are using are not the ones Nikon ships. Also, the list of native picture controls vary by Nikon camera.

@rmanalan rmanalan force-pushed the feature/nikon-z-support branch from 78c094f to 6b147fe Compare December 7, 2025 16:50
@rmanalan rmanalan requested a review from sambecker December 8, 2025 00:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants