Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Compile error: exit status 1 Compilation error: variable or field 'send_midi_noteon' declared void #2

Closed
01GOD opened this issue Aug 6, 2024 · 41 comments

Comments

@01GOD
Copy link

01GOD commented Aug 6, 2024

Hi,

Thanks for attempting to add that jukebox mode. Notifying that there was a compiler error in Arduino IDE 2.3.2:

/Open303/AcidBanger.ino:346:13: error: variable or field 'instr_noteon' declared void
  346 | static void instr_noteon(byte instr, byte value, byte do_glide, byte do_accent) {
      |             ^~~~~~~~~~~~
exit status 1  Compilation error: variable or field 'send_midi_noteon' declared void

I assume there was maybe a function call somewhere that tried to get send_midi_noteon() to output something. The compiler sadly wasn't very precise about the error.

If it compiles properly there on another version of Arduino IDE, then thanks in advance for notifying what version number.

@copych
Copy link
Owner

copych commented Aug 6, 2024

Please, make sure that you clone the latest version of main. I checked the project, it is compiled in IDE v.2.3.3 and v.1.8.9 successfully. I now added IF's for ESP32 / ESP32S3 variants.

@01GOD
Copy link
Author

01GOD commented Aug 6, 2024

Updated ESP32 board library to 3.0.3. Yes, that is the newest.

And then tried compiling again using Arduino IDE 2.3.2. I can update to 2.3.3, but maybe it's a macOS issue. Really weird errors that make it look as though stdlib isn't in it, so I tried adding includes for Arduino.h and stdlib.h, but that didn't make it compile either. Only other thing that seems logical is maybe there is something is trying to get an output from that method it errors on.

Here is that debug log:
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/hardware/esp32/3.0.3/cores/esp32/Arduino.h:149:17: note: 'typedef uint8_t byte'
149 | typedef uint8_t byte;
| ^~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:345:13: error: variable or field 'instr_noteon' declared void
345 | static void instr_noteon(byte instr, byte value, byte do_glide, byte do_accent) {
| ^~~~~~~~~~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:345:26: error: reference to 'byte' is ambiguous
345 | static void instr_noteon(byte instr, byte value, byte do_glide, byte do_accent) {
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/tools/esp-xs3/2302/xtensa-esp32s3-elf/include/c++/12.2.0/bits/cpp_type_traits.h:406:30: note: candidates are: 'enum class std::byte'
406 | enum class byte : unsigned char;
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/hardware/esp32/3.0.3/cores/esp32/Arduino.h:149:17: note: 'typedef uint8_t byte'
149 | typedef uint8_t byte;
| ^~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:345:38: error: reference to 'byte' is ambiguous
345 | static void instr_noteon(byte instr, byte value, byte do_glide, byte do_accent) {
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/tools/esp-xs3/2302/xtensa-esp32s3-elf/include/c++/12.2.0/bits/cpp_type_traits.h:406:30: note: candidates are: 'enum class std::byte'
406 | enum class byte : unsigned char;
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/hardware/esp32/3.0.3/cores/esp32/Arduino.h:149:17: note: 'typedef uint8_t byte'
149 | typedef uint8_t byte;
| ^~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:345:50: error: reference to 'byte' is ambiguous
345 | static void instr_noteon(byte instr, byte value, byte do_glide, byte do_accent) {
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/tools/esp-xs3/2302/xtensa-esp32s3-elf/include/c++/12.2.0/bits/cpp_type_traits.h:406:30: note: candidates are: 'enum class std::byte'
406 | enum class byte : unsigned char;
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/hardware/esp32/3.0.3/cores/esp32/Arduino.h:149:17: note: 'typedef uint8_t byte'
149 | typedef uint8_t byte;
| ^~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:345:65: error: reference to 'byte' is ambiguous
345 | static void instr_noteon(byte instr, byte value, byte do_glide, byte do_accent) {
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/tools/esp-xs3/2302/xtensa-esp32s3-elf/include/c++/12.2.0/bits/cpp_type_traits.h:406:30: note: candidates are: 'enum class std::byte'
406 | enum class byte : unsigned char;
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/hardware/esp32/3.0.3/cores/esp32/Arduino.h:149:17: note: 'typedef uint8_t byte'
149 | typedef uint8_t byte;
| ^~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:363:6: error: variable or field 'sequencer_step' declared void
363 | void sequencer_step(byte step) {
| ^~~~~~~~~~~~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:363:21: error: reference to 'byte' is ambiguous
363 | void sequencer_step(byte step) {
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/tools/esp-xs3/2302/xtensa-esp32s3-elf/include/c++/12.2.0/bits/cpp_type_traits.h:406:30: note: candidates are: 'enum class std::byte'
406 | enum class byte : unsigned char;
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/hardware/esp32/3.0.3/cores/esp32/Arduino.h:149:17: note: 'typedef uint8_t byte'
149 | typedef uint8_t byte;
| ^~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:448:8: error: reference to 'byte' is ambiguous
448 | static byte generate_note_set(uint8_t *note_set) {
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/tools/esp-xs3/2302/xtensa-esp32s3-elf/include/c++/12.2.0/bits/cpp_type_traits.h:406:30: note: candidates are: 'enum class std::byte'
406 | enum class byte : unsigned char;
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/hardware/esp32/3.0.3/cores/esp32/Arduino.h:149:17: note: 'typedef uint8_t byte'
149 | typedef uint8_t byte;
| ^~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:468:8: error: reference to 'byte' is ambiguous
468 | static byte flip(byte percent_chance) {
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/tools/esp-xs3/2302/xtensa-esp32s3-elf/include/c++/12.2.0/bits/cpp_type_traits.h:406:30: note: candidates are: 'enum class std::byte'
406 | enum class byte : unsigned char;
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/hardware/esp32/3.0.3/cores/esp32/Arduino.h:149:17: note: 'typedef uint8_t byte'
149 | typedef uint8_t byte;
| ^~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:472:48: error: reference to 'byte' is ambiguous
472 | static void generate_melody(uint8_t *note_set, byte note_set_len,
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/tools/esp-xs3/2302/xtensa-esp32s3-elf/include/c++/12.2.0/bits/cpp_type_traits.h:406:30: note: candidates are: 'enum class std::byte'
406 | enum class byte : unsigned char;
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/hardware/esp32/3.0.3/cores/esp32/Arduino.h:149:17: note: 'typedef uint8_t byte'
149 | typedef uint8_t byte;
| ^~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:472:48: error: 'byte' has not been declared
472 | static void generate_melody(uint8_t *note_set, byte note_set_len,
| ^~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:472:85: error: reference to 'byte' is ambiguous
472 | static void generate_melody(uint8_t *note_set, byte note_set_len,
| ^
/Users/infinity/Library/Arduino15/packages/esp32/tools/esp-xs3/2302/xtensa-esp32s3-elf/include/c++/12.2.0/bits/cpp_type_traits.h:406:30: note: candidates are: 'enum class std::byte'
406 | enum class byte : unsigned char;
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/hardware/esp32/3.0.3/cores/esp32/Arduino.h:149:17: note: 'typedef uint8_t byte'
149 | typedef uint8_t byte;
| ^~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:472:85: error: 'byte' has not been declared
472 | static void generate_melody(uint8_t *note_set, byte note_set_len,
| ^
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:734:6: error: variable or field 'mem_generate_melody' declared void
734 | void mem_generate_melody(byte mem, byte voice) {
| ^~~~~~~~~~~~~~~~~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:734:26: error: reference to 'byte' is ambiguous
734 | void mem_generate_melody(byte mem, byte voice) {
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/tools/esp-xs3/2302/xtensa-esp32s3-elf/include/c++/12.2.0/bits/cpp_type_traits.h:406:30: note: candidates are: 'enum class std::byte'
406 | enum class byte : unsigned char;
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/hardware/esp32/3.0.3/cores/esp32/Arduino.h:149:17: note: 'typedef uint8_t byte'
149 | typedef uint8_t byte;
| ^~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:734:36: error: reference to 'byte' is ambiguous
734 | void mem_generate_melody(byte mem, byte voice) {
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/tools/esp-xs3/2302/xtensa-esp32s3-elf/include/c++/12.2.0/bits/cpp_type_traits.h:406:30: note: candidates are: 'enum class std::byte'
406 | enum class byte : unsigned char;
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/hardware/esp32/3.0.3/cores/esp32/Arduino.h:149:17: note: 'typedef uint8_t byte'
149 | typedef uint8_t byte;
| ^~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:751:6: error: variable or field 'mem_generate_melody_and_seed' declared void
751 | void mem_generate_melody_and_seed(byte mem, byte voice) {
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:751:35: error: reference to 'byte' is ambiguous
751 | void mem_generate_melody_and_seed(byte mem, byte voice) {
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/tools/esp-xs3/2302/xtensa-esp32s3-elf/include/c++/12.2.0/bits/cpp_type_traits.h:406:30: note: candidates are: 'enum class std::byte'
406 | enum class byte : unsigned char;
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/hardware/esp32/3.0.3/cores/esp32/Arduino.h:149:17: note: 'typedef uint8_t byte'
149 | typedef uint8_t byte;
| ^~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:751:45: error: reference to 'byte' is ambiguous
751 | void mem_generate_melody_and_seed(byte mem, byte voice) {
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/tools/esp-xs3/2302/xtensa-esp32s3-elf/include/c++/12.2.0/bits/cpp_type_traits.h:406:30: note: candidates are: 'enum class std::byte'
406 | enum class byte : unsigned char;
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/hardware/esp32/3.0.3/cores/esp32/Arduino.h:149:17: note: 'typedef uint8_t byte'
149 | typedef uint8_t byte;
| ^~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:758:6: error: variable or field 'mem_generate_note_set' declared void
758 | void mem_generate_note_set(byte mem) {
| ^~~~~~~~~~~~~~~~~~~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:758:28: error: reference to 'byte' is ambiguous
758 | void mem_generate_note_set(byte mem) {
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/tools/esp-xs3/2302/xtensa-esp32s3-elf/include/c++/12.2.0/bits/cpp_type_traits.h:406:30: note: candidates are: 'enum class std::byte'
406 | enum class byte : unsigned char;
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/hardware/esp32/3.0.3/cores/esp32/Arduino.h:149:17: note: 'typedef uint8_t byte'
149 | typedef uint8_t byte;
| ^~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:778:6: error: variable or field 'mem_generate_all' declared void
778 | void mem_generate_all(byte mem) {
| ^~~~~~~~~~~~~~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:778:23: error: reference to 'byte' is ambiguous
778 | void mem_generate_all(byte mem) {
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/tools/esp-xs3/2302/xtensa-esp32s3-elf/include/c++/12.2.0/bits/cpp_type_traits.h:406:30: note: candidates are: 'enum class std::byte'
406 | enum class byte : unsigned char;
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/hardware/esp32/3.0.3/cores/esp32/Arduino.h:149:17: note: 'typedef uint8_t byte'
149 | typedef uint8_t byte;
| ^~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:785:39: error: reference to 'byte' is ambiguous
785 | void print_pattern(struct Pattern *p, byte is_drum) {
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/tools/esp-xs3/2302/xtensa-esp32s3-elf/include/c++/12.2.0/bits/cpp_type_traits.h:406:30: note: candidates are: 'enum class std::byte'
406 | enum class byte : unsigned char;
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/hardware/esp32/3.0.3/cores/esp32/Arduino.h:149:17: note: 'typedef uint8_t byte'
149 | typedef uint8_t byte;
| ^~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:785:39: error: 'byte' has not been declared
785 | void print_pattern(struct Pattern p, byte is_drum) {
| ^~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:797:6: error: variable or field 'print_memory' declared void
797 | void print_memory(byte mem) {
| ^~~~~~~~~~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:797:19: error: reference to 'byte' is ambiguous
797 | void print_memory(byte mem) {
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/tools/esp-xs3/2302/xtensa-esp32s3-elf/include/c++/12.2.0/bits/cpp_type_traits.h:406:30: note: candidates are: 'enum class std::byte'
406 | enum class byte : unsigned char;
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/hardware/esp32/3.0.3/cores/esp32/Arduino.h:149:17: note: 'typedef uint8_t byte'
149 | typedef uint8_t byte;
| ^~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/Open303.ino: In function 'void setup()':
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/Open303.ino:125:5: error: 'USBSerial' was not declared in this scope; did you mean 'Serial'?
125 | USBSerial.begin(115200);
| ^~~~~~~~~
| Serial
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/Open303.ino: In function 'void audio_task1(void
)':
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/Open303.ino:36:28: error: 'USBSerial' was not declared in this scope; did you mean 'Serial'?
36 | #define DEBUG(...) USBSerial.println(VA_ARGS)
| ^~~~~~~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/Open303.ino:199:3: note: in expansion of macro 'DEBUG'
199 | DEBUG ("TASK 1 Started");
| ^~~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino: At global scope:
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:145:3: error: reference to 'byte' is ambiguous
145 | byte pin;
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/tools/esp-xs3/2302/xtensa-esp32s3-elf/include/c++/12.2.0/bits/cpp_type_traits.h:406:30: note: candidates are: 'enum class std::byte'
406 | enum class byte : unsigned char;
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/hardware/esp32/3.0.3/cores/esp32/Arduino.h:149:17: note: 'typedef uint8_t byte'
149 | typedef uint8_t byte;
| ^~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:151:3: error: reference to 'byte' is ambiguous
151 | byte midi_channel;
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/tools/esp-xs3/2302/xtensa-esp32s3-elf/include/c++/12.2.0/bits/cpp_type_traits.h:406:30: note: candidates are: 'enum class std::byte'
406 | enum class byte : unsigned char;
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/hardware/esp32/3.0.3/cores/esp32/Arduino.h:149:17: note: 'typedef uint8_t byte'
149 | typedef uint8_t byte;
| ^~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:152:3: error: reference to 'byte' is ambiguous
152 | byte is_drum, drum_note;
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/tools/esp-xs3/2302/xtensa-esp32s3-elf/include/c++/12.2.0/bits/cpp_type_traits.h:406:30: note: candidates are: 'enum class std::byte'
406 | enum class byte : unsigned char;
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/hardware/esp32/3.0.3/cores/esp32/Arduino.h:149:17: note: 'typedef uint8_t byte'
149 | typedef uint8_t byte;
| ^~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:153:18: error: reference to 'byte' is ambiguous
153 | void (*noteon)(byte chan, byte note, byte vel);
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/tools/esp-xs3/2302/xtensa-esp32s3-elf/include/c++/12.2.0/bits/cpp_type_traits.h:406:30: note: candidates are: 'enum class std::byte'
406 | enum class byte : unsigned char;
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/hardware/esp32/3.0.3/cores/esp32/Arduino.h:149:17: note: 'typedef uint8_t byte'
149 | typedef uint8_t byte;
| ^~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:153:18: error: 'byte' has not been declared
153 | void (*noteon)(byte chan, byte note, byte vel);
| ^~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:153:29: error: reference to 'byte' is ambiguous
153 | void (*noteon)(byte chan, byte note, byte vel);
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/tools/esp-xs3/2302/xtensa-esp32s3-elf/include/c++/12.2.0/bits/cpp_type_traits.h:406:30: note: candidates are: 'enum class std::byte'
406 | enum class byte : unsigned char;
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/hardware/esp32/3.0.3/cores/esp32/Arduino.h:149:17: note: 'typedef uint8_t byte'
149 | typedef uint8_t byte;
| ^~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:153:29: error: 'byte' has not been declared
153 | void (*noteon)(byte chan, byte note, byte vel);
| ^~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:153:40: error: reference to 'byte' is ambiguous
153 | void (*noteon)(byte chan, byte note, byte vel);
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/tools/esp-xs3/2302/xtensa-esp32s3-elf/include/c++/12.2.0/bits/cpp_type_traits.h:406:30: note: candidates are: 'enum class std::byte'
406 | enum class byte : unsigned char;
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/hardware/esp32/3.0.3/cores/esp32/Arduino.h:149:17: note: 'typedef uint8_t byte'
149 | typedef uint8_t byte;
| ^~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:153:40: error: 'byte' has not been declared
153 | void (*noteon)(byte chan, byte note, byte vel);
| ^~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:154:19: error: reference to 'byte' is ambiguous
154 | void (*noteoff)(byte chan, byte note);
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/tools/esp-xs3/2302/xtensa-esp32s3-elf/include/c++/12.2.0/bits/cpp_type_traits.h:406:30: note: candidates are: 'enum class std::byte'
406 | enum class byte : unsigned char;
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/hardware/esp32/3.0.3/cores/esp32/Arduino.h:149:17: note: 'typedef uint8_t byte'
149 | typedef uint8_t byte;
| ^~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:154:19: error: 'byte' has not been declared
154 | void (*noteoff)(byte chan, byte note);
| ^~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:154:30: error: reference to 'byte' is ambiguous
154 | void (*noteoff)(byte chan, byte note);
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/tools/esp-xs3/2302/xtensa-esp32s3-elf/include/c++/12.2.0/bits/cpp_type_traits.h:406:30: note: candidates are: 'enum class std::byte'
406 | enum class byte : unsigned char;
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/hardware/esp32/3.0.3/cores/esp32/Arduino.h:149:17: note: 'typedef uint8_t byte'
149 | typedef uint8_t byte;
| ^~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:154:30: error: 'byte' has not been declared
154 | void (noteoff)(byte chan, byte note);
| ^~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:155:3: error: reference to 'byte' is ambiguous
155 | byte playing_note;
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/tools/esp-xs3/2302/xtensa-esp32s3-elf/include/c++/12.2.0/bits/cpp_type_traits.h:406:30: note: candidates are: 'enum class std::byte'
406 | enum class byte : unsigned char;
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/hardware/esp32/3.0.3/cores/esp32/Arduino.h:149:17: note: 'typedef uint8_t byte'
149 | typedef uint8_t byte;
| ^~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:165:3: error: reference to 'byte' is ambiguous
165 | byte length = 0;
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/tools/esp-xs3/2302/xtensa-esp32s3-elf/include/c++/12.2.0/bits/cpp_type_traits.h:406:30: note: candidates are: 'enum class std::byte'
406 | enum class byte : unsigned char;
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/hardware/esp32/3.0.3/cores/esp32/Arduino.h:149:17: note: 'typedef uint8_t byte'
149 | typedef uint8_t byte;
| ^~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:177:3: error: reference to 'byte' is ambiguous
177 | byte note_set[MaxNoteSet];
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/tools/esp-xs3/2302/xtensa-esp32s3-elf/include/c++/12.2.0/bits/cpp_type_traits.h:406:30: note: candidates are: 'enum class std::byte'
406 | enum class byte : unsigned char;
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/hardware/esp32/3.0.3/cores/esp32/Arduino.h:149:17: note: 'typedef uint8_t byte'
149 | typedef uint8_t byte;
| ^~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:178:3: error: reference to 'byte' is ambiguous
178 | byte num_notes_in_set;
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/tools/esp-xs3/2302/xtensa-esp32s3-elf/include/c++/12.2.0/bits/cpp_type_traits.h:406:30: note: candidates are: 'enum class std::byte'
406 | enum class byte : unsigned char;
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/hardware/esp32/3.0.3/cores/esp32/Arduino.h:149:17: note: 'typedef uint8_t byte'
149 | typedef uint8_t byte;
| ^~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:183:8: error: reference to 'byte' is ambiguous
183 | static byte cur_memory;
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/tools/esp-xs3/2302/xtensa-esp32s3-elf/include/c++/12.2.0/bits/cpp_type_traits.h:406:30: note: candidates are: 'enum class std::byte'
406 | enum class byte : unsigned char;
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/hardware/esp32/3.0.3/cores/esp32/Arduino.h:149:17: note: 'typedef uint8_t byte'
149 | typedef uint8_t byte;
| ^~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:190:8: error: reference to 'byte' is ambiguous
190 | static byte button_divider;
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/tools/esp-xs3/2302/xtensa-esp32s3-elf/include/c++/12.2.0/bits/cpp_type_traits.h:406:30: note: candidates are: 'enum class std::byte'
406 | enum class byte : unsigned char;
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/hardware/esp32/3.0.3/cores/esp32/Arduino.h:149:17: note: 'typedef uint8_t byte'
149 | typedef uint8_t byte;
| ^~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:194:14: error: reference to 'byte' is ambiguous
194 | static const byte button_pins[ButLast] = {
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/tools/esp-xs3/2302/xtensa-esp32s3-elf/include/c++/12.2.0/bits/cpp_type_traits.h:406:30: note: candidates are: 'enum class std::byte'
406 | enum class byte : unsigned char;
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/hardware/esp32/3.0.3/cores/esp32/Arduino.h:149:17: note: 'typedef uint8_t byte'
149 | typedef uint8_t byte;
| ^~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:206:13: error: variable or field 'send_midi_noteon' declared void
206 | static void send_midi_noteon(byte chan, byte note, byte vol) {
| ^~~~~~~~~~~~~~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:206:30: error: reference to 'byte' is ambiguous
206 | static void send_midi_noteon(byte chan, byte note, byte vol) {
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/tools/esp-xs3/2302/xtensa-esp32s3-elf/include/c++/12.2.0/bits/cpp_type_traits.h:406:30: note: candidates are: 'enum class std::byte'
406 | enum class byte : unsigned char;
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/hardware/esp32/3.0.3/cores/esp32/Arduino.h:149:17: note: 'typedef uint8_t byte'
149 | typedef uint8_t byte;
| ^~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:206:41: error: reference to 'byte' is ambiguous
206 | static void send_midi_noteon(byte chan, byte note, byte vol) {
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/tools/esp-xs3/2302/xtensa-esp32s3-elf/include/c++/12.2.0/bits/cpp_type_traits.h:406:30: note: candidates are: 'enum class std::byte'
406 | enum class byte : unsigned char;
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/hardware/esp32/3.0.3/cores/esp32/Arduino.h:149:17: note: 'typedef uint8_t byte'
149 | typedef uint8_t byte;
| ^~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:206:52: error: reference to 'byte' is ambiguous
206 | static void send_midi_noteon(byte chan, byte note, byte vol) {
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/tools/esp-xs3/2302/xtensa-esp32s3-elf/include/c++/12.2.0/bits/cpp_type_traits.h:406:30: note: candidates are: 'enum class std::byte'
406 | enum class byte : unsigned char;
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/hardware/esp32/3.0.3/cores/esp32/Arduino.h:149:17: note: 'typedef uint8_t byte'
149 | typedef uint8_t byte;
| ^~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:216:13: error: variable or field 'send_midi_noteoff' declared void
216 | static void send_midi_noteoff(byte chan, byte note) {
| ^~~~~~~~~~~~~~~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:216:31: error: reference to 'byte' is ambiguous
216 | static void send_midi_noteoff(byte chan, byte note) {
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/tools/esp-xs3/2302/xtensa-esp32s3-elf/include/c++/12.2.0/bits/cpp_type_traits.h:406:30: note: candidates are: 'enum class std::byte'
406 | enum class byte : unsigned char;
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/hardware/esp32/3.0.3/cores/esp32/Arduino.h:149:17: note: 'typedef uint8_t byte'
149 | typedef uint8_t byte;
| ^~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:216:42: error: reference to 'byte' is ambiguous
216 | static void send_midi_noteoff(byte chan, byte note) {
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/tools/esp-xs3/2302/xtensa-esp32s3-elf/include/c++/12.2.0/bits/cpp_type_traits.h:406:30: note: candidates are: 'enum class std::byte'
406 | enum class byte : unsigned char;
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/hardware/esp32/3.0.3/cores/esp32/Arduino.h:149:17: note: 'typedef uint8_t byte'
149 | typedef uint8_t byte;
| ^~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino: In function 'void init_midi()':
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:233:30: error: 'button_pins' was not declared in this scope; did you mean 'buttons'?
233 | init_button(&buttons[i], button_pins[i], i + 1 );
| ^~~~~~~~~~~
| buttons
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino: At global scope:
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:241:13: error: variable or field 'send_midi_control' declared void
241 | static void send_midi_control(byte chan, byte cc_number, byte cc_value) {
| ^~~~~~~~~~~~~~~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:241:31: error: reference to 'byte' is ambiguous
241 | static void send_midi_control(byte chan, byte cc_number, byte cc_value) {
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/tools/esp-xs3/2302/xtensa-esp32s3-elf/include/c++/12.2.0/bits/cpp_type_traits.h:406:30: note: candidates are: 'enum class std::byte'
406 | enum class byte : unsigned char;
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/hardware/esp32/3.0.3/cores/esp32/Arduino.h:149:17: note: 'typedef uint8_t byte'
149 | typedef uint8_t byte;
| ^~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:241:42: error: reference to 'byte' is ambiguous
241 | static void send_midi_control(byte chan, byte cc_number, byte cc_value) {
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/tools/esp-xs3/2302/xtensa-esp32s3-elf/include/c++/12.2.0/bits/cpp_type_traits.h:406:30: note: candidates are: 'enum class std::byte'
406 | enum class byte : unsigned char;
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/hardware/esp32/3.0.3/cores/esp32/Arduino.h:149:17: note: 'typedef uint8_t byte'
149 | typedef uint8_t byte;
| ^~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:241:58: error: reference to 'byte' is ambiguous
241 | static void send_midi_control(byte chan, byte cc_number, byte cc_value) {
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/tools/esp-xs3/2302/xtensa-esp32s3-elf/include/c++/12.2.0/bits/cpp_type_traits.h:406:30: note: candidates are: 'enum class std::byte'
406 | enum class byte : unsigned char;
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/hardware/esp32/3.0.3/cores/esp32/Arduino.h:149:17: note: 'typedef uint8_t byte'
149 | typedef uint8_t byte;
| ^~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino: In function 'void read_button(Button
)':
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:291:69: error: 'struct Button' has no member named 'pin'
291 | button->history = (button->history << 1) | (digitalRead(button->pin) == HIGH);
| ^~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino: At global scope:
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:297:48: error: reference to 'byte' is ambiguous
297 | static void init_button(struct Button *button, byte pin, uint8_t num)
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/tools/esp-xs3/2302/xtensa-esp32s3-elf/include/c++/12.2.0/bits/cpp_type_traits.h:406:30: note: candidates are: 'enum class std::byte'
406 | enum class byte : unsigned char;
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/hardware/esp32/3.0.3/cores/esp32/Arduino.h:149:17: note: 'typedef uint8_t byte'
149 | typedef uint8_t byte;
| ^~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:297:48: error: 'byte' has not been declared
297 | static void init_button(struct Button button, byte pin, uint8_t num)
| ^~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino: In function 'void init_button(Button
, int, uint8_t)':
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:300:11: error: 'struct Button' has no member named 'pin'
300 | button->pin = pin;
| ^~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino: At global scope:
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:309:13: error: variable or field 'instr_noteoff' declared void
309 | static void instr_noteoff(byte instr) {
| ^~~~~~~~~~~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:309:27: error: reference to 'byte' is ambiguous
309 | static void instr_noteoff(byte instr) {
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/tools/esp-xs3/2302/xtensa-esp32s3-elf/include/c++/12.2.0/bits/cpp_type_traits.h:406:30: note: candidates are: 'enum class std::byte'
406 | enum class byte : unsigned char;
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/hardware/esp32/3.0.3/cores/esp32/Arduino.h:149:17: note: 'typedef uint8_t byte'
149 | typedef uint8_t byte;
| ^~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino: In function 'void instr_allnotesoff()':
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:321:5: error: 'instr_noteoff' was not declared in this scope; did you mean 'instr_allnotesoff'?
321 | instr_noteoff(i);
| ^~~~~~~~~~~~~
| instr_allnotesoff
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino: At global scope:
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:325:13: error: variable or field 'instr_noteon_raw' declared void
325 | static void instr_noteon_raw(byte instr, byte note, byte vol, byte do_glide) {
| ^~~~~~~~~~~~~~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:325:30: error: reference to 'byte' is ambiguous
325 | static void instr_noteon_raw(byte instr, byte note, byte vol, byte do_glide) {
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/tools/esp-xs3/2302/xtensa-esp32s3-elf/include/c++/12.2.0/bits/cpp_type_traits.h:406:30: note: candidates are: 'enum class std::byte'
406 | enum class byte : unsigned char;
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/hardware/esp32/3.0.3/cores/esp32/Arduino.h:149:17: note: 'typedef uint8_t byte'
149 | typedef uint8_t byte;
| ^~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:325:42: error: reference to 'byte' is ambiguous
325 | static void instr_noteon_raw(byte instr, byte note, byte vol, byte do_glide) {
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/tools/esp-xs3/2302/xtensa-esp32s3-elf/include/c++/12.2.0/bits/cpp_type_traits.h:406:30: note: candidates are: 'enum class std::byte'
406 | enum class byte : unsigned char;
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/hardware/esp32/3.0.3/cores/esp32/Arduino.h:149:17: note: 'typedef uint8_t byte'
149 | typedef uint8_t byte;
| ^~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:325:53: error: reference to 'byte' is ambiguous
325 | static void instr_noteon_raw(byte instr, byte note, byte vol, byte do_glide) {
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/tools/esp-xs3/2302/xtensa-esp32s3-elf/include/c++/12.2.0/bits/cpp_type_traits.h:406:30: note: candidates are: 'enum class std::byte'
406 | enum class byte : unsigned char;
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/hardware/esp32/3.0.3/cores/esp32/Arduino.h:149:17: note: 'typedef uint8_t byte'
149 | typedef uint8_t byte;
| ^~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:325:63: error: reference to 'byte' is ambiguous
325 | static void instr_noteon_raw(byte instr, byte note, byte vol, byte do_glide) {
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/tools/esp-xs3/2302/xtensa-esp32s3-elf/include/c++/12.2.0/bits/cpp_type_traits.h:406:30: note: candidates are: 'enum class std::byte'
406 | enum class byte : unsigned char;
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/hardware/esp32/3.0.3/cores/esp32/Arduino.h:149:17: note: 'typedef uint8_t byte'
149 | typedef uint8_t byte;
| ^~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:345:13: error: variable or field 'instr_noteon' declared void
345 | static void instr_noteon(byte instr, byte value, byte do_glide, byte do_accent) {
| ^~~~~~~~~~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:345:26: error: reference to 'byte' is ambiguous
345 | static void instr_noteon(byte instr, byte value, byte do_glide, byte do_accent) {
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/tools/esp-xs3/2302/xtensa-esp32s3-elf/include/c++/12.2.0/bits/cpp_type_traits.h:406:30: note: candidates are: 'enum class std::byte'
406 | enum class byte : unsigned char;
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/hardware/esp32/3.0.3/cores/esp32/Arduino.h:149:17: note: 'typedef uint8_t byte'
149 | typedef uint8_t byte;
| ^~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:345:38: error: reference to 'byte' is ambiguous
345 | static void instr_noteon(byte instr, byte value, byte do_glide, byte do_accent) {
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/tools/esp-xs3/2302/xtensa-esp32s3-elf/include/c++/12.2.0/bits/cpp_type_traits.h:406:30: note: candidates are: 'enum class std::byte'
406 | enum class byte : unsigned char;
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/hardware/esp32/3.0.3/cores/esp32/Arduino.h:149:17: note: 'typedef uint8_t byte'
149 | typedef uint8_t byte;
| ^~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:345:50: error: reference to 'byte' is ambiguous
345 | static void instr_noteon(byte instr, byte value, byte do_glide, byte do_accent) {
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/tools/esp-xs3/2302/xtensa-esp32s3-elf/include/c++/12.2.0/bits/cpp_type_traits.h:406:30: note: candidates are: 'enum class std::byte'
406 | enum class byte : unsigned char;
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/hardware/esp32/3.0.3/cores/esp32/Arduino.h:149:17: note: 'typedef uint8_t byte'
149 | typedef uint8_t byte;
| ^~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:345:65: error: reference to 'byte' is ambiguous
345 | static void instr_noteon(byte instr, byte value, byte do_glide, byte do_accent) {
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/tools/esp-xs3/2302/xtensa-esp32s3-elf/include/c++/12.2.0/bits/cpp_type_traits.h:406:30: note: candidates are: 'enum class std::byte'
406 | enum class byte : unsigned char;
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/hardware/esp32/3.0.3/cores/esp32/Arduino.h:149:17: note: 'typedef uint8_t byte'
149 | typedef uint8_t byte;
| ^~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:363:6: error: variable or field 'sequencer_step' declared void
363 | void sequencer_step(byte step) {
| ^~~~~~~~~~~~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:363:21: error: reference to 'byte' is ambiguous
363 | void sequencer_step(byte step) {
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/tools/esp-xs3/2302/xtensa-esp32s3-elf/include/c++/12.2.0/bits/cpp_type_traits.h:406:30: note: candidates are: 'enum class std::byte'
406 | enum class byte : unsigned char;
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/hardware/esp32/3.0.3/cores/esp32/Arduino.h:149:17: note: 'typedef uint8_t byte'
149 | typedef uint8_t byte;
| ^~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:448:8: error: reference to 'byte' is ambiguous
448 | static byte generate_note_set(uint8_t *note_set) {
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/tools/esp-xs3/2302/xtensa-esp32s3-elf/include/c++/12.2.0/bits/cpp_type_traits.h:406:30: note: candidates are: 'enum class std::byte'
406 | enum class byte : unsigned char;
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/hardware/esp32/3.0.3/cores/esp32/Arduino.h:149:17: note: 'typedef uint8_t byte'
149 | typedef uint8_t byte;
| ^~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:468:8: error: reference to 'byte' is ambiguous
468 | static byte flip(byte percent_chance) {
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/tools/esp-xs3/2302/xtensa-esp32s3-elf/include/c++/12.2.0/bits/cpp_type_traits.h:406:30: note: candidates are: 'enum class std::byte'
406 | enum class byte : unsigned char;
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/hardware/esp32/3.0.3/cores/esp32/Arduino.h:149:17: note: 'typedef uint8_t byte'
149 | typedef uint8_t byte;
| ^~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:472:48: error: reference to 'byte' is ambiguous
472 | static void generate_melody(uint8_t note_set, byte note_set_len,
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/tools/esp-xs3/2302/xtensa-esp32s3-elf/include/c++/12.2.0/bits/cpp_type_traits.h:406:30: note: candidates are: 'enum class std::byte'
406 | enum class byte : unsigned char;
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/hardware/esp32/3.0.3/cores/esp32/Arduino.h:149:17: note: 'typedef uint8_t byte'
149 | typedef uint8_t byte;
| ^~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:472:48: error: 'byte' has not been declared
472 | static void generate_melody(uint8_t note_set, byte note_set_len,
| ^~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:473:47: error: reference to 'byte' is ambiguous
473 | uint8_t pattern, byte pattern_len,
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/tools/esp-xs3/2302/xtensa-esp32s3-elf/include/c++/12.2.0/bits/cpp_type_traits.h:406:30: note: candidates are: 'enum class std::byte'
406 | enum class byte : unsigned char;
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/hardware/esp32/3.0.3/cores/esp32/Arduino.h:149:17: note: 'typedef uint8_t byte'
149 | typedef uint8_t byte;
| ^~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:473:47: error: 'byte' has not been declared
473 | uint8_t pattern, byte pattern_len,
| ^~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino: In function 'void generate_melody(uint8_t
, int, uint8_t
, int, uint16_t
, uint16_t
)':
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:483:9: error: 'flip' was not declared in this scope
483 | if (flip(chance)) {
| ^~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino: At global scope:
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:734:6: error: variable or field 'mem_generate_melody' declared void
734 | void mem_generate_melody(byte mem, byte voice) {
| ^~~~~~~~~~~~~~~~~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:734:26: error: reference to 'byte' is ambiguous
734 | void mem_generate_melody(byte mem, byte voice) {
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/tools/esp-xs3/2302/xtensa-esp32s3-elf/include/c++/12.2.0/bits/cpp_type_traits.h:406:30: note: candidates are: 'enum class std::byte'
406 | enum class byte : unsigned char;
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/hardware/esp32/3.0.3/cores/esp32/Arduino.h:149:17: note: 'typedef uint8_t byte'
149 | typedef uint8_t byte;
| ^~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:734:36: error: reference to 'byte' is ambiguous
734 | void mem_generate_melody(byte mem, byte voice) {
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/tools/esp-xs3/2302/xtensa-esp32s3-elf/include/c++/12.2.0/bits/cpp_type_traits.h:406:30: note: candidates are: 'enum class std::byte'
406 | enum class byte : unsigned char;
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/hardware/esp32/3.0.3/cores/esp32/Arduino.h:149:17: note: 'typedef uint8_t byte'
149 | typedef uint8_t byte;
| ^~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:751:6: error: variable or field 'mem_generate_melody_and_seed' declared void
751 | void mem_generate_melody_and_seed(byte mem, byte voice) {
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:751:35: error: reference to 'byte' is ambiguous
751 | void mem_generate_melody_and_seed(byte mem, byte voice) {
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/tools/esp-xs3/2302/xtensa-esp32s3-elf/include/c++/12.2.0/bits/cpp_type_traits.h:406:30: note: candidates are: 'enum class std::byte'
406 | enum class byte : unsigned char;
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/hardware/esp32/3.0.3/cores/esp32/Arduino.h:149:17: note: 'typedef uint8_t byte'
149 | typedef uint8_t byte;
| ^~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:751:45: error: reference to 'byte' is ambiguous
751 | void mem_generate_melody_and_seed(byte mem, byte voice) {
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/tools/esp-xs3/2302/xtensa-esp32s3-elf/include/c++/12.2.0/bits/cpp_type_traits.h:406:30: note: candidates are: 'enum class std::byte'
406 | enum class byte : unsigned char;
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/hardware/esp32/3.0.3/cores/esp32/Arduino.h:149:17: note: 'typedef uint8_t byte'
149 | typedef uint8_t byte;
| ^~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:758:6: error: variable or field 'mem_generate_note_set' declared void
758 | void mem_generate_note_set(byte mem) {
| ^~~~~~~~~~~~~~~~~~~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:758:28: error: reference to 'byte' is ambiguous
758 | void mem_generate_note_set(byte mem) {
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/tools/esp-xs3/2302/xtensa-esp32s3-elf/include/c++/12.2.0/bits/cpp_type_traits.h:406:30: note: candidates are: 'enum class std::byte'
406 | enum class byte : unsigned char;
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/hardware/esp32/3.0.3/cores/esp32/Arduino.h:149:17: note: 'typedef uint8_t byte'
149 | typedef uint8_t byte;
| ^~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:778:6: error: variable or field 'mem_generate_all' declared void
778 | void mem_generate_all(byte mem) {
| ^~~~~~~~~~~~~~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:778:23: error: reference to 'byte' is ambiguous
778 | void mem_generate_all(byte mem) {
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/tools/esp-xs3/2302/xtensa-esp32s3-elf/include/c++/12.2.0/bits/cpp_type_traits.h:406:30: note: candidates are: 'enum class std::byte'
406 | enum class byte : unsigned char;
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/hardware/esp32/3.0.3/cores/esp32/Arduino.h:149:17: note: 'typedef uint8_t byte'
149 | typedef uint8_t byte;
| ^~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:785:39: error: reference to 'byte' is ambiguous
785 | void print_pattern(struct Pattern *p, byte is_drum) {
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/tools/esp-xs3/2302/xtensa-esp32s3-elf/include/c++/12.2.0/bits/cpp_type_traits.h:406:30: note: candidates are: 'enum class std::byte'
406 | enum class byte : unsigned char;
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/hardware/esp32/3.0.3/cores/esp32/Arduino.h:149:17: note: 'typedef uint8_t byte'
149 | typedef uint8_t byte;
| ^~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:785:39: error: 'byte' has not been declared
785 | void print_pattern(struct Pattern p, byte is_drum) {
| ^~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino: In function 'void print_pattern(Pattern
, int)':
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/Open303.ino:35:27: error: 'USBSerial' was not declared in this scope; did you mean 'Serial'?
35 | #define DEBF(...) USBSerial.printf(VA_ARGS)
| ^~~~~~~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:788:5: note: in expansion of macro 'DEBF'
788 | DEBF("%3d ", p->notes[i]);
| ^~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/Open303.ino:35:27: error: 'USBSerial' was not declared in this scope; did you mean 'Serial'?
35 | #define DEBF(...) USBSerial.printf(VA_ARGS)
| ^~~~~~~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:792:7: note: in expansion of macro 'DEBF'
792 | DEBF(" %c%c \r\n", (p->accent & (1u << i)) ? 'A' : ' ', (p->glide & (1u << i)) ? '~' : ' ');
| ^~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino: At global scope:
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:797:6: error: variable or field 'print_memory' declared void
797 | void print_memory(byte mem) {
| ^~~~~~~~~~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:797:19: error: reference to 'byte' is ambiguous
797 | void print_memory(byte mem) {
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/tools/esp-xs3/2302/xtensa-esp32s3-elf/include/c++/12.2.0/bits/cpp_type_traits.h:406:30: note: candidates are: 'enum class std::byte'
406 | enum class byte : unsigned char;
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/hardware/esp32/3.0.3/cores/esp32/Arduino.h:149:17: note: 'typedef uint8_t byte'
149 | typedef uint8_t byte;
| ^~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino: In function 'void init_patterns()':
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:813:5: error: 'mem_generate_all' was not declared in this scope
813 | mem_generate_all(i);
| ^~~~~~~~~~~~~~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino: At global scope:
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:822:8: error: reference to 'byte' is ambiguous
822 | static byte midi_playing, midi_tick, midi_step;
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/tools/esp-xs3/2302/xtensa-esp32s3-elf/include/c++/12.2.0/bits/cpp_type_traits.h:406:30: note: candidates are: 'enum class std::byte'
406 | enum class byte : unsigned char;
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/hardware/esp32/3.0.3/cores/esp32/Arduino.h:149:17: note: 'typedef uint8_t byte'
149 | typedef uint8_t byte;
| ^~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino: In function 'void decide_on_break()':
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:839:13: error: 'struct sBreak' has no member named 'length'
839 | Break.length = 4;
| ^~~~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:840:41: error: 'struct sBreak' has no member named 'length'
840 | Break.after = Break.start + Break.length;
| ^~~~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:843:11: error: 'flip' was not declared in this scope
843 | if (flip(50)) {
| ^~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:846:15: error: 'struct sBreak' has no member named 'length'
846 | Break.length = 1;
| ^~~~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:847:43: error: 'struct sBreak' has no member named 'length'
847 | Break.after = Break.start + Break.length;
| ^~~~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:850:11: error: 'flip' was not declared in this scope
850 | if (flip(30)) {
| ^~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:854:15: error: 'struct sBreak' has no member named 'length'
854 | Break.length = 2;
| ^~~~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:855:43: error: 'struct sBreak' has no member named 'length'
855 | Break.after = Break.start + Break.length;
| ^~~~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:858:11: error: 'flip' was not declared in this scope
858 | if (flip(30)) {
| ^~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:862:15: error: 'struct sBreak' has no member named 'length'
862 | Break.length = 3;
| ^~~~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:863:43: error: 'struct sBreak' has no member named 'length'
863 | Break.after = Break.start + Break.length;
| ^~~~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:866:11: error: 'flip' was not declared in this scope
866 | if (flip(30)) {
| ^~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:870:15: error: 'struct sBreak' has no member named 'length'
870 | Break.length = 4;
| ^~~~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:871:43: error: 'struct sBreak' has no member named 'length'
871 | Break.after = Break.start + Break.length;
| ^~~~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:874:11: error: 'flip' was not declared in this scope
874 | if (flip(15)) {
| ^~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:878:15: error: 'struct sBreak' has no member named 'length'
878 | Break.length = 1;
| ^~~~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:879:43: error: 'struct sBreak' has no member named 'length'
879 | Break.after = Break.start + Break.length;
| ^~~~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:882:11: error: 'flip' was not declared in this scope
882 | if (flip(15)) {
| ^~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:886:15: error: 'struct sBreak' has no member named 'length'
886 | Break.length = 2;
| ^~~~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:887:43: error: 'struct sBreak' has no member named 'length'
887 | Break.after = Break.start + Break.length;
| ^~~~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:890:11: error: 'flip' was not declared in this scope
890 | if (flip(10)) {
| ^~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:894:15: error: 'struct sBreak' has no member named 'length'
894 | Break.length = 1;
| ^~~~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:895:43: error: 'struct sBreak' has no member named 'length'
895 | Break.after = Break.start + Break.length;
| ^~~~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:904:11: error: 'flip' was not declared in this scope
904 | if (flip(80)) mem_generate_melody_and_seed(cur_memory, 0);
| ^~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:904:50: error: 'cur_memory' was not declared in this scope
904 | if (flip(80)) mem_generate_melody_and_seed(cur_memory, 0);
| ^~~~~~~~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:904:21: error: 'mem_generate_melody_and_seed' was not declared in this scope
904 | if (flip(80)) mem_generate_melody_and_seed(cur_memory, 0);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:905:11: error: 'flip' was not declared in this scope
905 | if (flip(60)) mem_generate_melody_and_seed(cur_memory, 1);
| ^~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:905:50: error: 'cur_memory' was not declared in this scope
905 | if (flip(60)) mem_generate_melody_and_seed(cur_memory, 1);
| ^~~~~~~~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:905:21: error: 'mem_generate_melody_and_seed' was not declared in this scope
905 | if (flip(60)) mem_generate_melody_and_seed(cur_memory, 1);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:906:11: error: 'flip' was not declared in this scope
906 | if (flip(15)) mem_generate_note_set(cur_memory);
| ^~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:906:43: error: 'cur_memory' was not declared in this scope
906 | if (flip(15)) mem_generate_note_set(cur_memory);
| ^~~~~~~~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:906:21: error: 'mem_generate_note_set' was not declared in this scope
906 | if (flip(15)) mem_generate_note_set(cur_memory);
| ^~~~~~~~~~~~~~~~~~~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/Open303.ino:35:27: error: 'USBSerial' was not declared in this scope; did you mean 'Serial'?
35 | #define DEBF(...) USBSerial.printf(VA_ARGS)
| ^~~~~~~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:910:3: note: in expansion of macro 'DEBF'
910 | DEBF("bar=%d break.len=%d break.status=%d \r\n", bars_played, Break.length, Break.status);
| ^~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:910:73: error: 'struct sBreak' has no member named 'length'
910 | DEBF("bar=%d break.len=%d break.status=%d \r\n", bars_played, Break.length, Break.status);
| ^~~~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/Open303.ino:35:44: note: in definition of macro 'DEBF'
35 | #define DEBF(...) USBSerial.printf(VA_ARGS)
| ^~~~~~~~~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino: In function 'void do_midi_start()':
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:915:3: error: 'midi_playing' was not declared in this scope
915 | midi_playing = 1;
| ^~~~~~~~~~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:916:3: error: 'midi_tick' was not declared in this scope; did you mean 'midi_tick_ms'?
916 | midi_tick = MIDI_TICKS_PER_16TH - 1;
| ^~~~~~~~~
| midi_tick_ms
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:917:3: error: 'midi_step' was not declared in this scope
917 | midi_step = -1;
| ^~~~~~~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:918:3: error: 'send_midi_control' was not declared in this scope; did you mean 'send_midi_stop'?
918 | send_midi_control(SYNTH1_MIDI_CHAN, 10, 10);
| ^~~~~~~~~~~~~~~~~
| send_midi_stop
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino: In function 'void do_midi_ramps()':
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:950:5: error: 'send_midi_control' was not declared in this scope; did you mean 'send_midi_stop'?
950 | send_midi_control(midiRamps[i].chan, midiRamps[i].cc_number, val);
| ^~~~~~~~~~~~~~~~~
| send_midi_stop
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/Open303.ino:35:27: error: 'USBSerial' was not declared in this scope; did you mean 'Serial'?
35 | #define DEBF(...) USBSerial.printf(VA_ARGS)
| ^~~~~~~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:952:5: note: in expansion of macro 'DEBF'
952 | DEBF("ramp: %d chan: %d cc: %d = %d \r\n", i, midiRamps[i].chan, midiRamps[i].cc_number, val);
| ^~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino: In function 'void check_midi_ramps(boolean)':
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:963:11: error: 'send_midi_control' was not declared in this scope; did you mean 'send_midi_stop'?
963 | send_midi_control(midiRamps[i].chan, midiRamps[i].cc_number, midiRamps[i].def_val);
| ^~~~~~~~~~~~~~~~~
| send_midi_stop
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:994:39: error: 'struct sBreak' has no member named 'length'
994 | midiRamps[i].leftBars = Break.length;
| ^~~~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:996:106: error: 'struct sBreak' has no member named 'length'
996 | midiRamps[i].stepPer16th = ((float)(midiRamps[i].max_val - midiRamps[i].min_val) / (float)(Break.length * PatternLength));
| ^~~~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino: In function 'void do_midi_tick()':
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:1004:3: error: 'midi_tick' was not declared in this scope; did you mean 'midi_tick_ms'?
1004 | midi_tick++;
| ^~~~~~~~~
| midi_tick_ms
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:1007:5: error: 'midi_step' was not declared in this scope
1007 | midi_step++;
| ^~~~~~~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:1014:5: error: 'sequencer_step' was not declared in this scope
1014 | sequencer_step(midi_step);
| ^~~~~~~~~~~~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino: In function 'void do_midi_stop()':
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:1021:3: error: 'midi_playing' was not declared in this scope
1021 | midi_playing = 0;
| ^~~~~~~~~~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino: At global scope:
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:1029:14: error: reference to 'byte' is ambiguous
1029 | static const byte synth_midi_channels[1] = { SYNTH1_MIDI_CHAN};
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/tools/esp-xs3/2302/xtensa-esp32s3-elf/include/c++/12.2.0/bits/cpp_type_traits.h:406:30: note: candidates are: 'enum class std::byte'
406 | enum class byte : unsigned char;
| ^~~~
/Users/infinity/Library/Arduino15/packages/esp32/hardware/esp32/3.0.3/cores/esp32/Arduino.h:149:17: note: 'typedef uint8_t byte'
149 | typedef uint8_t byte;
| ^~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino: In function 'void init_instruments()':
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:1036:10: error: 'Instrument' {aka 'struct Instrument'} has no member named 'midi_channel'
1036 | ins->midi_channel = synth_midi_channels[i];
| ^~~~~~~~~~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:1036:25: error: 'synth_midi_channels' was not declared in this scope
1036 | ins->midi_channel = synth_midi_channels[i];
| ^~~~~~~~~~~~~~~~~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:1037:10: error: 'Instrument' {aka 'struct Instrument'} has no member named 'is_drum'
1037 | ins->is_drum = 0;
| ^~~~~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:1038:19: error: 'send_midi_noteon' was not declared in this scope; did you mean 'send_midi_stop'?
1038 | ins->noteon = send_midi_noteon;
| ^~~~~~~~~~~~~~~~
| send_midi_stop
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:1039:20: error: 'send_midi_noteoff' was not declared in this scope; did you mean 'send_midi_stop'?
1039 | ins->noteoff = send_midi_noteoff;
| ^~~~~~~~~~~~~~~~~
| send_midi_stop
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino: In function 'void run_ui()':
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/Open303.ino:35:27: error: 'USBSerial' was not declared in this scope; did you mean 'Serial'?
35 | #define DEBF(...) USBSerial.printf(VA_ARGS)
| ^~~~~~~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:1067:9: note: in expansion of macro 'DEBF'
1067 | DEBF("copy %d to %d\r\n", source_memory, i);
| ^~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/Open303.ino:35:27: error: 'USBSerial' was not declared in this scope; did you mean 'Serial'?
35 | #define DEBF(...) USBSerial.printf(VA_ARGS)
| ^~~~~~~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:1072:9: note: in expansion of macro 'DEBF'
1072 | DEBF("switching to memory %d", i);
| ^~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:1074:9: error: 'cur_memory' was not declared in this scope; did you mean 'source_memory'?
1074 | cur_memory = i;
| ^~~~~~~~~~
| source_memory
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:1081:34: error: 'cur_memory' was not declared in this scope; did you mean 'source_memory'?
1081 | mem_generate_melody_and_seed(cur_memory, 0);
| ^~~~~~~~~~
| source_memory
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:1081:5: error: 'mem_generate_melody_and_seed' was not declared in this scope
1081 | mem_generate_melody_and_seed(cur_memory, 0);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:1082:5: error: 'print_memory' was not declared in this scope
1082 | print_memory(cur_memory);
| ^~~~~~~~~~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:1085:34: error: 'cur_memory' was not declared in this scope; did you mean 'source_memory'?
1085 | mem_generate_melody_and_seed(cur_memory, 1);
| ^~~~~~~~~~
| source_memory
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:1085:5: error: 'mem_generate_melody_and_seed' was not declared in this scope
1085 | mem_generate_melody_and_seed(cur_memory, 1);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:1086:5: error: 'print_memory' was not declared in this scope
1086 | print_memory(cur_memory);
| ^~~~~~~~~~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:1089:27: error: 'cur_memory' was not declared in this scope; did you mean 'source_memory'?
1089 | mem_generate_note_set(cur_memory);
| ^~~~~~~~~~
| source_memory
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:1089:5: error: 'mem_generate_note_set' was not declared in this scope
1089 | mem_generate_note_set(cur_memory);
| ^~~~~~~~~~~~~~~~~~~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:1090:5: error: 'print_memory' was not declared in this scope
1090 | print_memory(cur_memory);
| ^~~~~~~~~~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:1094:18: error: 'cur_memory' was not declared in this scope; did you mean 'source_memory'?
1094 | print_memory(cur_memory);
| ^~~~~~~~~~
| source_memory
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:1094:5: error: 'print_memory' was not declared in this scope
1094 | print_memory(cur_memory);
| ^~~~~~~~~~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:1099:9: error: 'midi_playing' was not declared in this scope
1099 | if (midi_playing) {
| ^~~~~~~~~~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/Open303.ino:36:28: error: 'USBSerial' was not declared in this scope; did you mean 'Serial'?
36 | #define DEBUG(...) USBSerial.println(VA_ARGS)
| ^~~~~~~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:1101:7: note: in expansion of macro 'DEBUG'
1101 | DEBUG("stopping midi");
| ^~~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/Open303.ino:35:27: error: 'USBSerial' was not declared in this scope; did you mean 'Serial'?
35 | #define DEBF(...) USBSerial.printf(VA_ARGS)
| ^~~~~~~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:1106:7: note: in expansion of macro 'DEBF'
1106 | DEBF("starting midi clock, dt=%lu", midi_tick_ms);
| ^~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino: In function 'void run_tick()':
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:1118:3: error: 'button_divider' was not declared in this scope
1118 | button_divider++;
| ^~~~~~~~~~~~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:1129:7: error: 'midi_playing' was not declared in this scope
1129 | if (midi_playing && (now - last_midi_tick) >= midi_tick_ms) {
| ^~~~~~~~~~~~

exit status 1

Compilation error: variable or field 'send_midi_noteon' declared void

@copych
Copy link
Owner

copych commented Aug 6, 2024

Ah I see. This port is not yet adapted for core v.3.x.x, please, revert to v.2.0.17, this one should compile ok.

@01GOD
Copy link
Author

01GOD commented Aug 6, 2024

Ah I see. This port is not yet adapted for core v.3.x.x, please, revert to v.2.0.17, this one should compile ok.

Ah! OK.

Surprising that board updates from Expressif in that IDE aren't backward compatible. I imagine STM and Atmega MCUs don't have that issue.

@01GOD
Copy link
Author

01GOD commented Aug 6, 2024

I installed ESP32 board library 2.0.17.

Still a compiler error though, sadly. What library is "USBSerial" from?

Here is the console log of that error:
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/Open303.ino: In function 'void setup()':
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/Open303.ino:125:5: error: 'USBSerial' was not declared in this scope
USBSerial.begin(115200);
^~~~~~~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/Open303.ino:125:5: note: suggested alternative: 'Serial'
USBSerial.begin(115200);
^~~~~~~~~
Serial
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/Open303.ino: In function 'void audio_task1(void*)':
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/Open303.ino:36:28: error: 'USBSerial' was not declared in this scope
#define DEBUG(...) USBSerial.println(VA_ARGS)
^~~~~~~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/Open303.ino:199:3: note: in expansion of macro 'DEBUG'
DEBUG ("TASK 1 Started");
^~~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/Open303.ino:36:28: note: suggested alternative: 'Serial'
#define DEBUG(...) USBSerial.println(VA_ARGS)
^~~~~~~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/Open303.ino:199:3: note: in expansion of macro 'DEBUG'
DEBUG ("TASK 1 Started");
^~~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino: In function 'void sequencer_step(byte)':
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/Open303.ino:36:28: error: 'USBSerial' was not declared in this scope
#define DEBUG(...) USBSerial.println(VA_ARGS)
^~~~~~~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:394:5: note: in expansion of macro 'DEBUG'
DEBUG("CRASH!!!!!!!!!!!!!!!!!!!!!");
^~~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/Open303.ino:36:28: note: suggested alternative: 'Serial'
#define DEBUG(...) USBSerial.println(VA_ARGS)
^~~~~~~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:394:5: note: in expansion of macro 'DEBUG'
DEBUG("CRASH!!!!!!!!!!!!!!!!!!!!!");
^~~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/Open303.ino:36:28: error: 'USBSerial' was not declared in this scope
#define DEBUG(...) USBSerial.println(VA_ARGS)
^~~~~~~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:411:5: note: in expansion of macro 'DEBUG'
DEBUG(step);
^~~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/Open303.ino:36:28: note: suggested alternative: 'Serial'
#define DEBUG(...) USBSerial.println(VA_ARGS)
^~~~~~~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:411:5: note: in expansion of macro 'DEBUG'
DEBUG(step);
^~~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino: In function 'void print_pattern(Pattern*, byte)':
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/Open303.ino:35:27: error: 'USBSerial' was not declared in this scope
#define DEBF(...) USBSerial.printf(VA_ARGS)
^~~~~~~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:788:5: note: in expansion of macro 'DEBF'
DEBF("%3d ", p->notes[i]);
^~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/Open303.ino:35:27: note: suggested alternative: 'Serial'
#define DEBF(...) USBSerial.printf(VA_ARGS)
^~~~~~~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:788:5: note: in expansion of macro 'DEBF'
DEBF("%3d ", p->notes[i]);
^~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/Open303.ino:35:27: error: 'USBSerial' was not declared in this scope
#define DEBF(...) USBSerial.printf(VA_ARGS)
^~~~~~~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:792:7: note: in expansion of macro 'DEBF'
DEBF(" %c%c \r\n", (p->accent & (1u << i)) ? 'A' : ' ', (p->glide & (1u << i)) ? '' : ' ');
^~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/Open303.ino:35:27: note: suggested alternative: 'Serial'
#define DEBF(...) USBSerial.printf(VA_ARGS)
^~~~~~~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:792:7: note: in expansion of macro 'DEBF'
DEBF(" %c%c \r\n", (p->accent & (1u << i)) ? 'A' : ' ', (p->glide & (1u << i)) ? '
' : ' ');
^~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino: In function 'void print_memory(byte)':
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/Open303.ino:35:27: error: 'USBSerial' was not declared in this scope
#define DEBF(...) USBSerial.printf(VA_ARGS)
^~~~~~~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:800:3: note: in expansion of macro 'DEBF'
DEBF("--- memory %d ---", mem);
^~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/Open303.ino:35:27: note: suggested alternative: 'Serial'
#define DEBF(...) USBSerial.printf(VA_ARGS)
^~~~~~~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:800:3: note: in expansion of macro 'DEBF'
DEBF("--- memory %d ---", mem);
^~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino: In function 'void decide_on_break()':
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/Open303.ino:35:27: error: 'USBSerial' was not declared in this scope
#define DEBF(...) USBSerial.printf(VA_ARGS)
^~~~~~~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:910:3: note: in expansion of macro 'DEBF'
DEBF("bar=%d break.len=%d break.status=%d \r\n", bars_played, Break.length, Break.status);
^~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/Open303.ino:35:27: note: suggested alternative: 'Serial'
#define DEBF(...) USBSerial.printf(VA_ARGS)
^~~~~~~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:910:3: note: in expansion of macro 'DEBF'
DEBF("bar=%d break.len=%d break.status=%d \r\n", bars_played, Break.length, Break.status);
^~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino: In function 'void do_midi_ramps()':
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/Open303.ino:35:27: error: 'USBSerial' was not declared in this scope
#define DEBF(...) USBSerial.printf(VA_ARGS)
^~~~~~~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:952:5: note: in expansion of macro 'DEBF'
DEBF("ramp: %d chan: %d cc: %d = %d \r\n", i, midiRamps[i].chan, midiRamps[i].cc_number, val);
^~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/Open303.ino:35:27: note: suggested alternative: 'Serial'
#define DEBF(...) USBSerial.printf(VA_ARGS)
^~~~~~~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:952:5: note: in expansion of macro 'DEBF'
DEBF("ramp: %d chan: %d cc: %d = %d \r\n", i, midiRamps[i].chan, midiRamps[i].cc_number, val);
^~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino: In function 'void run_ui()':
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/Open303.ino:35:27: error: 'USBSerial' was not declared in this scope
#define DEBF(...) USBSerial.printf(VA_ARGS)
^~~~~~~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:1067:9: note: in expansion of macro 'DEBF'
DEBF("copy %d to %d\r\n", source_memory, i);
^~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/Open303.ino:35:27: note: suggested alternative: 'Serial'
#define DEBF(...) USBSerial.printf(VA_ARGS)
^~~~~~~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:1067:9: note: in expansion of macro 'DEBF'
DEBF("copy %d to %d\r\n", source_memory, i);
^~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/Open303.ino:35:27: error: 'USBSerial' was not declared in this scope
#define DEBF(...) USBSerial.printf(VA_ARGS)
^~~~~~~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:1072:9: note: in expansion of macro 'DEBF'
DEBF("switching to memory %d", i);
^~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/Open303.ino:35:27: note: suggested alternative: 'Serial'
#define DEBF(...) USBSerial.printf(VA_ARGS)
^~~~~~~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:1072:9: note: in expansion of macro 'DEBF'
DEBF("switching to memory %d", i);
^~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/Open303.ino:36:28: error: 'USBSerial' was not declared in this scope
#define DEBUG(...) USBSerial.println(VA_ARGS)
^~~~~~~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:1101:7: note: in expansion of macro 'DEBUG'
DEBUG("stopping midi");
^~~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/Open303.ino:36:28: note: suggested alternative: 'Serial'
#define DEBUG(...) USBSerial.println(VA_ARGS)
^~~~~~~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:1101:7: note: in expansion of macro 'DEBUG'
DEBUG("stopping midi");
^~~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/Open303.ino:35:27: error: 'USBSerial' was not declared in this scope
#define DEBF(...) USBSerial.printf(VA_ARGS)
^~~~~~~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:1106:7: note: in expansion of macro 'DEBF'
DEBF("starting midi clock, dt=%lu", midi_tick_ms);
^~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/Open303.ino:35:27: note: suggested alternative: 'Serial'
#define DEBF(...) USBSerial.printf(VA_ARGS)
^~~~~~~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/AcidBanger.ino:1106:7: note: in expansion of macro 'DEBF'
DEBF("starting midi clock, dt=%lu", midi_tick_ms);
^~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/USBSerial.ino: At global scope:
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/USBSerial.ino:5:6: error: redefinition of 'void setup()'
void setup() {}
^~~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/Open303.ino:121:6: note: 'void setup()' previously defined here
void setup() {
^~~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/USBSerial.ino:6:6: error: redefinition of 'void loop()'
void loop() {}
^~~~
/Users/infinity/Downloads/ESP32/From GitHub/ESP32_Open303-main 3/Open303/Open303.ino:166:6: note: 'void loop()' previously defined here
void loop() {
^~~~

exit status 1

Compilation error: 'USBSerial' was not declared in this scope

@01GOD
Copy link
Author

01GOD commented Aug 6, 2024

Tried simply commenting out those calls, but then there were many, many other compiler errors. I assume wrote macros to replace DEBUG() with Serial.println or similar somewhere, but maybe didn't include that file in the repo.

Anyway, now compiler is complaining about zigbee mode on the one that was compiling before, so maybe switching between board library versions wasn't something that IDE can handle properly.

@copych
Copy link
Owner

copych commented Aug 6, 2024

Depending on what mcu you have, select either esp32 devboard or esp32s3 devboard, and download latest repo of open303 port

@01GOD
Copy link
Author

01GOD commented Aug 6, 2024

I thankfully got it to compile by adding this to that main .ino:
#define DEBUG(x) Serial.println(x)
#define USBSerial Serial

Thanks again for posting that port! I recommend having a look at that work-in-progress diode ladder port I worked on for most of yesterday night. Actually I worked on it A LOT yesterday using that HORRIBLY formatted PDF (that added a bunch of nonsense and bizarre line breaks and so on when copied from), and then today remembered that there was a repo with generally the same as PDF, so started modifying those files instead.

That is here:
https://github.com/01GOD/Porting_VADiodeLadderFilter_To_Embedded_C

@01GOD
Copy link
Author

01GOD commented Aug 6, 2024

PS: Hearing that was a reminder that a vanilla silver box of that type sounds relatively basic compared to when compressor and bass boost and an MXR and reverb are added.

@01GOD
Copy link
Author

01GOD commented Aug 6, 2024

Initial opinion is that the AcidBox filter (combo?) and that VADiodeLadder filter emulation filter sound noticeably more accurate. I suspect this filter maybe uses less CPU than that VADiodeLadder filter emulation though.

This filter sounds more like somebody is imitating by making sounds through a talkbox in some ways.

@copych
Copy link
Owner

copych commented Aug 6, 2024

Downgrading from double to float reduced accuracy, and now the port requires tuning

@01GOD
Copy link
Author

01GOD commented Aug 6, 2024

Ah! Yes, it sounds out of tune.

@01GOD
Copy link
Author

01GOD commented Aug 6, 2024

Tried adding an LVGL GUI and, although it sounded better than when added a GUI to that other project, it was playing VERY slowly and the CPU was supposedly at about 98% constantly.

There is a way to make the synth run on one core and the GUI run on the other core? (without WIFI)

Oddly it still had that high CPU usage when the jukebox feature was stopped.

@01GOD
Copy link
Author

01GOD commented Aug 6, 2024

Would removing all the external MIDI portion or anything else non-essential lower the CPU usage a lot?

Vaguely pondering using a second ESP32, but that would maybe involve designing a dual MCU cap touch PCB. Sounds doable, although somewhat burly to make. Adding a tiny S3 such as the Seeed Xiao board and powering it from the other board's USB port seems to be an option though.

@copych
Copy link
Owner

copych commented Aug 6, 2024

Tried adding an LVGL GUI and, although it sounded better than when added a GUI to that other project, it was playing VERY slowly and the CPU was supposedly at about 98% constantly.

There is a way to make the synth run on one core and the GUI run on the other core? (without WIFI)

Oddly it still had that high CPU usage when the jukebox feature was stopped.

It's definitely possible to run it on selected cores, when using RTOS tasks

@01GOD
Copy link
Author

01GOD commented Aug 7, 2024

Looked at RTOS tasks some today and it seems putting a lot of tasks on second core would make it run much more efficiently on ESP32. Supposedly the "run arduino on core 0" means that ALL of the code in Arduino IDE runs on only that core. That obviously seems SO inefficient.

Here is a supposed example of multi-core tasks for assignment:
`// Task handle for the task to be created
TaskHandle_t Task1;

// Function to be called as a task
void Task1code( void * parameter ) {
for(;;) {
Serial.println("Task 1 is running on core " + String(xPortGetCoreID()));
delay(1000);
}
}

void setup() {
// Initialize serial communication
Serial.begin(115200);
// Create a task that will be executed in the Task1code() function, with priority 1, and executed on core 1
xTaskCreatePinnedToCore(
Task1code, /* Task function. /
"Task1", /
name of task. /
10000, /
Stack size of task /
NULL, /
parameter of the task /
1, /
priority of the task /
&Task1, /
Task handle to keep track of created task /
1); /
pin task to core 1 */
delay(500);
}

void loop() {
// Print which core the loop is running on
Serial.println("Arduino loop is running on core " + String(xPortGetCoreID()));
delay(1000);
}`

@copych
Copy link
Owner

copych commented Aug 7, 2024

Yes, correct, and actually you are not obliged to use Arduino loop(), you can kill it with vTaskDelete(NULL) like this

Loop() {
vTaskDelete(NULL);
}

There is also more advanced technique to manage tasks with so called event loops, which can help with balancing cores' load.

@01GOD
Copy link
Author

01GOD commented Aug 7, 2024

Yes, correct, and actually you are not obliged to use Arduino loop(), you can kill it with vTaskDelete(NULL) like this

Loop() {
vTaskDelete(NULL);
}

There is also more advanced technique to manage tasks with so called event loops, which can help with balancing cores' load.

Pondering if that or designing a dual ESP32 PCB is easier to get a GUI on some synths.

@copych
Copy link
Owner

copych commented Aug 7, 2024

Frankly speaking I would prefer RP2040 as a control mcu, cause it has all the USB host functions, while ESP32-S3's host abilities is still under development.

@01GOD
Copy link
Author

01GOD commented Aug 10, 2024

Frankly speaking I would prefer RP2040 as a control mcu, cause it has all the USB host functions, while ESP32-S3's host abilities is still under development.

Ah. So using an RP2040 as a synth makes MIDI control through USB from a computer easy? I assume that is what "USB host functions" would be for in that use case.

@copych
Copy link
Owner

copych commented Aug 10, 2024

Nope. When connecting to a PC, MCU acts as a USB device, not as a host. Host functionality makes it possible connecting USB MIDI keyboard to the MCU directly.

@01GOD
Copy link
Author

01GOD commented Aug 10, 2024

Nope. When connecting to a PC, MCU acts as a USB device, not as a host. Host functionality makes it possible connecting USB MIDI keyboard to the MCU directly.

OK, realized I had that concept backwards. Seems obvious that the computer with DAW would be "host" and a peripheral would be a "device".

So using an RP2040 as a synth makes MIDI control from a "USB host", such as a computer, easier than with an ESP32?

@copych
Copy link
Owner

copych commented Aug 10, 2024

ESP32 has that USB host ability no matter one or two connectors are present. But the library components are still under development and are quite raw i'd say.

@01GOD
Copy link
Author

01GOD commented Aug 10, 2024

ESP32 has that USB host ability no matter one or two connectors are present. But the library components are still under development and are quite raw i'd say.

Ah. So it's recommendable to use Arduino MIDI Library for making ESP32 synths that are controllable from a laptop DAW through MIDI over USB? (until the ESP32 library is completed enough)

@copych
Copy link
Owner

copych commented Aug 10, 2024

I'd do so

@01GOD
Copy link
Author

01GOD commented Aug 14, 2024

Ever tried putting the filter on an FPGA? Seems like that can be a nice solution to use with many different MCU. A diode ladder filter ASIC would be nice also. I made some SMT boards that had been posted on youtube, but the 2 that I made sadly didn't function yet (maybe because of chinese components though).

@copych
Copy link
Owner

copych commented Aug 14, 2024

FPGA and ASIC aren't yet my hobbies. Also this doesn't seem to be affordable, so a bit out of DIY theme.

@01GOD
Copy link
Author

01GOD commented Aug 16, 2024 via email

@copych
Copy link
Owner

copych commented Aug 16, 2024

The matter is that accordingly to Wiki, i2s stands for Inter-Integrated Circuit Sound and intended for transmitting two-channel digital audio as PCM between integrated circuit components. So in your case you'll first have to direct the i2s stream to FPGA filter and then back to ESP32, fully occupying one ESP's duplex i2s port, leaving the second port for output (in theory). I don't think that you need to invent something instead of i2s, cause AFAIK i2s ports of ESP32 are using hardware and DMA, so any alternatives would probably be less CPU effective. And maybe there's already some i2s implementation for Tang Nano (which really seems to be affordable).

@01GOD
Copy link
Author

01GOD commented Aug 17, 2024

The matter is that accordingly to Wiki, i2s stands for Inter-Integrated Circuit Sound and intended for transmitting two-channel digital audio as PCM between integrated circuit components. So in your case you'll first have to direct the i2s stream to FPGA filter and then back to ESP32, fully occupying one ESP's duplex i2s port, leaving the second port for output (in theory). I don't think that you need to invent something instead of i2s, cause AFAIK i2s ports of ESP32 are using hardware and DMA, so any alternatives would probably be less CPU effective. And maybe there's already some i2s implementation for Tang Nano (which really seems to be affordable).

Thanks for explaining that! Yes, after I saw full color tetris running with a gamepad on the lowest cost tang nano, I decided to get one.

@01GOD
Copy link
Author

01GOD commented Aug 18, 2024

By the way, it seems generally recommendable to make all of the secondary C and CPP and Header files (aside from the main .ino of a project) .c or .cpp or .h respectively, and declaring all the functions in a .h file for each. That overcomes the hassle of the Arduino compiler failing to include all the .ino files (as it has HORRIBLY been doing tonight, even after restarting it multiple times...sigh...). I think there are scripts for auto-generating header files.

By the way, tried PlatformIO yet? Wondering if it has less hassles and better reliability than the Arduino IDE. (Tired of setting board parameters in Tools menu every time I plug in same board and tired of having to restart that IDE because of it not finding .ino files in same dir and so on)

@copych
Copy link
Owner

copych commented Aug 18, 2024

It comes in its place once you get the logics of arduino :-/
All contents of header (.h, .hpp) files are globally visible once included, while [.ino] files are joined in alphabetical order before compiling and threated as a single [.cpp] file.
In [.h] files you include what you need to declare, and in [.c, .cpp, .ino] you include what you need to implement the declared.
About PlatformIO. I was excited when I first tried the thing, but after some usage I reverted to Arduino. The reasons are the following:

  1. People have problems with cloning projects in PlatformIO
  2. Instability. You may have successfully compile your project today, save it, but after a month has passed you may find a dozen of strange error messages, and it's not just wrong lib version...

@01GOD
Copy link
Author

01GOD commented Aug 20, 2024

It comes in its place once you get the logics of arduino :-/ All contents of header (.h, .hpp) files are globally visible once included, while [.ino] files are joined in alphabetical order before compiling and threated as a single [.cpp] file. In [.h] files you include what you need to declare, and in [.c, .cpp, .ino] you include what you need to implement the declared. About PlatformIO. I was excited when I first tried the thing, but after some usage I reverted to Arduino. The reasons are the following:

  1. People have problems with cloning projects in PlatformIO
  2. Instability. You may have successfully compile your project today, save it, but after a month has passed you may find a dozen of strange error messages, and it's not just wrong lib version...

Yesterday was VERY busy (so is today), so excuse the delay in replying. Yesterday THANKFULLY got the first functional MCU PCB design I have made functioning. That's an ESP32 S3 board, so I may hook up a DAC to it later (waiting for a replacement cap as some of the chinese caps seemed faulty) and plug in a knob and run one of these on that.

Thanks for that warning about PlatformIO! Hopefully it's much more stable and reliable recently. Tried the Expressif IDE also?

Basically what had happened in Arduino IDE was compiler said it couldn't find: synth1_generate(), although that was in an included .ino. That said, the .ino that is in is alphabetically AFTER the ino it was called from. But that usually compiled, so I don't know why it wasn't. There was some zigbee option causing compiler errors before that, so had deleted the arduino settings files and then that other compiler error happened a while after that (although some other things compiled).

Haven't done a lot of C++ programming and when made C++ specific-ish header files it was in Objective-C++, so don't think there were .hpp there. Had thought that .h files work with .cpp files also. Anyway, found a C headers generator script here (although bizarrely python wasn't already installed and then the installer wanted to install 15GB or so...blame apple, so I haven't tried that):
https://github.com/eriknyquist/cheaders

@copych
Copy link
Owner

copych commented Aug 20, 2024

On IDEs. I have tried Espressif IDE, but this was a nightmare when clean installed IDE just won't comple examples and won't even let you choose a target board. After some tribe dancing I cancelled and moved to VS Code (actually, PlatformIO and Arduino IDE 2.X are based on VS Code)
About the errors like you described, you can place an empty forward function declaration in the beginning before the first call, if you are sure that you have an implementation somewhere in the project.

@01GOD
Copy link
Author

01GOD commented Aug 20, 2024

On IDEs. I have tried Espressif IDE, but this was a nightmare when clean installed IDE just won't comple examples and won't even let you choose a target board. After some tribe dancing I cancelled and moved to VS Code (actually, PlatformIO and Arduino IDE 2.X are based on VS Code) About the errors like you described, you can place an empty forward function declaration in the beginning before the first call, if you are sure that you have an implementation somewhere in the project.

Right, adding a quick declaration instead of a header file. That can be alright for getting things functioning.

Ah, didn't know it's based on VS Code. By the way, today saw posts about USB MIDI host mode on: touchgadget/esp32-usb-host-demos#1

Is that USB host code for S3 boards already included in AcidBox now?

@copych
Copy link
Owner

copych commented Aug 20, 2024

Nope, I haven't succeeded with getting the example to work, so I postponed adding the USB host to the AcidBox. Also I am not sure that we have enough CPU cycles left to fit these routines, so I'm gonna test it someday again.

@01GOD
Copy link
Author

01GOD commented Aug 20, 2024

Nope, I haven't succeeded with getting the example to work, so I postponed adding the USB host to the AcidBox. Also I am not sure that we have enough CPU cycles left to fit these routines, so I'm gonna test it someday again.

Ah, tried it also? I should notify that repo about the specifics of those issues...oh wait, there weren't many specifics...aside from the TX light turning on after it was loaded.

By the way, using only one bass synth to have MUCH better performance and CPU space is totally reasonable to do. Can add an easy #define flag for that option.

@copych
Copy link
Owner

copych commented Aug 23, 2024

Additional info, AFAIK PlatformIO cancelles support for the new ESP Arduino core.

@01GOD
Copy link
Author

01GOD commented Aug 23, 2024 via email

@copych
Copy link
Owner

copych commented Aug 23, 2024

Closing. Feel free to re-open.

@copych copych closed this as completed Aug 23, 2024
@01GOD
Copy link
Author

01GOD commented Aug 24, 2024 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants