mirror of
https://github.com/gabehf/Fladder.git
synced 2026-03-07 21:48:14 -08:00
chore: Renaming of Trickplay -> TrickPlay and other cleanups (#130)
Co-authored-by: PartyDonut <PartyDonut@users.noreply.github.com>
This commit is contained in:
parent
556a33d613
commit
0b7b73134f
9 changed files with 58 additions and 71 deletions
|
|
@ -22,8 +22,8 @@ class TrickPlayModel with _$TrickPlayModel {
|
|||
int get imagesPerTile => tileWidth * tileHeight;
|
||||
|
||||
String? getTile(Duration position) {
|
||||
final int currentIndex = (position.inMilliseconds ~/ interval.inMilliseconds).clamp(0, thumbnailCount);
|
||||
final int indexOfTile = (currentIndex ~/ imagesPerTile).clamp(0, images.length);
|
||||
final int currentIndex = (position.inMilliseconds ~/ interval.inMilliseconds).clamp(0, thumbnailCount - 1);
|
||||
final int indexOfTile = (currentIndex ~/ imagesPerTile).clamp(0, (images.length - 1));
|
||||
return images.elementAtOrNull(indexOfTile);
|
||||
}
|
||||
|
||||
|
|
@ -32,7 +32,10 @@ class TrickPlayModel with _$TrickPlayModel {
|
|||
final int tileIndex = currentIndex % imagesPerTile;
|
||||
final int column = tileIndex % tileWidth;
|
||||
final int row = tileIndex ~/ tileWidth;
|
||||
return Offset((width * column).toDouble(), (height * row).toDouble());
|
||||
return Offset(
|
||||
(width * column).toDouble(),
|
||||
(height * row).toDouble(),
|
||||
);
|
||||
}
|
||||
|
||||
static Map<String, TrickPlayModel> toTrickPlayMap(Map<String, dynamic> map) {
|
||||
|
|
|
|||
|
|
@ -1,9 +1,4 @@
|
|||
import 'package:collection/collection.dart';
|
||||
import 'package:fladder/models/items/trick_play_model.dart';
|
||||
import 'package:fladder/util/list_extensions.dart';
|
||||
import 'package:fladder/wrappers/media_control_wrapper.dart'
|
||||
if (dart.library.html) 'package:fladder/wrappers/media_control_wrapper_web.dart';
|
||||
import 'package:flutter/widgets.dart';
|
||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||
import 'package:media_kit/media_kit.dart';
|
||||
|
||||
|
|
@ -12,10 +7,15 @@ import 'package:fladder/models/item_base_model.dart';
|
|||
import 'package:fladder/models/items/chapters_model.dart';
|
||||
import 'package:fladder/models/items/intro_skip_model.dart';
|
||||
import 'package:fladder/models/items/media_streams_model.dart';
|
||||
import 'package:fladder/models/items/trick_play_model.dart';
|
||||
import 'package:fladder/models/playback/playback_model.dart';
|
||||
import 'package:fladder/providers/api_provider.dart';
|
||||
import 'package:fladder/providers/video_player_provider.dart';
|
||||
import 'package:fladder/util/duration_extensions.dart';
|
||||
import 'package:fladder/util/list_extensions.dart';
|
||||
import 'package:fladder/wrappers/media_control_wrapper.dart'
|
||||
if (dart.library.html) 'package:fladder/wrappers/media_control_wrapper_web.dart';
|
||||
import 'package:flutter/widgets.dart';
|
||||
|
||||
class DirectPlaybackModel implements PlaybackModel {
|
||||
DirectPlaybackModel({
|
||||
|
|
@ -147,13 +147,6 @@ class DirectPlaybackModel implements PlaybackModel {
|
|||
@override
|
||||
Future<PlaybackModel?> updatePlaybackPosition(Duration position, bool isPlaying, Ref ref) async {
|
||||
final api = ref.read(jellyApiProvider);
|
||||
|
||||
//Check for newly generated scrubImages
|
||||
if (trickPlay == null) {
|
||||
final trickplay = await api.getTrickPlay(item: item, ref: ref);
|
||||
ref.read(playBackModel.notifier).update((state) => copyWith(trickPlay: () => trickplay?.body));
|
||||
}
|
||||
|
||||
await api.sessionsPlayingProgressPost(
|
||||
body: PlaybackProgressInfo(
|
||||
canSeek: true,
|
||||
|
|
|
|||
|
|
@ -2,9 +2,6 @@ import 'dart:developer';
|
|||
|
||||
import 'package:chopper/chopper.dart';
|
||||
import 'package:collection/collection.dart';
|
||||
import 'package:fladder/models/items/intro_skip_model.dart';
|
||||
import 'package:fladder/models/items/season_model.dart';
|
||||
import 'package:fladder/models/items/series_model.dart';
|
||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||
import 'package:media_kit/media_kit.dart';
|
||||
|
||||
|
|
@ -12,7 +9,10 @@ import 'package:fladder/jellyfin/jellyfin_open_api.swagger.dart';
|
|||
import 'package:fladder/models/item_base_model.dart';
|
||||
import 'package:fladder/models/items/chapters_model.dart';
|
||||
import 'package:fladder/models/items/episode_model.dart';
|
||||
import 'package:fladder/models/items/intro_skip_model.dart';
|
||||
import 'package:fladder/models/items/media_streams_model.dart';
|
||||
import 'package:fladder/models/items/season_model.dart';
|
||||
import 'package:fladder/models/items/series_model.dart';
|
||||
import 'package:fladder/models/items/trick_play_model.dart';
|
||||
import 'package:fladder/models/playback/direct_playback_model.dart';
|
||||
import 'package:fladder/models/playback/offline_playback_model.dart';
|
||||
|
|
@ -127,8 +127,8 @@ class PlaybackModelHelper {
|
|||
}
|
||||
|
||||
Future<EpisodeModel?> getNextUpEpisode(String itemId) async {
|
||||
final responnse = await api.showsNextUpGet(parentId: itemId, fields: [ItemFields.overview]);
|
||||
final episode = responnse.body?.items?.firstOrNull;
|
||||
final response = await api.showsNextUpGet(parentId: itemId, fields: [ItemFields.overview]);
|
||||
final episode = response.body?.items?.firstOrNull;
|
||||
if (episode == null) {
|
||||
return null;
|
||||
} else {
|
||||
|
|
|
|||
|
|
@ -1,9 +1,4 @@
|
|||
import 'package:collection/collection.dart';
|
||||
import 'package:fladder/models/items/trick_play_model.dart';
|
||||
import 'package:fladder/util/list_extensions.dart';
|
||||
import 'package:fladder/wrappers/media_control_wrapper.dart'
|
||||
if (dart.library.html) 'package:fladder/wrappers/media_control_wrapper_web.dart';
|
||||
import 'package:flutter/widgets.dart';
|
||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||
import 'package:media_kit/media_kit.dart';
|
||||
|
||||
|
|
@ -12,10 +7,15 @@ import 'package:fladder/models/item_base_model.dart';
|
|||
import 'package:fladder/models/items/chapters_model.dart';
|
||||
import 'package:fladder/models/items/intro_skip_model.dart';
|
||||
import 'package:fladder/models/items/media_streams_model.dart';
|
||||
import 'package:fladder/models/items/trick_play_model.dart';
|
||||
import 'package:fladder/models/playback/playback_model.dart';
|
||||
import 'package:fladder/providers/api_provider.dart';
|
||||
import 'package:fladder/providers/video_player_provider.dart';
|
||||
import 'package:fladder/util/duration_extensions.dart';
|
||||
import 'package:fladder/util/list_extensions.dart';
|
||||
import 'package:fladder/wrappers/media_control_wrapper.dart'
|
||||
if (dart.library.html) 'package:fladder/wrappers/media_control_wrapper_web.dart';
|
||||
import 'package:flutter/widgets.dart';
|
||||
|
||||
class TranscodePlaybackModel implements PlaybackModel {
|
||||
TranscodePlaybackModel({
|
||||
|
|
@ -148,13 +148,6 @@ class TranscodePlaybackModel implements PlaybackModel {
|
|||
@override
|
||||
Future<PlaybackModel?> updatePlaybackPosition(Duration position, bool isPlaying, Ref ref) async {
|
||||
final api = ref.read(jellyApiProvider);
|
||||
|
||||
//Check for newly generated scrubImages
|
||||
if (trickPlay == null) {
|
||||
final trickplay = await api.getTrickPlay(item: item, ref: ref);
|
||||
ref.read(playBackModel.notifier).update((state) => copyWith(trickPlay: () => trickplay?.bodyOrThrow));
|
||||
}
|
||||
|
||||
await api.sessionsPlayingProgressPost(
|
||||
body: PlaybackProgressInfo(
|
||||
canSeek: true,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue