Alternative Shruthi firmware with sequencer load hack

@funkyfli Yes this is default with the version 1.0x firmware. The the patch and the sequence are saved and loaded together.

@bleo … yes i liked to try out different scales. I played a bit with them. It works nice but maybe there is also something strange going on sometimes. I should play with it some more.
I also wondered if i should have used harmonic minor in stead of natural minor.

Ah. I was just checking because removing the ‘!’ should mean the sequence is loaded only when running and not when not running. (I haven’t tried.) Unless, of course, it’s loaded elsewhere…
If my surmising is true, commenting out or removing the if statement will work. ie.
// if (!part.running()) {
Storage::LoadSequence(edited_item_number());
//}

Otherwise, just ignore. :slight_smile:

Loaded up the sysex tonight. Works!

Yep. Make sure your start page isn’t set to ‘preset’ if you want to change between sequences quickly. Going to update my other Shruthi tomorrow and see how it works with two in a chain :slight_smile:

@funkyfli
You are right! i thought i checked that but it does indeed now NOT load the sequence of the patch when it is NOT running.
So how to do this properly ? Commenting out doesn’t work because then it doesn’t load the sequence at all.

if (!part.running() || part.running()) {
Storage::LoadSequence(edited_item_number());
}

|| means or, so if either of those statements returns true then the sequence will be loaded. I hope there is enough room to fit that in the leftover Shruthi code.

haha … ofcourse i just had to remove the “if” so now it’s just:

Storage::LoadSequence(edited_item_number());

new corrected versions of .hex .mid and .syx

Haha! Good catch funkfli and thanks for the preset load tipelthorno!

:slight_smile: Great! I wondered if the no ‘!’ way could be useful… I couldn’t think of a good workflow.

Can’t test it right now but could the no “!” way be used as a hack to copy sequence data from one patch to another?

Interesting modification!
Nice to see all these firmware mods-by-need popping up, keep it going ! :wink:

@bleo,
don’t know… test it out? If it does it should also be possible with the standard firmware but reversed from how this one works.

@stuartm … yeah i looked at your one too. But you seem to be better at coding. Best i can do is figure out what part of the code is doing what.
I’d like to make one other hack that uses the direction modes of the arpeggiator also in the sequencer. But that are different parts of code so it gets to complicated for me.

Hi all.

I am relatively new here so I don’t know exactly how things work but is there any possibility that some of these hacks will be integrated to the “official” firmware if they are popular enough?

I doubt it :wink: … I think the official MI firmware for the Shruthi is pretty much finished. I would be surprised if Olivier would make any new versions beside bug fixes.
But it’s open source and everybody can hack it and maybe one day a ‘hacked’ version will be the dominant new firmware. TubeOhm is taking over a lot of the Ambika and Shruthi boards and maybe he will also actively develop the firmware in new directions.
If you want a bells and whistles use the old v0.98 firmware. There were a lot of functions which were stripped from the new v1.0x
The old firmware had some nice features but also was a bit full of weird functions by many requests from different users. I really like the firmware lik it is now.
Only thing i would like is a radically different firmware that turns it into a totally different synth. Should be possible.

hmmm really? What does it do/not do? I know of the the new/old bootloader thing but not what it is actually about. Did you try the .syx or.mid?
If you have an AVR programmer then flashing it with the new bootloader is probably easiest.

Tried to update my other Shruthi, but I forgot that it’s ancient and as such runs the ‘old’ bootloader. I’m going to have a poke around and see if I can learn to fix this myself- from what I’ve read it’s to do with the ‘manufacturer ID’ part of the sysex. I doubt anyone else is having this problem. Maybe I should bite the bullet and re-flash the thing.

I used the .syx file, via the C6 tool. Basically when the file starts sending, the lights on the Shruthi don’t flash, it doesn’t ‘receive’ the file. I had the same thing when updating to 1.0 - see thread
I don’t own an AVR programmer, but I know someone who does, so I think I’ll arrange to go over and get a tutorial.
edit - just read this which may explain better?