Shortcuts for Archiving Apple Music Playlists

Jacob Tender Playlists

I’m sort of a nut about metadata and archiving my digital stuff. I also like lists and enjoy listening to music. It’s all of those things that led me to my ongoing bi-monthly playlist project, where I collect the songs that strike me during a set period of time. These are time-capsules I’ve rather enjoyed making and will hopefully enjoy revisiting years down the road.

I make my lists on Apple Music, which allows me to share them on my profile with friends that follow me. What’s great about this platform, and I’m sure Spotify is the same, is that I can add a title, description and artwork specific to the playlist that is visible to all that come across it. I’m very particular about the sequencing of my playlists and equally as anal-retentive about the consistency of the metadata. These are parts of a set, after all.

Screen Shot 2019-01-03 at 1.00.13 AM.png

So, I have this set of playlists that are just how I like them and visible to other Apple Music subscribers. Now what? Well, as with most things, I’d like to catalog them in a secondary location. I want a text-based backup, hosted on my blog here. That seemed easy enough when I started the task, but I quickly realized that hand typing each track name and artist was not a chore I wanted to undertake, especially not more than once. Cue automation!

List From Playlist Shortcut

This Shortcut asks me to choose a Playlist from a list, then runs two nested loops that grabs the title and artist name for each track and stores them in two variables. These variables are used in a text area with some light formatting to create a line of text with the pertinent information. The shortcut then combines the output of each outer loop into a single list. This is copied to the clipboard for pasting into my CMS from my iPhone or Mac.

Here’s an example of the output:

"Mr. Moonlight" - The Beatles
"Fell Asleep With a Vision" - The Spirit Of The Beehive
"The Leanover" - Life Without Buildings
"Nowhere2go" - Earl Sweatshirt
"Heaven" - Charly Bliss
"Archie, Marry Me" - Alvvays
"I Always Wanna Die (Sometimes)" - The 1975
"Left and Leaving" - The Weakerthans
"Pretty Good" - John Prine
"Revolution Lover" - Left at London
"Hurt" - Johnny Cash
"Ain't No Sunshine" - Bill Withers
"The Gold" - Manchester Orchestra & Phoebe Bridgers
"I Am a Man of Constant Sorrow" - The Soggy Bottom Boys
"I Like America & America Likes Me" - The 1975
"Let Me Down Slowly" - Alec Benjamin
"In My Dream" - The Action
"Too Late to Turn Back Now" - Cornelius Brothers & Sister Rose
"Never My Love" - The Association
"What Is Life" - George Harrison

Great! List done. Now I’d like to archive the artwork as well, but I don’t have all of the images used in my Camera Roll any more. Those that I do have are full images, not cropped to the proper proportions. I could go through the effort of tracking down the images on Unsplashed again and manually cropping them, but that’s even more time intensive than the text was. No problem, I’ll just have shortcuts pull them for me like I did the titles and artist names.

Image From Playlist

Nope! ‘The Get Details of Music’ action can get a lot, but it can only touch the metadata assigned to the music itself, not the playlist. For this task, I had to look to the web and use some RegEx magic.

Note: This Shortcut seems to work on all user-generated playlists, but fails on some Apple-curated ones. Essentials and Deep Cuts can be grabbed, but others will crash the shortcut. I have not investigated why and I make no promises that I will.

Admittedly, this Shortcut could very easily be refined, however I managed to get the result I needed early in testing, so quit before I lost a few hours to HTML stripping.

We start in the Apple Music app, sharing the playlist we want the artwork for. Choosing the Photo From Playlist Shortcut from the menu will send the URL for the playlist into a chain that grabs the source of the page, then looks for the following RegEx pattern.

(http(s?):)([/|.|\w|\s|-])*\.(?:jpg|gif|png)( 3x)

This will find all of the image URLs on the page ending with “ 3x”. This string is appended to the end of URLs pointing to the highest resolution version of a given image served by Apple on the webpage. This includes the playlist artwork and song artworks.

Depending on the length of the playlist, this may return a LOT of results. My CA001 playlist returns 93 results. I only only need the first though, which is the artwork for the Playlist. Here is the URL for the first matched item.

https://is3-ssl.mzstatic.com/image/thumb/SG-S3-US-Std-Image-000001/v4/36/be/d5/36bed521-15ce-d164-f358-ef3d7301fc75/image/939x939cc.jpg 3x

