Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: Idea - Remote (over tcp/ip|http) (Read 22971 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Idea - Remote (over tcp/ip|http)

Reply #25
@bluestat: wonderful! i was looking for something like this, and i like it although it's still pretty basic.
could you please at least implement the shuffle command for me?

btw, i'm using a scriptable telnet client and assigned hotkeys for the different actions.


Idea - Remote (over tcp/ip|http)

Reply #27
bluestat:

Fantastic!  Perfect!
Want to release the source?  =D

Idea - Remote (over tcp/ip|http)

Reply #28
I have used several different telnet and http control servers for Winamp, and I've come to the conclusion that they all suck or don't do what I want them to. Therefore I decided to make my own

I recently started working on a media player abstraction layer for controlling any kind of media player (through a general C++ interface). I'm also implementing a command line "telnet" server which uses this abstraction layer to control its player. I already have the basic framework up and running against a home-made player i hacked togehter last night (using the BASS sound system), so I guess implementing it for Foobar2000 won't be that big a problem - as soon as I can figure out which end of the SDK I should start looking at that is..

The idea behind the project is to deliver one single unified protocol for controlling any kind of media player through a tcp/ip connection. My general implementation will support all the basic commands like play, pause, resume, next, prev, etc. in addition to common playlist mainpulation commands (getplpos, getplsize, getplfile, getpltitle), setting/getting volume and panning settings, getting/setting song position and so on. The framework is also easily extendible so developers can add special functionality for their custom player implementation.

Using this protocol in yuor controlling application will allow you to control any player my abstraction layer and "telnet" server can be implemented for (and that's virtually any player - that's the whole idea!), meaning you can write one web interface and use it to control either Winamp, Sonique, Foobar2000, XMMS or whatever player yuo feel like using that week

I only started this project a few days ago, so don't expect to see a release for a while yet. Even though I'm probably going to make an implementation for Foobar2000, I'm probably going to implement it for Winamp first and integrate it into my WinCue plug-in. (But hey, if you write a client for Winamp/WinCue you can just switch to Foobar2000 once the server is ported! )
Anders Sandvig
www.wincue.org - winamp playlist manager & minidisc recording tool

Idea - Remote (over tcp/ip|http)

Reply #29
I've put together a plug-in which I hope the posters in this thread will find useful. It's called HTTP Writer. It shows the info of the current song playing, with your personal format string through a HTTP server listening on port 4800. (Users of httpQ will find this plug-in quite familiar)

At the same time I added a simple remote control function that allows you to run commands like Playback/Random for instance. For more info visit the plugin homepage or get it right away.

Idea - Remote (over tcp/ip|http)

Reply #30
A-ha!  That's what I wanted - many thanks! 

two things:

1 Are you planning to add more commands?  (eg, playlist switching etc)
2 Playback/Pause doesn't work here.

I knocked up a little player page, used and iframe to capture the output (holds the player in the outer page that way).  It's very easy to use and does exactly what I want.  thanks again!

ruzzzzzz

Idea - Remote (over tcp/ip|http)

Reply #31
Quote
A-ha!  That's what I wanted - many thanks!  

two things:

1 Are you planning to add more commands?  (eg, playlist switching etc)
2 Playback/Pause doesn't work here.

I knocked up a little player page, used and iframe to capture the output (holds the player in the outer page that way).  It's very easy to use and does exactly what I want.  thanks again!

ruzzzzzz

I'm glad you liked it!

1. My personal interest in this plugin is the track information, so I will most likely not implement the playlist switching, eventhough I don't think it would be that much work to do so. The source code is out there - perhaps someone is interested?

2. So I noted, I'm not sure why but I changed my plugin page to reflect this fact 

Thanks for the feedback!

Idea - Remote (over tcp/ip|http)

Reply #32
Quote
The source code is out there - perhaps someone is interested?

The truth is out there as well. The truth in this case is that your server denies access to foo_write_http.zip (at least for me ).

Idea - Remote (over tcp/ip|http)

Reply #33
Quote
Quote
The source code is out there - perhaps someone is interested?

The truth is out there as well. The truth in this case is that your server denies access to foo_write_http.zip (at least for me ).

Sorry about that. I forgot the file permissions after last upload. It should work now.

Idea - Remote (over tcp/ip|http)

Reply #34
@brikk
Hint: Use charset=utf-8 in Content-Type...

Idea - Remote (over tcp/ip|http)

Reply #35
brikk any chance of being able to format the HTML page that is displayed?

Idea - Remote (over tcp/ip|http)

Reply #36
Quote
Posted by foosion:
@brikk
Hint: Use charset=utf-8 in Content-Type...


I choose to use the iso/ansi standard because of the many terminals that use it. If there is a strong need for utf-8 I could add an option to switch between the two.


Quote
Posted by Skates:
brikk any chance of being able to format the HTML page that is displayed?


I'm not sure what you mean, maybe you could give me an example? I guess it would work to add HTML-parameters to the formatting string and then use it with PHP for example. The page that is displayed if you view it in a browser is encoded in plain/text with charset iso-8859-1, so it depends on the browser if it accepts HTML anyway - some do, some don't.

Idea - Remote (over tcp/ip|http)

Reply #37
Quote
I choose to use the iso/ansi standard because of the many terminals that use it. If there is a strong need for utf-8 I could add an option to switch between the two.

OK, fair enough. But my point was that you had "utf8" instead of "utf-8" in your code (the hyphen was missing).

Idea - Remote (over tcp/ip|http)

Reply #38
Yeah I meant to allow html formatting to be inputted into the formatting string, so you can dress up the output a little!

Idea - Remote (over tcp/ip|http)

Reply #39
IMHO remote control with Lirc (> WinLirc) protocol would be best. You could control foo using any lirc client (that would be Girder plugin in my case).
From remote computer and from infrared remote :)

