neilpa / photohack Goto Github PK
View Code? Open in Web Editor NEWHacking on the macOS Photos app *.photoslibrary
Hacking on the macOS Photos app *.photoslibrary
TODO: May be able to use NUAdjustmentSerialization directly to load an adjustment plist file from disk and bypass the permissions and other hacks for PhotoKit.
Did you ever have any success de-serializing the adjustment plist data?
I've added some PhotoKit methods (assisted by the work you did with PhotoHack) to osxphotos but would really like to be able to get the orientation for adjusted photos without messing with PhotoKit.
If you have done any more experimenting with this and have any pointers on where to start, I'd be happy to continue hacking at this.
Currently, osxphotos cannot export edited versions of RAW images because Photos stores no jpeg version of the adjustments -- it only stores the .plist
with the adjustment data. I wonder if there's enough info in the adjustment data returned by photohack
to re-create the edited image (e.g. apply all the adjustments via CoreImage) to create a rendered jpeg? Certainly beyond my skills at the moment but I'm willing to try to learn enough Swift to experiment with this. Alternatively, photohack
might be able to request the rendered edited photo via PhotoKit.
Hi @neilpa I took a look at photohack again as I'm trying to figure out how to implement the multi-library mode PHPhotosLibrary interface you figured out into osxphotos. I've gotten the basic bits working but have not been able to figure out how to fetch all assets in the library. The usual methods, such as PHAsset.fetchAssetsWithOptions:
fail with objc.error: NSInternalInconsistencyException - Calling single library mode API while in multi library mode
. I can fetch a single asset given it's UUID with fetchPHObjectsForUUIDs:entityName:
as you did in photohack but have not been able to find a method that will let me get all the assets or enumerate the uuids. Just wondering if you'd run across such in your hacking. I've combed the headers with no luck.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.