News:

CWP2Song, public beta.
My  DAW is Reaper
YouTube channel

Main Menu

AZ Accessible OSC v2

Started by azslow3, February 07, 2022, 05:11:32 PM

Previous topic - Next topic

azslow3

AZ Accessible OSC

Warning: this version is currently not compatible with XML file for RME TotalMix. Please use v0.1 for that, from https://www.azslow.com/index.php/topic,352.0.html

Changelog:
2022.03.17 - v2.2 XAir scenes, XAir/X32 USB recorder, Tap for time parameters
2022.02.28 - bookmarks
2022.02.26 - v2.1 Tracker, clipboard and presets, configurable shortcuts, X32 communications support
2022.02.09 - v2.0 release

About
AZ Accessible OSC (AOSC) is an Open Sound Control (http://opensoundcontrol.org/) client for Windows operation system.
The interface is implemented using standard widgets and all functions are optimized for computer keyboard only control, making it accessible in terms of MSAA.

Current version is distributed without required layout XML file.
Currently known packaged with layouts:

Authors
Original idea to develop this utility comes from Can Kirca (cankirca at gmail.com).

The idea to use this utility with Behringer stage boxes comes from Gerad Deuvall. He is the author of related layout files.

The program is coded by me.

License
License conditions for the utility is in supplied LICENSE file. Layout packages are provided under different conditions.

Installation
1. Download ZIP file from https://www.azslow.com/index.php?action=downloads;sa=downfile&id=82
2. Unpack it into user writable directory. There is no installer, the executable azaosc.exe is the program to run.
3. Download layout package and unpack all files into the same directory.
4. Start azaosc.exe.
5. Required changes in peer configuration and possibly in OSC configuration of this utility are explained in particular layout package documentation.

Functionality
The primary interface element is the navigation tree, where current page can be selected. But initial focus is in the communication status label.

In the navigation tree each entry is a page. Pages can have controls and sub pages. If current page has controls, you can switch to these controls with tab. You can always return to the navigation tree pressing Ctrl+1.

There are several types of controls. Check boxes, buttons (also check boxes, but with different behavior), faders, combo-boxes, edits and labels.

Check boxes change some binary parameter, such as Solo, Mute, etc. and indicate current state of that parameter.

Buttons send something to the peer, but they have no feedback. Corresponding check box is always unchecked.

Faders control continuous values. Value can be entered directly. If you first press Enter, you can edit current value. Otherwise you can just type new value. Usual keys for scroll elements, including arrows, page up, page down, home and end should work as expected. Screen readers which support position value, for example NVDA, should announce current value. Note that the scale can be non linear.

Combo-boxes work with discrete parameters.

Edits can be used for any parameter, but are typically used for strings, for example channel names. When used with numbers, for examples inside faders, the number can be entered with or without unit. When unit can have k prefix or has m prefix, corresponding number is interpreted intuitively. For example, 2s and 2000ms are equal, but just "2" depends from the original unit and normally means 2ms in such value range. 1.2k and 1200 are the same. Special values are "-inf" for dB parameters and "c" for Pan parameters.

Labels are read only elements. They indicate current value, primary used for meters. Note that as long as the focus stay on the label, the value is not updating. Escape, enter and space force value update. When configured, they update to current momentary, absolute maximum since last reset or maximum since last update respectively.

Page and whole tree of pages can be copy, pasted as well as saved into files. That can be also used as quick snapshot for the page, to restore it later. Which sub-pages are excluded from tree copy is up to layout developer, for example copy input configuration of one channel to another is probably not desired, while copy EQ and Compressor settings is.
Where a copy or saved preset can be pasted is also up to layout developer.

External operations can be tracked using toggle option in OSC top menu, initial setting for which can be set in XML. When activated, any external changes of defined parameter focus corresponding control in the application, effectively audition the parameter and its value. In case one parameter is defined at several places, XML can define which from them should be focused. In case some parameter is not yet defined in XML, the response list in OSC debugger can be used to find corresponding OSC.

Keyboard shortcuts can be defined in XML, allowing focus pages or particular controls quick.

Two bookmarks can be set at run time, to quick switch between particular parameters.

Note
Particular devices can have extra functionality, please check related documentation.

azslow3


Tomecki

how to use tracking? i tried to add track in one of the control in AirAccess18 like this:    <ctrl type="fader" name="Volume" track=50 range="0.0,1,0,401" vtext="xlevel"/>
This is just an example, of course, but it doesn't work. after saving the info in the file, I ran azaosc.exe and started moving each volume slider, but nothing was announced. I don't understand what priorities are all about either.

azslow3

Tracking works for announcing external changes, it then move focus to the corresponding control in the AZAOSC and screen reader announce what is going on. There is no queue, so when you change parameters quickly not all changes will be announced. Note that tracking should be switched on in the menu on in XML. AZAOSC tracking feature is not possible to use when you use another program on the same computer since AZAOSC will have no focus. When you use AZAOSC to change something, the focus is already on correct control. "track" option for control specify tracking priority, it is for the case several controls in XML represent the same parameter and so AZAOSC has to decide what you prefer when the parameter is changed. When tracking is enabled, all controls participate, no extra options required, priority 50 is implicit default.