Skip to content
This repository has been archived by the owner on Jan 28, 2022. It is now read-only.

Commit

Permalink
Initial release / v1.0.0
Browse files Browse the repository at this point in the history
  • Loading branch information
JeffResc committed May 21, 2020
0 parents commit 796b8d2
Show file tree
Hide file tree
Showing 30 changed files with 1,120 additions and 0 deletions.
18 changes: 18 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
PACKAGE_VERSION = 1.0.0
DEBUG = 0
ARCHS = armv7 arm64 arm64e
include $(THEOS)/makefiles/common.mk
INSTALL_TARGET_PROCESSES = SpringBoard

TWEAK_NAME = SongShare
SongShare_FILES = SongShare.xm
SongShare_FRAMEWORKS = CoreServices
SongShare_PRIVATE_FRAMEWORKS = UIKitCore
SongShare_LIBRARIES = MobileGestalt
SongShare_CFLAGS = -fobjc-arc
SongShare_EXTRA_FRAMEWORKS += Cephei

include $(THEOS_MAKE_PATH)/tweak.mk
SUBPROJECTS += songshareprefs
SUBPROJECTS += songsharegui
include $(THEOS_MAKE_PATH)/aggregate.mk
37 changes: 37 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
[![Icon](https://github.com/JeffResc/SongShare/raw/master/songshareprefs/Resources/icon%402x.png)](#)
# SongShare
Easily share songs with friends!

[![Banner](https://github.com/JeffResc/SongShare/raw/master/_assets/Banner.png)](#)

This tweak should be compatible with iOS 10 - iOS 13, but was only tested on iOS 13.3.
Please report any issues to the [GitHub issues section](https://github.com/JeffResc/SongShare/issues) if it does not work on one of these versions.

## About
SongShare is an iOS tweak that will automatically detect when you’ve copied a music URL to your clipboard and will automatically convert them to a [SongLink](https://odesli.co/) (or [SongWhip](https://songwhip.com/)). This allows you to easily share this new link with friends, who will be able to open the link and choose their streaming service of choice to open the song (or album) in.

## Supported Platforms
| Platform | SongLink (Default) | SongWhip |
|---------------------|--------------------|----------|
| Amazon/Amazon Music || |
| Apple Music |||
| Deezer |||
| Google Play |||
| Napster |||
| iTunes |||
| SoundCloud |||
| Spinrilla |||
| Spotify |||
| Tidal |||
| Yandex |||
| YouTube |||
| YouTube Music |||

## Settings
The available settings allow you to accept a prompt before the new link is copied, send a notification after the new link has been copied, only convert links while connected to Wi-Fi, and keep the original link in parentheses alongside the new link.

[Download SongShare for Free from the Dynastic Repo](https://repo.dynastic.co/package/dev.jeffresc.songshare)

# Changelog
## v1.0.0
Initial release
35 changes: 35 additions & 0 deletions SongShare.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
#import <UIKit/UIKit.h>

typedef enum {
ReachableViaWiFi
} ConnectionType;

@interface Reachability
+(id)reachabilityForInternetConnection; // iOS 9 - 13.1.3
-(long long)currentReachabilityStatus; // iOS 9 - 13.1.3
@end

@interface UIPasteboard (SongShare)
+(id)generalPasteboard; // iOS 4 - 11.1.2 & iOS 12.1 - 13.1.3
-(BOOL)hasStrings; // iOS 10.1.1 - 11.1.2 & iOS 12.1 - 13.1.3
-(NSArray *)strings; // iOS 6 - 11.1.2 & iOS 12.1 - 13.1.3
-(BOOL)hasURLs; // iOS 10.1.1 - 11.1.2 & iOS 12.1 - 13.1.3
-(NSArray *)URLs; // iOS 6 - 11.1.2 & iOS 12.1 - 13.1.3
@end

@interface SongShare : NSObject
+(NSMutableArray*)getEnabledHosts;
+(bool)tweakIsActive;
+(void)copyNewStrToClipboard:(NSString*)newStr;
+(void)runAPICall:(NSURL*)nsURL;
+(void)validateURL:(id)url;
+(void)addPasteboardObserver;
+(void)wholeStringParser:(NSString*)urlStr;
@end

// Thanks! - https://stackoverflow.com/a/3532264/5871303
#define UIColorFromRGB(rgbValue) [UIColor colorWithRed:((float)((rgbValue & 0xFF0000) >> 16))/255.0 green:((float)((rgbValue & 0xFF00) >> 8))/255.0 blue:((float)(rgbValue & 0xFF))/255.0 alpha:1.0]

@interface CPNotification : NSObject // iOS 10
+(void)showAlertWithTitle:(NSString*)title message:(NSString*)message userInfo:(NSDictionary*)userInfo badgeCount:(int)badgeCount soundName:(NSString*)soundName delay:(double)delay repeats:(BOOL)repeats bundleId:(NSString*)bundleId;
@end
1 change: 1 addition & 0 deletions SongShare.plist
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{ Filter = { Bundles = ( "com.apple.springboard", "com.apple.UIKit" ); }; }
Loading

0 comments on commit 796b8d2

Please sign in to comment.