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

foo_upnp

Reply #1276
@bubbleguuum
Man, great work, especially for "what is currently playing".
I was looking for that for quite some time.
Thanks!

foo_upnp

Reply #1277
I've been trying to stream my music collection at work since they won't let me use my flash drives anymore. I signed up for the Google Music beta, worked great, then they blocked it. Signed up at MP3Tunes for the same thing, worked great, then they blocked that too. I'm I correct in assuming I can stream my Foobar media library from home onto my Foobar at work? If so, can someone point to some instructions on how to do so? Thanks.

Edit - I think I figured it out anyway. Seems that I'd have to ask the IT guys at work for the network info, and they're not likely to help me out.

foo_upnp

Reply #1278
Hello Bubbleguum,
I'm trying to use foo_upnp in conjunction with foo_httpcontrol to set the rating of which is played on the render device. foo_httpcontrol works more correctly if I use Playback Stream Capture, I can run through foo_runcmd. But here is to choose the device itself, which broadcast the sound is only possible with the mouse, ie, foo_httpcontrol in use does not work. There is a workaround: Play on ... Upnp Controller switches to the desired device, then it must be stopped, and then run Playback Stream Capture. Using this sequence foo_httpcontrol realize is not very convenient.

Can I do the same command from the shortcut menu Upnp Controller\Play on ..., click on the main menu where there are commands for Upnp Controller: Playback Stream Capture on device.?
Or select the device on the same Upnp Controller via the main menu?

foo_upnp

Reply #1279
Hello Bubbleguum,
I'm trying to use foo_upnp in conjunction with foo_httpcontrol to set the rating of which is played on the render device. foo_httpcontrol works more correctly if I use Playback Stream Capture, I can run through foo_runcmd. But here is to choose the device itself, which broadcast the sound is only possible with the mouse, ie, foo_httpcontrol in use does not work. There is a workaround: Play on ... Upnp Controller switches to the desired device, then it must be stopped, and then run Playback Stream Capture. Using this sequence foo_httpcontrol realize is not very convenient.

Can I do the same command from the shortcut menu Upnp Controller\Play on ..., click on the main menu where there are commands for Upnp Controller: Playback Stream Capture on device.?
Or select the device on the same Upnp Controller via the main menu?


There are no command menu entries  or keyboard shortcuts to select a renderer. However there's an easy trick you can use to play "Playback Stream Capture" to any renderer in 1 action: you can add the "Playback Stream Capture" item as a regular track in any playlist via File>Add location  using 7C042341-8E49-4282-BB9D-7EE978E8DE37://  as the location. "Playback Stream Capture" will now appear as a regular track in your current playlist that you can "Play to..." to any renderer.

 

foo_upnp

Reply #1280
Hi,

I run foobar2000 1.1.6 w/ foo_upnp 0.99.34. My system also runs a VMWare VM that uses NAT networking so I need to use VMNet8, one of two additional subnets that VMWare created. When I attempt to stream to a Windows 7 WMP12 client, the media's IP address properties has one of the VMWare subnet and not the local area connection subnet. If I disable VMNet1, the network used for Host networking, foo_upnp uses the other subnet for the IP address. It would be nice if we could choose what subnet or adapter to use for a uPnP server--even a hard-coded config file if possible as my machine has a static IP.

Note that I don't have this problem if I use foobar2000 w/ foo_upnp client (under Windows XP or Server 2003, I haven't tested it under Windows 7). I was testing it on a plain version of Windows 7.


Thanks

foo_upnp

Reply #1281
Hello Bubbleguum,
I'm trying to use foo_upnp in conjunction with foo_httpcontrol ...

Can I do the same command from the shortcut menu Upnp Controller\Play on ..., click on the main menu where there are commands for Upnp Controller: Playback Stream Capture on device.?
Or select the device on the same Upnp Controller via the main menu?


There are no command menu entries  or keyboard shortcuts to select a renderer. However there's an easy trick you can use to play "Playback Stream Capture" to any renderer in 1 action: you can add the "Playback Stream Capture" item as a regular track in any playlist via File>Add location  using 7C042341-8E49-4282-BB9D-7EE978E8DE37://  as the location. "Playback Stream Capture" will now appear as a regular track in your current playlist that you can "Play to..." to any renderer.


