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 1646841 times) previous topic - next topic
MidknightStar and 2 Guests are viewing this topic.

foo_upnp

Reply #950
1. due to the way it works, lastfm:// items can only work with Playback Stream Capture (which do not exist in very old versions). You play lastfm:// items normally in foobar, then play Playback Stream Capture (aka what foobar2000 is playing) on your renderer.


I downloaded a newer version of foobar and newer version of foo_upnp and tried this out -- it seems to work great, thanks.

Just a couple of questions: is there a way to display track tag data for the currently playing track in the renderer while using the "Playback Stream Capture" mode?  Also, if I have multiple foobar playlists available to me on the remote (server) machine, is there any way I can change from playlist to playlist from the renderer while staying in Playback Stream Capture mode?  (The renderer is a standalone hardware playback device... a Phillips Streamium NP1100). 

Thanks again for all of your excellent work.

itazura



foo_upnp

Reply #951
Just a couple of questions: is there a way to display track tag data for the currently playing track in the renderer while using the "Playback Stream Capture" mode?


Not possible currently. For that to work I'd need to implement dynamic metadata and your renderer would have to make use of it which is not guaranteed at all.
Maybe emulating the shoutcast protocol could work (provided the renderer makes use of dynamic metadata).

Quote
Also, if I have multiple foobar playlists available to me on the remote (server) machine, is there any way I can change from playlist to playlist from the renderer while staying in Playback Stream Capture mode?  (The renderer is a standalone hardware playback device... a Phillips Streamium NP1100).


If I understand correctly, when playing an item from your renderer's interface, you want foobar2000 to play it to the renderer using Playback Stream Capture (instead of direct streaming) ? The only use that I can see for that, would be to be able to trigger play of lastfm items from the renderer's interface which is currently not possible. Was it what you had in mind ?

foo_upnp

Reply #952
Also, if I have multiple foobar playlists available to me on the remote (server) machine, is there any way I can change from playlist to playlist from the renderer while staying in Playback Stream Capture mode?  (The renderer is a standalone hardware playback device... a Phillips Streamium NP1100).

If I understand correctly, when playing an item from your renderer's interface, you want foobar2000 to play it to the renderer using Playback Stream Capture (instead of direct streaming) ? The only use that I can see for that, would be to be able to trigger play of lastfm items from the renderer's interface which is currently not possible. Was it what you had in mind ?


Yes, I think that you've properly intuited my situation.  I basically want to be able to change (or change to) foobar2000-served lastfm radio streams via the renderer interface.  In foobar2000, I have various lastfm streams set up as discrete playlists (that's how foo_lastfm_radio sets things up).  It would be neat to be able to move between lastm "stations" via the renderer interface.  Does that make sense?


foo_upnp

Reply #953
Just a couple of questions: is there a way to display track tag data for the currently playing track in the renderer while using the "Playback Stream Capture" mode?


Not possible currently. For that to work I'd need to implement dynamic metadata and your renderer would have to make use of it which is not guaranteed at all.
Maybe emulating the shoutcast protocol could work (provided the renderer makes use of dynamic metadata).


+1 to display trackinfo with foobarplack stream capture.
these renderers are able to play internet radio streams and show the now playing track info. Maybe possible to use the same "protocol" ?
example1 (KCRW) : http://205.188.234.2/stream/1045
example2 (ouifm) : http://broadcast.infomaniak.net:80/ouifm-high.mp3
Its mp3 in both cases, however they manage tags differently. Example1 is very clean.

foo_upnp

Reply #954
Hi bubbleguuum,

I see you are on the Naim forums, and i'm glad you have had some contact with the devs. I don't know how often you check that forum, so i'm posting the same issue here. Hope that's ok.

Currently I am not able to use the shortcut alphabetical letter search when browsing my Foobar library (this is done from the remote control)

From the NaimUniti Reference Manual
In long lists the handset numeric/text keys can be used to jump through the list alphabetically.

From the NaimUniti Troubleshooting guide
4.8 Cannot jump lists when using UPnP server
• Some UPnP servers do not return the browse data in alphabetically sorted lists. If this is the case then the Uniti cannot perform an alphabetical jump to a position in the list.


Can this functionality be enabled in your plugin?

Also, would it be possible to have a specific Uniti profile in the UPnP preferences? That would be useful.

Thanks for all your work. Nice tunes in your Foobar library screenshot by the way!

