mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
update recording saving
This commit is contained in:
parent
8d12419c5e
commit
0209b950a1
4 changed files with 88 additions and 22 deletions
|
@ -39,6 +39,23 @@
|
|||
<div class="fieldDescription">${LabelRecordingPathHelp}</div>
|
||||
</div>
|
||||
<br />
|
||||
<div>
|
||||
<paper-checkbox id="chkEnableRecordingSubfolders">${OptionEnableRecordingSubfolders}</paper-checkbox>
|
||||
</div>
|
||||
<div class="hide">
|
||||
<br />
|
||||
<paper-input id="txtMovieRecordingPath" label="${LabelMovieRecordingPath}" style="width:84%;display:inline-block;"></paper-input>
|
||||
<paper-icon-button id="btnSelectMovieRecordingPath" icon="search"></paper-icon-button>
|
||||
</div>
|
||||
<div class="hide">
|
||||
<paper-input id="txtSeriesRecordingPath" label="${LabelSeriesRecordingPath}" style="width:84%;display:inline-block;"></paper-input>
|
||||
<paper-icon-button id="btnSelectSeriesRecordingPath" icon="search"></paper-icon-button>
|
||||
</div>
|
||||
<br />
|
||||
<div>
|
||||
<paper-checkbox id="chkOrganize">${OptionSendRecordingsToAutoOrganize}</paper-checkbox>
|
||||
</div>
|
||||
<br />
|
||||
<br />
|
||||
<div>
|
||||
<paper-checkbox id="chkConvertRecordings">${OptionConvertRecordingsToStreamingFormat}</paper-checkbox>
|
||||
|
@ -52,12 +69,6 @@
|
|||
</div>
|
||||
<br />
|
||||
<br />
|
||||
<div>
|
||||
<paper-checkbox id="chkOrganize">${OptionSendRecordingsToAutoOrganize}</paper-checkbox>
|
||||
<div class="fieldDescription paperCheckboxFieldDescription">${OptionSendRecordingsToAutoOrganizeHelp}</div>
|
||||
</div>
|
||||
<br />
|
||||
<br />
|
||||
<div>
|
||||
<h1>${HeaderDefaultPadding}</h1>
|
||||
<div>
|
||||
|
|
|
@ -12,11 +12,15 @@
|
|||
$('#chkConvertRecordings', page).checked(config.EnableRecordingEncoding);
|
||||
$('#chkPreserveAudio', page).checked(config.EnableOriginalAudioWithEncodedRecordings || false);
|
||||
|
||||
$('#txtRecordingPath', page).val(config.RecordingPath || '');
|
||||
|
||||
$('#txtPrePaddingMinutes', page).val(config.PrePaddingSeconds / 60);
|
||||
$('#txtPostPaddingMinutes', page).val(config.PostPaddingSeconds / 60);
|
||||
|
||||
page.querySelector('#txtRecordingPath').value = config.RecordingPath || '';
|
||||
page.querySelector('#txtMovieRecordingPath').value = config.MovieRecordingPath || '';
|
||||
page.querySelector('#txtSeriesRecordingPath').value = config.SeriesRecordingPath || '';
|
||||
|
||||
page.querySelector('#chkEnableRecordingSubfolders').checked = config.EnableRecordingSubfolders || false;
|
||||
|
||||
Dashboard.hideLoadingMsg();
|
||||
}
|
||||
|
||||
|
@ -33,10 +37,13 @@
|
|||
config.EnableAutoOrganize = $('#chkOrganize', form).checked();
|
||||
config.EnableRecordingEncoding = $('#chkConvertRecordings', form).checked();
|
||||
config.EnableOriginalAudioWithEncodedRecordings = $('#chkPreserveAudio', form).checked();
|
||||
config.RecordingPath = $('#txtRecordingPath', form).val() || null;
|
||||
config.RecordingPath = form.querySelector('#txtRecordingPath').value || null;
|
||||
config.MovieRecordingPath = form.querySelector('#txtMovieRecordingPath').value || null;
|
||||
config.SeriesRecordingPath = form.querySelector('#txtSeriesRecordingPath').value || null;
|
||||
|
||||
config.PrePaddingSeconds = $('#txtPrePaddingMinutes', form).val() * 60;
|
||||
config.PostPaddingSeconds = $('#txtPostPaddingMinutes', form).val() * 60;
|
||||
config.EnableRecordingSubfolders = form.querySelector('#chkEnableRecordingSubfolders').checked;
|
||||
|
||||
ApiClient.updateNamedConfiguration("livetv", config).then(Dashboard.processServerConfigurationUpdateResult);
|
||||
});
|
||||
|
@ -86,6 +93,44 @@
|
|||
});
|
||||
});
|
||||
|
||||
$('#btnSelectMovieRecordingPath', page).on("click.selectDirectory", function () {
|
||||
|
||||
require(['directorybrowser'], function (directoryBrowser) {
|
||||
|
||||
var picker = new directoryBrowser();
|
||||
|
||||
picker.show({
|
||||
|
||||
callback: function (path) {
|
||||
|
||||
if (path) {
|
||||
$('#txtMovieRecordingPath', page).val(path);
|
||||
}
|
||||
picker.close();
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
$('#btnSelectSeriesRecordingPath', page).on("click.selectDirectory", function () {
|
||||
|
||||
require(['directorybrowser'], function (directoryBrowser) {
|
||||
|
||||
var picker = new directoryBrowser();
|
||||
|
||||
picker.show({
|
||||
|
||||
callback: function (path) {
|
||||
|
||||
if (path) {
|
||||
$('#txtSeriesRecordingPath', page).val(path);
|
||||
}
|
||||
picker.close();
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
}).on('pageshow', "#liveTvSettingsPage", function () {
|
||||
|
||||
LibraryMenu.setTabs('livetvadmin', 1, getTabs);
|
||||
|
|
|
@ -163,12 +163,14 @@
|
|||
|
||||
function getAppInfo() {
|
||||
|
||||
if (AppInfo.nativeApp) {
|
||||
return Promise.resolve('');
|
||||
var frequency = 86400000;
|
||||
|
||||
if (AppInfo.isNativeApp) {
|
||||
frequency = 604800000;
|
||||
}
|
||||
|
||||
var cacheKey = 'lastappinfopresent5';
|
||||
if ((new Date().getTime() - parseInt(appSettings.get(cacheKey) || '0')) < 86400000) {
|
||||
if ((new Date().getTime() - parseInt(appSettings.get(cacheKey) || '0')) < frequency) {
|
||||
return Promise.resolve('');
|
||||
}
|
||||
|
||||
|
@ -180,7 +182,11 @@
|
|||
return '';
|
||||
}
|
||||
|
||||
var infos = [getTheaterInfo, getPremiereInfo];
|
||||
var infos = [getPremiereInfo];
|
||||
|
||||
if (!browserInfo.safari || !AppInfo.isNativeApp) {
|
||||
infos.push(getTheaterInfo);
|
||||
}
|
||||
|
||||
appSettings.set(cacheKey, new Date().getTime());
|
||||
|
||||
|
@ -198,7 +204,9 @@
|
|||
var html = '';
|
||||
html += '<div>';
|
||||
html += '<h1>Try Emby Theater<paper-icon-button icon="close" onclick="jQuery(this.parentNode.parentNode).remove();" style="margin-left:1em;"></paper-icon-button></h1>';
|
||||
html += '<p>A beautiful app for your TV and large screen tablet. <a href="https://emby.media/download" target="_blank">Emby Theater</a> runs on Windows, Xbox One, Google Chrome, FireFox, Microsoft Edge and Opera.</p>';
|
||||
|
||||
var nameText = AppInfo.isNativeApp ? 'Emby Theater' : '<a href="https://emby.media/download" target="_blank">Emby Theater</a>';
|
||||
html += '<p>A beautiful app for your TV and large screen tablet. ' + nameText + ' runs on Windows, Xbox One, Google Chrome, FireFox, Microsoft Edge and Opera.</p>';
|
||||
html += '<div class="itemsContainer">';
|
||||
html += getCard('https://raw.githubusercontent.com/MediaBrowser/Emby.Resources/master/apps/theater1.png', 'https://emby.media/download');
|
||||
html += getCard('https://raw.githubusercontent.com/MediaBrowser/Emby.Resources/master/apps/theater2.png', 'https://emby.media/download');
|
||||
|
@ -214,7 +222,10 @@
|
|||
var html = '';
|
||||
html += '<div>';
|
||||
html += '<h1>Try Emby Premiere<paper-icon-button icon="close" onclick="jQuery(this.parentNode.parentNode).remove();" style="margin-left:1em;"></paper-icon-button></h1>';
|
||||
html += '<p>Design beautiful Cover Art, enjoy free access to Emby apps, and more. <a href="https://emby.media/premiere" target="_blank">Learn more</a></p>';
|
||||
|
||||
var learnMoreText = AppInfo.isNativeApp ? '' : '<a href="https://emby.media/premiere" target="_blank">Learn more</a>';
|
||||
|
||||
html += '<p>Design beautiful Cover Art, enjoy free access to Emby apps, and more. ' + learnMoreText + '</p>';
|
||||
html += '<div class="itemsContainer">';
|
||||
html += getCard('https://raw.githubusercontent.com/MediaBrowser/Emby.Resources/master/apps/theater1.png', 'https://emby.media/premiere');
|
||||
html += getCard('https://raw.githubusercontent.com/MediaBrowser/Emby.Resources/master/apps/theater2.png', 'https://emby.media/premiere');
|
||||
|
|
|
@ -347,8 +347,10 @@
|
|||
"LabelCustomPaths": "Specify custom paths where desired. Leave fields empty to use the defaults.",
|
||||
"LabelCachePath": "Cache path:",
|
||||
"LabelCachePathHelp": "Specify a custom location for server cache files, such as images. Leave blank to use the server default.",
|
||||
"LabelRecordingPath": "Recording path:",
|
||||
"LabelRecordingPathHelp": "Specify a custom location to save recordings. Leave blank to use the server default.",
|
||||
"LabelRecordingPath": "Default recording path:",
|
||||
"LabelMovieRecordingPath": "Movie recording path (optional):",
|
||||
"LabelSeriesRecordingPath": "Series recording path (optional):",
|
||||
"LabelRecordingPathHelp": "Specify the default location to save recordings. If left empty, the server's program data folder will be used.",
|
||||
"LabelImagesByNamePath": "Images by name path:",
|
||||
"LabelImagesByNamePathHelp": "Specify a custom location for downloaded actor, genre and studio images.",
|
||||
"LabelMetadataPath": "Metadata path:",
|
||||
|
@ -1486,14 +1488,11 @@
|
|||
"MessageActiveSubscriptionRequiredSeriesRecordings": "An active Emby Premiere subscription is required in order to create automated series recordings.",
|
||||
"HeaderSetupTVGuide": "Setup TV Guide",
|
||||
"LabelDataProvider": "Data provider:",
|
||||
"OptionSendRecordingsToAutoOrganize": "Enable Auto-Organize for new recordings",
|
||||
"OptionSendRecordingsToAutoOrganizeHelp": "New recordings will be sent to the Auto-Organize feature and imported into your media library.",
|
||||
"OptionSendRecordingsToAutoOrganize": "Automatically organize recordings into existing series folders in other libraries",
|
||||
"HeaderDefaultPadding": "Default Padding",
|
||||
"OptionEnableRecordingSubfolders": "Create sub-folders for categories such as Sports, Kids, etc.",
|
||||
"HeaderSubtitles": "Subtitles",
|
||||
"HeaderVideos": "Videos",
|
||||
"OptionEnableVideoFrameAnalysis": "Enable frame by frame video analysis",
|
||||
"OptionEnableVideoFrameAnalysisHelp": "Extract detailed information about videos that can be used to make transcoding as efficient as possible. This will cause library scans to take longer.",
|
||||
"LabelVideoFrameAnalysisLimit": "Limit frame by frame analysis to videos less than:",
|
||||
"LabelHardwareAccelerationType": "Hardware acceleration:",
|
||||
"LabelHardwareAccelerationTypeHelp": "Available on supported systems only.",
|
||||
"ButtonServerDashboard": "Server Dashboard",
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue