Closed SamDel closed 5 years ago
Ideas from the 1.9 branch, and some (wild) new ideas:
I would be content if "Start when Windows starts" was in the installer and not an option in the app.
My vote would be to keep the "Desktop Streamer" as is ... There are already a gazillion apps that play Internet radio and upnp/dlna streams and all that ... A separate app "Desktop Streamer Plus" perhaps?
I have devices that are upnp/dlna receivers ... I use Chromecast to stream to them because I can group Chromecast and I can't (that I know of) group upnp/dlna devices. One possible development would be to add support for upnp/dlna devices.
For what it's worth... I would prefer "Start when Windows starts" remain as an option in the app, because I may not always want the same action. Most other Apps I use that have this as a choice have it in an "Options" section that can be changed anytime.
My mistake ... I meant to say ... I would be content if "Start when Windows starts" was an option in the installer and not an option in the app ... The ideal solution is to have an option in the app.
I've added "Start last used devices or groups" to the list, that's a nice one! Only the devices that where playing when the application was closed for the last time will be restarted. For "Start when Windows starts" I will only make an option in the application. Adding an option to the installer was too much work (that wasn't clear in my previous comment).
wikijm added the translations for the new labels in 1.9.xx, so we're almost ready for a 2.0 release, don't you think?
The only part of 1.9.xx that is still not reliable seems to be the automatic start of devices. Is that coming out of 2.0 because automatic start of last used devices will be added in a future version?
I don't know what goes wrong there for you, for me it works every time. The failing (random) device sends a 'load failed' message when it tries to load the stream. Can be a resource problem. Is the CPU or memory at 100%? Maybe we find out later, or try to fix it in 2.0. Have you tried, @FA-Bubba ?
Can be a resource problem. Is the CPU or memory at 100%?
Could be ... it's a pretty pathetic little computer ... I'll look at CPU and memory use tomorrow.
@SamDel: I've been traveling, and haven't tried anything since Monday... I believe I was using v1.9.65, and the only issues I experienced were various speakers dropping off line, with some automatically coming back on line.
I'll load the current version on Friday -- what are any particular actions you want me to try?
I've created a new issue for this, and added it to the 2.0 project.
@FA-Bubba : check the 'Automatically start devices at startup' option and restarting the application. All devices should start, for @GrahamDLL some (random) devices give a load failed error.
I am guessing that I accidentally ran V2 yesterday when I got an exception when using automatically restart last used group. You commented that this might be because of a delay in the start of the "speaker" that is being captured.
The "speaker" that I capture with Desktop Streamer is actually another piece of casting software ...
It is Songcast from ... https://www.linn.co.uk/software
It is this ... https://github.com/openhome/ohSongcast
I am not sure if the version that I am using is the same as the version on Github.
@SamDel : Regarding "check the 'Automatically start devices at startup' option"...
Since my TV, which has a Chromecast dongle, is listed as a device, I don't believe I'll be using the "Start Devices at Startup" option (UNLESS, there is a way to designate 'preferred devices" for AutoStart).
I personally don't see this as a high priority, and I believe getting the App to run reliably with minimal device drop-offs would be the best focus for now.
I think the "Start last used devices or groups" option is more useful in most situations. Maybe I can add a "Keep trying to get this device in playing state" option. Now there is a retry here and there, but when the retry didn't work it stops trying.
I'll create a 2.0 release tomorrow (when there are no blocking issues), then we can start adding (and testing) new features.
@GrahamDLL : Nice that the application works with a virtual soundcard like that, never tried. I'll post a new version later, that waits till the soundcard is up and running.
See the board on what's done in Setup 2.0.1.zip.
I wait for about a minute now if the (virtual) soundcard isn't up and running yet when the application starts.
I just installed v2.0.1... The UI now only shows two Device Boxes across versus the three it used to be... Perhaps a little less convenient, but it may incent me to start testing the Speaker Groups I created...
The window is resizable now! And the size is persisted.
The resizable window is NICE! Sorry I didn't try that first...
FYI, v2.0.1 crashed in less than 1 hour of play -- it seemed to be trying to restore dropped audio, but was making weird noises (like water flowing). Other Apps also became responsive. so I had to reboot my PC. No entries in the Event Viewer, though...
After the reboot, I started v2.0.1 again, and it has been running OK for the past 3+ hours... Using the Speaker Groups now & no issues.
2.0.1
Start automatically when Windows starts .... Waits for Songcast to start as expected ... I uninstalled Songcast and the app waited and waited and then "connected to" the built in speakers ... All aspects of "start when Windows starts" appeared to work correctly.
Start last used at startup works as expected ... the logs for this are 039 and 041
The combination of start automatically with Windows and restart last used is less successful ...
I used Firefox to play a radio station and the app to cast the stream ... I restarted Windows while Firefox was playing and the app was streaming ... Firefox automatically restarted and began again to play the radio station ... the app started with Windows but did not start streaming and after a little while it crashed ... The logs from moments before the crash are 038 and 040 ... the Event Viewer entries for the crash are in the zip as evtx and as xml files
I added a fix for the recording devices in Setup 2.0.2.zip, and there's a link to the wiki page on the options tab now.
2.0.2
Automatic start with windows plus automatic restart of devices equals long period of inactivity at startup followed by popup message to say that app is unable to find recording device ... Logs 042 + 043
Stop and start the app and everything works as expected ... Log 044
The question mark in the Options Tab is easily overlooked ... It took me several moments to find it even though I knew that something was there.
v2.0.2 I installed it, and when I launched it, no Devices populated into the Device Window. I Closed teh App & retried 2x, with same result.
The Log contained only one line (copied to image).
Some more fixes to the recording devices in Setup 2.0.3.zip, and I changed the link to the wiki.
I didn't change anything in the discovering of devices that I'm aware of. I hope it's better now.
A lot of drop-outs & reconnects. Log & screenshot attached below...
Nice to see a long log like that. A quick scan:
That makes me think there's something during daytime (other network traffic?) that causes the devices to drop offline. Do you have audio drop-outs when the speakers restart, or also when playing 'normally'? I'll have a look later if I can improve something there.
I don't believe there is a lot of network traffic here. There are 4 PCs that are always on, but other than the one PC that I use for the AudioStreamer, there aren't many processes that are running. Each PC does get it's periodic updates from the Web (whenever those are pushed-out), and each PC does a backup between midnight & 5 AM, HOWEVER, my NAS isn't set up yet, so those backups are local, and not via the network. So at any given time, 3 of 4 PCs are in a dormant state (not hibernating, but just idle). Which ever PC is "active", it mainly for eMail, Web browsing, writing Docs, etc, and usually for 1 to 3 hours at a time.
I have some SmartDevices (lighting, Security Cams, monitored power outlets, etc), but I don't believe they generate much network traffic (the Cams are hardwired to a DVR, and I don't believe generate network traffic (unless I load the Viewing App), which is infrequent.
I haven't correlated the drop-outs to any specific activities; for example, the speaker in the room where I am typing this dropped-out & restarted FIVE times while I typed these three paragraphs... I can also hear other speakers when they make the "connection bleep", and I hear those throughout the day, multiple times per hour.
Another weird thing happened: I closed the App last night, and rebooted my PC. I restarted the App this morning, and it opened in a "miniaturized" state -- as if the main window had been resized to the smallest possible size. Here's a screen shot with some notes:
v2.0.3 had a Hard Crash today. From the Event Viewer, it looks as if it may be directly related to a manual Router Reboot I did... I realize that the Audio Streamer needs a network connection to stream the audio, but maybe it could go into a "standby mode" if the network is unavailable? ...then resume once the network is back?
Once the network was back up and stable, I restarted DesktopAudioStreamer, and it started as expected. (Except, it was "Tiny" again -- it would be nice if it 'remembered' the last resizing size...). Here are the Event Logs:
You were right, it had to do with the router reboot. I added a fix for that and for the window size. I also changed something for the restarting speakers, can you post the log again after a day or so?
2.0.4
All good.
I used Firefox to play a radio station and the app to cast the stream ... I restarted Windows while Firefox was playing and the app was streaming ... Firefox automatically restarted and began again to play the radio station ... Desktop Streamer began to stream the audio as it should. Logs 045 and 046.
The resize of the window works here as expected and the new size is retained when the app is stopped and started.
Thanks, nice :)! For me it also works fine with 'Start when Windows starts' & 'Auto restart' checked. The application also 'waits' till the network card (IP adresses) is up and running now.
I had the 'tiniest possible window' issue today with 2.0.4. I'm not sure what causes it (yet).
v2.0.4 has been running continuously for 3 days; I was out of the house for much of this time, so I wasn't able to notice the frequency of drop-outs. For the times when I was working at my PC, I did notice a lot of brief drop-outs, some as short as 1 or 2 seconds... (Log is attached)
A sidebar on some of my speakers: I have some QFX E-350 speakers** attached via Chromecast Audio. I originally purchased these because they were promoted as WiFi Speakers; however, it was only after I received them that I discovered they were intended to ONLY run with the QFX Audio App, which meant I had to devote an iPhone or iPad to stream WiFi music... I eventually got them to play via iTunes on my PC by using AirPlay, but the WiFi stream was not particularly reliable.
Each of those speakers also has an Aux Input, so I am using them with Chromecast Audio, and they have been working great with your App. ONE ISSUE, not related to your App, though, is that when the Audio Stream stops for more than a 'few minutes', the speaker reverts to it's default WiFi Input setting, and the Aux In connection must be manually reset at each speaker, which is a bit inconvenient. I've browsed some forums looking for any hacks that would make the Aux In the default, but so far no luck...
I mention all of this just in case you may have a suggestion on how to hack the speaker so it defaults to Aux In instead of WiFi Audio... They would be GREAT speakers if I could make this one change.
** There are a LOT of results if you Google the speaker name, and here is the set-up guide: http://www.qfxusa.com/Pdf/E-350Quicksetup.pdf
Note that the Amazon page has poor reviews (including one from me)...
Only a couple of speakers dropped off-line during these three days.
I also see 'buffering' messages every now and then, then you probably hear the audio drop-outs. Some periods all devices start sending buffering messages (a lot of network traffic?). Sometimes there are no 'buffering' messages for hours. I'm going to try to increase the buffer on the devices later.
I don't see an option to make aux-in the default source. I'll have another look later. Some small fixes in Setup 2.0.5.zip for keeping the windows size, detect devices that go offline faster, etc.
Same here, the latest changes are doing fine. I see buffering messages in the log between 1:45 PM and 6:15 PM every couple of minutes. That's an indication that the buffers on the device are low, but maybe not enough to hear drop-outs.
In 2.0.6 I added a volume meter, for me it's more an indicator that there's capturing & streaming going on. I also added a tooltip text to the group icon, is it good enough to distinguish from devices?
And I added a dropdown to set the buffer on the device. If you set it to 15 seconds an initial buffer of 15 seconds is send to the device (the buffer size can change over time of course). It means the lag between the desktop and the device also increases with 15 seconds. The lag between devices shouldn't change. If you have a lot of drop-outs you can try to increase the buffer size.
I've been running v2.0,5 for about 3 days now. A number of disconnects, some for extended periods of time. I rebooted the PC on Sat AM, and resumed playing through Sunday night. Still some drop-outs... Here are 3 Logs:
There are quite a lot of network timeouts in the logs. I changed the socket timeout to 1 second in 2.0.5 (to detect disconnects faster), I think that's the cause of a lot of the disconnects.
In 2.0.7 the socket timeout is 10 seconds.
I just loaded v2.0.7... Will try different buffer settings if/when I experience dropouts.
2.0.7
All good.
Before the above ... I left Streamer minimised to the tray and unused for a couple of days. During that time, my network mucked up and a couple of Chromecast devices disconnected. When I came back to Streamer it was unresponsive and had to be closed from Task Manager. I noticed that Streamer was using about 260 Meg of memory. The log tab had been open and I guess it was the log that consumed the memory and caused Streamer to lockup. You might want to stop writing to the log when it gets to 20 Meg or whatever.
Throwing these in here as they are really minor: 1- Recording device is not saved and resets at startup 2- Using a third-party app for this, but minimize to tray option would be nice.
BTW 2.0.7 works great so far. FWIW, I'm using it with a virtual audio device (Virtual Audio Cable) and I set the programs I want to cast from to output to Virtual Audio Cable, mainly VLC receiving notifications from Smartthings. Also, 'accidental' use case: it's great for quickly fixing volume levels on all devices!
Interesting Event: While running v2.0.7, and streaming audio from my PC, my daughter asked Google to play a song ("Hey, Google, play
I am guessing that when that Google device started playing music from its (external) source, the Desktop Audio Streamer detected that as a 'drop-out', and reconnected the speaker to its stream...
I'm also guessing that if we had first said: "Hey Google, Stop the Desktop Stream", it MIGHT have worked differently (see attached photo below), but I'm not aware if Google has that capability... I'm pretty sure if I had disconnected that Google speaker via the Device Window, the Google-sourced music would have played OK
Not a big deal, but I am wondering if the App can be integrated with Google Home/Google Assistant, so a verbal command like "Hey Google, Disconnect the OFFICE SPEAKER from the Desktop Stream", would remove that speaker from the Audio Stream. Similarly, a verbal command like "Hey Google, Connect the OFFICE SPEAKER to the Desktop Stream", could be used to (re)connect that speaker.... (Food for thought?) For what it's worth, I think that would be a great feature!
FYI, this is what the Google Home Hub displays when the Desktop Audio Streamer is running:
That is true, auto-reconnect cuts in even if the device is busy - this will be a problem. Check for idle status before reconnecting?
Changes in Setup 2.0.9.zip:
Nice @FA-Bubba ! Is it a recent picture? I thought I changed it to 'Desktop Audio Streamer'. I think it's also possible to send a picture to the Hub, is there any use for that? I hope 2.0.9 fixes it for your daughter 😉.
I don't have a Google Home device so I don't know much about the commands, is there a good manual somewhere? When another application starts streaming to a device the application receives a 'close' message from the device. I'm not sure but I think the application also gets a 'close' message after a "Hey Google, Stop the Desktop Stream" command. Before, with auto-reconnect checked, the application was always reconnecting. In 2.0.9, when Google plays a song, the status should change and the Desktop Audio Streamer does not reconnect. I didn't do much testing on it yet..
There was a bug in the recording device drop down, please skip 2.0.9 and use 2.0.10.
I just loaded v2.0.10... I was running v2.0.7 for several days, with no significant issues (only the event I mentioned earlier today when the App restarted while Google was playing a requested song). Here's the log:
I was looking for the 'Interesting Event' in the logs but I didn't find it.
2.0.10
It appears that there may still be a problem with recording device selection ... When I select another device in the dropdown it reverts to the previous device.
The 'Interesting Event' was when Google was asked to play a song while the Desktop Audio Streamer (DAS) was running. Google responded & started to play that song, but it seems that the DAS considered that a drop-out, and over-rode Google, resuming the Audio Stream. This was on the Kitchen Hub, but I don't recall the Date/Time. I will test that sequence later today with v2.0.10
So far, I have not adjusted the Device Buffer Option. I was away much of the time that is covered by the 2.0.7 Log I sent, so I don't have a viewpoint of the frequency of drop-outs.
And, the previous display picture I sent was from Feb 20... Here's the current screen:
Now I see the 'Interesting Event' in the log. The status changes to "YouTube Music", and the application receives a 'close' message. The fix should work then.
I've been running v2.0.10 for about 24 hours; two logs attached -- the first one with "Disconnects" that were caused by my router going off line. I believe the second Log is fairly clean -- the PC the App is on does an auto-reboot every Saturday morning, so it may only have entries from around 5 AM this morning.
I tested the Google Music 'event' earlier today, and it worked as you expected: I asked Google to play some music from an external source; it played for a while until I told Google to "Stop the Music". The Hub went back to its "Ambient State" (idle state), and after about 5 to 10 seconds, the Audio Stream restarted.
I think it works GREAT!.... I can now ask Google to do something, and the streamed music will resume once Google's task is completed.
Thank you for the great work!
Ehh... my Google Homes still report playing music even after I stop them, both in the log and in the Home app.. I have two different kinds too (one Insignia, one Mini) and they both do the same thing. Ugh. So I'm guessing the Hub behaves properly, the speakers do not :( I go into the home app and stop the (already stopped) cast and then DAS reconnects beautifully, but until then it won't.
How about a "Force reconnect after X minutes" option?
UPDATE: After mucho googling, "Stop speaker_name" works. However nobody in the household will remember to do that, so the force reconnect would still be nice.
@FA-Bubba & @GrahamDLL
Let's discuss 2.0 development here.