Tom

foo_upnp

Reply #955
Hi,

I want to use foo_upnp to serve my library to my Samsung (LE40C650) TV.
Streaming with Win 7 and/or Samsung share manager works just fine.
The TV can "see" foobar2000 but is not able to show me any contents.

The TV is connected via cable and the computer is connected via Wlan.

Hope someone is able to help.

Thanks in advance!


foo_upnp

Reply #956
I am using foo_upnp as a media server and I like it very much so far.
Unfortunately I haven't figured out how to deal with the foo_upnp_ml_tree.xml-file yet. Since I am planing on only having "Folders" and no "Albums" or "Artists" in my browse tree, I would appreciate any help!
Thanks in advance!
Best regards!

 

foo_upnp

Reply #957
Hi !

Thanks for this great component!

I have a (very) small feature request for the Browser GUI:
Could you please add "Add to the UPnP Browser Selection Playlist" to the right/left click actions?
There is only "Send to the UPnP Browser Selection Playlist" available right now.
But "Send to..." overwrites the current content of the playlist...

That would be great !


foo_upnp

Reply #958
Yes, I think that you've properly intuited my situation.  I basically want to be able to change (or change to) foobar2000-served lastfm radio streams via the renderer interface.  In foobar2000, I have various lastfm streams set up as discrete playlists (that's how foo_lastfm_radio sets things up).  It would be neat to be able to move between lastm "stations" via the renderer interface.  Does that make sense?


That makes sense. Adding to the potential feature list but no promise.


+1 to display trackinfo with foobarplack stream capture.
these renderers are able to play internet radio streams and show the now playing track info. Maybe possible to use the same "protocol" ?
example1 (KCRW) : http://205.188.234.2/stream/1045
example2 (ouifm) : http://broadcast.infomaniak.net:80/ouifm-high.mp3
Its mp3 in both cases, however they manage tags differently. Example1 is very clean.


This one is interesting to tackle. The protocol in question is the shoutcast metadata protocol. I'll be implementing it to provide dynamic
titles to Playback Stream Capture. When a renderer supports that protocol it puts the special HTTP header "Icy-MetaData:1" in the GET request.
Can you confirm you have this header for the PSC HTTP request ( enabling logging will display HTTP request headers) ?
Usually, dynamic metadata is requested for mp3 streams and I want to confirm if it is requested for PCM streams as well by your renderer.


Currently I am not able to use the shortcut alphabetical letter search when browsing my Foobar library (this is done from the remote control)
Also, would it be possible to have a specific Uniti profile in the UPnP preferences? That would be useful.


The items in the server tree are returned alphabetically sorted already. How do the Unity present the server's music ? Does it present the server's tree
as it is ? Also it could be useful if you tell what you were browsing (albums, artists, ...).



I want to use foo_upnp to serve my library to my Samsung (LE40C650) TV.
Streaming with Win 7 and/or Samsung share manager works just fine.
The TV can "see" foobar2000 but is not able to show me any contents.


I suspect  there is a possible regression with 0.99.29 and some DLNA TVs.
Can you try 0.99.28 ?


I am using foo_upnp as a media server and I like it very much so far.
Unfortunately I haven't figured out how to deal with the foo_upnp_ml_tree.xml-file yet. Since I am planing on only having "Folders" and no "Albums" or "Artists" in my browse tree, I would appreciate any help!
Thanks in advance!
Best regards!


Just remove the SubTree nodes you do not need, for folders only:

Code: [Select]
<MediaLibraryTree>
    <SubTree label="Folders" type="filesystem"/>
</MediaLibraryTree>




I have a (very) small feature request for the Browser GUI:
Could you please add "Add to the UPnP Browser Selection Playlist" to the right/left click actions?
There is only "Send to the UPnP Browser Selection Playlist" available right now.
But "Send to..." overwrites the current content of the playlist...


The UPnP Browser Selection Playlist purpose is to show the content of the selected tree node in the Browser. But you can
bind a click action to "Add to current playlist": it will add items to the UPnP Browser Selection Playlist, if it is the current playlist.

foo_upnp

Reply #959
I am using foo_upnp as a media server and I like it very much so far.
Unfortunately I haven't figured out how to deal with the foo_upnp_ml_tree.xml-file yet. Since I am planing on only having "Folders" and no "Albums" or "Artists" in my browse tree, I would appreciate any help!
Thanks in advance!
Best regards!


