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: foo_httpcontrol (Read 990642 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

foo_httpcontrol

Reply #100
I might be wrong, but I decided to stick to classic html for better compatibility.
Code: [Select]
    v0.72 24 May 2008
        WARNING: delete previous version of foo_httpcontrol.dll and start
                 Foobar, answer "No" when you're asked whether you want to
                 keep plugin settings.                                        

        add: reorganization of templates and settings to provide more
             customization possibilities. default templates are valid HTML
             4.01 transitional now;
        fix: utf-8 instead of utf8 in content-type encoding;
        fix: safety checks;


 

foo_httpcontrol

Reply #102
I see a lot of people complaining about the lack of customizability with foo_httpcontrol. Well, this component is about getting a web frontend for foobar2000 with little to no hassle. If you want to go all nuts about configuring and creating your own user interface/frontend, there is another component called foo_controlserver which only exposes a telnet-like interface to foobar2000. You can then write your own PHP/Perl web frontend which connects to this server to issue commands to foobar2000 and retrieve data.

I'm doing this here:  http://beta.saivert.com/foobar2000%20webui/

For what foo_httpcontrol represents I'm satisfied. It basically is a no-brainer while my own script is a complex AJAX monster.

Both foo_httpcontrol and foo_controlsever could do with improvements. Nothing is ever perfect (in a realistic world) but don't go over board with demands. Sometimes keeping it simple and splitting up radical new ideas in new projects is the better way to do it.

foo_httpcontrol

Reply #103
no one would object that dedicated server combined with a decent scripting language and foo_controlserver (or, what I personally like better, foo_comserver2) is a zillion times better approach, and that's exactly what I've already said somewhere up the thread.
but every tool has its use, and anyone is free to take the way they suppose is optimal. I'm cooking this thing in the way I like and need in my daily use, and don't pretend it to be anything else that it really is.

foo_httpcontrol

Reply #104
Code: [Select]
    v0.73 26 May 2008
        add: templates optimized for iphone, by soulruins;
        add: helper1-3 titleformats are always formatted in playlist now playing
             item context;
             for perfomance reasons playlist row titleformat is formatted in
             playlist context only for queued items, what makes possible to
             use introduced in 0.9.5.3 %queue_*% fields instead of built-in
             #queue_info#.
        fix: probability of insane playlist and queue lengths in totals;

foo_httpcontrol

Reply #105
I removed the previous version and didn't keep the settings. But now I get the following error (in Firefox):
"failed to read file: E:\Music\Sorted\foo_httpcontrol_controls_tpl.html, error: 2."

Where 'E:\Music\Sorted\' is the home directory and browse path. I get the same error when I leave browse path blank. When I leave both input blanks the plugin works fine. This problem didn't occur with the previous version.

What could it be?

And the queue index isn't shown. Only total time of the queued tracks

foo_httpcontrol

Reply #106
home dir specifies a directory where plugin will look for template files, and also it serves as a document root of webserver. you should leave it blank if you're satisfied with keeping the above data in components/foo_httpcontrol_data.

for queue indexes to work you have to update foobar to latest version. I'm using 0.9.5.3 built-in queue info field now.

foo_httpcontrol

Reply #107
If I play a track from one playlist in foobar and have focus on another playlist in httpcontrol it fails to display the right track.
httpcontrol displays information about the track which has the same place in the focused playlist as the actual track has in its playlist.

foo_httpcontrol

Reply #108
@oblikoamorale: you're right. thanks

foo_httpcontrol

Reply #109
Code: [Select]
    v0.74 27 May 2008
        fix: wrong playlist context (active instead of playing) in helper1-
             helper3 title formats;

foo_httpcontrol

Reply #110
thanks for the quick fix.

foo_httpcontrol

Reply #111
i am starting to use this plugin using Fluid on mac, so NICE!
I was wondering is there a way to stream the albumart ? (usually a folder.jpg in playing file dir)

foo_httpcontrol

Reply #112
i am starting to use this plugin using Fluid on mac, so NICE!

care to post a screenshot?
I was wondering is there a way to stream the albumart ? (usually a folder.jpg in playing file dir)

if albumart is an external file of the certain name, why not, I can make it. although I don't know why would anyone need it, to be honest.

foo_httpcontrol

Reply #113
Well... in my case not a real need, certainly...
but it would be nice if we could have the option to see the album art ("cover.jpg" in the album folder, for me).
And I mention the word "option" because it could make for a very slow redraw, so I'm not sure if i'd use it  on wifi connection, but I'd certainly do while using the wired network.

foo_httpcontrol

Reply #114

i am starting to use this plugin using Fluid on mac, so NICE!

care to post a screenshot?
I was wondering is there a way to stream the albumart ? (usually a folder.jpg in playing file dir)

if albumart is an external file of the certain name, why not, I can make it. although I don't know why would anyone need it, to be honest.


[a href="http://img148.imageshack.us/my.php?image=picture2pr4.png" target="_blank"] so it s nice to see the albumart of what i am playing in my http interface. And album art is external file always called folder.jpg and placed in the same dir as the track file .

Thanks for your concern

EDIT: would it be possible for the web interface to update itself when we make modifications to foo_httpcontrol_controls_tpl.html? Currently i have to restart foobar for each modification

foo_httpcontrol

Reply #115
I've optimized the control page for use in a sidebar. Copied the volume up/down from the iphone setup, moved around some buttons, changed the code a bit, changed the styles so the main player buttons stretch to fill the sidebar width. Simplified the markup for the progress bar, adjusted the related styles and the script to make the click-to-seek work independent of the length of the text in it. In my version, you'll get a bordered box you can click in. Also works fine when the text in the progress bar wraps.

Developed and tested in Opera 9.5, also seems works to work fine in Firefox 3 and Opera 9.27 (with minor issues), and looks the same in Safari 3, though that browser doesn't sport a sidebar :-)
Screenshot is taken using the Tango CL skin in Opera.

Screenshot
Zipped HTML File

foo_httpcontrol

Reply #116

getting closer to something that i want

foo_httpcontrol

Reply #117
Code: [Select]
    v0.74 27 May 2008
        fix: wrong playlist context (active instead of playing) in helper1-
             helper3 title formats;

Replaced 0.72 for this newer version.
Strange that now, after each entry (to the right of the duration) the following text appears: #queue_info#

foo_httpcontrol

Reply #118
I use my macbook to control my foobar. And album art is external file always called folder.jpg and placed in the same dir as the track file .
so, I suggest something like this: album art will be retrieved by virtual request of /albumart.jpg. plugin will look for folder.jpg in playing track directory. if folder.jpg is not found there, first of jpg residing in the same dir will be shown. if there still is no picture, I'll show a /nocover.jpg.

and thanks for the shots, they're interesting!

EDIT: would it be possible for the web interface to update itself when we make modifications to foo_httpcontrol_controls_tpl.html? Currently i have to restart foobar for each modification
technically - yes. right now I'm reading these files on startup and keep them in memory, for perfomance reasons, again. I'll benchmark reading templates on each request. if no perfomance hit is going to be discovered, I'll leave it be.

I've optimized the control page for use in a sidebar.
yay, I didn't know opera 9.5 had something like built-in sidebar. your work looks promising, gotta try it! thanks for sharing.


Replaced 0.72 for this newer version.
Strange that now, after each entry (to the right of the duration) the following text appears: #queue_info#

use the following playlist row format. also you'll need updating to 0.9.5.3
Code: [Select]
<td class="p">[%album artist% ]['['%album%[ CD%discnumber%][ #%tracknumber%]']' ]%title%[ '//' %track artist%]</td><td class="t">%length%</td>[<td class="q">%queue_indexes%</td>]

foo_httpcontrol

Reply #119
I've optimized the control page for use in a sidebar.
yay, I didn't know opera 9.5 had something like built-in sidebar. your work looks promising, gotta try it! thanks for sharing.
Opera has had customizable panels since version 5.10  Just check the box 'Show in panel' in the bookmark properties. I've reordered and prettified the buttons a bit more, and sneakily updated the existing files online.

foo_httpcontrol

Reply #120
Quote
use the following playlist row format. also you'll need updating to 0.9.5.3
Code: [Select]
<td class="p">[%album artist% ]['['%album%[ CD%discnumber%][ #%tracknumber%]']' ]%title%[ '//' %track artist%]</td><td class="t">%length%</td>[<td class="q">%queue_indexes%</td>]

Was already using 0.9.5.3; with the new playlist row string above problem was solved.
Thanks!

foo_httpcontrol

Reply #121
I'm trying to modify foo_httpcontrol_controls_tpl.html as shown below in color:

<input name="Stop" title="Stop playback" type="button" style="font-size: 12pt; font-family: webdings;" value="<" onclick="pc(this.name);">

With that, I wanted to change the button captions to Webdings chars that resemble players' signs: "<" for instance is a solid square in that font.
It works with IE (which I don't use) but with Mozilla Firefox 3.0 RC1 the font-size parameter does modify size but the font-family one doesn't change font to Webdings (although Allow pages to use their own fonts is set).

[2008-05-30 update]

I have learned that *dings fonts are not displayable anymore by design in the newest release of Firefox.
Could not find a way to circumvent the limitation yet (directions on http://www.mvps.org/dmcritchie/firefox/firefox.htm do not work anymore).

foo_httpcontrol

Reply #122
Why not just a "reload page templates" button on the preferences page?

foo_httpcontrol

Reply #123
Why not just a "reload page templates" button on the preferences page?

Could do it but would be even greater if we had a command for reload page templates. I would use this instead of refresh command.

foo_httpcontrol

Reply #124
Code: [Select]
    v0.75 30 May 2008
        add: templates optimized for opera sidebar, by Ritsl;
        add: Browse path values must be separated by '|' instead of ';' now;
        add: templates are reloaded on each page request;
        add, especially for album art addicts: [ALBUMART] macro.
             returns an url link to album art picture.
             picture search variants must be specified in "Album art"
             preferences title formatted field, separated by '|'.

             example of field value, which makes plugin look for folder.jpg
             and then, if folder.jpg is not found, for any jpg in playing
             track directory:
             $puts(dir,$left(%path%,$strrchr(%path%,\)))$get(dir)folder.jpg|$get(dir)*.jpg
            
             if nothing is found, /nocover.jpg is returned.
             if track is not playing, /nocoverinfo.jpg is returned.

             example of macro usage:
             <img src="[ALBUMART]">