I like the work of XTronical, too sad there is little attention on most libs for newer chips like the S3.
While his example based on #include <driver/i2s.h> does work, the lib doesn't compile for the S3.
Looks like I need to find out how to play different samples with the non-lib version meanwhile...
C:\Arduino\libraries\XT_I2S_audio\XT_I2S_Audio_orig.cpp: In member function 'void XT_Instrument_Class::SetWaveForm(uint8_t)':
C:\Arduino\libraries\XT_I2S_audio\XT_I2S_Audio_orig.cpp:647:18: error: deleting object of polymorphic class type 'XT_Wave_Class' which has non-virtual destructor might cause undefined behavior [-Werror=delete-non-virtual-dtor]
delete (WaveForm); // free any previous memory for a previous waveform
^
C:\Arduino\libraries\XT_I2S_audio\XT_I2S_Audio_orig.cpp: In member function 'virtual void XT_Instrument_Class::NextSample(int16_t*, int16_t*)':
C:\Arduino\libraries\XT_I2S_audio\XT_I2S_Audio_orig.cpp:705:10: error: unused variable 'ByteToPlay' [-Werror=unused-variable]
uint8_t ByteToPlay;
^~~~~~~~~~
C:\Arduino\libraries\XT_I2S_audio\XT_I2S_Audio_orig.cpp: In constructor 'XT_I2S_Class::XT_I2S_Class(uint8_t, uint8_t, uint8_t, i2s_port_t)':
C:\Arduino\libraries\XT_I2S_audio\XT_I2S_Audio_orig.cpp:866:60: warning: 'I2S_COMM_FORMAT_I2S' is deprecated [-Wdeprecated-declarations]
i2s_config.communication_format = (i2s_comm_format_t)(I2S_COMM_FORMAT_I2S | I2S_COMM_FORMAT_I2S_MSB);
^~~~~~~~~~~~~~~~~~~
In file included from C:\Users\default\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.14/tools/sdk/esp32s3/include/driver/include/driver/i2s.h:16,
from C:\Arduino\libraries\XT_I2S_audio/XT_I2S_Audio.h:13,
from C:\Arduino\libraries\XT_I2S_audio\XT_I2S_Audio_orig.cpp:9:
C:\Users\default\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.14/tools/sdk/esp32s3/include/hal/include/hal/i2s_types.h:87:5: note: declared here
I2S_COMM_FORMAT_I2S __attribute__((deprecated)) = 0x01, /*!< I2S communication format I2S, correspond to `I2S_COMM_FORMAT_STAND_I2S`*/
^~~~~~~~~~~~~~~~~~~
C:\Arduino\libraries\XT_I2S_audio\XT_I2S_Audio_orig.cpp:866:82: warning: 'I2S_COMM_FORMAT_I2S_MSB' is deprecated [-Wdeprecated-declarations]
i2s_config.communication_format = (i2s_comm_format_t)(I2S_COMM_FORMAT_I2S | I2S_COMM_FORMAT_I2S_MSB);
^~~~~~~~~~~~~~~~~~~~~~~
In file included from C:\Users\default\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.14/tools/sdk/esp32s3/include/driver/include/driver/i2s.h:16,
from C:\Arduino\libraries\XT_I2S_audio/XT_I2S_Audio.h:13,
from C:\Arduino\libraries\XT_I2S_audio\XT_I2S_Audio_orig.cpp:9:
C:\Users\default\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.14/tools/sdk/esp32s3/include/hal/include/hal/i2s_types.h:88:5: note: declared here
I2S_COMM_FORMAT_I2S_MSB __attribute__((deprecated)) = 0x01, /*!< I2S format MSB, (I2S_COMM_FORMAT_I2S |I2S_COMM_FORMAT_I2S_MSB) correspond to `I2S_COMM_FORMAT_STAND_I2S`*/
^~~~~~~~~~~~~~~~~~~~~~~
C:\Arduino\libraries\XT_I2S_audio\XT_I2S_Audio.cpp: In member function 'void XT_Instrument_Class::SetWaveForm(uint8_t)':
C:\Arduino\libraries\XT_I2S_audio\XT_I2S_Audio.cpp:647:18: error: deleting object of polymorphic class type 'XT_Wave_Class' which has non-virtual destructor might cause undefined behavior [-Werror=delete-non-virtual-dtor]
delete (WaveForm); // free any previous memory for a previous waveform
^
C:\Arduino\libraries\XT_I2S_audio\XT_I2S_Audio.cpp: In member function 'virtual void XT_Instrument_Class::NextSample(int16_t*, int16_t*)':
C:\Arduino\libraries\XT_I2S_audio\XT_I2S_Audio.cpp:705:10: error: unused variable 'ByteToPlay' [-Werror=unused-variable]
uint8_t ByteToPlay;
^~~~~~~~~~
C:\Arduino\libraries\XT_I2S_audio\XT_I2S_Audio.cpp: In constructor 'XT_I2S_Class::XT_I2S_Class(uint8_t, uint8_t, uint8_t, i2s_port_t)':
C:\Arduino\libraries\XT_I2S_audio\XT_I2S_Audio.cpp:866:60: warning: 'I2S_COMM_FORMAT_I2S' is deprecated [-Wdeprecated-declarations]
i2s_config.communication_format = (i2s_comm_format_t)(I2S_COMM_FORMAT_I2S | I2S_COMM_FORMAT_I2S_MSB);
^~~~~~~~~~~~~~~~~~~
In file included from C:\Users\default\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.14/tools/sdk/esp32s3/include/driver/include/driver/i2s.h:16,
from C:\Arduino\libraries\XT_I2S_audio/XT_I2S_Audio.h:13,
from C:\Arduino\libraries\XT_I2S_audio\XT_I2S_Audio.cpp:9:
C:\Users\default\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.14/tools/sdk/esp32s3/include/hal/include/hal/i2s_types.h:87:5: note: declared here
I2S_COMM_FORMAT_I2S __attribute__((deprecated)) = 0x01, /*!< I2S communication format I2S, correspond to `I2S_COMM_FORMAT_STAND_I2S`*/
^~~~~~~~~~~~~~~~~~~
C:\Arduino\libraries\XT_I2S_audio\XT_I2S_Audio.cpp:866:82: warning: 'I2S_COMM_FORMAT_I2S_MSB' is deprecated [-Wdeprecated-declarations]
i2s_config.communication_format = (i2s_comm_format_t)(I2S_COMM_FORMAT_I2S | I2S_COMM_FORMAT_I2S_MSB);
^~~~~~~~~~~~~~~~~~~~~~~
In file included from C:\Users\default\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.14/tools/sdk/esp32s3/include/driver/include/driver/i2s.h:16,
from C:\Arduino\libraries\XT_I2S_audio/XT_I2S_Audio.h:13,
from C:\Arduino\libraries\XT_I2S_audio\XT_I2S_Audio.cpp:9:
C:\Users\default\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.14/tools/sdk/esp32s3/include/hal/include/hal/i2s_types.h:88:5: note: declared here
I2S_COMM_FORMAT_I2S_MSB __attribute__((deprecated)) = 0x01, /*!< I2S format MSB, (I2S_COMM_FORMAT_I2S |I2S_COMM_FORMAT_I2S_MSB) correspond to `I2S_COMM_FORMAT_STAND_I2S`*/
^~~~~~~~~~~~~~~~~~~~~~~
cc1plus.exe: some warnings being treated as errors
I like the work of XTronical, too sad there is little attention on most libs for newer chips like the S3. While his example based on #include <driver/i2s.h> does work, the lib doesn't compile for the S3. Looks like I need to find out how to play different samples with the non-lib version meanwhile...