I have made a portable MP3 player as discussed in the previous posts.
My project has been working very well over the last year. I have fixed bugs and added a few more features such as repeat song and repeat album. Everything compiled and loaded - no problem. In the last week a problem while compiling has developed.
Background:
- I am using a Teensy 4.0 and Audio Shield
- I am using the Arduino IDE and Teensy addon with a Ubuntu laptop.
- I am using the FrankBoesing / Arduino-Teensy-Codec-lib
- I occasionally saved backups of working versions of the program.
- Last night I updated the Arduino IDE - no help
- Last night I reloaded the AudioCodec files - no help
Problem:
I have been adding features to the program such as Repeat Song and Repeat Album and fixing bugs as they popup. Everything has been compiling nicely and downloading to the hardware without a problem.
"All of a sudden" I've started to get compiler errors related to the AudioCodec files.
The problem occurred when I created a new version of the program, MP3PLAYER1, using the File Save As command and then renamed the program, MP3PLAYER2. When I compiled MP3PLAYER2 the problem occurred. I then went back to MP3PLAYER1 and now it has the problem.
I moved the program to a Windows computer - same errors.
I reload older versions of MP3PLAYER1 ( a few days and a few weeks older) same problem on both computers.
Here is a copy of the error message.
******************************************************************************************************************
In file included from c:\Users\Forest Shick\Documents\Arduino\libraries\Arduino-Teensy-Codec-lib-master\play_sd_flac.h:43,
from c:\Users\Forest Shick\Documents\Arduino\libraries\Arduino-Teensy-Codec-lib-master\play_sd_flac.cpp:36:
c:\Users\Forest Shick\Documents\Arduino\libraries\Arduino-Teensy-Codec-lib-master\audiobuffer.h:42:7: error: redefinition of 'class AudioBuffer'
42 | class AudioBuffer
| ^~~~~~~~~~~
In file included from C:\Users\Forest Shick\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\Audio/play_wav_buffered.h:34,
from C:\Users\Forest Shick\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\Audio/Audio.h:130,
from c:\Users\Forest Shick\Documents\Arduino\libraries\Arduino-Teensy-Codec-lib-master\audiobuffer.h:40,
from c:\Users\Forest Shick\Documents\Arduino\libraries\Arduino-Teensy-Codec-lib-master\play_sd_flac.h:43,
from c:\Users\Forest Shick\Documents\Arduino\libraries\Arduino-Teensy-Codec-lib-master\play_sd_flac.cpp:36:
C:\Users\Forest Shick\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\Audio/AudioBuffer.h:117:7: note: previous definition of 'class AudioBuffer'
117 | class AudioBuffer : public MemBuffer
| ^~~~~~~~~~~
c:\Users\Forest Shick\Documents\Arduino\libraries\Arduino-Teensy-Codec-lib-master\play_sd_flac.cpp: In function 'FLAC__StreamDecoderWriteStatus write_callback(const FLAC__StreamDecoder*, const FLAC__Frame*, const FLAC__int32* const*, void*)':
c:\Users\Forest Shick\Documents\Arduino\libraries\Arduino-Teensy-Codec-lib-master\play_sd_flac.cpp:283:31: error: 'class AudioBuffer' has no member named 'getBufsize'; did you mean 'bufSize'?
283 | if (obj->audiobuffer->getBufsize() == 0)
| ^~~~~~~~~~
| bufSize
c:\Users\Forest Shick\Documents\Arduino\libraries\Arduino-Teensy-Codec-lib-master\play_sd_flac.cpp:286:35: error: 'class AudioBuffer' has no member named 'allocMem'
286 | obj->audiobuffer->allocMem(FLAC_BUFFERS(numbuffers));
| ^~~~~~~~
c:\Users\Forest Shick\Documents\Arduino\libraries\Arduino-Teensy-Codec-lib-master\play_sd_flac.cpp:293:35: error: 'class AudioBuffer' has no member named 'available'; did you mean 'getAvailable'?
293 | obj->audiobuffer->available() < numbuffers
| ^~~~~~~~~
| getAvailable
c:\Users\Forest Shick\Documents\Arduino\libraries\Arduino-Teensy-Codec-lib-master\play_sd_flac.cpp:314:70: error: 'class AudioBuffer' has no member named 'alloc'
314 | int16_t *abufPtr = obj->audiobuffer->alloc();
| ^~~~~
c:\Users\Forest Shick\Documents\Arduino\libraries\Arduino-Teensy-Codec-lib-master\play_sd_flac.cpp:336:70: error: 'class AudioBuffer' has no member named 'alloc'
336 | int16_t *abufPtr = obj->audiobuffer->alloc();
| ^~~~~
c:\Users\Forest Shick\Documents\Arduino\libraries\Arduino-Teensy-Codec-lib-master\play_sd_flac.cpp:358:70: error: 'class AudioBuffer' has no member named 'alloc'
358 | int16_t *abufPtr = obj->audiobuffer->alloc();
| ^~~~~
c:\Users\Forest Shick\Documents\Arduino\libraries\Arduino-Teensy-Codec-lib-master\play_sd_flac.cpp: In member function 'virtual void AudioPlaySdFlac::update()':
c:\Users\Forest Shick\Documents\Arduino\libraries\Arduino-Teensy-Codec-lib-master\play_sd_flac.cpp:386:43: error: 'class AudioBuffer' has no member named 'used'
386 | if (_channels > 0 && audiobuffer->used() >= _channels)
| ^~~~
c:\Users\Forest Shick\Documents\Arduino\libraries\Arduino-Teensy-Codec-lib-master\play_sd_flac.cpp:397:58: error: 'class AudioBuffer' has no member named 'get'
397 | int16_t *abufptrL = audiobuffer->get();
| ^~~
c:\Users\Forest Shick\Documents\Arduino\libraries\Arduino-Teensy-Codec-lib-master\play_sd_flac.cpp:398:58: error: 'class AudioBuffer' has no member named 'get'
398 | int16_t *abufptrR = audiobuffer->get();
| ^~~
c:\Users\Forest Shick\Documents\Arduino\libraries\Arduino-Teensy-Codec-lib-master\play_sd_flac.cpp:410:58: error: 'class AudioBuffer' has no member named 'get'
410 | int16_t *abufptrL = audiobuffer->get();
| ^~~
c:\Users\Forest Shick\Documents\Arduino\libraries\Arduino-Teensy-Codec-lib-master\play_sd_flac.cpp:438:26: error: 'class AudioBuffer' has no member named 'getBufsize'; did you mean 'bufSize'?
438 | if (audiobuffer->getBufsize() > 0 && audiobuffer->available() < minbuffers) return;
| ^~~~~~~~~~
| bufSize
c:\Users\Forest Shick\Documents\Arduino\libraries\Arduino-Teensy-Codec-lib-master\play_sd_flac.cpp:438:59: error: 'class AudioBuffer' has no member named 'available'; did you mean 'getAvailable'?
438 | if (audiobuffer->getBufsize() > 0 && audiobuffer->available() < minbuffers) return;
| ^~~~~~~~~
| getAvailable
*******************************************************************************************************************
I do not know where to begin to attack this problem, especially since the first error in the list is related to play_sd_flac.h which I don't believe is used anywhere - I just used play_sd_mp3.h.
The error first occurred when I created MP3PLAYER2 and then occurred in the original version ,MP3PLAYER1 and now occurs in the backup versions of MP3PLAYER1.
Any suggestions would be appreciated.
Thank You,
Forest