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,7 +90,7 @@ class PlaybackSession {
 | 
			
		||||
    this.sessionType = session.sessionType
 | 
			
		||||
    this.userId = session.userId
 | 
			
		||||
    this.libraryItemId = session.libraryItemId
 | 
			
		||||
    this.episodeId = session.episodeId,
 | 
			
		||||
    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