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 833265 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Re: foo_httpcontrol

Reply #1125
 ::)  Having in mind the documentation and the component has not been updated since years, and there is no words about what's supported on the server at all, and I clearly indicated had no idea what was going on... yep. It was an open question, since maybe someone knew the answers.

I would appreciate if someone comes with an idea to create a f*** txt file on the server in some way (which can be latter read via SMP). Or a callback in SMP to the Parse command of httpcontrol. Or whatever.

Like that's the only thing missing to create a fu*** online controller which can do anything and it's not limited to playback controls.

Re: foo_httpcontrol

Reply #1126
Calm down dear. And writing text files on the server is an insane feature request far beyond the scope of what this component is meant for. If you really need that, I suggest running your own server with nodejs / python / deno/ whatever.

Re: foo_httpcontrol

Reply #1127
Calm down dear. And writing text files on the server is an insane feature request far beyond the scope of what this component is meant for. If you really need that, I suggest running your own server with nodejs / python / deno/ whatever.
It's not that "I really need that." It's just a really simple thing which could work if at least one of these things would be possible:
- HTTP control had a way to communicate arbitrary text to foobar, more than an useless Parse command which does nothing right now.
- HTTP control was compatible with on_notify for SMP /JSP usage.
- Foobar had a command line action capable of writing things to a playlist file without user input.
- SMP had a main menu command system allowing arbitrary function calls + args.
- SMP was integrated within foobar command line + args.
- etc.

Any of those would do, or would be hackable.

Running your own server with nodjs means completely replacing http control which is clearly out of question.

It's like all the pieces are there, and all of them seem to be created to forbid arbitrary communication between components.

Re: foo_httpcontrol

Reply #1128
::)  Having in mind the documentation and the component has not been updated since years, and there is no words about what's supported on the server at all, and I clearly indicated had no idea what was going on... yep. It was an open question, since maybe someone knew the answers.
foo_httpcontrol is essentially a "dumb" webserver. It can serve files, and that's it*. It can serve your .php files too obviously, but there's no PHP backend, so they won't be interpreted in any way.... you'll just get the <?php crap along with all the rest. That's why all templates are .js based as the browser has to do all the work. As you've concluded there doesn't seem to be any way for the webserver to write files on the host. You'll have to rethink that requirement. Or make the user manually create that file themselves.

*It can also obviously handle some very basic queries to return playlist/song image data, but that's really an extra service running, and I wouldn't consider it part of the webserver.

Re: foo_httpcontrol

Reply #1129
The use case was setting the Output device and the Preset via online controller.
SMP would read a txt file with the selected device/preset, and set them after calling a custom SMP main menu.

Having a txt file as intermediate file allowed to pass arbitrary argument, since there is no other way to do it. If the user has to write the txt file... then there is no point for the  "online controller" part at all. The problem is not only the server component,  but all the ecosystem thought to be closed in many ways which clearly complicates easy tasks.

As workaround I'm adding files to a dummy playlist (CmdLine + foobar2000.exe /add), whose filenames are the command names selected from dropdown lists XD. Then I call a SMP main menu (CmdLine + /X) which parses the commands and set the preset/device according to the dummy filenames, then deletes the playlist and switches to the previous one. It's ridiculous to do this... but works.

X

Re: foo_httpcontrol

Reply #1130
This is a pre-release version of the new ajquery-xxx controller.

Spoiler (click to show/hide)

Code: [Select]
*** Updates over old ajquery controller

This is a non-extensive list of main changes done to the controller:
- Tile, artist, album tags are cut at display to try to maintain one track per row.
- General tweaks to UI placement, space usage and fonts (larger).
- Rating is now shown on the playlist list for every item (stars).
- Themes: dark/light. (new themes may be easily added editing the html)
- Default 20 items per page.
- Artwork: non-playing and non-artwork found images are now animations.
- Extended controls reworked: rating and Custom contextual menu Buttons.
- Playlist Tools: Spider Monkey Menus, Output Devide & DSP selection.
- Integration with Spider Monkey Panel and Playlist Tools (SMP script).
- Dynamic icons, menus, tooltips and component checking via SMP.
- Toogable log panel (usually used to display console log from foobar).

Full changelog and functionality explanations on readme.

Default theme is now dark theme, use '_switchTheme.bat' to change it to light if preferred. Final release will have dark background on artwork gif to match the theme.

