Easter egg refered to in the shruti manual

erm, what is it? :slight_smile:

Hmmmmmm let me check first I haven’t disabled it to make room for new features in one of the latest firmware revisions. Has something to do with Cdim7

Also it’s unlikely you’ll get the joke :-/

Checked: it’s still there :slight_smile:

Yeah, I looked at this for a little while. If I recall, the code was looking for a particular note sequence at which point it would display a string… Here are some code snippets :

resources.h
[code lang=“cpp”]
#define STR_RES_P_ORLEANS_21_MN 147 // P.ORLEANS: 21 MN
#define STR_RES_P_BERCY_**__S1H 148 // P.BERCY: +1H
[/code]

shruti.cc:
[code lang=“cpp”]
#ifdef HAS_EASTER_EGG
if (engine.zobi() == 18) {
editor.DisplaySplashScreen(STR_RES_P_ORLEANS_21_MN);
} else

#endif // HAS_EASTER_EGG
if (target_page_type PAGE_TYPE_SUMMARY) {
editor.DisplaySummary();
} else if (target_page_type PAGE_TYPE_DETAILS) {
editor.DisplayDetails();
}
TASK_SWITCH;
}
TASK_END
}
[/code]

From synthesis_engine.h

[code lang=“cpp”]
static const Voice& voice(uint8_t i) { return voice_[i]; }
#ifdef HAS_EASTER_EGG
static inline uint8_t zobi() { return qux_[1]; }
#endif // HAS_EASTER_EGG
[/code]
from synthesis_engine.cc

[code lang=“cpp”]
void SynthesisEngine::NoteOn(uint8_t channel, uint8_t note, uint8_t velocity) {
// If the note controller is not active, we are not currently playing a
// sequence, so we retrigger the LFOs.
if (!controller_.active()) {
lfo_reset_counter_ = num_lfo_reset_steps_ - 1;
}
controller_.NoteOn(note, velocity);
#ifdef HAS_EASTER_EGG
if (note - qux_[0] == ((0x29 | 0x15) >> 4)) {
qux_[1] += ~0xfe;
} else {
qux_[1] ^= qux_[1];
}
qux_[0] = note;
#endif // HAS_EASTER_EGG
}
[/code]