Feature Request: Ribbons preset settings

There have been a couple of threads over the past few months concerning Ribbons and ways to unpack the 4 knob / 4 page controls for Ribbons using a MIDI interface of one sort or another.

One of these suggested using the 16 knob Ingrid MIDI controller, which I initially thought might be the way to go. It does let you map the knobs differently using a pages paradigm. Ultimately, I personally concluded that it didn’t save me having to page through controls.

See: Feature Request: Knob-Per-Function - #2 by Mcneely11

There is also an older thread where user @9lbsmax shared their TouchOSC template for Ribbons.

See: TouchOSC and Ribbons - #6 by Paul
See: TouchOSC | hexler.net

I’m guessing they have a newer version that they’re using, but I decided I might as well try making my own to fit my needs. I’m only 4 days into it, but I decided, to make the interface more clear, to divide it up into 3 pages (yep, pages again). I will have the main knobs on one page, a page for the looper, and a page for the presets. Some controls, like the footswitches and probably the Touch Modes and T1 and T2 knobs should probably appear on all the pages.

I’m starting working on the presets first, since that was something that 9lbsmax’s version didn’t have and corresponds to what I’m doing most at the moment.

Which leads me to a request for @jaakjensen. Ribbons doesn’t have a MIDI out port, so I have no way to make my TouchOSC template reflect my physical pedal’s knob settings. I wonder if Jaak could share the settings of all seven presets – either as knob mappings or better, simply as MIDI parameters? I imagine this would be useful for Ghosts and Sparks, as well.

Here’s what I have written so far after a couple of days reading up and another couple coding. I’m still trying to figure out how to map the presets onto the Touch Modes and T1 and T2 knobs. That is, when I select, say, the Lo-Fi Chorus preset, have the Broken Machine Touch Mode button light up (and dim the others) and set the T1 and T2 knobs to the proper initial values for that preset. On other pages (which don’t exist yet), I’d want the preset to set the other knobs appropriately.

2 Likes

this is fortuitous timing (for me, anyway!)

