Update README with new file format information
This commit is contained in:
parent
174cdb06cc
commit
7027f3a6af
1 changed files with 11 additions and 11 deletions
22
README.md
22
README.md
|
@ -1,26 +1,26 @@
|
|||
# Procreate Viewer
|
||||
I use my computer to store all of my backups of my [Procreate](https://procreate.art) documents (since they seem reluctant to add actual cloud saving), but
|
||||
I can never figure out which documents are which, so I created this app to alleviate this dilemma.
|
||||
I can never figure out which documents are which, so I created this app to alleviate this dilemma. This app is written in Swift and supports the new QuickLook generator API.
|
||||
|
||||
This app contains a document-based viewer that associates itself with the `.procreate` file format. It also contains a Quick Look
|
||||
preview and thumbnail generator, all written in Swift and Cocoa. Please note that since there is almost no documentation on how
|
||||
these new generator api's work, they might be broken.
|
||||
This project includes a viewer app that can render your Procreate documents at full resolution. It also contains a Quick Look preview and thumbnail generators as well. Please note that since there is almost no documentation on how
|
||||
these new generator api's work, they might be broken. Once you install the app, all `.procreate` documents will automatically open with it.
|
||||
|
||||
This app uses the Swift Package Manager to handle our sole dependency, [ZipFoundation](https://github.com/weichsel/ZIPFoundation).
|
||||
## Dependencies
|
||||
We use the Swift Package Manager to handle our only Swift dependency, [ZipFoundation](https://github.com/weichsel/ZIPFoundation).
|
||||
|
||||
[MiniLZO](http://www.oberhumer.com/opensource/lzo/) is used to decode image data but has already been included in the repository and is built with the project.
|
||||
|
||||
## Procreate File Format
|
||||
All `.procreate` files are actually standard ZIP files. So extracting them leads to something like this:
|
||||
```
|
||||
- (Multiple folders named randomly via UUID)
|
||||
- (Layer folders named by their UUID)
|
||||
- Contains .chunk files, presumably the actual pixel canvas data for the document.
|
||||
- QuickLook [Folder]
|
||||
- Thumbnail.png - Low-quality screenshot generated by Procreate.
|
||||
- video [Folder]
|
||||
- segments [Folder]
|
||||
- segment-X.mp4, where X is a number starting from 1. These are most likely the timelapse files.
|
||||
- Document.archive - ???
|
||||
- segment-X.mp4, where X is a number starting from 1.
|
||||
- Document.archive - NSKeyedArchive containing layer information along with other document information like canvas size.
|
||||
```
|
||||
|
||||
We simply extract the zip file in memory, and display the `Thumbnail.png` found in the file. Notice how I said these thumbnails are
|
||||
'low-quality', and even though they may seem low-quality when blown up on a Retina display like most iPads, these tend to be more
|
||||
than servicable for thumbnail usage.
|
||||
In order to parse Document.archive, first decode the binary plist format. Then you'll want to access the `$top` object to access the index of the `SilicaDocument` object in the `$objects` array. This is where most of your document information belongs. If you want more information please read [#2](https://github.com/redstrate/procreate-viewer/issues/2) where I break down the format of this file in more detail. Please also check out [jarmovogel's Procreate Viewer](https://github.com/jaromvogel/ProcreateViewer) which helped me understand how to read the actual image data in a Procreate document.
|
||||
|
|
Reference in a new issue