05-02-2020, 07:55 PM
Hi,
I've been enjoying moOde audio for a while now and would like to propose some enhancements to the rotary encoder and button input.
Right now, there is only one rotary encoder supported to control volume. Also the program is using polling and waking up regardless if there were turning events or not.
The buttons can be configured to execute only one command, but it would be nice to have an alternative / secondary command to execute for long-presses.
That said, I don't want to complain about the software the moOde audio team is making available to us, but I wrote two new tools which have the mentioned enhancements and a few more extra features.
Please check out the source code at:
https://sourceforge.net/projects/interactivipi/files/
Both tools can be built with a simple 'make' command and are named 'rotenc' and 'pushbtn'. (Yeah, it's also called rotenc since its a short and descriptive name and also inspired by your original code)
Both tools work with config files. rotenc supports up to 4 encoders with user-customizable commands per turning direction, different encoder models (e.g. with different signals per detent or 'click') and using absolute or relative position changes in the commands by putting '${%}' in them.
As a little add-on I think the encoder feels much more precise since the number of increments can be passed to scripts instead of fixed values.
pushbtn supports virtually endless buttons with user-customizable short- and long-press commands.
See included README and example .conf files for some more information, but the included example configs should explain most of it easily.
So, please try it and consider including this into your great moOde audio project if you also think it's an enhancement.
If you have some feedback or want something changed, I'm open to suggestions.
I don't have a concept on how to generate the config files from the UI of moOde yet, so this needs to be solved if you decide you want to include it. Also I'm not really experienced with web/php/... development.
best regards,
Peter
I've been enjoying moOde audio for a while now and would like to propose some enhancements to the rotary encoder and button input.
Right now, there is only one rotary encoder supported to control volume. Also the program is using polling and waking up regardless if there were turning events or not.
The buttons can be configured to execute only one command, but it would be nice to have an alternative / secondary command to execute for long-presses.
That said, I don't want to complain about the software the moOde audio team is making available to us, but I wrote two new tools which have the mentioned enhancements and a few more extra features.
Please check out the source code at:
https://sourceforge.net/projects/interactivipi/files/
Both tools can be built with a simple 'make' command and are named 'rotenc' and 'pushbtn'. (Yeah, it's also called rotenc since its a short and descriptive name and also inspired by your original code)
Both tools work with config files. rotenc supports up to 4 encoders with user-customizable commands per turning direction, different encoder models (e.g. with different signals per detent or 'click') and using absolute or relative position changes in the commands by putting '${%}' in them.
As a little add-on I think the encoder feels much more precise since the number of increments can be passed to scripts instead of fixed values.
pushbtn supports virtually endless buttons with user-customizable short- and long-press commands.
See included README and example .conf files for some more information, but the included example configs should explain most of it easily.
So, please try it and consider including this into your great moOde audio project if you also think it's an enhancement.
If you have some feedback or want something changed, I'm open to suggestions.
I don't have a concept on how to generate the config files from the UI of moOde yet, so this needs to be solved if you decide you want to include it. Also I'm not really experienced with web/php/... development.
best regards,
Peter