Feature request?

Want to write your own code to work with a HDHomeRun or work with the HDHomeRun DVR? We are happy to help with concepts, APIs, best practices.
Bubbster
Posts: 53
Joined: Mon Nov 08, 2010 9:34 am
x 1

Re: Feature request?

Post by Bubbster »

Wow, checked this request for a couple of days after I posted and nothing. Busy with other things recently, and I come today and find a nice surprise!

Awesome, thank you!

djp952
Posts: 1640
Joined: Wed Oct 01, 2008 8:46 pm
Device ID: 131EB7F7;131ED0E0
Location: Elkridge, MD USA
x 62

Re: Feature request?

Post by djp952 »

JDazell wrote: Sun Jan 09, 2022 7:33 am Still have to say "Dark Mode" will be my preference. :-)

As for Color reference, no official one I can think of. I would suggest that you stick to only the primary colors.
I did some research into this; how about an option to use Blue/Orange instead of Green/Red for the tray icon and "virtual LEDs"? Sample below, the colors are in the file names.

Image

I'm thinking the tuner status meter might be best left as green/red, since if the simulators are accurate, most color deficient folks would see varying shades of yellow and the % is there so the color isn't critical to what the UI is trying to display. I think that would be OK? We can always try it and "see" what happens :)

I'll probably also take out the option to tie the virtual LED color to a signal statistic since yellow is basically going to be unusable as a status indicator. Need to stick with Green/Red or Blue/Orange.

Anyway, let me know if you think the blue and orange above are suitable alternate color-based indicators.

edit: this is more complicated to implement than I expected since there are sadly a lot of color assumptions to overcome, but it's moving along. I assure you that it will be in "beta 4". I've also decided that in the new "Blue / Orange" mode yellow can be represented by blue in the tuner signal status. For color deficient folks, this results in just an omission of yellow. I do still intend to remove the setting/code that changes the virtual LEDs to be tied to signal status for this reason, though. Too many settings are bad anyway :)
Last edited by djp952 on Sun Jan 09, 2022 10:07 pm, edited 1 time in total.

djp952
Posts: 1640
Joined: Wed Oct 01, 2008 8:46 pm
Device ID: 131EB7F7;131ED0E0
Location: Elkridge, MD USA
x 62

Re: Feature request?

Post by djp952 »

Bubbster wrote: Sun Jan 09, 2022 8:02 am Wow, checked this request for a couple of days after I posted and nothing. Busy with other things recently, and I come today and find a nice surprise!

Awesome, thank you!
Yeah, it's moving along. UI always takes way longer than I think it should :) Great to be able to get so much early feedback from everyone, though! We seem to have hit the core competencies well, pretty much all problems/suggestions are "cosmetic" in nature, so that's good!

JDazell
Posts: 192
Joined: Fri Sep 09, 2011 4:19 pm

Re: Feature request?

Post by JDazell »

djp952 wrote: Sun Jan 09, 2022 3:41 pm
JDazell wrote: Sun Jan 09, 2022 7:33 am Still have to say "Dark Mode" will be my preference. :-)

As for Color reference, no official one I can think of. I would suggest that you stick to only the primary colors.
I did some research into this; how about an option to use Blue/Orange instead of Green/Red for the tray icon and "virtual LEDs"? Sample below, the colors are in the file names.

Image

I'm thinking the tuner status meter might be best left as green/red, since if the simulators are accurate, most color deficient folks would see varying shades of yellow and the % is there so the color isn't critical to what the UI is trying to display. I think that would be OK? We can always try it and "see" what happens :)

I'll probably also take out the option to tie the virtual LED color to a signal statistic since yellow is basically going to be unusable as a status indicator. Need to stick with Green/Red or Blue/Orange.

Anyway, let me know if you think the blue and orange above are suitable alternate color-based indicators.

edit: this is more complicated to implement than I expected since there are sadly a lot of color assumptions to overcome, but it's moving along. I assure you that it will be in "beta 4". I've also decided that in the new "Blue / Orange" mode yellow can be represented by blue in the tuner signal status. For color deficient folks, this results in just an omission of yellow. I do still intend to remove the setting/code that changes the virtual LEDs to be tied to signal status for this reason, though. Too many settings are bad anyway :)
I can distinguish those color choices perfectly. Thanks Great!

djp952
Posts: 1640
Joined: Wed Oct 01, 2008 8:46 pm
Device ID: 131EB7F7;131ED0E0
Location: Elkridge, MD USA
x 62

