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_upnp (Read 1627246 times) previous topic - next topic
0 Members and 2 Guests are viewing this topic.

foo_upnp

Reply #150
i can try answering those question:

- i use it as a browser over lan with another foobar instance
- it only happens in CUI (and not in potrable mode as i said)
- if i don't use UPnP the error is still there when closing foobar
- and it happens all the time



ok probably a problem related to the CUI Panel version of the browser. I'll have a look later tonight

foo_upnp

Reply #151
Some thoughts/feature proposals

1. Disc number is lost (not written to tags) when transcoding from lossless.
2. Is there a chance of getting disc number at the moment playlist gets the tracks from foo_upnp so that the tracks could be sorted as they should appear on actual album?
3. When trying to copy lossless files that should be transcoded on-the-fly foobar says that length is 0 (i understand that it can't be fetched before transcoding), but... just a thought for the far shelf :)

Thanks again for the implemented search :)

foo_upnp

Reply #152
bubbleguuum,
- No, the server was stopped
- I wasn't (willingly) connected to any server and nothing was playing via foo_upnp
- I was using the browser as CUI panel in a tab stack
- No
- Yes, by closing foobar

I hope that helps.

 

foo_upnp

Reply #153
new version with crash at exit with CUI version of the browser fixed + some new goodies:

0.98.2

- fix: crash on exit with CUI Browser version
- fix: track duration was not set for items transcoded to mp3
- new: new Browser option to use the "sort incoming files by" filter found in foobar's General configuration. Off by default.
- new: %discnumber% is now retrieved at browse time allowing better sorting



the use of the global "sort incoming files by" filter is off by default because the pattern is %path_sort% by default and while it works OK
for items on a filesystem, it gives total random order on upnp items due to their encoded paths.

foo_upnp

Reply #154
Hi bubbleguuum,

Could you please give us your thought about the two last posts in this topic ? http://www.hydrogenaudio.org/forums/index....showtopic=29308

I'd like to know if foo_upnp could evolve to offer such functionality, or if another component would be needed from scratch.

I think the idea of controlling a foobar server from a foobar client would be great (e.g. for laptop owners - controlling your HTPC from your laptop directly within foobar, without any VNC-like solution), and I hope a dev (maybe you ?) can be interested in implementing this.

Thank you.

foo_upnp

Reply #155
I think the idea of controlling a foobar server from a foobar client would be great (e.g. for laptop owners - controlling your HTPC from your laptop), and I hope a dev (maybe you ?) can be interested in implementing this.


Why don't you just use VNC or equivalent for this purpose ?

foo_upnp

Reply #156
Sorry, I was editing my post to say "without any VNC-like solution".

I think you can understand the benefits of not having to use VNC. For example having different interfaces for the Server and the Client, like I said in the other topic's example.

VNC is an external solution when we're talking about what a foobar component could be. Your question is about the same as asking "Why do people ask for lyric search components when there's Evil Lyrics ?". The answer is "Because some people (most people in fact) prefer to launch one single app called foobar and have all needed functionality". Better integration is the key : I think this makes sense.

foo_upnp

Reply #157
Sorry, I was editing my post to say "without any VNC-like solution".

I think you can understand the benefits of not having to use VNC. For example having different interfaces for the Server and the Client, like I said in the other topic's example.

VNC is an external solution when we're talking about what a foobar component could be. Your question is about the same as asking "Why do people ask for lyric search components when there's Evil Lyrics ?". The answer is "Because some people (most people in fact) prefer to launch one single app called foobar and have all needed functionality". Better integration is the key : I think this makes sense.


You proposal on the other topic doesn't make much sense on a technical point of view (sending clicks and stuff). Nobody is going to implement a complicated custom protocol when you can just use VNC and use the remote app just like if it was local. As I explained in a previous post in this topic, UPnP can be used to control a remote UPnP Renderer (not limited to foobar) with basic actions like play/pause/enqueue/set volume etc. I will implement probably this (limited) control at some point but it won't let you do everything like changing the DSP chain of the remote server for example.

Another cool way to remote control a foobar instance would be to create a plugin that emulate the MPD protocol. That way you could use any existing MPD client program to remote control foobar2000. There are MPD clients for all OS and even Web based ones. Now, if using a MPD client you could as well use a real MPD server connected to your HTPC...