Thank you for this trick , it's work.

foo_upnp

Reply #1282
Hi,

I run foobar2000 1.1.6 w/ foo_upnp 0.99.34. My system also runs a VMWare VM that uses NAT networking so I need to use VMNet8, one of two additional subnets that VMWare created. When I attempt to stream to a Windows 7 WMP12 client, the media's IP address properties has one of the VMWare subnet and not the local area connection subnet. If I disable VMNet1, the network used for Host networking, foo_upnp uses the other subnet for the IP address. It would be nice if we could choose what subnet or adapter to use for a uPnP server--even a hard-coded config file if possible as my machine has a static IP.

Note that I don't have this problem if I use foobar2000 w/ foo_upnp client (under Windows XP or Server 2003, I haven't tested it under Windows 7). I was testing it on a plain version of Windows 7.


These virtual interfaces should be skipped during enumeration. Since they are not, the workaround is to change the order the system lists network interfaces so the VMWare is not first. Command-line utility ipconfig will give you the current order. I don't remember the specifics to change order so Googling might help.

foo_upnp

Reply #1283
I have the same problem with VirtualBox's virtual interface. And changing the interface order doesn't help. I also tried changing the interface metric. I have to disable the virtual interface in order to get the right address in WMP12 on my laptop.
If age or weaknes doe prohibyte bloudletting you must use boxing

foo_upnp

Reply #1284
These virtual interfaces should be skipped during enumeration. Since they are not, the workaround is to change the order the system lists network interfaces so the VMWare is not first. Command-line utility ipconfig will give you the current order. I don't remember the specifics to change order so Googling might help.
Interesting. It turns out that before I disabled VMNet1, the ordering was
VMNet1
VMNet8
LAN

WMP12 used VMNet1's subnet. All 3 have static IPs.

When I disabled VMNet1 and re-enabled it the listing is now
VMNet8
LAN
VMNet1

WMP12 now uses VMNet8's subnet.

I had updated my LAN's drivers so it was probably due to this change which caused the order to change in the first place. foo_upnp client works great under Windows 7 otherwise--it's only a problem with WMP12. I will have to revisit disabling/re-enabling VMNet8 during this upcoming patch Tuesday to see if its behavior changes.


Thanks!

foo_upnp

Reply #1285
0.99.35 released (first post to download or autoupdate or components site).

Not much new, just better compatibility with BubbleUPnP and the removal of non-routable streaming URLs (related to issue discussed above involving virtual network interfaces).

0.99.35

  • server: for ALAC files, protocolInfo was using mime type audio/mp4 instead of audio/m4a
  • server: Content-Type (audio mime-type) in streaming requests replies was not correct for some type of files
  • server: search support for BubbleUPnP
  • server: don't set non routable streaming URL ips in returned items
  • controller: use volume range defined by selected renderer instead of hardcoded [0..100]





foo_upnp

Reply #1286
This new version solved the problem vith WMP12 and VirtualBox network interface.

Thanks!
If age or weaknes doe prohibyte bloudletting you must use boxing

foo_upnp

Reply #1287
0.99.35 released (first post to download or autoupdate or components site).

Not much new, just better compatibility with BubbleUPnP and the removal of non-routable streaming URLs (related to issue discussed above involving virtual network interfaces).
Very much appreciate the quick response!

foo_upnp

Reply #1288
Why don't columns UI colors and fonts settings affect UPnP Browser window?



foo_upnp

Reply #1291
Hi,
Is it possible to use the plug-in as Control Point with Renderers on the Internet (not on a local network)? And if yes - how?

foo_upnp

Reply #1292
I'm using foobar200 v1.1.8 and foo_upnp 0.99.35, on a win7 X64 machine with a PS3 on the other end..

I can't seem to get anything other than the server itself to show up on the PS3. All folders are empty.
I've looked through a bunch of threads and I can't seem to find anything wrong with me config..

Using 2Player I have full access. Perhaps I'm missing something.
Anyone else have this issue and figured it out?