Re: Feature request?

Post by djp952 »

My pleasure, thank you for pointing out the oversight! What I did for the tri-color signal meter was to just ignore yellow in this Blue/Orange mode. So you'll get blue for both strong/medium indicators and the orange for weak. I wasn't pleased with how leaving yellow in place looked with the simulator compared with the orange for many types of deficiencies, I want to make sure it looks sharp regardless of the perceived color :)

I am thinking of ultimately making this like the theme with a "follow system" setting on Windows 10 and 11 so if you have a color filter enabled at the OS level it would default to Blue/Orange instead of being something you need to manually change.

Found some small things to correct visually on all versions of Windows in the new Dark theme and want to take a crack at properly dealing with the tray icon color if Windows is in High Contrast mode, but should have a "beta 4" out soon that you can use.

djp952
Posts: 1640
Joined: Wed Oct 01, 2008 8:46 pm
Device ID: 131EB7F7;131ED0E0
Location: Elkridge, MD USA
x 62

Re: Feature request?

Post by djp952 »

JDazell, I neglected to mention I finished all the color changes and put out a Beta 4 you can try. Release notes: https://github.com/djp952/hdhomeruntray/discussions/50

I wasn't feeling chatty with the Release Notes (obviously), but I was able to make it do what I wanted, I think you'll like it. If you are on Windows 10 / Windows 11 and have any Color Filter enabled, the app will default to the Blue/Orange color set. The setting also can be set specifically to Green/Red or Blue/Orange. I admit I think the Blue/Orange looks pretty cool in Dark Mode, I might use that myself!

There are still 4 known bugs and at least one enhancement that I feel need to be addressed for a 1.0 (since I promised it and am just avoiding it at this point), though, and now what little documentation is there needs to updated :)

JDazell
Posts: 192
Joined: Fri Sep 09, 2011 4:19 pm

Re: Feature request?

Post by JDazell »

Just installed the latest Beta. Very Nice! I like the Dark Mode with the Blue/Orange Status Color Set.
Thank you for all the hard work.

djp952
Posts: 1640
Joined: Wed Oct 01, 2008 8:46 pm
Device ID: 131EB7F7;131ED0E0
Location: Elkridge, MD USA
x 62

Re: Feature request?

Post by djp952 »

FYI, I will be gone for the next week and will be ignoring this project for that timeframe. I did want to cut a "final beta" this week, but I spent too much time failing to deal with creating a custom ComboBox that I liked for the settings form. "Real work" also ramped up a lot this week and limited the time I could devote to this project. I moved the v1.0.0 milestone from Feb. 1st to Feb. 15th as no progress has been made.

While there is a good set of unreleased changes already in place for such a "final beta", I am out of time and don't think the current state is worthy of a release.

I invite anyone that tries out the most recent release available to document any concerns via https://github.com/djp952/hdhomeruntray/issues. If your concern(s) have already been addressed I will note that, if they haven't, I will do my best to triage them and make a judgement call if they need to be fixed for "1.0.0" or not :)

See you in 8-9 days (depending on if our flights actually "fly")

djp952
Posts: 1640
Joined: Wed Oct 01, 2008 8:46 pm
Device ID: 131EB7F7;131ED0E0
Location: Elkridge, MD USA
x 62

Re: Feature request?

Post by djp952 »

Hi everybody, I apologize for taking an extended break from this. I had a look at the current state and personally think it's good for a "final beta", even though I didn't want to do another beta. There are known outstanding issues, but I don't really think any of them are necessarily "blocking" anymore:

https://github.com/djp952/hdhomeruntray/issues

I did have a lot of fixes and tweaks from the previous beta release, and since I lost my train of thought I figure it's best to give it one more trial run to find anything truly critical that needs to be addressed before opening this up to a wider audience. To me, this feels pretty "1.0.0". Imperfect, but much more serviceable than most "1.0.0" software tends to be these days. I appreciate your feedback on this assessment.

Release Notes: https://github.com/djp952/hdhomeruntray/discussions/59
Downloads: https://github.com/djp952/hdhomeruntray ... /tag/0.9.9

I seem to have missed some "Version History" on the GitHub wiki that I will address tonight as well. edit: addressed.

Bubbster
Posts: 53
Joined: Mon Nov 08, 2010 9:34 am
x 1

Re: Feature request?

Post by Bubbster »

No apology needed, this is awesome!

Your hard work is appreciated.