foo_upnp

Reply #158
MPD looks interresting and yes it's pretty much what we're trying to achieve.

Why not use VNC?
- I've tried and It's just unhandy in any way. VNC has an option to only show a specific window, which sounds great. It works pretty well until a window is layered on top of foobar2000. Also it's quite hard to bring back the foobar2000 window if it becomes minimized. That said, I'd also like to run a few other applications on my server and in this case VNC just makes what was supposed to be an easy access, more difficult.

My current workaround/solution is to run each of my applications in full screen, from Remote Desktop set at a specified size, emulating that it's running as a window.
Can't wait for a HD-AAC encoder :P


foo_upnp

Reply #160
Another cool way to remote control a foobar instance would be to create a plugin that emulate the MPD protocol.

Interesting.

That way you could use any existing MPD client program to remote control foobar2000.

That's not what I'm trying to achieve because I want to keep using foobar, not a MPD client. Do you think that some future foo_mpd component with a selectable mode (client or server) could technically allow foobar to act as both a MPD client or a MPD server ? If that's technically feasible, then that could be what we're trying to achieve.

Now, if using a MPD client you could as well use a real MPD server connected to your HTPC...

That wouldn't work with my other topic's example :
- HTPC : would display fancy stuff (Album Art Viewer, Spectrum, Lyrics, Chronflow, you name it) => it would need foobar
- Client : would display search stuff (Facets, Playlist Manager, Playlist View...) => it also would need foobar

If the solution is a foo_mpd client/server plugin, then maybe it's time to create a topic for it. Would that be relevant ?

foo_upnp

Reply #161
Another cool way to remote control a foobar instance would be to create a plugin that emulate the MPD protocol.

Interesting.

That way you could use any existing MPD client program to remote control foobar2000.

That's not what I'm trying to achieve because I want to keep using foobar, not a MPD client. Do you think that some future foo_mpd component with a selectable mode (client or server) could technically allow foobar to act as both a MPD client or a MPD server ? If that's technically feasible, then that could be what we're trying to achieve.

Now, if using a MPD client you could as well use a real MPD server connected to your HTPC...

That wouldn't work with my other topic's example :
- HTPC : would display fancy stuff (Album Art Viewer, Spectrum, Lyrics, Chronflow, you name it) => it would need foobar
- Client : would display search stuff (Facets, Playlist Manager, Playlist View...) => it also would need foobar

If the solution is a foo_mpd client/server plugin, then maybe it's time to create a topic for it. Would that be relevant ?


The main interest in emulating a MPD server via a plugin is that it is easy to do (no UI work except a few server prefs)  and that you can use *instantly* all existing MPD clients on a variety of platforms. So you don't need to write a foobar mpd client to make it work, although technically you can write one (it would allow to access a real MPD server btw). But writing a mpd client would be  of lot of work as you must implement your own custom browser (like foo_upnp do). There's no way you can hook a remote library (be it mpd or upnp) into the current ML.

foo_upnp

Reply #162
Hi bubbleguuum,

Could you please give us your thought about the two last posts in this topic ? http://www.hydrogenaudio.org/forums/index....showtopic=29308

I'd like to know if foo_upnp could evolve to offer such functionality, or if another component would be needed from scratch.

I think the idea of controlling a foobar server from a foobar client would be great (e.g. for laptop owners - controlling your HTPC from your laptop directly within foobar, without any VNC-like solution), and I hope a dev (maybe you ?) can be interested in implementing this.

Thank you.


Maybe

http://www.hydrogenaudio.org/forums/index....2218&st=350


?

foo_upnp

Reply #163
@bubbleguuum : Thanks for clearing this up.

So, besides writing a MPD server plugin for foobar (easy part), the "easiest" thing to turn foobar into a MPD client would be that Peter himself decides to do so, right ? If Peter would implement MPD protocol within foobar core, then I suppose that it would take advantage of all existing UIs and browsing features (no need for a custom browser). Is this correct ?

