Skip to content

Commit a823cb5

Browse files
authored
Merge branch 'arichornlover:main' into main
2 parents 1bfe296 + 150b7ac commit a823cb5

5 files changed

Lines changed: 40 additions & 61 deletions

File tree

README.md

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@
2222
</p>
2323

2424
<p align="center">
25-
<a href="https://github.com/arichornlover/uYouEnhanced/stargazers"><img src="https://custom-icon-badges.demolab.com/github/stars/arichornlover/uYouEnhanced?logo=star&logoColor=white&color=%23e81e8a&label=Stars" alt="Stars Badge"></img></a>
26-
<a href="https://github.com/arichornlover/uYouEnhanced/network/members"><img src="https://custom-icon-badges.demolab.com/github/forks/arichornlover/uYouEnhanced?logo=github&logoColor=white&color=%23e81e8a&label=Forks"></a>
25+
<a href="https://github.com/arichornlover/uYouEnhanced/stargazers"><img src="https://custom-icon-badges.demolab.com/github/stars/arichornlover/uYouEnhanced?style=flat&logo=star&logoColor=white&color=%23e81e8a&label=Stars" alt="Stars Badge"></img></a>
26+
<a href="https://github.com/arichornlover/uYouEnhanced/network/members"><img src="https://custom-icon-badges.demolab.com/github/forks/arichornlover/uYouEnhanced?style=flat&logo=github&logoColor=white&color=%23e81e8a&label=Forks"></a>
2727
</p>
2828

2929
# Table of Contents
@@ -278,39 +278,39 @@
278278

279279
- My official AltStore repo: https://therealfoxster.github.io/altsource-viewer/view/?source=https://raw.githubusercontent.com/arichornlover/arichornlover.github.io/main/apps.json
280280

