mirror of
https://github.com/iv-org/invidious.git
synced 2025-07-28 16:28:29 +00:00
Added support for 'preservesPitch'.
This commit is contained in:
parent
069e91d2a6
commit
4affef6eb0
@ -221,6 +221,9 @@ if (video_data.params.video_start > 0 || video_data.params.video_end > 0) {
|
||||
player.volume(video_data.params.volume / 100);
|
||||
player.playbackRate(video_data.params.speed);
|
||||
|
||||
// Dirty hack to set a property in <video/> element that Video.js doesn't currently native support.
|
||||
player.tech_.el_.preservesPitch = video_data.params.preserves_pitch;
|
||||
|
||||
/**
|
||||
* Method for getting the contents of a cookie
|
||||
*
|
||||
|
@ -761,6 +761,14 @@ default_user_preferences:
|
||||
##
|
||||
#video_loop: false
|
||||
|
||||
##
|
||||
## Detether payback speed from pitch.
|
||||
##
|
||||
## Accepted values: true, false
|
||||
## Default: true
|
||||
##
|
||||
#preserves_pitch: true
|
||||
|
||||
|
||||
# -----------------------------
|
||||
# Video playback settings
|
||||
|
@ -47,6 +47,7 @@
|
||||
"Preferences": "Einstellungen",
|
||||
"preferences_category_player": "Wiedergabeeinstellungen",
|
||||
"preferences_video_loop_label": "Immer wiederholen: ",
|
||||
"preferences_preserves_pitch_label": "Tonhöhe erhalten: ",
|
||||
"preferences_autoplay_label": "Automatisch abspielen: ",
|
||||
"preferences_continue_label": "Immer automatisch nächstes Video abspielen: ",
|
||||
"preferences_continue_autoplay_label": "Nächstes Video automatisch abspielen: ",
|
||||
|
@ -65,6 +65,7 @@
|
||||
"Preferences": "Preferences",
|
||||
"preferences_category_player": "Player preferences",
|
||||
"preferences_video_loop_label": "Always loop: ",
|
||||
"preferences_preserves_pitch_label": "Preserve pitch: ",
|
||||
"preferences_autoplay_label": "Autoplay: ",
|
||||
"preferences_continue_label": "Play next by default: ",
|
||||
"preferences_continue_autoplay_label": "Autoplay next video: ",
|
||||
|
@ -47,6 +47,7 @@
|
||||
"Preferences": "Preferencias",
|
||||
"preferences_category_player": "Preferencias del reproductor",
|
||||
"preferences_video_loop_label": "Repetir siempre: ",
|
||||
"preferences_preserves_pitch_label": "Preservar tono: ",
|
||||
"preferences_autoplay_label": "Reproducción automática: ",
|
||||
"preferences_continue_label": "Reproducir siguiente por defecto: ",
|
||||
"preferences_continue_autoplay_label": "Reproducir automáticamente el video siguiente: ",
|
||||
|
@ -47,6 +47,7 @@
|
||||
"Preferences": "Preferências",
|
||||
"preferences_category_player": "Preferências do reprodutor",
|
||||
"preferences_video_loop_label": "Repetir sempre: ",
|
||||
"preferences_preserves_pitch_label": "Preservar tom: ",
|
||||
"preferences_autoplay_label": "Reprodução automática: ",
|
||||
"preferences_continue_label": "Sempre reproduzir próximo: ",
|
||||
"preferences_continue_autoplay_label": "Reproduzir próximo vídeo automaticamente: ",
|
||||
|
@ -47,6 +47,7 @@
|
||||
"Preferences": "Preferências",
|
||||
"preferences_category_player": "Preferências do reprodutor",
|
||||
"preferences_video_loop_label": "Repetir sempre: ",
|
||||
"preferences_preserves_pitch_label": "Preservar tom: ",
|
||||
"preferences_autoplay_label": "Reprodução automática: ",
|
||||
"preferences_continue_label": "Reproduzir sempre o próximo: ",
|
||||
"preferences_continue_autoplay_label": "Reproduzir próximo vídeo automaticamente: ",
|
||||
|
@ -224,6 +224,7 @@
|
||||
"preferences_continue_autoplay_label": "Reproduzir próximo vídeo automaticamente: ",
|
||||
"preferences_autoplay_label": "Reprodução automática: ",
|
||||
"preferences_video_loop_label": "Repetir sempre: ",
|
||||
"preferences_preserves_pitch_label": "Preservar tom: ",
|
||||
"preferences_category_player": "Preferências do reprodutor",
|
||||
"Preferences": "Preferências",
|
||||
"E-mail": "E-mail",
|
||||
|
@ -47,6 +47,7 @@
|
||||
"Preferences": "Настройки",
|
||||
"preferences_category_player": "Настройки проигрывателя",
|
||||
"preferences_video_loop_label": "Всегда повторять: ",
|
||||
"preferences_preserves_pitch_label": "Сохранять тональность: ",
|
||||
"preferences_autoplay_label": "Автовоспроизведение: ",
|
||||
"preferences_continue_label": "Переходить к следующему видео? ",
|
||||
"preferences_continue_autoplay_label": "Автопроигрывание следующего видео: ",
|
||||
|
@ -39,6 +39,7 @@ struct ConfigPreferences
|
||||
property thin_mode : Bool = false
|
||||
property unseen_only : Bool = false
|
||||
property video_loop : Bool = false
|
||||
property preserves_pitch : Bool = true
|
||||
property extend_desc : Bool = false
|
||||
property volume : Int32 = 100
|
||||
property vr_mode : Bool = true
|
||||
|
@ -19,6 +19,10 @@ module Invidious::Routes::PreferencesRoute
|
||||
video_loop ||= "off"
|
||||
video_loop = video_loop == "on"
|
||||
|
||||
preserves_pitch = env.params.body["preserves_pitch"]?.try &.as(String)
|
||||
preserves_pitch ||= "off"
|
||||
preserves_pitch = preserves_pitch == "on"
|
||||
|
||||
annotations = env.params.body["annotations"]?.try &.as(String)
|
||||
annotations ||= "off"
|
||||
annotations = annotations == "on"
|
||||
@ -170,6 +174,7 @@ module Invidious::Routes::PreferencesRoute
|
||||
thin_mode: thin_mode,
|
||||
unseen_only: unseen_only,
|
||||
video_loop: video_loop,
|
||||
preserves_pitch: preserves_pitch,
|
||||
volume: volume,
|
||||
extend_desc: extend_desc,
|
||||
vr_mode: vr_mode,
|
||||
|
@ -52,6 +52,7 @@ struct Preferences
|
||||
property thin_mode : Bool = CONFIG.default_user_preferences.thin_mode
|
||||
property unseen_only : Bool = CONFIG.default_user_preferences.unseen_only
|
||||
property video_loop : Bool = CONFIG.default_user_preferences.video_loop
|
||||
property preserves_pitch : Bool = CONFIG.default_user_preferences.preserves_pitch
|
||||
property extend_desc : Bool = CONFIG.default_user_preferences.extend_desc
|
||||
property volume : Int32 = CONFIG.default_user_preferences.volume
|
||||
property save_player_pos : Bool = CONFIG.default_user_preferences.save_player_pos
|
||||
|
@ -19,6 +19,7 @@ struct VideoPreferences
|
||||
property speed : Float32 | Float64
|
||||
property video_end : Float64 | Int32
|
||||
property video_loop : Bool
|
||||
property preserves_pitch : Bool
|
||||
property extend_desc : Bool
|
||||
property video_start : Float64 | Int32
|
||||
property volume : Int32
|
||||
@ -42,6 +43,7 @@ def process_video_params(query, preferences)
|
||||
related_videos = query["related_videos"]?.try { |q| (q == "true" || q == "1").to_unsafe }
|
||||
speed = query["speed"]?.try &.rchop("x").to_f?
|
||||
video_loop = query["loop"]?.try { |q| (q == "true" || q == "1").to_unsafe }
|
||||
preserves_pitch = query["preserves_pitch"]?.try { |q| (q == "true" || q == "1").to_unsafe }
|
||||
extend_desc = query["extend_desc"]?.try { |q| (q == "true" || q == "1").to_unsafe }
|
||||
volume = query["volume"]?.try &.to_i?
|
||||
vr_mode = query["vr_mode"]?.try { |q| (q == "true" || q == "1").to_unsafe }
|
||||
@ -63,6 +65,7 @@ def process_video_params(query, preferences)
|
||||
related_videos ||= preferences.related_videos.to_unsafe
|
||||
speed ||= preferences.speed
|
||||
video_loop ||= preferences.video_loop.to_unsafe
|
||||
preserves_pitch ||= preferences.preserves_pitch.to_unsafe
|
||||
extend_desc ||= preferences.extend_desc.to_unsafe
|
||||
volume ||= preferences.volume
|
||||
vr_mode ||= preferences.vr_mode.to_unsafe
|
||||
@ -83,6 +86,7 @@ def process_video_params(query, preferences)
|
||||
related_videos ||= CONFIG.default_user_preferences.related_videos.to_unsafe
|
||||
speed ||= CONFIG.default_user_preferences.speed
|
||||
video_loop ||= CONFIG.default_user_preferences.video_loop.to_unsafe
|
||||
preserves_pitch ||= CONFIG.default_user_preferences.preserves_pitch.to_unsafe
|
||||
extend_desc ||= CONFIG.default_user_preferences.extend_desc.to_unsafe
|
||||
volume ||= CONFIG.default_user_preferences.volume
|
||||
vr_mode ||= CONFIG.default_user_preferences.vr_mode.to_unsafe
|
||||
@ -96,6 +100,7 @@ def process_video_params(query, preferences)
|
||||
local = local == 1
|
||||
related_videos = related_videos == 1
|
||||
video_loop = video_loop == 1
|
||||
preserves_pitch = preserves_pitch == 1
|
||||
extend_desc = extend_desc == 1
|
||||
vr_mode = vr_mode == 1
|
||||
save_player_pos = save_player_pos == 1
|
||||
@ -145,6 +150,7 @@ def process_video_params(query, preferences)
|
||||
speed: speed,
|
||||
video_end: video_end,
|
||||
video_loop: video_loop,
|
||||
preserves_pitch: preserves_pitch,
|
||||
extend_desc: extend_desc,
|
||||
video_start: video_start,
|
||||
volume: volume,
|
||||
|
@ -12,6 +12,11 @@
|
||||
<input name="video_loop" id="video_loop" type="checkbox" <% if preferences.video_loop %>checked<% end %>>
|
||||
</div>
|
||||
|
||||
<div class="pure-control-group">
|
||||
<label for="preserves_pitch"><%= translate(locale, "preferences_preserves_pitch_label") %></label>
|
||||
<input name="preserves_pitch" id="preserves_pitch" type="checkbox" <% if preferences.preserves_pitch %>checked<% end %>>
|
||||
</div>
|
||||
|
||||
<div class="pure-control-group">
|
||||
<label for="autoplay"><%= translate(locale, "preferences_autoplay_label") %></label>
|
||||
<input name="autoplay" id="autoplay" type="checkbox" <% if preferences.autoplay %>checked<% end %>>
|
||||
|
Loading…
Reference in New Issue
Block a user