The image (939x939px) is displayed on the screen for output. I AirDropped mine to my desktop to plug in on Squarespace.

Get the Shortcuts Here

2018: A Year In Review

2018 is over.png

It’s been a really busy year here, but now that it’s come to an end, I’m finding it difficult to recap. 2017 saw less creative output than 2016 and that trend has continued in some ways and completely reversed in others. Let’s break it all down.

Achievement: Make a home for 3 Years

That’s three years on the board for Mae, Jazz, and I in our little home. Our downstairs neighbors moved out, a new one moved in, and then they left too. It’s been quieter around here as a result, but that’s okay. We also moved our bedroom from the large master upstairs to the more temperature controlled spare room downstairs.

We celebrated a lot of wonderful moments with friends this year. Tyler and Tara gave birth to a beautiful baby girl named Millie who we love very much. I was a groomsman in Sam and Leah’s wedding and Mae was a bridesmaid in Jenna and Seth’s. Both ceremonies were outdoors and really special. We’re both excited to be a part of Brandon and Melissa’s wedding next year as well.

I couldn’t be more grateful to Mae for her ongoing support while I’m back in school. I don’t express that enough, but I really couldn’t do this without her.

Achievement: Entirely Quit A Job

Achievement: Get A Job

ii_ji56hzko0_163dc99e5406bf65.jpeg

Last year, I stepped down from a management position in a retail store to pursue school again full-time. I stayed on as a part-time lead to pay the bills. That was a mistake. I stuck around longer than I should have and finally quit a few months back. As a result, I celebrated the holidays with my friends and family instead of crazed shoppers and crippling stress.

I also picked up a new gig with Breaker, a podcasting app with a social twist. I love the company that I work for and they’ve treated me so well since I came aboard in April. Thanks to my bosses, Erik and Leah, I was able to join in on the San Jose developer conference fun in June where I met a lot of folks I’ve truly admired for years. I’ve learned a lot from the team and look forward to rounding out my first full year with them in 2019.

Achievement Get: Stay In School

I’ve made it through my first full year as a returning student studying Computer Information Systems - Programming. Since last year’s Year In Review, I completed three more semesters of coursework, loading up my Summer to push through as quickly as I could.

My Grades:

Spring 2018: 3.485 GPA - 16 Credit Hours

Introduction of Logic/Programming — A-
Internet Tools — A
Introduction to Unix/Linux — A-
Visual Basic — B+
Intro to Database Management — A-

Summer 2018: 3.569 GPA - 15 Credit Hours

Technology & Human Values — A
Diversity In American Society — A
Essentials of Management Technology — A
Introduction to the Oceans — B+
Exploring Music: Bach to Rock — A

Fall 2018: 3.598 GPA - 16 Credit Hours

Technical Mathematics II — A
Technical Mathematics III — A-
Basic Accounting I — A
Client / Server Programming — A-
Systems Analysis & Design — B+
C++ Programming — A-

Boy, I’m tired. I’m 57% done with my degree though, which feels great. If all goes according to plan, I should graduate in Spring of 2020, which isn’t too far away. I’d hoped to pack another summer with classes and finish in the Fall, but I landed a full time internship at Smuckers this Summer that I’m really excited about.

Achievement Get: Podcast Some More

After recording Bantha Fodder intermittently for 2 and a half years, Mike Comite and I decided to start a weekly show that encompasses the sort of conversations we’d have before and after we hit record for our first show. That new show is called Podchasm.

At the time this was published, we’ve released 16 episodes and recorded one Twitch stream. We started out with a 5 episode backlog and we’ve pretty much burnt through the extras over the holiday’s so keeping our streak going in early 2019 should be interesting. Mike and I have a few fun ideas for this program and some more related podcasting projects I hope we can get off the ground at some point soon.

Considering our increasingly busy schedules this past year as well as some Star Wars fatigue, Bantha Fodder has not been published as frequently. We go in depth on this in Podchasm 001. Still, we put out 4 episodes this year and didn’t get it together in time for a holiday special.

We moved all of our shows to a new home at Transistor.fm, archiving some of my older ones. We also took on a few shows hosted by friend and collaborator Deanna Chapman. I’m not sure if we’re a network, per se, but it’s cool to make things with friends.

Speaking of which, I appeared as a guest on both Modern Vinyl and Welcome To Geekdom podcasts again this year.

Achievement: Design is Fun

dribbble shot solo mock.png
mockup basic.png