foo_upnp

Reply #1293
I can't seem to get anything other than the server itself to show up on the PS3. All folders are empty.
This may be a stupid question, but are you sure you're looking under music, and not videos or pictures?

foo_upnp

Reply #1294
hi bubbleguuum,

THANKS for the great work! The upnp plugin is like dream comes true!

My setup: foobar2000 1.1.8 (the latest official), your upnp component (latest version I think). Audio is via HDMI (ATI 5570 display card) to a Pioneer receiver. I can play song directly in foobar2000, or on iPad PlugPlayer via upnp. PC is Win7 64bit.

It all works great for my CD rip in separated flac or lossless m4a format.

Few days ago I finally managed to rip SACD using my old PS3. I rip SACD in .iso format and play in foobar2000 using the sacd plugin. I just drag the .iso SACD rip in foobar2000 and some how it sees all the track info for me to play. I guess the track info is embedded somewhere in the .iso file.

The sacd plugin can be configured to output in 88.2khz/24bit or up to 176.4khz/24bit. When directly playing sacd in foobar2000, the output rate is exactly the selected rate in sacd plugin.

But, if I play using iPad via upnp (using the same foobar2000 as Renderer), it will always output in 192khz.

After a few hours checking and monitor the foobar2000 console (great debug tools!), finally I found that if the playback is in CUE format, and I guess those .iso sacd file is also considered as CUE mode, then the upnp plugin will append output sampling rate, bit depth etc in the playback command. If I play a single standalone track via upnp, then there is no switch for output sampling rate.

For regular CD rip file, it seems ok as the output sampling rate is always at 44.1khz (without any upsampling).

But it does not work for SACD rip. SACD source is in DSD format in 2.8Mhz 1 bit. foobar2000 sacd plugin will convert the DSD format to the selected PCM format on the fly in playback. sacd plugin highest output format is in 176.4khz 24bit.

I guess upnp simply check the audio file "properties" for the desired output sampling rate, which is at 2.8Mhz for the native sacd file. Since the system can only output up to 192khz, then upnp instruct foobar2000 to output in 192khz.

Since sacd plugin can output up to 176.4khz only. When upnp ask foobar2000 to output in 192khz, there is a double sampling which de-grade audio quality. Even when someday the sacd plugin can directly convert to 192khz, many people say the best output sampling should be in multiple of 44.1khz, which is at 176.4khz for the current system.

Please add the option for user to disable the automatically added sampling rate, bit depth command switch in upnp mode when playback in CUE format. Simply play the audio file "as is" is good enough.

If upnp can not do this, then I will need to rip SACD in separated track and manually convert all song to 176.4khz for the best playback quality. Then if someday there is a better SACD to PCM conversion method then I will need to re-do all the file. If possible, I'd like to keep using the original .iso file for playback.

Thanks for reading all these! I know I'm really asking for a issue that most user may not notice. But I hope we can all get the best result!

Thanks in advance.

psme.

foo_upnp

Reply #1295
hi bubbleguuum,

first I need to apology for "change" your program!

I need a way to force upnp output 176.4khz when playing sacd iso file. First I tried changing 2.8Mhz value to 176400 (there are 5 instance) in sacd plugin, but fail! foobar keep crashing!

Then I think I should try on the upnp dll. There are 4 instance of 192000 value, and only 1 has a 88200 value nearby. So, I use a hex editor and change that 192000 to 176400. And I also need to modify the .xml file under foobar folder. In the end, the max rate in Streaming option is at 176400.

And finally, playing sacd iso via upnp outputs in 176400hz (instead of re-sample to 192k), and match sacd plugin output rate. Subjectively, there seems no audible difference when playing the same sacd track directly in foobar, or via upnp, both at 176.4khz. So, hopefully, there is no more re-sampling...

Finally, it sounds great!!!

psme

ps: it'd be even better when the upnp plugin has official setting to by pass any re-sampling...

foo_upnp

Reply #1296
Oops, I posted this initially in the development area, but I guess it should have been here. I didn't realize it was a third party interface. So, anyhoo, now in the right place:

