Page 1 of 1

foobar2000 plugin

Posted: September 7th, 2008, 9:52 pm
by msu
Quick and dirty plugin for displaying foobar2000 informations.

You will need:
.Net framework
foobar2000 (http://www.foobar2000.org/)
COM Automation Server (see http://www.hydrogenaudio.org/forums/ind ... opic=39946 for details) download from http://foosion.foobar2000.org/0.9/foo_c ... -setup.exe
LCD Smartie ;)

Install COM Automation Server
Put FooBarPlugin.dll, Interop.Foobar2000.dll, Interop.Foobar2000Helper.dll dlls in LCD Smartie plugins directory
Configure LCD Smartie:
select free Screen (13th in my case) and choose options:

Code: Select all

$dll(FooBarPlugin,1,name,) - foobar version
$dll(FooBarPlugin,1,activeplaylist,) - active playlist
$dll(FooBarPlugin,1,title,) - shows artist and title informations
$dll(FooBarPlugin,1,title,format) - shows title information is specified format (see titleformat_help.html in foobar directory)
$dll(FooBarPlugin,1,codec,) - Name of codec used to encode the track
$dll(FooBarPlugin,1,channels,) - Number of channels in the track
$dll(FooBarPlugin,1,bitrate,) - Bitrate of the track in kilobits per second (kbps)
$dll(FooBarPlugin,1,samplerate,) - Sample rate of the track, in Hz
$dll(FooBarPlugin,1,position,) - Length of the track, formatted as [HH:]MM:SS
$dll(FooBarPlugin,1,position,seconds) - Length of the track as seconds
$dll(FooBarPlugin,1,length,) - Current playback time, formatted as [HH:]MM:SS
$dll(FooBarPlugin,1,length,seconds) - Current playback time as seconds
My settings
first line:

Code: Select all

$dll(FooBarPlugin,1,codec,) $dll(FooBarPlugin,1,channels,) $dll(FooBarPlugin,1,bitrate,) $dll(FooBarPlugin,1,samplerate,) $dll(FooBarPlugin,1,position,)/$dll(FooBarPlugin,1,Length,) 
second line:

Code: Select all

$dll(FooBarPlugin,1,title,) 
I wish I have more lines :)

Enjoy!

Posted: September 7th, 2008, 10:44 pm
by caesar
Welcome to the forums and thanks for the plugin!

Posted: September 8th, 2008, 7:21 pm
by msu
I was so excited with my plugin that I forgot to say hi to the forum people :oops: (Where are my manners?) So Hi everyone, greetings from Poland.