[edit] I posted about this over on the Channels DVR forum.

wazer
Posts: 90
Joined: Tue May 01, 2018 11:10 am
x 1

Re: Feature request?

Post by wazer »

djp952 wrote: Fri Mar 04, 2022 7:27 pm Hi everybody, I apologize for taking an extended break from this. I had a look at the current state and personally think it's good for a "final beta", even though I didn't want to do another beta. There are known outstanding issues, but I don't really think any of them are necessarily "blocking" anymore:

https://github.com/djp952/hdhomeruntray/issues

I did have a lot of fixes and tweaks from the previous beta release, and since I lost my train of thought I figure it's best to give it one more trial run to find anything truly critical that needs to be addressed before opening this up to a wider audience. To me, this feels pretty "1.0.0". Imperfect, but much more serviceable than most "1.0.0" software tends to be these days. I appreciate your feedback on this assessment.

Release Notes: https://github.com/djp952/hdhomeruntray/discussions/59
Downloads: https://github.com/djp952/hdhomeruntray ... /tag/0.9.9

I seem to have missed some "Version History" on the GitHub wiki that I will address tonight as well. edit: addressed.


Love it already, tho I found an annoying bug that messes with the language/keyboard


Had to record and try get it to trigger the bug, its while hovering over the HD icon.

Go to around 55 seconds into the video
https://streamable.com/e4ia5h

Feature request and cool feature IMO would be free up tuners and pointing to hdhomerun_config file use these 2 commands to unlock tuner:

hdhomerun_config id set /tunerX/lockkey force
hdhomerun_config id set /tunerX/channel none

Same goes with restart button for each device or all devices found

hdhomerun_config.exe id set /sys/restart self

On another note, I tried installing it, it did not say where the file was installed and when searching for the file it was no where to be found I had to unpack installer and just run it from that.


Windows 10 Pro.

djp952
Posts: 1640
Joined: Wed Oct 01, 2008 8:46 pm
Device ID: 131EB7F7;131ED0E0
Location: Elkridge, MD USA
x 62

Re: Feature request?

Post by djp952 »

You should have gotten a Start Menu shortcut for the application, was that not the case? It's "HDHomeRun Status Monitor":

Image

As for the video showing the language bar being goofy, I don't think the application can cause this on its own but playing around with the language settings in Windows 10 I think you probably have "Let me use a different input method for each app window" enabled. I installed Danish and tried this, I set my app to Danish by pressing Win+Space while it was hovering, this caused the language bar to toggle between ENG and DAN based on which tray icon I was over, similar effect but it's not disappearing and appearing like yours. I don't know enough about the language bar to make it hidden, I always see it.

The OS is definitely doing it, I mean the application doesn't make any language API calls at all. My best recommendation would be to maybe try changing the language bar options around a bit and then put them back and see what happens.

As for the requests, I don't know, I didn't intend this to be a replacement for hdhomerun_config. It's all "look but don't touch" stuff.

wazer
Posts: 90
Joined: Tue May 01, 2018 11:10 am
x 1

Re: Feature request?

Post by wazer »

djp952 wrote: Sun Mar 06, 2022 1:00 pm You should have gotten a Start Menu shortcut for the application, was that not the case? It's "HDHomeRun Status Monitor":

Image

As for the video showing the language bar being goofy, I don't think the application can cause this on its own but playing around with the language settings in Windows 10 I think you probably have "Let me use a different input method for each app window" enabled. I installed Danish and tried this, I set my app to Danish by pressing Win+Space while it was hovering, this caused the language bar to toggle between ENG and DAN based on which tray icon I was over, similar effect but it's not disappearing and appearing like yours. I don't know enough about the language bar to make it hidden, I always see it.

The OS is definitely doing it, I mean the application doesn't make any language API calls at all. My best recommendation would be to maybe try changing the language bar options around a bit and then put them back and see what happens.

As for the requests, I don't know, I didn't intend this to be a replacement for hdhomerun_config. It's all "look but don't touch" stuff.
You already got firmware update function included..

Look at it this way there no other possible way to do it besides running these commands and figuring out unit adresses/names your self, this could be an huge upgrade to control your units with this beautiful software you created + it would still be elegant Like maybe having restarting the entire unit down in right right and clicking on the green icons for each tuner could release/free channel with a message to confirm releasing channel :idea: :D

Image

While we are at it i just got this error popup :)

I just got an error the software has been running the entire time with hovering being present for the last 5-7 hours.

