Exit
  • Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
  • 한국 커뮤니티
0

"Now Playing" Overlay pressed into video

New Here ,
Aug 25, 2021 Aug 25, 2021

Hey all!

I have a ton of songs in a project, and I'm looking for an easy way to add a "Now Playing" overlay to the video.

I want people to be able to watch the finished video, and see what song is playing at any time. I do NOT however, want to have to create a new text item for each one, as there are hundreds. Is there an easy way to do this? I can get a csv or txt file of all the song names in order if neccessary.

Thanks all!

Best Wishes,

-Mac

TOPICS
Audio , Error or problem , How to , Scripting
592
Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Aug 25, 2021 Aug 25, 2021

It is hard to give any advice without knowing any details.

How does your project look exactly?
Do you create 100 identical videos each just using a different song or do you create a single  huge video with lots of songs?

How do you insert the songs in the project?

 

Mathias Möhl - Developer of tools like BeatEdit and Automation Blocks for Premiere Pro and After Effects
Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Aug 25, 2021 Aug 25, 2021

I think I can see what you're after.  Try this:

  • Create a CSV, each song title has its own rown
  • Bring this into After Effects
  • Add a text layer and add a slider control to this.
  • On the source text add the following expression:
song = Math.floor(effect("Song Number")("Slider"));
thisComp.layer("songs.csv").footage("songs.csv").dataValue([0,song]);

 

Your slider will let you set keyframes to change the text of the song, the Math.floor prevents any decimal places screwing up the code.

songscsv.PNG 

 

 

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Mentor ,
Aug 25, 2021 Aug 25, 2021
LATEST

If you have a comp with a text layer on top, and all the audio layers beneath, you can put this expression to the text layer:

 

for (i = 1; i < thisComp.numLayers; i++)
{
	songname = "None";
	if (thisComp.layer(index + i).audioActive)
	{
		songname = thisComp.layer(index + i).source.name.split(".")[0];
		break;
	} else
	{
		continue;
	}
}

text = "Now playing: " + songname;

 

No need for additional files, just make sure the song names in projekt panel (or OS) are correct.

 

*Martin

 

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines