|
195 | 195 | data = api.users.GetItem(m.global.user.id, currentEpisode.id) |
196 | 196 | if isValid(data) |
197 | 197 | currentScene.objects.Items[i].json = data |
198 | | - m.global.queueManager.callFunc("setTopStartingPoint", data.UserData.PlaybackPositionTicks) |
| 198 | + if isValid(data.UserData) and isValid(data.UserData.PlaybackPositionTicks) |
| 199 | + m.global.queueManager.callFunc("setTopStartingPoint", data.UserData.PlaybackPositionTicks) |
| 200 | + end if |
199 | 201 | end if |
200 | 202 | exit for |
201 | 203 | end if |
|
219 | 221 | if isValid(data) |
220 | 222 | currentScene.itemContent.json = data |
221 | 223 | ' Set updated starting point for the queue item |
222 | | - m.global.queueManager.callFunc("setTopStartingPoint", data.UserData.PlaybackPositionTicks) |
| 224 | + if isValid(data.UserData) and isValid(data.UserData.PlaybackPositionTicks) |
| 225 | + m.global.queueManager.callFunc("setTopStartingPoint", data.UserData.PlaybackPositionTicks) |
| 226 | + end if |
223 | 227 |
|
224 | 228 | ' Refresh movie detail data |
225 | 229 | movieMetaData = ItemMetaData(currentScene.itemContent.id) |
|
270 | 274 |
|
271 | 275 | selectedItem.selectedAudioStreamIndex = audio_stream_idx |
272 | 276 | ' Display playback options dialog |
273 | | - if selectedItem.json.userdata.PlaybackPositionTicks > 0 |
274 | | - m.global.queueManager.callFunc("hold", selectedItem) |
275 | | - playbackOptionDialog(selectedItem.json.userdata.PlaybackPositionTicks, selectedItem.json) |
276 | | - else |
277 | | - m.global.queueManager.callFunc("clear") |
278 | | - m.global.queueManager.callFunc("push", selectedItem) |
279 | | - m.global.queueManager.callFunc("playQueue") |
| 277 | + if isValid(selectedItem.json) and isValid(selectedItem.json.userdata) and isValid(selectedItem.json.userdata.PlaybackPositionTicks) |
| 278 | + if selectedItem.json.userdata.PlaybackPositionTicks > 0 |
| 279 | + m.global.queueManager.callFunc("hold", selectedItem) |
| 280 | + playbackOptionDialog(selectedItem.json.userdata.PlaybackPositionTicks, selectedItem.json) |
| 281 | + return |
| 282 | + end if |
280 | 283 | end if |
281 | 284 |
|
| 285 | + m.global.queueManager.callFunc("clear") |
| 286 | + m.global.queueManager.callFunc("push", selectedItem) |
| 287 | + m.global.queueManager.callFunc("playQueue") |
| 288 | + |
282 | 289 | else if selectedItemType = "Series" |
283 | 290 | group = CreateSeriesDetailsGroup(selectedItem.json.id) |
284 | 291 | else if selectedItemType = "Season" |
|
583 | 590 | group.itemContent.id = group.selectedVideoStreamId |
584 | 591 |
|
585 | 592 | ' Display playback options dialog |
586 | | - if group.itemContent.json.userdata.PlaybackPositionTicks > 0 |
| 593 | + if isValid(group.itemContent.json) and isValid(group.itemContent.json.userdata) and isValid(group.itemContent.json.userdata.PlaybackPositionTicks) and group.itemContent.json.userdata.PlaybackPositionTicks > 0 |
587 | 594 | m.global.queueManager.callFunc("hold", group.itemContent) |
588 | 595 | playbackOptionDialog(group.itemContent.json.userdata.PlaybackPositionTicks, group.itemContent.json) |
589 | 596 | else |
|
0 commit comments