diff options
| author | tikuf <admin@nyalindee.com> | 2014-04-07 12:43:29 +1000 |
|---|---|---|
| committer | tikuf <admin@nyalindee.com> | 2014-04-07 12:43:29 +1000 |
| commit | 8ae71b75fb024815e165eba9b3d00ca8307caab3 (patch) | |
| tree | 54274881bca0834c2ab518c51bc65160fc320db1 /MediaBrowser.Controller | |
| parent | 161e1af0eaa69e828f64d33311e3bc462852d6c4 (diff) | |
| parent | 56c0d491f4c05a2c0c4f21c20e3530c039b33148 (diff) | |
Merge branch 'master' of https://github.com/MediaBrowser/MediaBrowser
Diffstat (limited to 'MediaBrowser.Controller')
10 files changed, 98 insertions, 11 deletions
diff --git a/MediaBrowser.Controller/Dto/IDtoService.cs b/MediaBrowser.Controller/Dto/IDtoService.cs index 2704959e4..d07deaf23 100644 --- a/MediaBrowser.Controller/Dto/IDtoService.cs +++ b/MediaBrowser.Controller/Dto/IDtoService.cs @@ -1,9 +1,7 @@ using MediaBrowser.Controller.Entities; -using MediaBrowser.Controller.Session; using MediaBrowser.Model.Dto; using MediaBrowser.Model.Entities; using MediaBrowser.Model.Querying; -using MediaBrowser.Model.Session; using System; using System.Collections.Generic; @@ -22,13 +20,6 @@ namespace MediaBrowser.Controller.Dto UserDto GetUserDto(User user); /// <summary> - /// Gets the session info dto. - /// </summary> - /// <param name="session">The session.</param> - /// <returns>SessionInfoDto.</returns> - SessionInfoDto GetSessionInfoDto(SessionInfo session); - - /// <summary> /// Gets the dto id. /// </summary> /// <param name="item">The item.</param> diff --git a/MediaBrowser.Controller/Entities/Audio/IHasAlbumArtist.cs b/MediaBrowser.Controller/Entities/Audio/IHasAlbumArtist.cs index 7448e44f0..08eaf903e 100644 --- a/MediaBrowser.Controller/Entities/Audio/IHasAlbumArtist.cs +++ b/MediaBrowser.Controller/Entities/Audio/IHasAlbumArtist.cs @@ -1,4 +1,5 @@ - +using System.Collections.Generic; + namespace MediaBrowser.Controller.Entities.Audio { public interface IHasAlbumArtist @@ -9,5 +10,7 @@ namespace MediaBrowser.Controller.Entities.Audio public interface IHasArtist { bool HasArtist(string name); + + List<string> AllArtists { get; } } } diff --git a/MediaBrowser.Controller/Entities/MusicVideo.cs b/MediaBrowser.Controller/Entities/MusicVideo.cs index c3c4b89ba..554914ec6 100644 --- a/MediaBrowser.Controller/Entities/MusicVideo.cs +++ b/MediaBrowser.Controller/Entities/MusicVideo.cs @@ -3,7 +3,9 @@ using MediaBrowser.Controller.Providers; using MediaBrowser.Model.Configuration; using MediaBrowser.Model.Entities; using System; +using System.Collections.Generic; using System.Linq; +using System.Runtime.Serialization; namespace MediaBrowser.Controller.Entities { @@ -33,6 +35,23 @@ namespace MediaBrowser.Controller.Entities /// <value>The revenue.</value> public double? Revenue { get; set; } + [IgnoreDataMember] + public List<string> AllArtists + { + get + { + var list = new List<string>(); + + if (!string.IsNullOrEmpty(Artist)) + { + list.Add(Artist); + } + + return list; + + } + } + /// <summary> /// Determines whether the specified name has artist. /// </summary> diff --git a/MediaBrowser.Controller/MediaBrowser.Controller.csproj b/MediaBrowser.Controller/MediaBrowser.Controller.csproj index 760d07611..3082d12ca 100644 --- a/MediaBrowser.Controller/MediaBrowser.Controller.csproj +++ b/MediaBrowser.Controller/MediaBrowser.Controller.csproj @@ -253,6 +253,7 @@ <Compile Include="Session\PlaybackInfo.cs" /> <Compile Include="Session\PlaybackProgressInfo.cs" /> <Compile Include="Session\PlaybackStopInfo.cs" /> + <Compile Include="Session\SessionEventArgs.cs" /> <Compile Include="Session\SessionInfo.cs" /> <Compile Include="Sorting\IBaseItemComparer.cs" /> <Compile Include="Sorting\IUserBaseItemComparer.cs" /> diff --git a/MediaBrowser.Controller/Session/ISessionController.cs b/MediaBrowser.Controller/Session/ISessionController.cs index cf57f6621..1d5fbf359 100644 --- a/MediaBrowser.Controller/Session/ISessionController.cs +++ b/MediaBrowser.Controller/Session/ISessionController.cs @@ -90,6 +90,14 @@ namespace MediaBrowser.Controller.Session Task SendServerShutdownNotification(CancellationToken cancellationToken); /// <summary> + /// Sends the session ended notification. + /// </summary> + /// <param name="sessionInfo">The session information.</param> + /// <param name="cancellationToken">The cancellation token.</param> + /// <returns>Task.</returns> + Task SendSessionEndedNotification(SessionInfoDto sessionInfo, CancellationToken cancellationToken); + + /// <summary> /// Sends the server restart notification. /// </summary> /// <param name="cancellationToken">The cancellation token.</param> diff --git a/MediaBrowser.Controller/Session/ISessionManager.cs b/MediaBrowser.Controller/Session/ISessionManager.cs index 434c51336..f2edca082 100644 --- a/MediaBrowser.Controller/Session/ISessionManager.cs +++ b/MediaBrowser.Controller/Session/ISessionManager.cs @@ -29,6 +29,16 @@ namespace MediaBrowser.Controller.Session event EventHandler<PlaybackStopEventArgs> PlaybackStopped; /// <summary> + /// Occurs when [session started]. + /// </summary> + event EventHandler<SessionEventArgs> SessionStarted; + + /// <summary> + /// Occurs when [session ended]. + /// </summary> + event EventHandler<SessionEventArgs> SessionEnded; + + /// <summary> /// Gets the sessions. /// </summary> /// <value>The sessions.</value> @@ -84,6 +94,13 @@ namespace MediaBrowser.Controller.Session Task ReportSessionEnded(Guid sessionId); /// <summary> + /// Gets the session info dto. + /// </summary> + /// <param name="session">The session.</param> + /// <returns>SessionInfoDto.</returns> + SessionInfoDto GetSessionInfoDto(SessionInfo session); + + /// <summary> /// Sends the general command. /// </summary> /// <param name="controllingSessionId">The controlling session identifier.</param> diff --git a/MediaBrowser.Controller/Session/PlaybackInfo.cs b/MediaBrowser.Controller/Session/PlaybackInfo.cs index a97f9e0d0..2e59b6b72 100644 --- a/MediaBrowser.Controller/Session/PlaybackInfo.cs +++ b/MediaBrowser.Controller/Session/PlaybackInfo.cs @@ -40,5 +40,17 @@ namespace MediaBrowser.Controller.Session /// </summary> /// <value>The media version identifier.</value> public string MediaSourceId { get; set; } + + /// <summary> + /// Gets or sets the index of the audio stream. + /// </summary> + /// <value>The index of the audio stream.</value> + public int? AudioStreamIndex { get; set; } + + /// <summary> + /// Gets or sets the index of the subtitle stream. + /// </summary> + /// <value>The index of the subtitle stream.</value> + public int? SubtitleStreamIndex { get; set; } } } diff --git a/MediaBrowser.Controller/Session/PlaybackProgressInfo.cs b/MediaBrowser.Controller/Session/PlaybackProgressInfo.cs index 3d402aa6f..9f82fcdff 100644 --- a/MediaBrowser.Controller/Session/PlaybackProgressInfo.cs +++ b/MediaBrowser.Controller/Session/PlaybackProgressInfo.cs @@ -40,5 +40,23 @@ namespace MediaBrowser.Controller.Session /// </summary> /// <value>The media version identifier.</value> public string MediaSourceId { get; set; } + + /// <summary> + /// Gets or sets the volume level. + /// </summary> + /// <value>The volume level.</value> + public int? VolumeLevel { get; set; } + + /// <summary> + /// Gets or sets the index of the audio stream. + /// </summary> + /// <value>The index of the audio stream.</value> + public int? AudioStreamIndex { get; set; } + + /// <summary> + /// Gets or sets the index of the subtitle stream. + /// </summary> + /// <value>The index of the subtitle stream.</value> + public int? SubtitleStreamIndex { get; set; } } } diff --git a/MediaBrowser.Controller/Session/SessionEventArgs.cs b/MediaBrowser.Controller/Session/SessionEventArgs.cs new file mode 100644 index 000000000..96daa6ec9 --- /dev/null +++ b/MediaBrowser.Controller/Session/SessionEventArgs.cs @@ -0,0 +1,9 @@ +using System; + +namespace MediaBrowser.Controller.Session +{ + public class SessionEventArgs : EventArgs + { + public SessionInfo SessionInfo { get; set; } + } +} diff --git a/MediaBrowser.Controller/Session/SessionInfo.cs b/MediaBrowser.Controller/Session/SessionInfo.cs index ef39977f0..9fcb024e8 100644 --- a/MediaBrowser.Controller/Session/SessionInfo.cs +++ b/MediaBrowser.Controller/Session/SessionInfo.cs @@ -126,7 +126,6 @@ namespace MediaBrowser.Controller.Session /// <value>The now playing media version identifier.</value> public string NowPlayingMediaSourceId { get; set; } - /// <summary> /// Gets or sets the now playing run time ticks. /// </summary> @@ -151,6 +150,16 @@ namespace MediaBrowser.Controller.Session public bool IsMuted { get; set; } /// <summary> + /// Gets or sets the volume level, on a scale of 0-100 + /// </summary> + /// <value>The volume level.</value> + public int? VolumeLevel { get; set; } + + public int? NowPlayingAudioStreamIndex { get; set; } + + public int? NowPlayingSubtitleStreamIndex { get; set; } + + /// <summary> /// Gets or sets the device id. /// </summary> /// <value>The device id.</value> |
