New custom firmware features

edited January 2014 in General
I decided to start a new thread as the old one was getting crusty :-)
Here are some new features that are now pushed to the custom firmware master branch. Note that this is not the official firmware, but the features will probably end up being added to the official firmware at some point. The custom firmware is always available at this link:
https://github.com/rudeog/LXR/raw/master/firmware image/FIRMWARE.BIN

New features today:

- Save/Load performance - this new save option lets you save/load the current drum patch along with the current pattern set and the BPM into one file allowing multiple slots. (PRF files)
- Save/Load all - this new save option lets you save/load all the data in the LXR (kit, pattern, settings) into one file allowing multiple slots. (ALL files)
- Better handling of startup not finding the default drum kit. Will display an error and continue with a patch that needs editing before it will work.

«13

Comments

  • Wow, I think many people have been waiting for a performance save.

    Awesome as it can be, thanks a lot for implementing this Rudeog !
  • edited February 2014
    This is awesome! Looking forward to try that out. Thanks!
  • edited January 2014
    Could you explain the Load/Save Performance multiple slots and PRF files a bit more?

    Also, do you need to save a named Pattern first, before you can save a Performance that will recall a pattern?
    i.e. the Performance save just links to a named saved Pattern, thus if no Pattern has been first saved, then the Performance won't recall any pattern?

    Or is current Pattern embedded in the Performance?
  • The performance save will save all of the settings into one file, so there is no need to save anything else. You could give that PRF file to someone else, they could load it on their SD card, and could play the same song as you sounding exactly the same without doing anything else. It uses the same slots mechanism as drumsets and patterns, so the idea is that if you were playing live and had a few different songs, you could just select a different performance, and it will get everything set up as you want it. I haven't tried shifting to a different performance while the sequencer is running, but I'm guessing the drum sounds and bpm would change immediately and the pattern would change when you select a pattern (same as how pattern load works now)
  • great - fine work adding all these features rudeog, thanks!


  • Now we should start a patch sharing thread!
  • Thanks rudeog!
  • THanks i have to try the last efatures though, you code too fast! 
    @admviolin what a great idea!

  • Yes, I'm up for a patch sharing thread.
  • edited January 2014
    Something crazy just popped into my mind : would it be possible to implement a "performance morph" function i.e morphing not only sounds but also rythm and tempo ? That would be so dope ! :>
  • tempo might be doable, but rhythm would be difficult. the pattern data is over 50k, the morph happens on the AVR which only has 4k.
  • Just pushed a minor fix.. Bar reset on pattern change mode will now also be saved in performance. Shouldn't affect performances already saved. Also fixed a bug when realtime erasing. It was still playing the note as it erased. That is fixed.
  • edited January 2014
    If you're up for the challenge; how about the pattern generator rotation? :)
    Wrote about it in another thread:http://forum.sonic-potions.com/discussion/111/pattern-generator-rotation . I think the best would be to save a rotation parameter on each instrument so when you change number of steps the "start" would remain where it was before.
  • Do you have an example of how this sounds in a performance? I take it you are talking about rotating a single drum voice's sequence so the beats are shifted in relation to the other drum sequences in that pattern, and I'm wondering how useful that is to do in a live setting vs. a programming setting. I can understand it in a programming setting (and Electribe has that feature), but I'm wondering what it would sound like to tweak it live.
  • @rudeog: I think there's a little demo on this page. Maybe you get some idea anyway.
  • It looks interesting. So to me it would be more useful to be able to rotate it to a setting immediately (as opposed to using a knob) so you can accurately and quickly switch to the exact setting. Maybe a button combination with one of the step buttons setting the offset from 0. At that point it could recalculate the current position for that voice by offsetting it from the difference between the old setting and the new setting. Then when starting the pattern again it could start from the offset.
    I'll give it some thought...

  • New firmware fixes:
    - Fixed LFO target voice issue (was not letting you target parameters on different voices)
    - Merged 0.28 fix from official fw (fixed sine OSC offset bug (start is now on zero crossing))


  • It seems that sync to external MIDI is still broken. Or is something else needed to set in the routing except BPM to 0?

    Thanks for the updates!
  • You need to ensure that your RXF global setting includes "R" (realtime) otherwise it ignores realtime data.
  • edited February 2014
    Hey everyone may find a "bug" (?) can you tell me if i'm wrong?
    First, I use rudeog last version so if anyone with the official version can try this on his lxr and report if it's the same i would be thankfull.
    In the snare voice, i thinks the original wave (set by the first coarse and wave choice) is not affected by the filter of the voice.
    If i but the mix parameter of the snare voice to 0 , i see that the sound is not affected by the filters paramaters.
    If i put it to 127 i can fully ear the filters parameters.
    Is it "normal"?
    EDIT: Just looked at the manual and yes its normal ... :)
    THanks everyone!
  • yes. it^ makes sense for synthesized snares with pure oscillator + filtered noise.
    when using samples as snare i missed the filter too a few times.
  • so it looks like you have the saving down. but i still cant receive midi from the din input. i have the proformance thingy set to r and tempo to zero all different ways. still nuffin. I am trying to sequince a vermona. would like to have seven patternes and then just changes to new patterns and if i can change performance patterns with a cc like from my octatrack that would be wicked. im playing moog fest and would like to use this peace. its uniqe and in a ratrod case so no one knows what the shit it is.

    ez
    naster
  • Well I just verified this and it works fine for me, so maybe you can check how your setup differs from mine. This is my exact setup. MIDI Din out from my MPC to midi din in on the LXR. I set the RXF to R (or anything containing R or ALL), I set the tempo to 0 on the LXR, I hit play on the MPC, and the LXR starts in tempo with the MPC. I tried setting the MPC to only transmit MTC as well and it works too (as long as the LXR has a non-zero tempo, as MTC doesn't contain tempo info).
    What unit is transmitting the midi clock? Can you verify it by having it sync another device? Are you sure it's sending clock and not MTC? Can you have it transmit note data (set the LXR's global channel to the same channel and your note setting for the current voice to Any and send a note).

  • Where can I download your latest firmware update again @rudedog Ichecked the old link from previous issues but it says it's 2 months old so... Many thanks for all the work dude!
  • Ok, thank you!
  • This custom firmware has some cool features :)

    Could you clarify the options in the midi filters and midi routing?
  • Midi filter is divided into transmit filter (TXF) and receive filter (RXF). Any letter shown in either of these represents that that type of message WILL be transmitted (or received). These are the letter codes
    R = realtime (midi clock/start/stop signal)
    N = note on/off messages
    P = program (pattern) change messages
    C = control change messages
    All = all 4 of the above are active
    Off = none of them are active

    Midi routing (MRT) has these letter codes:
    M = midi din port
    U = usb midi port
    A = both midi and usb port
    So if you see M2M it means anything received on a midi port is transmitted to a midi port. If you see M2A it means anything from a midi port is transmitted to both midi and usb. Midi routing will route all messages regardless of whether midi filtering allows them (so it's basically an advanced midi thru). Some routings are not present like U2U (as it makes no sense). I think right now it's missing the ability to do both m to u and u to m, but I think it could be added if people are interested in turning their LXR into an expensive usb midi interface :-)
  • Cool, thanks!
  • hi. I couldn't upload the samples, machine was stuck on loading screen, so i decided to try official firmware. Didn't work either, but now i can't update to the custom firmware anymore, lights are blinking slowly, but it never ends...all my stuff stored in the performance, file, so i'm kind of in trouble...any ideas?
    thanks!
Sign In or Register to comment.