beatsaber-playlist-tool/docs/capture.md

227 lines
9.2 KiB
Markdown
Raw Normal View History

# Notes
Sample bplist (playlist file) for [PlaylistManager](https://github.com/rithik-b/PlaylistManager):
```json
{
"playlistTitle": "My Enhanced Playlist",
"playlistAuthor": "SaberList Tool",
"image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAACklEQVR4nGMAAQAABQABDQottAAAAABJRU5ErkJggg==",
"coverImage": "https://example.com/playlist-cover.jpg",
"description": "This is an enhanced version of my playlist with additional fields.",
"allowDuplicates": false,
"songs": [
{
"hash": "7c9e0a7c523395c7ef9d79006b9d42dc6ab8b44a",
"key": "2a44e",
"levelId": "custom_level_7c9e0a7c523395c7ef9d79006b9d42dc6ab8b44a",
"songName": "Gleodream",
"difficulties": [
{
"name": "normal",
"characteristic": "Standard"
}
]
},
{
"hash": "18ef469f44b0fa93327f9d193d10bdfe7401e5a0",
"key": "1b3f7",
"levelId": "custom_level_18ef469f44b0fa93327f9d193d10bdfe7401e5a0",
"songName": "Dual Fractal",
"difficulties": [
{
"name": "expert",
"characteristic": "Standard"
}
]
},
{
"hash": "a51425319d892986a4867388153bce45b3c28483",
"key": "3c8d9",
"levelId": "custom_level_a51425319d892986a4867388153bce45b3c28483",
"songName": "Shake The Ground",
"difficulties": [
{
"name": "expert",
"characteristic": "Standard"
}
]
}
],
"customData": {
"syncURL": "https://api.beatleader.xyz/playlist/guid/fc1000d77d0f4ed19611043367248ee0",
"owner": "76561199407393962",
"id": "80650",
"hash": "279a9c66ed021b8ef75ff9db848b28ad6c48d3c770bd26f1a586e8d489c728b3",
"shared": false
}
}
```
Sample Scoresaber score:
```python
data = {
'metadata': {'itemsPerPage': 100, 'page': 10, 'total': 961},
'playerScores': [{
'leaderboard': {
'coverImage': 'https://cdn.scoresaber.com/covers/09F8BEE6908E3A9CD724B3DB3162A5C381ECB156.png',
'createdDate': '2020-12-04T12:52:24.000Z',
'dailyPlays': 7,
'difficulties': None,
'difficulty': {
'difficulty': 9,
'difficultyRaw': '_ExpertPlus_SoloStandard',
'gameMode': 'SoloStandard',
'leaderboardId': 311333
},
'id': 311333,
'levelAuthorName': 'FatBeanzoop & ExUnReal',
'loved': False,
'lovedDate': None,
'maxPP': -1,
'maxScore': 1476715,
'playerScore': None,
'plays': 13701,
'positiveModifiers': False,
'qualified': False,
'qualifiedDate': '2020-12-05T18:16:56.000Z',
'ranked': True,
'rankedDate': '2020-12-20T17:15:39.000Z',
'songAuthorName': 'Pegboard Nerds',
'songHash': '09F8BEE6908E3A9CD724B3DB3162A5C381ECB156',
'songName': 'Purple People Eater',
'songSubName': '',
'stars': 7.05
},
'score': {
'badCuts': 4,
'baseScore': 1362341,
'deviceControllerLeft': 'Touch',
'deviceControllerRight': 'Touch',
'deviceHmd': 'Vive',
'fullCombo': False,
'hasReplay': False,
'hmd': 0,
'id': 85113198,
'leaderboardPlayerInfo': None,
'maxCombo': 741,
'missedNotes': 4,
'modifiedScore': 1362341,
'modifiers': '',
'multiplier': 1,
'pp': 261.6251,
'rank': 2711,
'timeSet': '2024-09-28T22:02:02.000Z',
'weight': 0.04670344831503159
}
}]
}
```
Sample BeatLeader score:
```python
scores = [{
'accLeft': 110.32343,
'accPP': 366.7179,
'accRight': 110.67913,
'accuracy': 0.95488137,
'badCuts': 1,
'baseScore': 1090317,
'bombCuts': 1,
'bonusPp': 63.974487,
'controller': 64,
'country': 'NL',
'fcAccuracy': 0.95854264,
'fcPp': 510.75574,
'fullCombo': False,
'hmd': 64,
'id': 2800090,
'lastTryTime': 0,
'leaderboard': {'difficulty': {'accRating': 10.151069,
'bombs': 666,
'difficultyName': 'ExpertPlus',
'duration': 227,
'featureTags': 0,
'id': 115,
'maxScore': 1141835,
'mode': 1,
'modeName': 'Standard',
'modifierValues': {'da': 0,
'ez': -0.4,
'fs': 0.22,
'gn': 0.08,
'hd': 0.05,
'modifierId': 3203,
'na': -0.3,
'nb': -0.2,
'nf': -1,
'no': -0.2,
'ohp': 0,
'op': -0.5,
'pm': 0,
'sa': 0,
'sc': 0,
'sf': 0.5,
'smc': 0.07,
'ss': -0.3},
'modifiersRating': {'bfsAccRating': 10.946411,
'bfsPassRating': 6.827801,
'bfsPredictedAcc': 0.97209585,
'bfsStars': 9.858454,
'bfsTechRating': 6.3452663,
'bsfAccRating': 11.91756,
'bsfPassRating': 9.088728,
'bsfPredictedAcc': 0.96791214,
'bsfStars': 11.616207,
'bsfTechRating': 6.8890166,
'fsAccRating': 11.0798855,
'fsPassRating': 6.8595705,
'fsPredictedAcc': 0.9715599,
'fsStars': 9.968003,
'fsTechRating': 6.22683,
'id': 6456,
'sfAccRating': 12.244068,
'sfPassRating': 9.434687,
'sfPredictedAcc': 0.9660631,
'sfStars': 12.006947,
'sfTechRating': 6.655377,
'ssAccRating': 9.436057,
'ssPassRating': 4.4481916,
'ssPredictedAcc': 0.97730374,
'ssStars': 7.6588736,
'ssTechRating': 5.366563},
'njs': 19,
'nominatedTime': 0,
'notes': 1249,
'nps': 5.66,
'passRating': 5.48632,
'predictedAcc': 0.9749072,
'qualifiedTime': 0,
'rankedTime': 0,
'requirements': 0,
'speedTags': 0,
'stars': 8.681121,
'status': 3,
'styleTags': 0,
'techRating': 6.0219316,
'type': 2,
'value': 9,
'walls': 666},
'id': '138da91',
'song': {'author': 'Desmeon',
'bpm': 174,
'collaboratorIds': None,
'coverImage': 'https://eu.cdn.beatsaver.com/bdf85d5d575a992139eff968a8348b3e6f03eefe.jpg',
'duration': 227,
'fullCoverImage': 'https://cdn.assets.beatleader.xyz/songcover-138da-cover.png',
'hash': 'bdf85d5d575a992139eff968a8348b3e6f03eefe',
'id': '138da',
'mapper': 'CyanSnow',
'mapperId': 4235138,
'name': 'Hellcat',
'subName': ''}},
}]
```