mirror of
				https://github.com/advplyr/audiobookshelf.git
				synced 2025-10-27 11:18:14 +01:00 
			
		
		
		
	Add displayTitle and displayAuthor to playback session
This commit is contained in:
		
							parent
							
								
									9ae71615bc
								
							
						
					
					
						commit
						3d3f20296c
					
				| @ -67,7 +67,8 @@ export default { | ||||
|       sleepTimerSet: false, | ||||
|       sleepTimerTime: 0, | ||||
|       sleepTimerRemaining: 0, | ||||
|       sleepTimer: null | ||||
|       sleepTimer: null, | ||||
|       displayTitle: null | ||||
|     } | ||||
|   }, | ||||
|   computed: { | ||||
| @ -117,9 +118,6 @@ export default { | ||||
|     isPodcast() { | ||||
|       return this.streamLibraryItem ? this.streamLibraryItem.mediaType === 'podcast' : false | ||||
|     }, | ||||
|     episode() { | ||||
|       return this.playerHandler.episode | ||||
|     }, | ||||
|     mediaMetadata() { | ||||
|       return this.media.metadata || {} | ||||
|     }, | ||||
| @ -127,7 +125,7 @@ export default { | ||||
|       return this.media.chapters || [] | ||||
|     }, | ||||
|     title() { | ||||
|       if (this.episode) return this.episode.title | ||||
|       if (this.playerHandler.displayTitle) return this.playerHandler.displayTitle | ||||
|       return this.mediaMetadata.title || 'No Title' | ||||
|     }, | ||||
|     authors() { | ||||
|  | ||||
| @ -7,6 +7,8 @@ export default class PlayerHandler { | ||||
|     this.ctx = ctx | ||||
|     this.libraryItem = null | ||||
|     this.episodeId = null | ||||
|     this.displayTitle = null | ||||
|     this.displayAuthor = null | ||||
|     this.playWhenReady = false | ||||
|     this.player = null | ||||
|     this.playerState = 'IDLE' | ||||
| @ -160,6 +162,8 @@ export default class PlayerHandler { | ||||
|   prepareSession(session) { | ||||
|     this.startTime = session.currentTime | ||||
|     this.currentSessionId = session.id | ||||
|     this.displayTitle = session.displayTitle | ||||
|     this.displayAuthor = session.displayAuthor | ||||
| 
 | ||||
|     console.log('[PlayerHandler] Preparing Session', session) | ||||
|     var audioTracks = session.audioTracks.map(at => new AudioTrack(at, this.userToken)) | ||||
|  | ||||
| @ -13,6 +13,8 @@ class PlaybackSession { | ||||
| 
 | ||||
|     this.mediaType = null | ||||
|     this.mediaMetadata = null | ||||
|     this.displayTitle = null | ||||
|     this.displayAuthor = null | ||||
|     this.coverPath = null | ||||
|     this.duration = null | ||||
| 
 | ||||
| @ -45,6 +47,8 @@ class PlaybackSession { | ||||
|       episodeId: this.episodeId, | ||||
|       mediaType: this.mediaType, | ||||
|       mediaMetadata: this.mediaMetadata ? this.mediaMetadata.toJSON() : null, | ||||
|       displayTitle: this.displayTitle, | ||||
|       displayAuthor: this.displayAuthor, | ||||
|       coverPath: this.coverPath, | ||||
|       duration: this.duration, | ||||
|       playMethod: this.playMethod, | ||||
| @ -65,6 +69,8 @@ class PlaybackSession { | ||||
|       episodeId: this.episodeId, | ||||
|       mediaType: this.mediaType, | ||||
|       mediaMetadata: this.mediaMetadata ? this.mediaMetadata.toJSON() : null, | ||||
|       displayTitle: this.displayTitle, | ||||
|       displayAuthor: this.displayAuthor, | ||||
|       coverPath: this.coverPath, | ||||
|       duration: this.duration, | ||||
|       playMethod: this.playMethod, | ||||
| @ -84,8 +90,8 @@ class PlaybackSession { | ||||
|     this.sessionType = session.sessionType | ||||
|     this.userId = session.userId | ||||
|     this.libraryItemId = session.libraryItemId | ||||
|     this.episodeId = session.episodeId, | ||||
|       this.mediaType = session.mediaType | ||||
|     this.episodeId = session.episodeId | ||||
|     this.mediaType = session.mediaType | ||||
|     this.duration = session.duration | ||||
|     this.playMethod = session.playMethod | ||||
| 
 | ||||
| @ -97,6 +103,8 @@ class PlaybackSession { | ||||
|         this.mediaMetadata = new PodcastMetadata(session.mediaMetadata) | ||||
|       } | ||||
|     } | ||||
|     this.displayTitle = session.displayTitle || '' | ||||
|     this.displayAuthor = session.displayAuthor || '' | ||||
|     this.coverPath = session.coverPath | ||||
|     this.date = session.date | ||||
|     this.dayOfWeek = session.dayOfWeek | ||||
| @ -118,6 +126,8 @@ class PlaybackSession { | ||||
|     this.episodeId = episodeId | ||||
|     this.mediaType = libraryItem.mediaType | ||||
|     this.mediaMetadata = libraryItem.media.metadata.clone() | ||||
|     this.displayTitle = libraryItem.media.getPlaybackTitle(episodeId) | ||||
|     this.displayAuthor = libraryItem.media.getPlaybackAuthor(episodeId) | ||||
|     this.coverPath = libraryItem.media.coverPath | ||||
|     this.duration = libraryItem.media.duration | ||||
| 
 | ||||
|  | ||||
| @ -408,5 +408,13 @@ class Book { | ||||
| 
 | ||||
|     return tracklist | ||||
|   } | ||||
| 
 | ||||
|   getPlaybackTitle() { | ||||
|     return this.metadata.title | ||||
|   } | ||||
| 
 | ||||
|   getPlaybackAuthor() { | ||||
|     return this.metadata.authorName | ||||
|   } | ||||
| } | ||||
| module.exports = Book | ||||
| @ -213,5 +213,15 @@ class Podcast { | ||||
|   removeEpisode(episodeId) { | ||||
|     this.episodes = this.episodes.filter(ep => ep.id !== episodeId) | ||||
|   } | ||||
| 
 | ||||
|   getPlaybackTitle(episodeId) { | ||||
|     var episode = this.episodes.find(ep => ep.id == episodeId) | ||||
|     if (!episode) return this.metadata.title | ||||
|     return episode.title | ||||
|   } | ||||
| 
 | ||||
|   getPlaybackAuthor() { | ||||
|     return this.metadata.author | ||||
|   } | ||||
| } | ||||
| module.exports = Podcast | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user