All Projects → alexjohnj → Spotijack

alexjohnj / Spotijack

Licence: mit
A Mac utility for recording songs in Spotify

Programming Languages

swift
15916 projects
applescript
352 projects

Labels

Projects that are alternatives of or similar to Spotijack

Clone Wars
100+ open-source clones of popular sites like Airbnb, Amazon, Instagram, Netflix, Tiktok, Spotify, Whatsapp, Youtube etc. See source code, demo links, tech stack, github stars.
Stars: ✭ 12,604 (+50316%)
Mutual labels:  spotify
Pytify
A CLI application for controlling Spotify
Stars: ✭ 736 (+2844%)
Mutual labels:  spotify
Spotifyapi Net
🔉 A Client for the Spotify Web API, written in C#/.NET
Stars: ✭ 887 (+3448%)
Mutual labels:  spotify
Spotify Adblock Linux
Spotify adblocker for Linux
Stars: ✭ 641 (+2464%)
Mutual labels:  spotify
Emagnet
Automated hacking tool that will find leaked databases with 97.1% accurate to grab mail + password together from recent uploads from https://pastebin.com. Bruteforce support for spotify accounts, instagram accounts, ssh servers, microsoft rdp clients and gmail accounts
Stars: ✭ 688 (+2652%)
Mutual labels:  spotify
Spot
Native Spotify client for the GNOME desktop
Stars: ✭ 762 (+2948%)
Mutual labels:  spotify
Lyricfier
a Spotify Lyrics alternative app | New updates at https://github.com/emilioastarita/lyricfier2 (a faster version in golang)
Stars: ✭ 598 (+2292%)
Mutual labels:  spotify
Alltomp3 App
Download and Convert YouTube, SoundCloud & Spotify in MP3 with full tags (title, artist, genre, cover, lyrics 🔥)
Stars: ✭ 920 (+3580%)
Mutual labels:  spotify
Spicetify
Spice up your Spotify client
Stars: ✭ 693 (+2672%)
Mutual labels:  spotify
Alfred Spotify Mini Player
🎵🎩 Alfred workflow to control your Spotify library at your fingertips
Stars: ✭ 823 (+3192%)
Mutual labels:  spotify
Rpi Audio Receiver
Raspberry Pi Audio Receiver with Bluetooth A2DP, AirPlay, UPnP and Spotify Connect
Stars: ✭ 650 (+2500%)
Mutual labels:  spotify
Spark
🎨 An Android library to create gradient animation like Instagram&Spotify
Stars: ✭ 669 (+2576%)
Mutual labels:  spotify
Iris
Discover, explore and manage your music library across multiple sources with this beautiful web-based interface. Iris is a Mopidy frontend extension.
Stars: ✭ 776 (+3004%)
Mutual labels:  spotify
Spicetify Cli
Commandline tool to customize Spotify client. Supports Windows, MacOS and Linux.
Stars: ✭ 9,316 (+37164%)
Mutual labels:  spotify
Spotifyscrape
Export Spotify Playlists to Google Play Music All Access
Stars: ✭ 16 (-36%)
Mutual labels:  spotify
Spotify Downloader
Download your Spotify playlists and songs along with album art and metadata (from YouTube if a match is found).
Stars: ✭ 6,957 (+27728%)
Mutual labels:  spotify
Mopidy Spotify
Mopidy extension for playing music from Spotify
Stars: ✭ 756 (+2924%)
Mutual labels:  spotify
Spy Spotify
🎤 Records Spotify to mp3 without ads and adds media tags to the files 🎵
Stars: ✭ 929 (+3616%)
Mutual labels:  spotify
Listentogether
Grab some friends, connect your Spotify account, and listen to music in sync with each other.
Stars: ✭ 19 (-24%)
Mutual labels:  spotify
Smd
Spotify Music Downloader
Stars: ✭ 822 (+3188%)
Mutual labels:  spotify

Spotijack

⚠️ Spotijack will not work on macOS 10.15 (Catalina) because Audio Hijack Pro no longer runs. There is an experimental build on this branch that removes the need for Audio Hijack Pro.

Spotijack is a macOS application that automates recording songs playing in Spotify using Audio Hijack Pro. When Spotify changes track, Spotijack starts a new recording in Audio Hijack Pro and updates the recording metadata.

screenshot

Piracy

This is a fun side-project I made which I've used to develop my skills (AppleScript, some advanced Objective-C and Swift, unit testing). I've published it to showcase my development skills. I'm assuming nobody's going to actually use Spotijack because there are far more efficient ways of getting music. I'm not publishing binaries to discourage people from using Spotijack.

Requirements

Spotijack requires macOS 10.14. You need a licensed copy of Audio Hijack Pro (version 2, not 3) and any recent version of Spotify. You (probably) need a premium Spotify account since Spotijack makes no attempt to distinguish between adverts and songs.

Spotijack has only been tested using the instant-on plugin for Audio Hijack Pro. You'll also need a copy of Audio Hijack 3 to get the plugin.

Usage

On first launch, Spotijack will handle creating a recording session in Audio Hijack Pro as well as setting up Audio Hijack Pro and Spotify for scripting. All you need to do is start playing a song in Spotify and hit the record button.

Building

Spotijack uses Carthage to manage dependencies. Once they're set up, it should build cleanly using Xcode 10. You should do a release build because the optimisations provide a nice reduction in CPU usage.

Implementation

Spotijack is the perfect example of an over engineered side project. Spotijack is split into two parts, the GUI application Spotijack and the library LibSpotijack.

LibSpotijack contains the core recording and application management logic. It features a suite of unit tests (unit, not integration!) and, in theory, can be used in other applications. Spotijack is really just a GUI wrapper around LibSpotijack.

LibSpotijack doesn't do anything fancy to track recordings. It communicates with Spotify and Audio Hijack Pro using the ScriptingBridge framework which is so much fun to work with in Swift (or Objective-C for that matter). LibSpotijack just polls Spotify to see if the current track has changed and if it has, it starts a new recording in Audio Hijack Pro. Nothing fancy.

Old Versions

Originally Spotijack was just a simple AppleScript I wrote one afternoon. Over the years however, I've rewritten Spotijack as a native Cocoa application using the ScriptingBridge framework.

I have included the original AppleScript versions in the Legacy directory. There's a changelog available in the changelog.md file. It's pretty sparse since I didn't consider releasing this until 2015.

License

Spotijack is licensed under the MIT license.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].