I did less client work this year, but refreshed my portfolio and added a few new things. I also posted my first Dribbble shot with a logo design I did for a friend’s new publishing venture. I’m really happy with the work and I know that James at AuxCord is too.

I also took a stab at an art style I really enjoy, inspired by 60s and 70s books for scientific journals, using my friend’s forthcoming book as inspiration. I guess green was my thing this year.

Achievement Get: Survive

Another year has come and gone. I, like many others, felt the weight of the world a lot more this time around. I’ve also wrestled with my anxiety a lot more this year, which I attribute to the work load I’m given at school as well as the work load I put on myself. There’s a lot that I’d like to do, read more, study more, relax more, create more, et cetera. I’m slowly realizing, however, that I can’t do it all. In 2019, I’d like to continue to simplify and find more joy.

Cheers, all.

My Favorite Things 2018: Everything

everything.png

My lists are all short this year and I have a long holiday break to enjoy, so I’m going to combine this year’s My Favorite Things posts into one. I hope that’s cool.

Music

I gave fewer releases a lot more attention this year. These 18-count, plus the Beatles White Album reissue and the Sirius XM station make up my music listening habits for the year.

LPs

  1. Tamino - Amir

  2. Kacey Musgraves - Golden Hour

  3. The 1975 - A Brief Inquiry Into Online Relationships

  4. Dan + Shay - Dan + Shay

  5. Pinegrove - Skylight

  6. Super American - Tequila Sunrise

  7. The Beths - Future Me Hates Me

  8. Coheed and Cambria - The Unheavenly Creatures

  9. Brockhampton - Iridescence

  10. Runaway Brother - New Pocket

  11. Ariana Grande - Sweetener

  12. Panic! at the Disco - Pray For The Wicked

  13. Kids See Ghosts - Kids See Ghosts

  14. Troye Sivan - Bloom

  15. Jagwar Twin - Subject to Flooding

  16. Glorietta - Glorietta

  17. Facing New York - Dogtown

  18. Turnstile - Time & Space

EPs

  1. Bogues - Life, Slowly

  2. Bohnes - 206: Acts I & II

  3. The Weeknd - My Dear Melancholy,

  4. Third Eye Blind - Thanks For Everything

I also started building bi-monthly playlists in July. You can check them out here.

Podcasts

I joined the staff at Breaker in spring of this year. As a result, I was delivered a newsletter with my listening statistics for the year. Unfortunately, I marked every episode of every show I’d listened to up to that point as “listened,” so my results were pretty skewed.

My weekly stats tell me that I listen to ~40-55 episodes a week. That’s roughly 46 hours worth of audio streaming through my brain Monday-Friday, double speed of course, with silences skimmed off as well. Given the nature of this semester’s long and frequent commutes, I actually had to pick up some more shows to fill the time.

These are the shows I started in 2018.

Fiction:

  • The Adventure Zone (Maximum Fun) - Completed the Balance arc and experimental runs.

  • BomBARDed

  • Master Manual

  • Sandra (Gimlet)

Comedy:

  • My Brother, My Brother and Me (Maximum Fun) - Goodness these brothers are funny.

  • Bad Travel

  • Unattended Consequences

True Crime / Investigative:

  • Reveal (The Center for Investigative Reporting / PRX)

  • Uncover (CBC)

  • The Teacher’s Pet (The Australian)

  • Someone Knows Something (CBC)

  • Last Seen (WBUR / The Boston Chronicle)

  • Believed (NPR)

  • Happy Face (iHeartRadio)

  • Bundyville (Oregon Public Broadcasting)

  • Endless Thread (WBUR / Reddit)

History / Politics:

  • Order 9066 (APM Reports)

  • Remade In America with Bassem Youssef (Cafe)

  • The Wave (Podglomerate)

  • The Omnibus (iHeartRadio)

Society / Culture

  • On Being With Krista Tippett

  • Hidden Brain (NPR)

  • Without Fail (Gimlet)

Music:

  • Fader Explains (The Fader)

  • Dissect - Frank Ocean (Spotify)

  • The Undersiders (Engle)

  • Hear&See

  • Broken Record

  • Inside The Album (Atlantic Records)

Film / Books:

  • Friendly Fire (Maximum Fun)

Technology:

  • Build Your SaaS - The official Transitor.fm podcast. This is my host of choice.