i’ve just starting playing around with TouchOSC and have built some templates for my other pedals (some Chase Bliss and OBNE; https://patchstorage.com/author/tbird5000/ for the curious).

i’m new to Kinotone, but i have a new Ribbons on the way so i had already started thinking about designing a template and it’s awesome to see this project already underway. my stuff tends to be very rudimentary, but the lua scripting is such a powerful tool for customization (i really like it for making scripted labels and ‘reset’ buttons). and i feel your pain in trying to suss out CC values when the midi only goes 1 way (i found this especially true when trying to figure out the 12/noon ‘deadzone’ on a knob that has subtle but different effects on each side).

1 Like

I didn’t know you were on this forum. Nice to “meet” you!

I downloaded your OBNE Sunlight (an awesome pedal!) template from Patchstorage last week but haven’t had a chance to try it out yet. My intention, actually, was to see how you approached its design. Of course, I fully intend to try it out too and benefit from your work.

I also grabbed your Mood MKii template, although I don’t have that pedal yet. Again, I was curious about the design and how CBA pedals work with MIDI. I may hack something together for my Thermae and BAM once I get further into TouchOSC.

Patchstorage seems like it should be a good resource, although none of my other MIDI capable pedals are represented there. Once I have my template a bit more fleshed out, I intend to upload it there.

oh nice! yeah please feel free to give my templates a whirl, reuse bits and pieces and let me know if you have any suggestions or encounter a issue. they’re very much a work in progress, but i’m probably happiest with the CBA Lost + Found template right now. i’m mostly approaching these from trying to mimic the physical layout while surfacing the hidden features (and with the scripted labels hopefully eliminate some of the instructions-manual diving).

and yes- patchstorage is a great place to share, but it is admittedly bit hit and miss when it comes to effects pedals. fortunately TouchOSC uploads seem to be picking up a bit! and the good news is once you have one working template, a lot of the work is preserved for the next…which reminds me i have a OBNE Dark Star i’ve been meaning to finish :smile:

Sorry for the delayed response on this. I must have missed the tag notification. Here are those values you requested. You will need to divide these settings by 255 and then multiply by 127 to get the MIDI CC equivalent. For settings like touch_engine and unrealLoFi, see the MIDI CC implementation:

CC Function Value
30 Touch Mode 0-18 = Magnetic Dance
19-36 = Tape Stop
37-54 = Broken Machine
55-73 = Repeater
74-91 = Crushed Cassette
92-109 = Disintegration Loop
110-127 = UnrealPlayer
55 UnrealPlayer Fidelity 0-64 = Lo-fi
65-127 = Hi-fi
  //Persistent data is for stuff that isn't saved very often

  //Factory Preset 1 - Init
  persistent_data_.presets[0].touch_engine = TAPE_STOP;
  persistent_data_.presets[0].mix = 255;
  persistent_data_.presets[0].lowpass = 255;
  persistent_data_.presets[0].compression = 0;
  persistent_data_.presets[0].tape_noise = 0;
  persistent_data_.presets[0].wowDepth = 0;
  persistent_data_.presets[0].flutterDepth = 0;
  persistent_data_.presets[0].wow_frequency = 0;
  persistent_data_.presets[0].flutter_frequency = 0;
  persistent_data_.presets[0].dropouts_frequency = 0;
  persistent_data_.presets[0].dropouts_depth = 0;
  persistent_data_.presets[0].reverb = 127;
  persistent_data_.presets[0].reverb_decay = 0;
  persistent_data_.presets[0].touchparam1 = 135;
  persistent_data_.presets[0].touchparam2 = 63;
  persistent_data_.presets[0].highpass = 0;
  persistent_data_.presets[0].crinkle = 0;
  persistent_data_.presets[0].unrealLoFi = false;
  persistent_data_.presets[0].compOrSat = 0;
  persistent_data_.presets[0].makeupgain = 127;
  persistent_data_.presets[0].resonance = 127;

  //Factory Preset 2 - Lo-Fi Tape
  persistent_data_.presets[1].touch_engine = DISINTEGRATION_LOOP;
  persistent_data_.presets[1].mix = 255;
  persistent_data_.presets[1].lowpass = 152;
  persistent_data_.presets[1].compression = 114;
  persistent_data_.presets[1].tape_noise = 1;
  persistent_data_.presets[1].wowDepth = 122;
  persistent_data_.presets[1].flutterDepth = 202;
  persistent_data_.presets[1].wow_frequency = 16;
  persistent_data_.presets[1].flutter_frequency = 30;
  persistent_data_.presets[1].dropouts_frequency = 45;
  persistent_data_.presets[1].dropouts_depth = 67;
  persistent_data_.presets[1].reverb = 127;
  persistent_data_.presets[1].reverb_decay = 0;
  persistent_data_.presets[1].touchparam1 = 139;
  persistent_data_.presets[1].touchparam2 = 0;
  persistent_data_.presets[1].highpass = 84;
  persistent_data_.presets[1].crinkle = 44;
  persistent_data_.presets[1].unrealLoFi = false;
  persistent_data_.presets[1].compOrSat = 255;
  persistent_data_.presets[1].makeupgain = 255;
  persistent_data_.presets[1].resonance = 127;

  //Factory Preset 3 - Lo-Fi Chorus
  persistent_data_.presets[2].touch_engine = BROKEN_MACHINE;
  persistent_data_.presets[2].mix = 129;
  persistent_data_.presets[2].lowpass = 255;
  persistent_data_.presets[2].compression = 101;
  persistent_data_.presets[2].tape_noise = 0;
  persistent_data_.presets[2].wowDepth = 154;
  persistent_data_.presets[2].flutterDepth = 255;
  persistent_data_.presets[2].wow_frequency = 0;
  persistent_data_.presets[2].flutter_frequency = 0;
  persistent_data_.presets[2].dropouts_frequency = 0;
  persistent_data_.presets[2].dropouts_depth = 0;
  persistent_data_.presets[2].reverb = 127;
  persistent_data_.presets[2].reverb_decay = 0;
  persistent_data_.presets[2].touchparam1 = 178;
  persistent_data_.presets[2].touchparam2 = 209;
  persistent_data_.presets[2].highpass = 0;
  persistent_data_.presets[2].crinkle = 0;
  persistent_data_.presets[2].unrealLoFi = false;
  persistent_data_.presets[2].compOrSat = 0;
  persistent_data_.presets[2].makeupgain = 184;
  persistent_data_.presets[2].resonance = 127;

  //Factory Preset 4 - Melted Vinyl
  persistent_data_.presets[3].touch_engine = MAGNETIC_DANCE;
  persistent_data_.presets[3].mix = 255;
  persistent_data_.presets[3].lowpass = 137;
  persistent_data_.presets[3].compression = 136;
  persistent_data_.presets[3].tape_noise = 252;
  persistent_data_.presets[3].wowDepth = 187;
  persistent_data_.presets[3].flutterDepth = 202;
  persistent_data_.presets[3].wow_frequency = 45;
  persistent_data_.presets[3].flutter_frequency = 56;
  persistent_data_.presets[3].dropouts_frequency = 55;
  persistent_data_.presets[3].dropouts_depth = 130;
  persistent_data_.presets[3].reverb = 127;
  persistent_data_.presets[3].reverb_decay = 0;
  persistent_data_.presets[3].touchparam1 = 0;
  persistent_data_.presets[3].touchparam2 = 71;
  persistent_data_.presets[3].highpass = 89;
  persistent_data_.presets[3].crinkle = 0;
  persistent_data_.presets[3].unrealLoFi = false;
  persistent_data_.presets[3].compOrSat = 0;
  persistent_data_.presets[3].makeupgain = 255;
  persistent_data_.presets[3].resonance = 127;

  //Factory Preset 5 - Broken Telephone
  persistent_data_.presets[4].touch_engine = CRUSHED_CASSETTE;
  persistent_data_.presets[4].mix = 255;
  persistent_data_.presets[4].lowpass = 134;
  persistent_data_.presets[4].compression = 255;
  persistent_data_.presets[4].tape_noise = 0;
  persistent_data_.presets[4].wowDepth = 0;
  persistent_data_.presets[4].flutterDepth = 255;
  persistent_data_.presets[4].wow_frequency = 0;
  persistent_data_.presets[4].flutter_frequency = 0;
  persistent_data_.presets[4].dropouts_frequency = 0;
  persistent_data_.presets[4].dropouts_depth = 0;
  persistent_data_.presets[4].reverb = 41;
  persistent_data_.presets[4].reverb_decay = 102;
  persistent_data_.presets[4].touchparam1 = 255;
  persistent_data_.presets[4].touchparam2 = 76;
  persistent_data_.presets[4].highpass = 101;
  persistent_data_.presets[4].crinkle = 78;
  persistent_data_.presets[4].unrealLoFi = false;
  persistent_data_.presets[4].compOrSat = 255;
  persistent_data_.presets[4].makeupgain = 255;
  persistent_data_.presets[4].resonance = 127;

  //Factory Preset 6 - Mp3 Madness
  persistent_data_.presets[5].touch_engine = UNREAL_PLAYER;
  persistent_data_.presets[5].mix = 255;
  persistent_data_.presets[5].lowpass = 159;
  persistent_data_.presets[5].compression = 84;
  persistent_data_.presets[5].tape_noise = 0;
  persistent_data_.presets[5].wowDepth = 0;
  persistent_data_.presets[5].flutterDepth = 0;
  persistent_data_.presets[5].wow_frequency = 0;
  persistent_data_.presets[5].flutter_frequency = 0;
  persistent_data_.presets[5].dropouts_frequency = 0;
  persistent_data_.presets[5].dropouts_depth = 0;
  persistent_data_.presets[5].reverb = 133;
  persistent_data_.presets[5].reverb_decay = 143;
  persistent_data_.presets[5].touchparam1 = 130;
  persistent_data_.presets[5].touchparam2 = 134;
  persistent_data_.presets[5].highpass = 84;
  persistent_data_.presets[5].crinkle = 164;
  persistent_data_.presets[5].unrealLoFi = false;
  persistent_data_.presets[5].compOrSat = 0;
  persistent_data_.presets[5].makeupgain = 255;
  persistent_data_.presets[5].resonance = 127;

  //Factory Preset 7 - Hi-Fi Compression
  persistent_data_.presets[6].touch_engine = REPEATER;
  persistent_data_.presets[6].mix = 255;
  persistent_data_.presets[6].lowpass = 255;
  persistent_data_.presets[6].compression = 163;
  persistent_data_.presets[6].tape_noise = 0;
  persistent_data_.presets[6].wowDepth = 0;
  persistent_data_.presets[6].flutterDepth = 0;
  persistent_data_.presets[6].wow_frequency = 0;
  persistent_data_.presets[6].flutter_frequency = 0;
  persistent_data_.presets[6].dropouts_frequency = 0;
  persistent_data_.presets[6].dropouts_depth = 0;
  persistent_data_.presets[6].reverb = 134;
  persistent_data_.presets[6].reverb_decay = 0;
  persistent_data_.presets[6].touchparam1 = 255;
  persistent_data_.presets[6].touchparam2 = 255;
  persistent_data_.presets[6].highpass = 79;
  persistent_data_.presets[6].crinkle = 0;
  persistent_data_.presets[6].unrealLoFi = false;
  persistent_data_.presets[6].compOrSat = 0;
  persistent_data_.presets[6].makeupgain = 255;
  persistent_data_.presets[6].resonance = 0;

  //Factory Preset 8 - Endless Space
  persistent_data_.presets[7].touch_engine = UNREAL_PLAYER;
  persistent_data_.presets[7].mix = 255;
  persistent_data_.presets[7].lowpass = 186;
  persistent_data_.presets[7].compression = 57;
  persistent_data_.presets[7].tape_noise = 0;
  persistent_data_.presets[7].wowDepth = 0;
  persistent_data_.presets[7].flutterDepth = 0;
  persistent_data_.presets[7].wow_frequency = 0;
  persistent_data_.presets[7].flutter_frequency = 0;
  persistent_data_.presets[7].dropouts_frequency = 0;
  persistent_data_.presets[7].dropouts_depth = 0;
  persistent_data_.presets[7].reverb = 237;
  persistent_data_.presets[7].reverb_decay = 228;
  persistent_data_.presets[7].touchparam1 = 0;
  persistent_data_.presets[7].touchparam2 = 250;
  persistent_data_.presets[7].highpass = 68;
  persistent_data_.presets[7].crinkle = 0;
  persistent_data_.presets[7].unrealLoFi = false;
  persistent_data_.presets[7].compOrSat = 0;
  persistent_data_.presets[7].makeupgain = 255;
  persistent_data_.presets[7].resonance = 0;
1 Like

Hi Jaak. I completely missed your reply until you said something on the TouchOSC post. Your factory preset values seem to go from 0-255, so to use as MIDI CC values, I should divide each by half, right?

I appreciate your sharing this!

Oops. My mistake. I forgot that the presets are saved using 8 bits and MIDI CC values are 7 bits.

That’s more or less right. To be more precise I would divide these settings by 255 and then multiply by 127 to get the MIDI CC equivalent.

Here they are, converted to MIDI CC values:

//Persistent data is for stuff that isn't saved very often

  //Factory Preset 1 - Init
  persistent_data_.presets[0].touch_engine = TAPE_STOP;
  persistent_data_.presets[0].mix = 127;
  persistent_data_.presets[0].lowpass = 127;
  persistent_data_.presets[0].compression = 0;
  persistent_data_.presets[0].tape_noise = 0;
  persistent_data_.presets[0].wowDepth = 0;
  persistent_data_.presets[0].flutterDepth = 0;
  persistent_data_.presets[0].wow_frequency = 0;
  persistent_data_.presets[0].flutter_frequency = 0;
  persistent_data_.presets[0].dropouts_frequency = 0;
  persistent_data_.presets[0].dropouts_depth = 0;
  persistent_data_.presets[0].reverb = 63;
  persistent_data_.presets[0].reverb_decay = 0;
  persistent_data_.presets[0].touchparam1 = 67;
  persistent_data_.presets[0].touchparam2 = 31;
  persistent_data_.presets[0].highpass = 0;
  persistent_data_.presets[0].crinkle = 0;
  persistent_data_.presets[0].unrealLoFi = false;
  persistent_data_.presets[0].compOrSat = 0;
  persistent_data_.presets[0].makeupgain = 63;
  persistent_data_.presets[0].resonance = 63;

  //Factory Preset 2 - Lo-Fi Tape
  persistent_data_.presets[1].touch_engine = DISINTEGRATION_LOOP;
  persistent_data_.presets[1].mix = 127;
  persistent_data_.presets[1].lowpass = 75;
  persistent_data_.presets[1].compression = 56;
  persistent_data_.presets[1].tape_noise = 0;
  persistent_data_.presets[1].wowDepth = 60;
  persistent_data_.presets[1].flutterDepth = 100;
  persistent_data_.presets[1].wow_frequency = 7;
  persistent_data_.presets[1].flutter_frequency = 14;
  persistent_data_.presets[1].dropouts_frequency = 22;
  persistent_data_.presets[1].dropouts_depth = 33;
  persistent_data_.presets[1].reverb = 63;
  persistent_data_.presets[1].reverb_decay = 0;
  persistent_data_.presets[1].touchparam1 = 69;
  persistent_data_.presets[1].touchparam2 = 0;
  persistent_data_.presets[1].highpass = 41;
  persistent_data_.presets[1].crinkle = 21;
  persistent_data_.presets[1].unrealLoFi = false;
  persistent_data_.presets[1].compOrSat = 127;
  persistent_data_.presets[1].makeupgain = 127;
  persistent_data_.presets[1].resonance = 63;

  //Factory Preset 3 - Lo-Fi Chorus
  persistent_data_.presets[2].touch_engine = BROKEN_MACHINE;
  persistent_data_.presets[2].mix = 64;
  persistent_data_.presets[2].lowpass = 127;
  persistent_data_.presets[2].compression = 50;
  persistent_data_.presets[2].tape_noise = 0;
  persistent_data_.presets[2].wowDepth = 76;
  persistent_data_.presets[2].flutterDepth = 127;
  persistent_data_.presets[2].wow_frequency = 0;
  persistent_data_.presets[2].flutter_frequency = 0;
  persistent_data_.presets[2].dropouts_frequency = 0;
  persistent_data_.presets[2].dropouts_depth = 0;
  persistent_data_.presets[2].reverb = 63;
  persistent_data_.presets[2].reverb_decay = 0;
  persistent_data_.presets[2].touchparam1 = 88;
  persistent_data_.presets[2].touchparam2 = 104;
  persistent_data_.presets[2].highpass = 0;
  persistent_data_.presets[2].crinkle = 0;
  persistent_data_.presets[2].unrealLoFi = false;
  persistent_data_.presets[2].compOrSat = 0;
  persistent_data_.presets[2].makeupgain = 91;
  persistent_data_.presets[2].resonance = 63;

  //Factory Preset 4 - Melted Vinyl
  persistent_data_.presets[3].touch_engine = MAGNETIC_DANCE;
  persistent_data_.presets[3].mix = 127;
  persistent_data_.presets[3].lowpass = 68;
  persistent_data_.presets[3].compression = 67;
  persistent_data_.presets[3].tape_noise = 125;
  persistent_data_.presets[3].wowDepth = 93;
  persistent_data_.presets[3].flutterDepth = 100;
  persistent_data_.presets[3].wow_frequency = 22;
  persistent_data_.presets[3].flutter_frequency = 27;
  persistent_data_.presets[3].dropouts_frequency = 27;
  persistent_data_.presets[3].dropouts_depth = 64;
  persistent_data_.presets[3].reverb = 63;
  persistent_data_.presets[3].reverb_decay = 0;
  persistent_data_.presets[3].touchparam1 = 0;
  persistent_data_.presets[3].touchparam2 = 35;
  persistent_data_.presets[3].highpass = 44;
  persistent_data_.presets[3].crinkle = 0;
  persistent_data_.presets[3].unrealLoFi = false;
  persistent_data_.presets[3].compOrSat = 0;
  persistent_data_.presets[3].makeupgain = 127;
  persistent_data_.presets[3].resonance = 63;

  //Factory Preset 5 - Broken Telephone
  persistent_data_.presets[4].touch_engine = CRUSHED_CASSETTE;
  persistent_data_.presets[4].mix = 127;
  persistent_data_.presets[4].lowpass = 66;
  persistent_data_.presets[4].compression = 127;
  persistent_data_.presets[4].tape_noise = 0;
  persistent_data_.presets[4].wowDepth = 0;
  persistent_data_.presets[4].flutterDepth = 127;
  persistent_data_.presets[4].wow_frequency = 0;
  persistent_data_.presets[4].flutter_frequency = 0;
  persistent_data_.presets[4].dropouts_frequency = 0;
  persistent_data_.presets[4].dropouts_depth = 0;
  persistent_data_.presets[4].reverb = 20;
  persistent_data_.presets[4].reverb_decay = 50;
  persistent_data_.presets[4].touchparam1 = 127;
  persistent_data_.presets[4].touchparam2 = 37;
  persistent_data_.presets[4].highpass = 50;
  persistent_data_.presets[4].crinkle = 38;
  persistent_data_.presets[4].unrealLoFi = false;
  persistent_data_.presets[4].compOrSat = 127;
  persistent_data_.presets[4].makeupgain = 127;
  persistent_data_.presets[4].resonance = 63;

  //Factory Preset 6 - Mp3 Madness
  persistent_data_.presets[5].touch_engine = UNREAL_PLAYER;
  persistent_data_.presets[5].mix = 127;
  persistent_data_.presets[5].lowpass = 79;
  persistent_data_.presets[5].compression = 41;
  persistent_data_.presets[5].tape_noise = 0;
  persistent_data_.presets[5].wowDepth = 0;
  persistent_data_.presets[5].flutterDepth = 0;
  persistent_data_.presets[5].wow_frequency = 0;
  persistent_data_.presets[5].flutter_frequency = 0;
  persistent_data_.presets[5].dropouts_frequency = 0;
  persistent_data_.presets[5].dropouts_depth = 0;
  persistent_data_.presets[5].reverb = 66;
  persistent_data_.presets[5].reverb_decay = 71;
  persistent_data_.presets[5].touchparam1 = 64;
  persistent_data_.presets[5].touchparam2 = 66;
  persistent_data_.presets[5].highpass = 41;
  persistent_data_.presets[5].crinkle = 81;
  persistent_data_.presets[5].unrealLoFi = false;
  persistent_data_.presets[5].compOrSat = 0;
  persistent_data_.presets[5].makeupgain = 127;
  persistent_data_.presets[5].resonance = 63;

  //Factory Preset 7 - Hi-Fi Compression
  persistent_data_.presets[6].touch_engine = REPEATER;
  persistent_data_.presets[6].mix = 127;
  persistent_data_.presets[6].lowpass = 127;
  persistent_data_.presets[6].compression = 81;
  persistent_data_.presets[6].tape_noise = 0;
  persistent_data_.presets[6].wowDepth = 0;
  persistent_data_.presets[6].flutterDepth = 0;
  persistent_data_.presets[6].wow_frequency = 0;
  persistent_data_.presets[6].flutter_frequency = 0;
  persistent_data_.presets[6].dropouts_frequency = 0;
  persistent_data_.presets[6].dropouts_depth = 0;
  persistent_data_.presets[6].reverb = 66;
  persistent_data_.presets[6].reverb_decay = 0;
  persistent_data_.presets[6].touchparam1 = 127;
  persistent_data_.presets[6].touchparam2 = 127;
  persistent_data_.presets[6].highpass = 39;
  persistent_data_.presets[6].crinkle = 0;
  persistent_data_.presets[6].unrealLoFi = false;
  persistent_data_.presets[6].compOrSat = 0;
  persistent_data_.presets[6].makeupgain = 127;
  persistent_data_.presets[6].resonance = 0;

  //Factory Preset 8 - Endless Space
  persistent_data_.presets[7].touch_engine = UNREAL_PLAYER;
  persistent_data_.presets[7].mix = 127;
  persistent_data_.presets[7].lowpass = 92;
  persistent_data_.presets[7].compression = 28;
  persistent_data_.presets[7].tape_noise = 0;
  persistent_data_.presets[7].wowDepth = 0;
  persistent_data_.presets[7].flutterDepth = 0;
  persistent_data_.presets[7].wow_frequency = 0;
  persistent_data_.presets[7].flutter_frequency = 0;
  persistent_data_.presets[7].dropouts_frequency = 0;
  persistent_data_.presets[7].dropouts_depth = 0;
  persistent_data_.presets[7].reverb = 118;
  persistent_data_.presets[7].reverb_decay = 113;
  persistent_data_.presets[7].touchparam1 = 0;
  persistent_data_.presets[7].touchparam2 = 124;
  persistent_data_.presets[7].highpass = 33;
  persistent_data_.presets[7].crinkle = 0;
  persistent_data_.presets[7].unrealLoFi = false;
  persistent_data_.presets[7].compOrSat = 0;
  persistent_data_.presets[7].makeupgain = 127;
  persistent_data_.presets[7].resonance = 0;
2 Likes

immensely helpful, thank you!

1 Like

Hi Jaak, Thanks for the MIDI value breakdown. I’ve made a spreadsheet table translating the presets to MIDI CC messages.

Can you clarify that these settings,
persistent_data_.presets[0].unrealLoFi = false;
correspond to setting the fidelity of the UnrealPlayer touch mode to Hi-Fi. That is, to send CC# 55 message with a value between 65-127?

2 Likes

Yes, unrealLoFi = false; means the hi-fi option is selected.

2 Likes