Samples/Wavetables With Certain Filenames Are Ignored, Some Characters Are Displayed Incorrectly

Bug Description

  1. Samples with a length (including extension, but not the full path) of 80 characters or more simply don’t show up in the sample selector. Other characters like “ä” are displayed as a white square.

Steps to Reproduce

  1. Rename a sample to 79-😀45678901234567890123456789012345678901234567890123456789012345678901234.wav
  2. Rename another sample to 80-3456789012345678901234567890123456789012345678901234567890123456789123456.wav
  3. Rename another sample to 79-ä45678901234567890123456789012345678901234567890123456789012345678901234.wav
  4. Rename another sample to 79-345678901234567890123456789012345678901234567890123456789012345678901234.wav
  5. Change the engine to grains and select a sample, you’ll only see the last two, and one has a white square where the “ä” would be.

Occurrence / Frequency

Always

Found in Firmware

  • Version: 1.0.1
  • Build: 1459

Attachments

Here’s more information about related behavior in scenes and presets:

I did not file that as a bug, because nobody’s going to run into that anyway. Might still be a good idea to reuse the code that truncates scene names on disk to 31 characters :wink:

Some observations based on your findings:

Assuming that filenames can be up to 80 characters long. I’m guessing Long File Name (LFN) support is available (which would support filenames up to 255 chars).

Obviously that’s kinda pointless because the max full filepath limitation is still 260 characters.

So as we discussed in the other topic, most likely there is some code that limits filename lengths.

German Umlauts not displaying correctly could either mean that the system is not fully unicode-aware, uses a wrong encoding or it’s just purely absent in the fonts that Polyend uses.

I’ll report back once we know the actual behaviour and limitations.

And probably the easiest solution to this is to clearly document this is the manual so people are aware of the filename limitations and which chars they are allowed to use (or not use).

1 Like