I got really into the true crime narrative genre this year, as you can tell. This form of journalism caught fire in 2014, but is really starting to hit its stride. The Teacher’s Pet actually brought on a new trial for a man accused of killing his wife in the 1980’s. I burn through these shows in very short periods.

Despite the above list, I actually paired down my subscribed shows. I nixed all but one or two technology podcasts and muted interview shows that I only like to dip into occasionally. I’d like to make my subscriptions more fluid going forward.

There was one audiobook included in the mix, which took up about 2 weeks-worth of podcast listening time. That book was The Dead Zone by Stephen King which was homework for my guest appearance on the Chat Sematary Podcast.

Movies

Is it just me or did 2018 pale in comparison to 2017 as far as film is concerned? I still have some Oscar contenders to watch, but few of the 46 new films I watched have screamed “Best Picture” to me yet. I’ll gladly accept recommendations. For now, these are my personal favorites.

  1. Black Panther ✮✮✮✮

  2. Spider-Man: Into the Spider-Verse ✮✮✮✮

  3. Isle of Dogs ✮✮✮✮

  4. A Quiet Place ✮✮✮✮

  5. Love, Simon ✮✮✮✮

  6. Sorry To Bother You ✮✮✮✮

  7. Eighth Grade ✮✮✮✮

  8. Ready Player One ✮✮✮✮

  9. Maniac ✮✮✮✮

  10. BlacKkKlansman ✮✮✮✮

  11. Deadpool ✮✮✮½

  12. Avengers: Infinity War ✮✮✮½

  13. Solo: A Star Wars Story ✮✮✮½

  14. Mid90s ✮✮✮½

  15. Annihilation ✮✮✮½

For more of my film stats for the year, you can check out this page on my Letterboxd profile.

Television

Netflix had a good number of limited series this year, some of which were counted in my Letterboxd stats, but are repeated here.

  • Patriot (Amazon Prime Video) ✮✮✮✮✮ - Damnit, this show is really good!

  • Barry (HBO)

  • Our Cartoon President (Showtime)

  • Tom Clancy’s Jack Ryan (Amazon Prime Video)

  • The Haunting Of Hill House (Netlfix)

  • Maniac (Netlfix)

  • The Chilling Adventures of Sabrina (Netlfix)

  • Atypical (S2, Netlfix)

  • The Staircase (Netlfix)

  • Wild Wild Country (Netlfix)

  • Evil Genius (Netlfix)

My favorite episode of TV this year was Atlanta’s Teddy Perkins. I spent some time with the Monty Python boys via Flying Circus and Fawlty Towers. I now understand the love for Parks and Recreation.

Games

I didn’t purchase any new video games this year, but Mae and I also dropped back into Alien: Isolation, which I initially quit about 10 minutes into gameplay because I couldn’t find a silly hatch in the floor to continue. We found it this time and pushed through for another 2 hours.

Mike Comite and have started streaming some old LucasArts games on Twitch, starting with The Dig (1995).

I also played some D&D and board games with friends over Discord using Roll20 and Tabletop Simulator.

New Music: Old Best Friend - "Anna"

Old Best Friend has a new record coming out in February of this new year. The lead single from that record is called “Anna” and it premiered yesterday on Chorus.fm.

Mike put together a nice little discography deal on Bandcamp for those that want to pick up his debut EP and first LP, Living Alone with a preorder of his second, Almost. You can get all 3 for $11. I suggest you do.

My thanks to Deanna Chapman for helping us with the premiere.

David Lowery Q&A on Letterboxd

Directory David Lowery is promoting his new film The Old Man & the Gun, which has been getting great reviews. In the process however, he is beginning to realize that maybe it’s his last one that he will be remembered for.

“I’m doing a lot of press for The Old Man & the Gun right now and going to a lot of screenings, and the common refrain is ‘The Old Man & the Gun’s great but, man, A Ghost Story is something else!” And I’ve become aware that that might be the movie that defines me more than any other and that’s fine because it’s the movie I’m the most proud of. I certainly know that it has struck a chord.”

A Ghost Story affected me more than any other film last year—including CoCo. I still think about it often. It’s a completely unique film experience that I’m actually scared to revisit. Equally frightening is this quote, which got me thinking about creatives who create their finest work and live to experience it.

David Lowery will hopefully continue to make great films (he’s adapting Peter Pan for Disney next), but how does knowing that his best work is potentially behind him affect his ambition?

Lowry also gave Letterboxd a short list of his favorite ghost films that I found interesting.