Now playing indicator with foobar2000 and Now Playing Simple

#1
Hi. I know about viewtopic.php?f=18&t=421, but my solution for displaying currently played song is a bit different :)

Example: VOD

1. Things you will need
- OBS
- foobar2000
- Skipy Rich's Now Playing Simple foobar2000 plugin

2. Things you may need
- Photo editing software, such as Photoshop or GIMP
- Background image compatible with OBS

3. Setting up foobar2000 and Now Playing Simple
At first, you have to download foobar2000 and Skipy Rich's Now Playing Simple plugin, you can find the links above. After that, install foobar2000 and put the 'foo_np_simple.dll' file to the 'components' folder in the place where foobar2000 is located (by default 'C:\Program Files\foobar2000').

Now run foobar2000 and add your songs to playlist using 'File --> Add files...'. If you've done that, go to 'File --> Preferences' or simply press 'Ctrl+P'. Navigate to 'Tools --> Now Playing Simple'

and at the top press the '...' button. After that, select a file to which Now Playing Simple will write currently played song, select 'UTF-8 with header' encoding and uncheck log mode. Now fill 'Formatting string' however you want it to display song's names. Click here to see available foobar2000 formatting options in foobar2000. If you don't understand anything from it, you can just use the one i used in example:

$if($and(%artist%,%title%), %artist% - %title% )
$if($and(%title%,$not(%artist%)), %title% )
It displays 'Artist - Title' when something is played or paused and 'Artist' tag is available. If there's no 'Artist' tag in your song it displays only 'Title', and when playback is stopped it doesn't display anything. If you want your own formatting, feel free to write here and I'll write it for you :)
In 'On exit:' field you can type the string that has to be displayed when foobar2000 is not running. I've just left it empty so nothing is shown.

4. Setting up OBS to work with foobar2000
At first you have to create a 'Text' source. Set it up how you like it, select 'Use Custom Text Extents' and select the file which you've set in Now Playing Simple. After you've done that, click OK and place your text where you like it, and that's it! It just works :)

5. But what about this fancy background image and fading text?
This part is optional, and I assume you know the basic functions of GIMP, in which we'll make background and fading.

Find some nice looking picture on the internet or make your own and crop it to any size you like (image in example is 256x96px and the graphic itself is 246x86) and I recommend you to leave at least 5px from each side, as I did. To do so, go to 'Image --> Resize canvas', and make it 10px higher and wider. After that, press the 'center' button and then OK. To make it look good on light background you'll have to duplicate the layer, move it under your first image (it doesn't really matter :P), lock alpha channel by clicking the small checkerboard button located above layers, press Shift and the eye button to make the only selected layer visible, and paint it all black using Brush, or some other tool. After that unlock alpha channel again, go to 'Filters --> Blur --> Gaussian Blur', choose about 5-10 and click OK. Now you can press the eye button next to invisible layer to make it visible again and see how it looks now. Basically it's just simple shadow to make it look better on light backgrounds.

You can now merge these layers and save the file as.xcf and then export it to .png for OBS.

To make the fading effect, you'll have to select your image (Ctrl+A) and then use 'Selection --> Make smaller' with your choosen amount of pixels. After that, use the 'Selection tool' to make the selection higher while keeping the same width. To do this, you'll have to select 'Add to selection' in the toolbox instead of 'Select'. Zoom in, and start the selection precisely where the current one ends, and then resize it to fit width and make it higher. Now invert the selection, use the 'Selection --> Soften' with parameters of your liking, and remove it using 'Del' key. You should now have only the outer parts of you rimage left. Save it as other .xcf and other .png. file and go to OBS.

In OBS, add these two images that you've created right now and set them in this order (going from top):
- Game capture
- Full background image
- Text
- Background image with empty center

And that's it! Simple, isn't it?
You can now change the visibility of 'Full background image', but I don't recommend changing 'Background image with empty center' 's and Text opacity.

I hope someone will find it useful, I think that it's worthwhile because of the nice-looking effect. If someone want's the image i used in example, feel free to write here and I'll post it :)
 

