aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Controller
diff options
context:
space:
mode:
authortikuf <admin@nyalindee.com>2014-04-07 12:43:29 +1000
committertikuf <admin@nyalindee.com>2014-04-07 12:43:29 +1000
commit8ae71b75fb024815e165eba9b3d00ca8307caab3 (patch)
tree54274881bca0834c2ab518c51bc65160fc320db1 /MediaBrowser.Controller
parent161e1af0eaa69e828f64d33311e3bc462852d6c4 (diff)
parent56c0d491f4c05a2c0c4f21c20e3530c039b33148 (diff)
Merge branch 'master' of https://github.com/MediaBrowser/MediaBrowser
Diffstat (limited to 'MediaBrowser.Controller')
-rw-r--r--MediaBrowser.Controller/Dto/IDtoService.cs9
-rw-r--r--MediaBrowser.Controller/Entities/Audio/IHasAlbumArtist.cs5
-rw-r--r--MediaBrowser.Controller/Entities/MusicVideo.cs19
-rw-r--r--MediaBrowser.Controller/MediaBrowser.Controller.csproj1
-rw-r--r--MediaBrowser.Controller/Session/ISessionController.cs8
-rw-r--r--MediaBrowser.Controller/Session/ISessionManager.cs17
-rw-r--r--MediaBrowser.Controller/Session/PlaybackInfo.cs12
-rw-r--r--MediaBrowser.Controller/Session/PlaybackProgressInfo.cs18
-rw-r--r--MediaBrowser.Controller/Session/SessionEventArgs.cs9
-rw-r--r--MediaBrowser.Controller/Session/SessionInfo.cs11
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>