AZSlow

Accessibility => Sibiac => Topic started by: azslow3 on July 03, 2017, 05:10:08 PM

Title: Sibiac: Single Image Blob Interface Accessible Control
Post by: azslow3 on July 03, 2017, 05:10:08 PM
Sibiac is a set of accessible overlays for not accessible programs and plug-ins. That allows control such programs as accessible. More about Sibiac. (http://www.azslow.com/index.php?topic=437.0;imode)

Note: Wiki (https://reaperaccessibility.com/index.php/SIBIAC_add_on_for_NVDA) is simpler to read and understand then this site. The difference is like between well written book and pure technical specification.

Installation instructions. (http://www.azslow.com/index.php?topic=428.0;imode)

Currently supported programs:
Title: Re: Sibiac: Single Image Blob Interface Accessible Control
Post by: azslow3 on November 21, 2018, 05:32:14 PM
Change log:
19.02.20 - 0.23
  NVDA 2019.3 support

21.02.18 - 0.22p1
  Fix: not English usernames 

24.12.18 - 0.22
  New: EZ Drummer, Howard Benson, NadIR

28.11.18 - 0.21b3
  New: Melodyne shortcut preferences

26.11.18 - 0.21b1
  New: bridged plug-ins support in REAPER
  New: mic settings in Addictive Drums 2

23.11.18 - 0.2014
  New: SynthMaster player

20.11.18 - 0.20b3
  New: preset loading for Sforzando and VCSO2

19.11.18 - 0.20b2
  New: really complete operations in EZMix 2

18.11.18 - 0.20b1
  New: complete operations in EZMix 2
  Change: Sibiac tries automatically maximize FX window

13.11.18 - 0.19b3
  Change: EZMix 2 and GTune are using NVDA text instead of OCR

12.11.18 - 0.19b2p1
  Fix: favorites adding announcement in EZMix 2
  Fix: demo mode handling in EZMix 2 

11.11.18 - 0.19b2
  Fix: OSARA audition during working inside Sibiac overlays

10.11.18 - 0.18b5
  Fix: arrows in Zampler modulation table
  New: EZMix 2

5.11.18 - 0.18b4
  Change: Melodyne, Main mode added
  Fix: buttons in Melodyne Shortcut preferences
  Fix: Tools in Melodyne Essencial
  New: Spanish localization in Melodyne
  New: Synapse audio Zampler VST in REAPER

4.11.18 - 0.18b3
  Fix: false warning when the interface really on the screen
  Fix: amplitude editing in Melodyne

3.11.18 - 0.18b2
  Fix: bug in text editing controls
  Change: names are changed to standard for Melodyne
  Change: tool parameters are now after Edit virtual control
  New: audition for direct switching tools by shortcuts
  New: pitch modulation, pitch drift, time and attack speed tools
Title: Re: Sibiac: Single Image Blob Interface Accessible Control
Post by: Outsidepro on December 12, 2018, 06:42:32 PM
Before I should start my message, i would wanted apologize if my message has been written to wrong topic. I just not found appropriate topic so i've decided write here.

Before i want say thank you for great delopment for producers who needs to get accessibility in VSTS! That's really great idea, realisation, and performance! It's also allows to avoid use JFW with NKPro scripts where too much many key commands and slow performance vs SIBIAC works fast, accuracy and proposes the pseudo-interface. Thank you!

I might wanted to propose you to participate in development for. I am programming a little, also I have the friend wwho is programming too and he makes it better then me. Also he loves explore new synths, plugins and etc. He uses Reaper. We can help SIBIAC to get support new plugins and synths. We've wrote some stufs for simple access to some plugins and we want to move these to SIBIAC. But now it has a few difficult problems:
1. You've removed the sibiac.exe utility that might help us to provide develop a new plugins. Also there's no guides to use it and add new coordinates and data. May you publish it here in appropriate topic with short help for?
2. At last version SIBIAC got splited code with main implementations and plugins implementations, but it's still needs to be imported into appModule file... I know Python bad but i think it wold be realised as dynamic import from plugins folder maybe?
3. May we contact via some methods to to discuss about?


Thank you for response in advance!
And excuse me if my english is bad, my native language russian. :)
Title: Re: Sibiac: Single Image Blob Interface Accessible Control
Post by: Grisha on May 25, 2019, 01:21:18 PM
Hello Aleksey! I want to make the request about kontakt5 or kontakt6. is it possibly to make it more accessible through Sibiac? I use golden cursor for adding instruments and libraries to kontakt. it would more comfortable to use Sibiac instead golden cursor. Thanks for this great accessible addon!
Title: Re: Sibiac: Single Image Blob Interface Accessible Control
Post by: azslow3 on May 25, 2019, 02:42:51 PM
For Kontakt there is Kontakt Access from access4music. In addition all NKS keybaords support accessible operations now. I do not say Sibiac will never support Kontakt,
but for sure that is not going to happened soon.

Title: Re: Sibiac: Single Image Blob Interface Accessible Control
Post by: Druify on December 10, 2019, 09:33:46 PM
Hello,

are you planning to upgrade Sibiac for NVDA 2019.3? I started to enjoy its funcitonality, but it is incompatible with Python 3 and NVDA.

Best wishes,
Druify
Title: Re: Sibiac: Single Image Blob Interface Accessible Control
Post by: azslow3 on December 11, 2019, 12:23:13 AM
I will check tomorrow.

EDIT: 2019.3 is not yet ready, but thank you for making me aware. I will try to find time and update SIBIAC before it is released next year.
Title: Re: Sibiac: Single Image Blob Interface Accessible Control
Post by: Tomecki on February 10, 2020, 03:04:00 PM
Today NV Access released NVDA 2019.3.
Title: Re: Sibiac: Single Image Blob Interface Accessible Control
Post by: Outsidepro on February 10, 2020, 06:51:07 PM
I've got last NVDA release too and SIBIAC did not compatible with. We will waiting new version! :(
Title: Re: Sibiac: Single Image Blob Interface Accessible Control
Post by: azslow3 on February 19, 2020, 11:03:45 PM
Update version is uploaded.
Title: Re: Sibiac: Single Image Blob Interface Accessible Control
Post by: Outsidepro on March 12, 2020, 07:39:40 AM
Oh, i've just forgot to tell you my thank! :) Excuse me!

Also, I may show you a plugin which needs be accessible and it can be usefull for any sound producer which works at home studio and have no monitor acoustic system... I'm talking about RealPhones plugin by DSoniq https://www.dsoniq.com/ (https://www.dsoniq.com/) May you explore that?
Thanks in advance! :)
Title: Re: Sibiac: Single Image Blob Interface Accessible Control
Post by: erion on March 22, 2020, 11:09:07 AM
Hello,

First of all, thank you very much for Sibiac, and for the new update for NVDA 2019.3.

I've encountered a bug in some applications, where the object nav (NVDA+numpad numbers) via the desktop keyboard layout exposes only one item.

You can verify this, for instance, in Native Access, where with Sibiac enabled, I only see a toolbar and the first item (a search box) in it, while with the add-on disabled, all the controls are visible as expected.

Could you please look into this?

Keep up the amazing work!

Erion
Title: Re: Sibiac: Single Image Blob Interface Accessible Control
Post by: theslyprofessor on March 26, 2020, 04:19:05 AM
Hello,
I am teaching a student who is visually impaired. She uses Logic on her Mac but I want to teach her Melodyne. I heard that Melodyne has SIBIAC support. Does it work in Logic on Mac?

Thanks,
Nakul
Title: Re: Sibiac: Single Image Blob Interface Accessible Control
Post by: azslow3 on March 28, 2020, 12:16:07 AM
Sorry, but SIBIAC works on Windows platform only.
Title: Re: Sibiac: Single Image Blob Interface Accessible Control
Post by: Outsidepro on May 10, 2020, 11:57:43 AM
I just wanna propose you to change the method of plugin definition from getting the plugin name from listview to real DLL name. When I'm working with hard projects my CPU has often overloaded, and NVDA cannot process the listview with the following log message:
ERROR - eventHandler.executeEvent (11:57:52.933) - MainThread (12688):
error executing event: gainFocus on <NVDAObjects.IAccessible.sysListView32.ListItem object at 0x074A0EF0> with extra args of {}
Traceback (most recent call last):
  File "eventHandler.pyc", line 155, in executeEvent
  File "eventHandler.pyc", line 92, in __init__
  File "eventHandler.pyc", line 100, in next
  File "NVDAObjects\__init__.pyc", line 1102, in event_gainFocus
  File "NVDAObjects\behaviors.pyc", line 611, in reportFocus
  File "NVDAObjects\__init__.pyc", line 988, in reportFocus
  File "speech\__init__.pyc", line 469, in speakObject
  File "speech\__init__.pyc", line 506, in getObjectSpeech
  File "speech\__init__.pyc", line 377, in getObjectPropertiesSpeech
  File "baseObject.pyc", line 42, in __get__
  File "baseObject.pyc", line 145, in _getPropertyViaCache
  File "NVDAObjects\IAccessible\sysListView32.pyc", line 435, in _get_name
  File "NVDAObjects\IAccessible\sysListView32.pyc", line 359, in _getColumnLocation
  File "baseObject.pyc", line 42, in __get__
  File "baseObject.pyc", line 145, in _getPropertyViaCache
  File "NVDAObjects\IAccessible\sysListView32.pyc", line 222, in _get__columnOrderArray
  File "winKernel.pyc", line 212, in virtualAllocEx
OSError: [WinError 8] Недостаточно ресурсов памяти для обработки этой команды.
When this error has ocurred SIBIAC doesn't defines the plugin and doesn't activates there.
A few time past I had reported this bug to NVAccess but it is still didn't fixed. Perhaps I'd reported this in 2015th year. Seems this error cannot be fixed basically.
Unfortunately i don't know Python but a few time ago me and my friend have written the clicker in PureBasic. There we are used the WinAPI hooks for creating and destroying the windows in process. When new window has been created we get the process name of created window and load the appropriated file with the same name as process name who has created this window. It is works better because the DLL name not changeable instead of name from SysListWiev32 when i can rename it there.

Thanks in advance!
Title: Re: Sibiac: Single Image Blob Interface Accessible Control
Post by: azslow3 on May 11, 2020, 03:02:29 PM
We have spotted the problem only last week. Thank you for the information it is not concrete system dependent and there is little chance it can be fixed in NVDA.

Unfortunately I do not know any method to get DLL name for a window. The process is REAPER, NVDA already use that to select overlay module. Embedded window
is created by some function within DLL, but I do not think Windows architecture supports such lookup. Most frameworks dynamically create Class names, so they are
all JUCExxx or Pluginxxx. That is why I use ListView for detection.

I will try to find some solution.
Title: Re: Sibiac: Single Image Blob Interface Accessible Control
Post by: Outsidepro on May 14, 2020, 11:07:11 AM
I have ready to share you the sourcecode of our clicker, but it written in Purebasic. But there is the solution of.
Title: Re: Sibiac: Single Image Blob Interface Accessible Control
Post by: azslow3 on May 14, 2020, 01:31:21 PM
Thanks, but for the reason I have mentioned before I doubt that approach will work in the REAPER FX window. This window is a container, it display interfaces from different plug-ins. The process is still REAPER. Finally some plug-ins, for example Waves, are loading throw one single shell DLL.

But can you write me the link of your bug report to NVDA? May be we can bump it.
Title: Re: Sibiac: Single Image Blob Interface Accessible Control
Post by: erion on May 15, 2020, 11:21:36 AM
Hello,

I just wanted to write a quick message to thank you for the new 0.23p1 update, which fixes my one object per window issue via NVDA object nav.

As always, thank you for your continuous support!
Title: Re: Sibiac: Single Image Blob Interface Accessible Control
Post by: x0 on June 21, 2020, 02:11:58 AM
Hello. I am reporting a critical bug in the add-on that affets those of us using any NVDA releases other than the full ones. Back when I was on 2020.1 rc1 this happened, and also now I'm on 2020.2 beta 1 this happened. If the version info that you happen to be parsing from versionInfo.version string contains anything that cna't be converted to an integer, it will cause an import error of SIBIAC and effectively render the Reaper window unfocusable. I tried patching this with a try catch with a manual population of the list but then I started getting index errors. Just letting you know how you should be building the version info for NVDA so this will work, this is how add-ons are supposed to check version info. The versionInfo module has three attributes called version_year, version_major and version_minor. Those should be used in place of the list indexes. If you still want to build the list as simply [versionInfo.version_year, versionInfo.version_major, versionInfo.version_minor], there is one more thing you should look at in the compatibility if statement. When checking for version_year being 2019 and version_major being less than 3, you end up calling the wrong index for 2019. Following is the patch I made to lines 24 and 25 in AppModules/sibiac/__init__.py using the list creation pattern so not much else had to change. This lets it work as far as I've seen, it definitely isn't causing such propagated import errors that I can't focus the reaper window.
nvda_version = [versionInfo.version_year, versionInfo.version_major, versionInfo.version_minor]
if nvda_version[0] < 2019 or (nvda_version[0] == 2019 and nvda_version[1] < 3):

Best regards
x0
Title: Re: Sibiac: Single Image Blob Interface Accessible Control
Post by: azslow3 on June 22, 2020, 11:04:39 AM
Thank you for reporting, it will be fixed in the next release (I will send you the link to test version in PM).
Title: Re: Sibiac: Single Image Blob Interface Accessible Control
Post by: x0 on June 22, 2020, 05:12:57 PM
One more suggestion for the next release, though I'm not sure how hard this is to implement on your end. On platforms that have it, I.E. most versions of Windows 10, could you take advantage of the UWP OCR? It may yield better results and I think the overall processing time is less. Perhaps this could be implemented in a way that if it is available it would be used first which would then mean you don't have to have the sibiac_ocr add-on installed, but if it isn't then whatever failure you do when the OCR add-on isn't present still applies, for those on older versions of Windows.
Title: Re: Sibiac: Single Image Blob Interface Accessible Control
Post by: azslow3 on June 22, 2020, 05:59:50 PM
Current OCR is slow just because I use it very inefficient way. Changing that is long time in my list.
Is UWP OCR better for my purpose is an open question, I have not checked yet. Note that really bad results are coming from parsing very bad text, sometimes barely if at all readable for sighted users. In most plug-ins text is just historical part of the interface and the trend is making it smaller till no longer recognizable, just as a decoration. For example an older version of one plug-in I have overplayed still had text for banks, but newer version display pictures instead.
The trend is present for example in envelopes. Old plug-ins had Attack, Decay, Sustain  and Release controls, some without any resulting graphic. Then they have replaced all that with one graph of the envelope, with points movable by mouse. But in many cased there still was ADSR characters. These days some plug-in do not even mark the graph "Envelope", assuming everyone understand that by the graph form. 
Title: Re: Sibiac: Single Image Blob Interface Accessible Control
Post by: x0 on June 27, 2020, 03:44:21 AM
Can anything be done to ad accessibility to Kontakt 6? I'd like to be able to access things like batch resave and load presets without paying for access4music scripts. I understand some stuff just won't work, like in-window browsers, but having access to batch resave and conversion of wav to ncw and stuff like that would be great. It's fine if it's just with Kontakt and not in Komplete Kontrol since you probably have no real way to tell what's loaded in Komplete Kontrol.
Title: Re: Sibiac: Single Image Blob Interface Accessible Control
Post by: azslow3 on June 28, 2020, 09:28:30 PM
I think access4music is the right way to organize things. I am not going to overlay plug-in for which payed scripts from access4music exist, sorry.