https://github.com/unknown321/poormansscrobbler
https://github.com/unknown321/poormansscrobbler
Last synced: 3 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/unknown321/poormansscrobbler
- Owner: unknown321
- Created: 2016-02-28T19:27:46.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2016-03-21T20:25:39.000Z (over 10 years ago)
- Last Synced: 2023-07-19T17:34:07.698Z (about 3 years ago)
- Language: Python
- Size: 805 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
#poormansscrobbler
Python-based scrobbler for iPod Nano 7th gen.
#how should it work
Track info is stored in `iPod_Control/iTunes/iTunes Library.itlp/Library.itdb` which is a simple sqlite3 db file. Playcounts are stored in `iPod_Control/iTunes/Play Counts` file, which is binary.
File format:
| Address | stuff |
| --- | --- |
| 0x00000000 - 0x00000090 | header |
| 0x00000090 - end | records |
Record size per track is 40 bytes long. First 4 bytes (or maybe 2?) are the track count, others are irrelevant.
Records are stored according to 'physical_order' value in `Library.itdb/items` table starting with 0, ie song with physical_order 0 will have its playcount at address 0x00000090.
`Play Counts` file is created after at least one song has been fully played from the beginning till the end without pauses (pauses are not confirmed).
The file is hidden while iTunes is running for reasons unknown.
It is automatically cleaned after a successful synchronization with iTunes (manually pressing 'Sync', not autosync when you connect the device) so scrobbling should be performed before launching iTunes.