channel management

Started by musicalman, September 21, 2020, 06:20:26

Previous topic - Next topic

musicalman

Hi all,
I have two questions relating to channel management in modules.
First, is there an easy way to reorder channels? For example let's say I have some three-note chords and I want an occasional fourth-note and I don't realize this until I've done other channels. Or I have a melody line which sounds fine but I want to layer it on 1 or more additional channels. Is it possible to reorder channels in some way so that I can keep all channels of a certain purpose organized and avoid messes?

Secondly, from my experience as a screen reader user, it is not possible to see the name of the channel you're focused on in the pattern editor. In fact I barely took notice of the ability to name channels until recently. I was going to make an issue to request channel name be added to the pool of things you can put in the accessibility format setting, but I figured I'd mention it here first.
Thanks for your input and have a good day!

Saga Musix

QuoteFirst, is there an easy way to reorder channels?
I'm afraid there is currently no accessible way to do this - in fact there are even two way to do it but both go through drag&drop in custom-drawn UIs (pattern editor and channel manager). The complete lack of accessibility in the channel manager has been bothering me for a long time but I'm not really sure how to address it.

QuoteSecondly, from my experience as a screen reader user, it is not possible to see the name of the channel you're focused on in the pattern editor
Would it maybe help if I added the possibility to read out the channel name (in addition to channel index) to the accessibility description of the pattern editor?
» No support, bug reports, feature requests via private messages - they will not be answered. Use the forums and the issue tracker so that everyone can benefit from your post.

musicalman

Yes, the possibility of speaking channel name would help a lot!
I see what you mean in the channel manager. I looked at it and while the tabs and buttons seem fine, there is no way to see channels or tell which are selected/enabled.

Saga Musix

Okay, I will take care of that later today.
I also just had an idea to make channel rearranging at least a bit more accessible: Would it be helpful for you if there were two shortcuts in the pattern editor for moving the channel in which the edit cursor resides to the left and right?
» No support, bug reports, feature requests via private messages - they will not be answered. Use the forums and the issue tracker so that everyone can benefit from your post.

A11CF0

Is it possible to make the channel manager view keyboard-focusable and to provide shortcuts and accessibility events like in the order list? What are some of the unique difficulties in this special case?

Saga Musix

The unique difficulties here are that the channel manager, unlike other dialogs, is completely custom-drawn so its logical controls are not exposed to accessibility tools. It's also not simple to replace those custom-drawn buttons with regular buttons because they also have very custom behaviour. In the long term, it should be possible to somehow expose them to accessibility APIs but it will be a lot of work. It's definitely something I want to see happening, but as always - development resources are limited.
» No support, bug reports, feature requests via private messages - they will not be answered. Use the forums and the issue tracker so that everyone can benefit from your post.

Saga Musix

Quote from: musicalman on September 21, 2020, 09:11:17
Yes, the possibility of speaking channel name would help a lot!
I have now added a new variable, %channel_name%, which can be used in the pattern accessibility string. If the channel has a name, it will announce the index and name (e.g. "1: Bass"), otherwise it will just contain the index. Let me know if this works as intended. Test builds for both OpenMPT 1.30 and 1.29 should be up soon at https://builds.openmpt.org/builds/ (r13629 or later).
» No support, bug reports, feature requests via private messages - they will not be answered. Use the forums and the issue tracker so that everyone can benefit from your post.

musicalman

Thanks, I will test the channel names later today.
Making a shortcut in the pattern editor to move channels left/right would be considerably better than nothing, so I'd say go for it if you want.
Another idea: a move channel dialog of some sort where you can change the currently selected channel number by performing a swap. For example the selected channel is 5, and you go to the move channel dialog and enter 3. This would swap the two channels. But... I could see this falling apart with multi-channel selections. I don't use them much yet, but I know they are possible at least to an extent.

Saga Musix

Yeah, that might work. I will probably just try both since the actual complicated code will the same, anyway.
» No support, bug reports, feature requests via private messages - they will not be answered. Use the forums and the issue tracker so that everyone can benefit from your post.

Saga Musix

I have now added two new shortcuts ("Move Channels to Left" and "Move Channels to Right") which either move the current selection, or if there is none, the channel of the edit cursor. The dialog you proposed may still follow at a later point.
The new shortcuts have no default keys assigned at the moment.
» No support, bug reports, feature requests via private messages - they will not be answered. Use the forums and the issue tracker so that everyone can benefit from your post.

musicalman

Awesome! Glad you were able to get to this :)
I will try to test soon and provide feedback.