Krazy

Town drunk
Forum Moderator
#2
Re: Now playing indicator with foobar2000 and Now Playing Si

This is also possible with Windows Media Player. If anyone else other than me even uses it (lol) maybe I'll do up a guide, too.
 
#5
Re: Now playing indicator with foobar2000 and Now Playing Si

Thanks for the guide, took me just a few minutes to set up, and works perfectly! :D
 
#9
Re: Now playing indicator with foobar2000 and Now Playing Si

I might be slighty retarded but I don't get the
At the top press the '...' button and select a file to which Now Playing Simple will write currently played song. After that select 'UTF-8 with header' encoding and uncheck log mode. Now fill 'Formatting string' however you want it to display song's names. Click here to see available foobar2000 formatting options in foobar2000. If you don't understand anything from it, you can just use the one i used in example:
Part at all :/ I go in to preferences, I see the now playing thing there and that's it, I'm stuck.
 
#11
Re: Now playing indicator with foobar2000 and Now Playing Si

KrazyTrumpeter05 said:
This is also possible with Windows Media Player. If anyone else other than me even uses it (lol) maybe I'll do up a guide, too.
post it up! im using windows media player too! would be interested in making it work! thx in advance !
 
#12
Re: Now playing indicator with foobar2000 and Now Playing Si

KrazyTrumpeter05 said:
This is also possible with Windows Media Player. If anyone else other than me even uses it (lol) maybe I'll do up a guide, too.
I'd like to know how this is done. ;)
 
#13
Re: Now playing indicator with foobar2000 and Now Playing Si

hi, havent found similiar on the wikipage so short question:

is there a string for radiostream like %stream% or something like this so i can set staus Radio ?


ok found a solution if someone needs heres my string:

Code:
$if(%ispaused%,'(paused)'  %artist% - %title%  '(paused)'
,
$if(%isplaying%
,
$if($longer(%length% ,0:01),Playing: ,Radio Stream: ) %artist% - %title%
,
'(Not playing Music ;-)'))
 
#15
Re: Now playing indicator with foobar2000 and Now Playing Si

I will try future year announce the playing indicator with foobar20xx and Playing Simple.
 
#16
Re: Now playing indicator with foobar2000 and Now Playing Si

Here's a simple already done format that I made for myself, sharing for the less coding/foobar apt and the lazy. It's a basic script for title in quotes, then artist, then album name after the dash, both **paused** and playing. If you want to edit the plain text to taste, target the part in red, just honor the %variables% format and be wary of using the characters in the spoiler box, because that's what the code uses. If you don't want anything showing when paused, leave out the bottom 4 lines.
, [ ] ( ) $ %
$if($and($not(%ispaused%),%isplaying%,%artist%,%title%,%album%), "%title%" by %artist% - %album% )
$if($and($not(%ispaused%),%isplaying%,%title%,$not(%artist%),$not(%album%)), "%title%" )
$if($and($not(%ispaused%),%isplaying%,%title%,%album%,$not(%artist%)), "%title%" - %album% )
$if($and($not(%ispaused%),%isplaying%,%title%,%artist%,$not(%album%)), "%title%" by %artist% )

$if($and(%ispaused%,%isplaying%,%artist%,%title%,%album%), **PAUSED** "%title%" by %artist% - %album% )
$if($and(%ispaused%,%isplaying%,%title%,$not(%artist%),$not(%album%)), **PAUSED** "%title%" )
$if($and(%ispaused%,%isplaying%,%title%,%album%,$not(%artist%)), **PAUSED** "%title%" - %album% )
$if($and(%ispaused%,%isplaying%,%title%,%artist%,$not(%album%)), **PAUSED** "%title%" by %artist% )

I personally like 20 spaces before the last ) on each line to give some room before the text scrolls back around on itself.
 
#19
Re: Now playing indicator with foobar2000 and Now Playing Si

Is there a way to set this so that Track Artist is shown by default, but if a Track Artist is not present, it shows Album Artist instead?
 
Top