Browse Source

Initial realease

will add a preference pane before submitting to cydia.
master
gilshahar7 7 years ago
parent
commit
c57a48dd76
5 changed files with 76 additions and 0 deletions
  1. +14
    -0
      Makefile
  2. +1
    -0
      NotifyMusic.plist
  3. +52
    -0
      Tweak.xm
  4. BIN
      com.gilshahar7.notifymusic_0.0.1-29_iphoneos-arm.deb
  5. +9
    -0
      control

+ 14
- 0
Makefile View File

@@ -0,0 +1,14 @@
ARCHS = armv7 arm64
VALID_ARCHS = armv7 armv7s arm64

include theos/makefiles/common.mk

TWEAK_NAME = NotifyMusic
NotifyMusic_FILES = Tweak.xm
NotifyMusic_FRAMEWORKS = CoreTelephony AudioToolbox UIKit
NotifyMusic_LIBRARIES = bulletin

include $(THEOS_MAKE_PATH)/tweak.mk

after-install::
install.exec "killall -9 SpringBoard"

+ 1
- 0
NotifyMusic.plist View File

@@ -0,0 +1 @@
{ Filter = { Bundles = ( "com.apple.springboard" ); }; }

+ 52
- 0
Tweak.xm View File

@@ -0,0 +1,52 @@
#import <AudioToolbox/AudioToolbox.h>
#import <AudioToolbox/AudioServices.h>
#import <UIKit/UIKit.h>

@interface MPUNowPlayingMetadata
@property (nonatomic,readonly) NSString * title;
@property (nonatomic,readonly) NSString * artist;
@end

@interface MPUNowPlayingController
@property bool isPlaying;
@property (nonatomic,readonly) NSString * nowPlayingAppDisplayID;
@property (nonatomic,readonly) MPUNowPlayingMetadata * currentNowPlayingMetadata;
@end


@interface JBBulletinManager : NSObject
+(id)sharedInstance;
-(id)showBulletinWithTitle:(NSString *)title message:(NSString *)message bundleID:(NSString *)bundleID;
-(id)showBulletinWithTitle:(NSString *)title message:(NSString *)message bundleID:(NSString *)bundleID soundPath:(NSString *)soundPath;
-(id)showBulletinWithTitle:(NSString *)title message:(NSString *)message bundleID:(NSString *)bundleID soundID:(int)inSoundID;
-(id)showBulletinWithTitle:(NSString *)title message:(NSString *)message overrideBundleImage:(UIImage *)overridBundleImage;
-(id)showBulletinWithTitle:(NSString *)title message:(NSString *)message overrideBundleImage:(UIImage *)overridBundleImage soundPath:(NSString *)soundPath;
-(id)showBulletinWithTitle:(NSString *)title message:(NSString *)message overridBundleImage:(UIImage *)overridBundleImage soundID:(int)inSoundID;
-(id)showBulletinWithTitle:(NSString *)title message:(NSString *)message bundleID:(NSString *)bundleID hasSound:(BOOL)hasSound soundID:(int)soundID vibrateMode:(int)vibrate soundPath:(NSString *)soundPath attachmentImage:(UIImage *)attachmentImage overrideBundleImage:(UIImage *)overrideBundleImage;
@end



%hook MPUNowPlayingController
static NSString *cachedTitle;
-(void)_updateCurrentNowPlaying{
%orig;


double delayInSeconds = 0.5;
dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, (int64_t)(delayInSeconds * NSEC_PER_SEC));
dispatch_after(popTime, dispatch_get_main_queue(), ^(void){

if(self.isPlaying && ([self.nowPlayingAppDisplayID isEqualToString:@"com.apple.Music"] || [self.nowPlayingAppDisplayID isEqualToString:@"com.spotify.client"]) && ![cachedTitle isEqualToString:self.currentNowPlayingMetadata.title]){

cachedTitle = [self.currentNowPlayingMetadata.title copy];


[[objc_getClass("JBBulletinManager") sharedInstance] showBulletinWithTitle:self.currentNowPlayingMetadata.title message:self.currentNowPlayingMetadata.artist bundleID:self.nowPlayingAppDisplayID];


}

});
}
%end

BIN
com.gilshahar7.notifymusic_0.0.1-29_iphoneos-arm.deb View File


+ 9
- 0
control View File

@@ -0,0 +1,9 @@
Package: com.gilshahar7.notifymusic
Name: NotifyMusic
Depends: mobilesubstrate, net.limneos.libbulletin
Version: 0.0.1
Architecture: iphoneos-arm
Description: An awesome MobileSubstrate tweak!
Maintainer: gilshahar7
Author: gilshahar7
Section: Tweaks

Loading…
Cancel
Save