COMPONENTS
There are two layers:
This is the high-level wrapper that provides convenience classes for accessing PenData files and AFDs. For most common tasks, you will use this layer.
This is the low-level wrapper, which directly wraps the native APIs that provide complete access to PenData and AFDs. You will use this layer primarily for optimization and efficient data access, although all desktop application tasks can be perfomed via this low-level wrapper.
PENLET DATA FILE STRUCTURE
A Livescribe Package is a file that is installed on a smartpen. Generally, a Livescribe Package contains a penlet or a paper product or both. A Livescribe Package can also contain resources or other files, such as a JAR with data files and a manifest.
Using Livescribe Desktop SDK's PenComm library, you can transfer penlet data to your desktop computer as a ZIP file. This file is called a desktop Container, which can hold penlet data or the contents of an AFD. When it holds penlet data, individual files of data are stored in a directory hierarchy with the following structure:
userdata\[Pen Serial]\[Penlet Name]\[InstanceId]\...
Example:
userdata\AYE-ABD-FDZ-DJ\GetBoundingBoxes\58\...
When your desktop application instantiates a Container object, the PenData API creates an object hierarchy that you use to read the penlet data. The hierarchy represents all penlet data in the container and consists of the following objects:
Starting with the Container's PenletData property, you will drill down to individual data files for each smartpen. For navigating the penlet data's directory structure, use the classes as follows:
Class mapping:
Directory |
Class |
[Pen Serial] |
PenItem |
[Penlet Name] |
AppItem |
[InstanceId] |
InstanceItem |
Structure of Paper Replay Data
Livescribe's Paper Replay has a specialized directory structure that you use to get recorded sessions from a smartpen. The penlet data for Paper Replay consists of sessions. The data exists in a directory structure like the following:
userdata\[Pen Serial]\Paper Replay\[InstanceId]\[Notebook Guid]\grids\*.grid
userdata\[Pen Serial]\Paper Replay\[InstanceId]\[Notebook Guid]\sessions\[Session Guid]\session.info
userdata\[Pen Serial]\Paper Replay\[InstanceId]\[Notebook Guid]\sessions\[Session Guid]\*.aac
Example:
userdata\AYE-ABD-FDZ-DJ\Paper Replay\56\3ce96ea32ef04867\grids\PA-0.2191.0.4.106.grid
userdata\AYE-ABD-FDZ-DJ\Paper Replay\56\3ce96ea32ef04867\grids\PA-0.2191.0.5.1.grid
userdata\AYE-ABD-FDZ-DJ\Paper Replay\56\3ce96ea32ef04867\sessions\PRS-2fe14cb4e\session.info
userdata\AYE-ABD-FDZ-DJ\Paper Replay\56\3ce96ea32ef04867\sessions\PRS-2fe14cb4e\audio-0.aac
For reading Paper Replay data, you will use the following classes that apply specifically to Paper Replay: PaperReplayData, NotebookInfo, GridInfo and SessionInfo.
Class mapping:
Directory or File Type |
Class |
[Notebook Guid] |
NotebookInfo |
*.grid |
GridInfo |
[Session Guid] |
SessionInfo |
session.info |
SessionInfo |