(if I'm right then I'll make a feature request, and we'll see what happens  )


@Kev0 : the problem about http browsing is that it only only offers a set of limited features (e.g. no Facets). It's not like having a "real" foobar at your fingertips. I think this was already said on the other topic. But thanks anyway.

foo_upnp

Reply #164
Bubbleguum, have you had a chance to see if you could figure out what was causing the http error when transcoding to mp3 on the PS3? I tried it again with one of the new versions (I don't remember if I tried with the very latest or not yet), and it was still doing it. I wasn't sure if that was supposed to be included in these releases, or if it was still on the to do list. Once again, thanks for your work on a cool plugin!

foo_upnp

Reply #165
Let me preface my post with this (skip to the  for the real meat of the post):

I can only hope after having read the first couple pages rather briefly that I can have my question answered- I know I am probably going to get some smartypants flaming reply for 'not searching' or 'reading a post'. With that said I present my predicament.

  I seem to having an issue with my entire library loading on the PS3. A generous estimate is that 1/3 of my (~100k songs) library loads and then the rest is non-viewable. Any suggestions or comments would be appreciated. Thank you.

-Brandon

foo_upnp

Reply #166
@dr_rick:  I know what is causing trouble but do not have a PS3 anymore to try a few things to address the pbm

@GreenSmurf: maybe the PS3 has some internal limit on how much album it can present in the tree ? does the PS3 indicate any error ?
Maybe it chokes on some album name and goes no further?

foo_upnp

Reply #167
It would appear that the PS3 just won't load more. Its not any name in particular being that it does seem to vary from time to time. I think it might be a buffer issue or maximum data packet issue. Not too sure if the latter actually is feasible but I have heard of similar issues with other music servers.

-B

foo_upnp

Reply #168
Hi Folks,

I am new to foobar, but I very much like the idea of using foobar as a upnp renderer on a PC.
I have a machine in my network which runs the Twonky Mediaserver v3.1.
Two Terratec Noxxons already make use of that server, working flawlessly.
Now I want a software renderer to access that server, too.

Sure enough I stumbled over the foo_upnp component after a while, but I cannot get it to *do* something.

I downloaded the latest version 0.98.2., and put the foo_upnp.dll into the ..\components folder.
When restarting foobar, my firewall popped up alerting me that foobar2000.exe is trying to broadcast using remote port 1900 (SSDP protocol) - I figure thats the server part of the upnp functionality, so it must have found and used the foo_upnp.dll.

So far, so good.

Now I expected to "see" my Twonky server somewhere in the library tree, but nope.

I also tried to have one foobar2000 running on a machine, sharing some MP3s acting as server, and another one, on a different PC, but nope again - couldn't see a shared tree or anything.

So here's my obvious question:
What am I doing wrong?

Any help appreciated.

Kind regards
Holgov

PS: Using Windows XP pro and Foobar2000 v0.9.6.5.

foo_upnp

Reply #169
I downloaded the latest version 0.98.2., and put the foo_upnp.dll into the ..\components folder.
When restarting foobar, my firewall popped up alerting me that foobar2000.exe is trying to broadcast using remote port 1900 (SSDP protocol) - I figure thats the server part of the upnp functionality, so it must have found and used the foo_upnp.dll.

So far, so good.

Now I expected to "see" my Twonky server somewhere in the library tree, but nope.


You need to add the UI Element (called UPnP Browser) to your configuration. It is a window containing the browse tree.
If you're new to foobar maybe you have not done  UI layout editing before, so here's some quick instruction to add the UI element:
enter layout editing mode (View->Layout->Enable layout editig mode). In this mode when you right click on a component in the UI, you'll
be able to add new ones. For a quick test just select one component, right-click then select Replace UI Element and in the component list choose UPnP Browser  (it is in the Utility section).
Then you should have a window with your UPnP server listed and browsable. If you don't want to replace an existing component you'll need to add a vertical or horizontal splitter first.
You may want to familiarize yourself with the UI editing mode as this allow to custom the UI.

foo_upnp

Reply #170
(...)
You need to add the UI Element (called UPnP Browser) to your configuration. It is a window containing the browse tree.
If you're new to foobar maybe you have not done  UI layout editing before, so here's some quick instruction to add the UI element:
enter layout editing mode (View->Layout->Enable layout editig mode). In this mode when you right click on a component in the UI, you'll
be able to add new ones. For a quick test just select one component, right-click then select Replace UI Element and in the component list choose UPnP Browser  (it is in the Utility section).
Then you should have a window with your UPnP server listed and browsable. If you don't want to replace an existing component you'll need to add a vertical or horizontal splitter first.
You may want to familiarize yourself with the UI editing mode as this allow to custom the UI.


Awesome, now it works as expected.
Thanks mate, will keep on playing around and feedback any issues I find.

cu
Holgov

foo_upnp

Reply #171
New version with 2 big new features allowing remote control. This is still a beta so please submit any crash. Thanks TheLink for testing .

0.99.0
--------

- new: new UI Element / CUI Panel, "UPnP Controller":  makes foobar2000 an UPnP Control Point able to control any UPnP Media Renderer.
- new: foobar2000 is now an UPnP Media Renderer, allowing remote control with any UPnP Control Point.
- fix: crashes due to dangling pointer
- fix: crashes when multiple foo_upnp Media Servers on the LAN
- fix: browser: now in the UPnP Browser, it is possible to see multiple foo_upnp Media Servers
- fix: browser: set unknown track length if not track length info present in track browse data
- fix: buggy behaviour when replacing the UI Element by a Splitter
- chg: server: if no %discnumber% in track do not send %discnumber% as '?'


Media Renderer
==========

This implement the standard UPnP Media Renderer interface which allow basic control of the player by any UPnP Control Point software.
The Media Renderer can be enabled or disabled in the "UPnP | Server | Basic Settings/Status"  Configuration pages.
Note that the Media Renderer name cannot be configured (yet). It is always of the form "foobar2000 Media Renderer <windows username>".

Media Controller
==========

The UPnP Controller UI Element allow to control any remote Media Renderer, be it another foobar2000 instance on the network running this plugin, or a hardware based one.

Basic operations such as play/pause/stop etc are supported. There are 2 operating modes according if "Use controller playlist" is enabled or not.

- Use controller playlist disabled

Playback operation buttons (play/pause/etc) will send the related command to the remote renderer.

- "Use controller playlist" enabled

If it is enabled, a special playlist called "UPnP Controller Playback queue" is used. This playlist is locked and cannot be removed while the UPnP Controller component is running.
It is the playback queue of the remote renderer, so you can add any items in it, even UPnP items from any UPnP Server.
In this playlist, the highlighted track is the track that will be played when using the "Play" button. It then becomes the playing track for the remote renderer.
Next and Prev will instruct the renderer to play the Next or Prev track in this playlist. Double-clicking a track in this playlist will play it in the renderer.
The "PL" button will show the  "UPnP Controller Playback queue" playlist.

Beware that for the remote renderer to be able to play local items (ie non-UPnP or http) in this playlist,
the UPnP Media Server must be started on the foobar instance holding those items (which is also the instance running the Controller).

When the UPnP Controller is running and there are Media Renderers detected on the LAN, a playlist context menu is added a sub-menu  called "UPnP Controller".
It will let you play (or enqueue) directly the selected items in any renderer. It will effectively put automatically those selected items
in the "UPnP Controller Playback queue" playlist and start play. This is similar to the WMP 11 (Vista) and 12 (Win7) "Play to" feature.
This context menu is also available by right-clicking a node containing items in the UPnP Browser.


foo_upnp

Reply #173
Great plugin! Posted a guide on how to use this to stream music to your iPhone remotely. http://nerdlets.org/2009/05/07/set-up-a-up...ith-foobar2000/


Many thanks for that nice article . It just remember me how a proper www page with docs for this plugin is needed. You're the first to report that it works well with PlugPlayer on the iPhone/iPod touch. There's no reason it shoudn't have worked but until someone tries, you never know. Did you try controlling the foobar Media Renderer from PlugPlayer ?

Also it was cool to learn you could access the Media Server from the WAN with this app. This is possible only because the developper included entering a manual URL which most control points do not allow since autodiscovery is supposed to happen automatically on the LAN. When accessing the server from the WAN, I supposed you hat to put the login/password in the manual URL for it to work (something like http://user:password@my.hostname:port") ?

foo_upnp

Reply #174
New bugfix version, uploaded just a few hours after 0.99.0 so there are chance you already have it.

0.99.1

- fix: crash sometimes when entering Preference/General/Keyboard Shortcuts page
- fix: crash when triggering the default action (double-click or Enter) on an item in the "UPnP Controller Playback Queue" playlist, if the UPnP Controller is not launched.