Your data Local Files - AxelFougues/ZINC-public-resources GitHub Wiki
Adding your own content to some of ZINC's features (like custom game levels) requires copying your files to the app's storage. The app's storage can be found at /storage/emulated/<userid>/Android/data/com.AzApps.ZINC/files
on most devices (some older phones might point to a location on the SD card if present).
Some Android file explorers might hide the contents of Android/Data to protect your feelings or something. Try another file explorer app or use your PC.
All user generated data is stored in a local SQLite database file userLocalDB.db
.
This file contains all the user information that the app needs to store and can be opened, read and modified with any free database tool like SQLiteStudio. Although we do not recommend modifying the data unless you understand what you are doing.
If deleted, all user data will be lost and an empty one will be generated automatically.
This is the only file that needs to transferred to a new device or backed up.
DBVersion
ID | version |
---|---|
int | string |
DBPoints
ID | points |
---|---|
int | int |
DBUpgrade
ID | readableName | isCustom | productID | location | installDate | description |
---|---|---|---|---|---|---|
int | string | bool | int | string | dateTime | string |
DBProduct
ID | readableName | url | imageURL | type | releaseDate | xSizeMM | ySizeMM | zSizeMM | tags | description | isCustom | customBrandName |
---|---|---|---|---|---|---|---|---|---|---|---|---|
int | string | string | string | productType | dateTime | float | float | float | productTags | string | bool | string |
DBHapticTestEntry
ID | test | wave | timestamp | upgradeId | priority | completions | amplitude | frequency | gap | duration |
---|---|---|---|---|---|---|---|---|---|---|
int | testType | waveType | dateTime | int | int | int | float | float | float | float |
DBNdefRecord
ID | tnf | domainDataType | domain | mimeType | uri | textEncoding | packageName | text | simpleRecordType | recordID | payload | recordType | languageCode |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
int | typeNameFormat | string | string | string | string | textEncoding | string | string | simpleRecordType | hex | hex | hex | languageCode |
All of ZINC's data is stored in a local SQLite database file zincLocalDB.db
.
This file contains all the information that the app displays in the various features and modified with any free database tool like SQLiteStudio.
This file will change and be overridden on each new update. If deleted it will automatically re-generate with the original data.
The tables and fields in the ZINC database are self-explanatory and won't be listed here for now.
DBVersion
ID | version |
---|---|
int | string |
DBProduct
ID | readableName | url | imageURL | type | releaseDate | xSizeMM | ySizeMM | zSizeMM | tags | description | isCustom | customBrandName |
---|---|---|---|---|---|---|---|---|---|---|---|---|
int | string | string | string | productType | dateTime | float | float | float | productTags | string | bool | string |
DBBrand
ID | readableName | url |
---|---|---|
int | string | string |
DBProduct_Brand
productId | brandId |
---|---|
int | int |
DBReference
ID | readableName | url | rss | author | tags |
---|---|---|---|---|---|
int | string | string | string | string | referenceTags |
- bool:
0/1
- dateTime:
yyyy-MM-dd hh:mm:ss
- productType:
subdermal/wearable/transdermal/mod/prosthetic/accessory/implement/other
- productTag:
none/LF,HF,led,glow,magnet,sensor,payment,esthetic,medical,software,hardware
- typeNameFormat:
EMPTY/WELL_KNOWN/MIME/ABSOLUTE_URI/EXTERNAL/UNKOWN
- textEncoding:
UTF8/UTF16
- simpleRecordType:
None/Text/Application/External/Mime/URI
- languageCode:
en
- referenceTags:
none/wiki,news,social,media,blog,data,map,vendor,tool
Custom Bubble world maps can be placed in BubbleWorlds\
.
The file name will be used as a display name in ZINC.
To learn how to make your own maps go to the Bubble Worlds page.
Custom layer properties example file
{
"properties":[
{
"directional":false,
"globalAmplitudeEffect":0,
"sineAmplitudeEffect":0,
"sineFrequencyEffect":0,
"squareAmplitudeEffect":0,
"squareFrequencyEffect":0,
"sawAmplitudeEffect":0,
"sawFrequencyEffect":0,
"ampModFrequencyEffect":0,
"freqModfrequencyEffect":0,
"freqModIntensityEffect":0,
"isFailure":false,
"isSuccess":false,
"triggerIsMax":true,
"needsEvaluation":false
},
{
"directional":false,
"globalAmplitudeEffect":0,
"sineAmplitudeEffect":0,
"sineFrequencyEffect":0,
"squareAmplitudeEffect":0,
"squareFrequencyEffect":0,
"sawAmplitudeEffect":0,
"sawFrequencyEffect":0,
"ampModFrequencyEffect":0,
"freqModfrequencyEffect":0,
"freqModIntensityEffect":0
"isFailure":false,
"isSuccess":false,
"triggerIsMax":true,
"needsEvaluation":false
},
{
"directional":false,
"globalAmplitudeEffect":1,
"sineAmplitudeEffect":0,
"sineFrequencyEffect":0,
"squareAmplitudeEffect":0,
"squareFrequencyEffect":0,
"sawAmplitudeEffect":0,
"sawFrequencyEffect":0,
"ampModFrequencyEffect":0,
"freqModfrequencyEffect":0,
"freqModIntensityEffect":0
"isFailure":false,
"isSuccess":false,
"triggerIsMax":true,
"needsEvaluation":false
},
{
"directional":false,
"globalAmplitudeEffect":0,
"sineAmplitudeEffect":0,
"sineFrequencyEffect":0,
"squareAmplitudeEffect":0,
"squareFrequencyEffect":0,
"sawAmplitudeEffect":0,
"sawFrequencyEffect":0,
"ampModFrequencyEffect":0,
"freqModfrequencyEffect":0,
"freqModIntensityEffect":0
"isFailure":false,
"isSuccess":false,
"triggerIsMax":true,
"needsEvaluation":false
}
],
"baseSignal":{
"globalAmplitude":0.0,
"sineAmplitude":1.0,
"sineFrequency":200.0,
"squareAmplitude":0.0,
"squareFrequency":0.0,
"sawAmplitude":0.0,
"sawFrequency":0.0,
"ampModFrequency":0.0,
"freqModFrequency":0.0,
"freqModAmplitude":0.0
}
}
-
properties
: The sets of properties for Red, Green, Blue and Alpha layers in that order.-
directional
: Should the layer be sampled using directionality or simply by value, see Bubble Worlds page. -
[X]Effect
: The type of effect function that will be applied to the X parameter by the layer sample, see Bubble Worlds page. -
isFailure
: Should this layer trigger a failure when conditions are met. -
isSuccess
: Should this layer trigger a success when conditions are met. -
triggerIsMax
: If true a maximum value sample will trigger a success/failure. Otherwise a minimum value sample will trigger a success/failure. -
needsEvaluation
: Enables trigger evaluation for this layer. Should be set toisFailure OR isSuccess
.
-
-
baseSignal
: The default parameters the output should hold while not being effected.
Effect Types (Functions)
public enum EffectType {
None,
Linear,
EaseOut,
EaseIn,
EaseInOut,
Step
}
Recommended frequency values are between 50 and 500 Hz while amplitudes are always normalized (0.0 to 1.0)
Files in Remote\
are extra content that has been synced from the web. For example, ZINC has an internal core database of products but if new products come out and ZINC is not ready to update then the new products can be added online and they will be pulled and merged automagically.