Just remove the SubTree nodes you do not need, for folders only:

Code: [Select]
<MediaLibraryTree>
    <SubTree label="Folders" type="filesystem"/>
</MediaLibraryTree>



Thank you very much for your reply!
There is one other interesting thing which I observed.
I am accessing foo_upnp with my OPPO BDP-80 and sometimes when I play a track, the sound is distorted and the voices are very deep. Overall I think that the playback is somehow too slow because it sounds like the track is played with half its original speed.
I can solve this problem by stopping and restarting the track (sometimes I have to restart it a couple of times).
I am using ALAC-files and foobar is set to decode ALAC to PCM which is then passed to my OPPO.
Since I am not experiencing such events when I use AssetUPnP, I think that it has something to do with foobar.
Maybe somebody has an idea how to solve this problem.
Thanks in advance!
Best regards!

foo_upnp

Reply #960
+1 to display trackinfo with foobarplack stream capture.
these renderers are able to play internet radio streams and show the now playing track info. Maybe possible to use the same "protocol" ?
example1 (KCRW) : http://205.188.234.2/stream/1045
example2 (ouifm) : http://broadcast.infomaniak.net:80/ouifm-high.mp3
Its mp3 in both cases, however they manage tags differently. Example1 is very clean.


This one is interesting to tackle. The protocol in question is the shoutcast metadata protocol. I'll be implementing it to provide dynamic
titles to Playback Stream Capture. When a renderer supports that protocol it puts the special HTTP header "Icy-MetaData:1" in the GET request.
Can you confirm you have this header for the PSC HTTP request ( enabling logging will display HTTP request headers) ?
Usually, dynamic metadata is requested for mp3 streams and I want to confirm if it is requested for PCM streams as well by your renderer.

I'd be happy to test this on my renderers. I have enabled log at ALL level. Started to play a track on one renderer, but can't find any string like PSC , nor icy-metadata, in the (long) log   
What should I do and where look for ?

foo_upnp

Reply #961
@alkasar:

With logging set as INFO level, look for something like:

Code: [Select]
GET /content/aa26c86f9c5141d513d27c3063ccb33b.wav?profile_id=1&convert=wav&samplerate=44100 HTTP/1.1
Host: 192.168.1.100:56923
Range: bytes=44-
Connection: close
User-Agent: foobar2000/1.0.3
Accept: */*
Icy-MetaData: 1


If you get the  Icy-MetaData header, all is good and the renderer request dynamic shoutcast titles for the stream.
I suspect you might get this header when streaming PSC as MP3, but not as WAV or LPCM  (above, the request is from a foobar2000 client which
always support shoutcast metadata)

EDIT: also try setting PSC to LPCM. It is possible the renderer put the magic header only for infinite streams (which WAV is not).

foo_upnp

Reply #962
Thank you very much for your reply!
There is one other interesting thing which I observed.
I am accessing foo_upnp with my OPPO BDP-80 and sometimes when I play a track, the sound is distorted and the voices are very deep. Overall I think that the playback is somehow too slow because it sounds like the track is played with half its original speed.
I can solve this problem by stopping and restarting the track (sometimes I have to restart it a couple of times).
I am using ALAC-files and foobar is set to decode ALAC to PCM which is then passed to my OPPO.
Since I am not experiencing such events when I use AssetUPnP, I think that it has something to do with foobar.


are your ALAC files regular 44.1Khz / stereo / 16 bits ?
The OPPO with some firmware versions has problem with multichannel audio.


foo_upnp

Reply #963
@alkasar:

With logging set as INFO level, look for something like:

Code: [Select]
GET /content/aa26c86f9c5141d513d27c3063ccb33b.wav?profile_id=1&convert=wav&samplerate=44100 HTTP/1.1
Host: 192.168.1.100:56923
Range: bytes=44-
Connection: close
User-Agent: foobar2000/1.0.3
Accept: */*
Icy-MetaData: 1


If you get the Icy-MetaData header, all is good and the renderer request dynamic shoutcast titles for the stream.
I suspect you might get this header when streaming PSC as MP3, but not as WAV or LPCM  (above, the request is from a foobar2000 client which
always support shoutcast metadata)

EDIT: also try setting PSC to LPCM. It is possible the renderer put the magic header only for infinite streams (which WAV is not).

