/* * Bell Melodies - Auto-generated * Generated: 2026-01-20 09:19:43 * Source: builtin_melodies.txt * * This file contains built-in melody definitions for the ESP32 bell controller */ #ifndef MELODIES_H #define MELODIES_H #include // ======================================== // Melody Data Arrays // ======================================== // Doxology Traditional const uint16_t PROGMEM melody_builtin_doxology_traditional[] = { 0x0001, 0x0002, 0x0001, 0x0002, 0x0001, 0x0004, 0x0000, 0x0000, 0x0001, 0x0002, 0x0001, 0x0002, 0x0001, 0x0008, 0x0000, 0x0000, 0x0001, 0x0002, 0x0001, 0x0002, 0x0001, 0x0002, 0x0001, 0x0002, 0x0001, 0x0002, 0x0001, 0x0004, 0x0001, 0x0008, 0x0000, 0x0000 }; // Doxology Alternative const uint16_t PROGMEM melody_builtin_doxology_alternative[] = { 0x0001, 0x0000, 0x0002, 0x0004, 0x0000, 0x0018, 0x0000, 0x0001, 0x0000, 0x0002, 0x0004, 0x0000, 0x0018, 0x0000, 0x0001, 0x0000, 0x0002, 0x0004, 0x0000, 0x0018, 0x0000, 0x0001, 0x0002, 0x0001, 0x0002, 0x0004, 0x0000, 0x0018, 0x0000 }; // Doxology Festive const uint16_t PROGMEM melody_builtin_doxology_festive[] = { 0x0002, 0x0004, 0x0009, 0x0004, 0x0002, 0x0004, 0x0011, 0x0004, 0x0002, 0x0004, 0x0021, 0x0004, 0x0002, 0x0004, 0x0011, 0x0004 }; // Vesper Traditional const uint16_t PROGMEM melody_builtin_vesper_traditional[] = { 0x0001, 0x0002, 0x0004, 0x0000, 0x0001, 0x0002, 0x0004, 0x0000, 0x0001, 0x0002, 0x0001, 0x0002, 0x0001, 0x0002, 0x0004, 0x0000 }; // Vesper Alternative const uint16_t PROGMEM melody_builtin_vesper_alternative[] = { 0x0001, 0x0002, 0x0000, 0x0000, 0x0001, 0x0002, 0x0000, 0x0000, 0x0001, 0x0004, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0002, 0x0000, 0x0000, 0x0001, 0x0002, 0x0000, 0x0000, 0x0001, 0x0008, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0002, 0x0000, 0x0000, 0x0001, 0x0002, 0x0000, 0x0000, 0x0001, 0x0002, 0x0000, 0x0000, 0x0001, 0x0002, 0x0000, 0x0000, 0x0001, 0x0002, 0x0000, 0x0000, 0x0001, 0x0004, 0x0000, 0x0000, 0x0001, 0x0008, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000 }; // Catehetical const uint16_t PROGMEM melody_builtin_catehetical[] = { 0x0001, 0x0002, 0x0004, 0x0008, 0x0010 }; // Orthros Traditional const uint16_t PROGMEM melody_builtin_orthros_traditional[] = { 0x0001, 0x0000, 0x0002, 0x0000, 0x0004, 0x0008, 0x0000, 0x0010, 0x0000, 0x0020, 0x0000, 0x0040, 0x0080, 0x0000 }; // Orthros Alternative const uint16_t PROGMEM melody_builtin_orthros_alternative[] = { 0x0001, 0x0000, 0x0002, 0x0001, 0x0000, 0x0002, 0x0000, 0x0001, 0x0000, 0x0001, 0x0002, 0x0001, 0x0000, 0x0004, 0x0000 }; // Mournfull Toll const uint16_t PROGMEM melody_builtin_mournfull_toll[] = { 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0004, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0004, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0008, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0008, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000 }; // Mournfull Toll Alternative const uint16_t PROGMEM melody_builtin_mournfull_toll_alternative[] = { 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0004, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0004, 0x0004, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002, 0x0002, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0008, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0008, 0x0008, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000 }; // Mournfull Toll Meg Par const uint16_t PROGMEM melody_builtin_mournfull_toll_meg_par[] = { 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0004, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0004, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0004, 0x0004, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002, 0x0002, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0008, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0008, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0008, 0x0008, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000 }; // Sematron const uint16_t PROGMEM melody_builtin_sematron[] = { 0x0001, 0x0001, 0x0001, 0x0002, 0x0001, 0x0001, 0x0001, 0x0008, 0x0001, 0x0001, 0x0001, 0x0002, 0x0001, 0x0004, 0x0001, 0x0008 }; // Sematron Alternative const uint16_t PROGMEM melody_builtin_sematron_alternative[] = { 0x0001, 0x0001, 0x0001, 0x0002, 0x0001, 0x0001, 0x0001, 0x0008, 0x0001, 0x0002, 0x0001, 0x0004, 0x0001, 0x0001, 0x0001, 0x0008 }; // Athonite 1 2 Voices const uint16_t PROGMEM melody_builtin_athonite_1_2_voices[] = { 0x0001, 0x0002, 0x0001, 0x0001, 0x0002, 0x0001, 0x0001, 0x0002, 0x0001, 0x0001, 0x0002, 0x0001, 0x0002 }; // Athonite 3 Voices const uint16_t PROGMEM melody_builtin_athonite_3_voices[] = { 0x0002, 0x0001, 0x0000, 0x0000, 0x0002, 0x0001, 0x0000, 0x0000, 0x0002, 0x0001, 0x0002, 0x0001, 0x0002, 0x0001, 0x0000, 0x0001, 0x0002, 0x0001, 0x0000, 0x0001, 0x0002, 0x0001, 0x0000, 0x0001, 0x0002, 0x0001, 0x0002, 0x0001, 0x0002, 0x0001, 0x0000, 0x0001, 0x0002, 0x0001, 0x0000, 0x0001, 0x0002, 0x0001, 0x0000, 0x0001, 0x0002, 0x0001, 0x0002, 0x0001, 0x0002, 0x0001, 0x0004, 0x0001, 0x0002, 0x0001, 0x0004, 0x0001, 0x0002, 0x0001, 0x0004, 0x0001, 0x0002, 0x0001, 0x0002, 0x0001, 0x0002, 0x0001, 0x0004, 0x0001, 0x0002, 0x0001, 0x0004, 0x0001, 0x0002, 0x0001, 0x0004, 0x0001, 0x0002, 0x0001, 0x0002, 0x0001, 0x0002, 0x0001, 0x0004 }; // Athonite 3 4 Voices const uint16_t PROGMEM melody_builtin_athonite_3_4_voices[] = { 0x0002, 0x0001, 0x0000, 0x0000, 0x0002, 0x0001, 0x0000, 0x0000, 0x0002, 0x0001, 0x0002, 0x0001, 0x0002, 0x0001, 0x0000, 0x0001, 0x0002, 0x0001, 0x0000, 0x0001, 0x0002, 0x0001, 0x0000, 0x0001, 0x0002, 0x0001, 0x0002, 0x0001, 0x0002, 0x0001, 0x0000, 0x0001, 0x0002, 0x0001, 0x0000, 0x0001, 0x0002, 0x0001, 0x0000, 0x0001, 0x0002, 0x0001, 0x0002, 0x0001, 0x0002, 0x0001, 0x0004, 0x0001, 0x0002, 0x0001, 0x0000, 0x0005, 0x0002, 0x0001, 0x0000, 0x0005, 0x0002, 0x0001, 0x0000, 0x0005, 0x0002, 0x0001, 0x0002, 0x0005, 0x0002, 0x0001, 0x0008, 0x0005, 0x0002, 0x0001, 0x0000, 0x0005, 0x0002, 0x0001, 0x0000, 0x0005, 0x0002, 0x0001, 0x0002, 0x0005, 0x0002, 0x0001, 0x0009, 0x0002, 0x0001, 0x0005, 0x0002, 0x0001, 0x000A, 0x0002, 0x0001, 0x0006, 0x0002, 0x0001, 0x0009, 0x0002, 0x0001, 0x0005, 0x0002, 0x0001, 0x000A, 0x0002, 0x0001, 0x0006, 0x0002, 0x0001, 0x0009 }; // Athonite 4 8 Voices const uint16_t PROGMEM melody_builtin_athonite_4_8_voices[] = { 0x0002, 0x0001, 0x0000, 0x0000, 0x0002, 0x0001, 0x0000, 0x0000, 0x0002, 0x0001, 0x0002, 0x0001, 0x0002, 0x0001, 0x0000, 0x0001, 0x0002, 0x0001, 0x0000, 0x0001, 0x0002, 0x0001, 0x0000, 0x0001, 0x0002, 0x0001, 0x0002, 0x0001, 0x0002, 0x0001, 0x0000, 0x0001, 0x0002, 0x0001, 0x0000, 0x0001, 0x0002, 0x0001, 0x0000, 0x0001, 0x0002, 0x0001, 0x0002, 0x0001, 0x0002, 0x0001, 0x0004, 0x0001, 0x0002, 0x0001, 0x0000, 0x0005, 0x0002, 0x0001, 0x0000, 0x0005, 0x0002, 0x0001, 0x0000, 0x0005, 0x0002, 0x0001, 0x0002, 0x0005, 0x0002, 0x0001, 0x0008, 0x0005, 0x0002, 0x0001, 0x0000, 0x0005, 0x0002, 0x0001, 0x0000, 0x0005, 0x0002, 0x0001, 0x0002, 0x0005, 0x0002, 0x0001, 0x0009, 0x0002, 0x0001, 0x0011, 0x0002, 0x0001, 0x0022, 0x0002, 0x0001, 0x0081, 0x0002, 0x0001, 0x000A, 0x0002, 0x0001, 0x0041, 0x0002, 0x0001, 0x0012, 0x0002, 0x0001, 0x0021, 0x0002, 0x0001, 0x0082, 0x0002, 0x0001, 0x0009, 0x0002, 0x0001, 0x0042, 0x0002, 0x0001, 0x0011, 0x0002, 0x0001, 0x0022, 0x0002, 0x0001, 0x0081, 0x0002, 0x0001, 0x000A, 0x0002, 0x0001, 0x0041, 0x0002, 0x0001, 0x0000, 0x0005, 0x0002, 0x0001, 0x0000, 0x0005, 0x0002, 0x0001, 0x0002, 0x0005, 0x0002, 0x0001, 0x0000, 0x0000, 0x0000 }; // Onebyone 2 3 Voices const uint16_t PROGMEM melody_builtin_onebyone_2_3_voices[] = { 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0002, 0x0001, 0x0002, 0x0001, 0x0002, 0x0001, 0x0002, 0x0001, 0x0002, 0x0001, 0x0002, 0x0001, 0x0002, 0x0001, 0x0002, 0x0001, 0x0002, 0x0001, 0x0004, 0x0001, 0x0002, 0x0001, 0x0004, 0x0001, 0x0002, 0x0001, 0x0004, 0x0001, 0x0002, 0x0001, 0x0004, 0x0001, 0x0002, 0x0001, 0x0004, 0x0001, 0x0002, 0x0001, 0x0004, 0x0001, 0x0002, 0x0001, 0x0004, 0x0001, 0x0002, 0x0001, 0x0004, 0x0001, 0x0002, 0x0001, 0x0004, 0x0001, 0x0002, 0x0001, 0x0004, 0x0001, 0x0002, 0x0001, 0x0004, 0x0001, 0x0002, 0x0001, 0x0004, 0x0001, 0x0002, 0x0001, 0x0002, 0x0001, 0x0002, 0x0001, 0x0002, 0x0001, 0x0002, 0x0001, 0x0002, 0x0001, 0x0002, 0x0001, 0x0002 }; // Onebyone 4 8 Voices const uint16_t PROGMEM melody_builtin_onebyone_4_8_voices[] = { 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0002, 0x0001, 0x0002, 0x0001, 0x0002, 0x0001, 0x0002, 0x0001, 0x0002, 0x0001, 0x0002, 0x0001, 0x0002, 0x0001, 0x0002, 0x0001, 0x0002, 0x0001, 0x0004, 0x0001, 0x0002, 0x0001, 0x0004, 0x0001, 0x0002, 0x0001, 0x0004, 0x0001, 0x0002, 0x0001, 0x0004, 0x0002, 0x0004, 0x0008, 0x0004, 0x0002, 0x0011, 0x0002, 0x0004, 0x0008, 0x0004, 0x0002, 0x0021, 0x0002, 0x0004, 0x0008, 0x0004, 0x0002, 0x0041, 0x0002, 0x0004, 0x0008, 0x0004, 0x0002, 0x0081, 0x0002, 0x0004, 0x0008, 0x0004, 0x0002, 0x0041, 0x0002, 0x0004, 0x0008, 0x0004, 0x0002, 0x0021, 0x0002, 0x0004, 0x0008, 0x0004, 0x0002, 0x0041, 0x0002, 0x0004, 0x0008, 0x0004, 0x0002, 0x0081, 0x0002, 0x0004, 0x0008, 0x0004, 0x0002, 0x0041, 0x0002, 0x0004, 0x0008, 0x0004, 0x0002, 0x0021, 0x0002, 0x0004, 0x0008, 0x0004, 0x0002, 0x0001, 0x0002, 0x0001, 0x0004, 0x0001, 0x0002, 0x0001, 0x0004, 0x0001, 0x0002, 0x0001, 0x0004, 0x0001, 0x0002, 0x0001, 0x0004, 0x0001, 0x0002, 0x0001, 0x0004, 0x0001, 0x0002, 0x0001, 0x0002, 0x0001, 0x0002, 0x0001, 0x0002, 0x0001, 0x0002, 0x0001, 0x0002, 0x0001, 0x0000 }; // Festive 1Voice const uint16_t PROGMEM melody_builtin_festive_1voice[] = { 0x0001, 0x0001, 0x0001, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0001, 0x0001, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0001, 0x0000 }; // Festive 4Voices const uint16_t PROGMEM melody_builtin_festive_4voices[] = { 0x0001, 0x0002, 0x0004, 0x0009, 0x0002, 0x0001, 0x0004, 0x0009 }; // Festive 5Voices const uint16_t PROGMEM melody_builtin_festive_5voices[] = { 0x0001, 0x0002, 0x0004, 0x0002, 0x0001, 0x0002, 0x0001, 0x0002, 0x0008, 0x0002, 0x0001, 0x0002, 0x0001, 0x0002, 0x0004, 0x0002, 0x0001, 0x0002, 0x0001, 0x0002, 0x0010, 0x0002, 0x0001, 0x0002 }; // Festive 5Voice Alternative const uint16_t PROGMEM melody_builtin_festive_5voice_alternative[] = { 0x0004, 0x0002, 0x0008, 0x0001, 0x0004, 0x0004, 0x0002, 0x0008, 0x0001, 0x0010, 0x0004, 0x0002, 0x0008, 0x0001, 0x0004, 0x0004, 0x0002, 0x0008, 0x0001, 0x0011, 0x0004, 0x0002, 0x0008, 0x0001, 0x0004, 0x0004, 0x0002, 0x0008, 0x0001, 0x0011, 0x0004, 0x0002, 0x0008, 0x0001, 0x0005, 0x0004, 0x0002, 0x0008, 0x0001, 0x0011, 0x0004, 0x0002, 0x0008, 0x0001, 0x0005, 0x0004, 0x0002, 0x0008, 0x0001, 0x0011, 0x0004, 0x0002, 0x0008, 0x0001, 0x0004, 0x0004, 0x0002, 0x0008, 0x0001, 0x0010, 0x0004, 0x0002, 0x0008, 0x0001, 0x0004, 0x0004, 0x0002, 0x0008, 0x0001, 0x0010 }; // Festive 6Voices const uint16_t PROGMEM melody_builtin_festive_6voices[] = { 0x0001, 0x0002, 0x0004, 0x0002, 0x0001, 0x0002, 0x0001, 0x0002, 0x0008, 0x0002, 0x0001, 0x0002, 0x0001, 0x0002, 0x0004, 0x0002, 0x0001, 0x0002, 0x0001, 0x0002, 0x0010, 0x0002, 0x0001, 0x0002, 0x0001, 0x0002, 0x0009, 0x0002, 0x0001, 0x0002, 0x0011, 0x0002, 0x0001, 0x0002, 0x0005, 0x0002, 0x0001, 0x0002, 0x0021, 0x0002, 0x0001, 0x0002, 0x0009, 0x0002, 0x0001, 0x0002, 0x0011, 0x0002, 0x0001, 0x0002, 0x0005, 0x0002, 0x0001, 0x0002, 0x0021, 0x0002, 0x0001, 0x0002, 0x0009, 0x0002, 0x0001, 0x0002, 0x0011, 0x0002, 0x0001, 0x0002, 0x0005, 0x0002, 0x0001, 0x0002, 0x0021, 0x0002, 0x0001, 0x0002 }; // Festive 8Voices const uint16_t PROGMEM melody_builtin_festive_8voices[] = { 0x0001, 0x0002, 0x0004, 0x0008, 0x0010, 0x0020, 0x0040, 0x0080 }; // Ormilia const uint16_t PROGMEM melody_builtin_ormilia[] = { 0x0002, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0002, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0002, 0x0001, 0x0000, 0x0001, 0x0002, 0x0001, 0x0000, 0x0001, 0x0002, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0002, 0x0001, 0x0002, 0x0001, 0x0002, 0x0001, 0x0002, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0002, 0x0009, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0002, 0x0005, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0002, 0x0009, 0x0000, 0x0001, 0x0002, 0x0005, 0x0000, 0x0001, 0x0002, 0x0009, 0x0000, 0x0001, 0x0002, 0x0005, 0x0000, 0x0001, 0x0002, 0x0011, 0x0002, 0x0001, 0x0002, 0x0021, 0x0002, 0x0001, 0x0002, 0x0011, 0x0002, 0x0001, 0x0002, 0x0021, 0x0002, 0x0041, 0x0002, 0x0081, 0x0002, 0x0009, 0x0002, 0x0041, 0x0002, 0x0081, 0x0002, 0x0009, 0x0002, 0x0041, 0x0002, 0x0081, 0x0002, 0x0005, 0x0002, 0x0001, 0x0000 }; // ======================================== // Melody Information Structure // ======================================== struct MelodyInfo { const char* display_name; const char* id; const uint16_t* data; size_t length; }; // ======================================== // Melody Library // ======================================== const MelodyInfo MELODY_LIBRARY[] = { { "Doxology Traditional", "builtin_doxology_traditional", melody_builtin_doxology_traditional, sizeof(melody_builtin_doxology_traditional) / sizeof(uint16_t) }, { "Doxology Alternative", "builtin_doxology_alternative", melody_builtin_doxology_alternative, sizeof(melody_builtin_doxology_alternative) / sizeof(uint16_t) }, { "Doxology Festive", "builtin_doxology_festive", melody_builtin_doxology_festive, sizeof(melody_builtin_doxology_festive) / sizeof(uint16_t) }, { "Vesper Traditional", "builtin_vesper_traditional", melody_builtin_vesper_traditional, sizeof(melody_builtin_vesper_traditional) / sizeof(uint16_t) }, { "Vesper Alternative", "builtin_vesper_alternative", melody_builtin_vesper_alternative, sizeof(melody_builtin_vesper_alternative) / sizeof(uint16_t) }, { "Catehetical", "builtin_catehetical", melody_builtin_catehetical, sizeof(melody_builtin_catehetical) / sizeof(uint16_t) }, { "Orthros Traditional", "builtin_orthros_traditional", melody_builtin_orthros_traditional, sizeof(melody_builtin_orthros_traditional) / sizeof(uint16_t) }, { "Orthros Alternative", "builtin_orthros_alternative", melody_builtin_orthros_alternative, sizeof(melody_builtin_orthros_alternative) / sizeof(uint16_t) }, { "Mournfull Toll", "builtin_mournfull_toll", melody_builtin_mournfull_toll, sizeof(melody_builtin_mournfull_toll) / sizeof(uint16_t) }, { "Mournfull Toll Alternative", "builtin_mournfull_toll_alternative", melody_builtin_mournfull_toll_alternative, sizeof(melody_builtin_mournfull_toll_alternative) / sizeof(uint16_t) }, { "Mournfull Toll Meg Par", "builtin_mournfull_toll_meg_par", melody_builtin_mournfull_toll_meg_par, sizeof(melody_builtin_mournfull_toll_meg_par) / sizeof(uint16_t) }, { "Sematron", "builtin_sematron", melody_builtin_sematron, sizeof(melody_builtin_sematron) / sizeof(uint16_t) }, { "Sematron Alternative", "builtin_sematron_alternative", melody_builtin_sematron_alternative, sizeof(melody_builtin_sematron_alternative) / sizeof(uint16_t) }, { "Athonite 1 2 Voices", "builtin_athonite_1_2_voices", melody_builtin_athonite_1_2_voices, sizeof(melody_builtin_athonite_1_2_voices) / sizeof(uint16_t) }, { "Athonite 3 Voices", "builtin_athonite_3_voices", melody_builtin_athonite_3_voices, sizeof(melody_builtin_athonite_3_voices) / sizeof(uint16_t) }, { "Athonite 3 4 Voices", "builtin_athonite_3_4_voices", melody_builtin_athonite_3_4_voices, sizeof(melody_builtin_athonite_3_4_voices) / sizeof(uint16_t) }, { "Athonite 4 8 Voices", "builtin_athonite_4_8_voices", melody_builtin_athonite_4_8_voices, sizeof(melody_builtin_athonite_4_8_voices) / sizeof(uint16_t) }, { "Onebyone 2 3 Voices", "builtin_onebyone_2_3_voices", melody_builtin_onebyone_2_3_voices, sizeof(melody_builtin_onebyone_2_3_voices) / sizeof(uint16_t) }, { "Onebyone 4 8 Voices", "builtin_onebyone_4_8_voices", melody_builtin_onebyone_4_8_voices, sizeof(melody_builtin_onebyone_4_8_voices) / sizeof(uint16_t) }, { "Festive 1Voice", "builtin_festive_1voice", melody_builtin_festive_1voice, sizeof(melody_builtin_festive_1voice) / sizeof(uint16_t) }, { "Festive 4Voices", "builtin_festive_4voices", melody_builtin_festive_4voices, sizeof(melody_builtin_festive_4voices) / sizeof(uint16_t) }, { "Festive 5Voices", "builtin_festive_5voices", melody_builtin_festive_5voices, sizeof(melody_builtin_festive_5voices) / sizeof(uint16_t) }, { "Festive 5Voice Alternative", "builtin_festive_5voice_alternative", melody_builtin_festive_5voice_alternative, sizeof(melody_builtin_festive_5voice_alternative) / sizeof(uint16_t) }, { "Festive 6Voices", "builtin_festive_6voices", melody_builtin_festive_6voices, sizeof(melody_builtin_festive_6voices) / sizeof(uint16_t) }, { "Festive 8Voices", "builtin_festive_8voices", melody_builtin_festive_8voices, sizeof(melody_builtin_festive_8voices) / sizeof(uint16_t) }, { "Ormilia", "builtin_ormilia", melody_builtin_ormilia, sizeof(melody_builtin_ormilia) / sizeof(uint16_t) } }; const size_t MELODY_LIBRARY_SIZE = 26; #endif // MELODIES_H