New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Redesigned OLED menu. Better UI, easier development. #527
Conversation
I do not have a rotary encoder on my gbsc (only buttons). Could someone help me test this? |
I have one and could test. But we need more testers. EDIT: Encoder is working, and my first tests are good. Nice work |
Just hooked up the rotary encoder a couple hours ago. I'll load it up tomorrow and try it |
I really appreciate the new font, it's much easier to read. I have been testing for a little while and have found a few things.
|
The error actually says |
Hey pulled down your branch and gave it a try. Man, this is such an improvement to the old UI. I agree, the new font is better and more readable since it's larger. It does cut off the checkmark now, though. I'm not really sure what the new menu item is for? OSD Menu? When clicked, I just see a timer and that's it. IDK if it's just my rotary encoder, but the rotations are not always consistent. Sometimes I turn it and it doesn't move. Sometimes it's delayed. Seems like it maybe it is not reading input while processing a selection change? Like I have to briefly pause between each turn to make it change selection properly. Again, I'm not sure if it's just me. I did buy a pretty cheap encoder and I just have it wired up on breadboard right now. I also find the reversed movement of the encoding kind of off. I expect the selection to go down if I turn it clockwise. Currently, it goes down if turned counterclockwise. I haven't tried the issue with many presets, yet. |
Okay, I think the rotary encoder stuff will be tricky. This seems to be something that needs tuned delays on parsing state changes, to debounce the reads and to try and avoid missing steps. It's not really an UI thing, but it seems it got changed in this commit? Double load requirement of custom presets sounds like a new logic bug. |
The OSD menu opens a menu on screen that lets you tweak a few settings. My rotary encoder seems to work correctly where clockwise is down and vice versa. There's |
Working on the problems. |
OK I just loaded up what's in master to compare (sorry, only just got my build in a running state yesterday!). The direction of the encoder is actually the same. But I do still feel it's backwards and probably should be switched regardless. That's just my opinion; I realize this could be subjective. I don't actually think this PR introduced a bug with debouncing or buffering the inputs. Master branch also has the same behavior. If you spin the encoder quickly, it skips a lot of inputs. I definitely feel like there's some improvement to be made, but in my opinion, it is out of scope and should be it's own PR. I see now the on screen display; it is very cool! Very convenient to be able to change on the fly. The scroll bars are bugged currently however. A single shift left or right jumps from 0 to 100. The change still works correctly, so probably just the percent calculation for the OSD. |
Sorry, haven't pushed yet. I also think it's subjective. Sometimes I feel it's reverserd and the next day I feel it's normal. So |
@rickdgray have you tried changing |
Right, that makes sense.
Yeah, I did just now. It felt perfect after that. No big deal either way. I'll probably make a PR for the documentation; I think the direction should be mentioned there. |
@rickdgray
|
Custom presets now load first try! It would be nice if filter settings saved to the presets were loaded in as well. The old menu didn't do this either though, so if it's not possible it's no big deal. The Having more than 10 presets no longer causes the "Maximum number of items" error and works properly all the way up to 16. Having more than 16 indeed shows a prompt. The menu seems quite stable now, I like it. |
I'm glad you like it. I don't understand how saving and loading presets work and hopefully someone can make that happen.
|
Yeah, I did try all combinations and I don't remember exactly what caused it to not behave as expected. Either way this new code seems to work correctly for me. |
Awesome work! |
I just pulled down the latest and everything discussed works correctly. The only things I would mention is that the 2 OSD menus are still disabled, and that in 1080 resolution, the OSD is stretched and doesn't follow the same aspect ratio. |
Very interesting. I always found it a bit odd how that particular setting was saved in the browser. |
Hello, yes, the bin to flash my esp8266 with the files can be compiled, but I don't know how to implement everything they edit here for these mods |
Sounds like the entire server stuff should be redone, ideally when moving to other hardware (exploit their improvements, such as multi core). |
Thanks for the work done here everyone! |
I have found an error: When I select 1289x960 it is not marked in the web interface. The OSD sometimes when you raise or lower the bar goes to extremes, it does not go up percentage wise. The osd cannot select volume or what I think is color. GBSC is wonderful now! Thank you very much, I am happy with these things, if there could be temporarily an osd with basic resolution and hz information that would be wonderful. |
|
Thank you, it's fun for me to try, I put in my previous message a link to YouTube where I try it, I'm proud of the community. https://www.youtube.com/watch?v=43IozivnS9Y Is there a possibility of making an osd with basic resolution and hz information? As on the OLED screen but on the TV, a duration of 5s is enough |
1280x960 will only work with 60Hz. It seems like you're using a 50Hz source in your video, which will only work with 1280x1024. I think this is by design and not a bug. When using a 50Hz and selecting 1280x960 the GBS will automatically switch to 1280x1024, and vice versa. |
ok, perfect |
I recently switched to this version. Am I the only one who has this problem? |
Do you get different results here vs. older software versions? Are you applying profiles from the web UI (behavior inadvertently changed in this PR?) or the OLED menu (rewritten)? |
In the old version, the aspect ratio was correct at a resolution of 1280x1024. |
Are you applying profiles from the web UI or the OLED menu? |
I have tried both, with the same result. |
Can you show us the output of the console? Use the serial console via USB. Maybe then we can see why the connection breaks off and maybe we can also see if something goes wrong when switching. |
@YoImLee By design, yea. PAL sources have a higher line count than NTSC, so they get a different ideally matching line multiplier. It comes out to "by 1024" for PAL and "by 960" for NTSC. And yea, they're the recommended profiles for each format. |
The new menu looks very good ! But still there is no better full-fledged OSD. I'm sorry, I'm not doing projects on (github), but I made OSD on STV 9426 separately. If someone wants to create such a mod or integrate it into the GBS control project, I can give the source code. This is the old version https://youtu.be/mX-OPXw0_Cs. Here is the new design |
Completed the OSD migration to the new GPS control firmware. Here you can download the source code + instructions |
|
Unfortunately, there is no time to learn how to work on github (. |
@Aleksandr-S12 Please understand that this project currently has no dedicated developer with enough time on their hands. Another thing: Have you checked out the TiVo OSD? It has some very rudimentary OSD functions in it. |
You are doing a very good job! You're right! People do not need unnecessary difficulties with installing additional parts. Have you tried working with the on-screen menu of the MTV 230? |
Sorry for the offtopic here, nyan :) Yea, I've checked out the MTV 230 also. It had some setup with the tiny analog switcher IC that is on the output of the TiVo. The TiVo OSD is very restricted, yea. I guess nothing really fits the bill here :p |
You're getting a follow from me for this since you did this kind of stuff, for the GBSC project improvement. Maybe you could actually adopt the repo from Rama since you replaced the SMD chip (which I don't know which one it is on the GBS board) with the STV9426 chip to accept a universal remote for controls. If it's possible, you could find many other ways to improve on the GBS 8200 boards (including the HDMI variants) by adding in a composite and S-Video transcoder that could actually make composite and S-Video input crystal clear like the OSSC with a Koryuu transcoder, and IF there is an improved ASIC chip that is the same size as, and has the same pins as the original ASIC, or even better, an FPGA chip that is the same size as and has the surface mounted pins protruding out from all sides of the FPGA or have an FPGA to ASIC adapter made, THIS could actually improve a lot of features missing from or lost with the GBSC project like 16:9 1080p, and if something like this were to work (call me crazy), then perhaps it could also work with 4K with 4:3, 16:9, and 16:10 with aspect ratio switch buttons too. Plus IF certain adapters for certain chips were made to accommodate for the base ones on all GBS boards before adding mods, and if 4K 60 were to be possible along with a way to remove video noise, and random screen tearing or screen tearing static going from the bottom or top of the screen and vice versa without needing to add copper tape to anything on there, it would let me give the GBSC one last chance to use. EDIT: I've actually learned that it's the ESP8266 doing all the work instead of the current GBS 8200 board chipset. Unless the 8266 got replaced with the 32, it probably could work better instead of the ESP8266. EDIT 2: Since I am NOW giving the GBS Control one more chance for 1080p 16:9 before I save money for a PixelFX Morph 4K since it's cheaper than the RetroTINK 4K, I've found another workaround by going through my TV's hidden menu to change the overscan on the GBSC to make it all fit on all corners of my TV. I've also duplicated the same Capture Card source from my OBS software to also fit the borders of the device too. |
Please educate yourself about what FPGA is. You already been told to stop this topic, because it is absolutely not how it works. |
It's Field Programmable Gate Array which you can re-program stuff about this, and I've already edited my comments saying that I found a workaround to this stuff so the FPGA thing is meaningless. At this moment, I'd rather find out if a device that CAN allow you to have a zoom function to calibrate the output's aspect ratio instead of using my TV to do this stuff exists or not. |
Everyone is allowed to be a beginner, but this topic has derailed too much. I'm closing :) |
Main features:
Generate translations for menu items:
menu_items
.python generate_translations.py -font size1@path_to_font1 size2@path_to_font2 ... LANG
, wheresize1
,size2
, ... are the sizes specified inmenu_items
.path_to_font1
,path_to_font2
,... are paths to font files. LANG is the language code used as keys inmenu_items
For example:
python generate_translations.py --font 12@/Users/xxx/Library/Fonts/MesloLGLNerdFontMono-Regular.ttf 16@/Users/xxx/Library/Fonts/MesloLGLNerdFontMono-Regular.ttf
will update English strings (en-US is default and can be omitted)python generate_translations.py --font 12@some-font.ttf 16@some-other-chinese-font.ttf zh-CN
will translate the strings into Simplified Chinese and use 2 different fonts.Misc:
Need testing.