Posted: February 20th, 2009, 12:20 pm
by patz
Hey, thanks for a great plugin, was dreading that I would have to go back to using winamp.
I had some problems getting it to work at first, but it was due to something with comserver not getting registered with foobar correctly (checked paths in options and the helper wasn't installed correctly) but a reinstall fixed it and now it's working just fine!
-My first 2 lines:
$dll(FooBarPlugin,1,title,%artist%) - $dll(FooBarPlugin,1,title,%album%)
$dll(FooBarPlugin,1,title,%title%)

***
I just got it working and haven't looked into it yet, but have you found a way to only make it show when foobar is playing?
-Nevermind, found the AppState plugin.
if - (AppState,1,foobar2000,) = 1 - EnableScreen(3)
if - (AppState,1,foobar2000,) = 0 - DisableScreen(3)


Thanks again //patz

Posted: March 15th, 2009, 3:26 pm
by tubbana
patz wrote: I had some problems getting it to work at first, but it was due to something with comserver not getting registered with foobar correctly (checked paths in options and the helper wasn't installed correctly) but a reinstall fixed it and now it's working just fine!
Hey can you please elaborate a bit, im getting "foobar2000 not active???" on my LCD, i think i have similar problem like you there, but i didnt quite understand

Posted: July 5th, 2009, 10:01 am
by Mesmer
Nice job msu, is there any chance for spectrograph data aswell? or even VU, PM; they could be quite useful.

Re: foobar2000 plugin

Posted: October 28th, 2009, 6:44 pm
by GizmoTheGreen
Now all thats missing is a visualization plugin!

Currently i have to use winamp to display visualizations on my LCD.. :(

Re:

Posted: November 28th, 2010, 1:40 pm
by magic1001
tubbana wrote:
patz wrote: I had some problems getting it to work at first, but it was due to something with comserver not getting registered with foobar correctly (checked paths in options and the helper wasn't installed correctly) but a reinstall fixed it and now it's working just fine!
Hey can you please elaborate a bit, im getting "foobar2000 not active???" on my LCD, i think i have similar problem like you there, but i didnt quite understand
I had the same problem and the solution is to reinstall your foobar2000. It must be registered (path to foobar) in system. After that install com automation server.

Re: foobar2000 plugin

Posted: January 10th, 2011, 6:29 pm
by usling
Thank you for this plugin! There is no issue here, i just want to share my experiences and an interesting find.

Something is weird on my computer. This plugin works well for LCDsmartie, that isn't the problem. I use the COM automation server to tell songtitles to mIRC chat program aswell, and it works until the computer goes to sleep, after sleep you have to reboot or it wont work.

The fun thing though, some DLL or plugin or whatever makes my winamp scripts work. Both for mIRC and lcdsmartie. If i tell smartie to show $WinampTitle when playing a song in foobar, it works. My winamp script for mIRC also works when playing songs in foobar. I have a few theories why:
- In foobar i have a plugin called shpeck (foo_vis_shpeck.dll) which somehow uses winamp visualizations or something
- I also have an old mIRC-script which uses to get titles from winamp which still works with foobar, maybe the dll-file that did that somehow reads foobar aswell. There are two dll-files, one called swamp.dll (32kb from year 2002) and winamp.dll (217kb also from 2002). They are both positioned in my mIRC scripts folder. Don't know why they should work, but they do. Maybe the winamp.dll file in smartie plugins folder somehow talks to them?



This is my screen:
plugins used: "if" made by limbo i think, speedfan plugin, foobar plugin, and rafabar (which makes the positionbar more attractive, thus all the customchars on line 2). If winamp or foobar isnt playing, CPU stats are shown instead.

LINE 1: $dll(if,1,$WinampStat#playing, $WinampTitle #CPU: $Right($CPUUsage%%,$3%) $dll(speedfan,2,4,0)/$dll(speedfan,2,1,0)#)
LINE 2: $dll(if,1,$WinampStat#playing,#Mem: $MemU%% $Time(hh:nn)$Fill(17))$dll(FooBarPlugin,1,position,)$Fill(5)$CustomChar(1,0,0,16,16,16,0,0,0)$CustomChar(2,0,0,24,24,24,0,0,0)
$CustomChar(3,0,0,28,28,28,0,0,0)$CustomChar(4,0,0,30,30,30,0,0,0)$CustomChar(5,0,0,31,31,31,0,0,0)$CustomChar(6,0,0,0,4,0,0,0,0)
$CustomChar(7,0,0,0,0,0,0,0,0)$CustomChar(8,0,0,16,16,16,16,0,0)$dll(RafaBar1,1,12,0#$dll(FooBarPlugin,1,length,seconds)#
$dll(FooBarPlugin,1,position,seconds)#a)


(make sure you get everything if you want to copy line 2, i had to break it apart because of forum formatting issues)



i also have this screen:
plugins used: foobar plugin and rafabar. If plugin is also there. Anyway, this plugin also works for me, but i use the previous one because it requires a song to be in fact playing and not just paused to show songtitle info. I use pause instead of stop.

LINE 1: $dll(FooBarPlugin,1,title,)
LINE 2: $dll(if,1,$dll(FooBarPlugin,1,title,%isplaying%)#,$Center($Time(hh:nn),16)#)$dll(FooBarPlugin,1,position,)
$Fill(5)$CustomChar(1,0,0,16,16,16,0,0,0)$CustomChar(2,0,0,24,24,24,0,0,0)$CustomChar(3,0,0,28,28,28,0,0,0)
$CustomChar(4,0,0,30,30,30,0,0,0)$CustomChar(5,0,0,31,31,31,0,0,0)$CustomChar(6,0,0,0,4,0,0,0,0)$CustomChar(7,0,0,0,0,0,0,0,0)
$CustomChar(8,0,0,16,16,16,16,0,0)$dll(RafaBar1,1,12,0#$dll(FooBarPlugin,1,length,seconds)#$dll(FooBarPlugin,1,position,seconds)#a)



If anyone is interested i could do more testing to find out what it is. Please mention it here though, and hope i find back to this thread :)