- Remove some dead references to Notifier class in config command (#149)
- Fix incorrect paths for HTTP URLs when played in VLC (#151 - Thanks @sharkykh!)
- Properly handle RetryError for failed requests
- Fix start/stop command errors on macOS (#154 - Thanks @riccoyu). Fun fact: the corresponding bug #83 was reported exactly one year before this PR was merged
- Allow specifying the plex token manually via cli (#131)
- trakts stop
- pipx uninstall trakt-scrobbler
- pipx install trakt-scrobbler
- trakts start
- See release notes from v1.3.0-beta.1 and v1.3.0-beta.2 for the major changes.
- Only major change since v1.3.0-beta.2 is the removal of updatable notifications on Linux (See #133)
- See full changelog from last stable release: v1.2.1...v1.3.0
pipx uninstall trakt-scrobbler
pipx install trakt-scrobbler==1.3.0
- cli: New
trakts lookupcommand - To assist you with manually specifying the Trakt ID of a media in
trakt_cache.json(See #95 (comment) and #129 (comment))
trakts whitelistcan how handle remote URLs. Run
trakts whitelist add --helpfor full docs or consult the wiki
- trakt: We now retry the search without the
yearif it yielded no results the first time around (#130) Thanks @JRFarmer
- file_info: Only use the
pathportion of the remote URL for media info extraction, excluding the domain name (See #125)
- file_info: Unquote http-encoded symbols in remote URLs
pipx upgrade --pip-args='--pre' trakt-scrobbler==1.3.0b2
- Send notification on unhandled exception (#116)
- file_info: Add exclude_patterns feature (#118) Files matching these patterns will be ignored, even if they are whitelisted.
- utils: Handle Ratelimiting from trakt (#96)
- Notification Categories: You can now enable/disable notifications for specific categories. Currently, these are:
- MPV Wrappers: Support has been added for two new players: SMPlayer and Syncplay when they are configured to use mpv under the hood.
- HTTP Links: The scrobbler can now handle files on http servers, which are played directly without downloading first (#114)
- utils: Fix ResumableTimer logic
- MPC-HC: Fix unhandled KeyError in variable extraction (#115)
- Handle ConnectionResetError in mpv (#111)
- mpv: Add timeout when trying to write to socket
- mpv: Handle ConnectionRefusedError during startup
pipx upgrade trakt-scrobbler==1.3.0b1
Some selected updates:
- Replaceable notifications using DBus for Linux (#103) (thanks @ahmubashshir)
- Windows: Rewrite MPV monitor with Pipe API (should be more efficient)
- Add fallback for http-password missing in config of older VLC versions (#108) (thanks @ms-test2)
- mpv: Ignore files being served using http(s) (like youtube vids)
Full commit list here.
pipx upgrade trakt-scrobbler
See descriptions from previous v1.2.0 beta releases for changelog.
pipx upgrade trakt-scrobbler
- The Plex monitor now uses the
Yearfield from media metadata to filter results when searching Trakt. (See #100)
- The scrobbler now properly handles "409 Already Exists" response from trakt server, which should prevent duplicate scrobbles in some cases.
This release adds new logic to the monitors to allow two new modes:
When the file being played starts with >80% progress, it usually means the file has been played/finished previously and because the player supports "save progress at exit" functionality, we resumed at that point. In such cases, we don't want the scrobble to happen, and in the previous version, this would lead to duplicate "watched" media on trakt.
Now, if the monitor notices that a file has started at >80%, it will enter a "preview" mode. This lasts for 60 seconds by default (can be configured using
players.preview_duration config parameter), and at the end of this, if the same file is still being played, it'll scrobble "start" and continue as if it is a normal session (all later scrobbles will happen instantly). However, if it detects that the media is changed within these 60 seconds, it'll assume that you didn't really want to watch it, and no scrobbles will be sent to trakt at all.
players.preview_threshold: min progress (in %) at which file should be opened for preview mode to get triggered. Default: 80
players.preview_duration: in seconds. How long the monitor should wait before sending scrobbles. Default: 60
In case you want to disable this new behaviour, set the
players.preview_threshold config param to
100. This way, the preview mode will never be triggered.
Fast pause mode
This feature is mainly for mpv, and other players where we get instant media events (as opposed to VLC, Plex and MPC-HC where we poll for events every 10 seconds). The
step-forward command in mpv allows the user to step through the media keyframes one-by-one. At every such event, mpv sends a 'play', immediately followed by 'pause' events, and this happens every time
step-forward is invoked. Previously the monitor was dumb, and would scrobble each of these events immediately, causing lots of unnecessary API requests to trakt.
Now, if the monitor notices that the player sent a 'play' followed by 'pause' within 1 second, it will scrobble this pause, and enter the "fast pause" mode. If the monitor gets a new 'play' event in this mode, it will wait for 5 seconds before scrobbling it. In those 5 seconds, if the player again sends a 'pause' (meaning the user invoked
step-forward once), it will nullify the earlier 'play' and the monitor won't scrobble anything. To exit the mode, the 'play' event has to last for >5 seconds (or you can always stop the file).
players.fast_pause_threshold: in seconds. Max time elapsed between a "play->pause" transition for fast pause mode to get triggered. Default: 1
players.fast_pause_duration: in seconds. How long the monitor should wait before sending scrobbles. Default: 5
To disable this behaviour, set the
players.fast_pause_threshold config param to 0. This will cause the fast pause mode to never get triggered (assuming time never runs backward
- Add timeouts to Trakt API requests, to handle cases when the server takes too long to respond. Should be mostly invisible to the user.
- #93 Fix incorrect season number for special eps (S00 format)
backlog purgecommand to delete the backlog, without trying to sync with Trakt.
Since this is a beta version, to install this pre-release, use
pipx upgrade --pip-args="--pre" trakt-scrobbler