[Qmidiarp-devel] Experimental fork for review
Linux MIDI arpeggiator, phrase generator and controller LFO
Status: Alpha
Brought to you by:
emuse
From: Matthew M. <gr...@sh...> - 2020-04-03 12:49:41
|
Hi all, I hope everyone is faring well in these challenging times. To assuage my own anxiety and help pass the time productively I have been working on a major set of UI changes and some feature enhancements for qmidiarp. I don't want to overburden Frank so I have posted it in my own git repo[1] for review and feedback on the work. If you are interested please check it out and let me know what you think here. I don't want to push any changes upstream until everything is sorted out and there is consensus to go forward. All of the changes stem from things I have been trying to accomplish in recent months with qmidiarp. My biggest challenge was the existing limitations on layout for the global store widget. I needed to run many more modules than I have width in screen size. I also wanted to keep these configured together to ease session management. So I started with adding a QScrollArea to the Global Store dock widget to improve spatial flexibility. Once I had that working I tried it with the dock widgets. Things progressed from there and I ended up adding a ton of usability features that I find useful for performance. The short list includes... * The module screens use matching vertical space when docked. * The global store is optimized to show 8 rows on a 1024x768 screen. * Restoring modules from global store raises the module to be seen. * Modifying the Preset Pattern by MIDI raises the ARP module. * Modifying the LFO and SEQ Length by MIDI raises the module. * The SEQ module supports lengths of up to 64 beats. * Added Mute All and Defer All buttons to the Global store column. * Both Mute All and Defer All support MIDI CC configuration. * Adding a module expands the dock widget to full usable height. * Adding or removing a Global Store Row expands the dock as well. The objective was to make using the store with 8x8 grid controllers a ton easier. It is worth noting that if you have two module docks side by side you can make both raise using one button. I wanted visual feedback so that I can see what I pick just in case I hit the wrong button. On that note the Global Store can queue up any row so that you can gracefully recover from hitting the wrong one. I needed the SEQ to run a lot longer so that I can fire dialog samples off across up to 16 bars using one store location. Mute All and Defer All are there for convenience and UI consistency. Mute All is especially handy. I have example qmidiarp qmax[2] and qmidiroute qmr[3] files one can use to demonstrate things. These are not perfect and work only for the APCmini (which you should NOT buy) but it can save you time if you are interested. Thanks and stay safe out there everyone, Matthew [1] - http://www.shadowglade.net/repos/git/qmidiarp [2] - http://www.shadowglade.net/Software/qmidiarp/test8x12example.qmax [3] - http://www.shadowglade.net/Software/qmidiroute/qmidiroute-2020-03-25a.qmr |