Our new official repo is on github
LCD Smartie version 5.6 is released!
Download it now: https://github.com/LCD-Smartie/LCDSmartie/releases

foobar2000 plugin

Announcements of new plugins or updates.

Moderators: _X7JAY7X_, caesar, IFR, mattcro, limbo

Post Reply
msu
Posts: 2
Joined: September 7th, 2008, 9:26 pm
Location: Poland

foobar2000 plugin

Post 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!
You do not have the required permissions to view the files attached to this post.
Last edited by msu on May 2nd, 2009, 9:57 pm, edited 1 time in total.

caesar
Forum Supporter
Posts: 734
Joined: October 15th, 2005, 10:39 am
Location: Romania
Contact:

Post by caesar »

Welcome to the forums and thanks for the plugin!

msu
Posts: 2
Joined: September 7th, 2008, 9:26 pm
Location: Poland

Post 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.

patz
Posts: 1
Joined: December 24th, 2006, 5:26 pm

Post 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

tubbana
Posts: 1
Joined: March 14th, 2009, 9:01 pm

Post 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

Mesmer
Posts: 5
Joined: July 5th, 2009, 9:58 am
Location: Romania

Post by Mesmer »

Nice job msu, is there any chance for spectrograph data aswell? or even VU, PM; they could be quite useful.

GizmoTheGreen
Posts: 53
Joined: November 19th, 2008, 12:00 pm

Re: foobar2000 plugin

Post by GizmoTheGreen »

Now all thats missing is a visualization plugin!

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

magic1001
Posts: 2
Joined: May 18th, 2008, 8:13 pm
Location: Poland

Re:

Post 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.

usling
Posts: 38
Joined: September 5th, 2008, 1:55 pm

Re: foobar2000 plugin

Post 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 :)

Post Reply