Idea - Remote (over tcp/ip|http)

Reply #40
Quote
IMHO remote control with Lirc (> WinLirc) protocol would be best. You could control foo using any lirc client (that would be Girder plugin in my case).
From remote computer and from infrared remote

I'm working on something like this.  I'm using vb.net to do it (it's the only language I know so don't bash me for it..).  Currently I'm stuck on how to interface vb with foobar.  I've tried using the winamp api emulator plugin and some sample winamp ipc vb6 code I converted to .net but that doesn't work.  The only thing I'm currently able to do is execute foobar with various command line options which is nasty ugly awful horrid tasteless, etc way of doing things. 

If anyone would like to give me a hand or some pointers on how to go about talking to foobar from within my program, I'd be all for it.

Idea - Remote (over tcp/ip|http)

Reply #41
Quote
I've put together a plug-in which I hope the posters in this thread will find useful. It's called HTTP Writer. It shows the info of the current song playing, with your personal format string through a HTTP server listening on port 4800. (Users of httpQ will find this plug-in quite familiar)

At the same time I added a simple remote control function that allows you to run commands like Playback/Random for instance. For more info visit the plugin homepage or get it right away.

it is not stable.

in  the foobar_hta,you can refresh or do any action of the right click menu,it will play the next item or previous.

and if we try to connect to the server all the time with wrong password,it will success at last!!

and could you make an explain of the full command!!

Idea - Remote (over tcp/ip|http)

Reply #42
Quote
Quote
I've put together a plug-in which I hope the posters in this thread will find useful. It's called HTTP Writer. It shows the info of the current song playing, with your personal format string through a HTTP server listening on port 4800. (Users of httpQ will find this plug-in quite familiar)

At the same time I added a simple remote control function that allows you to run commands like Playback/Random for instance. For more info visit the plugin homepage or get it right away.

it is not stable.

in  the foobar_hta,you can refresh or do any action of the right click menu,it will play the next item or previous.

and if we try to connect to the server all the time with wrong password,it will success at last!!

and could you make an explain of the full command!!

In what way is it not stable? Could you give me a detailed description of how you get past the password protection, because I cannot repeat this. I do not understand what you mean by a full explanation of the command, so I cannot give you a better explanation than there is on the page as of now

Since the HTA application was developed by Ruzz, I will let him answer the questions that concern it.

Idea - Remote (over tcp/ip|http)

Reply #43
Here's something I've hacked together for my Pocket PC, for use as a remote. It's not pretty (it uses foo_textwriter to output all kinds of data to a php file, etc), and it's not working 100% yet (having problems with the actual control buttons), but it does work enough for me.

Here's a screenshot:

We're all just noise on the wires..

Idea - Remote (over tcp/ip|http)

Reply #44
Alright, http_write doesn't work to well, at least when I'm using it. I wrote a php script that'll connect to foo_controlserver, and allow me to control foobar that way. For anyone who's interested, here's the script:

