Hi all,
After getting familiarized with the code and expanding the copy functions, I got to thinking about some other possible features that might go in the firmware. I'm no DSP programmer (I think the synthesis side is pretty much perfect as-is), but I have decent familiarity with MIDI, so I'm willing to consider any suggestions for improvements to the sequencing and MIDI functions of the LXR that don't reduce the existing functionality. Here's a list of things I'd like to get off the ground eventually:
- Instant pattern switching - when a pattern button is pressed, switches on the next sub-step rather than end of bar (keeping current timing). Global option. (I have this working, I just have to put the global option in the UI)
- Morph from MIDI CC. I'd like to put this on Mod Wheel (CC1) for the global channel, as this is currently unassigned.
- Sequential pattern chaining (global option to switch between this and standard repeat/next), something like this:
http://forum.sonic-potions.com/discussion/190/wishlist-easier-pattern-chaining- pattern change as a p-lock destination. not entirely sure this is workable, but would be madness.
- I can take a look at importing individual voices from kits, but I expect this to be trickier for me. I'd like to make this p-lockable, too, but that might be entirely impossible.
I see Julian just posted a note in the 'program change for drumkits,' thread so I'd like to see what comes out of that, otherwise after I take a crack at the above, I can look at that too.
Anything else?
Comments
firmware direct: http://www.brendanclarke.com/files/LXR/FIRMWARE.BIN
the code branch is: https://github.com/brendanclarke/LXR/tree/instapattern
This introduces a new option in the global settings menu, called 'pci', just after 'pcr'. The long name for the setting is 'SequencrPCInstnt'. The default is 'off', which is the normal LXR pattern change behavior. When this is set to 'on', manual pattern changes happen on the next step (that is, sub-step) rather than at the end of the bar. The position of the sequencer is not reset when the pattern change happens in this mode.
This should give some new performance options - you can now freely drop in and out of any of the 8 patterns at any time, and the sequencer timing should just roll right along. Works just fine with the LXR clocked externally too, as far as I can tell.
There is some ambiguity, I think, to how this should work in combination with the PCReset option and with chained patterns in general. I have to examine this in more detail. I set it up so that only full pattern plays count towards the repeat count. Ie, if you insta-switch halfway through a bar into pattern 1, which is set 'rpt 3, nxt p2', the sequencer will finish the half-bar on pattern 1, play that pattern 3 more times, then switch to pattern 2.
I found this to make the most sense musically, but I could be wrong about that, I'm open to opinions
if you could get the drumkit program change working, that would be pure awesomeness! Heroic even!
Cheers!
Concerning drumkits, there was a discussion in other thread. Issue was to keep the consistence with current switching of patterns via Program Changes, to have both accessible through PC. Also, would the PC switch both, normal Kit and Morph Kit together? Anyway, there is a lot of LXRians waiting for these features and we are happy for any progress.
Thanks for your work!
That is an interesting point about Morph Kits - I don't know enough about how morph kits load and function to comment on what is or isn't possible, but my personal preference would be that kits always load with a reference to another kit as morph target.
Anyway, Mod wheel to morph should be reasonably simple, there's no menu programming to do
Check out "Repeat/Skip/Interval Progression Parameters".
Pete Kvitek has also implemented this in his MIDIalf. Pretty fun functionality.