live tv guide improvements

pull/702/head
Luke Pulverenti 10 years ago
parent 77ac8826e3
commit 9682f60100

@ -1514,6 +1514,10 @@ namespace MediaBrowser.Api.Playback
request.PlaySessionId = val; request.PlaySessionId = val;
} }
else if (i == 22) else if (i == 22)
{
// api_key
}
else if (i == 23)
{ {
request.LiveStreamId = val; request.LiveStreamId = val;
} }

@ -1421,5 +1421,13 @@
"LabelConversionCpuCoreLimitHelp": "Limit the number of CPU cores that will be used during sync conversion.", "LabelConversionCpuCoreLimitHelp": "Limit the number of CPU cores that will be used during sync conversion.",
"OptionEnableFullSpeedConversion": "Enable full speed conversion", "OptionEnableFullSpeedConversion": "Enable full speed conversion",
"OptionEnableFullSpeedConversionHelp": "By default, sync conversion is performed at a low speed to minimize resource consumption.", "OptionEnableFullSpeedConversionHelp": "By default, sync conversion is performed at a low speed to minimize resource consumption.",
"HeaderPlaylists": "Playlists" "HeaderPlaylists": "Playlists",
"HeaderSelectDate": "Select Date",
"HeaderWelcomeExclamation": "Welcome!",
"HeaderMyPreferences": "My Preferences",
"ButtonMyPreferencesWelcomeYes": "Yes, I'd like to set my preferences now.",
"ButtonMyPreferencesWelcomeNo": "No thanks, I'll do it later.",
"MyPreferencesWelcomeMessage1": "We've presented your library in a way we think you'll enjoy. The appearance and grouping of content can be changed anytime by adjusting your preferences. Your preferences will apply to all Emby apps.",
"MyPreferencesWelcomeMessage2": "Would you like to set your preferences now?",
"ToAccessPreferencesHelp": "To access your preferences later, click your user icon in the top right header and select My Preferences."
} }