So I'm working on UPnP support for our CQC product (www.charmedquark.com) and the immediate reason for it is that someone wants a driver to control Foobar from CQC. It's been quite a spinup so far, since I've not messed with UPnP at all before. But I have the basics worked out. However, no matter what I do when invoking SetAVTransportURI, Foobar's console shows that it's complaining that it cannot part the metadata. I've sent it an empty string, an empty DIDL-Lite element, various people's interpretations out there of what DIDL-Lite format should be. I've just tried probably fifty variations by now and it always fails for this reason.

What am I missing here? It's got to be something obvious.

BTW, while I'm asking, if anyone out there has played with this, how the hell do you pass an "I don't care" type of input parameter to InvokeAction in the C/C++ version of the COM interface (for the safe array of input parms I mean)? If I pass a VT_NULL variant foobar STILL complaints that it couldn't parse the metadata. If I try an EMPTY one that's obviously bad because the API fails on my side. An empty string doesn't work. What am I missing here? I'm burning up hours and brain cells on this seemingly simple thing.

foo_upnp

Reply #1297
I just tried playback a CD of a live concert. The tracks are ripped in separate flac. Controller is Plugplayer (v3.8.0) on iPad, upnp server and renderer is foo_upnp (v0.99.35). foo_upnp server is configured to never transcode or decode so the flac is streamed in original format. Under upnp playback, there is small break (~0.5s I guess) between track. Playing directly in foobar2000 (v1.1.8) is gapless.

Then I ask a friend using PlugPlayer to remotely access my foo_upnp server (over internet) and playback to his linn renderer. The playback is gapless. My friend also has a Denon receiver which also works as a upnp renderer, and the Denon only play 1 track and stop so can't really test gapless playback!

I understand linn has some special handling on gapless playback. And I thought since foo_upnp are both server and renderer and maybe gapless playback is possible. Guess not...

foo_upnp

Reply #1298
I just tried playback a CD of a live concert. The tracks are ripped in separate flac. Controller is Plugplayer (v3.8.0) on iPad, upnp server and renderer is foo_upnp (v0.99.35). foo_upnp server is configured to never transcode or decode so the flac is streamed in original format. Under upnp playback, there is small break (~0.5s I guess) between track. Playing directly in foobar2000 (v1.1.8) is gapless.

Then I ask a friend using PlugPlayer to remotely access my foo_upnp server (over internet) and playback to his linn renderer. The playback is gapless. My friend also has a Denon receiver which also works as a upnp renderer, and the Denon only play 1 track and stop so can't really test gapless playback!

I understand linn has some special handling on gapless playback. And I thought since foo_upnp are both server and renderer and maybe gapless playback is possible. Guess not...


UPnP and gapless is a long story. To make things short, generally you cannot play gapless with UPnP unless you have a Linn DS (and a Control Point that handle Linn DS).
But there's still a way to have gapless, using "Playback Stream Capture" aka "what foobar2000 is currently playing".
Play your gapless tracks using regular fb2k playback controls (not the UPnP Controller) then in Pluglayer (or another Control Point), Browse the foobar2000 library and play "Playback Stream Capture". PlugPlayer will then play whatever foobar2000 is playing as a single WAV, LPCM or MP3 stream (depending on how it is configured), gaplessly.
You can as well instruct a renderer to play "Playback Stream Capture" within foobar2000, from the UPnP Controller.

As for SACD, I've added 176.4Khz in the list of samplerates, I don't know why it was forgotten in the first place.

foo_upnp

Reply #1299
Thanks for adding 176.4khz option. But that is still not ideal. Because in SACD iso playback mode, foo_upnp treat it as cue mode, and append sample rate and other switch to start playback. Even there is a 176.4khz option (as I already have that with the hack), when I actually, play real 192khz content, I need to change the option back to 192khz. Then change back to 176.4khz for SACD playback. Is it really not possible to output the audio as is, without appending any sample rate, bit depth switch?

The beauty of upnp is I can browse and play using my iPad. Hence I don't prefer to use "Stream Playback" mode.

Btw, since linn's upnp extension is open source, is there any upnp renderer besides linn that support it? It'd be great if such renderer runs on PC like foobar...