add latest translations

This commit is contained in:
Luke Pulverenti 2014-04-02 17:55:19 -04:00
parent 8fd7c1d99a
commit 55bfb651b6
41 changed files with 452 additions and 427 deletions

View file

@ -244,6 +244,8 @@
$('#chkEnableMpegtsM2TsMode', popup).checked(transcodingProfile.EnableMpegtsM2TsMode).checkboxradio('refresh');
$('#chkEstimateContentLength', popup).checked(transcodingProfile.EstimateContentLength).checkboxradio('refresh');
$('#chkReportByteRangeRequests', popup).checked(transcodingProfile.TranscodeSeekInfo == 'Bytes').checkboxradio('refresh');
$('.radioTabButton:first', popup).checked(true).checkboxradio('refresh').trigger('change');
}
function deleteTranscodingProfile(page, index) {
@ -523,11 +525,12 @@
var page = this;
$('.radioProfileTab', page).on('change', function () {
$('.radioTabButton', page).on('change', function () {
$('.profileTab', page).hide();
$('.' + this.value, page).show();
var elem = $('.' + this.value, page);
elem.siblings('.tabContent').hide();
elem.show();
});
$('#selectDirectPlayProfileType', page).on('change', function () {
@ -595,7 +598,7 @@
var page = this;
$('.radioSeriesTimerTab', page).checked(false).checkboxradio('refresh');
$('.radioTabButton', page).checked(false).checkboxradio('refresh');
$('#radioInfo', page).checked(true).checkboxradio('refresh').trigger('change');
});

View file

@ -666,6 +666,8 @@
// Some 1080- videos are reported as 1912?
if (maxAllowedWidth >= 1910) {
options.push({ name: '1080p - 30Mbps', maxWidth: 1920, bitrate: 30000000 });
options.push({ name: '1080p - 25Mbps', maxWidth: 1920, bitrate: 25000000 });
options.push({ name: '1080p - 20Mbps', maxWidth: 1920, bitrate: 20000000 });
options.push({ name: '1080p - 15Mbps', maxWidth: 1920, bitrate: 15000000 });
options.push({ name: '1080p - 10Mbps', maxWidth: 1920, bitrate: 10000000 });
@ -728,7 +730,7 @@
var baseParams = {
audioChannels: 2,
StartTimeTicks: startPosition || 0,
StartTimeTicks: startPosition,
SubtitleStreamIndex: getInitialSubtitleStreamIndex(mediaStreams, user),
AudioStreamIndex: getInitialAudioStreamIndex(mediaStreams, user),
deviceId: ApiClient.deviceId(),

View file

@ -165,9 +165,13 @@
if (finalParams.isStatic) {
currentSrc = currentSrc.replace('.webm', '.mp4').replace('.m3u8', '.mp4');
currentSrc = replaceQueryString(currentSrc, 'starttimeticks', '');
} else {
currentSrc = currentSrc.replace('.mp4', transcodingExtension).replace('.m4v', transcodingExtension);
}
if (finalParams.isStatic || !ticks) {
currentSrc = replaceQueryString(currentSrc, 'starttimeticks', '');
} else {
currentSrc = replaceQueryString(currentSrc, 'starttimeticks', ticks);
}
@ -219,6 +223,14 @@
self.canPlayVideoDirect = function (mediaSource, videoStream, audioStream, subtitleStream, maxWidth, bitrate) {
if (!mediaSource) {
throw new Error('Null mediaSource');
}
if (!videoStream) {
throw new Error('Null videoStream');
}
if (mediaSource.VideoType != "VideoFile" || mediaSource.LocationType != "FileSystem") {
console.log('Transcoding because the content is not a video file');
return false;
@ -252,13 +264,13 @@
return false;
}
var extension = mediaSource.Path.substring(mediaSource.Path.lastIndexOf('.') + 1).toLowerCase();
var extension = (mediaSource.Container || '').toLowerCase();
if (extension == 'm4v') {
return $.browser.chrome;
}
return extension.toLowerCase() == 'mp4';
return extension == 'mp4';
};
self.getFinalVideoParams = function (mediaSource, maxWidth, bitrate, audioStreamIndex, subtitleStreamIndex, transcodingExtension) {
@ -323,7 +335,7 @@
});
}
else if (firstItem.Type == "MusicArtist") {
promise = self.getItemsForPlayback({
Artists: firstItem.Name,
Filters: "IsNotFolder",
@ -334,7 +346,7 @@
}
else if (firstItem.Type == "MusicGenre") {
promise = self.getItemsForPlayback({
Genres: firstItem.Name,
Filters: "IsNotFolder",
@ -927,7 +939,7 @@
self.bindVolumeSlider();
self.bindPositionSlider();
};
}
function replaceQueryString(url, param, value) {
var re = new RegExp("([?|&])" + param + "=.*?(&|$)", "i");
@ -935,12 +947,12 @@
return url.replace(re, '$1' + param + "=" + value + '$2');
else
return url + '&' + param + "=" + value;
};
}
function sendProgressUpdate(itemId, mediaSourceId) {
ApiClient.reportPlaybackProgress(Dashboard.getCurrentUserId(), itemId, mediaSourceId, self.getCurrentTicks(), currentMediaElement.paused, currentMediaElement.volume == 0);
};
}
function clearProgressInterval() {
@ -953,7 +965,7 @@
function canPlayWebm() {
return testableVideoElement.canPlayType('video/webm').replace(/no/, '');
};
}
function onPositionSliderChange() {
@ -964,16 +976,7 @@
var newPositionTicks = (newPercent / 100) * currentMediaSource.RunTimeTicks;
self.changeStream(Math.floor(newPositionTicks));
};
function endsWith(text, pattern) {
text = text.toLowerCase();
pattern = pattern.toLowerCase();
var d = text.length - pattern.length;
return d >= 0 && text.lastIndexOf(pattern) === d;
};
}
function playAudio(item, mediaSource, startPositionTicks) {
@ -1009,12 +1012,13 @@
if (stream.Type == "Audio") {
var container = (mediaSource.Container || '').toLowerCase();
// Stream statically when possible
if (endsWith(mediaSource.Path, ".aac") && stream.BitRate <= 256000) {
if (container == 'aac' && stream.BitRate <= 256000) {
aacUrl += "&static=true" + seekParam;
isStatic = true;
}
else if (endsWith(mediaSource.Path, ".mp3") && stream.BitRate <= 256000) {
else if (container == 'mp3' && stream.BitRate <= 256000) {
mp3Url += "&static=true" + seekParam;
isStatic = true;
}
@ -1055,7 +1059,7 @@
$('#subtitleButton', nowPlayingBar).hide();
$('#chaptersButton', nowPlayingBar).hide();
$('#mediaElement', nowPlayingBar).html(html);
var mediaElement = $('#mediaElement', nowPlayingBar).html(html);
var audioElement = $("audio", mediaElement);
var initialVolume = localStorage.getItem("volume") || 0.5;

View file

@ -39,6 +39,16 @@
});
$('.itemsContainer', page).removeClass('timelineItemsContainer');
}
else if (view == "Banner") {
html = LibraryBrowser.getPosterViewHtml({
items: result.Items,
shape: "banner",
preferBanner: true,
context: 'movies'
});
$('.itemsContainer', page).removeClass('timelineItemsContainer');
}
else if (view == "Poster") {
html = LibraryBrowser.getPosterViewHtml({
items: result.Items,

View file

@ -50,10 +50,8 @@
ApiClient.getNextUpEpisodes(options).done(function (result) {
if (result.Items.length) {
$('#resumableSection', page).show();
$('.noNextUpItems', page).hide();
} else {
$('#resumableSection', page).hide();
$('.noNextUpItems', page).show();
}