stardance has been extended another month! the new deadline is october 31 :)

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

After Playlist

  • 9 Devlogs
  • 14 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 #2 ✨ Blessed

After Playlist v5.0.0

BOOM! I’ve finally finished with my second ship for this project. Honestly I’ve had a blast making this and I hope everyone likes it!

What did I make?

I made a Adobe After Effects ScriptUI Panel that lets you control what music is playing through PowerShell and Windows Script Host.
This all happens asynchronously so no need to worry about AE lagging, losing focus, or simply just crashing. It’s all handled outside. The project is designed to save those extra few seconds and to make sure that you never have to leave the editing “flow-state.”
I also made another video! :D

Major QoL improvements:

  • Multiple guides: Majorly helps users install, troubleshoot, or even just figure out if they can run the script.
  • Settings panel: Give more control and freedom over the script
  • Error codes! I really should’ve added these earlier. They help the user troubleshoot more easily and figure out what’s wrong!

Challenges

I didn’t have too much difficulty this time tbh. I had to research quite I bit to figure out how to even make a settings panel which I tried to make before but failed HORRIBLY. I updated the UI which wasn’t too challenging at all. I suppose the biggest challenge was how tiring it was to make all those functions for the settings menu.

Thanks for the feedback

I got some AMAZING feedback from the previous ship and I made sure to address each of them. They mainly said to fix/update the UI and I did so. I do agree the previous UI wasn’t exactly… appealing.

AI disclaimer

I didn’t use as much AI as last ship. It was mainly just for ideas and I asked once why my settings menu wasn’t opening and I got some feedback from Manus which steered me in the right direction. I only copy and pasted a few times for the unicode symbols because I decided that symbols would look better and cleaner than text.

Thanks to everyone at Hackclub for making Stardance. It really gave me a purpose (and i also needed motivation to learn coding lol).

  • 3 devlogs
  • 7h
  • 12.40x multiplier
  • 107 Stardust
Try project → See source code →
Open comments for this post

1h 52m 38s logged

I’m Finally Done (Hopefully)

I decided to make a little “Minimum System Requirements” sheet because well, why not? It felt like a good addition because I don’t want people installing the script and then not being able to use it. The other important thing I did was make another video. Is it necessary? No. Is it absolutely awesome and cool? ONE HUNDRED PERCENT! My passion for video editing is so strong I just couldn’t bring myself to not make another video. This one is a little different however. I didn’t showcase the tool at all, its more so just an ad to get people interested. The style of it is also different. I went with a low fps, grainy, style of video.
References:

Video Details:
FPS: 18
Resolution: 1920 x 1080 px
How cool it is: 10/10

0
0
15
Open comments for this post

4h 3m 16s logged

Possible my second last devlog

I did quite a lot in these 4 hours. Before I tell you, I’d like to thank everyone at stardance for this amazing opportunity to pursue this project and also get a cool prize :D

What I added

I added a settings menu! I actually tried to add one a while back but it unfortunately it did not work. I did not give up. I decided to add it back in the 5.0 version (releasing soon, probably when I ship). I also added a couple more things:

  • Fixed status text
  • Fixed minor bugs
  • Added error codes
  • Added tooltips to error codes

New manuals

I also created two manuals so far. A user manual and a troubleshooting manual.
The troubleshooting manual defines all the error codes and gives fixes, general fixes, how to report a problem, and known limitations of the script.
The user manual gives explicit info on the script and its functions and it has a simplified version of how to install it (more in depth instructions on readme).

Error codes

While seemingly irrelevant, error codes are SUPER important. It lets the user reference the trouble shooting guide much easier and they also have much less to remember.

AI disclaimer

As always I have to provide an AI disclaimer. Now most of this didn’t really use much AI since it was pretty basic stuff especially the error codes. All I really asked AI about was what I should add to the settings since I’m not exactly creative. As for how to make the settings panel, I just researched a little online, dug through some forums, and that’s pretty much it.

THANKS TO EVERYONE AT STARDANCE LOVE YALL

0
0
40
Open comments for this post

1h 12m 15s logged

I’m back.

I got some amazing feedback on this project and I’m honored to get a blessing. It has boosted my motivation to continue this silly project of mine. I’ve been quite inactive lately because I was sick but fret not because I’m back to working on After Playlist.

This time, I worked a lot more on the UI because most of my feedback was that the UI looked boring and generic. Fair enough. I changed up some colors and positions of the buttons and then I set this as a new release on my github. I plan on spending atleast 6 more hours on this because only then will I be able to get the thing I want (the keebcard). I am not really sure what to add so if you are reading this please give me suggestions!

AI disclaimer

Not much AI used this time as all I did was change up the UI. I did however use Claude to tell me what I should do to improve the AI but otherwise none of the code was written by AI.

Have a great day!

0
0
21

This project was vetted by Shipwrights and is now up for voting. You can ship again after making more updates.

Shipwright walkthrough

Ship #1 ✨ Blessed

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
15
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
37
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!

1
0
10
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.

1
0
7
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
6
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!

1
0
49

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…