281-
- [Open in AltStore (v19.01.1-3.0.1)](http://tinyurl.com/mwu6j462) - It will take a while to install because AltStore needs to download the IPA first.
281+
- [Open in AltStore (v19.04.3-3.0.1)](http://tinyurl.com/5n6hxnz8) - It will take a while to install because AltStore needs to download the IPA first.
282282

283-
- Version info: _(last update: Jan 11 2024)_
283+
- Version info: _(last update: Jan 31 2024)_
284284

285285
<details>
286286
<summary>Expand ℹ️</summary>
287287

288288
| **Tweaks/App** | **Developer** | **Version** | **Open source** |
289289
| - | - | :-: | :-: |
290-
| **YouTube** | Google Inc | 19.01.1 | ✖︎ |
290+
| **YouTube** | Google Inc | 19.04.3 | ✖︎ |
291291
| [uYou](https://github.com/MiRO92/uYou-for-YouTube) | [MiRO92](https://twitter.com/miro92) | 3.0.1 | ✖︎ |
292292
| **Open in YouTube** | [CokePokes](https://github.com/CokePokes) | 1.2 | [✔︎](https://github.com/CokePokes/YoutubeExtensions) |
293293
| **iSponsorBlock** | [Galactic-Dev](https://github.com/Galactic-Dev) | 1.2.1 | [✔︎](https://github.com/Galactic-Dev/iSponsorBlock) |
294294
| **BigYTMiniPlayer** | [Galactic-Dev](https://github.com/Galactic-Dev) | 1.0-1 | [✔︎](https://github.com/Galactic-Dev/BigYTMiniPlayer) |
295295
| **YTNoHoverCards** | [level3tjg](https://twitter.com/level3tjg) | 0.0.3 | [✔︎](https://github.com/level3tjg/YTNoHoverCards) |
296296
| **YTMiniplayerEnabler** | [level3tjg](https://twitter.com/level3tjg) | 0.0.2 | [✔︎](https://github.com/level3tjg/YTMiniplayerEnabler) |
297-
| **DontEatMyContent** | [therealFoxster](https://github.com/therealFoxster) | 1.1.2 | [✔︎](https://github.com/therealFoxster/DontEatMyContent) |
297+
| **DontEatMyContent** | [therealFoxster](https://github.com/therealFoxster) | 1.1.3 | [✔︎](https://github.com/therealFoxster/DontEatMyContent) |
298298
| **YTSpeed** | [Lyvendia](https://github.com/Lyvendia) | 1.0.1 | [✔︎](https://github.com/Lyvendia/YTSpeed) |
299299
| **YTCastConfirm** | [JamieBerghmans](https://github.com/JamieBerghmans) | 1.0.0 | [✔︎](https://github.com/JamieBerghmans/YTCastConfirm) |
300300
| **Alderis Color Picker** | [HASHBANG Productions](https://github.com/hbang) | 1.2 | [✔︎](https://github.com/hbang/Alderis) |
301-
| **YTUHD** | [PoomSmart](https://twitter.com/poomsmart) | 1.4.0-1 | [✔︎](https://github.com/PoomSmart/YTUHD) |
302-
| **YouPiP** | [PoomSmart](https://twitter.com/poomsmart) | 1.8.1 | [✔︎](https://github.com/PoomSmart/YouPiP) |
301+
| **YTUHD** | [PoomSmart](https://twitter.com/poomsmart) | 1.4.2 | [✔︎](https://github.com/PoomSmart/YTUHD) |
302+
| **YouPiP** | [PoomSmart](https://twitter.com/poomsmart) | 1.8.2 | [✔︎](https://github.com/PoomSmart/YouPiP) |
303303
| **IAmYouTube** | [PoomSmart](https://twitter.com/poomsmart) | 1.2.0 | [✔︎](https://github.com/PoomSmart/IAmYouTube) |
304-
| **YTABConfig** | [PoomSmart](https://twitter.com/poomsmart) | 1.5.0-3 | [✔︎](https://github.com/PoomSmart/YTABConfig) |
304+
| **YTABConfig** | [PoomSmart](https://twitter.com/poomsmart) | 1.5.1 | [✔︎](https://github.com/PoomSmart/YTABConfig) |
305305
| **YTReExplore** | [PoomSmart](https://twitter.com/poomsmart) | 1.0.2 | [✔︎](https://github.com/PoomSmart/YTReExplore) |
306306
| **NoYTPremium** | [PoomSmart](https://twitter.com/poomsmart) | 1.0.4 | [✔︎](https://github.com/PoomSmart/NoYTPremium) |
307307
| **YTNoPaidPromo** | [PoomSmart](https://twitter.com/poomsmart) | 1.0.0 | [✔︎](https://github.com/PoomSmart/YTNoPaidPromo) |
308308
| **YouRememberCaption** | [PoomSmart](https://twitter.com/poomsmart) | 1.0.0 | [✔︎](https://poomsmart.github.io/repo/depictions/youremembercaption.html) |
309-
| **Return YouTube Dislike** | [PoomSmart](https://twitter.com/poomsmart) | 1.11.4 | [✔︎](https://github.com/PoomSmart/Return-YouTube-Dislikes) |
309+
| **Return YouTube Dislike** | [PoomSmart](https://twitter.com/poomsmart) | 1.11.6 | [✔︎](https://github.com/PoomSmart/Return-YouTube-Dislikes) |
310310
| **YouMute** | [PoomSmart](https://twitter.com/poomsmart) | 1.2.1-3 | [✔︎](https://github.com/PoomSmart/YouMute) |
311311
| **YouQuality** | [PoomSmart](https://twitter.com/poomsmart) | 1.1.4-2 | [✔︎](https://github.com/PoomSmart/YouQuality) |
312-
| **YTVideoOverlay** | [PoomSmart](https://twitter.com/poomsmart) | 1.1.1-2 | [✔︎](https://github.com/PoomSmart/YTVideoOverlay) |
313-
| **YTHoldForSpeed** | [joshuaseltzer](https://github.com/joshuaseltzer) | 1.0.8 | [✔︎](https://github.com/joshuaseltzer/YTHoldForSpeed) |
312+
| **YTVideoOverlay** | [PoomSmart](https://twitter.com/poomsmart) | 1.1.4 | [✔︎](https://github.com/PoomSmart/YTVideoOverlay) |
313+
| **YTHoldForSpeed** | [joshuaseltzer](https://github.com/joshuaseltzer) | 1.2.0 | [✔︎](https://github.com/joshuaseltzer/YTHoldForSpeed) |
314314
| **LowContrastMode** | [arichornlover](https://github.com/arichornlover) | 1.5.2 | [✔︎](https://github.com/arichornlover/YTLowContrastMode) |
315315

316316
</details>

Source/uYouPlus.xm

Lines changed: 25 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -501,53 +501,34 @@ static NSString *accessGroupID() {
501501
// YTSpeed - https://github.com/Lyvendia/YTSpeed
502502
%group gYTSpeed
503503
%hook YTVarispeedSwitchController
504-
- (instancetype)init {
505-
if ((self = %orig)) {
506-
const int size = 17;
504+
- (id)init {
505+
id result = %orig;
506+
507+
const int size = 17;
507508
float speeds[] = {0.25, 0.5, 0.75, 1.0, 1.25, 1.5, 1.75, 2.0, 2.25, 2.5, 2.75, 3.0, 3.25, 3.5, 3.75, 4.0, 5.0};
508509
id varispeedSwitchControllerOptions[size];
509510

510-
for (int i = 0; i < size; ++i) {
511-
id title = [NSString stringWithFormat:@"%.2fx", speeds[i]];
512-
varispeedSwitchControllerOptions[i] = [[%c(YTVarispeedSwitchControllerOption) alloc] initWithTitle:title rate:speeds[i]];
513-
}
511+
for (int i = 0; i < size; ++i) {
512+
id title = [NSString stringWithFormat:@"%.2fx", speeds[i]];
513+
varispeedSwitchControllerOptions[i] = [[%c(YTVarispeedSwitchControllerOption) alloc] initWithTitle:title rate:speeds[i]];
514+
}
514515

515-
NSUInteger count = sizeof(varispeedSwitchControllerOptions) / sizeof(id);
516-
NSArray *varispeedArray = [NSArray arrayWithObjects:varispeedSwitchControllerOptions count:count];
517-
MSHookIvar<NSArray *>(self, "_options") = varispeedArray;
518-
}
519-
return self;
520-
}
521-
%end
516+
NSUInteger count = sizeof(varispeedSwitchControllerOptions) / sizeof(id);
517+
NSArray *varispeedArray = [NSArray arrayWithObjects:varispeedSwitchControllerOptions count:count];
518+
MSHookIvar<NSArray *>(self, "_options") = varispeedArray;
522519

523-
%hook YTLocalPlaybackController
524-
- (instancetype)initWithParentResponder:(id)parentResponder overlayFactory:(id)overlayFactory playerView:(id)playerView playbackControllerDelegate:(id)playbackControllerDelegate viewportSizeProvider:(id)viewportSizeProvider shouldDelayAdsPlaybackCoordinatorCreation:(BOOL)shouldDelayAdsPlaybackCoordinatorCreation {
525-
float savedRate = [[NSUserDefaults standardUserDefaults] floatForKey:@"YoutubeSpeed_PlaybackRate"];
526-
if ((self = %orig)) {
527-
MSHookIvar<float>(self, "_restoredPlaybackRate") = savedRate == 0 ? DEFAULT_RATE : savedRate;
528-
}
529-
return self;
530-
}
531-
- (void)setPlaybackRate:(float)rate {
532-
%orig;
533-
[[NSUserDefaults standardUserDefaults] setFloat: rate forKey:@"YoutubeSpeed_PlaybackRate"];
520+
return result;
534521
}
535522
%end
536523

537524
%hook MLHAMQueuePlayer
538-
- (instancetype)initWithStickySettings:(id)stickySettings playerViewProvider:(id)playerViewProvider {
539-
id result = %orig;
540-
float savedRate = [[NSUserDefaults standardUserDefaults] floatForKey:@"YoutubeSpeed_PlaybackRate"];
541-
[self setRate: savedRate == 0 ? DEFAULT_RATE : savedRate];
542-
return result;
543-
}
544525
- (void)setRate:(float)rate {
545-
MSHookIvar<float>(self, "_rate") = rate;
526+
MSHookIvar<float>(self, "_rate") = rate;
546527
MSHookIvar<float>(self, "_preferredRate") = rate;
547528

548529
id player = MSHookIvar<HAMPlayerInternal *>(self, "_player");
549530
[player setRate: rate];
550-
531+
551532
id stickySettings = MSHookIvar<MLPlayerStickySettings *>(self, "_stickySettings");
552533
[stickySettings setRate: rate];
553534

@@ -557,6 +538,13 @@ static NSString *accessGroupID() {
557538
[singleVideoController playerRateDidChange: rate];
558539
}
559540
%end
541+
542+
%hook YTPlayerViewController
543+
%property (nonatomic, assign) float playbackRate;
544+
- (void)singleVideo:(id)video playbackRateDidChange:(float)rate {
545+
%orig;
546+
}
547+
%end
560548
%end
561549

562550
# pragma mark - uYouPlus
@@ -654,22 +642,13 @@ static NSString *accessGroupID() {
654642
%end
655643

656644
// Hide Channel Watermark
657-
%hook YTMainAppVideoPlayerOverlayView
658-
- (BOOL)isWatermarkEnabled {
659-
if (IS_ENABLED(@"hideChannelWatermark_enabled")) {
660-
return NO;
661-
}
662-
return %orig;
663-
}
664-
- (void)setFeaturedChannelWatermarkImageView:(id)imageView {
665-
if (IS_ENABLED(@"hideChannelWatermark_enabled")) {
666-
return;
667-
}
668-
%orig(imageView);
645+
%hook YTColdConfig
646+
- (BOOL)iosEnableFeaturedChannelWatermarkOverlayFix {
647+
return IS_ENABLED(@"hideChannelWatermark_enabled") ? NO : %orig;
669648
}
670649
%end
671650

672-
// Hide Channel Watermark (for Backwards Compatibility)
651+
// Hide Channel Watermark (for Old YouTube Versions / Backwards Compatibility)
673652
%hook YTAnnotationsViewController
674653
- (void)loadFeaturedChannelWatermark {
675654
if (IS_ENABLED(@"hideChannelWatermark_enabled")) {}

Tweaks/PSHeader

Submodule PSHeader updated 1 file

0 commit comments

Comments
 (0)