ARM BASIC: SOUND extension?
nemo (145) 2546 posts |
Jeffrey suggested
I’ve been up to my ears in IFR and IFC the last couple of days. Some of the API is rather odd, and I wonder how much of it is actually used by anything (IFC MiscOps for example). And the implementation is… well, typical C mess – sets of veneers calling sets of veneers calling a shared function with an index number which then calls a typical jump table in order to find six instructions of code. I know, no one cares but me. Meanwhile, 15 different “quality” levels and not one that can make a PNG use its mask. On the other hand we have the PNG module which presents libpng in an unusual way, and an ICO converter that provides SWIs for fiddling with DIBs. It’s not terrible, it’s just a bit scrappy. ConvertSprite_CreateSprite is basically a wrapper for redirecting to a sprite AFAICS. It’s a Curate’s Egg. |
Steve Pampling (1551) 8170 posts |
Short of sneaking between two submenu arrows I can’t reproduce that, or were you suggesting that coming alongside a submenu arrow, while outside the supporting menu, should open the submenu? |
Jeffrey Lee (213) 6048 posts |
I care as well. But fixing it (or finding alternatives) ranks quite low on my priority list. As for the GIF, the Wimp’s innocent “I’ve no idea how the pointer got from that menu entry to the other side of its submenu arrow so I certainly shouldn’t open the submenu!” is something I trip over many times every day, so I’m going to fix it at some point. It took me a while to see it as well, but then I realised that the low frame rate of the GIF wasn’t a problem with the way the GIF was created – it’s actually what nemo’s mouse is doing. So the mouse teleports from being on a menu item to being somewhere off the right edge of the menu, completely missing the trigger area that causes the Wimp to open the submenu. Fixing it would just be a case of getting the wimp to do a ray cast from the old position to the new, and use that to decide which submenu to trigger. |
Andrew Rawnsley (492) 1445 posts |
Nemo – it seems like we’re almost of like minds. Perhaps you could (privately?) consider what would be an agreeable arrangement to try and make such APIs and functionality happen. I appreciate time may not be a super-available resource, but I think if people are willing to have a go, on the understanding that we’ll try and a) not break compatibility and b) make the results available to all, is this something people could get behind? Incidentally, the only reason I mention money in threads is that time often equates to day jobs and other projects. The offer of money is primarily intended to deflect the whole “I can’t work on RISC OS because I need to eat” scenario! ;) Now you can have RISC OS cake and eat (sort of)! |
Chris Mahoney (1684) 2165 posts |
Alternatively, is there any harm in making the submenu open when you move the mouse over the text (in addition to the arrow)? A larger surface area is easier to point to (and, in the case of a touchscreen, easier to touch). |
Stuart Painting (5389) 714 posts |
You can already do this (Configuration > Windows > Open submenus automatically). The facility has been around since RISC OS 3.0, so people may have forgotten it exists. Or maybe I’m the only person who uses that facility… |
Chris Mahoney (1684) 2165 posts |
Well, don’t listen to me then :) |
Steve Pampling (1551) 8170 posts |
Morning! (for me) Edit: After a check I discovered that the suggestion from Stuart does work – the default being to open automatically on the arrows and the “open automatically” option actually enables “open automatically when over the text as well (after a lengthy delay)” |
Sprow (202) 1158 posts |
There’s also a quietly hidden configure option |
Steve Pampling (1551) 8170 posts |
Part of a list of hidden items either in the active code or in optional source chunks. |
Rick Murray (539) 13840 posts |
I think there’s a configuration option for that – try |
Rick Murray (539) 13840 posts |
Ooh, here’s something interesting… The Wimp code has an option – |
nemo (145) 2546 posts |
Precisely. The functionality depends on the Wimp noticing the mouse being on the arrow, not having traversed the arrow. In other words, the UI functionality is hypercritically defined by the polling rate of a peripheral. Having written and supplied software to allow keyboard and mouse to be controlled by communication aids it’s clear to me that this is a design flaw. There is some finessing regarding horizontalness I think, one wouldn’t want a move from on #3 to alongside #5 opening submenu #4.
And I’m not pointing fingers at anyone. The compilers are not great in isolation, but when asked to make modules they get a lot worse. And for simple modules the signal to noise ratio is dreadful.
Hmmm. And does it still have the “KEEP” option for CreateMenu? <backs away, smiling> |
Chris Evans (457) 1614 posts |
It is not rounded icons that I miss. In April 2016 I posted (Strangely I can’t now find the 2013 thread!):
|
Jeffrey Lee (213) 6048 posts |
It’s a 2015 forum thread referencing a 2013 newsgroup thread. https://www.riscosopen.org/forum/forums/5/topics/3389?page=3#posts-44179 (see also Rick’s ROL toolbox changelog) |
Grahame Parish (436) 481 posts |
How much of that list is already incorporated in RO5 now? I can see EDID as an obvious item. Which are the must-haves and the so-whats? |
Rick Murray (539) 13840 posts |
Given the design of RISC OS and the Wimp, is this really a surprise? This problem has never affected me as I was always of the impression that it was necessary to put the pointer over the submenu arrow.
Doubt it, but I don’t see why one couldn’t add Return/Shift-Return (or whatever the key press is) with the shifted version keeping the menu open. It just fakes mouse clicks, doesn’t it?
Looking at the list, I’d suggest: Important:
Additions:
Useful:
Forget it:
|
Steffen Huber (91) 1953 posts |
The only “must-have” I can identify is “Selectable text in writable icons”. Everything else does not even qualify for “should-have” (apart from maybe the SysLog idea and “true numerical sort”). IMHO of course, since I don’t think adding random applications like an image viewer or thumbnails or a wastebin into the core OS makes much sense. Use PrivateEye, PhotoFilter and Transient/TrapDelete if you must. Although a lot of the smaller things could easily be done completely outside core RISC OS, e.g. by one of the members of the “oh I don’t want to buy the DDE so I cannot contribute” (the same that previously complained about the oh-so-bad Castle licence) brigade. |
nemo (145) 2546 posts |
Rick said
Our survey said uh oh |
Rick Murray (539) 13840 posts |
I suspect we may be talking about subtly different things. I’m looking at whether or not key handling supports keeping the menu open… https://www.riscosopen.org/viewer/view/apache/RiscOS/Sources/Desktop/Wimp/s/Wimp03?rev=4.33#l2359 |
nemo (145) 2546 posts |
It’s a necessary part of handling different fonts. If you change desktop font you must have control over the font size too. It is completely false to believe that 12pt Foobar.Bold is anything like the same height as 12pt WizBang.Medium. Point size does not equal physical size. And it’s not just font size. Spacing can be important too: |
Rick Murray (539) 13840 posts |
The last thing I intend to do is start a discussion with the person who does this as a living, however isn’t a point supposed to be 1/72th of an inch? (wiki link) That said…
It’s quite obvious that there are differences, as a desktop with 12pt Trinity will need to be set to about 10pt Homerton for the text to appear visually “the same size”, and that’s not even comparing medium/bold. BTW, what do you use to create those animated GIFs? |
Steve Pampling (1551) 8170 posts |
One of the compile related options that allow different builds for things like the NC. Might be entertaining to compile an SA version of the Wimp with that set as “true” instead of “false” and then see what the behaviour is. Edit I wonder if I could crash RPCEmu a few times with that? Make a change from crashing it my latest mistake1 on mouse control in the Filer code. 1 Theoretically I’m learning from the mistakes. |
John Williams (567) 768 posts |
Ah – GIF envy! |
George T. Greenfield (154) 748 posts |
Yes it is. I think what we’re encountering here is the varying ‘x’ height of different fonts of the same nominal point size, i.e. the vertical dimension of the letters excluding ascenders and descenders. So serif faces such as Trinity will typically appear to be smaller than sanserif faces such as Univers even when their point size is the same due to their smaller ‘x’ height. In short, you’re both right! |