"reference to 'sample' is ambiguous " from teensy sample flashloader example

charnjit

Well-known member
as try to sample load to PSRAM , i got this library from library manager.
documation page is this by newdigate.
as i open built in example with no my editing in sketch
C++:
#include <Arduino.h>
#include <SD.h>
#include <Audio.h>
#include <TeensyVariablePlayback.h>
#include "flashloader.h"

// GUItool: begin automatically generated code
AudioPlayArrayResmp      rraw_a1;        //xy=321,513
AudioOutputI2S           i2s1;           //xy=675,518
AudioConnection          patchCord1(rraw_a1, 0, i2s1, 0);
AudioConnection          patchCord2(rraw_a1, 0, i2s1, 1);
AudioControlSGTL5000     sgtl5000_1;     //xy=521,588
// GUItool: end automatically generated code

unsigned long lastSamplePlayed = 0;
newdigate::audiosample *sample;

void setup() {
    Serial.begin(9600);
    AudioMemory(20);
    sgtl5000_1.enable();
    sgtl5000_1.volume(0.5f, 0.5f);
    
    rraw_a1.enableInterpolation(true);

    Serial.print("Initializing SD card...");
    while (!SD.begin(BUILTIN_SDCARD)) {
      Serial.println("initialization failed!");
      delay(1000);
    }
    Serial.println("initialization done.");

    newdigate::flashloader loader;
                 sample = loader.loadSample("KICK.RAW");
}

const int numChannels = 1; // 1 for mono, 2 for stereo...

void loop() {
    unsigned currentMillis = millis();
    if (currentMillis > lastSamplePlayed + 500) {
        if (!rraw_a1.isPlaying()) {
            rraw_a1.playRaw(sample->sampledata, sample->samplesize/2, numChannels);
            lastSamplePlayed = currentMillis;

            Serial.print("Memory: ");
            Serial.print(AudioMemoryUsage());
            Serial.print(",");
            Serial.print(AudioMemoryUsageMax());
            Serial.println();
        }
    }
    delay(10);
}
recieved this error in orange colour text
Code:
Teensy_41_with_PSRAM:34: error: reference to 'sample' is ambiguous
   34 |                  sample = loader.loadSample("KICK.RAW");
      |                  ^~~~~~
In file included from c:\program files\arduino\hardware\tools\arm\arm-none-eabi\include\c++\11.3.1\functional:65,
                 from C:\Program Files\Arduino\hardware\teensy\avr\cores\teensy4/inplace_function.h:36,
                 from C:\Program Files\Arduino\hardware\teensy\avr\cores\teensy4/WProgram.h:51,
                 from C:\Users\acer\AppData\Local\Temp\arduino_build_160788\pch\Arduino.h:6:
