Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion _locales/en/messages.json
Original file line number Diff line number Diff line change
Expand Up @@ -1527,7 +1527,8 @@
"message": "Exclude Shorts when using \"Play all\""
},
"fullScreenQuality": {
"message": "Fullscreen quality"
"message": "Fullscreen quality"
},
"secondaryColor": {
"message": "Secondary color"
},
Expand Down
96 changes: 84 additions & 12 deletions js&css/web-accessible/core.js
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,9 @@ var ImprovedTube = {
messages: {
queue: []
},
storage: {},
storage: {
isMusic: false
},
elements: {
buttons: {},
masthead: {},
Expand All @@ -38,7 +40,80 @@ var ImprovedTube = {
video_id: /(?:[?&]v=|embed\/|shorts\/)([^&?]{11})/,
video_time: /[?&](?:t|start)=([^&]+)|#t=(\w+)/,
playlist_id: /[?&]list=([^&]+)/,
channel_link: /https:\/\/www.youtube.com\/@|((channel|user|c)\/)/
channel_link: /https:\/\/www.youtube.com\/@|((channel|user|c)\/)/,
keywords: 'video, sharing, camera phone, video phone, free, upload',
music: {
music_identifier: new RegExp([
// Musical videos
'(official|music|lyrics?) ?[- ]?video',
'(cover|studio|radio|album|alternate)[- ]version',
'soundtrack',
'unplugged',
'\\bmedley\\b',
'\\blo[- ]?fi\\b',
'a(lla)? cappella',
'OST',

// Featuring / collaborations
'feat\\.',
'featuring',
'Guest (vocals|musician)',

// Instrumental versions
'(piano|guitar|jazz|ukulele|violin|reggae)[- ](version|cover)',
'karaok',
'backing[- ]track',
'instrumental',
'(sing|play)[- ]?along',

// Karaoke translations
'卡拉OK',
'الكاريوكي',
'караоке',
'カラオケ',
'노래방',

// Edits and mixes
'bootleg',
'mashup',
'Radio edit',

// Tracks and live versions
'(title|opening|closing|bonus|hidden)[ -]track',
'live acoustic',
'interlude',
'recorded (at|live)',

// Specific patterns
'lyrics',
'theme song',
'\\bremix',
'\\bAMV ?[^a-z0-9]',
'[^a-z0-9] ?AMV\\b',
'\\bfull song\\b',
'\\bsong:',
'\\bsong[!$]',
'^song\\b',
'( - .*\\bSong\\b|\\bSong\\b.* - )',
'cover ?[^a-z0-9]',
'[^a-z0-9] ?cover',
'\\bconcert\\b',

// Album / Collection related
'album|Álbum|专辑|專輯|एलबम|البوم|アルバム|альбом|앨범|mixtape|concert|playlist|\\b(live|cd|vinyl|lp|ep|compilation|collection|symphony|suite|medley)\\b'
].join('|'), 'i'),

music_tags: new RegExp([
'\\b(lyrics|remix|song|music|AMV|theme song|full song)\\b',
'\\(Musical Genre\\)',
'\\bjazz\\b',
'\\breggae\\b'
].join('|'), 'i'),

not_music_identifier: new RegExp([
'\\bdo[ck]u|interv[iyj]|back[- ]?stage|インタビュー|entrevista|面试|面試|회견|wawancara|مقابلة|интервью|entretien|기록한 것|记录|記錄|ドキュメンタリ|وثائقي|документальный'
].join('|'), 'i')
}
},
button_icons: {
blocklist: {
Expand Down Expand Up @@ -237,18 +312,15 @@ document.addEventListener('it-message-from-extension', function () {
case 'blocklist':
case 'blocklistActivate':
ImprovedTube.blocklistInit();
break

break;
case 'playerForcedPlaybackSpeedMusic':
ImprovedTube.playerPlaybackSpeed();
break;
case 'playerPlaybackSpeed':
let newSpeed = Number(ImprovedTube.storage.player_playback_speed);
ImprovedTube.playbackSpeed(newSpeed);
break;
case 'playerForcedPlaybackSpeed':
if (ImprovedTube.storage.player_forced_playback_speed === true && isFinite(Number(ImprovedTube.storage.player_playback_speed))) {
ImprovedTube.playbackSpeed(Number(ImprovedTube.storage.player_playback_speed)); //new
ImprovedTube.elements.player.setPlaybackRate(Number(ImprovedTube.storage.player_playback_speed));
// ImprovedTube.elements.player.querySelector('video').playbackRate = Number(ImprovedTube.storage.player_playback_speed.toFixed(2));
} else if (ImprovedTube.storage.player_forced_playback_speed === false) {
ImprovedTube.elements.player.setPlaybackRate(1);
ImprovedTube.elements.player.querySelector('video').playbackRate = 1;
}
break

case 'theme':
Expand Down
5 changes: 3 additions & 2 deletions js&css/web-accessible/functions.js
Original file line number Diff line number Diff line change
Expand Up @@ -381,8 +381,10 @@ ImprovedTube.initPlayer = function () {

delete ImprovedTube.elements.player.dataset.defaultQuality;

ImprovedTube.forcedPlayVideoFromTheBeginning();
ImprovedTube.playbackSpeed(ImprovedTube.storage.player_playback_speed);
ImprovedTube.playerPlaybackSpeed();

ImprovedTube.forcedPlayVideoFromTheBeginning();
ImprovedTube.playerSubtitles();
ImprovedTube.subtitlesLanguage();
ImprovedTube.subtitlesUserSettings();
Expand All @@ -399,7 +401,6 @@ ImprovedTube.initPlayer = function () {
ImprovedTube.playerPopupButton();
ImprovedTube.playerFitToWinButton();
ImprovedTube.playerRewindAndForwardButtons();
ImprovedTube.playerPlaybackSpeedButton();
ImprovedTube.playerHamburgerButton();
ImprovedTube.playerControls();
ImprovedTube.playerHideProgressPreview();
Expand Down
Loading
Loading