By default, context menus buttons are set with pre-defined examples.

Playlist Tools buttons are not. SMP menus should work as long as you have them set on foobar and fill the default json with your own values. Output/dsp changing too as long as you met the requirements and fill the default json with your own values. (use the defaults folder as examples)

The advanced Playlist Tools integration  (automatically filling device, dsp, menu list, icons, etc. and configurable menus) will be missing until I release the next version of Playlist Tools.


Re: foo_httpcontrol

Reply #1131
Just added the dark theme gif version, no more changes. At some point I will try to make it a transparent gif, so it works with any background. Will see if it's possible.

X

X

Re: foo_httpcontrol

Reply #1132
Have updated the repository of Playlist Tools with all the changes required to use the new controller (previous reply) with full working features.
.
(it's recommended to also download the latest files from the rest of my scripts, since I have changed all with major changes)
Changelog is up to date on github. Check unreleased.

Re: foo_httpcontrol

Reply #1133
Dear all

I've been using the Android App Foobar2000 controller PRO (newest version  0.9.4.0a) for 2 years now. I'm having fun with it, however, since recently it shows an error message it has now shown before when closing the app:

"Last custom version of HTTP Control is needed"

I've already downloaded the most recent version 0.97.17 from Hydrogenaudio:
https://hydrogenaud.io/index.php/topic,62218.0.html

and saved it to the following folder:
C:\Users\User\AppData\Roaming\foobar2000\user-components\foo_httpcontrol

How can I get rid of this error message and again take control of Foobar (closing, restart etc. the programme)? Many thanks for your help!
It's years later, but I experienced the same problem. Below the post it was mentioned that the problem was solved, but It didn't really help that it wasn't mentioned how.
In my installation I had previously installed FoobarCon, a similar controller. Just like Foobarcontroller, Foobarcon also installs a component htttpcontrol on the PC, version 0.97.28-fc. That is a later version than the one Foobarcontroller installs (an apparently custom version 0.97.14-fb2kc).
By removing the newer HTTPcontrol controller from the pc installation ((in the Preferences/Components screen, right click and choose 'remove') the Power functions of the app started to work.

Re: foo_httpcontrol

Reply #1134
Any possibility someone updates this with new SDK and x64 systems?

Even if development is not going to continue, there are no alternate remote plugin which:
- Works with android app(s) .
- Allows full control of foobar via CMD commands.
- Allows to run arbitrary SMP menus (via CMD commands).

So having a x64 version would be great. I updated the ajquery preset to use responsive design, fixed all remaining bugs, integrated it  with SMP scripts and even the playlist manager, so unless someone comes with a more complete pack, that's the best we can get right now.

Re: foo_httpcontrol

Reply #1135
I honestly have no idea about these http control thingies but wouldn't beefweb be a better choice as it's actively maintained.

https://github.com/hyperblast/beefweb

edit: if it's already been said this no good then just ignore, I'm too lazy to check.

Re: foo_httpcontrol

Reply #1136
I honestly have no idea about these http control thingies but wouldn't beefweb be a better choice as it's actively maintained.

https://github.com/hyperblast/beefweb

edit: if it's already been said this no good then just ignore, I'm too lazy to check.
Beefweb has bugs with autoplaylists, missing functionality, no CMD compatibility, no android app, etc.

So while it may be an alternative at some point, it is not right now. (that's said, I would gladly take beefweb if it's improved)


Re: foo_httpcontrol

Reply #1138
 beefweb have been there for 4 years without much improvement, and autoplaylists bugs for 2 years reported....
foo_httpcontrol is open source too (?)

https://bitbucket.org/oblikoamorale/
https://bitbucket.org/oblikoamorale/foo_httpcontrol/downloads/

i.e. I'm just requesting for someone to recompile it, obviously it's fine if no one wants to do it.

Re: foo_httpcontrol

Reply #1139
All I want is one billion dollars...



Not even attempted 64bit yet. It was a mess just getting this to work.

edit: I should have checked before but there's no license and that means no one has the right to do anything with it.

Re: foo_httpcontrol

Reply #1140
Heya, chiming in by regor request.

The plugin was originally BSD 3 licensed, but license plaque was lost during migration from discontinued code.google.com to bitbucket.org. Apparently I didn't bother adding license reference to source code.

I'll add license on bitbucket project page later.

Great news about foobar2000 stepping into 64 bit world, somehow I'd missed that. Although I'm sceptical about effortless conversion of the code to 64 bit, considering jnetlib dependency which is even older and as untrustworhy as the plugin itself.

Re: foo_httpcontrol

Reply #1141
I see this has been updated for fb2k with dark mode/64bits. Nice.

My previous comment It was a mess just getting this to work. was based on the fact I changed to C++ 20. In hindsight, that was a mistake.  ;D


Re: foo_httpcontrol

Reply #1142
thx very much for ANY update!!! :)

 

Re: foo_httpcontrol

Reply #1143
Oh, thanks! Will update the template ajquery-xxx asap on github then.
Uses responsive design now, so it should be fully compatible with any device. Dark theme available. Full integration with my Playlist Manager and Playlist Tools scripts, full documentation within browser, ported most of the mouse gestures from Foobar2000 (like double clicking on playlist name to rename, or on status bar to show focused item) and fixed a lot of bugs/quirks present on the original template.

Spoiler (click to show/hide)

Code: [Select]
*** Release history 2022
14 Sept  0.92
fix: All Playlist Tools and Manager lists get now refreshed when entries are deleted;
fix: All CMD actions are now disabled (UI and functionality) when missing dependencies;
fix: Wrapped all JSON reads on try/catch;
fix: Minor code fixes and code cleanup;

28 Aug  0.91
add: Double clicking on status bar (below playlist) sets focus on playing item;
cha: Playlist Tools integration using dynamic menus;
cha: Updated all help texts about Playlist Tools integration;
fix: Minor code fixes;

25 Jun  0.90
add: File browser now has header columns;
add: Double clicking on active playlist opens rename popup;
add: Double clicking on Console log panel alternates between 2 modes;
add: Double clicking on Artwork alternates between 2 sizes;
add: Double clicking on volume slider mutes the sound (mute button);
add: Help button;
add: Full documentation within browser;
add: Playlist Manager button;
add: Playlist Manager integration: available file list, load / save, actions, etc.;
cha: Full responsive design, should adapt and fully work on any device;
cha: Cursor changes while controller is being reloaded;
cha: Cursor for playlist items;
cha: Cursor for playlist page slider;
cha: Cursor for volume slider;
cha: All popup windows are now closed when pressing their button a second time;
cha: Minor adjustments to UI colors: album name, playing item, backgrounds...;
cha: Minor adjustments to themes;
cha: Minor adjustments to browser UI;
cha: Minor adjustments to progress bar;
cha: Added and edited multiple tooltips;
cha: A lot of code cleanup;
cha: Text on tabs is now non-selectable;
cha: Text on most panels is now non-selectable;
cha: Library list can now be filtered with the search input (usually by artist);
cha: Removed play button. Replaced with smart play/pause button;
cha: Up/down keys allow to select items (+ shift allowed);
cha: Icon for selected items;
fix: Search panel now has a max height and a scroll bar (instead of infinite size)
fix: Text on playlist is now non-selectable (fixes shift + selection not working properly);
fix: Text on progress bar is now non-selectable (fixes seeking not working properly);
fix: Broken seeking (since original ajquery);
fix: Double clicking on playlist page slider to focus on now playing limited to button;
fix: Double clicking on a playlist row now works the same on the title or album;
fix: Focusing on now playing item jumps to page only when needed;
fix: Focusing on now playing item will also mark the item as selected;
fix: Selection is not lost when clicking on buttons, opening panels or running most actions;
fix: Active playlist tab cursor was not consistent with the rest of tabs;
fix: Console log panel position is now limited to window width and height;
fix: Loading indicator showing white background on dark theme;

*** Release history 2021
25 Jun  0.80
add: Development continued to be compatible with Spider Monkey Panel scripts;
add: Playlist Tools integration:
- Call pre-configured menu entries with buttons
- Call arbitrary menu entries by name (retrieves list from foobar first)
- Set DSP (retrieves list from foobar first)
- Set Device (retrieves list from foobar first);
add: SMP main menu integration;
add: Contextual menu Buttons;
add: Themes (and associated art);
add: Console log panel;
add: Rating on playlist list (stars);
cha: General UI changes and font size;
cha: Artwork images (no playing / no artwork);
cha: Row tags are now cut to not overextend over multiple lines;