Code: Select all

Se slutningen af denne meddelelse, hvis du vil have detaljer om,
hvordan du starter JIT-fejlfinding i stedet for denne dialogboks.

************** Undtagelsestekst **************
System.AggregateException: Der opstod en eller flere fejl. ---> System.Threading.Tasks.TaskCanceledException: En opgave blev annulleret.
   --- Slut på staksporing af indre undtagelser ---
   ved System.Threading.Tasks.Task`1.GetResultCore(Boolean waitCompletionNotification)
   ved JsonWebRequest.Get[T](String uri, CancellationToken cancel)
   ved JsonWebRequest.GetArray(String uri)
   ved zuki.hdhomeruntray.discovery.StorageStatus.Create(StorageDevice storagedevice)
   ved zuki.hdhomeruntray.PopupItemDeviceControl.Refresh()
   ved zuki.hdhomeruntray.PopupForm.OnTimerTick(Object sender, EventArgs args)
   ved System.Windows.Forms.Timer.OnTick(EventArgs e)
   ved System.Windows.Forms.Timer.TimerNativeWindow.WndProc(Message& m)
   ved System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
---> (Indre undtagelse #0) System.Threading.Tasks.TaskCanceledException: En opgave blev annulleret.<---



************** Indlæste assemblies **************
mscorlib
    Assemblyversion: 4.0.0.0
    Win32-version: 4.8.4360.0 built by: NET48REL1LAST_C
    CodeBase: file:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/mscorlib.dll
----------------------------------------
hdhomeruntray
    Assemblyversion: 0.9.9.0
    Win32-version: 0.9.9.8098
    CodeBase: file:///C:/Users/wazer/Downloads/hdhomerunstatusmonitor-0.9.9.8098-x64/hdhomeruntray.exe
----------------------------------------
System.Windows.Forms
    Assemblyversion: 4.0.0.0
    Win32-version: 4.8.4341.0 built by: NET48REL1LAST_C
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System
    Assemblyversion: 4.0.0.0
    Win32-version: 4.8.4360.0 built by: NET48REL1LAST_C
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Drawing
    Assemblyversion: 4.0.0.0
    Win32-version: 4.8.4084.0 built by: NET48REL1
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
hdhomeruntray.discovery
    Assemblyversion: 0.9.9.0
    Win32-version: 0.9.9.8098
    CodeBase: file:///C:/Users/wazer/Downloads/hdhomerunstatusmonitor-0.9.9.8098-x64/hdhomeruntray.discovery.DLL
----------------------------------------
System.Configuration
    Assemblyversion: 4.0.0.0
    Win32-version: 4.8.4190.0 built by: NET48REL1LAST_B
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Core
    Assemblyversion: 4.0.0.0
    Win32-version: 4.8.4360.0 built by: NET48REL1LAST_C
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
----------------------------------------
System.Xml
    Assemblyversion: 4.0.0.0
    Win32-version: 4.8.4084.0 built by: NET48REL1
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
Newtonsoft.Json
    Assemblyversion: 13.0.0.0
    Win32-version: 13.0.1.25517
    CodeBase: file:///C:/Users/wazer/Downloads/hdhomerunstatusmonitor-0.9.9.8098-x64/Newtonsoft.Json.DLL
----------------------------------------
System.Net.Http
    Assemblyversion: 4.0.0.0
    Win32-version: 4.8.4084.0 built by: NET48REL1
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Net.Http/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Net.Http.dll
----------------------------------------
System.Numerics
    Assemblyversion: 4.0.0.0
    Win32-version: 4.8.4084.0 built by: NET48REL1
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Numerics/v4.0_4.0.0.0__b77a5c561934e089/System.Numerics.dll
----------------------------------------
System.Runtime.Serialization
    Assemblyversion: 4.0.0.0
    Win32-version: 4.8.4250.0 built by: NET48REL1LAST_C
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Runtime.Serialization/v4.0_4.0.0.0__b77a5c561934e089/System.Runtime.Serialization.dll
----------------------------------------
System.Data
    Assemblyversion: 4.0.0.0
    Win32-version: 4.8.4270.0 built by: NET48REL1LAST_C
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_64/System.Data/v4.0_4.0.0.0__b77a5c561934e089/System.Data.dll
----------------------------------------
mscorlib.resources
    Assemblyversion: 4.0.0.0
    Win32-version: 4.8.4084.0 built by: NET48REL1
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/mscorlib.resources/v4.0_4.0.0.0_da_b77a5c561934e089/mscorlib.resources.dll
----------------------------------------
System.resources
    Assemblyversion: 4.0.0.0
    Win32-version: 4.8.4084.0 built by: NET48REL1
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.resources/v4.0_4.0.0.0_da_b77a5c561934e089/System.resources.dll
----------------------------------------
System.Windows.Forms.resources
    Assemblyversion: 4.0.0.0
    Win32-version: 4.8.4084.0 built by: NET48REL1
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms.resources/v4.0_4.0.0.0_da_b77a5c561934e089/System.Windows.Forms.resources.dll
----------------------------------------

************** JIT-fejlfinding **************
Hvis du vil aktivere JIT-fejlfinding, skal værdien jitDebugging indstilles
i afsnittet system.windows.forms i konfigurationsfilen
for programmet eller computeren.
Programmet skal desuden kompileres med fejlfinding
aktiveret.

Eksempel:

<configuration>
    <system.windows.forms jitDebugging="true" />
</configuration>

Når JIT-fejlfinding er aktiveret, bliver alle ikke-afviklede
undtagelser sendt til det JIT-fejlfindingsprogram, der er registreret på computeren, i stedet for
at blive afviklet af denne dialogboks.

djp952
Posts: 1640
Joined: Wed Oct 01, 2008 8:46 pm
Device ID: 131EB7F7;131ED0E0
Location: Elkridge, MD USA
x 62

Re: Feature request?

Post by djp952 »

Nah, it doesn't update the firmware :) It just hyperlinks you to the device page. I'll think about it, ok?

As to the exception, looking into it. Thank you for the detail that the application was pinned for many hours, I would not have thought to try that!

edit: ha, note the pair of TODOs in the offending code:

Code: Select all

	// If the returned data was of type application/json, access the stream data and deserialize it
	if(CLRISNOTNULL(gettask->Result->Content) && gettask->Result->Content->Headers->ContentType->MediaType == "application/json")
	{
		// TODO: Exception handling and cancellation logic (if available here)
		Task<Stream^>^ streamtask = gettask->Result->Content->ReadAsStreamAsync();
		streamtask->Wait();

		msclr::auto_handle<TextReader> textreader(gcnew StreamReader(streamtask->Result));
		msclr::auto_handle<JsonTextReader> jsonreader(gcnew JsonTextReader(textreader.get()));

		// TODO: Exception handling
		JsonSerializer^ serializer = gcnew JsonSerializer();
		return serializer->Deserialize<T>(jsonreader.get());
	}
	
The unhandled exception was actually up a bit from this, but all three affected locations have been fixed for 1.0.0. Thank you for finding it!

wazer
Posts: 90
Joined: Tue May 01, 2018 11:10 am
x 1

Re: Feature request?

Post by wazer »

djp952 wrote: Sun Mar 06, 2022 8:09 pm Nah, it doesn't update the firmware :) It just hyperlinks you to the device page. I'll think about it, ok?

As to the exception, looking into it. Thank you for the detail that the application was pinned for many hours, I would not have thought to try that!

edit: ha, note the pair of TODOs in the offending code:

Code: Select all

	// If the returned data was of type application/json, access the stream data and deserialize it
	if(CLRISNOTNULL(gettask->Result->Content) && gettask->Result->Content->Headers->ContentType->MediaType == "application/json")
	{
		// TODO: Exception handling and cancellation logic (if available here)
		Task<Stream^>^ streamtask = gettask->Result->Content->ReadAsStreamAsync();
		streamtask->Wait();

		msclr::auto_handle<TextReader> textreader(gcnew StreamReader(streamtask->Result));
		msclr::auto_handle<JsonTextReader> jsonreader(gcnew JsonTextReader(textreader.get()));

		// TODO: Exception handling
		JsonSerializer^ serializer = gcnew JsonSerializer();
		return serializer->Deserialize<T>(jsonreader.get());
	}
	
The unhandled exception was actually up a bit from this, but all three affected locations have been fixed for 1.0.0. Thank you for finding it!
Thanks for getting back to me

Ha great you already had it in todo list :)

Another enhancement I would like to see is that "stay on top window" can stay active in the background when you make another window active it will just stay as a inactive window and not actually be "stay on top"


Aaaand found another bug(or not using utf-8 charset?)

ÆØÅ Nordic letters in general show up like this

Image

Post Reply