@ -750,6 +750,9 @@ namespace MediaBrowser.Server.Implementations.Sync
foreach (var jobItem in jobItemResult.Items) foreach (var jobItem in jobItemResult.Items)
{ {
var requiresSaving = false;
var removeFromDevice = false;
if (request.LocalItemIds.Contains(jobItem.ItemId, StringComparer.OrdinalIgnoreCase)) if (request.LocalItemIds.Contains(jobItem.ItemId, StringComparer.OrdinalIgnoreCase))
{ {
var job = _repo.GetJob(jobItem.JobId); var job = _repo.GetJob(jobItem.JobId);
@ -759,13 +762,13 @@ namespace MediaBrowser.Server.Implementations.Sync
{ {
// Tell the device to remove it since it has been marked for removal // Tell the device to remove it since it has been marked for removal
_logger.Debug("Adding ItemIdsToRemove {0} because IsMarkedForRemoval is set.", jobItem.ItemId); _logger.Debug("Adding ItemIdsToRemove {0} because IsMarkedForRemoval is set.", jobItem.ItemId);
response.ItemIdsToRemove.Add(jobItem.ItemId); removeFromDevice = true;
} }
else if (user == null) else if (user == null)
{ {
// Tell the device to remove it since the user is gone now // Tell the device to remove it since the user is gone now
_logger.Debug("Adding ItemIdsToRemove {0} because the user is no longer valid.", jobItem.ItemId); _logger.Debug("Adding ItemIdsToRemove {0} because the user is no longer valid.", jobItem.ItemId);
response.ItemIdsToRemove.Add(jobItem.ItemId); removeFromDevice = true;
} }
else if (job.UnwatchedOnly) else if (job.UnwatchedOnly)
{ {
@ -777,23 +780,42 @@ namespace MediaBrowser.Server.Implementations.Sync
{ {
// Tell the device to remove it since it has been played // Tell the device to remove it since it has been played
_logger.Debug("Adding ItemIdsToRemove {0} because it has been marked played.", jobItem.ItemId); _logger.Debug("Adding ItemIdsToRemove {0} because it has been marked played.", jobItem.ItemId);
response.ItemIdsToRemove.Add(jobItem.ItemId); removeFromDevice = true;
} }
} }
else else
{ {
// Tell the device to remove it since it's no longer available // Tell the device to remove it since it's no longer available
_logger.Debug("Adding ItemIdsToRemove {0} because it is no longer available.", jobItem.ItemId); _logger.Debug("Adding ItemIdsToRemove {0} because it is no longer available.", jobItem.ItemId);
response.ItemIdsToRemove.Add(jobItem.ItemId); removeFromDevice = true;
} }
} }
} }
else else
{ {
_logger.Debug("Setting status to RemovedFromDevice for {0} because it is no longer on the device.", jobItem.ItemId); _logger.Debug("Setting status to Queued for {0} because it is no longer on the device.", jobItem.ItemId);
// Content is no longer on the device // Content is no longer on the device
if (jobItem.IsMarkedForRemoval)
{
jobItem.Status = SyncJobItemStatus.RemovedFromDevice; jobItem.Status = SyncJobItemStatus.RemovedFromDevice;
}
else
{
jobItem.Status = SyncJobItemStatus.Queued;
}
requiresSaving = true;
}
if (removeFromDevice)
{
response.ItemIdsToRemove.Add(jobItem.ItemId);
jobItem.IsMarkedForRemoval = true;
requiresSaving = true;
}
if (requiresSaving)
{
await UpdateSyncJobItemInternal(jobItem).ConfigureAwait(false); await UpdateSyncJobItemInternal(jobItem).ConfigureAwait(false);
} }
} }
@ -837,6 +859,9 @@ namespace MediaBrowser.Server.Implementations.Sync
foreach (var jobItem in jobItemResult.Items) foreach (var jobItem in jobItemResult.Items)
{ {
var requiresSaving = false;
var removeFromDevice = false;
if (request.SyncJobItemIds.Contains(jobItem.Id, StringComparer.OrdinalIgnoreCase)) if (request.SyncJobItemIds.Contains(jobItem.Id, StringComparer.OrdinalIgnoreCase))
{ {
var job = _repo.GetJob(jobItem.JobId); var job = _repo.GetJob(jobItem.JobId);
@ -846,13 +871,13 @@ namespace MediaBrowser.Server.Implementations.Sync
{ {
// Tell the device to remove it since it has been marked for removal // Tell the device to remove it since it has been marked for removal
_logger.Debug("Adding ItemIdsToRemove {0} because IsMarkedForRemoval is set.", jobItem.Id); _logger.Debug("Adding ItemIdsToRemove {0} because IsMarkedForRemoval is set.", jobItem.Id);
response.ItemIdsToRemove.Add(jobItem.Id); removeFromDevice = true;
} }
else if (user == null) else if (user == null)
{ {
// Tell the device to remove it since the user is gone now // Tell the device to remove it since the user is gone now
_logger.Debug("Adding ItemIdsToRemove {0} because the user is no longer valid.", jobItem.Id); _logger.Debug("Adding ItemIdsToRemove {0} because the user is no longer valid.", jobItem.Id);
response.ItemIdsToRemove.Add(jobItem.Id); removeFromDevice = true;
} }
else if (job.UnwatchedOnly) else if (job.UnwatchedOnly)
{ {
@ -864,23 +889,42 @@ namespace MediaBrowser.Server.Implementations.Sync
{ {
// Tell the device to remove it since it has been played // Tell the device to remove it since it has been played
_logger.Debug("Adding ItemIdsToRemove {0} because it has been marked played.", jobItem.Id); _logger.Debug("Adding ItemIdsToRemove {0} because it has been marked played.", jobItem.Id);
response.ItemIdsToRemove.Add(jobItem.Id); removeFromDevice = true;
} }
} }
else else
{ {
// Tell the device to remove it since it's no longer available // Tell the device to remove it since it's no longer available
_logger.Debug("Adding ItemIdsToRemove {0} because it is no longer available.", jobItem.Id); _logger.Debug("Adding ItemIdsToRemove {0} because it is no longer available.", jobItem.Id);
response.ItemIdsToRemove.Add(jobItem.Id); removeFromDevice = true;
} }
} }
} }
else else
{ {
_logger.Debug("Setting status to RemovedFromDevice for {0} because it is no longer on the device.", jobItem.Id); _logger.Debug("Setting status to Queued for {0} because it is no longer on the device.", jobItem.Id);
// Content is no longer on the device // Content is no longer on the device
if (jobItem.IsMarkedForRemoval)
{
jobItem.Status = SyncJobItemStatus.RemovedFromDevice; jobItem.Status = SyncJobItemStatus.RemovedFromDevice;
}
else
{
jobItem.Status = SyncJobItemStatus.Queued;
}
requiresSaving = true;
}
if (removeFromDevice)
{
response.ItemIdsToRemove.Add(jobItem.Id);
jobItem.IsMarkedForRemoval = true;
requiresSaving = true;
}
if (requiresSaving)
{
await UpdateSyncJobItemInternal(jobItem).ConfigureAwait(false); await UpdateSyncJobItemInternal(jobItem).ConfigureAwait(false);
} }
} }

@ -166,6 +166,13 @@ namespace MediaBrowser.ServerApplication
contextMenuStrip1.Invoke(action); contextMenuStrip1.Invoke(action);
} }
notifyIcon1.DoubleClick += notifyIcon1_DoubleClick;
}
void notifyIcon1_DoubleClick(object sender, EventArgs e)
{
BrowserLauncher.OpenDashboard(_appHost, _logger);
} }
private void LocalizeText() private void LocalizeText()

Loading…
Cancel
Save