You are browsing as a guest. Sign up (or log in) to start making projects!

After Playlist

  • 6 Devlogs
  • 7 Total hours

Say hello to After Playlist, an After Effects Script UI Panel that allows you to control your music directly inside your composition! This works with any type of music platform like Spotify on the desktop app version. Windows 11 ONLY.

Ship #1 Pending review

After Playlist V4.0.0 for Windows 11

Time spent: ~7 hours (5h developing and 2h asset creation and video editing).

Editors like myself often find themselves in a state known as the flow state. The flow state is a time where an editor is completely locked in and fully focused on editing. A major contributor to achieving this state is music. Music is what relaxes you and gets you focused at the same time.

The Problem:

The big issue is that flipping between Spotify or other media platforms can easily break the creative flow. I personally hate going back and forth between Adobe After Effects (AE) and Spotify just to pause a song or look at what the song is called. Standard AE scripts that aim to fix this problem usually end up making AE freeze.

The Solution:

After Playlist is a media controller that stays docked inside AE. It uses an Asynchronous architecture to communicate with Windows silently to make sure AE doesn’t keep freezing.

The 4 Major QoL Improvements:

  1. A non-blocking asynchronous engine: It uses a small little hidden VBScript/Powershell bridge to keep AE responsive (errors can occur!)
  2. A live now-playing section: Every 6 seconds the artist name and song name is fetched through background polling. It uses a marquee scrolling effect for long names.
  3. Spotify launcher and media controls: The main part is the media controls (Play/pause, next, previous, volume up/down, and mute. It also has a button to launch Spotify incase you haven’t already :D
  4. Diagnostics test: The button near the button runs a test to make sure the script will work (Can be inaccurate).

Challenges:

As I’ve mentioned in a previous devlog and the Github README, I had a hard time figuring out how to even make this work. Some deep researching led me to PowerShell and VBScript. Another challenge was not much a challenge and rather an annoying bug that would register multiple clicks at once causing either AE to crash or the script to not work.

AI Disclaimer:

Manus and Claude were used quite a bit for pointing out errors that I missed and they also helped come up with ideas to add to the script. The name was based off a ChatGPT suggestion lol.

Technical details:

Language used: Adobe ExtendScript (Based on ECMAScript)
Code editor used: VS Code
Software used for testing: Adobe After Effects 2025.

Hope people use this! Have an absolutely spectacular day!

Try project → See source code →
Open comments for this post

1h 3m 28s logged

The final devlog:

The journey was fun. I’d never thought I’d make something that I’d use almost every day. After Playlist has evolved ALOT in a short time. When I first made it, I had low hopes. Almost as if it’d be a fail. And though it did indeed fail, I pushed through and made it work. So for my last update, I added two buttons:
C - Enables compact mode by hiding everything except the media controls and diagnostics section.
S - Launches Spotify for the people like me who feel too lazy to even open Spotify normally.
I wont go too much in detail but I used the Spotify protocol which works with every version of Spotify and the compact mode was very simple, all it did was hide certain aspects. I also learned something new. I never actually knew how helpTips worked and I researched them a bit and added two helpTips. One to each button because you can’t really tell what each button does. I’m going to ship this project shortly after everything is in order.

AI usage:

HUGE thanks to manus once again my goat helped my find out why the diagnostics text was getting cut off and also how to use helpTips properly.

Have a good day!

0
0
4
Open comments for this post

51m 29s logged

I did it, I finally added the now playing feature!

So as you may know, I revealed in my second devlog of this project that the now playing feature had to be removed because I just could not get it to work. Today I woke up and thought: “Let’s give it another shot”

##My biggest challenge:

I had thought of a way to make it work but AE would still keep freezing every now and then because the process was happening through AE.

How I made it and fixed the freezing problem:

I made a sort of “scout” that would launch a small, hidden powershell process in the background every 6 seconds. This scout then asks windows: “Bro what song is playing right now? I gotta know.” So then windows responds with the answer written in a temporary file. AE then reads this file and displays it on the “Now Playing” section near the top. If the answer comes empty then AE keeps the same song. This way AE doesn’t freeze because the process happens outside AE. One other problem was that the text would get cutoff due to panel resizing issues. To fix this I simply added a marquee scrolling effect to keep it nice and smooth. I won’t go into detail about that but know that I had to search up how to do it since I’ve never done it.

AI usage disclaimer:

Claude Sonnet was used to point out syntax errors and Manus was used to help guide me to using the “background scout” method. Both AI helped out a whole lot.

Hope someone uses this and if you are reading it, have a great day!

0
0
34
Open comments for this post

2h 31m 1s logged

I made another video

So if you’ve seen my previous script: “Wiggle Me Timbers,” you’d know I made a short, sick looking demo video so people know how it works. Well, I did it again. My main talent lies in motion graphics and video editing so not making a video would feel like a crime. This video is a bit different from the other one. Instead of making a simple video, I added a fun twist using my knowledge of 3D typography. Anyways the video IS done but I haven’t rendered it yet because I don’t intend to upload it right now.
Hope you guys like it!

0
0
7
Open comments for this post

1h 22m 6s logged

FINALLY!

So I had a minor (actually kinda major) problem with the original version. It had MAJOR delay! It was honestly very irritating.
To fix this I reduced the unecessary delays by reducing the key-down/key-up timing from 40 miliseconds to 15 miliseconds, and the response-file polling interval was reduced from 100 miliseconds to 25. This made it faster yes, but After Effects was still waiting synchronously :(
I made the script create a temporary PowerShell script and a hidden VBScript launcher. The VBScript uses WScript.Shell.Run with style 0 and the False wait parameter. I did a little more but I don’t want to bore you :D

Anyways if anyone read to the end, I hope you guys have a great day and that someone can actually find this useful.

0
0
4
Open comments for this post

15m 19s logged

Now I realized that the idea was i bit far fetched and that making it work first try would be… impossible. It took a while of debugging which i forgot to record so there goes some hours BUT i did record ~15 mins of me testing and updating the README so theres that. I changed the UI, removed and entire feature and make a lot of tweaks to FINALLY make it work. Great thing is manus and claude helped me identify tons of the errors.
Have a good day :D

0
0
5
Open comments for this post

44m 55s logged

After Playlist (V1.0)

I basically made everything in this one session but technically it’s not fully done. The next few devlogs will include QoL improvements, UI changes, etc.

It’s a lightweight media controller for After Effects. If you use AE for hours like me and you need music to stay focused, this is honestly perfect for you.

Note: This only works on Windows and the desktop app of Spotify, other desktop apps may work

How it works (in more simple terms)

Now most of this I needed quite a bit of help for like how to integrate Windows SMTC (System Media Transport Control) Now ExtendScript, the programming language for After Effects ScriptUI Panels doesn’t really support asynchronous Windows API’s :(
The good this is you can still build a simple PowerShell Bridge, (It’s not actually that simple for a new coder like me 😭 )
So for the people who can actually understand this…

It generates a temporary .ps1 script tapping into GlobalSystemMediaTransportControlsSessionManager wow, thats a real mouthful.
Anyways then it uses a custom Await helper via .NET reflection to query the active media session for the song name, artist and the playback status :D
Then it reads the cached input from Folder.temp back into the UI Panel (stay with me we’re almost done)
Lastly the playback is mapped directly through Poweshell SendKeys commands.

AI usage

Claude Sonnet was used to debug the code and provide some suggestions on what to add (im not super creative 😭 )

Anyways have fun guys I hope someone will actually use this!

0
0
48

Delete project?

Are you sure you want to permanently delete this project? This action cannot be undone.

All devlogs, followers, and associated data will be removed.

Followers

Loading…