Skip to content

Waldorf Quantum/Iridium: add a Sample location option for QPAT sample paths#158

Open
douglas-carmichael wants to merge 1 commit into
git-moss:mainfrom
douglas-carmichael:fix-qpat-sample-path-drive
Open

Waldorf Quantum/Iridium: add a Sample location option for QPAT sample paths#158
douglas-carmichael wants to merge 1 commit into
git-moss:mainfrom
douglas-carmichael:fix-qpat-sample-path-drive

Conversation

@douglas-carmichael

@douglas-carmichael douglas-carmichael commented Jun 28, 2026

Copy link
Copy Markdown
Contributor

Problem

A QPAT preset created by ConvertWithMoss and placed on the SD card of a Quantum/Iridium does not load its samples automatically — the device shows the "Find Sample Map" screen and asks you to locate the samples by hand. On a busy patch, that manual resolution can also noticeably tax the CPU.

Cause

Each sample-map path is written with a leading drive number that tells the device which drive physically holds the samples (it copies them into internal memory when the preset is loaded). This was hard-coded to 4:. On the Iridium (OS 4) the drives are 2: = SD card, 3: = internal memory, 4: = USB drive — so the hard-coded 4: only resolves for samples placed on a USB drive, and a samples folder on the SD card is never found.

So the original 4: was correct for USB users; it only ever broke SD-card users. Changing it to another single hard-coded prefix would just move the breakage to the other group — hence an option rather than a different fixed value.

Fix

Add a "Sample location" option to the creator — SD card (the new default), USB drive, or internal memory — which selects the drive number written in front of the sample paths. Copy the preset together with its samples sub-folder to the matching drive and it loads automatically; the device copies the samples into internal memory.

  • GUI: a drop down under the Waldorf QPAT options.
  • CLI: -p QPATSampleLocation=2|3|4 (2 = SD card, 3 = internal memory, 4 = USB drive).

Reading is unaffected — the detector already strips any N: drive prefix. The CHANGELOG and the format documentation (a new "Loading the result on the device" note) are updated to match.

The drive numbers were hardware-confirmed on an Iridium (OS 4.0.5); they may differ on the Quantum or other firmware, which is exactly why the value is user-selectable rather than hard-coded.

@douglas-carmichael

douglas-carmichael commented Jun 28, 2026

Copy link
Copy Markdown
Contributor Author

[Corrected] The hardware result in this comment was a false positive — the samples were already in internal memory from an earlier test — and the 3: fix here is wrong. See my updated comment below for the verified drive map (2: SD card, 3: internal, 4: USB) and the reworked fix.

…prefix

The sample-map paths embedded in a created preset are prefixed with a
device drive number that tells the Quantum/Iridium which drive holds the
samples (it copies them into internal memory when the preset is loaded).
This was hard-coded to 4: (USB drive), so a preset placed on the SD card
showed the "Find Sample Map" screen and the samples had to be located by
hand.

Add a "Sample location" drop down (SD card / USB drive / internal memory)
and a matching CLI parameter (QPATSampleLocation=2|3|4) that selects the
prefix; the default is now the SD card (2:). Hardware-confirmed on the
Iridium (OS 4): 2: = SD card, 3: = internal memory, 4: = USB drive.

Reading is unaffected (the detector already strips any drive prefix).
CHANGELOG and format documentation updated.
@douglas-carmichael douglas-carmichael force-pushed the fix-qpat-sample-path-drive branch from 62f43e1 to 583feff Compare June 29, 2026 00:19
@douglas-carmichael douglas-carmichael changed the title Waldorf Quantum/Iridium: reference internal memory (3:) in QPAT sample paths Waldorf Quantum/Iridium: add a Sample location option for QPAT sample paths Jun 29, 2026
@douglas-carmichael

Copy link
Copy Markdown
Contributor Author

Correction to my earlier comment — that first "clean import" was a false positive (the samples were already in the Iridium's internal memory from a prior test). I've since tested properly on my Iridium (OS 4.0.5): 3: is not the fix, and the drive map in the original description was wrong. Verified on hardware: 2: = SD card, 3: = internal memory, 4: = USB drive. The original 4: was correct for USB and only ever broke SD-card users.

@git-moss — this has to be fixed, and not as a nice-to-have. Every QPAT written to an SD card today is broken on load: the device cannot resolve its own samples and drops you into a manual "Find Sample Map" hunt on every single preset. That alone is a UX failure — but the bigger issue is performance. Sample-map resolution runs on the same CPU that is playing voices, so on a busy patch that forced lookup competes with the audio engine and can make it choke. A sampler that stutters when you load a card-based patch is a hardware-performance bug, not a cosmetic one.

I have reworked this PR to fix it at the source: a "Sample location" option (SD card / USB drive / internal memory, default SD) that writes the correct drive prefix, plus a CLI parameter — all tested on hardware across the three settings. This should go into the next release. Tell me what you would like changed.

@git-moss

Copy link
Copy Markdown
Owner

@douglas-carmichael I was in dicsussion with Waldorf about this and they even did not have an answer. One would expect that if a sound is imported, that the importer would adjust that.

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

Successfully merging this pull request may close these issues.

2 participants