when streaming PSC (Playback Stream Capture ! it took me quite a while to figure out the acronym ) in mp3 to my Philips Streamium renderer, I have this
Quote
GET /content/aa26c86f9c5141d513d27c3063ccb33b.mp3?profile_id=0&convert=mp3 HTTP/1.1
Host: 192.168.0.4:56923
Connection: close
User-Agent: Allegro-Software-WebClient/4.64 DLNADOC/1.00
Accept: */*


when streaming LPCM
Quote
GET /content/aa26c86f9c5141d513d27c3063ccb33b.l16?profile_id=0&convert=lpcm&samplerate=44100 HTTP/1.1
Host: 192.168.0.4:56923
Connection: close
User-Agent: Allegro-Software-WebClient/4.64 DLNADOC/1.00
Accept: */*


no Icy-metadata

edit : with the other renderer (Freecom musicpal)
Quote
GET /content/aa26c86f9c5141d513d27c3063ccb33b.l16?profile_id=0&convert=lpcm&samplerate=44100 HTTP/1.1
Accept: */*
Host: 192.168.0.4:56923
Connection: Keep-Alive
User-Agent: pvConnect DLNADOC/1.50
transferMode.dlna.org: Streaming

foo_upnp

Reply #964
I want to use foo_upnp to serve my library to my Samsung (LE40C650) TV.
Streaming with Win 7 and/or Samsung share manager works just fine.
The TV can "see" foobar2000 but is not able to show me any contents.

Quote
I suspect  there is a possible regression with 0.99.29 and some DLNA TVs.
Can you try 0.99.28 ?

Unfortunately 0.99.28 doesn't work. My TV always prompts me the same message.
Something like:"Unable to handle request, mediaplayer now returns to the main screen".

Do you want some more info, for example the console output or the hardware i'm using?

foo_upnp

Reply #965
are your ALAC files regular 44.1Khz / stereo / 16 bits ?
The OPPO with some firmware versions has problem with multichannel audio.


Yes, they are regular 44,1/16bit files which were ripped directly from the CD.
Kind regards!

foo_upnp

Reply #966
Thanks for this wonderful plugin, makes life a lot more pleasant ;)

And some... bug (or may be a feature).
I've been moving some files from external folder to media library. And found out that recently moved files can not be found in upnp search (or in the upnp media library tree - I guess they use the same source). But those files are perfectly searchable using regular foobar media library search. Restarting foobar resolved the issue - all the new files are in upnp search too (I guess I could just restart upnp server).

It would be great if upnp library syncs automatically with foobar main library.

foo_upnp

Reply #967
Hello, this is a UI question on the UPnP browser.

I am occasionally using Foobar as a controller for NaimUniti.
My UPnP server is Twonky.
Music is stored on Twonky, Foobar is on the laptop.
I have set up the display of library tree on Twonky to use "Folders".
In Foobar, I browse the tree of folders and select what to play on the NaimUniti.

The original structure is like that:

Music (folder)
- Classical (folder)
-- Beethoven (folder)
---Symphonie No1(folder)
----Track1 (file)

In Foobar UPnP browser, we can browse all the folders, but then on the last folder "Symphonie No1", the content (files) are displayed in the "UPnP Browser selection".

So when I click on the last folder, the system activate the UPnP Browser selection and it is not anymore possible to see to see the content of the UPnP Controller Playback Queue.

But ideally I would like to be able to see SIMULTANEOUSLY SIDE BY SIDE

1- the tree of folders (UPnP browser)
2- the list of available tracks on the UPnP server in the highlighted folder (currently displayed in UPnP browser selection)
3- the content of UPnP controller Playback queue

To my understanding, it is not possible to see both 2 and 3 as they are both "playlist" and only one can be active at a time.

Maybe one possible enhancement would consist in allowing in the UPnP browser the same behavior as in the "Album List".
In the "Album List", when choosing the View "by folder structure" the system displays both FOLDER and FILES in the tree.
The files are displayed under the last folder, as part of the tree. In the "Album List", files are displayed as base elements of the tree.
If that was possible in the UPnP browser, then we could easily navigate the UPnP Server tree, see the available tracks to pick from and also keep the UPnP Controller Playback queue active and visible.
I believe such feature would greatly improve ease of use.

But maybe I am missing a possible solution in the current design?

Thanks a lot for sharing your component.
Best regards,


foo_upnp

Reply #968
It would be great if upnp library syncs automatically with foobar main library.


As you noticed the server's ML content is construct on launch and is static after that (except for playlists that are loaded on first browse).
Maybe for search it could use the current content of the ML, but for the browse tree to be current (and to notify changes to the browsing client of modifications) it is possible but quite complicated. I'll see if I can handle search.

foo_upnp

Reply #969
Maybe one possible enhancement would consist in allowing in the UPnP browser the same behavior as in the "Album List".
In the "Album List", when choosing the View "by folder structure" the system displays both FOLDER and FILES in the tree.
The files are displayed under the last folder, as part of the tree. In the "Album List", files are displayed as base elements of the tree.
If that was possible in the UPnP browser, then we could easily navigate the UPnP Server tree, see the available tracks to pick from and also keep the UPnP Controller Playback queue active and visible.
I believe such feature would greatly improve ease of use.
But maybe I am missing a possible solution in the current design?


The Browser puts tracks in a playlist because it was designed before the Controller. At the time it was meant to present the tracks for playing in foobar2000.
If I had to do it again I would do it as you describe, in the style of the Album List. Maybe I'll make the modification eventually as indeed it would improve usability paired with the Controller. In the meantime, there is a work around: You can Drag'n'Drop a Browser node containing tracks to the Controller. Normal D'n'D play tracks immediately and SHIFT + Drag enqueue them in the Controller Playlist (or maybe it is CTRL + Drag I don't remember). You can also D'n'D tracks on the Controller from any playlist or even from Explorer.
Another possibility is to bind the Browser's right click action to "Add to Current Playlist". It will do just that, if you have the Controller Playlist active while browsing.

foo_upnp

Reply #970
Quote
(Tom_W @ Sep 17 2010, 15:14)
Currently I am not able to use the shortcut alphabetical letter search when browsing my Foobar library (this is done from the remote control)
Also, would it be possible to have a specific Uniti profile in the UPnP preferences? That would be useful.
Quote
QUOTE (bubbleguuum @ Sep 19 2010, 23:30) The items in the server tree are returned alphabetically sorted already. How do the Unity present the server's music ? Does it present the server's tree
as it is ? Also it could be useful if you tell what you were browsing (albums, artists, ...).


Hi Bubbleguum,
I think need to investigate this behaviour in more depth as i'm not sure the alphabetical letter search behaviour is consistently failing. There is a NaimUniti v3 firmware update coming at the end of Sept, so that may solve some issues. I will then check whether I can recreate this issue on all browse nodes (albums, artists, ... etc.).
I should also note that there is a difference in behaviour between some commands issued from the remote, compared from those entered on the Uniti keypad - e.g. 'stop'. I will look into this in more detail after the firmware update.

The Uniti presents the server's media library in a tree structure, as configured in the XML tree. So I can browse by album, genre, artist,codec etc. It appears the same as when I view my library using the UPnP browser on another PC.
I have modified the XML file to suit the Uniti's small screen interface, and to make it more intuitive (in my opinion!). This has actually been one of the biggest improvements to the usability of my system.

foo_upnp

Reply #971
As you noticed the server's ML content is construct on launch and is static after that (except for playlists that are loaded on first browse).


may be there could be made some manual semi-hacking trick to make library refresh (for example - some specific search request (smth like '%update library%') will make global library refresh or server restart)

foo_upnp

Reply #972
in the meantime you may want to access the server from the Internet not using your VPN (ie using its public IP).
Thanks, I know about this, but unfortunately I can't use it this way on my phone (using Pocket Player) since it does not allow me to manually specify a UPnP server.
Well, I might try to route the client requests through some kind of proxy to change the user agent header if I'm getting really desperate


foo_upnp

Reply #974
I do not know if my question has already been answered, but I could not find this specific setup, if it has just point me to the correct link.

How can I setup 3 different streaming profiles using just PlugPlayer?

1. PlugPlayer using local network (WIFI) > PlugPlayer Media Renderer
2. PlugPlayer using internet access > PlugPlayer Media Renderer
3. PlugPlayer using local network (WIFI) > Foobar2k Media Renderer

How can I differentiate these three profiles using:
use profile when: User-Agent (can I alter User-Agent with something else that would do the job?)
contain:...
Athlon64 Overclocking Calculator