icon change, and cinemeta removal fix
|
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 25 KiB |
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 36 KiB After Width: | Height: | Size: 42 KiB |
|
Before Width: | Height: | Size: 67 KiB After Width: | Height: | Size: 89 KiB |
|
Before Width: | Height: | Size: 99 KiB After Width: | Height: | Size: 154 KiB |
|
Before Width: | Height: | Size: 3.9 KiB After Width: | Height: | Size: 3.9 KiB |
|
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 17 KiB |
|
Before Width: | Height: | Size: 4.4 KiB After Width: | Height: | Size: 4.4 KiB |
|
Before Width: | Height: | Size: 2 KiB After Width: | Height: | Size: 2 KiB |
|
Before Width: | Height: | Size: 7.5 KiB After Width: | Height: | Size: 7.6 KiB |
|
Before Width: | Height: | Size: 2.4 KiB After Width: | Height: | Size: 2.4 KiB |
|
Before Width: | Height: | Size: 6.9 KiB After Width: | Height: | Size: 7 KiB |
|
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 30 KiB |
|
Before Width: | Height: | Size: 7.7 KiB After Width: | Height: | Size: 7.8 KiB |
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 66 KiB After Width: | Height: | Size: 67 KiB |
|
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 17 KiB |
|
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 26 KiB |
|
Before Width: | Height: | Size: 96 KiB After Width: | Height: | Size: 99 KiB |
|
Before Width: | Height: | Size: 27 KiB After Width: | Height: | Size: 28 KiB |
2
app.json
|
|
@ -10,7 +10,7 @@
|
||||||
"scheme": "nuvio",
|
"scheme": "nuvio",
|
||||||
"newArchEnabled": true,
|
"newArchEnabled": true,
|
||||||
"splash": {
|
"splash": {
|
||||||
"image": "./assets/splash-icon.png",
|
"image": "./src/assets/splash-icon-new.png",
|
||||||
"resizeMode": "contain",
|
"resizeMode": "contain",
|
||||||
"backgroundColor": "#020404"
|
"backgroundColor": "#020404"
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
Before Width: | Height: | Size: 45 KiB After Width: | Height: | Size: 70 KiB |
|
Before Width: | Height: | Size: 3.7 KiB After Width: | Height: | Size: 3.9 KiB |
|
Before Width: | Height: | Size: 7.7 KiB After Width: | Height: | Size: 8.8 KiB |
|
Before Width: | Height: | Size: 5.8 KiB After Width: | Height: | Size: 6.1 KiB |
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 1.9 KiB After Width: | Height: | Size: 2.1 KiB |
|
Before Width: | Height: | Size: 4.5 KiB After Width: | Height: | Size: 4.8 KiB |
|
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 3.4 KiB |
|
Before Width: | Height: | Size: 4.2 KiB After Width: | Height: | Size: 4.8 KiB |
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 7.2 KiB After Width: | Height: | Size: 8 KiB |
|
Before Width: | Height: | Size: 8.8 KiB After Width: | Height: | Size: 9.8 KiB |
|
Before Width: | Height: | Size: 35 KiB After Width: | Height: | Size: 40 KiB |
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 46 KiB After Width: | Height: | Size: 56 KiB |
|
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 55 KiB After Width: | Height: | Size: 85 KiB |
|
|
@ -1,4 +1,4 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<resources>
|
<resources>
|
||||||
<color name="ic_launcher_background">#d1d1d2</color>
|
<color name="ic_launcher_background">#2f2f2f</color>
|
||||||
</resources>
|
</resources>
|
||||||
|
Before Width: | Height: | Size: 675 B After Width: | Height: | Size: 785 B |
|
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 2 KiB |
|
Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 3.6 KiB |
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 3.5 KiB |
|
Before Width: | Height: | Size: 5.9 KiB After Width: | Height: | Size: 5.7 KiB |
|
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 2 KiB |
|
Before Width: | Height: | Size: 5.6 KiB After Width: | Height: | Size: 5.7 KiB |
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 4.8 KiB After Width: | Height: | Size: 5 KiB |
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 135 KiB After Width: | Height: | Size: 280 KiB |
|
Before Width: | Height: | Size: 55 KiB After Width: | Height: | Size: 85 KiB |
|
Before Width: | Height: | Size: 135 KiB After Width: | Height: | Size: 280 KiB |
|
Before Width: | Height: | Size: 288 KiB After Width: | Height: | Size: 583 KiB |
|
|
@ -460,8 +460,8 @@
|
||||||
"-lc++",
|
"-lc++",
|
||||||
);
|
);
|
||||||
OTHER_SWIFT_FLAGS = "$(inherited) -D EXPO_CONFIGURATION_DEBUG";
|
OTHER_SWIFT_FLAGS = "$(inherited) -D EXPO_CONFIGURATION_DEBUG";
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = com.nuviohub.app;
|
PRODUCT_BUNDLE_IDENTIFIER = "com.nuvio.app";
|
||||||
PRODUCT_NAME = Nuvio;
|
PRODUCT_NAME = "Nuvio";
|
||||||
SWIFT_OBJC_BRIDGING_HEADER = "Nuvio/Nuvio-Bridging-Header.h";
|
SWIFT_OBJC_BRIDGING_HEADER = "Nuvio/Nuvio-Bridging-Header.h";
|
||||||
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
|
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
|
||||||
SWIFT_VERSION = 5.0;
|
SWIFT_VERSION = 5.0;
|
||||||
|
|
@ -492,8 +492,8 @@
|
||||||
"-lc++",
|
"-lc++",
|
||||||
);
|
);
|
||||||
OTHER_SWIFT_FLAGS = "$(inherited) -D EXPO_CONFIGURATION_RELEASE";
|
OTHER_SWIFT_FLAGS = "$(inherited) -D EXPO_CONFIGURATION_RELEASE";
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = com.nuvio.app;
|
PRODUCT_BUNDLE_IDENTIFIER = "com.nuvio.app";
|
||||||
PRODUCT_NAME = Nuvio;
|
PRODUCT_NAME = "Nuvio";
|
||||||
SWIFT_OBJC_BRIDGING_HEADER = "Nuvio/Nuvio-Bridging-Header.h";
|
SWIFT_OBJC_BRIDGING_HEADER = "Nuvio/Nuvio-Bridging-Header.h";
|
||||||
SWIFT_VERSION = 5.0;
|
SWIFT_VERSION = 5.0;
|
||||||
TARGETED_DEVICE_FAMILY = "1,2";
|
TARGETED_DEVICE_FAMILY = "1,2";
|
||||||
|
|
|
||||||
|
|
@ -82,7 +82,7 @@
|
||||||
buildConfiguration = "Debug">
|
buildConfiguration = "Debug">
|
||||||
</AnalyzeAction>
|
</AnalyzeAction>
|
||||||
<ArchiveAction
|
<ArchiveAction
|
||||||
buildConfiguration = "Debug"
|
buildConfiguration = "Release"
|
||||||
revealArchiveInOrganizer = "YES">
|
revealArchiveInOrganizer = "YES">
|
||||||
</ArchiveAction>
|
</ArchiveAction>
|
||||||
</Scheme>
|
</Scheme>
|
||||||
|
|
|
||||||
|
Before Width: | Height: | Size: 211 KiB After Width: | Height: | Size: 237 KiB |
|
Before Width: | Height: | Size: 122 KiB After Width: | Height: | Size: 263 KiB |
|
Before Width: | Height: | Size: 122 KiB After Width: | Height: | Size: 263 KiB |
|
Before Width: | Height: | Size: 122 KiB After Width: | Height: | Size: 263 KiB |
|
|
@ -1,101 +1,101 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||||
<plist version="1.0">
|
<plist version="1.0">
|
||||||
<dict>
|
<dict>
|
||||||
<key>CADisableMinimumFrameDurationOnPhone</key>
|
<key>CADisableMinimumFrameDurationOnPhone</key>
|
||||||
<true/>
|
<true/>
|
||||||
<key>CFBundleDevelopmentRegion</key>
|
<key>CFBundleDevelopmentRegion</key>
|
||||||
<string>$(DEVELOPMENT_LANGUAGE)</string>
|
<string>$(DEVELOPMENT_LANGUAGE)</string>
|
||||||
<key>CFBundleDisplayName</key>
|
<key>CFBundleDisplayName</key>
|
||||||
<string>Nuvio</string>
|
<string>Nuvio</string>
|
||||||
<key>CFBundleExecutable</key>
|
<key>CFBundleExecutable</key>
|
||||||
<string>$(EXECUTABLE_NAME)</string>
|
<string>$(EXECUTABLE_NAME)</string>
|
||||||
<key>CFBundleIdentifier</key>
|
<key>CFBundleIdentifier</key>
|
||||||
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
|
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
|
||||||
<key>CFBundleInfoDictionaryVersion</key>
|
<key>CFBundleInfoDictionaryVersion</key>
|
||||||
<string>6.0</string>
|
<string>6.0</string>
|
||||||
<key>CFBundleName</key>
|
<key>CFBundleName</key>
|
||||||
<string>$(PRODUCT_NAME)</string>
|
<string>$(PRODUCT_NAME)</string>
|
||||||
<key>CFBundlePackageType</key>
|
<key>CFBundlePackageType</key>
|
||||||
<string>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string>
|
<string>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string>
|
||||||
<key>CFBundleShortVersionString</key>
|
<key>CFBundleShortVersionString</key>
|
||||||
<string>1.2.5</string>
|
<string>1.2.5</string>
|
||||||
<key>CFBundleSignature</key>
|
<key>CFBundleSignature</key>
|
||||||
<string>????</string>
|
<string>????</string>
|
||||||
<key>CFBundleURLTypes</key>
|
<key>CFBundleURLTypes</key>
|
||||||
<array>
|
<array>
|
||||||
<dict>
|
<dict>
|
||||||
<key>CFBundleURLSchemes</key>
|
<key>CFBundleURLSchemes</key>
|
||||||
<array>
|
<array>
|
||||||
<string>nuvio</string>
|
<string>nuvio</string>
|
||||||
<string>com.nuvio.app</string>
|
<string>com.nuvio.app</string>
|
||||||
</array>
|
</array>
|
||||||
</dict>
|
</dict>
|
||||||
<dict>
|
<dict>
|
||||||
<key>CFBundleURLSchemes</key>
|
<key>CFBundleURLSchemes</key>
|
||||||
<array>
|
<array>
|
||||||
<string>exp+nuvio</string>
|
<string>exp+nuvio</string>
|
||||||
</array>
|
</array>
|
||||||
</dict>
|
</dict>
|
||||||
</array>
|
</array>
|
||||||
<key>CFBundleVersion</key>
|
<key>CFBundleVersion</key>
|
||||||
<string>20</string>
|
<string>20</string>
|
||||||
<key>LSMinimumSystemVersion</key>
|
<key>LSMinimumSystemVersion</key>
|
||||||
<string>12.0</string>
|
<string>12.0</string>
|
||||||
<key>LSRequiresIPhoneOS</key>
|
<key>LSRequiresIPhoneOS</key>
|
||||||
<true/>
|
<true/>
|
||||||
<key>LSSupportsOpeningDocumentsInPlace</key>
|
<key>LSSupportsOpeningDocumentsInPlace</key>
|
||||||
<true/>
|
<true/>
|
||||||
<key>NSAppTransportSecurity</key>
|
<key>NSAppTransportSecurity</key>
|
||||||
<dict>
|
<dict>
|
||||||
<key>NSAllowsArbitraryLoads</key>
|
<key>NSAllowsArbitraryLoads</key>
|
||||||
<true/>
|
<true/>
|
||||||
</dict>
|
</dict>
|
||||||
<key>NSBonjourServices</key>
|
<key>NSBonjourServices</key>
|
||||||
<array>
|
<array>
|
||||||
<string>_http._tcp</string>
|
<string>_http._tcp</string>
|
||||||
</array>
|
</array>
|
||||||
<key>NSLocalNetworkUsageDescription</key>
|
<key>NSLocalNetworkUsageDescription</key>
|
||||||
<string>Allow $(PRODUCT_NAME) to access your local network</string>
|
<string>Allow $(PRODUCT_NAME) to access your local network</string>
|
||||||
<key>NSMicrophoneUsageDescription</key>
|
<key>NSMicrophoneUsageDescription</key>
|
||||||
<string>This app does not require microphone access.</string>
|
<string>This app does not require microphone access.</string>
|
||||||
<key>RCTNewArchEnabled</key>
|
<key>RCTNewArchEnabled</key>
|
||||||
<true/>
|
<true/>
|
||||||
<key>RCTRootViewBackgroundColor</key>
|
<key>RCTRootViewBackgroundColor</key>
|
||||||
<integer>4278322180</integer>
|
<integer>4278322180</integer>
|
||||||
<key>UIBackgroundModes</key>
|
<key>UIBackgroundModes</key>
|
||||||
<array>
|
<array>
|
||||||
<string>audio</string>
|
<string>audio</string>
|
||||||
</array>
|
</array>
|
||||||
<key>UIFileSharingEnabled</key>
|
<key>UIFileSharingEnabled</key>
|
||||||
<true/>
|
<true/>
|
||||||
<key>UILaunchStoryboardName</key>
|
<key>UILaunchStoryboardName</key>
|
||||||
<string>SplashScreen</string>
|
<string>SplashScreen</string>
|
||||||
<key>UIRequiredDeviceCapabilities</key>
|
<key>UIRequiredDeviceCapabilities</key>
|
||||||
<array>
|
<array>
|
||||||
<string>arm64</string>
|
<string>arm64</string>
|
||||||
</array>
|
</array>
|
||||||
<key>UIRequiresFullScreen</key>
|
<key>UIRequiresFullScreen</key>
|
||||||
<false/>
|
<false/>
|
||||||
<key>UIStatusBarStyle</key>
|
<key>UIStatusBarStyle</key>
|
||||||
<string>UIStatusBarStyleDefault</string>
|
<string>UIStatusBarStyleDefault</string>
|
||||||
<key>UISupportedInterfaceOrientations</key>
|
<key>UISupportedInterfaceOrientations</key>
|
||||||
<array>
|
<array>
|
||||||
<string>UIInterfaceOrientationPortrait</string>
|
<string>UIInterfaceOrientationPortrait</string>
|
||||||
<string>UIInterfaceOrientationPortraitUpsideDown</string>
|
<string>UIInterfaceOrientationPortraitUpsideDown</string>
|
||||||
<string>UIInterfaceOrientationLandscapeLeft</string>
|
<string>UIInterfaceOrientationLandscapeLeft</string>
|
||||||
<string>UIInterfaceOrientationLandscapeRight</string>
|
<string>UIInterfaceOrientationLandscapeRight</string>
|
||||||
</array>
|
</array>
|
||||||
<key>UISupportedInterfaceOrientations~ipad</key>
|
<key>UISupportedInterfaceOrientations~ipad</key>
|
||||||
<array>
|
<array>
|
||||||
<string>UIInterfaceOrientationPortrait</string>
|
<string>UIInterfaceOrientationPortrait</string>
|
||||||
<string>UIInterfaceOrientationPortraitUpsideDown</string>
|
<string>UIInterfaceOrientationPortraitUpsideDown</string>
|
||||||
<string>UIInterfaceOrientationLandscapeLeft</string>
|
<string>UIInterfaceOrientationLandscapeLeft</string>
|
||||||
<string>UIInterfaceOrientationLandscapeRight</string>
|
<string>UIInterfaceOrientationLandscapeRight</string>
|
||||||
</array>
|
</array>
|
||||||
<key>UIUserInterfaceStyle</key>
|
<key>UIUserInterfaceStyle</key>
|
||||||
<string>Dark</string>
|
<string>Dark</string>
|
||||||
<key>UIViewControllerBasedStatusBarAppearance</key>
|
<key>UIViewControllerBasedStatusBarAppearance</key>
|
||||||
<false/>
|
<false/>
|
||||||
</dict>
|
</dict>
|
||||||
</plist>
|
</plist>
|
||||||
BIN
src/assets/splash-icon-new.png
Normal file
|
After Width: | Height: | Size: 1.4 MiB |
|
|
@ -29,7 +29,7 @@ const SplashScreen = ({ onFinish }: SplashScreenProps) => {
|
||||||
return (
|
return (
|
||||||
<Animated.View style={[styles.container, { opacity: fadeAnim }]}>
|
<Animated.View style={[styles.container, { opacity: fadeAnim }]}>
|
||||||
<Image
|
<Image
|
||||||
source={require('../../assets/splash-icon.png')}
|
source={require('../assets/splash-icon-new.png')}
|
||||||
style={styles.image}
|
style={styles.image}
|
||||||
resizeMode="contain"
|
resizeMode="contain"
|
||||||
/>
|
/>
|
||||||
|
|
|
||||||
|
|
@ -127,9 +127,11 @@ const ContentItem = ({ item, onPress, shouldLoadImage: shouldLoadImageProp, defe
|
||||||
|
|
||||||
switch (settings.posterSize) {
|
switch (settings.posterSize) {
|
||||||
case 'small':
|
case 'small':
|
||||||
return Math.max(100, Math.min(POSTER_WIDTH - 10, POSTER_WIDTH)) * sizeMultiplier;
|
return Math.max(90, POSTER_WIDTH - 15) * sizeMultiplier;
|
||||||
|
case 'medium':
|
||||||
|
return Math.max(110, POSTER_WIDTH + 10) * sizeMultiplier;
|
||||||
case 'large':
|
case 'large':
|
||||||
return Math.min(POSTER_WIDTH + 20, POSTER_WIDTH + 30) * sizeMultiplier;
|
return Math.max(130, POSTER_WIDTH + 25) * sizeMultiplier;
|
||||||
default:
|
default:
|
||||||
return POSTER_WIDTH * sizeMultiplier;
|
return POSTER_WIDTH * sizeMultiplier;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -339,9 +339,11 @@ class StremioService {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Ensure Cinemeta is always installed as a pre-installed addon
|
// Install Cinemeta for new users, but allow existing users to uninstall it
|
||||||
const cinemetaId = 'com.linvo.cinemeta';
|
const cinemetaId = 'com.linvo.cinemeta';
|
||||||
if (!this.installedAddons.has(cinemetaId)) {
|
const hasUserRemovedCinemeta = await this.hasUserRemovedAddon(cinemetaId);
|
||||||
|
|
||||||
|
if (!this.installedAddons.has(cinemetaId) && !hasUserRemovedCinemeta) {
|
||||||
try {
|
try {
|
||||||
const cinemetaManifest = await this.getManifest('https://v3-cinemeta.strem.io/manifest.json');
|
const cinemetaManifest = await this.getManifest('https://v3-cinemeta.strem.io/manifest.json');
|
||||||
this.installedAddons.set(cinemetaId, cinemetaManifest);
|
this.installedAddons.set(cinemetaId, cinemetaManifest);
|
||||||
|
|
@ -432,8 +434,9 @@ class StremioService {
|
||||||
this.addonOrder = this.addonOrder.filter(id => this.installedAddons.has(id));
|
this.addonOrder = this.addonOrder.filter(id => this.installedAddons.has(id));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Ensure required pre-installed addons are present without forcing their position
|
// Add Cinemeta to order only if user hasn't removed it
|
||||||
if (!this.addonOrder.includes(cinemetaId) && this.installedAddons.has(cinemetaId)) {
|
const hasUserRemovedCinemetaOrder = await this.hasUserRemovedAddon(cinemetaId);
|
||||||
|
if (!this.addonOrder.includes(cinemetaId) && this.installedAddons.has(cinemetaId) && !hasUserRemovedCinemetaOrder) {
|
||||||
this.addonOrder.push(cinemetaId);
|
this.addonOrder.push(cinemetaId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
514
trakt/docs.md
|
|
@ -1,514 +0,0 @@
|
||||||
Scrobble / Start / Start watching in a media center POSThttps://api.trakt.tv/scrobble/startRequestStart watching a movie by sending a standard movie object.
|
|
||||||
HEADERS
|
|
||||||
Content-Type:application/json
|
|
||||||
Authorization:Bearer [access_token]
|
|
||||||
trakt-api-version:2
|
|
||||||
trakt-api-key:[client_id]
|
|
||||||
BODY
|
|
||||||
{
|
|
||||||
"movie": {
|
|
||||||
"title": "Guardians of the Galaxy",
|
|
||||||
"year": 2014,
|
|
||||||
"ids": {
|
|
||||||
"trakt": 28,
|
|
||||||
"slug": "guardians-of-the-galaxy-2014",
|
|
||||||
"imdb": "tt2015381",
|
|
||||||
"tmdb": 118340
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"progress": 1.25
|
|
||||||
}
|
|
||||||
Response
|
|
||||||
201
|
|
||||||
HEADERS
|
|
||||||
Content-Type:application/json
|
|
||||||
BODY
|
|
||||||
{
|
|
||||||
"id": 0,
|
|
||||||
"action": "start",
|
|
||||||
"progress": 1.25,
|
|
||||||
"sharing": {
|
|
||||||
"twitter": true,
|
|
||||||
"mastodon": true,
|
|
||||||
"tumblr": false
|
|
||||||
},
|
|
||||||
"movie": {
|
|
||||||
"title": "Guardians of the Galaxy",
|
|
||||||
"year": 2014,
|
|
||||||
"ids": {
|
|
||||||
"trakt": 28,
|
|
||||||
"slug": "guardians-of-the-galaxy-2014",
|
|
||||||
"imdb": "tt2015381",
|
|
||||||
"tmdb": 118340
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
RequestStart watching an episode by sending a standard episode object.
|
|
||||||
HEADERS
|
|
||||||
Content-Type:application/json
|
|
||||||
Authorization:Bearer [access_token]
|
|
||||||
trakt-api-version:2
|
|
||||||
trakt-api-key:[client_id]
|
|
||||||
BODY
|
|
||||||
{
|
|
||||||
"episode": {
|
|
||||||
"ids": {
|
|
||||||
"trakt": 16
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"progress": 10
|
|
||||||
}
|
|
||||||
Response
|
|
||||||
201
|
|
||||||
HEADERS
|
|
||||||
Content-Type:application/json
|
|
||||||
BODY
|
|
||||||
{
|
|
||||||
"id": 0,
|
|
||||||
"action": "start",
|
|
||||||
"progress": 10,
|
|
||||||
"sharing": {
|
|
||||||
"twitter": true,
|
|
||||||
"mastodon": true,
|
|
||||||
"tumblr": false
|
|
||||||
},
|
|
||||||
"episode": {
|
|
||||||
"season": 1,
|
|
||||||
"number": 1,
|
|
||||||
"title": "Pilot",
|
|
||||||
"ids": {
|
|
||||||
"trakt": 16,
|
|
||||||
"tvdb": 349232,
|
|
||||||
"imdb": "tt0959621",
|
|
||||||
"tmdb": 62085
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"show": {
|
|
||||||
"title": "Breaking Bad",
|
|
||||||
"year": 2008,
|
|
||||||
"ids": {
|
|
||||||
"trakt": 1,
|
|
||||||
"slug": "breaking-bad",
|
|
||||||
"tvdb": 81189,
|
|
||||||
"imdb": "tt0903747",
|
|
||||||
"tmdb": 1396
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
RequestStart watching an episode if you don't have episode ids, but have show info. Send show and episode objects.
|
|
||||||
HEADERS
|
|
||||||
Content-Type:application/json
|
|
||||||
Authorization:Bearer [access_token]
|
|
||||||
trakt-api-version:2
|
|
||||||
trakt-api-key:[client_id]
|
|
||||||
BODY
|
|
||||||
{
|
|
||||||
"show": {
|
|
||||||
"title": "Breaking Bad",
|
|
||||||
"year": 2008,
|
|
||||||
"ids": {
|
|
||||||
"trakt": 1,
|
|
||||||
"tvdb": 81189
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"episode": {
|
|
||||||
"season": 1,
|
|
||||||
"number": 1
|
|
||||||
},
|
|
||||||
"progress": 10
|
|
||||||
}
|
|
||||||
Response
|
|
||||||
201
|
|
||||||
HEADERS
|
|
||||||
Content-Type:application/json
|
|
||||||
BODY
|
|
||||||
{
|
|
||||||
"id": 0,
|
|
||||||
"action": "start",
|
|
||||||
"progress": 10,
|
|
||||||
"sharing": {
|
|
||||||
"twitter": true,
|
|
||||||
"mastodon": true,
|
|
||||||
"tumblr": false
|
|
||||||
},
|
|
||||||
"episode": {
|
|
||||||
"season": 1,
|
|
||||||
"number": 1,
|
|
||||||
"title": "Pilot",
|
|
||||||
"ids": {
|
|
||||||
"trakt": 16,
|
|
||||||
"tvdb": 349232,
|
|
||||||
"imdb": "tt0959621",
|
|
||||||
"tmdb": 62085
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"show": {
|
|
||||||
"title": "Breaking Bad",
|
|
||||||
"year": 2008,
|
|
||||||
"ids": {
|
|
||||||
"trakt": 1,
|
|
||||||
"slug": "breaking-bad",
|
|
||||||
"tvdb": 81189,
|
|
||||||
"imdb": "tt0903747",
|
|
||||||
"tmdb": 1396
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
RequestStart watching an episode using absolute numbering (useful for Anime and Donghua). Send show and episode objects.
|
|
||||||
HEADERS
|
|
||||||
Content-Type:application/json
|
|
||||||
Authorization:Bearer [access_token]
|
|
||||||
trakt-api-version:2
|
|
||||||
trakt-api-key:[client_id]
|
|
||||||
BODY
|
|
||||||
{
|
|
||||||
"show": {
|
|
||||||
"title": "One Piece",
|
|
||||||
"year": 1999,
|
|
||||||
"ids": {
|
|
||||||
"trakt": 37696
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"episode": {
|
|
||||||
"number_abs": 164
|
|
||||||
},
|
|
||||||
"sharing": {
|
|
||||||
"twitter": true,
|
|
||||||
"mastodon": true,
|
|
||||||
"tumblr": false
|
|
||||||
},
|
|
||||||
"progress": 10
|
|
||||||
}
|
|
||||||
Response
|
|
||||||
201
|
|
||||||
HEADERS
|
|
||||||
Content-Type:application/json
|
|
||||||
BODY
|
|
||||||
{
|
|
||||||
"id": 0,
|
|
||||||
"action": "start",
|
|
||||||
"progress": 10,
|
|
||||||
"sharing": {
|
|
||||||
"twitter": true,
|
|
||||||
"mastodon": true,
|
|
||||||
"tumblr": false
|
|
||||||
},
|
|
||||||
"episode": {
|
|
||||||
"season": 9,
|
|
||||||
"number": 21,
|
|
||||||
"title": "Light the Fire of Shandia! Wiper the Warrior",
|
|
||||||
"ids": {
|
|
||||||
"trakt": 856373,
|
|
||||||
"tvdb": 362082,
|
|
||||||
"imdb": null,
|
|
||||||
"tmdb": null
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"show": {
|
|
||||||
"title": "One Piece",
|
|
||||||
"year": 1999,
|
|
||||||
"ids": {
|
|
||||||
"trakt": 37696,
|
|
||||||
"slug": "one-piece",
|
|
||||||
"tvdb": 81797,
|
|
||||||
"imdb": "tt0388629",
|
|
||||||
"tmdb": 37854
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
Scrobble / Pause / Pause watching in a media center POSThttps://api.trakt.tv/scrobble/pauseRequest
|
|
||||||
HEADERS
|
|
||||||
Content-Type:application/json
|
|
||||||
Authorization:Bearer [access_token]
|
|
||||||
trakt-api-version:2
|
|
||||||
trakt-api-key:[client_id]
|
|
||||||
BODY
|
|
||||||
{
|
|
||||||
"movie": {
|
|
||||||
"title": "Guardians of the Galaxy",
|
|
||||||
"year": 2014,
|
|
||||||
"ids": {
|
|
||||||
"trakt": 28,
|
|
||||||
"slug": "guardians-of-the-galaxy-2014",
|
|
||||||
"imdb": "tt2015381",
|
|
||||||
"tmdb": 118340
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"progress": 75
|
|
||||||
}
|
|
||||||
Response
|
|
||||||
201
|
|
||||||
HEADERS
|
|
||||||
Content-Type:application/json
|
|
||||||
BODY
|
|
||||||
{
|
|
||||||
"id": 1337,
|
|
||||||
"action": "pause",
|
|
||||||
"progress": 75,
|
|
||||||
"sharing": {
|
|
||||||
"twitter": false,
|
|
||||||
"mastodon": false,
|
|
||||||
"tumblr": false
|
|
||||||
},
|
|
||||||
"movie": {
|
|
||||||
"title": "Guardians of the Galaxy",
|
|
||||||
"year": 2014,
|
|
||||||
"ids": {
|
|
||||||
"trakt": 28,
|
|
||||||
"slug": "guardians-of-the-galaxy-2014",
|
|
||||||
"imdb": "tt2015381",
|
|
||||||
"tmdb": 118340
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
BODY
|
|
||||||
{
|
|
||||||
"id": 3373536622,
|
|
||||||
"action": "scrobble",
|
|
||||||
"progress": 99.9,
|
|
||||||
"sharing": {
|
|
||||||
"twitter": true,
|
|
||||||
"mastodon": true,
|
|
||||||
"tumblr": false
|
|
||||||
},
|
|
||||||
"movie": {
|
|
||||||
"title": "Guardians of the Galaxy",
|
|
||||||
"year": 2014,
|
|
||||||
"ids": {
|
|
||||||
"trakt": 28,
|
|
||||||
"slug": "guardians-of-the-galaxy-2014",
|
|
||||||
"imdb": "tt2015381",
|
|
||||||
"tmdb": 118340
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
RequestScrobble an episode by sending a standard episode object.
|
|
||||||
HEADERS
|
|
||||||
Content-Type:application/json
|
|
||||||
Authorization:Bearer [access_token]
|
|
||||||
trakt-api-version:2
|
|
||||||
trakt-api-key:[client_id]
|
|
||||||
BODY
|
|
||||||
{
|
|
||||||
"episode": {
|
|
||||||
"ids": {
|
|
||||||
"trakt": 16
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"progress": 85
|
|
||||||
}
|
|
||||||
Response
|
|
||||||
201
|
|
||||||
HEADERS
|
|
||||||
Content-Type:application/json
|
|
||||||
BODY
|
|
||||||
{
|
|
||||||
"id": 3373536623,
|
|
||||||
"action": "scrobble",
|
|
||||||
"progress": 85,
|
|
||||||
"sharing": {
|
|
||||||
"twitter": true,
|
|
||||||
"mastodon": true,
|
|
||||||
"tumblr": false
|
|
||||||
},
|
|
||||||
"episode": {
|
|
||||||
"season": 1,
|
|
||||||
"number": 1,
|
|
||||||
"title": "Pilot",
|
|
||||||
"ids": {
|
|
||||||
"trakt": 16,
|
|
||||||
"tvdb": 349232,
|
|
||||||
"imdb": "tt0959621",
|
|
||||||
"tmdb": 62085
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"show": {
|
|
||||||
"title": "Breaking Bad",
|
|
||||||
"year": 2008,
|
|
||||||
"ids": {
|
|
||||||
"trakt": 1,
|
|
||||||
"slug": "breaking-bad",
|
|
||||||
"tvdb": 81189,
|
|
||||||
"imdb": "tt0903747",
|
|
||||||
"tmdb": 1396
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
RequestScrobble an episode if you don't have episode ids, but have show info. Send show and episode objects.
|
|
||||||
HEADERS
|
|
||||||
Content-Type:application/json
|
|
||||||
Authorization:Bearer [access_token]
|
|
||||||
trakt-api-version:2
|
|
||||||
trakt-api-key:[client_id]
|
|
||||||
BODY
|
|
||||||
{
|
|
||||||
"show": {
|
|
||||||
"title": "Breaking Bad",
|
|
||||||
"year": 2008,
|
|
||||||
"ids": {
|
|
||||||
"trakt": 1,
|
|
||||||
"tvdb": 81189
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"episode": {
|
|
||||||
"season": 1,
|
|
||||||
"number": 1
|
|
||||||
},
|
|
||||||
"progress": 85
|
|
||||||
}
|
|
||||||
Response
|
|
||||||
201
|
|
||||||
HEADERS
|
|
||||||
Content-Type:application/json
|
|
||||||
BODY
|
|
||||||
{
|
|
||||||
"id": 3373536623,
|
|
||||||
"action": "scrobble",
|
|
||||||
"progress": 85,
|
|
||||||
"sharing": {
|
|
||||||
"twitter": true,
|
|
||||||
"mastodon": true,
|
|
||||||
"tumblr": false
|
|
||||||
},
|
|
||||||
"episode": {
|
|
||||||
"season": 1,
|
|
||||||
"number": 1,
|
|
||||||
"title": "Pilot",
|
|
||||||
"ids": {
|
|
||||||
"trakt": 16,
|
|
||||||
"tvdb": 349232,
|
|
||||||
"imdb": "tt0959621",
|
|
||||||
"tmdb": 62085
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"show": {
|
|
||||||
"title": "Breaking Bad",
|
|
||||||
"year": 2008,
|
|
||||||
"ids": {
|
|
||||||
"trakt": 1,
|
|
||||||
"slug": "breaking-bad",
|
|
||||||
"tvdb": 81189,
|
|
||||||
"imdb": "tt0903747",
|
|
||||||
"tmdb": 1396
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
RequestScrobble an episode using absolute numbering (useful for Anime and Donghua). Send show and episode objects.
|
|
||||||
HEADERS
|
|
||||||
Content-Type:application/json
|
|
||||||
Authorization:Bearer [access_token]
|
|
||||||
trakt-api-version:2
|
|
||||||
trakt-api-key:[client_id]
|
|
||||||
BODY
|
|
||||||
{
|
|
||||||
"show": {
|
|
||||||
"title": "One Piece",
|
|
||||||
"year": 1999,
|
|
||||||
"ids": {
|
|
||||||
"trakt": 37696
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"episode": {
|
|
||||||
"number_abs": 164
|
|
||||||
},
|
|
||||||
"sharing": {
|
|
||||||
"twitter": true,
|
|
||||||
"mastodon": true,
|
|
||||||
"tumblr": false
|
|
||||||
},
|
|
||||||
"progress": 90
|
|
||||||
}
|
|
||||||
Response
|
|
||||||
201
|
|
||||||
HEADERS
|
|
||||||
Content-Type:application/json
|
|
||||||
BODY
|
|
||||||
{
|
|
||||||
"id": 3373536624,
|
|
||||||
"action": "scrobble",
|
|
||||||
"progress": 90,
|
|
||||||
"sharing": {
|
|
||||||
"twitter": true,
|
|
||||||
"mastodon": true,
|
|
||||||
"tumblr": false
|
|
||||||
},
|
|
||||||
"episode": {
|
|
||||||
"season": 9,
|
|
||||||
"number": 21,
|
|
||||||
"title": "Light the Fire of Shandia! Wiper the Warrior",
|
|
||||||
"ids": {
|
|
||||||
"trakt": 856373,
|
|
||||||
"tvdb": 362082,
|
|
||||||
"imdb": null,
|
|
||||||
"tmdb": null
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"show": {
|
|
||||||
"title": "One Piece",
|
|
||||||
"year": 1999,
|
|
||||||
"ids": {
|
|
||||||
"trakt": 37696,
|
|
||||||
"slug": "one-piece",
|
|
||||||
"tvdb": 81797,
|
|
||||||
"imdb": "tt0388629",
|
|
||||||
"tmdb": 37854
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
RequestIf the progress is < 80%, the video will be treated a a pause and the playback position will be saved.
|
|
||||||
HEADERS
|
|
||||||
Content-Type:application/json
|
|
||||||
Authorization:Bearer [access_token]
|
|
||||||
trakt-api-version:2
|
|
||||||
trakt-api-key:[client_id]
|
|
||||||
BODY
|
|
||||||
{
|
|
||||||
"movie": {
|
|
||||||
"title": "Guardians of the Galaxy",
|
|
||||||
"year": 2014,
|
|
||||||
"ids": {
|
|
||||||
"trakt": 28,
|
|
||||||
"slug": "guardians-of-the-galaxy-2014",
|
|
||||||
"imdb": "tt2015381",
|
|
||||||
"tmdb": 118340
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"progress": 75
|
|
||||||
}
|
|
||||||
Response
|
|
||||||
201
|
|
||||||
HEADERS
|
|
||||||
Content-Type:application/json
|
|
||||||
BODY
|
|
||||||
{
|
|
||||||
"id": 1337,
|
|
||||||
"action": "pause",
|
|
||||||
"progress": 75,
|
|
||||||
"sharing": {
|
|
||||||
"twitter": false,
|
|
||||||
"mastodon": true,
|
|
||||||
"tumblr": false
|
|
||||||
},
|
|
||||||
"movie": {
|
|
||||||
"title": "Guardians of the Galaxy",
|
|
||||||
"year": 2014,
|
|
||||||
"ids": {
|
|
||||||
"trakt": 28,
|
|
||||||
"slug": "guardians-of-the-galaxy-2014",
|
|
||||||
"imdb": "tt2015381",
|
|
||||||
"tmdb": 118340
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
ResponseThe same item was recently scrobbled.
|
|
||||||
409
|
|
||||||
HEADERS
|
|
||||||
Content-Type:application/json
|
|
||||||
BODY
|
|
||||||
{
|
|
||||||
"watched_at": "2014-10-15T22:21:29.000Z",
|
|
||||||
"expires_at": "2014-10-15T23:21:29.000Z"
|
|
||||||
}
|
|
||||||