Code: [Select]
<?
function tnet($cmd) {
 $fp = fsockopen ("192.168.1.100", 3333, $errno, $errstr, 10);
 if(!$fp) {
        echo "Connection failed\n";
        exit();
 }else{
        echo "<b>Connected</b>\n<br>";
        echo ". ".fgets($fp, 128)."<br>\n";
        echo ". ".fgets($fp, 128)."<br>\n";
        echo ". ".fgets($fp, 128)."<br>\n";
        echo ". ".fgets($fp, 128)."<br>\n";
        echo ". ".fgets($fp, 128)."<br>\n";
        fputs ($fp, "$cmd\r\n");
        fputs ($fp, "$cmd\r");
        echo "<br><b>Command Sent:</b> $cmd <br>\n";
        echo ". ".fgets($fp, 128)."<br>\n";
 }
 fclose ($fp);
}
tnet($cmd);
?>


Just call it via "/filename.php?cmd=play" or whatever command you want.
We're all just noise on the wires..

Idea - Remote (over tcp/ip|http)

Reply #45
One problem with foo_http_write. I use it to generate XML info and writer doesn't translate & as &amp; etc. Could somebody correct it?

Idea - Remote (over tcp/ip|http)

Reply #46
Quote
One problem with foo_http_write. I use it to generate XML info and writer doesn't translate & as &amp; etc. Could somebody correct it?

This should not be too hard to fix, it might even have been fixed already in the HTML output hack I recieved the other day. However I won't be able to check it out until next year when I get back home, but I'll have a look into it then and update you about it as soon as possible.

Idea - Remote (over tcp/ip|http)

Reply #47
Quote from: brikk,Dec 23 2003, 06:22 AM
Quote from: jako,Dec 17 2003, 12:04 AM
Quote from: brikk,Nov 22 2003, 10:53 AM
I've put together a plug-in which I hope the posters in this thread will find useful. It's called HTTP Writer. It shows the info of the current song playing, with your personal format string through a HTTP server listening on port 4800. (Users of httpQ will find this plug-in quite familiar)

At the same time I added a simple remote control function that allows you to run commands like Playback/Random for instance. For more info visit the plugin homepage or get it right away.

it is not stable.

in  the foobar_hta,you can refresh or do any action of the right click menu,it will play the next item or previous.

and if we try to connect to the server all the time with wrong password,it will success at last!!

and could you make an explain of the full command!!

In what way is it not stable? Could you give me a detailed description of how you get past the password protection, because I cannot repeat this. I do not understand what you mean by a full explanation of the command, so I cannot give you a better explanation than there is on the page as of now

Since the HTA application was developed by Ruzz, I will let him answer the questions that concern it.

oh,sorry,i found that it is my system's  wrong!

on my system it looks like all the remote softwares' passwords become void! 

i try it on other computers and it is working fine.



[/QUOTE]I do not understand what you mean by a full explanation of the command[/QUOTE]

it means all the command that can use in the http writer.

Idea - Remote (over tcp/ip|http)

Reply #48
Quote
Quote
I do not understand what you mean by a full explanation of the command


it means all the command that can use in the http writer.

The commands you can use are:
    Playback/Play
    Playback/Stop
    Playback/Next
    Playback/Random

Previously it was possible to use most commands that you can find in the items preferences, but I didn't find it very useful to be able to for example quit foobar remotely

For a Random track command the full url would then be:
http://<insert your IP here>:4800?cmd=Playback/Random

If you have entered a password append &pwd=<password> and you get:
http://<insert your IP here>:4800?cmd=Playback/Random&pwd=<password>

Idea - Remote (over tcp/ip|http)

Reply #49
Quote
I put together this little control server that works as a plugin for foobar2000. Compiled against the 0.7 SDK. No documentation for it other than the help command;p but you will figure it out!

That is perfect!
I created a small application to use your plugin. It's not very good yet, because I created it in 15 minutes, but in the future it should somehow look like foobar and work almost the same way.

If you are using the standard fields ("codec;bitrate;%_length_seconds%;ALBUM ARTIST;ARTIST;ALBUM;DATE;GENRE;TRACKNUMBER;TITLE"), you can use my application for remote-control (running on windows).

--> Let me be your application <--

I hope it helps!
You can replace the images, if you want and restart the program to use them.

---
I'm german - please do not laugh about my spelling