Skip to content

Commit 197d1cf

Browse files
authored
Merge pull request #358 from ArabCoders/dev
Track items play progress
2 parents fb58aaf + 9f8804c commit 197d1cf

File tree

3 files changed

+14
-0
lines changed

3 files changed

+14
-0
lines changed

src/Backends/Jellyfin/JellyfinActionTrait.php

+7
Original file line numberDiff line numberDiff line change
@@ -149,6 +149,13 @@ protected function createEntity(Context $context, iGuid $guid, array $item, arra
149149

150150
if (true === $isPlayed) {
151151
$metadata[iState::COLUMN_META_DATA_PLAYED_AT] = (string)makeDate($date)->getTimestamp();
152+
$metadata[iState::COLUMN_META_DATA_PROGRESS] = "0";
153+
}
154+
155+
if (false === $isPlayed && null !== ($progress = ag($item, 'UserData.PlaybackPositionTicks', null))) {
156+
$metadata[iState::COLUMN_META_DATA_PROGRESS] = (string)floor(
157+
$progress / 1_00_00
158+
); // -- Convert to milliseconds.
152159
}
153160

154161
unset($metadata, $metadataExtra);

src/Backends/Plex/PlexActionTrait.php

+6
Original file line numberDiff line numberDiff line change
@@ -165,6 +165,12 @@ protected function createEntity(Context $context, iGuid $guid, array $item, arra
165165

166166
if (true === $isPlayed) {
167167
$metadata[iState::COLUMN_META_DATA_PLAYED_AT] = (string)$date;
168+
$metadata[iState::COLUMN_META_DATA_PROGRESS] = "0";
169+
}
170+
171+
if (false === $isPlayed && null !== ($progress = ag($item, 'viewOffset', null))) {
172+
// -- Plex reports play progress in milliseconds already no need to convert.
173+
$metadata[iState::COLUMN_META_DATA_PROGRESS] = (string)$progress;
168174
}
169175

170176
unset($metadata, $metadataExtra);

src/Libs/Entity/StateInterface.php

+1
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ interface StateInterface extends LoggerAwareInterface
3838
public const COLUMN_META_PATH = 'path';
3939
public const COLUMN_META_DATA_ADDED_AT = 'added_at';
4040
public const COLUMN_META_DATA_PLAYED_AT = 'played_at';
41+
public const COLUMN_META_DATA_PROGRESS = 'progress';
4142
public const COLUMN_META_DATA_EXTRA = 'extra';
4243
public const COLUMN_META_DATA_EXTRA_TITLE = 'title';
4344
public const COLUMN_META_DATA_EXTRA_DATE = 'date';

0 commit comments

Comments
 (0)