c:\program files\arduino\hardware\tools\arm\arm-none-eabi\include\c++\11.3.1\bits\stl_algo.h:5845:5: note: candidates are: 'template<class _PopulationIterator, class _SampleIterator, class _Distance, class _UniformRandomBitGenerator> _SampleIterator std::sample(_PopulationIterator, _PopulationIterator, _SampleIterator, _Distance, _UniformRandomBitGenerator&&)'
 5845 |     sample(_PopulationIterator __first, _PopulationIterator __last,
      |     ^~~~~~
C:\Users\acer\Documents\Arduino\Teensy_41_with_PSRAM\Teensy_41_with_PSRAM.ino:16:25: note:                 'newdigate::audiosample* sample'
   16 | newdigate::audiosample *sample;
      |                         ^~~~~~
Teensy_41_with_PSRAM: In function 'void loop()':
Teensy_41_with_PSRAM:43: error: reference to 'sample' is ambiguous
   43 |             rraw_a1.playRaw(sample->sampledata, sample->samplesize/2, numChannels);
      |                             ^~~~~~
In file included from c:\program files\arduino\hardware\tools\arm\arm-none-eabi\include\c++\11.3.1\functional:65,
                 from C:\Program Files\Arduino\hardware\teensy\avr\cores\teensy4/inplace_function.h:36,
                 from C:\Program Files\Arduino\hardware\teensy\avr\cores\teensy4/WProgram.h:51,
                 from C:\Users\acer\AppData\Local\Temp\arduino_build_160788\pch\Arduino.h:6:
c:\program files\arduino\hardware\tools\arm\arm-none-eabi\include\c++\11.3.1\bits\stl_algo.h:5845:5: note: candidates are: 'template<class _PopulationIterator, class _SampleIterator, class _Distance, class _UniformRandomBitGenerator> _SampleIterator std::sample(_PopulationIterator, _PopulationIterator, _SampleIterator, _Distance, _UniformRandomBitGenerator&&)'
 5845 |     sample(_PopulationIterator __first, _PopulationIterator __last,
      |     ^~~~~~
C:\Users\acer\Documents\Arduino\Teensy_41_with_PSRAM\Teensy_41_with_PSRAM.ino:16:25: note:                 'newdigate::audiosample* sample'
   16 | newdigate::audiosample *sample;
      |                         ^~~~~~
Teensy_41_with_PSRAM:43: error: reference to 'sample' is ambiguous
   43 |             rraw_a1.playRaw(sample->sampledata, sample->samplesize/2, numChannels);
      |                                                 ^~~~~~
In file included from c:\program files\arduino\hardware\tools\arm\arm-none-eabi\include\c++\11.3.1\functional:65,
                 from C:\Program Files\Arduino\hardware\teensy\avr\cores\teensy4/inplace_function.h:36,
                 from C:\Program Files\Arduino\hardware\teensy\avr\cores\teensy4/WProgram.h:51,
                 from C:\Users\acer\AppData\Local\Temp\arduino_build_160788\pch\Arduino.h:6:
c:\program files\arduino\hardware\tools\arm\arm-none-eabi\include\c++\11.3.1\bits\stl_algo.h:5845:5: note: candidates are: 'template<class _PopulationIterator, class _SampleIterator, class _Distance, class _UniformRandomBitGenerator> _SampleIterator std::sample(_PopulationIterator, _PopulationIterator, _SampleIterator, _Distance, _UniformRandomBitGenerator&&)'
 5845 |     sample(_PopulationIterator __first, _PopulationIterator __last,
      |     ^~~~~~
C:\Users\acer\Documents\Arduino\Teensy_41_with_PSRAM\Teensy_41_with_PSRAM.ino:16:25: note:                 'newdigate::audiosample* sample'
   16 | newdigate::audiosample *sample;
      |                         ^~~~~~
In file included from C:\Users\acer\Documents\Arduino\libraries\TeensyVariablePlayback\src/IndexableSDFile.h:5,
                 from C:\Users\acer\Documents\Arduino\libraries\TeensyVariablePlayback\src/ResamplingSdReader.h:13,
                 from C:\Users\acer\Documents\Arduino\libraries\TeensyVariablePlayback\src/TeensyVariablePlayback.h:9,
                 from C:\Users\acer\Documents\Arduino\Teensy_41_with_PSRAM\Teensy_41_with_PSRAM.ino:4:
C:\Users\acer\Documents\Arduino\libraries\TeensyVariablePlayback\src/IndexableFile.h: In instantiation of 'newdigate::IndexableFile<BUFFER_SIZE, MAX_NUM_BUFFERS, TFile>::IndexableFile(const char*) [with unsigned int BUFFER_SIZE = 128; unsigned int MAX_NUM_BUFFERS = 4; TFile = File]':
C:\Users\acer\Documents\Arduino\libraries\TeensyVariablePlayback\src/IndexableSDFile.h:17:66:   required from 'newdigate::IndexableSDFile<BUFFER_SIZE, MAX_NUM_BUFFERS>::IndexableSDFile(const char*) [with unsigned int BUFFER_SIZE = 128; unsigned int MAX_NUM_BUFFERS = 4]'
C:\Users\acer\Documents\Arduino\libraries\TeensyVariablePlayback\src/ResamplingSdReader.h:62:53:   required from here
and
Code:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    at org.fife.ui.rsyntaxtextarea.TokenMakerBase.addNullToken(TokenMakerBase.java:80)
    at org.fife.ui.rsyntaxtextarea.modes.CPlusPlusTokenMaker.yylex(CPlusPlusTokenMaker.java:2251)
    at org.fife.ui.rsyntaxtextarea.modes.CPlusPlusTokenMaker.getTokenList(CPlusPlusTokenMaker.java:1919)
    at org.fife.ui.rsyntaxtextarea.RSyntaxDocument.getTokenListForLine(RSyntaxDocument.java:431)
    at org.fife.ui.rsyntaxtextarea.SyntaxView.getLineWidth(SyntaxView.java:306)
    at org.fife.ui.rsyntaxtextarea.SyntaxView.calculateLongestLine(SyntaxView.java:110)
    at org.fife.ui.rsyntaxtextarea.RSyntaxTextArea.refreshFontMetrics(RSyntaxTextArea.java:2106)
    at org.fife.ui.rsyntaxtextarea.RSyntaxTextArea.setFont(RSyntaxTextArea.java:2545)
    at processing.app.EditorTab.applyPreferences(EditorTab.java:333)
    at processing.app.Editor.lambda$selectTab$52(Editor.java:1473)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
    at java.awt.EventQueue.access$500(EventQueue.java:97)
    at java.awt.EventQueue$3.run(EventQueue.java:709)
    at java.awt.EventQueue$3.run(EventQueue.java:703)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
reference to 'sample' is ambiguous
if need to see full error report , this is in Attachments a txt file.
Arduino IDE 1.8.19 is used
as my knowledge i could not understand it ..
error found in built in example. what missing is indicate from error info,,,???
 

Attachments

  • flash_loader error.txt
    237.5 KB · Views: 5
Back
Top