Skip to main content
Topic: foo_external_player (Read 4618 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

foo_external_player

Hi,

I'm currently researching how one can go about using foobar2000 as an external player for something like XBMC. I would like to know a couple of things...

1 - Is there an existing plugin that allows playback information/state to be queried from the command line, such as isPaused, isPlaying, isStopped, trackProgress, etc...
2 - Whats an elegant way of having one or two way communication between C++ based programs such as XBMC and Foobar2000, in terms of keeping the playback state in sync between the two programs.
3 - I'm new to C++ and this will be my first C++ project, do you guys think this will be too much as a first project? I just need a simple interface for Play, Stop, Pause, Resume, Seek, onStop, onTrackComplete, onTrackProgress, etc...
4 - I've got a good Java background and I would rather use the foo_java_plugin_loader plugin and write the plugin in Java, but I just cant get the foo_java_plugin_loader source code to compile with the latest Foobar2000 SDK. I've managed to compile the SDK and a small sample plug in, and I've made some changes to XBMC's source and compiled it, BUT I just cant recompile foo_java_plugin_loader. Is there anyone who has successfully recompile foo_java_plugin_loader with the latest SDK?

Any help will be appreciated.

A teacher is a student in denial.

foo_external_player

Reply #1
From my experience, programs will always have issues being perfectly in sync when there is a large workload on the computer, and this is simply an issue with computers working in a linear fashion rather than being able to do many things at once. I could go heavily in depth, but to put it simply, it would have delay that grows with the workload.

 

foo_external_player

Reply #2
I think the question is not about perfect sync and more about how. Invoking commands via command line is supported by the foobar client.
Once there was a plugin called foo_winamp_spam. I don't know if it is still compatible. Other ways to do it would be to code your own plugin that registers a named pipe/network connection/whatever tickles your fancy. foo_upnp allows to query the state via UPnP/DLNA which might be supported by XBMC.

If it's your first C++ project I would suggest learning C++ first though and not just learn it by doing it.

 
SimplePortal 1.0.0 RC1 © 2008-2019