Skip to content

Show the contents of every source format, not only of banks and disk images - #293

Merged
git-moss merged 2 commits into
git-moss:mainfrom
douglas-carmichael:contents-all-formats
Jul 31, 2026
Merged

git-moss merged 2 commits into
git-moss:mainfrom
douglas-carmichael:contents-all-formats

Conversation

@douglas-carmichael

Copy link
Copy Markdown
Contributor

The Contents... dialog is just as useful for a folder of files which each hold one preset as it is for a bank: it lists the preset names stored inside the files - which are not necessarily the names of the files - with their zones, key ranges and categories, everything can be auditioned before converting, and the conversion afterwards only reads the files of the ticked presets. The hard-coded list of multi-preset formats is therefore gone and the button is shown for every source format.

The tree grew a level for this: the folders below the source folder come first, then the file - but only when it holds more than the one preset, otherwise a folder of presets would be doubled by a one-child folder per file - then the containers inside of the file. The folders were part of the container path before and rendered below the file of a preset instead of above it. A preset which is named differently than its file additionally shows the file name in its row, so the two can still be matched.

This surfaced a real defect: the Sample Files format reports a folder as the source of a multi-sample, so a selection made in the Contents dialog converted nothing - the conversion ran the folder through the file detection, which filters by file ending, and finished with an empty output. AbstractDetector now detects a folder-shaped source as a folder, which also makes the audition work for it.

Measured with the harness reproducing the dialog's tree plus a real conversion of the selection:

Source Contents run Selection
Elektron Tonverk factory library (175 .tvpst) 175 presets, 6.5 s, grouped under their folder 4 ticked → 4 written, 177 ms, unticked files not read
Synthstrom Deluge pack (nested folders) 46 presets, 0.2 s -
1206 loose WAVs (Sample Files) 81 multisamples, 1.0 s 1 ticked → 1 written (0 before the fix)
SF2 banks in sub-folders 242 presets, folder → file → preset 3 ticked across 2 banks → 3 written
E-mu EIII CD image (regression) 1255 presets, 1.1 s, image → bank → preset unchanged -

Re-reading every entry through the audition path and comparing with the contents run: 175/175 Tonverk, 46/46 Deluge, 2/2 Sample Files - 0 mismatches, 0 unreadable.

douglas-carmichael and others added 2 commits July 31, 2026 10:00
…images

The Contents dialog was limited to the formats where one file holds several
presets. It is just as useful for a folder of files which each hold one preset -
e.g. Elektron Tonverk or Synthstrom Deluge presets - since it lists the preset
names stored inside of the files, their zones, key ranges and categories, and
allows to listen to them before converting. The list of multi-preset formats is
therefore gone and the button is shown for every source format.

The tree grew a level for this: the folders below the source folder come first,
then the file - but only if it holds more than the one preset, otherwise a
folder of presets would be doubled by a folder per file - then the containers
inside of the file. The folders were part of the container path before and
therefore ended up *below* the file of a preset instead of above it. A preset
which is named differently than its file shows the file name as well, so that it
can still be told apart.

A format whose preset is not a file at all - the sample files of a folder become
one multi-sample - reports its folder as the source file. Selecting such a
preset read nothing, since the detection ran the folder through the file
detection which filters by file ending. Folders are now detected as folders.
@git-moss
git-moss merged commit b432d31 into git-moss:main Jul 31, 2026
@douglas-carmichael
douglas-carmichael deleted the contents-all-formats branch August 4, 2026 09:45
git-moss added a commit that referenced this pull request Sep 25, 2026
…images (#293)

The Contents dialog was limited to the formats where one file holds several
presets. It is just as useful for a folder of files which each hold one preset -
e.g. Elektron Tonverk or Synthstrom Deluge presets - since it lists the preset
names stored inside of the files, their zones, key ranges and categories, and
allows to listen to them before converting. The list of multi-preset formats is
therefore gone and the button is shown for every source format.

The tree grew a level for this: the folders below the source folder come first,
then the file - but only if it holds more than the one preset, otherwise a
folder of presets would be doubled by a folder per file - then the containers
inside of the file. The folders were part of the container path before and
therefore ended up *below* the file of a preset instead of above it. A preset
which is named differently than its file shows the file name as well, so that it
can still be told apart.

A format whose preset is not a file at all - the sample files of a folder become
one multi-sample - reports its folder as the source file. Selecting such a
preset read nothing, since the detection ran the folder through the file
detection which filters by file ending. Folders are now detected as folders.

Co-authored-by: Jürgen Moßgraber <juergen.mossgraber@googlemail.com>
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