therealfoxster / donteatmycontent Goto Github PK
View Code? Open in Web Editor NEWPrevent the notch/Dynamic Island from munching on 2:1 video content in YouTube
License: MIT License
Prevent the notch/Dynamic Island from munching on 2:1 video content in YouTube
License: MIT License
Hi again,
Just wanted to also put this here so you were aware, there is a weird jittery/glitchy behavior when using DontEatMyContent in fullscreen.
It's very possible that this is an incompatibility with UYouPlus++'s "Disable Pinch to Zoom" function, as when disabled, the behavior corrects itself.
Not sure if there's anything on your side to fix, but just figured I'd let you know of it. I'll also report this on their repo and see what they have to say.
Thanks again.
No cambia de video automáticamente cuando termina de reproducir
Version: 1.1.0
Device: iPhone 15
Video: https://youtu.be/xminXUvDi4g
Hello theRealFoxster! Was wondering if you want to add an option that hides the channel watermark. This can be great for DontEatMyContent if the watermark can be an annoyance and I already know the tweaks from uYouPlus/uYouEnhanced have that option but sadly they no longer work on the latest YouTube version because of the removal of YTAnnotationsViewController
and I did try to use stuff like YTIElementRenderer
but when I did that it broke the tapping functionality in the video player if a video had a watermark. But then I tried YTMainAppVideoPlayerOverlayView
and it worked but if you went into a different app and hop back on YouTube it will reappear. So what are your thoughts on this option?
%hook YTAnnotationsViewController // Deprecated - YouTube v18.30+
- (void)loadFeaturedChannelWatermark {
if (IsEnabled(@"hideChannelWatermark_enabled")) {}
else { return %orig; }
}
%end
In a recent update to Youtube, a zoom feature was added.
You can pinch with two fingers to enable it
In YouUPlus on ios with the DontEatMyContent tweak enables it breaks the zoom functionality
So I recently upgraded you plus and before I had those setting disabled and enabled to see the difference now when I do so I no longer see the difference
On iphone14pm, if playing a clip, dynamic island always works while watching the clip. And if it's on YouTube, you won't be able to click to watch the clip via dynamic island.
YouTube changed the behaviour of their settings panel in 19.03.2 which leads to crashes when using incompatible tweaks. Some developers (mainly user:poomsmart) published their way of fixing the issue on their repositories, maybe it helps to look into it.
Thanks in advance, have a good one!
#4 already exists, but no information was given about what that issue actually was and then it was closed.
On the iPhone 14 Pro the Dynamic Island still cuts into the video. I have sideloaded the tweak with uYouPlus, the provided AltStore IPA, and injecting it manually with no success.
I've tried to add the latest release (1.0.8) to YouTube 18.19.1 with Sideloadly which leads to instant app crashes during launch.
For context, it's not YouTube vanilla as there are some other tweaks injected as well, see the list of other tweaks here on AppDB.
Hi,
Recently found that a YouTube update internally made it so that ambient mode shows on the sides of videos that are widescreen, which looks fine wit DontEatMyContent disabled, but with it enabled, it causes this effect:
On the tops and bottoms, there are black bars that are not the colors of the ambient mode as it seems. Maybe a feature to enable or disable the ambient mode behavior during playback would help to resolve the issue? I personally am not sure if it'd look better with ambient mode on the tops and bottoms or not, instead of all black around.
Thanks.
hello therealFoxstee! I recently tried using this for sideloading in my version of uYouPlus!(forked) but I had problems with it and tried building the ipa 8 times with it and all it says is this error from the tweak.
error: fell off the face of the planet when we found a '}'
I did try to fix it but removing a few bits of code will mess your wonderful tweak. I tried implementing it because my iPhone does play content in the notch.
and here’s the code I tried to implement. And it is a bit modified so it’ll work as a toggleable option in settings.
%group gDontEatMyContent
%hook YTPlayerViewController
- (void)viewDidAppear:(BOOL)animated {
YTPlayerView *playerView = [self playerView];
UIView *renderingViewContainer = MSHookIvar<UIView *>(playerView, "_renderingViewContainer");
renderingView = [playerView renderingView];
CGFloat constant = 23; // Make renderingView a bit larger since safe area has sizeable margins from the notch and side borders; tested on iPhone 13 mini
widthConstraint = [renderingView.widthAnchor constraintEqualToAnchor:renderingViewContainer.safeAreaLayoutGuide.widthAnchor constant:constant];
heightConstraint = [renderingView.heightAnchor constraintEqualToAnchor:renderingViewContainer.safeAreaLayoutGuide.heightAnchor constant:constant];
centerXConstraint = [renderingView.centerXAnchor constraintEqualToAnchor:renderingViewContainer.centerXAnchor];
centerYConstraint = [renderingView.centerYAnchor constraintEqualToAnchor:renderingViewContainer.centerYAnchor];
// playerView.backgroundColor = [UIColor greenColor];
// renderingViewContainer.backgroundColor = [UIColor redColor];
// renderingView.backgroundColor = [UIColor blueColor];
YTMainAppVideoPlayerOverlayViewController *activeVideoPlayerOverlay = [self activeVideoPlayerOverlay];
// Must check class since YTInlineMutedPlaybackPlayerOverlayViewController doesn't have -(BOOL)isFullscreen
if ([NSStringFromClass([activeVideoPlayerOverlay class]) isEqualToString:@"YTMainAppVideoPlayerOverlayViewController"] && [activeVideoPlayerOverlay isFullscreen]) {
activate();
} else {
center();
}
%orig(animated);
}
- (void)didPressToggleFullscreen {
YTMainAppVideoPlayerOverlayViewController *activeVideoPlayerOverlay = [self activeVideoPlayerOverlay];
if (![activeVideoPlayerOverlay isFullscreen]) // Entering fullscreen
activate();
else // Exiting fullscreen
deactivate();
%orig;
}
- (void)didSwipeToEnterFullscreen {
%orig; activate();
}
- (void)didSwipeToExitFullscreen {
%orig; deactivate();
}
- (void)singleVideo:(id)arg1 aspectRatioDidChange:(CGFloat)arg2 {
aspectRatio = arg2;
if (aspectRatio == 0.0) {
// App backgrounded
} else if (aspectRatio < THRESHOLD) {
deactivate();
} else {
activate();
}
%orig(arg1, arg2);
}
%end
%hook YTVideoZoomOverlayView
- (void)didRecognizePinch:(UIPinchGestureRecognizer *)pinchGestureRecognizer {
// %log((CGFloat) [pinchGestureRecognizer scale], (CGFloat) [pinchGestureRecognizer velocity]);
if ([pinchGestureRecognizer velocity] <= 0.0) { // >>Zoom out<<
zoomedToFill = false;
activate();
} else if ([pinchGestureRecognizer velocity] > 0.0) { // <<Zoom in>>
zoomedToFill = true;
deactivate();
}
%orig(pinchGestureRecognizer);
}
- (void)flashAndHideSnapIndicator {}
// https://github.com/lgariv/UniZoom/blob/master/Tweak.xm
- (void)setSnapIndicatorVisible:(bool)arg1 {
%orig(NO);
}
%end
%end
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.