02:19 | intracube | left the channel | |
02:31 | intracube | joined the channel | |
04:38 | Bertl_oO | off to bed now ... have a good one everyone!
| |
04:38 | Bertl_oO | changed nick to: Bertl_zZ
| |
07:39 | BAndiT1983|away | changed nick to: BAndiT1983
| |
08:28 | metal_dent[m] | Hi, morning!
| |
08:28 | metal_dent[m] | this is the text image -> https://pasteboard.co/J7GU8pd.png
| |
08:29 | metal_dent[m] | now I'll do the header files conversion which will be same as last time, right?
| |
08:31 | BAndiT1983 | hi
| |
08:31 | BAndiT1983 | yes
| |
08:32 | metal_dent[m] | done!
| |
08:35 | metal_dent[m] | it's looking better than the last time -> https://pasteboard.co/J7GXmEf.png
| |
08:37 | BAndiT1983 | yep
| |
08:37 | BAndiT1983 | but we still need to do adjustments, i know that "a" in apertus has slight bow down, but it introduces more jagged lines and should be straightened out
| |
08:37 | metal_dent[m] | > any progress with makefile yet?
| |
08:37 | metal_dent[m] | I'll do that now, first I wanted to do the process on one image file
| |
08:38 | BAndiT1983 | also "s"
| |
08:38 | BAndiT1983 | ok
| |
10:15 | panintended | joined the channel | |
10:18 | panintended | Hi all
| |
10:19 | BAndiT1983 | hi
| |
10:19 | BAndiT1983 | how is it going?
| |
10:22 | panintended | Not bad, the weather is nice today :P
| |
10:22 | panintended | I'm having a fresh look at T1184 (I stashed all of my changes till now)
| |
10:22 | panintended | yourself?
| |
10:28 | BAndiT1983 | weather is getting better, was rainy
| |
10:28 | BAndiT1983 | and, what are your conclusions so far? ;)
| |
11:13 | panintended | well, the "knob press inner circle area" approach does not seem that attractive anymore. It was too finnicky
| |
11:13 | panintended | now I'm looking into the flags once again
| |
11:15 | panintended | what I figured out was that when you push a flag, it's effect is applicable to *past* (as far as the imgui loop flow is concerned) GUI items -- not the ones that come later on
| |
11:16 | BAndiT1983 | yep
| |
11:16 | panintended | wait, did I say that right?
| |
11:16 | BAndiT1983 | have you checked my question yesterday?
| |
11:16 | panintended | you mean the 942 issue on dear imgui?
| |
11:16 | panintended | let me check the logs
| |
11:17 | BAndiT1983 | no, the other one, about drawing button in the center of the knob and check the event, if it gets it first, before the knob
| |
11:17 | BAndiT1983 | or to be precise the invisible button beneath it
| |
11:17 | panintended | panintended: what happens if you stack another button on top of the knob, in the center? is the click still affecting the knob?
| |
11:17 | panintended | this one?
| |
11:18 | BAndiT1983 | regarding your question, of course you're right, as the flags are for the last object, it's a stack or so
| |
11:18 | BAndiT1983 | yes, this question
| |
11:24 | panintended | yes, the original knob "button" is the one affected in such case
| |
11:25 | panintended | that is why I mentioned yesterday that I want to get the new button to come in the "foreground". Again this is is most likely because of my unfamiliarity with umgui
| |
11:27 | panintended | This has dragged on quite a bit though, I mentioned to se6ast1an that if I don't have a solution by today I can release the task for others to give it a shot
| |
11:29 | panintended | I'd like to see if I can gradually help out with more substantial aspects of the remote (like the actual firmware)
| |
11:29 | BAndiT1983 | take your time, but it would be interesting to know how clicking is handled
| |
11:30 | BAndiT1983 | if you add the other button on top, i would suspect that it should be handled first, but drawn last
| |
11:34 | panintended | Yes, I'm adding a button exactly where the InvisibleButton of the knob is (and with the same dimensions). it is indeed drawn last (the knob image is drawn on top of it), but again the knob is affected instead of the new button
| |
11:35 | panintended | i.e. the knob is rotating and the debug messages I added if the new button is clicked are not displayed in stdout
| |
11:36 | BAndiT1983 | this is quite interesting, would have suspected that it work in reverse of draw order
| |
11:37 | BAndiT1983 | just tested it quickly, no hovering event happens
| |
11:38 | panintended | what do you mean? you uncommented the is_hovered line? because for me it worked
| |
11:38 | panintended | or something else?
| |
11:40 | BAndiT1983 | i've just added a button in the center and tried to hover with the mouse over it
| |
11:40 | BAndiT1983 | no change in color happened, so events are consumed by invisible button first
| |
11:41 | BAndiT1983 | this is what makes me also wonder what else is available in the lib and if it can be helpful -> https://github.com/ocornut/imgui/issues/2464
| |
11:45 | BAndiT1983 | maybe not the direct solution, but there is a flag to flatten child structure, which allows to detect hovering: https://github.com/ocornut/imgui/issues/2051
| |
11:48 | BAndiT1983 | set higher width, so it's outside of the knob also, it's working as long as the mouse is not inside the knob, definitely some obstacle there
| |
11:50 | panintended | yes, in a sentence, this has been exactly what I've been fighting width :D
| |
11:50 | BAndiT1983 | ok, moved drawing before invisible button and it's active on hovering, even if the other half is beyond the knob, so the order is still top-down and not Z-index
| |
11:50 | panintended | let me give it a shot
| |
11:50 | BAndiT1983 | now we have hen-egg principle ;) but at the moment i miss a clue what to search for
| |
11:51 | BAndiT1983 | although i have an idea, as there is a color picker control and it has similar things, also invisible button is used
| |
11:52 | BAndiT1983 | maybe a second invisible button for the area of the real button and then checking is active for the second one
| |
11:52 | BAndiT1983 | like invisible button for click area -> invisible button for knob area -> draw real button for click
| |
11:53 | BAndiT1983 | but i'm sure there are easier and better methods
| |
11:53 | BAndiT1983 | will try beginchild, if it has different beahvior
| |
11:54 | BAndiT1983 | works!
| |
11:55 | BAndiT1983 | try to append to the end of the knob function -> https://pastebin.com/q7nu20DJ
| |
11:55 | BAndiT1983 | it's not properly centered and sizes were changed for testing, but it's a little problem
| |
11:57 | panintended | indeed!
| |
11:59 | panintended | ah, so beginchild creates a new context (or sorts)
| |
11:59 | BAndiT1983 | now your simulation can get some UI ;)
| |
11:59 | BAndiT1983 | yep, like a group which is on top
| |
12:01 | BAndiT1983 | some restyling for the visualiser is also required, to bring the buttons into the form of real ones
| |
12:01 | panintended | thanks, I can continue with this solution for the knob press if you also agree
| |
12:02 | BAndiT1983 | no problem, please do
| |
12:03 | panintended | I'd imagine the restyling would not be terribly difficult. and besides the main purpose of the visualizer would be to test certain aspects of the firmware without having the hardware at hand, correct?
| |
12:05 | panintended | btw I noticed that some functions use pointers instead of references (and c strings instead of std::string, etc.) in their arguments -- e.g. Knob(), HandleActiveKnob()
| |
12:06 | panintended | is this for some sort of compliance or can I change that?
| |
12:06 | BAndiT1983 | yes, also the virtual camera preview is exactly for that purpose, it will use virtual serial port to ensure that commands forth and back are handled by "real" handlers, which would be hardware-agnostic
| |
12:06 | BAndiT1983 | probably not cleaned up properly back then
| |
12:09 | panintended | Ok, I can change these too then (in a separate PR)
| |
12:12 | BAndiT1983 | great!
| |
12:17 | metal_dent[m] | the makefile is ready!
| |
12:18 | BAndiT1983 | very good, have you committed it to your repo?
| |
12:19 | metal_dent[m] | no, there's a little problem with the conversion process
| |
12:19 | BAndiT1983 | which one?
| |
12:19 | metal_dent[m] | as before the images where black with white background but now it's reverse in the new process so I need to change the DrawIcon() method a bit
| |
12:21 | BAndiT1983 | wait, DrawIcon() is good like it is, please adjust the conversion process
| |
12:21 | BAndiT1983 | -negate or +negate
| |
12:22 | BAndiT1983 | black background and white icon is what it was before and should stay like that, much more intuituve
| |
12:22 | BAndiT1983 | *intuitive
| |
12:29 | BAndiT1983 | changed nick to: BAndiT1983|away
| |
12:30 | BAndiT1983|away | changed nick to: BAndiT1983
| |
13:52 | BAndiT1983 | changed nick to: BAndiT1983|away
| |
14:17 | metal_dent[m] | committed
| |
14:18 | metal_dent[m] | but I still think the makefile can look better and somethings can be added to that, will do that
| |
14:53 | BAndiT1983|away | changed nick to: BAndiT1983
| |
14:57 | BAndiT1983 | metal_dent[m]: why are you listing any file you're converting? in the makefile you have wildcards, which should allow to convert files at once, e.g. ones ending with _icon would get simple conversion and logo different approach
| |
14:57 | BAndiT1983 | and not to xbm, but to header, you can use xbm:home_icon.h as target
| |
14:59 | BAndiT1983 | sed is too intrusive if you have to switch forth and back, maybe it can operate on temporary file or solely in RAM, don't like that original file is modified in the process, this can break the data
| |
15:02 | BAndiT1983 | ah, it's even non-destructive, no need to modify 2 times for text logo -> https://www.oreilly.com/library/view/learning-linux-shell/9781788993197/297f82a7-2122-4ca9-8b77-9d941325c310.xhtml
| |
15:04 | BAndiT1983 | but it needs proper command to do it in-place without overwriting the file
| |
15:10 | BAndiT1983 | or at least temporary file, which has to be removed later, to keep repo clean, either through gitignore or rm in makefile
| |
15:33 | se6ast1an | did anyone test the fullscreen parameter menu GUI yet, will create a screencapture video soon
| |
15:33 | Bertl_zZ | changed nick to: Bertl
| |
15:33 | Bertl | morning folks!
| |
15:33 | BAndiT1983 | not yet, still on separat, but will try to mergee branch
| |
15:34 | BAndiT1983 | *dammit, touchpad moved the cursor: still on separate branch, but will try to merge
| |
15:37 | se6ast1an | right
| |
15:37 | se6ast1an | good day Bertl
| |
15:40 | BAndiT1983 | hi Bertl
| |
15:40 | BAndiT1983 | se6ast1an: looks good, will check details later, as WB page would be a bit fo playground for overall menu widget testing
| |
15:40 | BAndiT1983 | *of
| |
15:46 | BAndiT1983 | virtual serial idea tested, will now add more code, basic idea is to use predefined ports -> socat PTY,link=/tmp/axiom_remote_port,raw PTY,link=/tmp/axiom_beta_port,raw
| |
15:47 | BAndiT1983 | will also add a shell script to start socat and visualiser afterwards, could also send data just inside the application, but wanted to have "real" connection also for later, like showing board framebuffer in visualiser or sending button command from vis to board
| |
15:48 | se6ast1an | great
| |
15:48 | se6ast1an | what is the current status of the knob pushbutton in visualizer?
| |
15:57 | se6ast1an | as I might want to show that as well in the video
| |
16:09 | panintended | se6ast1an: I've got it working after consulting with BAndiT1983. currently doing some polishing before opening a PR
| |
16:09 | panintended | when will you need it?
| |
16:22 | se6ast1an | great
| |
16:22 | se6ast1an | just push when you are ready
| |
16:23 | se6ast1an | will record video today or tomorrow
| |
16:58 | BAndiT1983 | changed nick to: BAndiT1983|away
| |
16:59 | BAndiT1983|away | changed nick to: BAndiT1983
| |
17:06 | BAndiT1983 | changed nick to: BAndiT1983|away
| |
17:27 | metal_dent[m] | I couldn't find a proper method of converting xbm to header so I'm thinking of using "sed" and copying contents from xbm to the header
| |
17:28 | Bertl | good choice, or gawk if you need more context
| |
17:29 | metal_dent[m] | or can write a short python program for this purpose
| |
17:30 | Bertl | probably overkill, but an option as well
| |
17:32 | Bertl | got an example of the input and output format?
| |
17:33 | metal_dent[m] | input file -> https://github.com/apertus-open-source-cinema/AXIOM-Remote/blob/dev/Firmware/Media/Icons/monoRingLogo.xbm
| |
17:33 | metal_dent[m] | output file -> https://github.com/apertus-open-source-cinema/AXIOM-Remote/blob/dev/Firmware/Media/Icons/ApertusRingLogo.h
| |
17:36 | Bertl | so, most likely you want to change the pixel_data_ring to pixel_data[]; and make the struct itself generic
| |
17:36 | Bertl | i.e. no need to have a separate struct for every image, but that's unrelated :)
| |
17:38 | Bertl | the data is already in the right format, so all you need is to add the width and height
| |
17:39 | Bertl | if you make the struct generic, you can put it into a separate include file and have just the struct and data in the converted include
| |
17:41 | Bertl | alternative approach would be to use the .xbm file as is (i.e. include it) and make the struct contain a const char * to the .xbm data simply using the monoRingLogo_width and monoRingLogo_height in the struct
| |
17:44 | Bertl | something like:
| |
17:44 | Bertl | https://pastebin.com/raw/T3FeM8P5
| |
17:46 | metal_dent[m] | this looks nice but I think BAndiT1983 doesn't want any xbm files
| |
17:48 | Bertl | why?
| |
17:49 | metal_dent[m] | or maybe I misunderstood :/
| |
17:50 | Bertl | well, I have no clue what he wants or doesn't want there, but it might be worth checking :)
| |
17:53 | panintended | BAndiT1983: I've opened a PR https://github.com/apertus-open-source-cinema/AXIOM-Remote/pull/16
| |
17:53 | panintended | I also included the cleanup I mentioned earlier, I hope I didn't go too crazy :D
| |
17:54 | panintended | Waiting for your feedback
| |
17:54 | panintended | I'm going for a run, will check when I'm back
| |
17:54 | se6ast1an | great, thanks, will wait for bandits review to test it
| |
17:58 | panintended | :)
| |
18:03 | BAndiT1983|away | changed nick to: BAndiT1983
| |
18:05 | BAndiT1983 | Bertl: as we have headers, no need to have .xbm there
| |
18:05 | BAndiT1983 | also generic struct is there, called Icon, which can be used to cast to general attributes, like width, height and data
| |
18:06 | Bertl | the xbm is intended for C inclusion, why convert it?
| |
18:07 | BAndiT1983 | what i mean is the extension, it's still XBM, but the extension should be changed while IM conversion e.g. xbm:home_icon.h
| |
18:08 | Bertl | well, if you like to rename .xbm to .h, sure, why not, might be confusing but will work with any extension
| |
18:08 | BAndiT1983 | panintended: nice, rectangle button area would be also ok, was just a bit overwhelmed by the number of attributes there
| |
18:09 | BAndiT1983 | will merge now
| |
18:09 | BAndiT1983 | Bertl: it's just for straight approach, could be confusing otherwise when people don't know what XBM format is
| |
18:13 | BAndiT1983 | panintended: it works good, but i can't find a visual indicator, or should the image of the knob be extended?
| |
18:17 | illwieckz | left the channel | |
18:19 | BAndiT1983 | also what do you mean with corners interfering with knob rotation in your comment? while testing it was no problem to rotate the knob or click the button, no hiccups also during rotating the knob and going with the mouse over the button (mine was smaller, as we don't need a very large button)
| |
18:20 | se6ast1an | tested as well, great work
| |
18:20 | se6ast1an | just pushed a small fix from my side to fix an issue with the fullscreen parameter menu
| |
18:21 | se6ast1an | what are your ideas/plans for the knob button indicator?
| |
18:21 | BAndiT1983 | me or panintended?
| |
18:22 | se6ast1an | whoever feels responsible :)
| |
18:23 | BAndiT1983 | line 111, replace InvisibleButton with Button and replace text there by Click, then the area is visible
| |
18:24 | BAndiT1983 | without it someone, who has never used the app, will never know that it's clickable
| |
18:24 | BAndiT1983 | button is a bit too large, so line 17 can be 0.3 * knobDiameter
| |
18:25 | BAndiT1983 | and "round" button could be done ->
| |
18:25 | BAndiT1983 | https://pastebin.com/eXRNR8U1
| |
18:30 | se6ast1an | tested, yeah thats a good improvement
| |
18:31 | se6ast1an | the button only turns "visible" when hovering over it though
| |
18:31 | BAndiT1983 | we can make things a bit more simple, as imgui has proper methods to detect hovering etc.
| |
18:31 | se6ast1an | we could alter the knob graphic though
| |
18:31 | BAndiT1983 | you can comment the if() for now, area detection there
| |
18:32 | BAndiT1983 | that was also the idea, maybe we can have invisible button with light overlay when over click area, when image is adjusted
| |
18:32 | BAndiT1983 | low hanging fruit with the image, will create the comment in the lab
| |
18:33 | BAndiT1983 | ah, sub-task is better
| |
18:34 | BAndiT1983 | done
| |
18:34 | BAndiT1983 | https://lab.apertus.org/T1196
| |
18:38 | se6ast1an | video released
| |
18:38 | se6ast1an | https://lab.apertus.org/T1177#17079
| |
18:38 | BAndiT1983 | seen it, nice!
| |
18:40 | se6ast1an | thanks!
| |
18:47 | BAndiT1983 | besides menu transitions we have almost all of the features of the old firmware and also more, like LVP reading in bootloader
| |
18:48 | BAndiT1983 | or do we still have some bigger block which is not covered yet at all?
| |
18:54 | panintended | Hi guys, I'm back
| |
18:54 | se6ast1an | indeed we are making very good progress
| |
18:55 | se6ast1an | great panintended, wonderful work
| |
18:55 | se6ast1an | would you be interested in this as your next task?
| |
18:55 | se6ast1an | https://lab.apertus.org/T1185
| |
18:56 | panintended | nah, I was lucky that I had BAndiT1983 there to bug when I needed help :)
| |
18:56 | panintended | ah, let me have a look
| |
18:57 | BAndiT1983 | it's one of my tasks to be available for discussions and helping when required, so it's not bugging at all
| |
18:58 | BAndiT1983 | nice task, was already thinking about it today, but decided that serial connection is what i have to finish for the visualiser first
| |
18:58 | panintended | I've been over this task before. Can you elaborate? What is the need for BUTTON_UP events from a functional perspective
| |
18:58 | BAndiT1983 | could be that we have to restructure the button handling, so the events are separated, like button IDs of the remote and button up and down in separate enum
| |
18:58 | BAndiT1983 | highlighting of buttons
| |
18:59 | BAndiT1983 | when you press down many are highlighted in orange and then released action happens
| |
19:00 | BAndiT1983 | merely visual thing, could also be accomplished with just a slight delay, like 200ms before action and without button event
| |
19:00 | panintended | BAndiT1983: btw, just saw your comments for the PR
| |
19:00 | BAndiT1983 | but events are also important for continuous activity
| |
19:00 | metal_dent[m] | > I couldn't find a proper method of converting xbm to header so I'm thinking of using "sed" and copying contents from xbm to the header
| |
19:00 | metal_dent[m] | BAndiT1983 what do you think about this?
| |
19:00 | BAndiT1983 | panintended: and, what do you think?
| |
19:01 | BAndiT1983 | metal_dent[m]: now i will write it the third time: use xbm:home_icon.h as target, the "xbm:" notation in front of it defines the format, that's it
| |
19:02 | metal_dent[m] | sorry there are too many messages... i missed it
| |
19:03 | Bertl | BAndiT1983: could you repeat that for me? :)
| |
19:03 | BAndiT1983 | no UI for you, Bertl ;)
| |
19:04 | BAndiT1983 | https://www.youtube.com/watch?v=1jSTiKHOFEI
| |
19:06 | BAndiT1983 | ImGui::Button(" 7m "); if (ImGui::IsItemClicked(0)) { enable_7m = !enable_7m; }
| |
19:06 | BAndiT1983 | panintended: the lines from this thread are looking useful -> https://github.com/ocornut/imgui/issues/1537
| |
19:09 | BAndiT1983 | Bertl: although it reminds me more of the rock, paper, scissors, lizzard, spock scene from big bang theory -> "could you repeat it again?"
| |
19:19 | panintended | BAndiT1983, regarding the PR: I basically went with a circular clickable area becaused I presumed that (1) a big part of the knob should be pressable without the need for a visual cue (I guess to be similar to a real life remote) and (2) following that, when using a large rectangular clickable area, if the user unknowingly clicks on the corner of the area first, the knob wasn't rotatable.
| |
19:20 | panintended | About the attributes, I hope I didn't go too OCD. The intention was to have clarity as to what each vector/number corresponds to (e.g. to a newcomer)
| |
19:21 | BAndiT1983 | PR was very good, some smaller adjustments were required, visualiser should represent real hardware, but we should give people visual cues, thinking of newcomers in first place, which have never seen the remote in real
| |
19:21 | panintended | ok, let me a look
| |
19:22 | panintended | * mean have a look at the link you sent
| |
19:22 | BAndiT1983 | understood it that way
| |
19:22 | BAndiT1983 | area code works great, knob image has to be adjusted for proper indication, but that's a small thing
| |
19:23 | panintended | ok :)
| |
20:27 | illwieckz | joined the channel | |
20:35 | panintended | BAndiT1983: OK, I've had a look at the actual firmware code. Things make more sense now
| |
20:36 | panintended | I'll assign T1185 to myself, OK?
| |
20:36 | BAndiT1983 | yes, of course
| |
20:36 | panintended | cool
| |
20:37 | BAndiT1983 | all the unclaimed items are free to claim
| |
20:49 | panintended | left the channel | |
21:21 | panintended_ | joined the channel | |
21:22 | panintended_ | changed nick to: panintended22
| |
21:28 | panintended22 | left the channel | |
21:46 | BAndiT1983 | changed nick to: BAndiT1983|away
| |
21:56 | se6ast1an | off to bed, good night
| |
22:27 | Bertl | off to bed now as well ... have a good one everyone!
| |
22:27 | Bertl | changed nick to: Bertl_zZ
| |
22:37 | panintended | joined the channel |